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.c15
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)