From f7cc78bffe72208b9f8994eb02811abca0b2a40c Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Tue, 27 Jun 2017 12:32:02 -1000 Subject: [PATCH] px4fmu-v2:Define GPIO GPIO_VDD_USB_VALID and initalize it. The LTC4417 provides a valid signal for USB. This change configures the GIOP and provides 1) True logic macro to read the pin and the IOCTL defines to read it from the FMU. The macro will return true when the signal is active (low on the LTC4417). The IOCTL will read be the actual pin state. --- src/drivers/boards/px4fmu-v2/board_config.h | 8 ++++++-- src/drivers/boards/px4fmu-v2/px4fmu2_init.c | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/drivers/boards/px4fmu-v2/board_config.h b/src/drivers/boards/px4fmu-v2/board_config.h index e143254160..839b76c2b0 100644 --- a/src/drivers/boards/px4fmu-v2/board_config.h +++ b/src/drivers/boards/px4fmu-v2/board_config.h @@ -187,6 +187,7 @@ #define GPIO_VDD_5V_PERIPH_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_CLEAR|GPIO_PORTA|GPIO_PIN8) #define GPIO_VDD_BRICK_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN5) #define GPIO_VDD_SERVO_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTB|GPIO_PIN7) +#define GPIO_VDD_USB_VALID (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTC|GPIO_PIN0) #define GPIO_VDD_3V3_SENSORS_EN (GPIO_OUTPUT|GPIO_PUSHPULL|GPIO_SPEED_2MHz|GPIO_OUTPUT_SET|GPIO_PORTE|GPIO_PIN3) #define GPIO_VDD_5V_HIPOWER_OC (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN10) #define GPIO_VDD_5V_PERIPH_OC (GPIO_INPUT|GPIO_PULLUP|GPIO_PORTE|GPIO_PIN15) @@ -250,6 +251,7 @@ #define BOARD_ADC_USB_CONNECTED (px4_arch_gpioread(GPIO_OTGFS_VBUS)) #define BOARD_ADC_BRICK_VALID (!px4_arch_gpioread(GPIO_VDD_BRICK_VALID)) #define BOARD_ADC_SERVO_VALID (!px4_arch_gpioread(GPIO_VDD_SERVO_VALID)) +#define BOARD_ADC_USB_VALID (!px4_arch_gpioread(GPIO_VDD_USB_VALID)) #define BOARD_ADC_PERIPH_5V_OC (!px4_arch_gpioread(GPIO_VDD_5V_PERIPH_OC)) #define BOARD_ADC_HIPOWER_5V_OC (!px4_arch_gpioread(GPIO_VDD_5V_HIPOWER_OC)) @@ -266,6 +268,7 @@ {0, GPIO_VDD_3V3_SENSORS_EN, 0}, \ {GPIO_VDD_BRICK_VALID, 0, 0}, \ {GPIO_VDD_SERVO_VALID, 0, 0}, \ + {GPIO_VDD_USB_VALID, 0, 0}, \ {GPIO_VDD_5V_HIPOWER_OC, 0, 0}, \ {GPIO_VDD_5V_PERIPH_OC, 0, 0}, } @@ -285,8 +288,9 @@ #define GPIO_3V3_SENSORS_EN (1<<7) /**< PE3 - VDD_3V3_SENSORS_EN */ #define GPIO_BRICK_VALID (1<<8) /**< PB5 - !VDD_BRICK_VALID */ #define GPIO_SERVO_VALID (1<<9) /**< PB7 - !VDD_SERVO_VALID */ -#define GPIO_5V_HIPOWER_OC (1<<10) /**< PE10 - !VDD_5V_HIPOWER_OC */ -#define GPIO_5V_PERIPH_OC (1<<11) /**< PE10 - !VDD_5V_PERIPH_OC */ +#define GPIO_USB_VALID (1<<10) /**< PC0 - !GPIO_VDD_USB_VALID */ +#define GPIO_5V_HIPOWER_OC (1<<11) /**< PE10 - !VDD_5V_HIPOWER_OC */ +#define GPIO_5V_PERIPH_OC (1<<12) /**< PE10 - !VDD_5V_PERIPH_OC */ /* This board provides a DMA pool and APIs */ #define BOARD_DMA_ALLOC_POOL_SIZE 5120 diff --git a/src/drivers/boards/px4fmu-v2/px4fmu2_init.c b/src/drivers/boards/px4fmu-v2/px4fmu2_init.c index 7f57c43b32..03b0d6aefc 100644 --- a/src/drivers/boards/px4fmu-v2/px4fmu2_init.c +++ b/src/drivers/boards/px4fmu-v2/px4fmu2_init.c @@ -171,6 +171,7 @@ stm32_boardinitialize(void) stm32_configgpio(GPIO_VDD_3V3_SENSORS_EN); stm32_configgpio(GPIO_VDD_BRICK_VALID); stm32_configgpio(GPIO_VDD_SERVO_VALID); + stm32_configgpio(GPIO_VDD_USB_VALID); stm32_configgpio(GPIO_VDD_5V_HIPOWER_OC); stm32_configgpio(GPIO_VDD_5V_PERIPH_OC);