diff options
Diffstat (limited to 'board/keyborg/hardware.c')
-rw-r--r-- | board/keyborg/hardware.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/board/keyborg/hardware.c b/board/keyborg/hardware.c index 76c3c5f1f9..3d140533f2 100644 --- a/board/keyborg/hardware.c +++ b/board/keyborg/hardware.c @@ -52,11 +52,12 @@ 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_OD(n) (0x4 << ((n & 0x7) * 4)) -#define AF_PP(n) (0x8 << ((n & 0x7) * 4)) -#define AF_OD(n) (0xc << ((n & 0x7) * 4)) +#define GP_OD(n) (0x5 << ((n & 0x7) * 4)) +#define AF_PP(n) (0x9 << ((n & 0x7) * 4)) +#define AF_OD(n) (0xd << ((n & 0x7) * 4)) #define LOW(n) (1 << (n + 16)) #define HIGH(n) (1 << n) +#define INT(n) (1 << n) static void pins_init(void) { @@ -65,16 +66,21 @@ 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 + * PA0: SPI_NSS - INPUT/INT_FALLING + * PA1: N_CHG - OUTPUT/LOW + * PA3: SPI_CLK - INPUT + * PA4: SPI_MISO - INPUT + * PA6: CS1 - OUTPUT/HIGH + * PA7: SPI_MOSI - INPUT + * PA15: UART TX - OUTPUT/HIGH + * PI1: SYNC1 - OUTPUT/LOW + * PI2: SYNC2 - OUTPUT/LOW */ - STM32_GPIO_CRL(GPIO_A) = OUT(1) | OUT(6) | FLOAT(0); + STM32_GPIO_CRL(GPIO_A) = FLOAT(0) | OUT(1) | FLOAT(3) | FLOAT(4) | + OUT(6) | FLOAT(7); STM32_GPIO_CRH(GPIO_A) = OUT(15); STM32_GPIO_BSRR(GPIO_A) = LOW(1) | HIGH(6) | HIGH(15); + STM32_EXTI_FTSR |= INT(0); STM32_GPIO_CRL(GPIO_I) = OUT(1) | OUT(2); STM32_GPIO_BSRR(GPIO_I) = LOW(1) | LOW(2); |