diff options
Diffstat (limited to 'board/keyborg/hardware.c')
-rw-r--r-- | board/keyborg/hardware.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/board/keyborg/hardware.c b/board/keyborg/hardware.c index d6fa3755d0..76c3c5f1f9 100644 --- a/board/keyborg/hardware.c +++ b/board/keyborg/hardware.c @@ -52,10 +52,11 @@ static void power_init(void) #define OUT50(n) (0x3 << ((n & 0x7) * 4)) #define ANALOG(n) (0x0) #define FLOAT(n) (0x4 << ((n & 0x7) * 4)) -#define GP_PP(n) (0x0) #define GP_OD(n) (0x4 << ((n & 0x7) * 4)) #define AF_PP(n) (0x8 << ((n & 0x7) * 4)) #define AF_OD(n) (0xc << ((n & 0x7) * 4)) +#define LOW(n) (1 << (n + 16)) +#define HIGH(n) (1 << n) static void pins_init(void) { @@ -64,9 +65,19 @@ static void pins_init(void) | (2 << 24); /* Pin usage: + * PA0: SPI_NSS - INPUT/INT_FALLING + * PA1: N_CHG - OUTPUT/LOW + * PA6: CS1 - OUTPUT/HIGH * PA15: UART TX - OUTPUT/HIGH + * PI1: SYNC1 - OUTPUT/LOW + * PI2: SYNC2 - OUTPUT/LOW */ - STM32_GPIO_CRH(GPIO_A) = OUT(15) | GP_PP(15); + STM32_GPIO_CRL(GPIO_A) = OUT(1) | OUT(6) | FLOAT(0); + STM32_GPIO_CRH(GPIO_A) = OUT(15); + STM32_GPIO_BSRR(GPIO_A) = LOW(1) | HIGH(6) | HIGH(15); + + STM32_GPIO_CRL(GPIO_I) = OUT(1) | OUT(2); + STM32_GPIO_BSRR(GPIO_I) = LOW(1) | LOW(2); } static void adc_init(void) |