summaryrefslogtreecommitdiff
path: root/board/keyborg/hardware.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/keyborg/hardware.c')
-rw-r--r--board/keyborg/hardware.c26
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);