summaryrefslogtreecommitdiff
path: root/chip/it83xx/gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/it83xx/gpio.c')
-rw-r--r--chip/it83xx/gpio.c581
1 files changed, 293 insertions, 288 deletions
diff --git a/chip/it83xx/gpio.c b/chip/it83xx/gpio.c
index bace7eb663..2b1b8283be 100644
--- a/chip/it83xx/gpio.c
+++ b/chip/it83xx/gpio.c
@@ -1,10 +1,11 @@
-/* Copyright 2013 The Chromium OS Authors. All rights reserved.
+/* Copyright 2013 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/* GPIO module for Chrome EC */
+#include "builtin/assert.h"
#include "clock.h"
#include "common.h"
#include "gpio.h"
@@ -29,11 +30,11 @@ struct kbs_gpio_ctrl_t {
static const struct kbs_gpio_ctrl_t kbs_gpio_ctrl_regs[] = {
/* KSI pins 7:0 */
- {&IT83XX_KBS_KSIGCTRL, &IT83XX_KBS_KSIGOEN},
+ { &IT83XX_KBS_KSIGCTRL, &IT83XX_KBS_KSIGOEN },
/* KSO pins 15:8 */
- {&IT83XX_KBS_KSOHGCTRL, &IT83XX_KBS_KSOHGOEN},
+ { &IT83XX_KBS_KSOHGCTRL, &IT83XX_KBS_KSOHGOEN },
/* KSO pins 7:0 */
- {&IT83XX_KBS_KSOLGCTRL, &IT83XX_KBS_KSOLGOEN},
+ { &IT83XX_KBS_KSOLGCTRL, &IT83XX_KBS_KSOLGOEN },
};
/**
@@ -51,8 +52,8 @@ static volatile uint8_t *wuesr(uint8_t grp)
* the address increases by fours.
*/
return (grp <= 4) ?
- (volatile uint8_t *)(IT83XX_WUC_WUESR1 + grp-1) :
- (volatile uint8_t *)(IT83XX_WUC_WUESR5 + 4*(grp-5));
+ (volatile uint8_t *)(IT83XX_WUC_WUESR1 + grp - 1) :
+ (volatile uint8_t *)(IT83XX_WUC_WUESR5 + 4 * (grp - 5));
}
/**
@@ -70,8 +71,8 @@ static volatile uint8_t *wuemr(uint8_t grp)
* the address increases by fours.
*/
return (grp <= 4) ?
- (volatile uint8_t *)(IT83XX_WUC_WUEMR1 + grp-1) :
- (volatile uint8_t *)(IT83XX_WUC_WUEMR5 + 4*(grp-5));
+ (volatile uint8_t *)(IT83XX_WUC_WUEMR1 + grp - 1) :
+ (volatile uint8_t *)(IT83XX_WUC_WUEMR5 + 4 * (grp - 5));
}
/**
@@ -90,8 +91,8 @@ static volatile uint8_t *wubemr(uint8_t grp)
* the address increases by fours.
*/
return (grp <= 4) ?
- (volatile uint8_t *)(IT83XX_WUC_WUBEMR1 + grp-1) :
- (volatile uint8_t *)(IT83XX_WUC_WUBEMR5 + 4*(grp-5));
+ (volatile uint8_t *)(IT83XX_WUC_WUBEMR1 + grp - 1) :
+ (volatile uint8_t *)(IT83XX_WUC_WUBEMR5 + 4 * (grp - 5));
}
#endif
@@ -112,140 +113,140 @@ static const struct {
uint8_t wuc_mask;
} gpio_irqs[] = {
/* irq gpio_port,gpio_mask,wuc_group,wuc_mask */
- [IT83XX_IRQ_WKO20] = {GPIO_D, BIT(0), 2, BIT(0)},
- [IT83XX_IRQ_WKO21] = {GPIO_D, BIT(1), 2, BIT(1)},
- [IT83XX_IRQ_WKO22] = {GPIO_C, BIT(4), 2, BIT(2)},
- [IT83XX_IRQ_WKO23] = {GPIO_C, BIT(6), 2, BIT(3)},
- [IT83XX_IRQ_WKO24] = {GPIO_D, BIT(2), 2, BIT(4)},
+ [IT83XX_IRQ_WKO20] = { GPIO_D, BIT(0), 2, BIT(0) },
+ [IT83XX_IRQ_WKO21] = { GPIO_D, BIT(1), 2, BIT(1) },
+ [IT83XX_IRQ_WKO22] = { GPIO_C, BIT(4), 2, BIT(2) },
+ [IT83XX_IRQ_WKO23] = { GPIO_C, BIT(6), 2, BIT(3) },
+ [IT83XX_IRQ_WKO24] = { GPIO_D, BIT(2), 2, BIT(4) },
#ifdef IT83XX_GPIO_INT_FLEXIBLE
- [IT83XX_IRQ_WKO40] = {GPIO_E, BIT(5), 4, BIT(0)},
- [IT83XX_IRQ_WKO45] = {GPIO_E, BIT(6), 4, BIT(5)},
- [IT83XX_IRQ_WKO46] = {GPIO_E, BIT(7), 4, BIT(6)},
+ [IT83XX_IRQ_WKO40] = { GPIO_E, BIT(5), 4, BIT(0) },
+ [IT83XX_IRQ_WKO45] = { GPIO_E, BIT(6), 4, BIT(5) },
+ [IT83XX_IRQ_WKO46] = { GPIO_E, BIT(7), 4, BIT(6) },
#endif
- [IT83XX_IRQ_WKO50] = {GPIO_K, BIT(0), 5, BIT(0)},
- [IT83XX_IRQ_WKO51] = {GPIO_K, BIT(1), 5, BIT(1)},
- [IT83XX_IRQ_WKO52] = {GPIO_K, BIT(2), 5, BIT(2)},
- [IT83XX_IRQ_WKO53] = {GPIO_K, BIT(3), 5, BIT(3)},
- [IT83XX_IRQ_WKO54] = {GPIO_K, BIT(4), 5, BIT(4)},
- [IT83XX_IRQ_WKO55] = {GPIO_K, BIT(5), 5, BIT(5)},
- [IT83XX_IRQ_WKO56] = {GPIO_K, BIT(6), 5, BIT(6)},
- [IT83XX_IRQ_WKO57] = {GPIO_K, BIT(7), 5, BIT(7)},
- [IT83XX_IRQ_WKO60] = {GPIO_H, BIT(0), 6, BIT(0)},
- [IT83XX_IRQ_WKO61] = {GPIO_H, BIT(1), 6, BIT(1)},
- [IT83XX_IRQ_WKO62] = {GPIO_H, BIT(2), 6, BIT(2)},
- [IT83XX_IRQ_WKO63] = {GPIO_H, BIT(3), 6, BIT(3)},
- [IT83XX_IRQ_WKO64] = {GPIO_F, BIT(4), 6, BIT(4)},
- [IT83XX_IRQ_WKO65] = {GPIO_F, BIT(5), 6, BIT(5)},
- [IT83XX_IRQ_WKO65] = {GPIO_F, BIT(6), 6, BIT(6)},
- [IT83XX_IRQ_WKO67] = {GPIO_F, BIT(7), 6, BIT(7)},
- [IT83XX_IRQ_WKO70] = {GPIO_E, BIT(0), 7, BIT(0)},
- [IT83XX_IRQ_WKO71] = {GPIO_E, BIT(1), 7, BIT(1)},
- [IT83XX_IRQ_WKO72] = {GPIO_E, BIT(2), 7, BIT(2)},
- [IT83XX_IRQ_WKO73] = {GPIO_E, BIT(3), 7, BIT(3)},
- [IT83XX_IRQ_WKO74] = {GPIO_I, BIT(4), 7, BIT(4)},
- [IT83XX_IRQ_WKO75] = {GPIO_I, BIT(5), 7, BIT(5)},
- [IT83XX_IRQ_WKO76] = {GPIO_I, BIT(6), 7, BIT(6)},
- [IT83XX_IRQ_WKO77] = {GPIO_I, BIT(7), 7, BIT(7)},
- [IT83XX_IRQ_WKO80] = {GPIO_A, BIT(3), 8, BIT(0)},
- [IT83XX_IRQ_WKO81] = {GPIO_A, BIT(4), 8, BIT(1)},
- [IT83XX_IRQ_WKO82] = {GPIO_A, BIT(5), 8, BIT(2)},
- [IT83XX_IRQ_WKO83] = {GPIO_A, BIT(6), 8, BIT(3)},
- [IT83XX_IRQ_WKO84] = {GPIO_B, BIT(2), 8, BIT(4)},
- [IT83XX_IRQ_WKO85] = {GPIO_C, BIT(0), 8, BIT(5)},
- [IT83XX_IRQ_WKO86] = {GPIO_C, BIT(7), 8, BIT(6)},
- [IT83XX_IRQ_WKO87] = {GPIO_D, BIT(7), 8, BIT(7)},
- [IT83XX_IRQ_WKO88] = {GPIO_H, BIT(4), 9, BIT(0)},
- [IT83XX_IRQ_WKO89] = {GPIO_H, BIT(5), 9, BIT(1)},
- [IT83XX_IRQ_WKO90] = {GPIO_H, BIT(6), 9, BIT(2)},
- [IT83XX_IRQ_WKO91] = {GPIO_A, BIT(0), 9, BIT(3)},
- [IT83XX_IRQ_WKO92] = {GPIO_A, BIT(1), 9, BIT(4)},
- [IT83XX_IRQ_WKO93] = {GPIO_A, BIT(2), 9, BIT(5)},
- [IT83XX_IRQ_WKO94] = {GPIO_B, BIT(4), 9, BIT(6)},
- [IT83XX_IRQ_WKO95] = {GPIO_C, BIT(2), 9, BIT(7)},
- [IT83XX_IRQ_WKO96] = {GPIO_F, BIT(0), 10, BIT(0)},
- [IT83XX_IRQ_WKO97] = {GPIO_F, BIT(1), 10, BIT(1)},
- [IT83XX_IRQ_WKO98] = {GPIO_F, BIT(2), 10, BIT(2)},
- [IT83XX_IRQ_WKO99] = {GPIO_F, BIT(3), 10, BIT(3)},
- [IT83XX_IRQ_WKO100] = {GPIO_A, BIT(7), 10, BIT(4)},
- [IT83XX_IRQ_WKO101] = {GPIO_B, BIT(0), 10, BIT(5)},
- [IT83XX_IRQ_WKO102] = {GPIO_B, BIT(1), 10, BIT(6)},
- [IT83XX_IRQ_WKO103] = {GPIO_B, BIT(3), 10, BIT(7)},
- [IT83XX_IRQ_WKO104] = {GPIO_B, BIT(5), 11, BIT(0)},
- [IT83XX_IRQ_WKO105] = {GPIO_B, BIT(6), 11, BIT(1)},
- [IT83XX_IRQ_WKO106] = {GPIO_B, BIT(7), 11, BIT(2)},
- [IT83XX_IRQ_WKO107] = {GPIO_C, BIT(1), 11, BIT(3)},
- [IT83XX_IRQ_WKO108] = {GPIO_C, BIT(3), 11, BIT(4)},
- [IT83XX_IRQ_WKO109] = {GPIO_C, BIT(5), 11, BIT(5)},
- [IT83XX_IRQ_WKO110] = {GPIO_D, BIT(3), 11, BIT(6)},
- [IT83XX_IRQ_WKO111] = {GPIO_D, BIT(4), 11, BIT(7)},
- [IT83XX_IRQ_WKO112] = {GPIO_D, BIT(5), 12, BIT(0)},
- [IT83XX_IRQ_WKO113] = {GPIO_D, BIT(6), 12, BIT(1)},
- [IT83XX_IRQ_WKO114] = {GPIO_E, BIT(4), 12, BIT(2)},
- [IT83XX_IRQ_WKO115] = {GPIO_G, BIT(0), 12, BIT(3)},
- [IT83XX_IRQ_WKO116] = {GPIO_G, BIT(1), 12, BIT(4)},
- [IT83XX_IRQ_WKO117] = {GPIO_G, BIT(2), 12, BIT(5)},
- [IT83XX_IRQ_WKO118] = {GPIO_G, BIT(6), 12, BIT(6)},
- [IT83XX_IRQ_WKO119] = {GPIO_I, BIT(0), 12, BIT(7)},
- [IT83XX_IRQ_WKO120] = {GPIO_I, BIT(1), 13, BIT(0)},
- [IT83XX_IRQ_WKO121] = {GPIO_I, BIT(2), 13, BIT(1)},
- [IT83XX_IRQ_WKO122] = {GPIO_I, BIT(3), 13, BIT(2)},
+ [IT83XX_IRQ_WKO50] = { GPIO_K, BIT(0), 5, BIT(0) },
+ [IT83XX_IRQ_WKO51] = { GPIO_K, BIT(1), 5, BIT(1) },
+ [IT83XX_IRQ_WKO52] = { GPIO_K, BIT(2), 5, BIT(2) },
+ [IT83XX_IRQ_WKO53] = { GPIO_K, BIT(3), 5, BIT(3) },
+ [IT83XX_IRQ_WKO54] = { GPIO_K, BIT(4), 5, BIT(4) },
+ [IT83XX_IRQ_WKO55] = { GPIO_K, BIT(5), 5, BIT(5) },
+ [IT83XX_IRQ_WKO56] = { GPIO_K, BIT(6), 5, BIT(6) },
+ [IT83XX_IRQ_WKO57] = { GPIO_K, BIT(7), 5, BIT(7) },
+ [IT83XX_IRQ_WKO60] = { GPIO_H, BIT(0), 6, BIT(0) },
+ [IT83XX_IRQ_WKO61] = { GPIO_H, BIT(1), 6, BIT(1) },
+ [IT83XX_IRQ_WKO62] = { GPIO_H, BIT(2), 6, BIT(2) },
+ [IT83XX_IRQ_WKO63] = { GPIO_H, BIT(3), 6, BIT(3) },
+ [IT83XX_IRQ_WKO64] = { GPIO_F, BIT(4), 6, BIT(4) },
+ [IT83XX_IRQ_WKO65] = { GPIO_F, BIT(5), 6, BIT(5) },
+ [IT83XX_IRQ_WKO65] = { GPIO_F, BIT(6), 6, BIT(6) },
+ [IT83XX_IRQ_WKO67] = { GPIO_F, BIT(7), 6, BIT(7) },
+ [IT83XX_IRQ_WKO70] = { GPIO_E, BIT(0), 7, BIT(0) },
+ [IT83XX_IRQ_WKO71] = { GPIO_E, BIT(1), 7, BIT(1) },
+ [IT83XX_IRQ_WKO72] = { GPIO_E, BIT(2), 7, BIT(2) },
+ [IT83XX_IRQ_WKO73] = { GPIO_E, BIT(3), 7, BIT(3) },
+ [IT83XX_IRQ_WKO74] = { GPIO_I, BIT(4), 7, BIT(4) },
+ [IT83XX_IRQ_WKO75] = { GPIO_I, BIT(5), 7, BIT(5) },
+ [IT83XX_IRQ_WKO76] = { GPIO_I, BIT(6), 7, BIT(6) },
+ [IT83XX_IRQ_WKO77] = { GPIO_I, BIT(7), 7, BIT(7) },
+ [IT83XX_IRQ_WKO80] = { GPIO_A, BIT(3), 8, BIT(0) },
+ [IT83XX_IRQ_WKO81] = { GPIO_A, BIT(4), 8, BIT(1) },
+ [IT83XX_IRQ_WKO82] = { GPIO_A, BIT(5), 8, BIT(2) },
+ [IT83XX_IRQ_WKO83] = { GPIO_A, BIT(6), 8, BIT(3) },
+ [IT83XX_IRQ_WKO84] = { GPIO_B, BIT(2), 8, BIT(4) },
+ [IT83XX_IRQ_WKO85] = { GPIO_C, BIT(0), 8, BIT(5) },
+ [IT83XX_IRQ_WKO86] = { GPIO_C, BIT(7), 8, BIT(6) },
+ [IT83XX_IRQ_WKO87] = { GPIO_D, BIT(7), 8, BIT(7) },
+ [IT83XX_IRQ_WKO88] = { GPIO_H, BIT(4), 9, BIT(0) },
+ [IT83XX_IRQ_WKO89] = { GPIO_H, BIT(5), 9, BIT(1) },
+ [IT83XX_IRQ_WKO90] = { GPIO_H, BIT(6), 9, BIT(2) },
+ [IT83XX_IRQ_WKO91] = { GPIO_A, BIT(0), 9, BIT(3) },
+ [IT83XX_IRQ_WKO92] = { GPIO_A, BIT(1), 9, BIT(4) },
+ [IT83XX_IRQ_WKO93] = { GPIO_A, BIT(2), 9, BIT(5) },
+ [IT83XX_IRQ_WKO94] = { GPIO_B, BIT(4), 9, BIT(6) },
+ [IT83XX_IRQ_WKO95] = { GPIO_C, BIT(2), 9, BIT(7) },
+ [IT83XX_IRQ_WKO96] = { GPIO_F, BIT(0), 10, BIT(0) },
+ [IT83XX_IRQ_WKO97] = { GPIO_F, BIT(1), 10, BIT(1) },
+ [IT83XX_IRQ_WKO98] = { GPIO_F, BIT(2), 10, BIT(2) },
+ [IT83XX_IRQ_WKO99] = { GPIO_F, BIT(3), 10, BIT(3) },
+ [IT83XX_IRQ_WKO100] = { GPIO_A, BIT(7), 10, BIT(4) },
+ [IT83XX_IRQ_WKO101] = { GPIO_B, BIT(0), 10, BIT(5) },
+ [IT83XX_IRQ_WKO102] = { GPIO_B, BIT(1), 10, BIT(6) },
+ [IT83XX_IRQ_WKO103] = { GPIO_B, BIT(3), 10, BIT(7) },
+ [IT83XX_IRQ_WKO104] = { GPIO_B, BIT(5), 11, BIT(0) },
+ [IT83XX_IRQ_WKO105] = { GPIO_B, BIT(6), 11, BIT(1) },
+ [IT83XX_IRQ_WKO106] = { GPIO_B, BIT(7), 11, BIT(2) },
+ [IT83XX_IRQ_WKO107] = { GPIO_C, BIT(1), 11, BIT(3) },
+ [IT83XX_IRQ_WKO108] = { GPIO_C, BIT(3), 11, BIT(4) },
+ [IT83XX_IRQ_WKO109] = { GPIO_C, BIT(5), 11, BIT(5) },
+ [IT83XX_IRQ_WKO110] = { GPIO_D, BIT(3), 11, BIT(6) },
+ [IT83XX_IRQ_WKO111] = { GPIO_D, BIT(4), 11, BIT(7) },
+ [IT83XX_IRQ_WKO112] = { GPIO_D, BIT(5), 12, BIT(0) },
+ [IT83XX_IRQ_WKO113] = { GPIO_D, BIT(6), 12, BIT(1) },
+ [IT83XX_IRQ_WKO114] = { GPIO_E, BIT(4), 12, BIT(2) },
+ [IT83XX_IRQ_WKO115] = { GPIO_G, BIT(0), 12, BIT(3) },
+ [IT83XX_IRQ_WKO116] = { GPIO_G, BIT(1), 12, BIT(4) },
+ [IT83XX_IRQ_WKO117] = { GPIO_G, BIT(2), 12, BIT(5) },
+ [IT83XX_IRQ_WKO118] = { GPIO_G, BIT(6), 12, BIT(6) },
+ [IT83XX_IRQ_WKO119] = { GPIO_I, BIT(0), 12, BIT(7) },
+ [IT83XX_IRQ_WKO120] = { GPIO_I, BIT(1), 13, BIT(0) },
+ [IT83XX_IRQ_WKO121] = { GPIO_I, BIT(2), 13, BIT(1) },
+ [IT83XX_IRQ_WKO122] = { GPIO_I, BIT(3), 13, BIT(2) },
#ifdef IT83XX_GPIO_INT_FLEXIBLE
- [IT83XX_IRQ_WKO123] = {GPIO_G, BIT(3), 13, BIT(3)},
- [IT83XX_IRQ_WKO124] = {GPIO_G, BIT(4), 13, BIT(4)},
- [IT83XX_IRQ_WKO125] = {GPIO_G, BIT(5), 13, BIT(5)},
- [IT83XX_IRQ_WKO126] = {GPIO_G, BIT(7), 13, BIT(6)},
+ [IT83XX_IRQ_WKO123] = { GPIO_G, BIT(3), 13, BIT(3) },
+ [IT83XX_IRQ_WKO124] = { GPIO_G, BIT(4), 13, BIT(4) },
+ [IT83XX_IRQ_WKO125] = { GPIO_G, BIT(5), 13, BIT(5) },
+ [IT83XX_IRQ_WKO126] = { GPIO_G, BIT(7), 13, BIT(6) },
#endif
- [IT83XX_IRQ_WKO128] = {GPIO_J, BIT(0), 14, BIT(0)},
- [IT83XX_IRQ_WKO129] = {GPIO_J, BIT(1), 14, BIT(1)},
- [IT83XX_IRQ_WKO130] = {GPIO_J, BIT(2), 14, BIT(2)},
- [IT83XX_IRQ_WKO131] = {GPIO_J, BIT(3), 14, BIT(3)},
- [IT83XX_IRQ_WKO132] = {GPIO_J, BIT(4), 14, BIT(4)},
- [IT83XX_IRQ_WKO133] = {GPIO_J, BIT(5), 14, BIT(5)},
- [IT83XX_IRQ_WKO134] = {GPIO_J, BIT(6), 14, BIT(6)},
- [IT83XX_IRQ_WKO135] = {GPIO_J, BIT(7), 14, BIT(7)},
- [IT83XX_IRQ_WKO136] = {GPIO_L, BIT(0), 15, BIT(0)},
- [IT83XX_IRQ_WKO137] = {GPIO_L, BIT(1), 15, BIT(1)},
- [IT83XX_IRQ_WKO138] = {GPIO_L, BIT(2), 15, BIT(2)},
- [IT83XX_IRQ_WKO139] = {GPIO_L, BIT(3), 15, BIT(3)},
- [IT83XX_IRQ_WKO140] = {GPIO_L, BIT(4), 15, BIT(4)},
- [IT83XX_IRQ_WKO141] = {GPIO_L, BIT(5), 15, BIT(5)},
- [IT83XX_IRQ_WKO142] = {GPIO_L, BIT(6), 15, BIT(6)},
- [IT83XX_IRQ_WKO143] = {GPIO_L, BIT(7), 15, BIT(7)},
+ [IT83XX_IRQ_WKO128] = { GPIO_J, BIT(0), 14, BIT(0) },
+ [IT83XX_IRQ_WKO129] = { GPIO_J, BIT(1), 14, BIT(1) },
+ [IT83XX_IRQ_WKO130] = { GPIO_J, BIT(2), 14, BIT(2) },
+ [IT83XX_IRQ_WKO131] = { GPIO_J, BIT(3), 14, BIT(3) },
+ [IT83XX_IRQ_WKO132] = { GPIO_J, BIT(4), 14, BIT(4) },
+ [IT83XX_IRQ_WKO133] = { GPIO_J, BIT(5), 14, BIT(5) },
+ [IT83XX_IRQ_WKO134] = { GPIO_J, BIT(6), 14, BIT(6) },
+ [IT83XX_IRQ_WKO135] = { GPIO_J, BIT(7), 14, BIT(7) },
+ [IT83XX_IRQ_WKO136] = { GPIO_L, BIT(0), 15, BIT(0) },
+ [IT83XX_IRQ_WKO137] = { GPIO_L, BIT(1), 15, BIT(1) },
+ [IT83XX_IRQ_WKO138] = { GPIO_L, BIT(2), 15, BIT(2) },
+ [IT83XX_IRQ_WKO139] = { GPIO_L, BIT(3), 15, BIT(3) },
+ [IT83XX_IRQ_WKO140] = { GPIO_L, BIT(4), 15, BIT(4) },
+ [IT83XX_IRQ_WKO141] = { GPIO_L, BIT(5), 15, BIT(5) },
+ [IT83XX_IRQ_WKO142] = { GPIO_L, BIT(6), 15, BIT(6) },
+ [IT83XX_IRQ_WKO143] = { GPIO_L, BIT(7), 15, BIT(7) },
#ifdef IT83XX_GPIO_INT_FLEXIBLE
- [IT83XX_IRQ_WKO144] = {GPIO_M, BIT(0), 16, BIT(0)},
- [IT83XX_IRQ_WKO145] = {GPIO_M, BIT(1), 16, BIT(1)},
- [IT83XX_IRQ_WKO146] = {GPIO_M, BIT(2), 16, BIT(2)},
- [IT83XX_IRQ_WKO147] = {GPIO_M, BIT(3), 16, BIT(3)},
- [IT83XX_IRQ_WKO148] = {GPIO_M, BIT(4), 16, BIT(4)},
- [IT83XX_IRQ_WKO149] = {GPIO_M, BIT(5), 16, BIT(5)},
- [IT83XX_IRQ_WKO150] = {GPIO_M, BIT(6), 16, BIT(6)},
+ [IT83XX_IRQ_WKO144] = { GPIO_M, BIT(0), 16, BIT(0) },
+ [IT83XX_IRQ_WKO145] = { GPIO_M, BIT(1), 16, BIT(1) },
+ [IT83XX_IRQ_WKO146] = { GPIO_M, BIT(2), 16, BIT(2) },
+ [IT83XX_IRQ_WKO147] = { GPIO_M, BIT(3), 16, BIT(3) },
+ [IT83XX_IRQ_WKO148] = { GPIO_M, BIT(4), 16, BIT(4) },
+ [IT83XX_IRQ_WKO149] = { GPIO_M, BIT(5), 16, BIT(5) },
+ [IT83XX_IRQ_WKO150] = { GPIO_M, BIT(6), 16, BIT(6) },
#endif
#if defined(CHIP_FAMILY_IT8XXX1) || defined(CHIP_FAMILY_IT8XXX2)
- [IT83XX_IRQ_GPO0] = {GPIO_O, BIT(0), 19, BIT(0)},
- [IT83XX_IRQ_GPO1] = {GPIO_O, BIT(1), 19, BIT(1)},
- [IT83XX_IRQ_GPO2] = {GPIO_O, BIT(2), 19, BIT(2)},
- [IT83XX_IRQ_GPO3] = {GPIO_O, BIT(3), 19, BIT(3)},
- [IT83XX_IRQ_GPP0] = {GPIO_P, BIT(0), 20, BIT(0)},
- [IT83XX_IRQ_GPP1] = {GPIO_P, BIT(1), 20, BIT(1)},
- [IT83XX_IRQ_GPP2] = {GPIO_P, BIT(2), 20, BIT(2)},
- [IT83XX_IRQ_GPP3] = {GPIO_P, BIT(3), 20, BIT(3)},
- [IT83XX_IRQ_GPP4] = {GPIO_P, BIT(4), 20, BIT(4)},
- [IT83XX_IRQ_GPP5] = {GPIO_P, BIT(5), 20, BIT(5)},
- [IT83XX_IRQ_GPP6] = {GPIO_P, BIT(6), 20, BIT(6)},
- [IT83XX_IRQ_GPQ0] = {GPIO_Q, BIT(0), 21, BIT(0)},
- [IT83XX_IRQ_GPQ1] = {GPIO_Q, BIT(1), 21, BIT(1)},
- [IT83XX_IRQ_GPQ2] = {GPIO_Q, BIT(2), 21, BIT(2)},
- [IT83XX_IRQ_GPQ3] = {GPIO_Q, BIT(3), 21, BIT(3)},
- [IT83XX_IRQ_GPQ4] = {GPIO_Q, BIT(4), 21, BIT(4)},
- [IT83XX_IRQ_GPQ5] = {GPIO_Q, BIT(5), 21, BIT(5)},
- [IT83XX_IRQ_GPR0] = {GPIO_R, BIT(0), 22, BIT(0)},
- [IT83XX_IRQ_GPR1] = {GPIO_R, BIT(1), 22, BIT(1)},
- [IT83XX_IRQ_GPR2] = {GPIO_R, BIT(2), 22, BIT(2)},
- [IT83XX_IRQ_GPR3] = {GPIO_R, BIT(3), 22, BIT(3)},
- [IT83XX_IRQ_GPR4] = {GPIO_R, BIT(4), 22, BIT(4)},
- [IT83XX_IRQ_GPR5] = {GPIO_R, BIT(5), 22, BIT(5)},
+ [IT83XX_IRQ_GPO0] = { GPIO_O, BIT(0), 19, BIT(0) },
+ [IT83XX_IRQ_GPO1] = { GPIO_O, BIT(1), 19, BIT(1) },
+ [IT83XX_IRQ_GPO2] = { GPIO_O, BIT(2), 19, BIT(2) },
+ [IT83XX_IRQ_GPO3] = { GPIO_O, BIT(3), 19, BIT(3) },
+ [IT83XX_IRQ_GPP0] = { GPIO_P, BIT(0), 20, BIT(0) },
+ [IT83XX_IRQ_GPP1] = { GPIO_P, BIT(1), 20, BIT(1) },
+ [IT83XX_IRQ_GPP2] = { GPIO_P, BIT(2), 20, BIT(2) },
+ [IT83XX_IRQ_GPP3] = { GPIO_P, BIT(3), 20, BIT(3) },
+ [IT83XX_IRQ_GPP4] = { GPIO_P, BIT(4), 20, BIT(4) },
+ [IT83XX_IRQ_GPP5] = { GPIO_P, BIT(5), 20, BIT(5) },
+ [IT83XX_IRQ_GPP6] = { GPIO_P, BIT(6), 20, BIT(6) },
+ [IT83XX_IRQ_GPQ0] = { GPIO_Q, BIT(0), 21, BIT(0) },
+ [IT83XX_IRQ_GPQ1] = { GPIO_Q, BIT(1), 21, BIT(1) },
+ [IT83XX_IRQ_GPQ2] = { GPIO_Q, BIT(2), 21, BIT(2) },
+ [IT83XX_IRQ_GPQ3] = { GPIO_Q, BIT(3), 21, BIT(3) },
+ [IT83XX_IRQ_GPQ4] = { GPIO_Q, BIT(4), 21, BIT(4) },
+ [IT83XX_IRQ_GPQ5] = { GPIO_Q, BIT(5), 21, BIT(5) },
+ [IT83XX_IRQ_GPR0] = { GPIO_R, BIT(0), 22, BIT(0) },
+ [IT83XX_IRQ_GPR1] = { GPIO_R, BIT(1), 22, BIT(1) },
+ [IT83XX_IRQ_GPR2] = { GPIO_R, BIT(2), 22, BIT(2) },
+ [IT83XX_IRQ_GPR3] = { GPIO_R, BIT(3), 22, BIT(3) },
+ [IT83XX_IRQ_GPR4] = { GPIO_R, BIT(4), 22, BIT(4) },
+ [IT83XX_IRQ_GPR5] = { GPIO_R, BIT(5), 22, BIT(5) },
#endif
- [IT83XX_IRQ_COUNT] = { 0, 0, 0, 0},
+ [IT83XX_IRQ_COUNT] = { 0, 0, 0, 0 },
};
BUILD_ASSERT(ARRAY_SIZE(gpio_irqs) == IT83XX_IRQ_COUNT + 1);
@@ -263,7 +264,7 @@ static int gpio_to_irq(uint8_t port, uint8_t mask)
for (i = 0; i < IT83XX_IRQ_COUNT; i++) {
if (gpio_irqs[i].gpio_port == port &&
- gpio_irqs[i].gpio_mask == mask)
+ gpio_irqs[i].gpio_mask == mask)
return i;
}
@@ -277,133 +278,133 @@ struct gpio_1p8v_t {
static const struct gpio_1p8v_t gpio_1p8v_sel[GPIO_PORT_COUNT][8] = {
#ifdef IT83XX_GPIO_1P8V_PIN_EXTENDED
- [GPIO_A] = { [4] = {&IT83XX_GPIO_GRC24, BIT(0)},
- [5] = {&IT83XX_GPIO_GRC24, BIT(1)},
- [6] = {&IT83XX_GPIO_GRC24, BIT(5)},
- [7] = {&IT83XX_GPIO_GRC24, BIT(6)} },
- [GPIO_B] = { [3] = {&IT83XX_GPIO_GRC22, BIT(1)},
- [4] = {&IT83XX_GPIO_GRC22, BIT(0)},
- [5] = {&IT83XX_GPIO_GRC19, BIT(7)},
- [6] = {&IT83XX_GPIO_GRC19, BIT(6)},
- [7] = {&IT83XX_GPIO_GRC24, BIT(4)} },
- [GPIO_C] = { [0] = {&IT83XX_GPIO_GRC22, BIT(7)},
- [1] = {&IT83XX_GPIO_GRC19, BIT(5)},
- [2] = {&IT83XX_GPIO_GRC19, BIT(4)},
- [4] = {&IT83XX_GPIO_GRC24, BIT(2)},
- [6] = {&IT83XX_GPIO_GRC24, BIT(3)},
- [7] = {&IT83XX_GPIO_GRC19, BIT(3)} },
- [GPIO_D] = { [0] = {&IT83XX_GPIO_GRC19, BIT(2)},
- [1] = {&IT83XX_GPIO_GRC19, BIT(1)},
- [2] = {&IT83XX_GPIO_GRC19, BIT(0)},
- [3] = {&IT83XX_GPIO_GRC20, BIT(7)},
- [4] = {&IT83XX_GPIO_GRC20, BIT(6)},
- [5] = {&IT83XX_GPIO_GRC22, BIT(4)},
- [6] = {&IT83XX_GPIO_GRC22, BIT(5)},
- [7] = {&IT83XX_GPIO_GRC22, BIT(6)} },
- [GPIO_E] = { [0] = {&IT83XX_GPIO_GRC20, BIT(5)},
- [1] = {&IT83XX_GPIO_GCR28, BIT(6)},
- [2] = {&IT83XX_GPIO_GCR28, BIT(7)},
- [4] = {&IT83XX_GPIO_GRC22, BIT(2)},
- [5] = {&IT83XX_GPIO_GRC22, BIT(3)},
- [6] = {&IT83XX_GPIO_GRC20, BIT(4)},
- [7] = {&IT83XX_GPIO_GRC20, BIT(3)} },
- [GPIO_F] = { [0] = {&IT83XX_GPIO_GCR28, BIT(4)},
- [1] = {&IT83XX_GPIO_GCR28, BIT(5)},
- [2] = {&IT83XX_GPIO_GRC20, BIT(2)},
- [3] = {&IT83XX_GPIO_GRC20, BIT(1)},
- [4] = {&IT83XX_GPIO_GRC20, BIT(0)},
- [5] = {&IT83XX_GPIO_GRC21, BIT(7)},
- [6] = {&IT83XX_GPIO_GRC21, BIT(6)},
- [7] = {&IT83XX_GPIO_GRC21, BIT(5)} },
- [GPIO_G] = { [0] = {&IT83XX_GPIO_GCR28, BIT(2)},
- [1] = {&IT83XX_GPIO_GRC21, BIT(4)},
- [2] = {&IT83XX_GPIO_GCR28, BIT(3)},
- [6] = {&IT83XX_GPIO_GRC21, BIT(3)} },
- [GPIO_H] = { [0] = {&IT83XX_GPIO_GRC21, BIT(2)},
- [1] = {&IT83XX_GPIO_GRC21, BIT(1)},
- [2] = {&IT83XX_GPIO_GRC21, BIT(0)},
- [5] = {&IT83XX_GPIO_GCR27, BIT(7)},
- [6] = {&IT83XX_GPIO_GCR28, BIT(0)} },
- [GPIO_I] = { [0] = {&IT83XX_GPIO_GCR27, BIT(3)},
- [1] = {&IT83XX_GPIO_GRC23, BIT(4)},
- [2] = {&IT83XX_GPIO_GRC23, BIT(5)},
- [3] = {&IT83XX_GPIO_GRC23, BIT(6)},
- [4] = {&IT83XX_GPIO_GRC23, BIT(7)},
- [5] = {&IT83XX_GPIO_GCR27, BIT(4)},
- [6] = {&IT83XX_GPIO_GCR27, BIT(5)},
- [7] = {&IT83XX_GPIO_GCR27, BIT(6)} },
- [GPIO_J] = { [0] = {&IT83XX_GPIO_GRC23, BIT(0)},
- [1] = {&IT83XX_GPIO_GRC23, BIT(1)},
- [2] = {&IT83XX_GPIO_GRC23, BIT(2)},
- [3] = {&IT83XX_GPIO_GRC23, BIT(3)},
- [4] = {&IT83XX_GPIO_GCR27, BIT(0)},
- [5] = {&IT83XX_GPIO_GCR27, BIT(1)},
- [6] = {&IT83XX_GPIO_GCR27, BIT(2)},
- [7] = {&IT83XX_GPIO_GCR33, BIT(2)} },
- [GPIO_K] = { [0] = {&IT83XX_GPIO_GCR26, BIT(0)},
- [1] = {&IT83XX_GPIO_GCR26, BIT(1)},
- [2] = {&IT83XX_GPIO_GCR26, BIT(2)},
- [3] = {&IT83XX_GPIO_GCR26, BIT(3)},
- [4] = {&IT83XX_GPIO_GCR26, BIT(4)},
- [5] = {&IT83XX_GPIO_GCR26, BIT(5)},
- [6] = {&IT83XX_GPIO_GCR26, BIT(6)},
- [7] = {&IT83XX_GPIO_GCR26, BIT(7)} },
- [GPIO_L] = { [0] = {&IT83XX_GPIO_GCR25, BIT(0)},
- [1] = {&IT83XX_GPIO_GCR25, BIT(1)},
- [2] = {&IT83XX_GPIO_GCR25, BIT(2)},
- [3] = {&IT83XX_GPIO_GCR25, BIT(3)},
- [4] = {&IT83XX_GPIO_GCR25, BIT(4)},
- [5] = {&IT83XX_GPIO_GCR25, BIT(5)},
- [6] = {&IT83XX_GPIO_GCR25, BIT(6)},
- [7] = {&IT83XX_GPIO_GCR25, BIT(7)} },
+ [GPIO_A] = { [4] = { &IT83XX_GPIO_GRC24, BIT(0) },
+ [5] = { &IT83XX_GPIO_GRC24, BIT(1) },
+ [6] = { &IT83XX_GPIO_GRC24, BIT(5) },
+ [7] = { &IT83XX_GPIO_GRC24, BIT(6) } },
+ [GPIO_B] = { [3] = { &IT83XX_GPIO_GRC22, BIT(1) },
+ [4] = { &IT83XX_GPIO_GRC22, BIT(0) },
+ [5] = { &IT83XX_GPIO_GRC19, BIT(7) },
+ [6] = { &IT83XX_GPIO_GRC19, BIT(6) },
+ [7] = { &IT83XX_GPIO_GRC24, BIT(4) } },
+ [GPIO_C] = { [0] = { &IT83XX_GPIO_GRC22, BIT(7) },
+ [1] = { &IT83XX_GPIO_GRC19, BIT(5) },
+ [2] = { &IT83XX_GPIO_GRC19, BIT(4) },
+ [4] = { &IT83XX_GPIO_GRC24, BIT(2) },
+ [6] = { &IT83XX_GPIO_GRC24, BIT(3) },
+ [7] = { &IT83XX_GPIO_GRC19, BIT(3) } },
+ [GPIO_D] = { [0] = { &IT83XX_GPIO_GRC19, BIT(2) },
+ [1] = { &IT83XX_GPIO_GRC19, BIT(1) },
+ [2] = { &IT83XX_GPIO_GRC19, BIT(0) },
+ [3] = { &IT83XX_GPIO_GRC20, BIT(7) },
+ [4] = { &IT83XX_GPIO_GRC20, BIT(6) },
+ [5] = { &IT83XX_GPIO_GRC22, BIT(4) },
+ [6] = { &IT83XX_GPIO_GRC22, BIT(5) },
+ [7] = { &IT83XX_GPIO_GRC22, BIT(6) } },
+ [GPIO_E] = { [0] = { &IT83XX_GPIO_GRC20, BIT(5) },
+ [1] = { &IT83XX_GPIO_GCR28, BIT(6) },
+ [2] = { &IT83XX_GPIO_GCR28, BIT(7) },
+ [4] = { &IT83XX_GPIO_GRC22, BIT(2) },
+ [5] = { &IT83XX_GPIO_GRC22, BIT(3) },
+ [6] = { &IT83XX_GPIO_GRC20, BIT(4) },
+ [7] = { &IT83XX_GPIO_GRC20, BIT(3) } },
+ [GPIO_F] = { [0] = { &IT83XX_GPIO_GCR28, BIT(4) },
+ [1] = { &IT83XX_GPIO_GCR28, BIT(5) },
+ [2] = { &IT83XX_GPIO_GRC20, BIT(2) },
+ [3] = { &IT83XX_GPIO_GRC20, BIT(1) },
+ [4] = { &IT83XX_GPIO_GRC20, BIT(0) },
+ [5] = { &IT83XX_GPIO_GRC21, BIT(7) },
+ [6] = { &IT83XX_GPIO_GRC21, BIT(6) },
+ [7] = { &IT83XX_GPIO_GRC21, BIT(5) } },
+ [GPIO_G] = { [0] = { &IT83XX_GPIO_GCR28, BIT(2) },
+ [1] = { &IT83XX_GPIO_GRC21, BIT(4) },
+ [2] = { &IT83XX_GPIO_GCR28, BIT(3) },
+ [6] = { &IT83XX_GPIO_GRC21, BIT(3) } },
+ [GPIO_H] = { [0] = { &IT83XX_GPIO_GRC21, BIT(2) },
+ [1] = { &IT83XX_GPIO_GRC21, BIT(1) },
+ [2] = { &IT83XX_GPIO_GRC21, BIT(0) },
+ [5] = { &IT83XX_GPIO_GCR27, BIT(7) },
+ [6] = { &IT83XX_GPIO_GCR28, BIT(0) } },
+ [GPIO_I] = { [0] = { &IT83XX_GPIO_GCR27, BIT(3) },
+ [1] = { &IT83XX_GPIO_GRC23, BIT(4) },
+ [2] = { &IT83XX_GPIO_GRC23, BIT(5) },
+ [3] = { &IT83XX_GPIO_GRC23, BIT(6) },
+ [4] = { &IT83XX_GPIO_GRC23, BIT(7) },
+ [5] = { &IT83XX_GPIO_GCR27, BIT(4) },
+ [6] = { &IT83XX_GPIO_GCR27, BIT(5) },
+ [7] = { &IT83XX_GPIO_GCR27, BIT(6) } },
+ [GPIO_J] = { [0] = { &IT83XX_GPIO_GRC23, BIT(0) },
+ [1] = { &IT83XX_GPIO_GRC23, BIT(1) },
+ [2] = { &IT83XX_GPIO_GRC23, BIT(2) },
+ [3] = { &IT83XX_GPIO_GRC23, BIT(3) },
+ [4] = { &IT83XX_GPIO_GCR27, BIT(0) },
+ [5] = { &IT83XX_GPIO_GCR27, BIT(1) },
+ [6] = { &IT83XX_GPIO_GCR27, BIT(2) },
+ [7] = { &IT83XX_GPIO_GCR33, BIT(2) } },
+ [GPIO_K] = { [0] = { &IT83XX_GPIO_GCR26, BIT(0) },
+ [1] = { &IT83XX_GPIO_GCR26, BIT(1) },
+ [2] = { &IT83XX_GPIO_GCR26, BIT(2) },
+ [3] = { &IT83XX_GPIO_GCR26, BIT(3) },
+ [4] = { &IT83XX_GPIO_GCR26, BIT(4) },
+ [5] = { &IT83XX_GPIO_GCR26, BIT(5) },
+ [6] = { &IT83XX_GPIO_GCR26, BIT(6) },
+ [7] = { &IT83XX_GPIO_GCR26, BIT(7) } },
+ [GPIO_L] = { [0] = { &IT83XX_GPIO_GCR25, BIT(0) },
+ [1] = { &IT83XX_GPIO_GCR25, BIT(1) },
+ [2] = { &IT83XX_GPIO_GCR25, BIT(2) },
+ [3] = { &IT83XX_GPIO_GCR25, BIT(3) },
+ [4] = { &IT83XX_GPIO_GCR25, BIT(4) },
+ [5] = { &IT83XX_GPIO_GCR25, BIT(5) },
+ [6] = { &IT83XX_GPIO_GCR25, BIT(6) },
+ [7] = { &IT83XX_GPIO_GCR25, BIT(7) } },
#if defined(CHIP_FAMILY_IT8XXX1) || defined(CHIP_FAMILY_IT8XXX2)
- [GPIO_O] = { [0] = {&IT83XX_GPIO_GCR31, BIT(0)},
- [1] = {&IT83XX_GPIO_GCR31, BIT(1)},
- [2] = {&IT83XX_GPIO_GCR31, BIT(2)},
- [3] = {&IT83XX_GPIO_GCR31, BIT(3)} },
- [GPIO_P] = { [0] = {&IT83XX_GPIO_GCR32, BIT(0)},
- [1] = {&IT83XX_GPIO_GCR32, BIT(1)},
- [2] = {&IT83XX_GPIO_GCR32, BIT(2)},
- [3] = {&IT83XX_GPIO_GCR32, BIT(3)},
- [4] = {&IT83XX_GPIO_GCR32, BIT(4)},
- [5] = {&IT83XX_GPIO_GCR32, BIT(5)},
- [6] = {&IT83XX_GPIO_GCR32, BIT(6)} },
+ [GPIO_O] = { [0] = { &IT83XX_GPIO_GCR31, BIT(0) },
+ [1] = { &IT83XX_GPIO_GCR31, BIT(1) },
+ [2] = { &IT83XX_GPIO_GCR31, BIT(2) },
+ [3] = { &IT83XX_GPIO_GCR31, BIT(3) } },
+ [GPIO_P] = { [0] = { &IT83XX_GPIO_GCR32, BIT(0) },
+ [1] = { &IT83XX_GPIO_GCR32, BIT(1) },
+ [2] = { &IT83XX_GPIO_GCR32, BIT(2) },
+ [3] = { &IT83XX_GPIO_GCR32, BIT(3) },
+ [4] = { &IT83XX_GPIO_GCR32, BIT(4) },
+ [5] = { &IT83XX_GPIO_GCR32, BIT(5) },
+ [6] = { &IT83XX_GPIO_GCR32, BIT(6) } },
#endif
#else
- [GPIO_A] = { [4] = {&IT83XX_GPIO_GRC24, BIT(0)},
- [5] = {&IT83XX_GPIO_GRC24, BIT(1)} },
- [GPIO_B] = { [3] = {&IT83XX_GPIO_GRC22, BIT(1)},
- [4] = {&IT83XX_GPIO_GRC22, BIT(0)},
- [5] = {&IT83XX_GPIO_GRC19, BIT(7)},
- [6] = {&IT83XX_GPIO_GRC19, BIT(6)} },
- [GPIO_C] = { [1] = {&IT83XX_GPIO_GRC19, BIT(5)},
- [2] = {&IT83XX_GPIO_GRC19, BIT(4)},
- [7] = {&IT83XX_GPIO_GRC19, BIT(3)} },
- [GPIO_D] = { [0] = {&IT83XX_GPIO_GRC19, BIT(2)},
- [1] = {&IT83XX_GPIO_GRC19, BIT(1)},
- [2] = {&IT83XX_GPIO_GRC19, BIT(0)},
- [3] = {&IT83XX_GPIO_GRC20, BIT(7)},
- [4] = {&IT83XX_GPIO_GRC20, BIT(6)} },
- [GPIO_E] = { [0] = {&IT83XX_GPIO_GRC20, BIT(5)},
- [6] = {&IT83XX_GPIO_GRC20, BIT(4)},
- [7] = {&IT83XX_GPIO_GRC20, BIT(3)} },
- [GPIO_F] = { [2] = {&IT83XX_GPIO_GRC20, BIT(2)},
- [3] = {&IT83XX_GPIO_GRC20, BIT(1)},
- [4] = {&IT83XX_GPIO_GRC20, BIT(0)},
- [5] = {&IT83XX_GPIO_GRC21, BIT(7)},
- [6] = {&IT83XX_GPIO_GRC21, BIT(6)},
- [7] = {&IT83XX_GPIO_GRC21, BIT(5)} },
- [GPIO_H] = { [0] = {&IT83XX_GPIO_GRC21, BIT(2)},
- [1] = {&IT83XX_GPIO_GRC21, BIT(1)},
- [2] = {&IT83XX_GPIO_GRC21, BIT(0)} },
- [GPIO_I] = { [1] = {&IT83XX_GPIO_GRC23, BIT(4)},
- [2] = {&IT83XX_GPIO_GRC23, BIT(5)},
- [3] = {&IT83XX_GPIO_GRC23, BIT(6)},
- [4] = {&IT83XX_GPIO_GRC23, BIT(7)} },
- [GPIO_J] = { [0] = {&IT83XX_GPIO_GRC23, BIT(0)},
- [1] = {&IT83XX_GPIO_GRC23, BIT(1)},
- [2] = {&IT83XX_GPIO_GRC23, BIT(2)},
- [3] = {&IT83XX_GPIO_GRC23, BIT(3)} },
+ [GPIO_A] = { [4] = { &IT83XX_GPIO_GRC24, BIT(0) },
+ [5] = { &IT83XX_GPIO_GRC24, BIT(1) } },
+ [GPIO_B] = { [3] = { &IT83XX_GPIO_GRC22, BIT(1) },
+ [4] = { &IT83XX_GPIO_GRC22, BIT(0) },
+ [5] = { &IT83XX_GPIO_GRC19, BIT(7) },
+ [6] = { &IT83XX_GPIO_GRC19, BIT(6) } },
+ [GPIO_C] = { [1] = { &IT83XX_GPIO_GRC19, BIT(5) },
+ [2] = { &IT83XX_GPIO_GRC19, BIT(4) },
+ [7] = { &IT83XX_GPIO_GRC19, BIT(3) } },
+ [GPIO_D] = { [0] = { &IT83XX_GPIO_GRC19, BIT(2) },
+ [1] = { &IT83XX_GPIO_GRC19, BIT(1) },
+ [2] = { &IT83XX_GPIO_GRC19, BIT(0) },
+ [3] = { &IT83XX_GPIO_GRC20, BIT(7) },
+ [4] = { &IT83XX_GPIO_GRC20, BIT(6) } },
+ [GPIO_E] = { [0] = { &IT83XX_GPIO_GRC20, BIT(5) },
+ [6] = { &IT83XX_GPIO_GRC20, BIT(4) },
+ [7] = { &IT83XX_GPIO_GRC20, BIT(3) } },
+ [GPIO_F] = { [2] = { &IT83XX_GPIO_GRC20, BIT(2) },
+ [3] = { &IT83XX_GPIO_GRC20, BIT(1) },
+ [4] = { &IT83XX_GPIO_GRC20, BIT(0) },
+ [5] = { &IT83XX_GPIO_GRC21, BIT(7) },
+ [6] = { &IT83XX_GPIO_GRC21, BIT(6) },
+ [7] = { &IT83XX_GPIO_GRC21, BIT(5) } },
+ [GPIO_H] = { [0] = { &IT83XX_GPIO_GRC21, BIT(2) },
+ [1] = { &IT83XX_GPIO_GRC21, BIT(1) },
+ [2] = { &IT83XX_GPIO_GRC21, BIT(0) } },
+ [GPIO_I] = { [1] = { &IT83XX_GPIO_GRC23, BIT(4) },
+ [2] = { &IT83XX_GPIO_GRC23, BIT(5) },
+ [3] = { &IT83XX_GPIO_GRC23, BIT(6) },
+ [4] = { &IT83XX_GPIO_GRC23, BIT(7) } },
+ [GPIO_J] = { [0] = { &IT83XX_GPIO_GRC23, BIT(0) },
+ [1] = { &IT83XX_GPIO_GRC23, BIT(1) },
+ [2] = { &IT83XX_GPIO_GRC23, BIT(2) },
+ [3] = { &IT83XX_GPIO_GRC23, BIT(3) } },
#endif
};
@@ -422,23 +423,23 @@ static void gpio_1p8v_3p3v_sel_by_pin(uint8_t port, uint8_t pin, int sel_1p8v)
}
static inline void it83xx_set_alt_func(uint32_t port, uint32_t pin,
- enum gpio_alternate_func func)
+ enum gpio_alternate_func func)
{
/*
* If func is not ALT_FUNC_NONE, set for alternate function.
* Otherwise, turn the pin into an input as it's default.
*/
if (func != GPIO_ALT_FUNC_NONE)
- IT83XX_GPIO_CTRL(port, pin) &= ~(GPCR_PORT_PIN_MODE_OUTPUT |
- GPCR_PORT_PIN_MODE_INPUT);
+ IT83XX_GPIO_CTRL(port, pin) &=
+ ~(GPCR_PORT_PIN_MODE_OUTPUT | GPCR_PORT_PIN_MODE_INPUT);
else
- IT83XX_GPIO_CTRL(port, pin) =
- (IT83XX_GPIO_CTRL(port, pin) | GPCR_PORT_PIN_MODE_INPUT)
- & ~GPCR_PORT_PIN_MODE_OUTPUT;
+ IT83XX_GPIO_CTRL(port, pin) = (IT83XX_GPIO_CTRL(port, pin) |
+ GPCR_PORT_PIN_MODE_INPUT) &
+ ~GPCR_PORT_PIN_MODE_OUTPUT;
}
void gpio_set_alternate_function(uint32_t port, uint32_t mask,
- enum gpio_alternate_func func)
+ enum gpio_alternate_func func)
{
uint32_t pin = 0;
@@ -473,7 +474,9 @@ void gpio_set_alternate_function(uint32_t port, uint32_t mask,
test_mockable int gpio_get_level(enum gpio_signal signal)
{
return (IT83XX_GPIO_DATA_MIRROR(gpio_list[signal].port) &
- gpio_list[signal].mask) ? 1 : 0;
+ gpio_list[signal].mask) ?
+ 1 :
+ 0;
}
void gpio_set_level(enum gpio_signal signal, int value)
@@ -483,10 +486,10 @@ void gpio_set_level(enum gpio_signal signal, int value)
if (value)
IT83XX_GPIO_DATA(gpio_list[signal].port) |=
- gpio_list[signal].mask;
+ gpio_list[signal].mask;
else
IT83XX_GPIO_DATA(gpio_list[signal].port) &=
- ~gpio_list[signal].mask;
+ ~gpio_list[signal].mask;
/* restore interrupts */
set_int_mask(int_mask);
}
@@ -591,26 +594,26 @@ void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags)
/* Set input or output. */
if (flags & GPIO_OUTPUT)
IT83XX_GPIO_CTRL(port, pin) =
- (IT83XX_GPIO_CTRL(port, pin) |
- GPCR_PORT_PIN_MODE_OUTPUT) &
- ~GPCR_PORT_PIN_MODE_INPUT;
+ (IT83XX_GPIO_CTRL(port, pin) |
+ GPCR_PORT_PIN_MODE_OUTPUT) &
+ ~GPCR_PORT_PIN_MODE_INPUT;
else
IT83XX_GPIO_CTRL(port, pin) =
- (IT83XX_GPIO_CTRL(port, pin) |
- GPCR_PORT_PIN_MODE_INPUT) &
- ~GPCR_PORT_PIN_MODE_OUTPUT;
+ (IT83XX_GPIO_CTRL(port, pin) |
+ GPCR_PORT_PIN_MODE_INPUT) &
+ ~GPCR_PORT_PIN_MODE_OUTPUT;
/* Handle pullup / pulldown */
if (flags & GPIO_PULL_UP) {
IT83XX_GPIO_CTRL(port, pin) =
- (IT83XX_GPIO_CTRL(port, pin) |
- GPCR_PORT_PIN_MODE_PULLUP) &
- ~GPCR_PORT_PIN_MODE_PULLDOWN;
+ (IT83XX_GPIO_CTRL(port, pin) |
+ GPCR_PORT_PIN_MODE_PULLUP) &
+ ~GPCR_PORT_PIN_MODE_PULLDOWN;
} else if (flags & GPIO_PULL_DOWN) {
IT83XX_GPIO_CTRL(port, pin) =
- (IT83XX_GPIO_CTRL(port, pin) |
- GPCR_PORT_PIN_MODE_PULLDOWN) &
- ~GPCR_PORT_PIN_MODE_PULLUP;
+ (IT83XX_GPIO_CTRL(port, pin) |
+ GPCR_PORT_PIN_MODE_PULLDOWN) &
+ ~GPCR_PORT_PIN_MODE_PULLUP;
} else {
/* No pull up/down */
IT83XX_GPIO_CTRL(port, pin) &=
@@ -620,7 +623,7 @@ void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags)
/* To select 1.8v or 3.3v support. */
gpio_1p8v_3p3v_sel_by_pin(port, pin,
- (flags & GPIO_SEL_1P8V));
+ (flags & GPIO_SEL_1P8V));
}
pin++;
@@ -804,10 +807,12 @@ void gpio_pre_init(void)
*/
if (IS_ENABLED(IT83XX_GPIO_GROUP_K_L_DEFAULT_PULL_DOWN)) {
for (i = 0; i < 8; i++) {
- IT83XX_GPIO_CTRL(GPIO_K, i) = (GPCR_PORT_PIN_MODE_INPUT
- | GPCR_PORT_PIN_MODE_PULLDOWN);
- IT83XX_GPIO_CTRL(GPIO_L, i) = (GPCR_PORT_PIN_MODE_INPUT
- | GPCR_PORT_PIN_MODE_PULLDOWN);
+ IT83XX_GPIO_CTRL(GPIO_K, i) =
+ (GPCR_PORT_PIN_MODE_INPUT |
+ GPCR_PORT_PIN_MODE_PULLDOWN);
+ IT83XX_GPIO_CTRL(GPIO_L, i) =
+ (GPCR_PORT_PIN_MODE_INPUT |
+ GPCR_PORT_PIN_MODE_PULLDOWN);
}
}