summaryrefslogtreecommitdiff
path: root/board/it8380dev
diff options
context:
space:
mode:
Diffstat (limited to 'board/it8380dev')
-rw-r--r--board/it8380dev/board.c16
-rw-r--r--board/it8380dev/board.h14
-rw-r--r--board/it8380dev/gpio.inc42
3 files changed, 51 insertions, 21 deletions
diff --git a/board/it8380dev/board.c b/board/it8380dev/board.c
index 401a221c44..588ab4d0d7 100644
--- a/board/it8380dev/board.c
+++ b/board/it8380dev/board.c
@@ -11,6 +11,8 @@
#include "registers.h"
#include "task.h"
#include "util.h"
+#include "pwm.h"
+#include "pwm_chip.h"
/* Test GPIO interrupt function that toggles one LED. */
void test_interrupt(enum gpio_signal signal)
@@ -24,6 +26,20 @@ void test_interrupt(enum gpio_signal signal)
#include "gpio_list.h"
+/* PWM channels. Must be in the exactly same order as in enum pwm_channel. */
+const struct pwm_t pwm_channels[] = {
+ {0, 0},
+ {1, PWM_CONFIG_ACTIVE_LOW},
+ {2, 0},
+ {3, PWM_CONFIG_ACTIVE_LOW},
+ {4, 0},
+ {5, PWM_CONFIG_ACTIVE_LOW},
+ {6, 0},
+ {7, PWM_CONFIG_ACTIVE_LOW},
+};
+
+BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
+
/* Initialize board. */
static void board_init(void)
{
diff --git a/board/it8380dev/board.h b/board/it8380dev/board.h
index 04d3f1b4c0..1d612d32a2 100644
--- a/board/it8380dev/board.h
+++ b/board/it8380dev/board.h
@@ -15,5 +15,19 @@
#include "gpio_signal.h"
+enum pwm_channel {
+ PWM_CH_0,
+ PWM_CH_1,
+ PWM_CH_2,
+ PWM_CH_3,
+ PWM_CH_4,
+ PWM_CH_5,
+ PWM_CH_6,
+ PWM_CH_7,
+
+ /* Number of PWM channels */
+ PWM_CH_COUNT
+};
+
#endif /* !__ASSEMBLER__ */
#endif /* __BOARD_H */
diff --git a/board/it8380dev/gpio.inc b/board/it8380dev/gpio.inc
index 5091fdb3ef..444ae4c15d 100644
--- a/board/it8380dev/gpio.inc
+++ b/board/it8380dev/gpio.inc
@@ -5,27 +5,27 @@
* found in the LICENSE file.
*/
-GPIO(H_LED0, A, 0, GPIO_ODR_HIGH)
-GPIO(H_LED1, A, 1, GPIO_ODR_HIGH)
-GPIO(H_LED2, A, 2, GPIO_ODR_HIGH)
-GPIO(H_LED3, A, 3, GPIO_ODR_HIGH)
-GPIO(H_LED4, A, 4, GPIO_ODR_HIGH)
-GPIO(H_LED5, A, 5, GPIO_ODR_HIGH)
-GPIO(H_LED6, A, 6, GPIO_ODR_HIGH)
-GPIO(L_LED0, I, 0, GPIO_ODR_HIGH)
-GPIO(L_LED1, I, 1, GPIO_ODR_HIGH)
-GPIO(L_LED2, I, 2, GPIO_ODR_HIGH)
-GPIO(L_LED3, I, 3, GPIO_ODR_HIGH)
-GPIO(L_LED4, I, 4, GPIO_ODR_HIGH)
-GPIO(L_LED5, I, 5, GPIO_ODR_HIGH)
-GPIO(L_LED6, I, 6, GPIO_ODR_HIGH)
-GPIO(BUSY_LED, J, 0, GPIO_OUT_LOW)
-GPIO(GOOD_LED, J, 1, GPIO_OUT_HIGH)
-GPIO(FAIL_LED, J, 2, GPIO_OUT_LOW)
-GPIO(SW1, E, 0, GPIO_INPUT)
-GPIO(SW2, E, 1, GPIO_INPUT | GPIO_PULL_DOWN)
-GPIO(SW3, E, 2, GPIO_INPUT | GPIO_PULL_DOWN)
-GPIO(SW4, E, 3, GPIO_INPUT | GPIO_PULL_DOWN)
+GPIO(H_LED0, A, 0, GPIO_ODR_HIGH, NULL)
+GPIO(H_LED1, A, 1, GPIO_ODR_HIGH, NULL)
+GPIO(H_LED2, A, 2, GPIO_ODR_HIGH, NULL)
+GPIO(H_LED3, A, 3, GPIO_ODR_HIGH, NULL)
+GPIO(H_LED4, A, 4, GPIO_ODR_HIGH, NULL)
+GPIO(H_LED5, A, 5, GPIO_ODR_HIGH, NULL)
+GPIO(H_LED6, A, 6, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED0, I, 0, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED1, I, 1, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED2, I, 2, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED3, I, 3, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED4, I, 4, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED5, I, 5, GPIO_ODR_HIGH, NULL)
+GPIO(L_LED6, I, 6, GPIO_ODR_HIGH, NULL)
+GPIO(BUSY_LED, J, 0, GPIO_OUT_LOW, NULL)
+GPIO(GOOD_LED, J, 1, GPIO_OUT_HIGH, NULL)
+GPIO(FAIL_LED, J, 2, GPIO_OUT_LOW, NULL)
+GPIO(SW1, E, 0, GPIO_INPUT, NULL)
+GPIO(SW2, E, 1, GPIO_INPUT | GPIO_PULL_DOWN, NULL)
+GPIO(SW3, E, 2, GPIO_INPUT | GPIO_PULL_DOWN, NULL)
+GPIO(SW4, E, 3, GPIO_INPUT | GPIO_PULL_DOWN, NULL)
GPIO(START_SW, E, 4, GPIO_INT_FALLING, test_interrupt)
/* Unimplemented signals which we need to emulate for now */