summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2015-04-08 16:42:55 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-04-10 22:08:25 +0000
commite9883124ff1600db5788e44c332a403499fb5da6 (patch)
tree5e5b64b72e89037845cc549e1c4262bf9d224a04
parent0b043fed030129ea99272f1ba729307fafaa93e2 (diff)
downloadchrome-ec-e9883124ff1600db5788e44c332a403499fb5da6.tar.gz
gpio: Refactor IRQ handler pointer out of gpio_list
In the gpio_info struct, we had a irq_handler pointer defined even though a majority of the GPIOs did not have irq handlers associated. By removing the irq_handler pointer out of the struct, we can save some space with some targets saving more than others. (For example, ~260 bytes for samus_pd). This change also brings about a new define: GPIO_INT(name, port, pin, flags, signal) And the existing GPIO macro has had the signal parameter removed since they were just NULL. GPIO(name, port, pin, flags) In each of the gpio.inc files, all the GPIOs with irq handlers must be defined at the top of the file. This is because their enum values from gpio_signal are used as the index to the gpio_irq_handlers table. BUG=chromium:471331 BRANCH=none TEST=Flashed ec to samus and samus_pd, verified lightbar tap, lid, power button, keyboard, charging, all still working. TEST=Moved a GPIO_INT declaration after a GPIO declaration and watched the build fail. TEST=make -j BOARD=peppy tests TEST=make -j BOARD=auron tests TEST=make -j BOARD=link tests Change-Id: Id6e261b0a3cd63223ca92f2e96a80c95e85cdefb Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/263973 Reviewed-by: Randall Spangler <rspangler@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Trybot-Ready: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Alec Berg <alecaberg@chromium.org>
-rw-r--r--board/auron/gpio.inc124
-rw-r--r--board/bds/gpio.inc4
-rw-r--r--board/big/gpio.inc88
-rw-r--r--board/cr50/gpio.inc30
-rw-r--r--board/cr50_a1/gpio.inc30
-rw-r--r--board/cyan/gpio.inc172
-rw-r--r--board/dingdong/gpio.inc26
-rw-r--r--board/discovery-stm32f072/gpio.inc16
-rw-r--r--board/discovery/gpio.inc6
-rw-r--r--board/falco/gpio.inc122
-rw-r--r--board/firefly/gpio.inc62
-rw-r--r--board/fruitpie/gpio.inc74
-rw-r--r--board/glower/gpio.inc112
-rw-r--r--board/hadoken/gpio.inc60
-rw-r--r--board/hoho/gpio.inc32
-rw-r--r--board/honeybuns/gpio.inc39
-rw-r--r--board/host/gpio.inc27
-rw-r--r--board/it8380dev/gpio.inc51
-rw-r--r--board/jerry/gpio.inc82
-rw-r--r--board/link/gpio.inc131
-rw-r--r--board/llama/gpio.inc83
-rw-r--r--board/mccroskey/gpio.inc86
-rw-r--r--board/mec1322_evb/gpio.inc14
-rw-r--r--board/mighty/gpio.inc82
-rw-r--r--board/npcx_evb/gpio.inc29
-rw-r--r--board/nyan/gpio.inc88
-rw-r--r--board/peppy/gpio.inc124
-rw-r--r--board/pinky/gpio.inc80
-rw-r--r--board/pit/gpio.inc88
-rw-r--r--board/plankton/gpio.inc73
-rw-r--r--board/rambi/gpio.inc102
-rw-r--r--board/ryu/gpio.inc138
-rw-r--r--board/ryu_sh/gpio.inc26
-rw-r--r--board/ryu_sh_loader/gpio.inc18
-rw-r--r--board/samus/gpio.inc150
-rw-r--r--board/samus_pd/gpio.inc174
-rw-r--r--board/snow/gpio.inc92
-rw-r--r--board/speedy/gpio.inc82
-rw-r--r--board/spring/gpio.inc91
-rw-r--r--board/squawks/gpio.inc102
-rw-r--r--board/strago/gpio.inc170
-rw-r--r--board/twinkie/gpio.inc56
-rw-r--r--chip/g/gpio.c6
-rw-r--r--chip/host/gpio.c5
-rw-r--r--chip/it83xx/gpio.c8
-rw-r--r--chip/lm4/gpio.c11
-rw-r--r--chip/mec1322/gpio.c6
-rw-r--r--chip/npcx/gpio.c6
-rw-r--r--chip/nrf51/gpio.c15
-rw-r--r--chip/stm32/gpio.c23
-rw-r--r--include/backlight.h5
-rw-r--r--include/chipset.h4
-rw-r--r--include/gpio.h25
-rw-r--r--include/gpio.wrap26
-rw-r--r--include/gpio_list.h29
-rw-r--r--include/gpio_signal.h8
-rw-r--r--include/jtag.h6
-rw-r--r--include/keyboard_raw.h4
-rw-r--r--include/power.h4
-rw-r--r--include/switch.h4
-rw-r--r--include/uart.h5
61 files changed, 1746 insertions, 1690 deletions
diff --git a/board/auron/gpio.inc b/board/auron/gpio.inc
index 3e275ec397..0ce95b1f43 100644
--- a/board/auron/gpio.inc
+++ b/board/auron/gpio.inc
@@ -6,87 +6,87 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
-GPIO(PCH_BKLTEN, M, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
-GPIO(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
-GPIO(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
-GPIO(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
-GPIO(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP1350_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.35V (DRAM) */
-GPIO(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
-GPIO(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(PCH_EDP_VDD_EN, J, 1, GPIO_INT_BOTH, power_interrupt) /* PCH wants EDP enabled */
-GPIO(RECOVERY_L, A, 5, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
-GPIO(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
+GPIO_INT(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
+GPIO_INT(PCH_BKLTEN, M, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
+GPIO_INT(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
+GPIO_INT(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
+GPIO_INT(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP1350_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.35V (DRAM) */
+GPIO_INT(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
+GPIO_INT(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(PCH_EDP_VDD_EN, J, 1, GPIO_INT_BOTH, power_interrupt) /* PCH wants EDP enabled */
+GPIO_INT(RECOVERY_L, A, 5, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
+GPIO_INT(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
+GPIO_INT(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
/* Other inputs */
-GPIO(FAN_ALERT_L, B, 0, GPIO_INPUT, NULL) /* From thermal sensor */
-GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, NULL) /* SUSWARN# signal from PCH */
-GPIO(USB1_OC_L, E, 7, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB2_OC_L, E, 0, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
-GPIO(CPU_PGOOD, C, 4, GPIO_INPUT, NULL) /* Power good to the CPU */
-GPIO(BAT_PRESENT_L, B, 4, GPIO_INPUT, NULL) /* Battery present. Repurposed BAT_TEMP */
+GPIO(FAN_ALERT_L, B, 0, GPIO_INPUT) /* From thermal sensor */
+GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH) /* SUSWARN# signal from PCH */
+GPIO(USB1_OC_L, E, 7, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB2_OC_L, E, 0, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT) /* Board version stuffing resistor 3 */
+GPIO(CPU_PGOOD, C, 4, GPIO_INPUT) /* Power good to the CPU */
+GPIO(BAT_PRESENT_L, B, 4, GPIO_INPUT) /* Battery present. Repurposed BAT_TEMP */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW, NULL) /* Enable 1.35V supply */
-GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW, NULL) /* Enable power to lots of peripherals */
-GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW, NULL) /* Stuffing option - not connected */
-GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(PP5000_FAN_EN, J, 3, GPIO_OUT_LOW, NULL) /* Enable fan power rail */
-GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(CHARGE_L, E, 6, GPIO_OUT_LOW, NULL) /* Allow battery to charge when on AC */
+GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW) /* Enable 1.35V supply */
+GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW) /* Enable power to lots of peripherals */
+GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW) /* Stuffing option - not connected */
+GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(PP5000_FAN_EN, J, 3, GPIO_OUT_LOW) /* Enable fan power rail */
+GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(CHARGE_L, E, 6, GPIO_OUT_LOW) /* Allow battery to charge when on AC */
-GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW, NULL) /* Indicate when VccDSW is good */
+GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW) /* Indicate when VccDSW is good */
/*
* HDA_SDO is technically an output, but we need to leave it as an
* input until we drive it high. So can't use open-drain (HI_Z).
*/
-GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT, NULL) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PCH_NMI_L, F, 2, GPIO_OUT_HIGH, NULL) /* Non-maskable interrupt pin to PCH */
-GPIO(PCH_PWRBTN_L, H, 0, GPIO_OUT_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* PWROK / APWROK signals to PCH */
+GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH) /* Wake signal from EC to PCH */
+GPIO(PCH_NMI_L, F, 2, GPIO_OUT_HIGH) /* Non-maskable interrupt pin to PCH */
+GPIO(PCH_PWRBTN_L, H, 0, GPIO_OUT_HIGH) /* Power button output to PCH */
+GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW) /* PWROK / APWROK signals to PCH */
/*
* PL6 is one of 4 pins on the EC which can't be used in open-drain
* mode. To work around this PCH_RCIN_L is set to an input. It will
* only be set to an output when it needs to be driven to 0.
*/
-GPIO(PCH_RCIN_L, L, 6, GPIO_INPUT, NULL) /* RCIN# line to PCH (for 8042 emulation) */
-GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW, NULL) /* Reset touch screen */
-GPIO(EC_EDP_VDD_EN, J, 5, GPIO_OUT_LOW, NULL) /* Enable EDP (passthru from PCH) */
+GPIO(PCH_RCIN_L, L, 6, GPIO_INPUT) /* RCIN# line to PCH (for 8042 emulation) */
+GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW) /* Reset touch screen */
+GPIO(EC_EDP_VDD_EN, J, 5, GPIO_OUT_LOW) /* Enable EDP (passthru from PCH) */
-GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH, NULL) /* Dunno. Probably important, though. */
-GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW, NULL) /* USB port 1 output power enable */
-GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW, NULL) /* USB port 2 output power enable */
+GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH) /* Dunno. Probably important, though. */
+GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW) /* USB port 1 output power enable */
+GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW) /* USB port 2 output power enable */
-GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH, NULL) /* Acknowledge PCH SUSWARN# signal */
-GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH, NULL) /* Not supposed to be here */
-GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH, NULL) /* Not supposed to be here */
+GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH) /* Acknowledge PCH SUSWARN# signal */
+GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH) /* Not supposed to be here */
+GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH) /* Not supposed to be here */
-GPIO(BAT_LED0_L, D, 0, GPIO_ODR_HIGH, NULL) /* Battery charging LED - blue */
-GPIO(BAT_LED1_L, N, 4, GPIO_ODR_HIGH, NULL) /* Battery charging LED - orange */
-GPIO(PWR_LED0_L, D, 1, GPIO_ODR_HIGH, NULL) /* Power LED - blue */
-GPIO(PWR_LED1_L, N, 6, GPIO_ODR_HIGH, NULL) /* Power LED - orange */
+GPIO(BAT_LED0_L, D, 0, GPIO_ODR_HIGH) /* Battery charging LED - blue */
+GPIO(BAT_LED1_L, N, 4, GPIO_ODR_HIGH) /* Battery charging LED - orange */
+GPIO(PWR_LED0_L, D, 1, GPIO_ODR_HIGH) /* Power LED - blue */
+GPIO(PWR_LED1_L, N, 6, GPIO_ODR_HIGH) /* Power LED - orange */
ALTERNATE(A, 0x03, 1, MODULE_UART, GPIO_PULL_UP) /* UART0 */
ALTERNATE(B, 0x04, 3, MODULE_I2C, 0) /* I2C0 SCL */
diff --git a/board/bds/gpio.inc b/board/bds/gpio.inc
index 06f290e53c..b1b13057aa 100644
--- a/board/bds/gpio.inc
+++ b/board/bds/gpio.inc
@@ -6,8 +6,8 @@
*/
/* Recovery signal from DOWN button */
-GPIO(RECOVERY_L, D, 1, GPIO_PULL_UP, NULL)
-GPIO(DEBUG_LED, A, 7, GPIO_OUT_LOW, NULL)
+GPIO(RECOVERY_L, D, 1, GPIO_PULL_UP)
+GPIO(DEBUG_LED, A, 7, GPIO_OUT_LOW)
/*
* Signals which aren't implemented on BDS but we'll emulate anyway, to
diff --git a/board/big/gpio.inc b/board/big/gpio.inc
index e35673e5fe..54e541f55b 100644
--- a/board/big/gpio.inc
+++ b/board/big/gpio.inc
@@ -6,56 +6,56 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt)
-GPIO(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_KB_INPUT, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
-GPIO(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt)
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt)
+GPIO_INT(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_KB_INPUT, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
+GPIO_INT(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(AP_RESET_L, B, 3, GPIO_ODR_HIGH, NULL)
-GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_ODR_HIGH, NULL)
-GPIO(ENTERING_RW, H, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(LED_POWER_L, A, 2, GPIO_OUT_HIGH, NULL) /* PWR_LED1 */
-GPIO(PMIC_PWRON_L, A, 12, GPIO_OUT_HIGH, NULL)
-GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(PWR_LED0, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED1, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(CHARGING, A, 11, GPIO_OUT_LOW, NULL)
-GPIO(EC_BL_OVERRIDE, H, 1, GPIO_ODR_HIGH, NULL)
-GPIO(PMIC_THERM_L, A, 1, GPIO_ODR_HIGH, NULL)
-GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH, NULL)
+GPIO(AP_RESET_L, B, 3, GPIO_ODR_HIGH)
+GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_ODR_HIGH)
+GPIO(ENTERING_RW, H, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(LED_POWER_L, A, 2, GPIO_OUT_HIGH) /* PWR_LED1 */
+GPIO(PMIC_PWRON_L, A, 12, GPIO_OUT_HIGH)
+GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
+GPIO(PWR_LED0, B, 10, GPIO_OUT_LOW)
+GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW)
+GPIO(BAT_LED1, A, 8, GPIO_OUT_LOW)
+GPIO(CHARGING, A, 11, GPIO_OUT_LOW)
+GPIO(EC_BL_OVERRIDE, H, 1, GPIO_ODR_HIGH)
+GPIO(PMIC_THERM_L, A, 1, GPIO_ODR_HIGH)
+GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH)
ALTERNATE(A, 0x00f0, GPIO_ALT_SPI, MODULE_SPI, GPIO_DEFAULT)
ALTERNATE(A, 0x0600, GPIO_ALT_USART, MODULE_UART, GPIO_DEFAULT)
diff --git a/board/cr50/gpio.inc b/board/cr50/gpio.inc
index 8c518b8cf7..d5cf447cb1 100644
--- a/board/cr50/gpio.inc
+++ b/board/cr50/gpio.inc
@@ -1,4 +1,4 @@
-/*
+/* -*- mode:c -*-
* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
@@ -7,25 +7,25 @@
/* Inputs with interrupt handlers are first for efficiency */
/* User Push buttons */
-GPIO(SW_N, 0, 0, GPIO_INT_RISING, button_event)
-GPIO(SW_S, 0, 1, GPIO_INT_RISING, button_event)
-GPIO(SW_W, 0, 2, GPIO_INT_RISING, button_event)
-GPIO(SW_E, 0, 3, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_N, 0, 0, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_S, 0, 1, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_W, 0, 2, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_E, 0, 3, GPIO_INT_RISING, button_event)
/* We can't trigger on both rising and falling edge, so attach each button
* to two input GPIOs. */
-GPIO(SW_N_, 1, 0, GPIO_INT_FALLING, button_event)
-GPIO(SW_S_, 1, 1, GPIO_INT_FALLING, button_event)
-GPIO(SW_W_, 1, 2, GPIO_INT_FALLING, button_event)
-GPIO(SW_E_, 1, 3, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_N_, 1, 0, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_S_, 1, 1, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_W_, 1, 2, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_E_, 1, 3, GPIO_INT_FALLING, button_event)
/* User GPIO LEDs */
-GPIO(LED_2, 0, 4, GPIO_OUT_LOW, NULL)
-GPIO(LED_3, 0, 5, GPIO_OUT_LOW, NULL)
-GPIO(LED_4, 0, 6, GPIO_OUT_LOW, NULL)
-GPIO(LED_5, 0, 7, GPIO_OUT_LOW, NULL)
-GPIO(LED_6, 0, 8, GPIO_OUT_LOW, NULL)
-GPIO(LED_7, 0, 9, GPIO_OUT_LOW, NULL)
+GPIO(LED_2, 0, 4, GPIO_OUT_LOW)
+GPIO(LED_3, 0, 5, GPIO_OUT_LOW)
+GPIO(LED_4, 0, 6, GPIO_OUT_LOW)
+GPIO(LED_5, 0, 7, GPIO_OUT_LOW)
+GPIO(LED_6, 0, 8, GPIO_OUT_LOW)
+GPIO(LED_7, 0, 9, GPIO_OUT_LOW)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/cr50_a1/gpio.inc b/board/cr50_a1/gpio.inc
index 8c518b8cf7..d5cf447cb1 100644
--- a/board/cr50_a1/gpio.inc
+++ b/board/cr50_a1/gpio.inc
@@ -1,4 +1,4 @@
-/*
+/* -*- mode:c -*-
* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
@@ -7,25 +7,25 @@
/* Inputs with interrupt handlers are first for efficiency */
/* User Push buttons */
-GPIO(SW_N, 0, 0, GPIO_INT_RISING, button_event)
-GPIO(SW_S, 0, 1, GPIO_INT_RISING, button_event)
-GPIO(SW_W, 0, 2, GPIO_INT_RISING, button_event)
-GPIO(SW_E, 0, 3, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_N, 0, 0, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_S, 0, 1, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_W, 0, 2, GPIO_INT_RISING, button_event)
+GPIO_INT(SW_E, 0, 3, GPIO_INT_RISING, button_event)
/* We can't trigger on both rising and falling edge, so attach each button
* to two input GPIOs. */
-GPIO(SW_N_, 1, 0, GPIO_INT_FALLING, button_event)
-GPIO(SW_S_, 1, 1, GPIO_INT_FALLING, button_event)
-GPIO(SW_W_, 1, 2, GPIO_INT_FALLING, button_event)
-GPIO(SW_E_, 1, 3, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_N_, 1, 0, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_S_, 1, 1, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_W_, 1, 2, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_E_, 1, 3, GPIO_INT_FALLING, button_event)
/* User GPIO LEDs */
-GPIO(LED_2, 0, 4, GPIO_OUT_LOW, NULL)
-GPIO(LED_3, 0, 5, GPIO_OUT_LOW, NULL)
-GPIO(LED_4, 0, 6, GPIO_OUT_LOW, NULL)
-GPIO(LED_5, 0, 7, GPIO_OUT_LOW, NULL)
-GPIO(LED_6, 0, 8, GPIO_OUT_LOW, NULL)
-GPIO(LED_7, 0, 9, GPIO_OUT_LOW, NULL)
+GPIO(LED_2, 0, 4, GPIO_OUT_LOW)
+GPIO(LED_3, 0, 5, GPIO_OUT_LOW)
+GPIO(LED_4, 0, 6, GPIO_OUT_LOW)
+GPIO(LED_5, 0, 7, GPIO_OUT_LOW)
+GPIO(LED_6, 0, 8, GPIO_OUT_LOW)
+GPIO(LED_7, 0, 9, GPIO_OUT_LOW)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/cyan/gpio.inc b/board/cyan/gpio.inc
index 06dbf46cd9..44aee47534 100644
--- a/board/cyan/gpio.inc
+++ b/board/cyan/gpio.inc
@@ -5,91 +5,91 @@
* found in the LICENSE file.
*/
-GPIO(LID_OPEN, PORT(2), 7, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, PORT(3), 0, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* BC_ACOK / EC_ACIN - to know if battery or AC connected */
-GPIO(WP_L, PORT(3), 3, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(POWER_BUTTON_L, PORT(3), 5, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(RSMRST_L_PGOOD, PORT(6), 3, GPIO_INT_BOTH, power_signal_interrupt) /* RSMRST_N_PWRGD from power logic */
-GPIO(ALL_SYS_PGOOD, PORT(13), 0, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* ALL_SYS_PWRGD from power logic */
-GPIO(PCH_SLP_S4_L, PORT(20), 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO(PCH_SLP_S3_L, PORT(20), 6, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-
-GPIO(NC_012, PORT(1), 2, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-GPIO(USB_ILIM_SEL, PORT(1), 3, GPIO_OUT_HIGH, NULL) /* USB current control */
-GPIO(I2C_PORT0_SCL, PORT(1), 5, GPIO_ODR_HIGH, NULL)
-GPIO(I2C_PORT0_SDA, PORT(1), 6, GPIO_ODR_HIGH, NULL)
-
-GPIO(I2C_PORT1_SCL, PORT(2), 2, GPIO_ODR_HIGH, NULL)
-GPIO(I2C_PORT1_SDA, PORT(2), 3, GPIO_ODR_HIGH, NULL)
-GPIO(PCH_SCI_L, PORT(2), 6, GPIO_ODR_HIGH, NULL) /* SCI output */
-
-GPIO(VOLUME_UP, PORT(3), 1, GPIO_INT_FALLING, NULL) /* Volume up button */
-GPIO(VOLUME_DOWN, PORT(3), 4, GPIO_INT_FALLING, NULL) /* Volume down button */
-GPIO(USB2_PWR_EN, PORT(3), 6, GPIO_OUT_HIGH, NULL) /* Enable power for USB2 Port */
-
-GPIO(ENTERING_RW, PORT(4), 1, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(PCH_SMI_L, PORT(4), 4, GPIO_ODR_HIGH, NULL) /* SMI output */
-GPIO(USB_OC1_L, PORT(4), 5, GPIO_INT_FALLING, NULL) /* DB2 BC1.2 over current signal to EC */
-GPIO(DP_USB_C_HPD_Q, PORT(4), 6, GPIO_OUT_HIGH, NULL) /* DP hot plug detect from EC to SOC */
-GPIO(VBATA_VR_HOT_N, PORT(4), 7, GPIO_INT_FALLING, NULL) /* PROCHOT signal of VBATA VR connected to EC */
-
-GPIO(VNN_I2C3_ALERT_N, PORT(5), 0, GPIO_INT_FALLING, NULL) /* Alert signal from VNN VR to EC */
-GPIO(PCH_SUS_STAT_L, PORT(5), 1, GPIO_INT_FALLING, NULL) /* Signal to inform EC that SOC is entering low power state */
-GPIO(TOUCHPANEL_PWREN, PORT(5), 2, GPIO_OUT_HIGH, NULL) /* Enable power for Touch Panel */
-GPIO(TRACKPAD_PWREN, PORT(5), 3, GPIO_OUT_HIGH, NULL) /* Enable power for Track Pad */
-GPIO(USB_OC0_L, PORT(5), 5, GPIO_INT_FALLING, NULL) /* Over current signal of the BC1.2 charger to EC */
-GPIO(EC_ADC0, PORT(5), 6, GPIO_ANALOG, NULL) /* EC_ADC0 */
-GPIO(EC_ADC1, PORT(5), 7, GPIO_ANALOG, NULL) /* EC_ADC1 */
-
-GPIO(CHGR_PMON, PORT(6), 0, GPIO_ANALOG, NULL)
-GPIO(WIFI_PWREN, PORT(6), 1, GPIO_OUT_HIGH, NULL) /* Enable power for WiFi */
-GPIO(BATT_EN_L, PORT(6), 2, GPIO_INPUT, NULL) /* Will be NC */
-GPIO(SW_OPEN_EC, PORT(6), 4, GPIO_INT_BOTH, NULL) /* Signal from USB Charger to EC to indicate if the isolation switch is open or close */
-GPIO(PCH_SYS_PWROK, PORT(6), 5, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready (DELAY_ALL_SYS_PWRGD) */
-GPIO(PCH_WAKE_L, PORT(6), 6, GPIO_ODR_HIGH, NULL) /* PCH wake pin */
-GPIO(USB3_PWR_EN, PORT(6), 7, GPIO_OUT_HIGH, NULL) /* Enable power for USB3 Port */
-
-GPIO(USB_CTL1, PORT(10), 5, GPIO_OUT_HIGH, NULL) /* USB charging mode control */
-
-GPIO(PCH_RCIN_L, PORT(11), 0, GPIO_ODR_HIGH, NULL) /* Reset line to PCH (for 8042 emulation) */
-GPIO(NC_115, PORT(11), 5, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-
-GPIO(USB_PD_EC_INT, PORT(12), 2, GPIO_INT_BOTH, NULL) /* Interrupt from USB PD Controller to EC */
-GPIO(EC_WAKE_L, PORT(12), 3, GPIO_INT_BOTH_DSLEEP, NULL)
-GPIO(USB_CHG_DET_EC, PORT(12), 4, GPIO_INT_BOTH, NULL) /* Signal from USB Charger to EC to indicate charger has been detected */
-GPIO(GYRO_INT2, PORT(12), 7, GPIO_INT_FALLING, NULL) /* Gyro sensor interrupt 2 to EC */
-
-GPIO(EC_PLUG_DETECT, PORT(13), 2, GPIO_INT_BOTH, NULL)
-GPIO(BAT_LED0_L, PORT(13), 3, GPIO_ODR_HIGH, NULL) /* Battery charging LED - blue */
-GPIO(WWAN_PWREN, PORT(13), 5, GPIO_OUT_HIGH, NULL) /* Enable power for WWAN - PROBE_DETECT_L */
-GPIO(BAT_LED1_L, PORT(13), 6, GPIO_ODR_HIGH, NULL) /* Battery charging LED - orange */
-
-GPIO(THERMAL_PROBE_EN_L,PORT(14), 0, GPIO_OUT_HIGH, NULL)
-GPIO(PWR_LED0_L, PORT(14), 1, GPIO_ODR_HIGH, NULL) /* Power LED - blue */
-GPIO(PCH_RSMRST_L, PORT(14), 3, GPIO_OUT_LOW, NULL) /* RSMRST_N to PCH */
-GPIO(PWR_LED1_L, PORT(14), 5, GPIO_ODR_HIGH, NULL) /* Power LED - orange */
-GPIO(PVT_CS0, PORT(14), 6, GPIO_ODR_HIGH, NULL) /* SPI PVT Chip select */
-GPIO(ALS_INT, PORT(14), 7, GPIO_INT_FALLING, NULL) /* ALS sensor interrupt to EC */
-
-GPIO(WLAN_OFF_L, PORT(15), 0, GPIO_ODR_HIGH, NULL) /* Wireless LAN */
-GPIO(CPU_PROCHOT, PORT(15), 1, GPIO_OUT_LOW, NULL)
-GPIO(KBD_IRQ_L, PORT(15), 2, GPIO_ODR_HIGH, NULL) /* Negative edge triggered irq. */
-GPIO(NC_154, PORT(15), 4, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-GPIO(CORE_PWROK, PORT(15), 5, GPIO_ODR_HIGH, NULL) /* CORE_PWR_OK_R */
-GPIO(LID_OPEN2, PORT(15), 6, GPIO_INT_BOTH_DSLEEP, NULL) /* LID_OPEN_OUT2_R */
-GPIO(PCH_SUSPWRDNACK, PORT(15), 7, GPIO_INT_FALLING, NULL) /* PMC SUSPWRDNACK signal from SOC to EC */
-
-GPIO(PCH_PWRBTN_L, PORT(16), 0, GPIO_OUT_HIGH, NULL) /* Power button output to PCH */
-GPIO(GYRO_INT1, PORT(16), 1, GPIO_INT_FALLING, NULL) /* Gyro sensor interrupt 1 to EC */
-GPIO(MUX_CROSS_BAR_EN, PORT(16), 3, GPIO_OUT_LOW, NULL) /* Enable signal of the USB Type C Mux */
-
-GPIO(MUX_CROSS_BAR_POL, PORT(20), 1, GPIO_OUT_LOW, NULL) /* Output from EC to POL signal of USB Type C Mux */
-GPIO(EC_BL_DISABLE_L, PORT(20), 2, GPIO_OUT_HIGH, NULL) /* EDP backligh disable signal from EC */
-GPIO(SMC_SHUTDOWN, PORT(20), 3, GPIO_OUT_LOW, NULL) /* Shutdown signal from EC to power sequencing PLD */
-GPIO(MUX_CROSS_BAR_MODE,PORT(20), 4, GPIO_OUT_LOW, NULL) /* Output from EC - Type C Mux mode select */
-
-GPIO(SUSPWRDNACK_SOC_EC,PORT(21), 0, GPIO_OUT_LOW, NULL) /* SUSPWRDNACK signal from EC to MOIC device */
-GPIO(PCH_SLP_SX_L, PORT(21), 1, GPIO_INT_BOTH_DSLEEP, NULL) /* Sleep SOIX signal from SOC to EC */
+GPIO_INT(LID_OPEN, PORT(2), 7, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, PORT(3), 0, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* BC_ACOK / EC_ACIN - to know if battery or AC connected */
+GPIO_INT(WP_L, PORT(3), 3, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(POWER_BUTTON_L, PORT(3), 5, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(RSMRST_L_PGOOD, PORT(6), 3, GPIO_INT_BOTH, power_signal_interrupt) /* RSMRST_N_PWRGD from power logic */
+GPIO_INT(ALL_SYS_PGOOD, PORT(13), 0, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* ALL_SYS_PWRGD from power logic */
+GPIO_INT(PCH_SLP_S4_L, PORT(20), 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, PORT(20), 6, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+
+GPIO(NC_012, PORT(1), 2, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+GPIO(USB_ILIM_SEL, PORT(1), 3, GPIO_OUT_HIGH) /* USB current control */
+GPIO(I2C_PORT0_SCL, PORT(1), 5, GPIO_ODR_HIGH)
+GPIO(I2C_PORT0_SDA, PORT(1), 6, GPIO_ODR_HIGH)
+
+GPIO(I2C_PORT1_SCL, PORT(2), 2, GPIO_ODR_HIGH)
+GPIO(I2C_PORT1_SDA, PORT(2), 3, GPIO_ODR_HIGH)
+GPIO(PCH_SCI_L, PORT(2), 6, GPIO_ODR_HIGH) /* SCI output */
+
+GPIO(VOLUME_UP, PORT(3), 1, GPIO_INT_FALLING) /* Volume up button */
+GPIO(VOLUME_DOWN, PORT(3), 4, GPIO_INT_FALLING) /* Volume down button */
+GPIO(USB2_PWR_EN, PORT(3), 6, GPIO_OUT_HIGH) /* Enable power for USB2 Port */
+
+GPIO(ENTERING_RW, PORT(4), 1, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(PCH_SMI_L, PORT(4), 4, GPIO_ODR_HIGH) /* SMI output */
+GPIO(USB_OC1_L, PORT(4), 5, GPIO_INT_FALLING) /* DB2 BC1.2 over current signal to EC */
+GPIO(DP_USB_C_HPD_Q, PORT(4), 6, GPIO_OUT_HIGH) /* DP hot plug detect from EC to SOC */
+GPIO(VBATA_VR_HOT_N, PORT(4), 7, GPIO_INT_FALLING) /* PROCHOT signal of VBATA VR connected to EC */
+
+GPIO(VNN_I2C3_ALERT_N, PORT(5), 0, GPIO_INT_FALLING) /* Alert signal from VNN VR to EC */
+GPIO(PCH_SUS_STAT_L, PORT(5), 1, GPIO_INT_FALLING) /* Signal to inform EC that SOC is entering low power state */
+GPIO(TOUCHPANEL_PWREN, PORT(5), 2, GPIO_OUT_HIGH) /* Enable power for Touch Panel */
+GPIO(TRACKPAD_PWREN, PORT(5), 3, GPIO_OUT_HIGH) /* Enable power for Track Pad */
+GPIO(USB_OC0_L, PORT(5), 5, GPIO_INT_FALLING) /* Over current signal of the BC1.2 charger to EC */
+GPIO(EC_ADC0, PORT(5), 6, GPIO_ANALOG) /* EC_ADC0 */
+GPIO(EC_ADC1, PORT(5), 7, GPIO_ANALOG) /* EC_ADC1 */
+
+GPIO(CHGR_PMON, PORT(6), 0, GPIO_ANALOG)
+GPIO(WIFI_PWREN, PORT(6), 1, GPIO_OUT_HIGH) /* Enable power for WiFi */
+GPIO(BATT_EN_L, PORT(6), 2, GPIO_INPUT) /* Will be NC */
+GPIO(SW_OPEN_EC, PORT(6), 4, GPIO_INT_BOTH) /* Signal from USB Charger to EC to indicate if the isolation switch is open or close */
+GPIO(PCH_SYS_PWROK, PORT(6), 5, GPIO_OUT_LOW) /* EC thinks everything is up and ready (DELAY_ALL_SYS_PWRGD) */
+GPIO(PCH_WAKE_L, PORT(6), 6, GPIO_ODR_HIGH) /* PCH wake pin */
+GPIO(USB3_PWR_EN, PORT(6), 7, GPIO_OUT_HIGH) /* Enable power for USB3 Port */
+
+GPIO(USB_CTL1, PORT(10), 5, GPIO_OUT_HIGH) /* USB charging mode control */
+
+GPIO(PCH_RCIN_L, PORT(11), 0, GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
+GPIO(NC_115, PORT(11), 5, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+
+GPIO(USB_PD_EC_INT, PORT(12), 2, GPIO_INT_BOTH) /* Interrupt from USB PD Controller to EC */
+GPIO(EC_WAKE_L, PORT(12), 3, GPIO_INT_BOTH_DSLEEP)
+GPIO(USB_CHG_DET_EC, PORT(12), 4, GPIO_INT_BOTH) /* Signal from USB Charger to EC to indicate charger has been detected */
+GPIO(GYRO_INT2, PORT(12), 7, GPIO_INT_FALLING) /* Gyro sensor interrupt 2 to EC */
+
+GPIO(EC_PLUG_DETECT, PORT(13), 2, GPIO_INT_BOTH)
+GPIO(BAT_LED0_L, PORT(13), 3, GPIO_ODR_HIGH) /* Battery charging LED - blue */
+GPIO(WWAN_PWREN, PORT(13), 5, GPIO_OUT_HIGH) /* Enable power for WWAN - PROBE_DETECT_L */
+GPIO(BAT_LED1_L, PORT(13), 6, GPIO_ODR_HIGH) /* Battery charging LED - orange */
+
+GPIO(THERMAL_PROBE_EN_L,PORT(14), 0, GPIO_OUT_HIGH)
+GPIO(PWR_LED0_L, PORT(14), 1, GPIO_ODR_HIGH) /* Power LED - blue */
+GPIO(PCH_RSMRST_L, PORT(14), 3, GPIO_OUT_LOW) /* RSMRST_N to PCH */
+GPIO(PWR_LED1_L, PORT(14), 5, GPIO_ODR_HIGH) /* Power LED - orange */
+GPIO(PVT_CS0, PORT(14), 6, GPIO_ODR_HIGH) /* SPI PVT Chip select */
+GPIO(ALS_INT, PORT(14), 7, GPIO_INT_FALLING) /* ALS sensor interrupt to EC */
+
+GPIO(WLAN_OFF_L, PORT(15), 0, GPIO_ODR_HIGH) /* Wireless LAN */
+GPIO(CPU_PROCHOT, PORT(15), 1, GPIO_OUT_LOW)
+GPIO(KBD_IRQ_L, PORT(15), 2, GPIO_ODR_HIGH) /* Negative edge triggered irq. */
+GPIO(NC_154, PORT(15), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+GPIO(CORE_PWROK, PORT(15), 5, GPIO_ODR_HIGH) /* CORE_PWR_OK_R */
+GPIO(LID_OPEN2, PORT(15), 6, GPIO_INT_BOTH_DSLEEP) /* LID_OPEN_OUT2_R */
+GPIO(PCH_SUSPWRDNACK, PORT(15), 7, GPIO_INT_FALLING) /* PMC SUSPWRDNACK signal from SOC to EC */
+
+GPIO(PCH_PWRBTN_L, PORT(16), 0, GPIO_OUT_HIGH) /* Power button output to PCH */
+GPIO(GYRO_INT1, PORT(16), 1, GPIO_INT_FALLING) /* Gyro sensor interrupt 1 to EC */
+GPIO(MUX_CROSS_BAR_EN, PORT(16), 3, GPIO_OUT_LOW) /* Enable signal of the USB Type C Mux */
+
+GPIO(MUX_CROSS_BAR_POL, PORT(20), 1, GPIO_OUT_LOW) /* Output from EC to POL signal of USB Type C Mux */
+GPIO(EC_BL_DISABLE_L, PORT(20), 2, GPIO_OUT_HIGH) /* EDP backligh disable signal from EC */
+GPIO(SMC_SHUTDOWN, PORT(20), 3, GPIO_OUT_LOW) /* Shutdown signal from EC to power sequencing PLD */
+GPIO(MUX_CROSS_BAR_MODE,PORT(20), 4, GPIO_OUT_LOW) /* Output from EC - Type C Mux mode select */
+
+GPIO(SUSPWRDNACK_SOC_EC,PORT(21), 0, GPIO_OUT_LOW) /* SUSPWRDNACK signal from EC to MOIC device */
+GPIO(PCH_SLP_SX_L, PORT(21), 1, GPIO_INT_BOTH_DSLEEP) /* Sleep SOIX signal from SOC to EC */
/* Alternate functions GPIO definition */
ALTERNATE(PORT(16), 0x24, 1, MODULE_UART, 0) /* UART0 */
@@ -104,7 +104,7 @@ ALTERNATE(PORT(0), 0xfc, 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
ALTERNATE(PORT(1), 0x03, 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
ALTERNATE(PORT(10) , 0xd8, 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
#ifdef CONFIG_KEYBOARD_COL2_INVERTED
- GPIO(KBD_KSO2, PORT(0),1, GPIO_KB_OUTPUT_COL2, NULL) /* Negative edge triggered irq. */
+ GPIO(KBD_KSO2, PORT(0),1, GPIO_KB_OUTPUT_COL2) /* Negative edge triggered irq. */
#else
ALTERNATE(PORT(0), 0x02, 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT_COL2)
#endif
diff --git a/board/dingdong/gpio.inc b/board/dingdong/gpio.inc
index 95a75b88b1..9dc31bea66 100644
--- a/board/dingdong/gpio.inc
+++ b/board/dingdong/gpio.inc
@@ -4,20 +4,22 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-GPIO(DP_HPD, A, 0, GPIO_INT_BOTH, hpd_event)
-GPIO(USB_C_CC1_PD, A, 1, GPIO_ANALOG, NULL)
-GPIO(STM_READY, A, 2, GPIO_OUT_LOW, NULL) /* factory test only */
-GPIO(PD_DAC_REF, A, 4, GPIO_ANALOG, NULL)
-GPIO(DP_AUX_N, A, 5, GPIO_INPUT, NULL)
-GPIO(DP_AUX_P, A, 6, GPIO_INPUT, NULL)
-GPIO(PD_SBU_ENABLE, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(USB_DM, A, 11, GPIO_ANALOG, NULL)
-GPIO(USB_DP, A, 12, GPIO_ANALOG, NULL)
-GPIO(PD_CC1_TX_EN, A, 15, GPIO_OUT_LOW, NULL)
+GPIO_INT(DP_HPD, A, 0, GPIO_INT_BOTH, hpd_event)
-GPIO(PD_DPSINK_PRESENT, B, 0, GPIO_INPUT, NULL)
-GPIO(PD_CC1_TX_DATA, B, 4, GPIO_OUT_LOW, NULL)
+GPIO(USB_C_CC1_PD, A, 1, GPIO_ANALOG)
+GPIO(STM_READY, A, 2, GPIO_OUT_LOW) /* factory test only */
+GPIO(PD_DAC_REF, A, 4, GPIO_ANALOG)
+GPIO(DP_AUX_N, A, 5, GPIO_INPUT)
+GPIO(DP_AUX_P, A, 6, GPIO_INPUT)
+
+GPIO(PD_SBU_ENABLE, A, 8, GPIO_OUT_LOW)
+GPIO(USB_DM, A, 11, GPIO_ANALOG)
+GPIO(USB_DP, A, 12, GPIO_ANALOG)
+GPIO(PD_CC1_TX_EN, A, 15, GPIO_OUT_LOW)
+
+GPIO(PD_DPSINK_PRESENT, B, 0, GPIO_INPUT)
+GPIO(PD_CC1_TX_DATA, B, 4, GPIO_OUT_LOW)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/discovery-stm32f072/gpio.inc b/board/discovery-stm32f072/gpio.inc
index 8c368c20b1..63735399f6 100644
--- a/board/discovery-stm32f072/gpio.inc
+++ b/board/discovery-stm32f072/gpio.inc
@@ -6,18 +6,18 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(USER_BUTTON, A, 0, GPIO_INT_FALLING, button_event)
+GPIO_INT(USER_BUTTON, A, 0, GPIO_INT_FALLING, button_event)
/* Outputs */
-GPIO(LED_U, C, 6, GPIO_OUT_LOW, NULL)
-GPIO(LED_D, C, 7, GPIO_OUT_LOW, NULL)
-GPIO(LED_L, C, 8, GPIO_OUT_LOW, NULL)
-GPIO(LED_R, C, 9, GPIO_OUT_LOW, NULL)
+GPIO(LED_U, C, 6, GPIO_OUT_LOW)
+GPIO(LED_D, C, 7, GPIO_OUT_LOW)
+GPIO(LED_L, C, 8, GPIO_OUT_LOW)
+GPIO(LED_R, C, 9, GPIO_OUT_LOW)
/* Flash SPI interface */
-GPIO(SPI_WP, C, 3, GPIO_OUT_HIGH, NULL)
-GPIO(SPI_HOLD, C, 4, GPIO_OUT_HIGH, NULL)
-GPIO(SPI_CS, B, 12, GPIO_OUT_HIGH, NULL)
+GPIO(SPI_WP, C, 3, GPIO_OUT_HIGH)
+GPIO(SPI_HOLD, C, 4, GPIO_OUT_HIGH)
+GPIO(SPI_CS, B, 12, GPIO_OUT_HIGH)
ALTERNATE(B, 0xE000, 0, MODULE_SPI_MASTER, 0)
diff --git a/board/discovery/gpio.inc b/board/discovery/gpio.inc
index 91e4d9587b..bce256bef8 100644
--- a/board/discovery/gpio.inc
+++ b/board/discovery/gpio.inc
@@ -6,11 +6,11 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(USER_BUTTON, A, 0, GPIO_INT_BOTH, button_event)
+GPIO_INT(USER_BUTTON, A, 0, GPIO_INT_BOTH, button_event)
/* Outputs */
-GPIO(LED_BLUE, B, 6, GPIO_OUT_LOW, NULL)
-GPIO(LED_GREEN, B, 7, GPIO_OUT_LOW, NULL)
+GPIO(LED_BLUE, B, 6, GPIO_OUT_LOW)
+GPIO(LED_GREEN, B, 7, GPIO_OUT_LOW)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/falco/gpio.inc b/board/falco/gpio.inc
index 3356c2ae83..ffb69242fb 100644
--- a/board/falco/gpio.inc
+++ b/board/falco/gpio.inc
@@ -6,86 +6,86 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
-GPIO(PCH_BKLTEN, M, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
-GPIO(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
-GPIO(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
-GPIO(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
-GPIO(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP1350_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.35V (DRAM) */
-GPIO(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
-GPIO(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(PCH_EDP_VDD_EN, J, 1, GPIO_INT_BOTH, lcdvcc_interrupt) /* PCH wants EDP enabled */
-GPIO(RECOVERY_L, A, 5, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
-GPIO(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
+GPIO_INT(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
+GPIO_INT(PCH_BKLTEN, M, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
+GPIO_INT(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
+GPIO_INT(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
+GPIO_INT(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP1350_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.35V (DRAM) */
+GPIO_INT(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
+GPIO_INT(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(PCH_EDP_VDD_EN, J, 1, GPIO_INT_BOTH, lcdvcc_interrupt) /* PCH wants EDP enabled */
+GPIO_INT(RECOVERY_L, A, 5, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
+GPIO_INT(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
+GPIO_INT(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
/* Other inputs */
-GPIO(FAN_ALERT_L, B, 0, GPIO_INPUT, NULL) /* From thermal sensor */
-GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, NULL) /* SUSWARN# signal from PCH */
-GPIO(USB1_OC_L, E, 7, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB2_OC_L, E, 0, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
-GPIO(CPU_PGOOD, C, 4, GPIO_INPUT, NULL) /* Power good to the CPU */
+GPIO(FAN_ALERT_L, B, 0, GPIO_INPUT) /* From thermal sensor */
+GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH) /* SUSWARN# signal from PCH */
+GPIO(USB1_OC_L, E, 7, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB2_OC_L, E, 0, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT) /* Board version stuffing resistor 3 */
+GPIO(CPU_PGOOD, C, 4, GPIO_INPUT) /* Power good to the CPU */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW, NULL) /* Enable 1.35V supply */
-GPIO(PP3300_DSW_GATED_EN, J, 3, GPIO_OUT_LOW, NULL) /* Enable DSW rails */
-GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW, NULL) /* Enable power to lots of peripherals */
-GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW, NULL) /* Stuffing option - not connected */
-GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(CHARGE_L, E, 6, GPIO_OUT_LOW, NULL) /* Allow battery to charge when on AC */
+GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW) /* Enable 1.35V supply */
+GPIO(PP3300_DSW_GATED_EN, J, 3, GPIO_OUT_LOW) /* Enable DSW rails */
+GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW) /* Enable power to lots of peripherals */
+GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW) /* Stuffing option - not connected */
+GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(CHARGE_L, E, 6, GPIO_OUT_LOW) /* Allow battery to charge when on AC */
-GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW, NULL) /* Indicate when VccDSW is good */
+GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW) /* Indicate when VccDSW is good */
/*
* HDA_SDO is technically an output, but we need to leave it as an
* input until we drive it high. So can't use open-drain (HI_Z).
*/
-GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT, NULL) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PCH_NMI_L, F, 2, GPIO_OUT_HIGH, NULL) /* Non-maskable interrupt pin to PCH */
-GPIO(PCH_PWRBTN_L, H, 0, GPIO_OUT_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* PWROK / APWROK signals to PCH */
+GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH) /* Wake signal from EC to PCH */
+GPIO(PCH_NMI_L, F, 2, GPIO_OUT_HIGH) /* Non-maskable interrupt pin to PCH */
+GPIO(PCH_PWRBTN_L, H, 0, GPIO_OUT_HIGH) /* Power button output to PCH */
+GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW) /* PWROK / APWROK signals to PCH */
/*
* PL6 is one of 4 pins on the EC which can't be used in open-drain
* mode. To work around this PCH_RCIN_L is set to an input. It will
* only be set to an output when it needs to be driven to 0.
*/
-GPIO(PCH_RCIN_L, L, 6, GPIO_INPUT, NULL) /* RCIN# line to PCH (for 8042 emulation) */
-GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW, NULL) /* Reset touch screen */
-GPIO(EC_EDP_VDD_EN, J, 5, GPIO_OUT_LOW, NULL) /* Enable EDP (passthru from PCH) */
+GPIO(PCH_RCIN_L, L, 6, GPIO_INPUT) /* RCIN# line to PCH (for 8042 emulation) */
+GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW) /* Reset touch screen */
+GPIO(EC_EDP_VDD_EN, J, 5, GPIO_OUT_LOW) /* Enable EDP (passthru from PCH) */
-GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH, NULL) /* Dunno. Probably important, though. */
-GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW, NULL) /* USB port 1 output power enable */
-GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW, NULL) /* USB port 2 output power enable */
+GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH) /* Dunno. Probably important, though. */
+GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW) /* USB port 1 output power enable */
+GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW) /* USB port 2 output power enable */
-GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH, NULL) /* Acknowledge PCH SUSWARN# signal */
-GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH, NULL) /* Not supposed to be here */
-GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH, NULL) /* Not supposed to be here */
+GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH) /* Acknowledge PCH SUSWARN# signal */
+GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH) /* Not supposed to be here */
+GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH) /* Not supposed to be here */
-GPIO(PWR_LED_L, N, 6, GPIO_OUT_HIGH, NULL) /* Power LED */
-GPIO(KB_LED_EN, D, 4, GPIO_OUT_LOW, NULL) /* Keyboard LED */
-GPIO(BAT_LED0, D, 0, GPIO_OUT_LOW, NULL) /* Battery charger status */
-GPIO(BAT_LED1, D, 1, GPIO_OUT_LOW, NULL) /* Battery charger status */
+GPIO(PWR_LED_L, N, 6, GPIO_OUT_HIGH) /* Power LED */
+GPIO(KB_LED_EN, D, 4, GPIO_OUT_LOW) /* Keyboard LED */
+GPIO(BAT_LED0, D, 0, GPIO_OUT_LOW) /* Battery charger status */
+GPIO(BAT_LED1, D, 1, GPIO_OUT_LOW) /* Battery charger status */
ALTERNATE(A, 0x03, 1, MODULE_UART, GPIO_PULL_UP) /* UART0 */
ALTERNATE(A, 0x40, 3, MODULE_I2C, 0) /* I2C1 SCL */
diff --git a/board/firefly/gpio.inc b/board/firefly/gpio.inc
index 49863406c0..f408933962 100644
--- a/board/firefly/gpio.inc
+++ b/board/firefly/gpio.inc
@@ -6,55 +6,55 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(VBUS_WAKE, C, 13, GPIO_INT_BOTH, vbus_event)
+GPIO_INT(VBUS_WAKE, C, 13, GPIO_INT_BOTH, vbus_event)
/* Buttons */
-GPIO(SW_PP20000, B, 10, GPIO_INT_FALLING, button_event)
-GPIO(SW_PP12000, B, 11, GPIO_INT_FALLING, button_event)
-GPIO(SW_PP5000, B, 12, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_PP20000, B, 10, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_PP12000, B, 11, GPIO_INT_FALLING, button_event)
+GPIO_INT(SW_PP5000, B, 12, GPIO_INT_FALLING, button_event)
/* PD RX/TX */
-GPIO(USB_CC1_PD, A, 0, GPIO_ANALOG, NULL)
-GPIO(PD_REF1, A, 1, GPIO_ANALOG, NULL)
-GPIO(USB_CC2_PD, A, 2, GPIO_ANALOG, NULL)
-GPIO(PD_REF2, A, 3, GPIO_ANALOG, NULL)
-GPIO(PD_CC1_TX_EN, A, 4, GPIO_ODR_HIGH, NULL)
-GPIO(PD_CC2_TX_EN, A, 15, GPIO_ODR_HIGH, NULL)
-GPIO(PD_CLK_OUT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(PD_CC1_TX_DATA, A, 6, GPIO_INPUT, NULL)
-GPIO(PD_CC2_TX_DATA, B, 4, GPIO_INPUT, NULL)
-GPIO(PD_CLK_IN, B, 3, GPIO_INPUT, NULL)
+GPIO(USB_CC1_PD, A, 0, GPIO_ANALOG)
+GPIO(PD_REF1, A, 1, GPIO_ANALOG)
+GPIO(USB_CC2_PD, A, 2, GPIO_ANALOG)
+GPIO(PD_REF2, A, 3, GPIO_ANALOG)
+GPIO(PD_CC1_TX_EN, A, 4, GPIO_ODR_HIGH)
+GPIO(PD_CC2_TX_EN, A, 15, GPIO_ODR_HIGH)
+GPIO(PD_CLK_OUT, B, 9, GPIO_OUT_LOW)
+GPIO(PD_CC1_TX_DATA, A, 6, GPIO_INPUT)
+GPIO(PD_CC2_TX_DATA, B, 4, GPIO_INPUT)
+GPIO(PD_CLK_IN, B, 3, GPIO_INPUT)
/* CCx device pull-downs */
-GPIO(PD_CC1_DEVICE, B, 13, GPIO_ODR_LOW, NULL)
-GPIO(PD_CC2_DEVICE, B, 14, GPIO_ODR_LOW, NULL)
+GPIO(PD_CC1_DEVICE, B, 13, GPIO_ODR_LOW)
+GPIO(PD_CC2_DEVICE, B, 14, GPIO_ODR_LOW)
/* ADC */
-GPIO(VBUS_SENSE, A, 5, GPIO_ANALOG, NULL)
+GPIO(VBUS_SENSE, A, 5, GPIO_ANALOG)
/* LEDs control */
-GPIO(LED_PP20000, B, 0, GPIO_OUT_LOW, NULL)
-GPIO(LED_PP12000, B, 1, GPIO_OUT_LOW, NULL)
-GPIO(LED_PP5000, B, 2, GPIO_OUT_LOW, NULL)
+GPIO(LED_PP20000, B, 0, GPIO_OUT_LOW)
+GPIO(LED_PP12000, B, 1, GPIO_OUT_LOW)
+GPIO(LED_PP5000, B, 2, GPIO_OUT_LOW)
/* Slave I2C port */
-GPIO(I2C_INT_L, B, 8, GPIO_ODR_HIGH, NULL)
+GPIO(I2C_INT_L, B, 8, GPIO_ODR_HIGH)
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(I2C_SDA, B, 7, GPIO_INPUT, NULL)
+GPIO(I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(I2C_SDA, B, 7, GPIO_INPUT)
/* Test points */
-GPIO(TP_A8, A, 8, GPIO_ODR_HIGH, NULL)
-GPIO(TP_A13, A, 13, GPIO_ODR_HIGH, NULL)
-GPIO(TP_A14, A, 14, GPIO_ODR_HIGH, NULL)
-GPIO(TP_B15, B, 15, GPIO_ODR_HIGH, NULL)
-GPIO(TP_C14, C, 14, GPIO_ODR_HIGH, NULL)
-GPIO(TP_C15, C, 15, GPIO_ODR_HIGH, NULL)
-GPIO(TP_F0, F, 0, GPIO_ODR_HIGH, NULL)
-GPIO(TP_F1, F, 1, GPIO_ODR_HIGH, NULL)
+GPIO(TP_A8, A, 8, GPIO_ODR_HIGH)
+GPIO(TP_A13, A, 13, GPIO_ODR_HIGH)
+GPIO(TP_A14, A, 14, GPIO_ODR_HIGH)
+GPIO(TP_B15, B, 15, GPIO_ODR_HIGH)
+GPIO(TP_C14, C, 14, GPIO_ODR_HIGH)
+GPIO(TP_C15, C, 15, GPIO_ODR_HIGH)
+GPIO(TP_F0, F, 0, GPIO_ODR_HIGH)
+GPIO(TP_F1, F, 1, GPIO_ODR_HIGH)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/fruitpie/gpio.inc b/board/fruitpie/gpio.inc
index a3bd4dca38..bdbefc70ae 100644
--- a/board/fruitpie/gpio.inc
+++ b/board/fruitpie/gpio.inc
@@ -5,63 +5,63 @@
* found in the LICENSE file.
*/
-GPIO(VBUS_WAKE, B, 5, GPIO_INT_BOTH, vbus_event)
-GPIO(MASTER_I2C_INT_L, C, 13, GPIO_INT_FALLING, tsu_event)
-GPIO(ALERT_L, A, 2, GPIO_INT_FALLING, rohm_event)
+GPIO_INT(VBUS_WAKE, B, 5, GPIO_INT_BOTH, vbus_event)
+GPIO_INT(MASTER_I2C_INT_L, C, 13, GPIO_INT_FALLING, tsu_event)
+GPIO_INT(ALERT_L, A, 2, GPIO_INT_FALLING, rohm_event)
/* PD RX/TX */
-GPIO(USB_CC1_PD, A, 0, GPIO_ANALOG, NULL)
-GPIO(PD_REF1, A, 1, GPIO_ANALOG, NULL)
-GPIO(PD_REF2, A, 3, GPIO_ANALOG, NULL)
-GPIO(USB_CC2_PD, A, 4, GPIO_ANALOG, NULL)
-GPIO(PD_CLK_OUT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(PD_TX_EN, B, 12, GPIO_OUT_LOW, NULL)
-GPIO(PD_TX_DATA, B, 14, GPIO_OUT_LOW, NULL)
+GPIO(USB_CC1_PD, A, 0, GPIO_ANALOG)
+GPIO(PD_REF1, A, 1, GPIO_ANALOG)
+GPIO(PD_REF2, A, 3, GPIO_ANALOG)
+GPIO(USB_CC2_PD, A, 4, GPIO_ANALOG)
+GPIO(PD_CLK_OUT, B, 9, GPIO_OUT_LOW)
+GPIO(PD_TX_EN, B, 12, GPIO_OUT_LOW)
+GPIO(PD_TX_DATA, B, 14, GPIO_OUT_LOW)
#if 0
-GPIO(PD_CLK_IN, B, 13, GPIO_OUT_LOW, NULL)
+GPIO(PD_CLK_IN, B, 13, GPIO_OUT_LOW)
#endif
/* Power and muxes control */
-GPIO(PP5000_EN, A, 5, GPIO_OUT_HIGH, NULL)
-GPIO(CC_HOST, A, 6, GPIO_OUT_LOW, NULL)
-GPIO(CHARGE_EN_L, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(USB_C_5V_EN, A, 10, GPIO_OUT_LOW, NULL)
-GPIO(VCONN1_EN, B, 15, GPIO_OUT_LOW, NULL)
-GPIO(VCONN2_EN, C, 14, GPIO_OUT_LOW, NULL)
-GPIO(SS1_EN_L, A, 9, GPIO_OUT_HIGH, NULL)
-GPIO(SS2_EN_L, B, 4, GPIO_OUT_HIGH, NULL)
-GPIO(SS2_USB_MODE_L, B, 3, GPIO_OUT_HIGH, NULL)
-GPIO(SS1_USB_MODE_L, B, 8, GPIO_OUT_HIGH, NULL)
-GPIO(DP_MODE, C, 15, GPIO_OUT_LOW, NULL)
-GPIO(DP_POLARITY_L, A, 7, GPIO_OUT_HIGH, NULL)
+GPIO(PP5000_EN, A, 5, GPIO_OUT_HIGH)
+GPIO(CC_HOST, A, 6, GPIO_OUT_LOW)
+GPIO(CHARGE_EN_L, A, 8, GPIO_OUT_LOW)
+GPIO(USB_C_5V_EN, A, 10, GPIO_OUT_LOW)
+GPIO(VCONN1_EN, B, 15, GPIO_OUT_LOW)
+GPIO(VCONN2_EN, C, 14, GPIO_OUT_LOW)
+GPIO(SS1_EN_L, A, 9, GPIO_OUT_HIGH)
+GPIO(SS2_EN_L, B, 4, GPIO_OUT_HIGH)
+GPIO(SS2_USB_MODE_L, B, 3, GPIO_OUT_HIGH)
+GPIO(SS1_USB_MODE_L, B, 8, GPIO_OUT_HIGH)
+GPIO(DP_MODE, C, 15, GPIO_OUT_LOW)
+GPIO(DP_POLARITY_L, A, 7, GPIO_OUT_HIGH)
/* Not used : no host on that bus */
-GPIO(SLAVE_I2C_INT_L, B, 2, GPIO_ODR_HIGH, NULL)
+GPIO(SLAVE_I2C_INT_L, B, 2, GPIO_ODR_HIGH)
/* Alternate functions */
#if 0
-GPIO(USB_DM, A, 11, GPIO_ANALOG, NULL)
-GPIO(USB_DP, A, 12, GPIO_ANALOG, NULL)
-GPIO(UART_TX, A, 14, GPIO_OUT_LOW, NULL)
-GPIO(UART_RX, A, 15, GPIO_OUT_LOW, NULL)
+GPIO(USB_DM, A, 11, GPIO_ANALOG)
+GPIO(USB_DP, A, 12, GPIO_ANALOG)
+GPIO(UART_TX, A, 14, GPIO_OUT_LOW)
+GPIO(UART_RX, A, 15, GPIO_OUT_LOW)
#endif
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SCL, B, 10, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 11, GPIO_INPUT, NULL)
+GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT)
+GPIO(MASTER_I2C_SCL, B, 10, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 11, GPIO_INPUT)
/* Rohm BD92104 connections */
-GPIO(USBPD_RST, B, 0, GPIO_OUT_LOW, NULL)
-GPIO(USBPD_FORCE_OTG, B, 1, GPIO_OUT_LOW, NULL)
-GPIO(USBPD_VIN_EN_L, F, 0, GPIO_OUT_HIGH, NULL)
+GPIO(USBPD_RST, B, 0, GPIO_OUT_LOW)
+GPIO(USBPD_FORCE_OTG, B, 1, GPIO_OUT_LOW)
+GPIO(USBPD_VIN_EN_L, F, 0, GPIO_OUT_HIGH)
/* Test points */
-GPIO(TP9, A, 13, GPIO_ODR_HIGH, NULL)
-GPIO(TP11, F, 1, GPIO_ODR_HIGH, NULL)
+GPIO(TP9, A, 13, GPIO_ODR_HIGH)
+GPIO(TP11, F, 1, GPIO_ODR_HIGH)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/glower/gpio.inc b/board/glower/gpio.inc
index 6c57bdb776..5da064b9de 100644
--- a/board/glower/gpio.inc
+++ b/board/glower/gpio.inc
@@ -6,73 +6,73 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, PORT(20), 3, GPIO_INT_BOTH, power_button_interrupt)
-GPIO(LID_OPEN, PORT(16), 0, GPIO_INT_BOTH, lid_interrupt)
-GPIO(AC_PRESENT, PORT(16), 3, GPIO_INT_BOTH, extpower_interrupt)
-GPIO(PCH_SLP_S3_L, PORT(20), 4, GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S4_L, PORT(21), 0, GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO(PP1050_PGOOD, PORT(13), 3, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP3300_PCH_PGOOD, PORT(4), 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 3.3V (PCH supply) */
-GPIO(PP5000_PGOOD, PORT(3), 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
-GPIO(S5_PGOOD, PORT(6), 2, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on S5 supplies */
-GPIO(VCORE_PGOOD, PORT(5), 7, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(WP_L, PORT(1), 2, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(POWER_BUTTON_L, PORT(20), 3, GPIO_INT_BOTH, power_button_interrupt)
+GPIO_INT(LID_OPEN, PORT(16), 0, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(AC_PRESENT, PORT(16), 3, GPIO_INT_BOTH, extpower_interrupt)
+GPIO_INT(PCH_SLP_S3_L, PORT(20), 4, GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S4_L, PORT(21), 0, GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
+GPIO_INT(PP1050_PGOOD, PORT(13), 3, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP3300_PCH_PGOOD, PORT(4), 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 3.3V (PCH supply) */
+GPIO_INT(PP5000_PGOOD, PORT(3), 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
+GPIO_INT(S5_PGOOD, PORT(6), 2, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on S5 supplies */
+GPIO_INT(VCORE_PGOOD, PORT(5), 7, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(WP_L, PORT(1), 2, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
/* Other inputs */
-GPIO(BOARD_VERSION1, PORT(0), 6, GPIO_INPUT, NULL)
-GPIO(BOARD_VERSION2, PORT(12), 3, GPIO_INPUT, NULL)
-GPIO(BOARD_VERSION3, PORT(12), 7, GPIO_INPUT, NULL)
+GPIO(BOARD_VERSION1, PORT(0), 6, GPIO_INPUT)
+GPIO(BOARD_VERSION2, PORT(12), 3, GPIO_INPUT)
+GPIO(BOARD_VERSION3, PORT(12), 7, GPIO_INPUT)
#ifdef CONFIG_CHIPSET_DEBUG
-GPIO(PCH_SLP_SX_L, PORT(21), 1, GPIO_INPUT | GPIO_PULL_UP, NULL)
-GPIO(PCH_SUS_STAT_L, PORT(20), 1, GPIO_INPUT | GPIO_PULL_UP, NULL)
-GPIO(PCH_SUSPWRDNACK, PORT(4), 6, GPIO_INPUT | GPIO_PULL_UP, NULL)
+GPIO(PCH_SLP_SX_L, PORT(21), 1, GPIO_INPUT | GPIO_PULL_UP)
+GPIO(PCH_SUS_STAT_L, PORT(20), 1, GPIO_INPUT | GPIO_PULL_UP)
+GPIO(PCH_SUSPWRDNACK, PORT(4), 6, GPIO_INPUT | GPIO_PULL_UP)
#endif
-GPIO(PP1000_S0IX_PGOOD, PORT(3), 5, GPIO_INPUT, NULL)
-GPIO(USB1_OC_L, PORT(13), 4, GPIO_INPUT, NULL)
-GPIO(USB2_OC_L, PORT(1), 6, GPIO_INPUT, NULL)
+GPIO(PP1000_S0IX_PGOOD, PORT(3), 5, GPIO_INPUT)
+GPIO(USB1_OC_L, PORT(13), 4, GPIO_INPUT)
+GPIO(USB2_OC_L, PORT(1), 6, GPIO_INPUT)
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, PORT(14), 5, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(ENABLE_BACKLIGHT, PORT(20), 0, GPIO_ODR_HIGH, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, PORT(6), 4, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, PORT(3), 3, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(LPC_CLKRUN_L, PORT(1), 4, GPIO_ODR_HIGH, NULL) /* Request that PCH drive LPC clock */
-GPIO(PCH_CORE_PWROK, PORT(12), 2, GPIO_OUT_LOW, NULL) /* Indicate core well power is stable */
-GPIO(PCH_PWRBTN_L, PORT(13), 0, GPIO_ODR_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_RCIN_L, PORT(14), 0, GPIO_ODR_HIGH, NULL) /* Reset line to PCH (for 8042 emulation) */
-GPIO(PCH_RSMRST_L, PORT(14), 3, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, PORT(5), 5, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(PCH_SOC_OVERRIDE_L, PORT(6), 5, GPIO_OUT_LOW, NULL) /* SOC override signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_SYS_PWROK, PORT(12), 4, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(PCH_WAKE_L, PORT(20), 2, GPIO_ODR_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PP1350_EN, PORT(14), 7, GPIO_OUT_LOW, NULL) /* Enable 1.35V supply */
-GPIO(PP3300_DX_EN, PORT(5), 0, GPIO_OUT_LOW, NULL) /* Enable power to lots of peripherals */
-GPIO(PP3300_LTE_EN, PORT(1), 1, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, PORT(4), 7, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(PP5000_EN, PORT(2), 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(PPSX_EN, PORT(5), 3, GPIO_INPUT, NULL) /* Enable PP1350_PCH_SX, PP1000_PCH_SX */
-GPIO(SUSP_VR_EN, PORT(6), 6, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(TOUCHSCREEN_RESET_L, PORT(16), 1, GPIO_OUT_HIGH, NULL) /* Reset touch screen */
-GPIO(USB_CTL1, PORT(15), 7, GPIO_OUT_LOW, NULL) /* USB control signal 1 to both ports */
-GPIO(USB_ILIM_SEL, PORT(3), 6, GPIO_OUT_LOW, NULL) /* USB current limit to both ports */
-GPIO(USB1_ENABLE, PORT(1), 5, GPIO_OUT_LOW, NULL) /* USB port 1 output power enable */
-GPIO(USB2_ENABLE, PORT(1), 7, GPIO_OUT_LOW, NULL) /* USB port 2 output power enable */
-GPIO(VCORE_EN, PORT(15), 0, GPIO_OUT_LOW, NULL) /* Enable core power supplies */
-GPIO(WLAN_OFF_L, PORT(5), 2, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(KBD_IRQ_L, PORT(6), 7, GPIO_ODR_HIGH, NULL) /* Negative edge triggered irq. */
-GPIO(BAT_LED0, PORT(15), 4, GPIO_ODR_HIGH, NULL)
-GPIO(BAT_LED1, PORT(15), 5, GPIO_ODR_HIGH, NULL)
-GPIO(KBD_KSO2, PORT(10), 1, GPIO_OUT_LOW, NULL)
+GPIO(CPU_PROCHOT, PORT(14), 5, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(ENABLE_BACKLIGHT, PORT(20), 0, GPIO_ODR_HIGH) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, PORT(6), 4, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, PORT(3), 3, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(LPC_CLKRUN_L, PORT(1), 4, GPIO_ODR_HIGH) /* Request that PCH drive LPC clock */
+GPIO(PCH_CORE_PWROK, PORT(12), 2, GPIO_OUT_LOW) /* Indicate core well power is stable */
+GPIO(PCH_PWRBTN_L, PORT(13), 0, GPIO_ODR_HIGH) /* Power button output to PCH */
+GPIO(PCH_RCIN_L, PORT(14), 0, GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
+GPIO(PCH_RSMRST_L, PORT(14), 3, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, PORT(5), 5, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(PCH_SOC_OVERRIDE_L, PORT(6), 5, GPIO_OUT_LOW) /* SOC override signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_SYS_PWROK, PORT(12), 4, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(PCH_WAKE_L, PORT(20), 2, GPIO_ODR_HIGH) /* Wake signal from EC to PCH */
+GPIO(PP1350_EN, PORT(14), 7, GPIO_OUT_LOW) /* Enable 1.35V supply */
+GPIO(PP3300_DX_EN, PORT(5), 0, GPIO_OUT_LOW) /* Enable power to lots of peripherals */
+GPIO(PP3300_LTE_EN, PORT(1), 1, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, PORT(4), 7, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(PP5000_EN, PORT(2), 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(PPSX_EN, PORT(5), 3, GPIO_INPUT) /* Enable PP1350_PCH_SX, PP1000_PCH_SX */
+GPIO(SUSP_VR_EN, PORT(6), 6, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(TOUCHSCREEN_RESET_L, PORT(16), 1, GPIO_OUT_HIGH) /* Reset touch screen */
+GPIO(USB_CTL1, PORT(15), 7, GPIO_OUT_LOW) /* USB control signal 1 to both ports */
+GPIO(USB_ILIM_SEL, PORT(3), 6, GPIO_OUT_LOW) /* USB current limit to both ports */
+GPIO(USB1_ENABLE, PORT(1), 5, GPIO_OUT_LOW) /* USB port 1 output power enable */
+GPIO(USB2_ENABLE, PORT(1), 7, GPIO_OUT_LOW) /* USB port 2 output power enable */
+GPIO(VCORE_EN, PORT(15), 0, GPIO_OUT_LOW) /* Enable core power supplies */
+GPIO(WLAN_OFF_L, PORT(5), 2, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(KBD_IRQ_L, PORT(6), 7, GPIO_ODR_HIGH) /* Negative edge triggered irq. */
+GPIO(BAT_LED0, PORT(15), 4, GPIO_ODR_HIGH)
+GPIO(BAT_LED1, PORT(15), 5, GPIO_ODR_HIGH)
+GPIO(KBD_KSO2, PORT(10), 1, GPIO_OUT_LOW)
-GPIO(SYS_RST_L, PORT(12), 1, GPIO_INPUT, NULL)
-GPIO(EC_HIB, PORT(3), 4, GPIO_INPUT, NULL)
-GPIO(ICMNT, PORT(6), 1, GPIO_INPUT, NULL)
-GPIO(PVT_CS0, PORT(14), 6, GPIO_ODR_HIGH, NULL)
+GPIO(SYS_RST_L, PORT(12), 1, GPIO_INPUT)
+GPIO(EC_HIB, PORT(3), 4, GPIO_INPUT)
+GPIO(ICMNT, PORT(6), 1, GPIO_INPUT)
+GPIO(PVT_CS0, PORT(14), 6, GPIO_ODR_HIGH)
/* Configure VCC_PWRGD as GPIO so that it's internally gated high */
-GPIO(TP78, PORT(6), 3, GPIO_OUT_HIGH, NULL)
+GPIO(TP78, PORT(6), 3, GPIO_OUT_HIGH)
ALTERNATE(PORT(16), 0x24, 1, MODULE_UART, 0) /* UART0 */
diff --git a/board/hadoken/gpio.inc b/board/hadoken/gpio.inc
index 009953bf93..26e8a0fd76 100644
--- a/board/hadoken/gpio.inc
+++ b/board/hadoken/gpio.inc
@@ -14,44 +14,44 @@
/*
* TODO(yjlou): call keyboard_raw_gpio_interrupt() in chip/nrf51/keyboard_raw.c
*/
-GPIO(KB_IN00, 0, 6, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN01, 0, 24, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN02, 0, 1, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN03, 0, 4, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN04, 0, 0, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN05, 0, 30, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN06, 0, 27, GPIO_KB_INPUT, NULL)
-GPIO(KB_IN07, 0, 26, GPIO_KB_INPUT, NULL)
+GPIO(KB_IN00, 0, 6, GPIO_KB_INPUT)
+GPIO(KB_IN01, 0, 24, GPIO_KB_INPUT)
+GPIO(KB_IN02, 0, 1, GPIO_KB_INPUT)
+GPIO(KB_IN03, 0, 4, GPIO_KB_INPUT)
+GPIO(KB_IN04, 0, 0, GPIO_KB_INPUT)
+GPIO(KB_IN05, 0, 30, GPIO_KB_INPUT)
+GPIO(KB_IN06, 0, 27, GPIO_KB_INPUT)
+GPIO(KB_IN07, 0, 26, GPIO_KB_INPUT)
/* Other inputs */
-GPIO(MCU_GPIO_13, 0, 13, GPIO_INPUT, NULL) /* PAIR on the debug board */
-GPIO(MCU_GPIO_14, 0, 14, GPIO_INPUT, NULL) /* TP 4 */
-GPIO(MCU_GPIO_17, 0, 17, GPIO_INPUT, NULL) /* TP 5 */
-GPIO(MCU_GPIO_19, 0, 19, GPIO_INPUT, NULL) /* TP 6 */
-GPIO(BQ27621_GPOUT, 0, 20, GPIO_INPUT, NULL) /* Fuel Gauge */
-GPIO(LID_PRESENT_L, 0, 31, GPIO_INPUT, NULL) /* Hall sensor */
+GPIO(MCU_GPIO_13, 0, 13, GPIO_INPUT) /* PAIR on the debug board */
+GPIO(MCU_GPIO_14, 0, 14, GPIO_INPUT) /* TP 4 */
+GPIO(MCU_GPIO_17, 0, 17, GPIO_INPUT) /* TP 5 */
+GPIO(MCU_GPIO_19, 0, 19, GPIO_INPUT) /* TP 6 */
+GPIO(BQ27621_GPOUT, 0, 20, GPIO_INPUT) /* Fuel Gauge */
+GPIO(LID_PRESENT_L, 0, 31, GPIO_INPUT) /* Hall sensor */
/* Will be an output at some point */
-GPIO(IND_CHRG_DISABLE, 0, 21, GPIO_INPUT, NULL) /* Control for charging */
+GPIO(IND_CHRG_DISABLE, 0, 21, GPIO_INPUT) /* Control for charging */
/* Outputs */
-GPIO(KB_OUT00, 0, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, 0, 10, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, 0, 7, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, 0, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, 0, 3, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, 0, 9, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, 0, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, 0, 28, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, 0, 18, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, 0, 16, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, 0, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, 0, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, 0, 11, GPIO_KB_OUTPUT, NULL)
+GPIO(KB_OUT00, 0, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, 0, 10, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, 0, 7, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, 0, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, 0, 3, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, 0, 9, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, 0, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, 0, 28, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, 0, 18, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, 0, 16, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, 0, 12, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, 0, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, 0, 11, GPIO_KB_OUTPUT)
/* Configure the TWI (I2C) interface in the init function. */
-GPIO(MCU_SCL, 0, 23, GPIO_INPUT | GPIO_PULL_UP | GPIO_OPEN_DRAIN, NULL)
-GPIO(MCU_SDA, 0, 22, GPIO_INPUT | GPIO_PULL_UP | GPIO_OPEN_DRAIN, NULL)
+GPIO(MCU_SCL, 0, 23, GPIO_INPUT | GPIO_PULL_UP | GPIO_OPEN_DRAIN)
+GPIO(MCU_SDA, 0, 22, GPIO_INPUT | GPIO_PULL_UP | GPIO_OPEN_DRAIN)
/* Use port 0 for I2C (TWI0), Pins 22 & 23 */
ALTERNATE(0, 0x800000, NRF51_TWI0_ALT_FUNC_SCL, MODULE_I2C, GPIO_INPUT | GPIO_PULL_UP | GPIO_OPEN_DRAIN)
diff --git a/board/hoho/gpio.inc b/board/hoho/gpio.inc
index 4bd01192a3..72c8b93b22 100644
--- a/board/hoho/gpio.inc
+++ b/board/hoho/gpio.inc
@@ -4,23 +4,25 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-GPIO(DP_HPD, A, 0, GPIO_INT_BOTH, hpd_event)
-GPIO(USB_C_CC1_PD, A, 1, GPIO_ANALOG, NULL)
-GPIO(STM_READY, A, 2, GPIO_OUT_LOW, NULL) /* factory test only */
-GPIO(MCDP_RESET_L, A, 3, GPIO_OUT_HIGH, NULL)
-GPIO(PD_DAC_REF, A, 4, GPIO_ANALOG, NULL)
-GPIO(MCDP_READY, A, 7, GPIO_OUT_LOW, NULL) /* factory test only */
-GPIO(PD_SBU_ENABLE, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(USB_DM, A, 11, GPIO_ANALOG, NULL)
-GPIO(USB_DP, A, 12, GPIO_ANALOG, NULL)
-GPIO(PD_CC1_TX_EN, A, 15, GPIO_OUT_LOW, NULL)
+GPIO_INT(DP_HPD, A, 0, GPIO_INT_BOTH, hpd_event)
-GPIO(MCDP_GPIO1, B, 0, GPIO_INPUT, NULL)
-GPIO(MCDP_CONFIG1, B, 1, GPIO_INPUT, NULL)
-GPIO(PD_MCDP_SPI_WP_L, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(PD_CC1_TX_DATA, B, 4, GPIO_OUT_LOW, NULL)
-GPIO(PD_MCDP_SPI_CS_L, B, 12, GPIO_INPUT, NULL)
+GPIO(USB_C_CC1_PD, A, 1, GPIO_ANALOG)
+GPIO(STM_READY, A, 2, GPIO_OUT_LOW) /* factory test only */
+GPIO(MCDP_RESET_L, A, 3, GPIO_OUT_HIGH)
+GPIO(PD_DAC_REF, A, 4, GPIO_ANALOG)
+
+GPIO(MCDP_READY, A, 7, GPIO_OUT_LOW) /* factory test only */
+GPIO(PD_SBU_ENABLE, A, 8, GPIO_OUT_LOW)
+GPIO(USB_DM, A, 11, GPIO_ANALOG)
+GPIO(USB_DP, A, 12, GPIO_ANALOG)
+GPIO(PD_CC1_TX_EN, A, 15, GPIO_OUT_LOW)
+
+GPIO(MCDP_GPIO1, B, 0, GPIO_INPUT)
+GPIO(MCDP_CONFIG1, B, 1, GPIO_INPUT)
+GPIO(PD_MCDP_SPI_WP_L, B, 2, GPIO_OUT_LOW)
+GPIO(PD_CC1_TX_DATA, B, 4, GPIO_OUT_LOW)
+GPIO(PD_MCDP_SPI_CS_L, B, 12, GPIO_INPUT)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/honeybuns/gpio.inc b/board/honeybuns/gpio.inc
index e61972a6a3..553ab618fc 100644
--- a/board/honeybuns/gpio.inc
+++ b/board/honeybuns/gpio.inc
@@ -5,42 +5,42 @@
* found in the LICENSE file.
*/
-/*GPIO(DP_HPD, A, 0, GPIO_INT_BOTH, hpd_event)*/
-GPIO(DP_HPD, A, 0, GPIO_INPUT, NULL)
+/*GPIO_INT(DP_HPD, A, 0, GPIO_INT_BOTH, hpd_event)*/
+GPIO(DP_HPD, A, 0, GPIO_INPUT)
/* PD RX/TX */
-GPIO(USB_CC1_PD, A, 1, GPIO_ANALOG, NULL)
-GPIO(PD_VBUS_P, A, 5, GPIO_ANALOG, NULL)
-GPIO(PD_VBUS_N, A, 6, GPIO_ANALOG, NULL)
-GPIO(PD_TX_EN, A, 15, GPIO_OUT_LOW, NULL)
-GPIO(PD_TX_DATA, B, 4, GPIO_OUT_LOW, NULL)
+GPIO(USB_CC1_PD, A, 1, GPIO_ANALOG)
+GPIO(PD_VBUS_P, A, 5, GPIO_ANALOG)
+GPIO(PD_VBUS_N, A, 6, GPIO_ANALOG)
+GPIO(PD_TX_EN, A, 15, GPIO_OUT_LOW)
+GPIO(PD_TX_DATA, B, 4, GPIO_OUT_LOW)
/* Power and muxes control */
-GPIO(PP20000_EN, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(PPVAR_VBUS_EN, B, 12, GPIO_OUT_LOW, NULL)
-GPIO(SS_MUX_OE_L, B, 13, GPIO_OUT_HIGH, NULL)
-GPIO(SS_MUX_SEL, B, 14, GPIO_OUT_LOW, NULL)
+GPIO(PP20000_EN, A, 8, GPIO_OUT_LOW)
+GPIO(PPVAR_VBUS_EN, B, 12, GPIO_OUT_LOW)
+GPIO(SS_MUX_OE_L, B, 13, GPIO_OUT_HIGH)
+GPIO(SS_MUX_SEL, B, 14, GPIO_OUT_LOW)
/* Display Port/HDMI */
-GPIO(PD_SBU_ENABLE, A, 7, GPIO_OUT_LOW, NULL)
+GPIO(PD_SBU_ENABLE, A, 7, GPIO_OUT_LOW)
/* Chip Resets */
-GPIO(BRIDGE_RESET_L, B, 0, GPIO_OUT_HIGH, NULL)
-GPIO(SPLITTER_RESET_L, B, 1, GPIO_OUT_HIGH, NULL)
-GPIO(HUB_RESET_L, B, 15, GPIO_OUT_HIGH, NULL)
+GPIO(BRIDGE_RESET_L, B, 0, GPIO_OUT_HIGH)
+GPIO(SPLITTER_RESET_L, B, 1, GPIO_OUT_HIGH)
+GPIO(HUB_RESET_L, B, 15, GPIO_OUT_HIGH)
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(MASTER_I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 7, GPIO_INPUT, NULL)
+GPIO(MASTER_I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 7, GPIO_INPUT)
/* Test points */
-GPIO(TP6, A, 13, GPIO_OUT_HIGH /*GPIO_ODR_HIGH*/, NULL)
-GPIO(TP7, A, 14, GPIO_OUT_LOW /*GPIO_ODR_HIGH*/, NULL)
+GPIO(TP6, A, 13, GPIO_OUT_HIGH /*GPIO_ODR_HIGH*/)
+GPIO(TP7, A, 14, GPIO_OUT_LOW /*GPIO_ODR_HIGH*/)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
@@ -52,4 +52,3 @@ ALTERNATE(A, 0x0600, 1, MODULE_UART, GPIO_PULL_UP) /* USART1: PA9/PA10 */
ALTERNATE(A, 0x000C, 1, MODULE_UART, GPIO_PULL_UP) /* USART2: PA2/PA3 */
ALTERNATE(B, 0x0C00, 4, MODULE_UART, GPIO_PULL_UP) /* USART3: PB10/PB11 */
ALTERNATE(B, 0x00C0, 1, MODULE_I2C, 0) /* I2C MASTER: PB6/PB7 */
-
diff --git a/board/host/gpio.inc b/board/host/gpio.inc
index bb01c129e4..5a69bb5848 100644
--- a/board/host/gpio.inc
+++ b/board/host/gpio.inc
@@ -5,18 +5,19 @@
* found in the LICENSE file.
*/
-GPIO(LID_OPEN, 0, 0, GPIO_INT_BOTH, lid_interrupt)
-GPIO(POWER_BUTTON_L, 0, 0, GPIO_INT_BOTH, power_button_interrupt)
-GPIO(AC_PRESENT, 0, 0, GPIO_INT_BOTH, extpower_interrupt)
-GPIO(BUTTON_VOLUME_DOWN_L, 0, 0, GPIO_INT_BOTH, button_interrupt)
-GPIO(BUTTON_VOLUME_UP, 0, 0, GPIO_INT_BOTH, button_interrupt)
-GPIO(CHARGE_DONE, 0, 0, GPIO_INT_BOTH, inductive_charging_interrupt)
-GPIO(EC_INT, 0, 0, 0, NULL)
-GPIO(WP, 0, 0, 0, NULL)
-GPIO(ENTERING_RW, 0, 0, 0, NULL)
-GPIO(PCH_BKLTEN, 0, 0, 0, NULL)
-GPIO(ENABLE_BACKLIGHT, 0, 0, 0, NULL)
+GPIO_INT(LID_OPEN, 0, 0, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(POWER_BUTTON_L, 0, 0, GPIO_INT_BOTH, power_button_interrupt)
+GPIO_INT(AC_PRESENT, 0, 0, GPIO_INT_BOTH, extpower_interrupt)
+GPIO_INT(BUTTON_VOLUME_DOWN_L, 0, 0, GPIO_INT_BOTH, button_interrupt)
+GPIO_INT(BUTTON_VOLUME_UP, 0, 0, GPIO_INT_BOTH, button_interrupt)
+GPIO_INT(CHARGE_DONE, 0, 0, GPIO_INT_BOTH, inductive_charging_interrupt)
+
+GPIO(EC_INT, 0, 0, 0)
+GPIO(WP, 0, 0, 0)
+GPIO(ENTERING_RW, 0, 0, 0)
+GPIO(PCH_BKLTEN, 0, 0, 0)
+GPIO(ENABLE_BACKLIGHT, 0, 0, 0)
/* Inductive charging */
-GPIO(CHARGE_EN, 0, 0, 0, NULL)
-GPIO(BASE_CHG_VDD_EN, 0, 0, 0, NULL)
+GPIO(CHARGE_EN, 0, 0, 0)
+GPIO(BASE_CHG_VDD_EN, 0, 0, 0)
diff --git a/board/it8380dev/gpio.inc b/board/it8380dev/gpio.inc
index e609967d26..d94ea6cd45 100644
--- a/board/it8380dev/gpio.inc
+++ b/board/it8380dev/gpio.inc
@@ -5,31 +5,32 @@
* found in the LICENSE file.
*/
-GPIO(POWER_BUTTON_L, E, 4, GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt)
-GPIO(LID_OPEN, E, 2, GPIO_INT_BOTH | GPIO_PULL_DOWN, lid_interrupt)
-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(PCH_PLTRST_L, E, 3, GPIO_INPUT, NULL)
-GPIO(PCH_SMI_L, D, 3, GPIO_OUT_HIGH, NULL)
-GPIO(PCH_SCI_L, D, 4, GPIO_OUT_HIGH, NULL)
-GPIO(GATE_A20_H, B, 5, GPIO_OUT_HIGH, NULL)
-GPIO(PCH_RCIN_L, B, 6, GPIO_OUT_HIGH, NULL)
-GPIO(LPC_CLKRUN_L, H, 0, GPIO_OUT_LOW, NULL)
+GPIO_INT(POWER_BUTTON_L, E, 4, GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt)
+GPIO_INT(LID_OPEN, E, 2, GPIO_INT_BOTH | GPIO_PULL_DOWN, lid_interrupt)
+
+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(PCH_PLTRST_L, E, 3, GPIO_INPUT)
+GPIO(PCH_SMI_L, D, 3, GPIO_OUT_HIGH)
+GPIO(PCH_SCI_L, D, 4, GPIO_OUT_HIGH)
+GPIO(GATE_A20_H, B, 5, GPIO_OUT_HIGH)
+GPIO(PCH_RCIN_L, B, 6, GPIO_OUT_HIGH)
+GPIO(LPC_CLKRUN_L, H, 0, GPIO_OUT_LOW)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/board/jerry/gpio.inc b/board/jerry/gpio.inc
index 30800f347c..56be639729 100644
--- a/board/jerry/gpio.inc
+++ b/board/jerry/gpio.inc
@@ -6,53 +6,53 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt) /* wk6 */ /* active high, the name is for compatibility with existing code */
-GPIO(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
-GPIO(AC_PRESENT, C, 6, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt) /* wk6 */ /* active high, the name is for compatibility with existing code */
+GPIO_INT(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
+GPIO_INT(AC_PRESENT, C, 6, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(EC_WAKE, A, 0, GPIO_INPUT | GPIO_PULL_DOWN, NULL) /* wk1 */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(EC_WAKE, A, 0, GPIO_INPUT | GPIO_PULL_DOWN) /* wk1 */
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(BAT_LED_RED, B, 11, GPIO_OUT_HIGH, NULL)
-GPIO(BAT_LED_GREEN, A, 11, GPIO_OUT_HIGH, NULL)
-GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW, NULL) /* Inverted from silegro */
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(POWER_LED, A, 2, GPIO_OUT_HIGH, NULL)
-GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH, NULL)
+GPIO(BAT_LED_RED, B, 11, GPIO_OUT_HIGH)
+GPIO(BAT_LED_GREEN, A, 11, GPIO_OUT_HIGH)
+GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_OUT_LOW)
+GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW) /* Inverted from silegro */
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
+GPIO(POWER_LED, A, 2, GPIO_OUT_HIGH)
+GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW)
+GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW)
+GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW)
+GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH)
ALTERNATE(A, 0x00f0, 0, MODULE_SPI, 0)
ALTERNATE(A, 0x0600, 1, MODULE_UART, 0)
diff --git a/board/link/gpio.inc b/board/link/gpio.inc
index 027b9190ce..f4330035d7 100644
--- a/board/link/gpio.inc
+++ b/board/link/gpio.inc
@@ -6,80 +6,79 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, K, 7, GPIO_INT_BOTH, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, K, 5, GPIO_INT_BOTH, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH, extpower_interrupt) /* AC power present */
-GPIO(PCH_BKLTEN, J, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
-GPIO(PCH_SLP_A_L, G, 5, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_A# signal from PCH */
-GPIO(PCH_SLP_ME_CSW_DEV_L, G, 4, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_ME_CSW_DEV# signal from PCH */
-GPIO(PCH_SLP_S3_L, J, 0, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S4_L, J, 1, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO(PCH_SLP_S5_L, J, 2, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S5# signal from PCH */
-GPIO(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
-GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, power_interrupt) /* SUSWARN# signal from PCH */
-GPIO(PGOOD_1_5V_DDR, K, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +1.5V_DDR */
-GPIO(PGOOD_1_5V_PCH, K, 1, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +1.5V_PCH */
-GPIO(PGOOD_1_8VS, K, 3, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +1.8VS */
-GPIO(PGOOD_5VALW, H, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +5VALW */
-GPIO(PGOOD_CPU_CORE, M, 3, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +CPU_CORE */
-GPIO(PGOOD_VCCP, K, 2, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +VCCP */
-GPIO(PGOOD_VCCSA, H, 1, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +VCCSA */
-GPIO(PGOOD_VGFX_CORE, D, 2, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +VGFX_CORE */
-GPIO(RECOVERY_L, H, 7, GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
-GPIO(WP, J, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(POWER_BUTTON_L, K, 7, GPIO_INT_BOTH, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, K, 5, GPIO_INT_BOTH, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH, extpower_interrupt) /* AC power present */
+GPIO_INT(PCH_BKLTEN, J, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
+GPIO_INT(PCH_SLP_A_L, G, 5, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_A# signal from PCH */
+GPIO_INT(PCH_SLP_ME_CSW_DEV_L, G, 4, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_ME_CSW_DEV# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, J, 0, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S4_L, J, 1, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S4# signal from PCH */
+GPIO_INT(PCH_SLP_S5_L, J, 2, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S5# signal from PCH */
+GPIO_INT(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
+GPIO_INT(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, power_interrupt) /* SUSWARN# signal from PCH */
+GPIO_INT(PGOOD_1_5V_DDR, K, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +1.5V_DDR */
+GPIO_INT(PGOOD_1_5V_PCH, K, 1, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +1.5V_PCH */
+GPIO_INT(PGOOD_1_8VS, K, 3, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +1.8VS */
+GPIO_INT(PGOOD_5VALW, H, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +5VALW */
+GPIO_INT(PGOOD_CPU_CORE, M, 3, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +CPU_CORE */
+GPIO_INT(PGOOD_VCCP, K, 2, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +VCCP */
+GPIO_INT(PGOOD_VCCSA, H, 1, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +VCCSA */
+GPIO_INT(PGOOD_VGFX_CORE, D, 2, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on +VGFX_CORE */
+GPIO_INT(RECOVERY_L, H, 7, GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
+GPIO_INT(WP, J, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
/* Other inputs */
-GPIO(THERMAL_DATA_READY_L, B, 4, GPIO_INPUT, NULL) /* Data ready from I2C thermal sensor */
-GPIO(BOARD_VERSION1, H, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, L, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, L, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
-GPIO(ONEWIRE, H, 2, GPIO_INPUT, NULL) /* One-wire bus to adapter LED */
-GPIO(USB1_STATUS_L, E, 7, GPIO_INPUT, NULL) /* USB charger port 1 status output */
-GPIO(USB2_STATUS_L, E, 1, GPIO_INPUT, NULL) /* USB charger port 2 status output */
-
+GPIO(THERMAL_DATA_READY_L, B, 4, GPIO_INPUT) /* Data ready from I2C thermal sensor */
+GPIO(BOARD_VERSION1, H, 6, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, L, 6, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, L, 7, GPIO_INPUT) /* Board version stuffing resistor 3 */
+GPIO(ONEWIRE, H, 2, GPIO_INPUT) /* One-wire bus to adapter LED */
+GPIO(USB1_STATUS_L, E, 7, GPIO_INPUT) /* USB charger port 1 status output */
+GPIO(USB2_STATUS_L, E, 1, GPIO_INPUT) /* USB charger port 2 status output */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, F, 2, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(ENABLE_1_5V_DDR, H, 5, GPIO_OUT_LOW, NULL) /* Enable +1.5V_DDR supply */
-GPIO(ENABLE_5VALW, K, 4, GPIO_OUT_HIGH, NULL) /* Enable +5V always on rail */
-GPIO(ENABLE_BACKLIGHT, H, 4, GPIO_OUT_LOW, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, C, 6, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENABLE_VCORE, F, 7, GPIO_OUT_LOW, NULL) /* Enable +CPU_CORE and +VGFX_CORE */
-GPIO(ENABLE_VS, G, 6, GPIO_OUT_LOW, NULL) /* Enable VS power supplies */
-GPIO(ENABLE_WLAN, Q, 5, GPIO_OUT_LOW, NULL) /* Enable WLAN module power (+3VS_WLAN) */
-GPIO(ENTERING_RW, J, 5, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(LIGHTBAR_RESET_L, B, 1, GPIO_OUT_LOW, NULL) /* Reset lightbar controllers */
-GPIO(PCH_A20GATE, Q, 6, GPIO_OUT_LOW, NULL) /* A20GATE signal to PCH */
-GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW, NULL) /* DPWROK signal to PCH */
+GPIO(CPU_PROCHOT, F, 2, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(ENABLE_1_5V_DDR, H, 5, GPIO_OUT_LOW) /* Enable +1.5V_DDR supply */
+GPIO(ENABLE_5VALW, K, 4, GPIO_OUT_HIGH) /* Enable +5V always on rail */
+GPIO(ENABLE_BACKLIGHT, H, 4, GPIO_OUT_LOW) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, C, 6, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENABLE_VCORE, F, 7, GPIO_OUT_LOW) /* Enable +CPU_CORE and +VGFX_CORE */
+GPIO(ENABLE_VS, G, 6, GPIO_OUT_LOW) /* Enable VS power supplies */
+GPIO(ENABLE_WLAN, Q, 5, GPIO_OUT_LOW) /* Enable WLAN module power (+3VS_WLAN) */
+GPIO(ENTERING_RW, J, 5, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(LIGHTBAR_RESET_L, B, 1, GPIO_OUT_LOW) /* Reset lightbar controllers */
+GPIO(PCH_A20GATE, Q, 6, GPIO_OUT_LOW) /* A20GATE signal to PCH */
+GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW) /* DPWROK signal to PCH */
/*
* HDA_SDO is technically an output, but we need to leave it as an
* input until we drive it high. So can't use open-drain (HI_Z).
*/
-GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT, NULL) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH, NULL) /* Wake signal output to PCH */
-GPIO(PCH_NMI_L, M, 2, GPIO_OUT_HIGH, NULL) /* Non-maskable interrupt pin to PCH */
-GPIO(PCH_PWRBTN_L, G, 7, GPIO_OUT_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* PWROK / APWROK signals to PCH */
-GPIO(PCH_RCIN_L, Q, 7, GPIO_ODR_HIGH, NULL) /* RCIN# signal to PCH */
-GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH, NULL) /* Reset PCH RTC well */
-GPIO(PCH_SMI_L, F, 4, GPIO_OUT_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(PCH_SRTCRST_L, C, 7, GPIO_ODR_HIGH, NULL) /* Reset PCH ME RTC well */
-GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH, NULL) /* Acknowledge PCH SUSWARN# signal */
-GPIO(RADIO_ENABLE_WLAN, D, 0, GPIO_OUT_LOW, NULL) /* Enable WLAN radio */
-GPIO(RADIO_ENABLE_BT, D, 1, GPIO_OUT_LOW, NULL) /* Enable bluetooth radio */
-GPIO(SPI_CS_L, A, 3, GPIO_ODR_HIGH, NULL) /* SPI chip select */
-GPIO(TOUCHSCREEN_RESET_L, B, 0, GPIO_OUT_LOW, NULL) /* Reset touch screen */
-GPIO(USB1_CTL1, E, 2, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL1 output */
-GPIO(USB1_CTL2, E, 3, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL2 output */
-GPIO(USB1_CTL3, E, 4, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL3 output */
-GPIO(USB1_ENABLE, E, 5, GPIO_OUT_LOW, NULL) /* USB charger port 1 enable */
-GPIO(USB1_ILIM_SEL, E, 6, GPIO_OUT_LOW, NULL) /* USB charger port 1 ILIM_SEL output */
-GPIO(USB2_CTL1, D, 4, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL1 output */
-GPIO(USB2_CTL2, D, 5, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL2 output */
-GPIO(USB2_CTL3, D, 6, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL3 output */
-GPIO(USB2_ENABLE, D, 7, GPIO_OUT_LOW, NULL) /* USB charger port 2 enable */
-GPIO(USB2_ILIM_SEL, E, 0, GPIO_OUT_LOW, NULL) /* USB charger port 2 ILIM_SEL output */
+GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH) /* Wake signal output to PCH */
+GPIO(PCH_NMI_L, M, 2, GPIO_OUT_HIGH) /* Non-maskable interrupt pin to PCH */
+GPIO(PCH_PWRBTN_L, G, 7, GPIO_OUT_HIGH) /* Power button output to PCH */
+GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW) /* PWROK / APWROK signals to PCH */
+GPIO(PCH_RCIN_L, Q, 7, GPIO_ODR_HIGH) /* RCIN# signal to PCH */
+GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH) /* Reset PCH RTC well */
+GPIO(PCH_SMI_L, F, 4, GPIO_OUT_HIGH) /* System management interrupt to PCH */
+GPIO(PCH_SRTCRST_L, C, 7, GPIO_ODR_HIGH) /* Reset PCH ME RTC well */
+GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH) /* Acknowledge PCH SUSWARN# signal */
+GPIO(RADIO_ENABLE_WLAN, D, 0, GPIO_OUT_LOW) /* Enable WLAN radio */
+GPIO(RADIO_ENABLE_BT, D, 1, GPIO_OUT_LOW) /* Enable bluetooth radio */
+GPIO(SPI_CS_L, A, 3, GPIO_ODR_HIGH) /* SPI chip select */
+GPIO(TOUCHSCREEN_RESET_L, B, 0, GPIO_OUT_LOW) /* Reset touch screen */
+GPIO(USB1_CTL1, E, 2, GPIO_OUT_LOW) /* USB charger port 1 CTL1 output */
+GPIO(USB1_CTL2, E, 3, GPIO_OUT_LOW) /* USB charger port 1 CTL2 output */
+GPIO(USB1_CTL3, E, 4, GPIO_OUT_LOW) /* USB charger port 1 CTL3 output */
+GPIO(USB1_ENABLE, E, 5, GPIO_OUT_LOW) /* USB charger port 1 enable */
+GPIO(USB1_ILIM_SEL, E, 6, GPIO_OUT_LOW) /* USB charger port 1 ILIM_SEL output */
+GPIO(USB2_CTL1, D, 4, GPIO_OUT_LOW) /* USB charger port 2 CTL1 output */
+GPIO(USB2_CTL2, D, 5, GPIO_OUT_LOW) /* USB charger port 2 CTL2 output */
+GPIO(USB2_CTL3, D, 6, GPIO_OUT_LOW) /* USB charger port 2 CTL3 output */
+GPIO(USB2_ENABLE, D, 7, GPIO_OUT_LOW) /* USB charger port 2 enable */
+GPIO(USB2_ILIM_SEL, E, 0, GPIO_OUT_LOW) /* USB charger port 2 ILIM_SEL output */
ALTERNATE(A, 0x03, 1, MODULE_UART, 0) /* UART0 */
ALTERNATE(A, 0x40, 3, MODULE_I2C, 0) /* I2C1 SCL */
diff --git a/board/llama/gpio.inc b/board/llama/gpio.inc
index 0ad76346c7..a13246ecca 100644
--- a/board/llama/gpio.inc
+++ b/board/llama/gpio.inc
@@ -6,58 +6,59 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt) /* AC power present: PA 0 */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt) /* Keyboard power button: PB 5 */
-GPIO(SOC_POWER_GOOD_L, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
-GPIO(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt) /* AP suspend/resume state */
-GPIO(5V_GOOD_L, A, 1, GPIO_INT_BOTH, NULL)
-GPIO(AP_RESET_H, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(BOARD_VERSION1, C, 6, GPIO_INPUT|GPIO_PULL_UP, NULL) /* Board version stuffing resistor 1 */
+GPIO_INT(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt) /* AC power present: PA 0 */
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt) /* Keyboard power button: PB 5 */
+GPIO_INT(SOC_POWER_GOOD_L, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
+GPIO_INT(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt) /* AP suspend/resume state */
+
+/* Keyboard inputs */
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* SPI Chip Select */
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
-/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO(5V_GOOD_L, A, 1, GPIO_INT_BOTH)
+GPIO(AP_RESET_H, B, 3, GPIO_OUT_LOW)
+GPIO(BOARD_VERSION1, C, 6, GPIO_INPUT|GPIO_PULL_UP) /* Board version stuffing resistor 1 */
/* Outputs */
-GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW, NULL) /* LED_GREEN */
-GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW, NULL) /* LED_ORANGE */
-GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_OUT_HIGH, NULL)
-GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW, NULL) /* KSO2 is inverted */
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(SYSTEM_POWER_H, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_PWRON_H, A, 12, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_WARM_RESET_H, C, 3, GPIO_ODR_LOW, NULL)
+GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW) /* LED_GREEN */
+GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW) /* LED_ORANGE */
+GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_OUT_HIGH)
+GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW) /* KSO2 is inverted */
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 14, GPIO_KB_OUTPUT)
+GPIO(SYSTEM_POWER_H, B, 10, GPIO_OUT_LOW)
+GPIO(PMIC_PWRON_H, A, 12, GPIO_OUT_LOW)
+GPIO(PMIC_WARM_RESET_H, C, 3, GPIO_ODR_LOW)
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(MASTER_I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 7, GPIO_INPUT, NULL)
+GPIO(MASTER_I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 7, GPIO_INPUT)
/* Unimplemented signals which we need to emulate for now */
/* UNIMPLEMENTED(ENTERING_RW) */
diff --git a/board/mccroskey/gpio.inc b/board/mccroskey/gpio.inc
index e885176c08..61a02c05ff 100644
--- a/board/mccroskey/gpio.inc
+++ b/board/mccroskey/gpio.inc
@@ -6,55 +6,55 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(KB_IN00, B, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, B, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, B, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, B, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, B, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, B, 13, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, B, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, B, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, B, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, B, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, B, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, B, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, B, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, B, 13, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, B, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, B, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* TODO(crosbug.com/p/23494): interrupt handler for power button */
-GPIO(KBD_PWR_BUTTON, B, 2, GPIO_INPUT, NULL)
+GPIO(KBD_PWR_BUTTON, B, 2, GPIO_INPUT)
-GPIO(OMZO_RDY_L, A, 0, GPIO_INPUT, NULL) /* PA0_WKUP */
-GPIO(OZMO_RST_L, A, 2, GPIO_ODR_HIGH, NULL)
-GPIO(VBUS_UP_DET, A, 3, GPIO_INPUT, NULL)
-GPIO(OZMO_REQ_L, A, 8, GPIO_INPUT, NULL)
-GPIO(CHARGE_ZERO, B, 0, GPIO_INPUT, NULL)
-GPIO(CHARGE_SHUNT, B, 1, GPIO_INPUT, NULL)
-GPIO(PMIC_INT_L, B, 5, GPIO_INPUT, NULL)
+GPIO(OMZO_RDY_L, A, 0, GPIO_INPUT) /* PA0_WKUP */
+GPIO(OZMO_RST_L, A, 2, GPIO_ODR_HIGH)
+GPIO(VBUS_UP_DET, A, 3, GPIO_INPUT)
+GPIO(OZMO_REQ_L, A, 8, GPIO_INPUT)
+GPIO(CHARGE_ZERO, B, 0, GPIO_INPUT)
+GPIO(CHARGE_SHUNT, B, 1, GPIO_INPUT)
+GPIO(PMIC_INT_L, B, 5, GPIO_INPUT)
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(I2C1_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_INPUT, NULL)
+GPIO(I2C1_SCL, B, 6, GPIO_INPUT)
+GPIO(I2C1_SDA, B, 7, GPIO_INPUT)
-GPIO(KB_OUT00, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, C, 3, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 6, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 7, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, C, 9, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 10, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 11, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, C, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(USB_VBUS_CTRL, C, 13, GPIO_OUT_LOW, NULL)
-GPIO(HUB_RESET, C, 14, GPIO_ODR_HIGH, NULL)
-GPIO(WP_L, D, 2, GPIO_INPUT, NULL)
+GPIO(KB_OUT00, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, C, 3, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 6, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 7, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, C, 9, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 10, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 11, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, C, 12, GPIO_KB_OUTPUT)
+GPIO(USB_VBUS_CTRL, C, 13, GPIO_OUT_LOW)
+GPIO(HUB_RESET, C, 14, GPIO_ODR_HIGH)
+GPIO(WP_L, D, 2, GPIO_INPUT)
/*
* TODO(crosbug.com/p/23494): This will be an alternate function GPIO,
* so remove it from here.
*/
-GPIO(BL_PWM, A, 1, GPIO_OUTPUT, NULL)
+GPIO(BL_PWM, A, 1, GPIO_OUTPUT)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(EC_INT)
@@ -62,12 +62,12 @@ UNIMPLEMENTED(ENTERING_RW)
#if 0
/* Other GPIOs (probably need to be set up below as alt. function) */
-GPIO(STM_USBDM, A, 11, GPIO_DEFAULT, NULL)
-GPIO(STM_USBDP, A, 12, GPIO_DEFAULT, NULL)
-GPIO(JTMS_SWDIO, A, 13, GPIO_DEFAULT, NULL)
-GPIO(JTCK_SWCLK, A, 14, GPIO_DEFAULT, NULL)
-GPIO(JTDI, A, 15, GPIO_DEFAULT, NULL)
-GPIO(JTDO, B, 3, GPIO_DEFAULT, NULL)
-GPIO(JNTRST, B, 4, GPIO_DEFAULT, NULL)
-GPIO(OSC32_OUT, C, 15, GPIO_DEFAULT, NULL)
+GPIO(STM_USBDM, A, 11, GPIO_DEFAULT)
+GPIO(STM_USBDP, A, 12, GPIO_DEFAULT)
+GPIO(JTMS_SWDIO, A, 13, GPIO_DEFAULT)
+GPIO(JTCK_SWCLK, A, 14, GPIO_DEFAULT)
+GPIO(JTDI, A, 15, GPIO_DEFAULT)
+GPIO(JTDO, B, 3, GPIO_DEFAULT)
+GPIO(JNTRST, B, 4, GPIO_DEFAULT)
+GPIO(OSC32_OUT, C, 15, GPIO_DEFAULT)
#endif
diff --git a/board/mec1322_evb/gpio.inc b/board/mec1322_evb/gpio.inc
index 64e4024ef9..511fcd8c68 100644
--- a/board/mec1322_evb/gpio.inc
+++ b/board/mec1322_evb/gpio.inc
@@ -5,17 +5,17 @@
* found in the LICENSE file.
*/
-GPIO(LED1, PORT(15), 4, GPIO_ODR_LOW, NULL)
-GPIO(LED2, PORT(15), 5, GPIO_ODR_HIGH, NULL)
-GPIO(LED3, PORT(15), 6, GPIO_ODR_LOW, NULL)
-GPIO(PCH_SMI_L, PORT(4), 4, GPIO_ODR_HIGH, NULL) /* SMI output */
-GPIO(PCH_WAKE_L, PORT(20), 0, GPIO_ODR_HIGH, NULL) /* PCH wake pin */
+GPIO(LED1, PORT(15), 4, GPIO_ODR_LOW)
+GPIO(LED2, PORT(15), 5, GPIO_ODR_HIGH)
+GPIO(LED3, PORT(15), 6, GPIO_ODR_LOW)
+GPIO(PCH_SMI_L, PORT(4), 4, GPIO_ODR_HIGH) /* SMI output */
+GPIO(PCH_WAKE_L, PORT(20), 0, GPIO_ODR_HIGH) /* PCH wake pin */
/* Switch S1 */
-GPIO(S1, PORT(6), 3, GPIO_INT_FALLING | GPIO_PULL_UP, NULL)
+GPIO(S1, PORT(6), 3, GPIO_INT_FALLING | GPIO_PULL_UP)
/* Shared SPI CS */
-GPIO(SHD_CS0, PORT(15), 0, GPIO_ODR_HIGH, NULL)
+GPIO(SHD_CS0, PORT(15), 0, GPIO_ODR_HIGH)
/*
* Signals which aren't implemented on MEC1322 eval board but we'll
diff --git a/board/mighty/gpio.inc b/board/mighty/gpio.inc
index 29efb848d1..294b097766 100644
--- a/board/mighty/gpio.inc
+++ b/board/mighty/gpio.inc
@@ -6,53 +6,53 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt) /* wk6 */ /* active high, the name is for compatibility with existing code */
-GPIO(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
-GPIO(AC_PRESENT, A, 8, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt) /* wk6 */ /* active high, the name is for compatibility with existing code */
+GPIO_INT(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
+GPIO_INT(AC_PRESENT, A, 8, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(EC_WAKE, A, 0, GPIO_INPUT | GPIO_PULL_DOWN, NULL) /* wk1 */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(EC_WAKE, A, 0, GPIO_INPUT | GPIO_PULL_DOWN) /* wk1 */
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW, NULL)
-GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW, NULL) /* Inverted from silegro */
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(POWER_LED, A, 2, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH, NULL)
+GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW)
+GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW)
+GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_OUT_LOW)
+GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW) /* Inverted from silegro */
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
+GPIO(POWER_LED, A, 2, GPIO_OUT_LOW)
+GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW)
+GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW)
+GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW)
+GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH)
ALTERNATE(A, 0x00f0, 0, MODULE_SPI, 0)
ALTERNATE(A, 0x0600, 1, MODULE_UART, 0)
diff --git a/board/npcx_evb/gpio.inc b/board/npcx_evb/gpio.inc
index 8457aff4ae..77dbd801c5 100644
--- a/board/npcx_evb/gpio.inc
+++ b/board/npcx_evb/gpio.inc
@@ -6,33 +6,34 @@
*/
/* TODO: Redefine debug 2 inputs */
-GPIO(RECOVERY_L, 0, 0, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
-GPIO(WP_L, 9, 3, GPIO_PULL_DOWN | GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(RECOVERY_L, 0, 0, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
+GPIO_INT(WP_L, 9, 3, GPIO_PULL_DOWN | GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
/* For testing 8042 commands, we need the following GPIOs */
/* TODO: Redefine 4 inputs */
-GPIO(POWER_BUTTON_L, 0, 2, GPIO_PULL_UP | GPIO_INT_BOTH, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, 3, 3, GPIO_PULL_DOWN | GPIO_INT_BOTH, lid_interrupt) /* Lid switch */
-GPIO(ENTERING_RW, 3, 6, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(PCH_WAKE_L, 5, 0, GPIO_OUT_HIGH, NULL) /* Wake signal output to PCH */
+GPIO_INT(POWER_BUTTON_L, 0, 2, GPIO_PULL_UP | GPIO_INT_BOTH, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, 3, 3, GPIO_PULL_DOWN | GPIO_INT_BOTH, lid_interrupt) /* Lid switch */
+
+GPIO(ENTERING_RW, 3, 6, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(PCH_WAKE_L, 5, 0, GPIO_OUT_HIGH) /* Wake signal output to PCH */
/* Used for module testing */
-GPIO(PGOOD_FAN, C, 7, GPIO_PULL_UP | GPIO_INPUT, NULL) /* Power Good for FAN test */
-GPIO(SPI_CS_L, A, 5, GPIO_OUT_HIGH, NULL) /* SPI_CS Ready, Low Active. */
+GPIO(PGOOD_FAN, C, 7, GPIO_PULL_UP | GPIO_INPUT) /* Power Good for FAN test */
+GPIO(SPI_CS_L, A, 5, GPIO_OUT_HIGH) /* SPI_CS Ready, Low Active. */
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(MASTER_I2C_SCL, B, 5, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 4, GPIO_INPUT, NULL)
+GPIO(MASTER_I2C_SCL, B, 5, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 4, GPIO_INPUT)
/* Used for board version command */
-GPIO(BOARD_VERSION1, 6, 4, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, 6, 5, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, 6, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
+GPIO(BOARD_VERSION1, 6, 4, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, 6, 5, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, 6, 6, GPIO_INPUT) /* Board version stuffing resistor 3 */
#ifdef CONFIG_KEYBOARD_COL2_INVERTED
-GPIO(KBD_KSO2, 1, 7, GPIO_OUT_LOW, NULL) /* Negative edge triggered keyboard irq. */
+GPIO(KBD_KSO2, 1, 7, GPIO_OUT_LOW) /* Negative edge triggered keyboard irq. */
#endif
/* Alternate pins for UART/I2C/ADC/SPI/PWM/MFT */
ALTERNATE(1, 0x03, 1, MODULE_UART, 0) /* CR_SIN/SOUT GPIO10/11 */
diff --git a/board/nyan/gpio.inc b/board/nyan/gpio.inc
index e35673e5fe..54e541f55b 100644
--- a/board/nyan/gpio.inc
+++ b/board/nyan/gpio.inc
@@ -6,56 +6,56 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt)
-GPIO(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_KB_INPUT, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
-GPIO(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt)
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt)
+GPIO_INT(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_KB_INPUT, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
+GPIO_INT(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(AP_RESET_L, B, 3, GPIO_ODR_HIGH, NULL)
-GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_ODR_HIGH, NULL)
-GPIO(ENTERING_RW, H, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(LED_POWER_L, A, 2, GPIO_OUT_HIGH, NULL) /* PWR_LED1 */
-GPIO(PMIC_PWRON_L, A, 12, GPIO_OUT_HIGH, NULL)
-GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(PWR_LED0, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED1, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(CHARGING, A, 11, GPIO_OUT_LOW, NULL)
-GPIO(EC_BL_OVERRIDE, H, 1, GPIO_ODR_HIGH, NULL)
-GPIO(PMIC_THERM_L, A, 1, GPIO_ODR_HIGH, NULL)
-GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH, NULL)
+GPIO(AP_RESET_L, B, 3, GPIO_ODR_HIGH)
+GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_ODR_HIGH)
+GPIO(ENTERING_RW, H, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(LED_POWER_L, A, 2, GPIO_OUT_HIGH) /* PWR_LED1 */
+GPIO(PMIC_PWRON_L, A, 12, GPIO_OUT_HIGH)
+GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
+GPIO(PWR_LED0, B, 10, GPIO_OUT_LOW)
+GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW)
+GPIO(BAT_LED1, A, 8, GPIO_OUT_LOW)
+GPIO(CHARGING, A, 11, GPIO_OUT_LOW)
+GPIO(EC_BL_OVERRIDE, H, 1, GPIO_ODR_HIGH)
+GPIO(PMIC_THERM_L, A, 1, GPIO_ODR_HIGH)
+GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH)
ALTERNATE(A, 0x00f0, GPIO_ALT_SPI, MODULE_SPI, GPIO_DEFAULT)
ALTERNATE(A, 0x0600, GPIO_ALT_USART, MODULE_UART, GPIO_DEFAULT)
diff --git a/board/peppy/gpio.inc b/board/peppy/gpio.inc
index 3e275ec397..0ce95b1f43 100644
--- a/board/peppy/gpio.inc
+++ b/board/peppy/gpio.inc
@@ -6,87 +6,87 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
-GPIO(PCH_BKLTEN, M, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
-GPIO(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
-GPIO(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
-GPIO(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
-GPIO(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP1350_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.35V (DRAM) */
-GPIO(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
-GPIO(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(PCH_EDP_VDD_EN, J, 1, GPIO_INT_BOTH, power_interrupt) /* PCH wants EDP enabled */
-GPIO(RECOVERY_L, A, 5, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
-GPIO(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
+GPIO_INT(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
+GPIO_INT(PCH_BKLTEN, M, 3, GPIO_INT_BOTH, backlight_interrupt) /* Backlight enable signal from PCH */
+GPIO_INT(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
+GPIO_INT(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
+GPIO_INT(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP1350_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.35V (DRAM) */
+GPIO_INT(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
+GPIO_INT(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(PCH_EDP_VDD_EN, J, 1, GPIO_INT_BOTH, power_interrupt) /* PCH wants EDP enabled */
+GPIO_INT(RECOVERY_L, A, 5, GPIO_PULL_UP | GPIO_INT_BOTH, switch_interrupt) /* Recovery signal from servo */
+GPIO_INT(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
+GPIO_INT(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
/* Other inputs */
-GPIO(FAN_ALERT_L, B, 0, GPIO_INPUT, NULL) /* From thermal sensor */
-GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, NULL) /* SUSWARN# signal from PCH */
-GPIO(USB1_OC_L, E, 7, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB2_OC_L, E, 0, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
-GPIO(CPU_PGOOD, C, 4, GPIO_INPUT, NULL) /* Power good to the CPU */
-GPIO(BAT_PRESENT_L, B, 4, GPIO_INPUT, NULL) /* Battery present. Repurposed BAT_TEMP */
+GPIO(FAN_ALERT_L, B, 0, GPIO_INPUT) /* From thermal sensor */
+GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH) /* SUSWARN# signal from PCH */
+GPIO(USB1_OC_L, E, 7, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB2_OC_L, E, 0, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT) /* Board version stuffing resistor 3 */
+GPIO(CPU_PGOOD, C, 4, GPIO_INPUT) /* Power good to the CPU */
+GPIO(BAT_PRESENT_L, B, 4, GPIO_INPUT) /* Battery present. Repurposed BAT_TEMP */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW, NULL) /* Enable 1.35V supply */
-GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW, NULL) /* Enable power to lots of peripherals */
-GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW, NULL) /* Stuffing option - not connected */
-GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(PP5000_FAN_EN, J, 3, GPIO_OUT_LOW, NULL) /* Enable fan power rail */
-GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(CHARGE_L, E, 6, GPIO_OUT_LOW, NULL) /* Allow battery to charge when on AC */
+GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW) /* Enable 1.35V supply */
+GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW) /* Enable power to lots of peripherals */
+GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW) /* Stuffing option - not connected */
+GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(PP5000_FAN_EN, J, 3, GPIO_OUT_LOW) /* Enable fan power rail */
+GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(CHARGE_L, E, 6, GPIO_OUT_LOW) /* Allow battery to charge when on AC */
-GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW, NULL) /* Indicate when VccDSW is good */
+GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW) /* Indicate when VccDSW is good */
/*
* HDA_SDO is technically an output, but we need to leave it as an
* input until we drive it high. So can't use open-drain (HI_Z).
*/
-GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT, NULL) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PCH_NMI_L, F, 2, GPIO_OUT_HIGH, NULL) /* Non-maskable interrupt pin to PCH */
-GPIO(PCH_PWRBTN_L, H, 0, GPIO_OUT_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* PWROK / APWROK signals to PCH */
+GPIO(PCH_HDA_SDO, G, 1, GPIO_INPUT) /* HDA_SDO signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_WAKE_L, F, 0, GPIO_OUT_HIGH) /* Wake signal from EC to PCH */
+GPIO(PCH_NMI_L, F, 2, GPIO_OUT_HIGH) /* Non-maskable interrupt pin to PCH */
+GPIO(PCH_PWRBTN_L, H, 0, GPIO_OUT_HIGH) /* Power button output to PCH */
+GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW) /* PWROK / APWROK signals to PCH */
/*
* PL6 is one of 4 pins on the EC which can't be used in open-drain
* mode. To work around this PCH_RCIN_L is set to an input. It will
* only be set to an output when it needs to be driven to 0.
*/
-GPIO(PCH_RCIN_L, L, 6, GPIO_INPUT, NULL) /* RCIN# line to PCH (for 8042 emulation) */
-GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW, NULL) /* Reset touch screen */
-GPIO(EC_EDP_VDD_EN, J, 5, GPIO_OUT_LOW, NULL) /* Enable EDP (passthru from PCH) */
+GPIO(PCH_RCIN_L, L, 6, GPIO_INPUT) /* RCIN# line to PCH (for 8042 emulation) */
+GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW) /* Reset touch screen */
+GPIO(EC_EDP_VDD_EN, J, 5, GPIO_OUT_LOW) /* Enable EDP (passthru from PCH) */
-GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH, NULL) /* Dunno. Probably important, though. */
-GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW, NULL) /* USB port 1 output power enable */
-GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW, NULL) /* USB port 2 output power enable */
+GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH) /* Dunno. Probably important, though. */
+GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW) /* USB port 1 output power enable */
+GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW) /* USB port 2 output power enable */
-GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH, NULL) /* Acknowledge PCH SUSWARN# signal */
-GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH, NULL) /* Not supposed to be here */
-GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH, NULL) /* Not supposed to be here */
+GPIO(PCH_SUSACK_L, F, 3, GPIO_OUT_HIGH) /* Acknowledge PCH SUSWARN# signal */
+GPIO(PCH_RTCRST_L, F, 6, GPIO_ODR_HIGH) /* Not supposed to be here */
+GPIO(PCH_SRTCRST_L, F, 7, GPIO_ODR_HIGH) /* Not supposed to be here */
-GPIO(BAT_LED0_L, D, 0, GPIO_ODR_HIGH, NULL) /* Battery charging LED - blue */
-GPIO(BAT_LED1_L, N, 4, GPIO_ODR_HIGH, NULL) /* Battery charging LED - orange */
-GPIO(PWR_LED0_L, D, 1, GPIO_ODR_HIGH, NULL) /* Power LED - blue */
-GPIO(PWR_LED1_L, N, 6, GPIO_ODR_HIGH, NULL) /* Power LED - orange */
+GPIO(BAT_LED0_L, D, 0, GPIO_ODR_HIGH) /* Battery charging LED - blue */
+GPIO(BAT_LED1_L, N, 4, GPIO_ODR_HIGH) /* Battery charging LED - orange */
+GPIO(PWR_LED0_L, D, 1, GPIO_ODR_HIGH) /* Power LED - blue */
+GPIO(PWR_LED1_L, N, 6, GPIO_ODR_HIGH) /* Power LED - orange */
ALTERNATE(A, 0x03, 1, MODULE_UART, GPIO_PULL_UP) /* UART0 */
ALTERNATE(B, 0x04, 3, MODULE_I2C, 0) /* I2C0 SCL */
diff --git a/board/pinky/gpio.inc b/board/pinky/gpio.inc
index a0909168c2..e4dca2ba78 100644
--- a/board/pinky/gpio.inc
+++ b/board/pinky/gpio.inc
@@ -6,52 +6,52 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt)
-GPIO(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
-GPIO(AC_PRESENT, A, 0, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt)
+GPIO_INT(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
+GPIO_INT(AC_PRESENT, A, 0, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(5V_DRV, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW, NULL)
-GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW, NULL) /* Inverted from silegro */
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH, NULL)
+GPIO(5V_DRV, A, 8, GPIO_OUT_LOW)
+GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW)
+GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW)
+GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_OUT_LOW)
+GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW) /* Inverted from silegro */
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
+GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW)
+GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW)
+GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW)
+GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH)
ALTERNATE(A, 0x00f0, 0, MODULE_SPI, 0)
ALTERNATE(A, 0x0600, 1, MODULE_UART, 0)
diff --git a/board/pit/gpio.inc b/board/pit/gpio.inc
index 8c00cab0bd..7717295d62 100644
--- a/board/pit/gpio.inc
+++ b/board/pit/gpio.inc
@@ -6,56 +6,56 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(KB_PWR_ON_L, B, 5, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(PP1800_LDO2, A, 1, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(SOC1V8_XPSHOLD, A, 3, GPIO_INT_RISING, power_signal_interrupt)
-GPIO(CHARGER_INT_L, C, 6, GPIO_INT_FALLING, pmu_irq_handler)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
-GPIO(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt)
+GPIO_INT(KB_PWR_ON_L, B, 5, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(PP1800_LDO2, A, 1, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(SOC1V8_XPSHOLD, A, 3, GPIO_INT_RISING, power_signal_interrupt)
+GPIO_INT(CHARGER_INT_L, C, 6, GPIO_INT_FALLING, pmu_irq_handler)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH | GPIO_PULL_UP, spi_event)
+GPIO_INT(AC_PRESENT, A, 0, GPIO_INT_BOTH, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(AP_RESET_L, B, 3, GPIO_ODR_HIGH, NULL)
-GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_ODR_HIGH, NULL)
-GPIO(EN_PP1350, H, 1, GPIO_OUT_LOW, NULL)
-GPIO(EN_PP3300, A, 8, GPIO_OUT_LOW, NULL)
-GPIO(EN_PP5000, A, 11, GPIO_OUT_LOW, NULL)
-GPIO(ENTERING_RW, H, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(I2C2_SCL, B, 10, GPIO_ODR_HIGH, NULL)
-GPIO(I2C2_SDA, B, 11, GPIO_ODR_HIGH, NULL)
-GPIO(CHARGING_LED,A, 2, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
+GPIO(AP_RESET_L, B, 3, GPIO_ODR_HIGH)
+GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_ODR_HIGH)
+GPIO(EN_PP1350, H, 1, GPIO_OUT_LOW)
+GPIO(EN_PP3300, A, 8, GPIO_OUT_LOW)
+GPIO(EN_PP5000, A, 11, GPIO_OUT_LOW)
+GPIO(ENTERING_RW, H, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(I2C2_SCL, B, 10, GPIO_ODR_HIGH)
+GPIO(I2C2_SDA, B, 11, GPIO_ODR_HIGH)
+GPIO(CHARGING_LED,A, 2, GPIO_OUT_LOW)
+GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW)
+GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
ALTERNATE(A, 0x00f0, GPIO_ALT_SPI, MODULE_SPI, 0)
ALTERNATE(A, 0x0600, GPIO_ALT_USART, MODULE_UART, 0)
diff --git a/board/plankton/gpio.inc b/board/plankton/gpio.inc
index 13a6507848..dce01b2d9e 100644
--- a/board/plankton/gpio.inc
+++ b/board/plankton/gpio.inc
@@ -6,65 +6,65 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(VBUS_WAKE, B, 5, GPIO_INT_BOTH, vbus_event)
-GPIO(DBG_20V_TO_DUT_L, C, 13, GPIO_INT_FALLING, button_event)
-GPIO(DBG_12V_TO_DUT_L, B, 14, GPIO_INT_FALLING, button_event)
-GPIO(DBG_5V_TO_DUT_L, B, 8, GPIO_INT_FALLING, button_event)
-GPIO(DBG_CHG_TO_DEV_L, F, 1, GPIO_INT_FALLING, button_event)
-GPIO(DBG_USB_TOGGLE_L, F, 0, GPIO_INT_FALLING, button_event)
-GPIO(DBG_CASE_CLOSE_EN_L, B, 12, GPIO_INT_FALLING, button_event)
-GPIO(DBG_MUX_FLIP_L, B, 15, GPIO_INT_FALLING, button_event)
+GPIO_INT(VBUS_WAKE, B, 5, GPIO_INT_BOTH, vbus_event)
+GPIO_INT(DBG_20V_TO_DUT_L, C, 13, GPIO_INT_FALLING, button_event)
+GPIO_INT(DBG_12V_TO_DUT_L, B, 14, GPIO_INT_FALLING, button_event)
+GPIO_INT(DBG_5V_TO_DUT_L, B, 8, GPIO_INT_FALLING, button_event)
+GPIO_INT(DBG_CHG_TO_DEV_L, F, 1, GPIO_INT_FALLING, button_event)
+GPIO_INT(DBG_USB_TOGGLE_L, F, 0, GPIO_INT_FALLING, button_event)
+GPIO_INT(DBG_CASE_CLOSE_EN_L, B, 12, GPIO_INT_FALLING, button_event)
+GPIO_INT(DBG_MUX_FLIP_L, B, 15, GPIO_INT_FALLING, button_event)
/* PD RX/TX */
-GPIO(USBC_PD_REF, A, 1, GPIO_ANALOG, NULL)
-GPIO(USBC_CC1_PD, A, 0, GPIO_ANALOG, NULL)
-GPIO(USBC_CC1_TX_EN, A, 3, GPIO_OUT_LOW, NULL)
-GPIO(USBC_CC2_PD, A, 4, GPIO_ANALOG, NULL)
-GPIO(USBC_CC2_TX_EN, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(USBC_CC_TX_DATA, A, 6, GPIO_OUT_LOW, NULL)
+GPIO(USBC_PD_REF, A, 1, GPIO_ANALOG)
+GPIO(USBC_CC1_PD, A, 0, GPIO_ANALOG)
+GPIO(USBC_CC1_TX_EN, A, 3, GPIO_OUT_LOW)
+GPIO(USBC_CC2_PD, A, 4, GPIO_ANALOG)
+GPIO(USBC_CC2_TX_EN, B, 2, GPIO_OUT_LOW)
+GPIO(USBC_CC_TX_DATA, A, 6, GPIO_OUT_LOW)
#if 0
/* Alternate functions */
-GPIO(USBC_TX_CLKOUT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(USBC_TX_CLKIN, A, 5, GPIO_OUT_LOW, NULL)
+GPIO(USBC_TX_CLKOUT, B, 9, GPIO_OUT_LOW)
+GPIO(USBC_TX_CLKIN, A, 5, GPIO_OUT_LOW)
#endif
/* USB-C Power and muxes control */
-GPIO(USBC_CHARGE_EN, A, 8, GPIO_OUT_HIGH, NULL)
-GPIO(USBC_CC1_DEVICE_ODL, A, 9, GPIO_OUT_LOW, NULL)
-GPIO(USBC_CC1_HOST, A, 2, GPIO_INPUT, NULL)
-GPIO(USBC_CC2_DEVICE_ODL, B, 7, GPIO_OUT_LOW, NULL)
-GPIO(USBC_CC2_HOST, B, 6, GPIO_INPUT, NULL)
-GPIO(USBC_POLARITY, B, 1, GPIO_OUT_HIGH, NULL)
-GPIO(USBC_SS_USB_MODE, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(USB_CC1_VCONN_EN_L, A, 11, GPIO_OUT_HIGH, NULL)
-GPIO(USB_CC2_VCONN_EN_L, A, 12, GPIO_OUT_HIGH, NULL)
+GPIO(USBC_CHARGE_EN, A, 8, GPIO_OUT_HIGH)
+GPIO(USBC_CC1_DEVICE_ODL, A, 9, GPIO_OUT_LOW)
+GPIO(USBC_CC1_HOST, A, 2, GPIO_INPUT)
+GPIO(USBC_CC2_DEVICE_ODL, B, 7, GPIO_OUT_LOW)
+GPIO(USBC_CC2_HOST, B, 6, GPIO_INPUT)
+GPIO(USBC_POLARITY, B, 1, GPIO_OUT_HIGH)
+GPIO(USBC_SS_USB_MODE, B, 3, GPIO_OUT_LOW)
+GPIO(USB_CC1_VCONN_EN_L, A, 11, GPIO_OUT_HIGH)
+GPIO(USB_CC2_VCONN_EN_L, A, 12, GPIO_OUT_HIGH)
-GPIO(VBUS_CHARGER_EN, B, 0, GPIO_OUT_LOW, NULL)
+GPIO(VBUS_CHARGER_EN, B, 0, GPIO_OUT_LOW)
/* VSEL_0/1: 0/0 = 5V, 1/0 = 12V, 1/1 = 20V */
-GPIO(USBC_VSEL_1, A, 10, GPIO_OUT_LOW, NULL)
-GPIO(USBC_VSEL_0, C, 14, GPIO_OUT_LOW, NULL)
+GPIO(USBC_VSEL_1, A, 10, GPIO_OUT_LOW)
+GPIO(USBC_VSEL_0, C, 14, GPIO_OUT_LOW)
/* Case closed debugging */
-GPIO(CASE_CLOSE_EN, A, 7, GPIO_OUT_LOW, NULL)
-GPIO(CASE_CLOSE_DFU_L, A, 13, GPIO_OUT_HIGH, NULL)
-GPIO(DEBUG_TOGGLE, B, 4, GPIO_OUT_LOW, NULL)
+GPIO(CASE_CLOSE_EN, A, 7, GPIO_OUT_LOW)
+GPIO(CASE_CLOSE_DFU_L, A, 13, GPIO_OUT_HIGH)
+GPIO(DEBUG_TOGGLE, B, 4, GPIO_OUT_LOW)
/* Display port */
-GPIO(DPSRC_HPD, B, 13, GPIO_INPUT, NULL)
+GPIO(DPSRC_HPD, B, 13, GPIO_INPUT)
/* Alternate functions */
#if 0
-GPIO(UART_TX, A, 14, GPIO_OUT_LOW, NULL)
-GPIO(UART_RX, A, 15, GPIO_OUT_LOW, NULL)
+GPIO(UART_TX, A, 14, GPIO_OUT_LOW)
+GPIO(UART_RX, A, 15, GPIO_OUT_LOW)
#endif
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(MASTER_I2C_SCL, B, 10, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 11, GPIO_INPUT, NULL)
+GPIO(MASTER_I2C_SCL, B, 10, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 11, GPIO_INPUT)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
@@ -74,4 +74,3 @@ ALTERNATE(A, 0x0020, 0, MODULE_USB_PD, 0) /* SPI1: SCK(PA5) */
ALTERNATE(B, 0x0200, 2, MODULE_USB_PD, 0) /* TIM17_CH1: (PB9) */
ALTERNATE(A, 0xC000, 1, MODULE_UART, 0) /* USART2: PA14/PA15 */
ALTERNATE(B, 0x0C00, 1, MODULE_I2C, 0) /* I2C MASTER:PB10/11 */
-
diff --git a/board/rambi/gpio.inc b/board/rambi/gpio.inc
index 43a87ae928..c4f52acbd1 100644
--- a/board/rambi/gpio.inc
+++ b/board/rambi/gpio.inc
@@ -6,65 +6,65 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt)
-GPIO(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt)
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt)
-GPIO(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S4_L, H, 1, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP3300_PCH_PGOOD, C, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 3.3V (PCH supply) */
-GPIO(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
-GPIO(S5_PGOOD, G, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on S5 supplies */
-GPIO(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO(UART0_RX, A, 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, uart_deepsleep_interrupt) /* UART0 RX input */
+GPIO_INT(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt)
+GPIO_INT(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt)
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt)
+GPIO_INT(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S4_L, H, 1, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
+GPIO_INT(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP3300_PCH_PGOOD, C, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 3.3V (PCH supply) */
+GPIO_INT(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
+GPIO_INT(S5_PGOOD, G, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on S5 supplies */
+GPIO_INT(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
+GPIO_INT(UART0_RX, A, 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, uart_deepsleep_interrupt) /* UART0 RX input */
/* Other inputs */
-GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT, NULL)
-GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT, NULL)
-GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT, NULL)
+GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT)
+GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT)
+GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT)
#ifdef CONFIG_CHIPSET_DEBUG
-GPIO(PCH_SLP_SX_L, G, 3, GPIO_INPUT | GPIO_PULL_UP, NULL) /* SLP_S0IX# signal from PCH */
-GPIO(PCH_SUS_STAT_L, G, 6, GPIO_INPUT | GPIO_PULL_UP, NULL) /* SUS_STAT# signal from PCH */
-GPIO(PCH_SUSPWRDNACK, G, 2, GPIO_INPUT | GPIO_PULL_UP, NULL) /* SUSPWRDNACK signal from PCH */
+GPIO(PCH_SLP_SX_L, G, 3, GPIO_INPUT | GPIO_PULL_UP) /* SLP_S0IX# signal from PCH */
+GPIO(PCH_SUS_STAT_L, G, 6, GPIO_INPUT | GPIO_PULL_UP) /* SUS_STAT# signal from PCH */
+GPIO(PCH_SUSPWRDNACK, G, 2, GPIO_INPUT | GPIO_PULL_UP) /* SUSPWRDNACK signal from PCH */
#endif
-GPIO(PP1000_S0IX_PGOOD, H, 6, GPIO_INPUT, NULL) /* Power good on 1.00V (S0iX supplies) */
-GPIO(USB1_OC_L, E, 7, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB2_OC_L, E, 0, GPIO_INPUT, NULL) /* USB port overcurrent warning */
+GPIO(PP1000_S0IX_PGOOD, H, 6, GPIO_INPUT) /* Power good on 1.00V (S0iX supplies) */
+GPIO(USB1_OC_L, E, 7, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB2_OC_L, E, 0, GPIO_INPUT) /* USB port overcurrent warning */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, B, 5, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_ODR_HIGH, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, D, 6, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH, NULL) /* Request that PCH drive LPC clock */
-GPIO(PCH_CORE_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* Indicate core well power is stable */
-GPIO(PCH_PWRBTN_L, H, 0, GPIO_ODR_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_RCIN_L, F, 3, GPIO_ODR_HIGH, NULL) /* Reset line to PCH (for 8042 emulation) */
-GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(PCH_SOC_OVERRIDE, G, 1, GPIO_OUT_LOW, NULL) /* SOC override signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_SYS_PWROK, J, 1, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(PCH_WAKE_L, F, 0, GPIO_ODR_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW, NULL) /* Enable 1.35V supply */
-GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW, NULL) /* Enable power to lots of peripherals */
-GPIO(PP3300_LTE_EN, D, 4, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(PPSX_EN, L, 6, GPIO_OUT_LOW, NULL) /* Enable PP1350_PCH_SX, PP1000_PCH_SX */
-GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW, NULL) /* Reset touch screen */
-GPIO(USB_CTL1, E, 6, GPIO_OUT_LOW, NULL) /* USB control signal 1 to both ports */
-GPIO(USB_ILIM_SEL, E, 5, GPIO_OUT_LOW, NULL) /* USB current limit to both ports */
-GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW, NULL) /* USB port 1 output power enable */
-GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW, NULL) /* USB port 2 output power enable */
-GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW, NULL) /* Enable core power supplies */
-GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(PCH_SCI_L, M, 1, GPIO_ODR_HIGH, NULL) /* Assert SCI to PCH */
-GPIO(KBD_IRQ_L, M, 3, GPIO_ODR_HIGH, NULL) /* Negative edge triggered irq. */
+GPIO(CPU_PROCHOT, B, 5, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_ODR_HIGH) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, D, 6, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH) /* Request that PCH drive LPC clock */
+GPIO(PCH_CORE_PWROK, F, 5, GPIO_OUT_LOW) /* Indicate core well power is stable */
+GPIO(PCH_PWRBTN_L, H, 0, GPIO_ODR_HIGH) /* Power button output to PCH */
+GPIO(PCH_RCIN_L, F, 3, GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
+GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(PCH_SOC_OVERRIDE, G, 1, GPIO_OUT_LOW) /* SOC override signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_SYS_PWROK, J, 1, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(PCH_WAKE_L, F, 0, GPIO_ODR_HIGH) /* Wake signal from EC to PCH */
+GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW) /* Enable 1.35V supply */
+GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW) /* Enable power to lots of peripherals */
+GPIO(PP3300_LTE_EN, D, 4, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(PPSX_EN, L, 6, GPIO_OUT_LOW) /* Enable PP1350_PCH_SX, PP1000_PCH_SX */
+GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW) /* Reset touch screen */
+GPIO(USB_CTL1, E, 6, GPIO_OUT_LOW) /* USB control signal 1 to both ports */
+GPIO(USB_ILIM_SEL, E, 5, GPIO_OUT_LOW) /* USB current limit to both ports */
+GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW) /* USB port 1 output power enable */
+GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW) /* USB port 2 output power enable */
+GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW) /* Enable core power supplies */
+GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(PCH_SCI_L, M, 1, GPIO_ODR_HIGH) /* Assert SCI to PCH */
+GPIO(KBD_IRQ_L, M, 3, GPIO_ODR_HIGH) /* Negative edge triggered irq. */
ALTERNATE(A, 0x03, 1, MODULE_UART, 0) /* UART0 */
ALTERNATE(B, 0x04, 3, MODULE_I2C, 0) /* I2C0 SCL */
diff --git a/board/ryu/gpio.inc b/board/ryu/gpio.inc
index 5922676fb7..816e9e3e68 100644
--- a/board/ryu/gpio.inc
+++ b/board/ryu/gpio.inc
@@ -6,120 +6,120 @@
*/
/* Interrupts */
-GPIO(CHGR_ACOK, D, 4, GPIO_INT_BOTH | GPIO_PULL_UP, vbus_evt)
-GPIO(POWER_BUTTON_L, C, 13, GPIO_INT_BOTH, power_button_interrupt) /* active high, the name is for compatibility with existing code */
-GPIO(USBC_BC12_INT_L, D, 11, GPIO_INT_FALLING | GPIO_PULL_UP, usb_evt)
-GPIO(LID_OPEN, E, 1, GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt)
-GPIO(CHARGE_DONE, E, 6, GPIO_INT_BOTH, inductive_charging_interrupt)
-GPIO(AP_IN_SUSPEND, F, 9, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(AP_HOLD, E, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(BC_TEMP_ALERT_L, C, 5, GPIO_INT_FALLING, NULL)
-GPIO(LB_INT_L, E, 7, GPIO_INT_FALLING | GPIO_PULL_UP, NULL)
-GPIO(LIGHTBAR_EN_L, E, 8, GPIO_INT_FALLING | GPIO_PULL_UP, NULL)
-GPIO(BASE_PRES_L, E, 10, GPIO_INT_BOTH | GPIO_PULL_UP, NULL)
+GPIO_INT(CHGR_ACOK, D, 4, GPIO_INT_BOTH | GPIO_PULL_UP, vbus_evt)
+GPIO_INT(POWER_BUTTON_L, C, 13, GPIO_INT_BOTH, power_button_interrupt) /* active high, the name is for compatibility with existing code */
+GPIO_INT(USBC_BC12_INT_L, D, 11, GPIO_INT_FALLING | GPIO_PULL_UP, usb_evt)
+GPIO_INT(LID_OPEN, E, 1, GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt)
+GPIO_INT(CHARGE_DONE, E, 6, GPIO_INT_BOTH, inductive_charging_interrupt)
+GPIO_INT(AP_IN_SUSPEND, F, 9, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(AP_HOLD, E, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO(BC_TEMP_ALERT_L, C, 5, GPIO_INT_FALLING)
+GPIO(LB_INT_L, E, 7, GPIO_INT_FALLING | GPIO_PULL_UP)
+GPIO(LIGHTBAR_EN_L, E, 8, GPIO_INT_FALLING | GPIO_PULL_UP)
+GPIO(BASE_PRES_L, E, 10, GPIO_INT_BOTH | GPIO_PULL_UP)
/* Buttons */
-GPIO(BTN_VOLD_L, C, 0, GPIO_INPUT | GPIO_PULL_UP, NULL)
-GPIO(BTN_VOLU_L, A, 2, GPIO_INPUT | GPIO_PULL_UP, NULL)
+GPIO(BTN_VOLD_L, C, 0, GPIO_INPUT | GPIO_PULL_UP)
+GPIO(BTN_VOLU_L, A, 2, GPIO_INPUT | GPIO_PULL_UP)
/* PD RX/TX */
-GPIO(USBC_CC1_PD, A, 1, GPIO_ANALOG, NULL)
-GPIO(USBC_CC2_PD, A, 3, GPIO_ANALOG, NULL)
-GPIO(USBC_CC_EN, A, 4, GPIO_OUT_LOW, NULL)
-GPIO(USBC_CC_TX_DATA, A, 6, GPIO_OUT_LOW, NULL)
-GPIO(USBC_CC_TX_EN, D, 7, GPIO_OUT_LOW, NULL)
+GPIO(USBC_CC1_PD, A, 1, GPIO_ANALOG)
+GPIO(USBC_CC2_PD, A, 3, GPIO_ANALOG)
+GPIO(USBC_CC_EN, A, 4, GPIO_OUT_LOW)
+GPIO(USBC_CC_TX_DATA, A, 6, GPIO_OUT_LOW)
+GPIO(USBC_CC_TX_EN, D, 7, GPIO_OUT_LOW)
#if 0
/* Alternate functions */
-GPIO(USBC_TX_CLKOUT, B, 1, GPIO_OUT_LOW, NULL)
-GPIO(USBC_TX_CLKIN, B, 3, GPIO_OUT_LOW, NULL)
+GPIO(USBC_TX_CLKOUT, B, 1, GPIO_OUT_LOW)
+GPIO(USBC_TX_CLKIN, B, 3, GPIO_OUT_LOW)
#endif
/* System power */
-GPIO(PMIC_PWRON_L, D, 14, GPIO_ODR_HIGH, NULL)
-GPIO(PMIC_WARM_RESET_L, E, 4, GPIO_ODR_HIGH, NULL)
-GPIO(EN_PP5000, A, 14, GPIO_OUT_LOW, NULL) /* Proto 5+ */
+GPIO(PMIC_PWRON_L, D, 14, GPIO_ODR_HIGH)
+GPIO(PMIC_WARM_RESET_L, E, 4, GPIO_ODR_HIGH)
+GPIO(EN_PP5000, A, 14, GPIO_OUT_LOW) /* Proto 5+ */
/*
* We are missing an external pull-up for EN_PP3300. Pull it up here.
* EN_PP3300 is still controlled by PMIC though.
*/
-GPIO(EN_PP3300_RSVD, E, 13, GPIO_INPUT | GPIO_PULL_UP, NULL)
+GPIO(EN_PP3300_RSVD, E, 13, GPIO_INPUT | GPIO_PULL_UP)
/* sensor temp output and PMIC reset input */
-GPIO(P5_PMIC_THERM_L, B, 8, GPIO_ODR_HIGH, NULL)
+GPIO(P5_PMIC_THERM_L, B, 8, GPIO_ODR_HIGH)
/* TODO(crosbug.com/p/38333) remove P4_PMIC_THERM_L */
-GPIO(P4_PMIC_THERM_L, D, 12, GPIO_ODR_HIGH, NULL)
+GPIO(P4_PMIC_THERM_L, D, 12, GPIO_ODR_HIGH)
-GPIO(VBUS_SENSE, A, 0, GPIO_ANALOG, NULL)
-GPIO(CHGR_IADP, B, 0, GPIO_ANALOG, NULL)
-GPIO(CHGR_IBAT, C, 3, GPIO_ANALOG, NULL)
+GPIO(VBUS_SENSE, A, 0, GPIO_ANALOG)
+GPIO(CHGR_IADP, B, 0, GPIO_ANALOG)
+GPIO(CHGR_IBAT, C, 3, GPIO_ANALOG)
/* Inductive charging */
-GPIO(CHARGE_EN, D, 13, GPIO_OUT_LOW, NULL)
-GPIO(BASE_CHG_VDD_EN, E, 5, GPIO_OUT_LOW, NULL)
+GPIO(CHARGE_EN, D, 13, GPIO_OUT_LOW)
+GPIO(BASE_CHG_VDD_EN, E, 5, GPIO_OUT_LOW)
/* USB-C Power and muxes control */
-GPIO(USBC_CHARGE_EN_L, A, 7, GPIO_OUT_LOW, NULL)
-GPIO(USBC_5V_EN, D, 8, GPIO_OUT_LOW, NULL)
-GPIO(USBC_VCONN1_EN_L, F, 10, GPIO_OUT_HIGH, NULL)
-GPIO(USBC_VCONN2_EN_L, D, 10, GPIO_OUT_HIGH, NULL)
+GPIO(USBC_CHARGE_EN_L, A, 7, GPIO_OUT_LOW)
+GPIO(USBC_5V_EN, D, 8, GPIO_OUT_LOW)
+GPIO(USBC_VCONN1_EN_L, F, 10, GPIO_OUT_HIGH)
+GPIO(USBC_VCONN2_EN_L, D, 10, GPIO_OUT_HIGH)
-GPIO(USBC_CC1_DEVICE_ODL, A, 5, GPIO_ODR_LOW, NULL)
-GPIO(USBC_CC2_DEVICE_ODL, E, 14, GPIO_ODR_LOW, NULL)
+GPIO(USBC_CC1_DEVICE_ODL, A, 5, GPIO_ODR_LOW)
+GPIO(USBC_CC2_DEVICE_ODL, E, 14, GPIO_ODR_LOW)
/* Pericom PI3USB30592 mux controls on Proto 5+ */
-GPIO(USBC_MUX_CONF0, D, 3, GPIO_OUT_LOW, NULL)
-GPIO(USBC_MUX_CONF1, D, 9, GPIO_OUT_LOW, NULL)
-GPIO(USBC_MUX_CONF2, E, 0, GPIO_OUT_LOW, NULL)
+GPIO(USBC_MUX_CONF0, D, 3, GPIO_OUT_LOW)
+GPIO(USBC_MUX_CONF1, D, 9, GPIO_OUT_LOW)
+GPIO(USBC_MUX_CONF2, E, 0, GPIO_OUT_LOW)
/* TODO(crosbug.com/p/38333) remove USBC_DP_xxx GPIOs */
-GPIO(USBC_DP_MODE_L, D, 1, GPIO_OUT_HIGH, NULL)
-GPIO(USBC_DP_POLARITY, D, 2, GPIO_OUT_HIGH, NULL)
+GPIO(USBC_DP_MODE_L, D, 1, GPIO_OUT_HIGH)
+GPIO(USBC_DP_POLARITY, D, 2, GPIO_OUT_HIGH)
/* Inputs */
-GPIO(BOARD_ID0, E, 11, GPIO_INPUT, NULL)
-GPIO(BOARD_ID1, E, 12, GPIO_INPUT, NULL)
-GPIO(SH_SIGNAL, E, 2, GPIO_INPUT, NULL)
+GPIO(BOARD_ID0, E, 11, GPIO_INPUT)
+GPIO(BOARD_ID1, E, 12, GPIO_INPUT)
+GPIO(SH_SIGNAL, E, 2, GPIO_INPUT)
/* Lightbar reset */
-GPIO(LB_RST_L, D, 15, GPIO_ODR_HIGH | GPIO_PULL_UP, NULL)
+GPIO(LB_RST_L, D, 15, GPIO_ODR_HIGH | GPIO_PULL_UP)
#if 0
/* Alternate functions */
-GPIO(USB_DM, A, 11, GPIO_ANALOG, NULL)
-GPIO(USB_DP, A, 12, GPIO_ANALOG, NULL)
-GPIO(UART_TX, D, 5, GPIO_OUT_LOW, NULL)
-GPIO(UART_RX, D, 6, GPIO_OUT_LOW, NULL)
+GPIO(USB_DM, A, 11, GPIO_ANALOG)
+GPIO(USB_DP, A, 12, GPIO_ANALOG)
+GPIO(UART_TX, D, 5, GPIO_OUT_LOW)
+GPIO(UART_RX, D, 6, GPIO_OUT_LOW)
#endif
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(MASTER_I2C_SCL, A, 15, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, A, 14, GPIO_INPUT, NULL)
-GPIO(SLAVE_I2C_SCL, A, 9, GPIO_INPUT, NULL)
-GPIO(SLAVE_I2C_SDA, A, 10, GPIO_INPUT, NULL)
+GPIO(MASTER_I2C_SCL, A, 15, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, A, 14, GPIO_INPUT)
+GPIO(SLAVE_I2C_SCL, A, 9, GPIO_INPUT)
+GPIO(SLAVE_I2C_SDA, A, 10, GPIO_INPUT)
/* SCL gating for PI3USB9281 */
-GPIO(PERICOM_CLK_EN, C, 15, GPIO_OUT_HIGH, NULL)
+GPIO(PERICOM_CLK_EN, C, 15, GPIO_OUT_HIGH)
/* Case closed debugging. */
-GPIO(USB_PU_EN_L, C, 2, GPIO_OUT_HIGH, NULL)
-GPIO(PD_DISABLE_DEBUG, C, 6, GPIO_OUT_LOW, NULL)
-GPIO(SPI_FLASH_NSS, B, 9, GPIO_INPUT, NULL)
-GPIO(VDDSPI_EN, C, 12, GPIO_OUT_LOW, NULL)
-GPIO(SH_RESET, C, 4, GPIO_ODR_HIGH, NULL)
-GPIO(SH_BOOT, C, 9, GPIO_ODR_HIGH, NULL)
-GPIO(EC_INT_L, F, 2, GPIO_ODR_HIGH, NULL)
-GPIO(ENTERING_RW, E, 15, GPIO_OUT_LOW, NULL)
-GPIO(WP_L, F, 6, GPIO_INPUT, NULL)
-GPIO(FW_DEBUG_MODE_L, C, 7, GPIO_ODR_HIGH, NULL) /* Proto 5+ */
+GPIO(USB_PU_EN_L, C, 2, GPIO_OUT_HIGH)
+GPIO(PD_DISABLE_DEBUG, C, 6, GPIO_OUT_LOW)
+GPIO(SPI_FLASH_NSS, B, 9, GPIO_INPUT)
+GPIO(VDDSPI_EN, C, 12, GPIO_OUT_LOW)
+GPIO(SH_RESET, C, 4, GPIO_ODR_HIGH)
+GPIO(SH_BOOT, C, 9, GPIO_ODR_HIGH)
+GPIO(EC_INT_L, F, 2, GPIO_ODR_HIGH)
+GPIO(ENTERING_RW, E, 15, GPIO_OUT_LOW)
+GPIO(WP_L, F, 6, GPIO_INPUT)
+GPIO(FW_DEBUG_MODE_L, C, 7, GPIO_ODR_HIGH) /* Proto 5+ */
#if 0
/* Alternate functions */
-GPIO(SH_UART_TX, C, 11, GPIO_OUT_LOW, NULL)
-GPIO(SH_UART_RX, C, 10, GPIO_INPUT, NULL)
-GPIO(AP_UART_TX, B, 6, GPIO_OUT_LOW, NULL)
-GPIO(AP_UART_RX, B, 7, GPIO_INPUT, NULL)
+GPIO(SH_UART_TX, C, 11, GPIO_OUT_LOW)
+GPIO(SH_UART_RX, C, 10, GPIO_INPUT)
+GPIO(AP_UART_TX, B, 6, GPIO_OUT_LOW)
+GPIO(AP_UART_RX, B, 7, GPIO_INPUT)
#endif
UNIMPLEMENTED(AP_RESET_L)
diff --git a/board/ryu_sh/gpio.inc b/board/ryu_sh/gpio.inc
index 767fc0aa43..f508ac8e9d 100644
--- a/board/ryu_sh/gpio.inc
+++ b/board/ryu_sh/gpio.inc
@@ -6,27 +6,27 @@
*/
/* Interrupts */
-GPIO(AP_IN_SUSPEND, E, 9, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(AP_IN_SUSPEND, E, 9, GPIO_INT_BOTH, power_signal_interrupt)
/*
* TODO(gwendal): Follow Rambus work.
* Combined accelerometer input. This will become an interrupt, once we have
* support for it.
*/
-GPIO(ACC_IRQ, B, 12, GPIO_INPUT, NULL)
+GPIO(ACC_IRQ, B, 12, GPIO_INPUT)
/* Outputs */
-GPIO(SH_EC_SIGNAL, A, 7, GPIO_OUT_LOW, NULL)
-GPIO(SH_IRQ_L, A, 11, GPIO_OUT_LOW, NULL)
+GPIO(SH_EC_SIGNAL, A, 7, GPIO_OUT_LOW)
+GPIO(SH_IRQ_L, A, 11, GPIO_OUT_LOW)
/* Inputs */
-GPIO(LID_CLOSED, A, 2, GPIO_INPUT, NULL)
-GPIO(BASE_PRESENT, A, 3, GPIO_INPUT, NULL)
-GPIO(COMPASS_DRDY, B, 11, GPIO_INPUT, NULL)
+GPIO(LID_CLOSED, A, 2, GPIO_INPUT)
+GPIO(BASE_PRESENT, A, 3, GPIO_INPUT)
+GPIO(COMPASS_DRDY, B, 11, GPIO_INPUT)
#if 0
/* Alternate functions */
-GPIO(UART_TX, A, 9, GPIO_OUT_LOW, NULL)
-GPIO(UART_RX, A, 10, GPIO_OUT_LOW, NULL)
+GPIO(UART_TX, A, 9, GPIO_OUT_LOW)
+GPIO(UART_RX, A, 10, GPIO_OUT_LOW)
#endif
/* Needed to bypass flash write protection */
@@ -37,10 +37,10 @@ UNIMPLEMENTED(WP)
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SCL, B, 13, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 14, GPIO_INPUT, NULL)
+GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT)
+GPIO(MASTER_I2C_SCL, B, 13, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 14, GPIO_INPUT)
ALTERNATE(A, 0x0600, 1, MODULE_UART, 0) /* USART1: PA9/PA10 */
ALTERNATE(B, 0x00C0, 1, MODULE_I2C, 0) /* I2C SLAVE:PB6/7 */
diff --git a/board/ryu_sh_loader/gpio.inc b/board/ryu_sh_loader/gpio.inc
index 50b0e32a6d..d4c9e85054 100644
--- a/board/ryu_sh_loader/gpio.inc
+++ b/board/ryu_sh_loader/gpio.inc
@@ -6,20 +6,20 @@
*/
/* Interrupts */
-GPIO(AP_IN_SUSPEND, E, 9, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(AP_IN_SUSPEND, E, 9, GPIO_INT_BOTH, power_signal_interrupt)
/* Outputs */
-GPIO(SH_EC_SIGNAL, A, 7, GPIO_OUT_LOW, NULL)
-GPIO(SH_IRQ_L, A, 11, GPIO_OUT_LOW, NULL)
+GPIO(SH_EC_SIGNAL, A, 7, GPIO_OUT_LOW)
+GPIO(SH_IRQ_L, A, 11, GPIO_OUT_LOW)
/* Inputs */
-GPIO(LID_CLOSED, A, 2, GPIO_INPUT, NULL)
-GPIO(BASE_PRESENT, A, 3, GPIO_INPUT, NULL)
+GPIO(LID_CLOSED, A, 2, GPIO_INPUT)
+GPIO(BASE_PRESENT, A, 3, GPIO_INPUT)
#if 0
/* Alternate functions */
-GPIO(UART_TX, A, 9, GPIO_OUT_LOW, NULL)
-GPIO(UART_RX, A, 10, GPIO_OUT_LOW, NULL)
+GPIO(UART_TX, A, 9, GPIO_OUT_LOW)
+GPIO(UART_RX, A, 10, GPIO_OUT_LOW)
#endif
/* Needed to bypass flash write protection */
@@ -30,8 +30,8 @@ UNIMPLEMENTED(WP)
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT, NULL)
+GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT)
ALTERNATE(A, 0x0600, 1, MODULE_UART, 0) /* USART1: PA9/PA10 */
ALTERNATE(B, 0x00C0, 1, MODULE_I2C, 0) /* I2C SLAVE:PB6/7 */
diff --git a/board/samus/gpio.inc b/board/samus/gpio.inc
index 966292bf7f..91d51a58ce 100644
--- a/board/samus/gpio.inc
+++ b/board/samus/gpio.inc
@@ -6,99 +6,99 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
-GPIO(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
-GPIO(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
-GPIO(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
-GPIO(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, power_signal_interrupt) /* SUSWARN# signal from PCH */
-GPIO(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP1200_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.2V (DRAM) */
-GPIO(PP1800_PGOOD, L, 7, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.8V (DRAM) */
-GPIO(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(PCH_BL_EN, M, 3, GPIO_INT_RISING, backlight_interrupt) /* PCH backlight input */
-GPIO(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
-GPIO(BKBOOST_DET, B, 5, GPIO_INT_RISING, bkboost_det_interrupt) /* Backboost detect */
+GPIO_INT(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
+GPIO_INT(PCH_SLP_S0_L, G, 6, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S5_L, H, 1, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
+GPIO_INT(PCH_SLP_SUS_L, G, 3, GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
+GPIO_INT(PCH_SUSWARN_L, G, 2, GPIO_INT_BOTH, power_signal_interrupt) /* SUSWARN# signal from PCH */
+GPIO_INT(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP1200_PGOOD, H, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.2V (DRAM) */
+GPIO_INT(PP1800_PGOOD, L, 7, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.8V (DRAM) */
+GPIO_INT(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(PCH_BL_EN, M, 3, GPIO_INT_RISING, backlight_interrupt) /* PCH backlight input */
+GPIO_INT(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
+GPIO_INT(UART0_RX, A, 0, GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
+GPIO_INT(BKBOOST_DET, B, 5, GPIO_INT_RISING, bkboost_det_interrupt) /* Backboost detect */
/* Interrupt signal from PD MCU, external pull-down */
-GPIO(PD_MCU_INT, J, 5, GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt)
+GPIO_INT(PD_MCU_INT, J, 5, GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt)
/*
* Combined accelerometer input. This will become an interrupt, once we have
* support for it.
*/
-GPIO(ACCEL_INT, F, 7, GPIO_INPUT, NULL)
+GPIO(ACCEL_INT, F, 7, GPIO_INPUT)
/*
* Ambient Light Sensor input. This could become an interrupt once supported.
*/
-GPIO(ALS_INT_L, N, 0, GPIO_INPUT, NULL)
+GPIO(ALS_INT_L, N, 0, GPIO_INPUT)
/* Other inputs */
-GPIO(BOARD_VERSION1, Q, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, Q, 5, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
-GPIO(USB1_OC_L, E, 7, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB1_STATUS_L, E, 6, GPIO_INPUT, NULL) /* USB charger port 1 status output */
-GPIO(USB2_OC_L, E, 0, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB2_STATUS_L, D, 7, GPIO_INPUT, NULL) /* USB charger port 2 status output */
-GPIO(PD_IN_RW, A, 5, GPIO_INPUT, NULL) /* PD is in RW */
-GPIO(PCH_HDA_SDO_L, G, 1, GPIO_INPUT, NULL) /* HDA_SDO signal to PCH to disable ME */
+GPIO(BOARD_VERSION1, Q, 7, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, Q, 5, GPIO_INPUT) /* Board version stuffing resistor 3 */
+GPIO(USB1_OC_L, E, 7, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB1_STATUS_L, E, 6, GPIO_INPUT) /* USB charger port 1 status output */
+GPIO(USB2_OC_L, E, 0, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB2_STATUS_L, D, 7, GPIO_INPUT) /* USB charger port 2 status output */
+GPIO(PD_IN_RW, A, 5, GPIO_INPUT) /* PD is in RW */
+GPIO(PCH_HDA_SDO_L, G, 1, GPIO_INPUT) /* HDA_SDO signal to PCH to disable ME */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(PP1200_EN, H, 5, GPIO_OUT_LOW, NULL) /* Enable 1.20V supply */
-GPIO(PP3300_DSW_EN, F, 6, GPIO_OUT_LOW, NULL) /* Enable 3.3V DSW rail */
-GPIO(PP3300_DSW_GATED_EN, J, 3, GPIO_OUT_LOW, NULL) /* Enable 3.3V Gated DSW and core VDD */
-GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(PP1050_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(PP5000_USB_EN, C, 5, GPIO_OUT_LOW, NULL) /* Enable USB power */
-GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(PP1800_EN, L, 6, GPIO_OUT_LOW, NULL) /* Enable 1.8V supply */
-GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(USB_MCU_RST, B, 0, GPIO_OUT_LOW, NULL) /* USB PD MCU reset */
-GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(LIGHTBAR_RESET_L, J, 2, GPIO_ODR_LOW, NULL) /* Reset lightbar controllers */
-GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW, NULL) /* Indicate when VccDSW is good */
-GPIO(PCH_RSMRST_L, C, 4, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_RTCRST_L, J, 1, GPIO_ODR_HIGH, NULL) /* Reset PCH RTC well */
-GPIO(PCH_WAKE_L, F, 0, GPIO_ODR_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PCH_NMI_L, F, 2, GPIO_ODR_HIGH, NULL) /* Non-maskable interrupt pin to PCH */
-GPIO(PCH_PWRBTN_L, H, 0, GPIO_ODR_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* PWROK / APWROK signals to PCH */
-GPIO(PCH_RCIN_L, F, 3, GPIO_ODR_HIGH, NULL) /* RCIN# line to PCH (for 8042 emulation) */
-GPIO(PCH_SYS_RST_L, F, 1, GPIO_ODR_HIGH, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_ODR_LOW, NULL) /* Reset touch screen */
-GPIO(PCH_ACOK, M, 6, GPIO_OUT_LOW, NULL) /* AC present signal buffered to PCH */
+GPIO(CPU_PROCHOT, B, 1, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(PP1200_EN, H, 5, GPIO_OUT_LOW) /* Enable 1.20V supply */
+GPIO(PP3300_DSW_EN, F, 6, GPIO_OUT_LOW) /* Enable 3.3V DSW rail */
+GPIO(PP3300_DSW_GATED_EN, J, 3, GPIO_OUT_LOW) /* Enable 3.3V Gated DSW and core VDD */
+GPIO(PP3300_LTE_EN, D, 2, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(PP1050_EN, C, 7, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(PP5000_USB_EN, C, 5, GPIO_OUT_LOW) /* Enable USB power */
+GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(PP1800_EN, L, 6, GPIO_OUT_LOW) /* Enable 1.8V supply */
+GPIO(SYS_PWROK, H, 2, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(USB_MCU_RST, B, 0, GPIO_OUT_LOW) /* USB PD MCU reset */
+GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_OUT_LOW) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, D, 3, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(LIGHTBAR_RESET_L, J, 2, GPIO_ODR_LOW) /* Reset lightbar controllers */
+GPIO(PCH_DPWROK, G, 0, GPIO_OUT_LOW) /* Indicate when VccDSW is good */
+GPIO(PCH_RSMRST_L, C, 4, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_RTCRST_L, J, 1, GPIO_ODR_HIGH) /* Reset PCH RTC well */
+GPIO(PCH_WAKE_L, F, 0, GPIO_ODR_HIGH) /* Wake signal from EC to PCH */
+GPIO(PCH_NMI_L, F, 2, GPIO_ODR_HIGH) /* Non-maskable interrupt pin to PCH */
+GPIO(PCH_PWRBTN_L, H, 0, GPIO_ODR_HIGH) /* Power button output to PCH */
+GPIO(PCH_PWROK, F, 5, GPIO_OUT_LOW) /* PWROK / APWROK signals to PCH */
+GPIO(PCH_RCIN_L, F, 3, GPIO_ODR_HIGH) /* RCIN# line to PCH (for 8042 emulation) */
+GPIO(PCH_SYS_RST_L, F, 1, GPIO_ODR_HIGH) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_ODR_LOW) /* Reset touch screen */
+GPIO(PCH_ACOK, M, 6, GPIO_OUT_LOW) /* AC present signal buffered to PCH */
#ifndef HEY_USE_BUILTIN_CLKRUN
-GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH, NULL) /* Dunno. Probably important, though. */
+GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH) /* Dunno. Probably important, though. */
#endif
-GPIO(USB1_CTL1, E, 1, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL1 output */
-GPIO(USB1_CTL2, E, 2, GPIO_OUT_HIGH, NULL) /* USB charger port 1 CTL2 output */
-GPIO(USB1_CTL3, E, 3, GPIO_OUT_LOW, NULL) /* USB charger port 1 CTL3 output */
-GPIO(USB1_ENABLE, E, 4, GPIO_OUT_HIGH, NULL) /* USB charger port 1 enable */
-GPIO(USB1_ILIM_SEL_L, E, 5, GPIO_OUT_HIGH, NULL) /* USB charger port 1 ILIM_SEL output */
-GPIO(USB2_CTL1, D, 0, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL1 output */
-GPIO(USB2_CTL2, D, 1, GPIO_OUT_HIGH, NULL) /* USB charger port 2 CTL2 output */
-GPIO(USB2_CTL3, D, 4, GPIO_OUT_LOW, NULL) /* USB charger port 2 CTL3 output */
-GPIO(USB2_ENABLE, D, 5, GPIO_OUT_HIGH, NULL) /* USB charger port 2 enable */
-GPIO(USB2_ILIM_SEL_L, D, 6, GPIO_OUT_HIGH, NULL) /* USB charger port 2 ILIM_SEL output */
+GPIO(USB1_CTL1, E, 1, GPIO_OUT_LOW) /* USB charger port 1 CTL1 output */
+GPIO(USB1_CTL2, E, 2, GPIO_OUT_HIGH) /* USB charger port 1 CTL2 output */
+GPIO(USB1_CTL3, E, 3, GPIO_OUT_LOW) /* USB charger port 1 CTL3 output */
+GPIO(USB1_ENABLE, E, 4, GPIO_OUT_HIGH) /* USB charger port 1 enable */
+GPIO(USB1_ILIM_SEL_L, E, 5, GPIO_OUT_HIGH) /* USB charger port 1 ILIM_SEL output */
+GPIO(USB2_CTL1, D, 0, GPIO_OUT_LOW) /* USB charger port 2 CTL1 output */
+GPIO(USB2_CTL2, D, 1, GPIO_OUT_HIGH) /* USB charger port 2 CTL2 output */
+GPIO(USB2_CTL3, D, 4, GPIO_OUT_LOW) /* USB charger port 2 CTL3 output */
+GPIO(USB2_ENABLE, D, 5, GPIO_OUT_HIGH) /* USB charger port 2 enable */
+GPIO(USB2_ILIM_SEL_L, D, 6, GPIO_OUT_HIGH) /* USB charger port 2 ILIM_SEL output */
-GPIO(I2C0_SCL, B, 2, GPIO_ODR_HIGH, NULL) /* I2C port 0 SCL */
-GPIO(I2C0_SDA, B, 3, GPIO_ODR_HIGH, NULL) /* I2C port 0 SDA */
-GPIO(I2C1_SCL, A, 6, GPIO_ODR_HIGH, NULL) /* I2C port 1 SCL */
-GPIO(I2C1_SDA, A, 7, GPIO_ODR_HIGH, NULL) /* I2C port 1 SDA */
-GPIO(I2C5_SCL, B, 6, GPIO_ODR_HIGH, NULL) /* I2C port 5 SCL */
-GPIO(I2C5_SDA, B, 7, GPIO_ODR_HIGH, NULL) /* I2C port 5 SDA */
+GPIO(I2C0_SCL, B, 2, GPIO_ODR_HIGH) /* I2C port 0 SCL */
+GPIO(I2C0_SDA, B, 3, GPIO_ODR_HIGH) /* I2C port 0 SDA */
+GPIO(I2C1_SCL, A, 6, GPIO_ODR_HIGH) /* I2C port 1 SCL */
+GPIO(I2C1_SDA, A, 7, GPIO_ODR_HIGH) /* I2C port 1 SDA */
+GPIO(I2C5_SCL, B, 6, GPIO_ODR_HIGH) /* I2C port 5 SCL */
+GPIO(I2C5_SDA, B, 7, GPIO_ODR_HIGH) /* I2C port 5 SDA */
ALTERNATE(A, 0x03, 1, MODULE_UART, 0) /* UART0 */
ALTERNATE(A, 0x40, 3, MODULE_I2C, 0) /* I2C1 SCL */
diff --git a/board/samus_pd/gpio.inc b/board/samus_pd/gpio.inc
index f06328938e..3a44daa662 100644
--- a/board/samus_pd/gpio.inc
+++ b/board/samus_pd/gpio.inc
@@ -6,118 +6,118 @@
*/
/* Interrupts */
-GPIO(USB_C0_VBUS_WAKE, E, 6, GPIO_INT_BOTH, vbus0_evt)
-GPIO(USB_C1_VBUS_WAKE, F, 2, GPIO_INT_BOTH, vbus1_evt)
-GPIO(USB_C0_BC12_INT_L, B, 0, GPIO_INT_FALLING, usb0_evt)
-GPIO(USB_C1_BC12_INT_L, C, 11, GPIO_INT_FALLING, usb1_evt)
-GPIO(PCH_SLP_S0_L, C, 14, GPIO_INT_BOTH, pch_evt)
-GPIO(PCH_SLP_S3_L, C, 15, GPIO_INT_BOTH, pch_evt)
-GPIO(PCH_SLP_S5_L, D, 7, GPIO_INT_BOTH, pch_evt)
-GPIO(WP_L, D, 2, GPIO_INT_BOTH, switch_interrupt)
+GPIO_INT(USB_C0_VBUS_WAKE, E, 6, GPIO_INT_BOTH, vbus0_evt)
+GPIO_INT(USB_C1_VBUS_WAKE, F, 2, GPIO_INT_BOTH, vbus1_evt)
+GPIO_INT(USB_C0_BC12_INT_L, B, 0, GPIO_INT_FALLING, usb0_evt)
+GPIO_INT(USB_C1_BC12_INT_L, C, 11, GPIO_INT_FALLING, usb1_evt)
+GPIO_INT(PCH_SLP_S0_L, C, 14, GPIO_INT_BOTH, pch_evt)
+GPIO_INT(PCH_SLP_S3_L, C, 15, GPIO_INT_BOTH, pch_evt)
+GPIO_INT(PCH_SLP_S5_L, D, 7, GPIO_INT_BOTH, pch_evt)
+GPIO_INT(WP_L, D, 2, GPIO_INT_BOTH, switch_interrupt)
/* PD RX/TX */
-GPIO(USB_C0_CC1_PD, A, 0, GPIO_ANALOG, NULL)
-GPIO(USB_C0_REF, A, 1, GPIO_ANALOG, NULL)
-GPIO(USB_C1_CC1_PD, A, 2, GPIO_ANALOG, NULL)
-GPIO(USB_C0_CC2_PD, A, 4, GPIO_ANALOG, NULL)
-GPIO(USB_C1_CC2_PD, A, 5, GPIO_ANALOG, NULL)
-GPIO(USB_C0_REF_PD_ODL, A, 6, GPIO_ODR_LOW, NULL)
+GPIO(USB_C0_CC1_PD, A, 0, GPIO_ANALOG)
+GPIO(USB_C0_REF, A, 1, GPIO_ANALOG)
+GPIO(USB_C1_CC1_PD, A, 2, GPIO_ANALOG)
+GPIO(USB_C0_CC2_PD, A, 4, GPIO_ANALOG)
+GPIO(USB_C1_CC2_PD, A, 5, GPIO_ANALOG)
+GPIO(USB_C0_REF_PD_ODL, A, 6, GPIO_ODR_LOW)
-GPIO(USB_C_CC_EN, C, 10, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_CC_TX_EN, A, 15, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_CC_TX_EN, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_CC1_TX_DATA, B, 4, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_CC1_TX_DATA, B, 14, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_CC2_TX_DATA, E, 14, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_CC2_TX_DATA, D, 3, GPIO_OUT_LOW, NULL)
+GPIO(USB_C_CC_EN, C, 10, GPIO_OUT_LOW)
+GPIO(USB_C1_CC_TX_EN, A, 15, GPIO_OUT_LOW)
+GPIO(USB_C0_CC_TX_EN, B, 9, GPIO_OUT_LOW)
+GPIO(USB_C1_CC1_TX_DATA, B, 4, GPIO_OUT_LOW)
+GPIO(USB_C0_CC1_TX_DATA, B, 14, GPIO_OUT_LOW)
+GPIO(USB_C1_CC2_TX_DATA, E, 14, GPIO_OUT_LOW)
+GPIO(USB_C0_CC2_TX_DATA, D, 3, GPIO_OUT_LOW)
#if 0
/* Alternate functions */
-GPIO(USB_C1_TX_CLKOUT, B, 1, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_TX_CLKOUT, E, 1, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_TX_CLKIN, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_TX_CLKIN, B, 13, GPIO_OUT_LOW, NULL)
+GPIO(USB_C1_TX_CLKOUT, B, 1, GPIO_OUT_LOW)
+GPIO(USB_C0_TX_CLKOUT, E, 1, GPIO_OUT_LOW)
+GPIO(USB_C1_TX_CLKIN, B, 3, GPIO_OUT_LOW)
+GPIO(USB_C0_TX_CLKIN, B, 13, GPIO_OUT_LOW)
#endif
/* Power and muxes control */
-GPIO(PPVAR_BOOSTIN_SENSE, C, 1, GPIO_ANALOG, NULL)
-GPIO(PP3300_USB_PD_EN, A, 8, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_CHARGE_EN_L, D, 12, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_CHARGE_EN_L, D, 13, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_5V_EN, D, 14, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_5V_EN, D, 15, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_CC1_VCONN1_EN_L, D, 8, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_CC2_VCONN1_EN_L, D, 9, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_CC1_VCONN1_EN_L, D, 10, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_CC2_VCONN1_EN_L, D, 11, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_CC_1A5_EN, B, 12, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_CC_1A5_EN, E, 12, GPIO_OUT_LOW, NULL)
-GPIO(ILIM_ADJ_PWM, B, 15, GPIO_OUT_LOW, NULL)
+GPIO(PPVAR_BOOSTIN_SENSE, C, 1, GPIO_ANALOG)
+GPIO(PP3300_USB_PD_EN, A, 8, GPIO_OUT_HIGH)
+GPIO(USB_C0_CHARGE_EN_L, D, 12, GPIO_OUT_LOW)
+GPIO(USB_C1_CHARGE_EN_L, D, 13, GPIO_OUT_LOW)
+GPIO(USB_C0_5V_EN, D, 14, GPIO_OUT_LOW)
+GPIO(USB_C1_5V_EN, D, 15, GPIO_OUT_LOW)
+GPIO(USB_C0_CC1_VCONN1_EN_L, D, 8, GPIO_OUT_HIGH)
+GPIO(USB_C0_CC2_VCONN1_EN_L, D, 9, GPIO_OUT_HIGH)
+GPIO(USB_C1_CC1_VCONN1_EN_L, D, 10, GPIO_OUT_HIGH)
+GPIO(USB_C1_CC2_VCONN1_EN_L, D, 11, GPIO_OUT_HIGH)
+GPIO(USB_C0_CC_1A5_EN, B, 12, GPIO_OUT_LOW)
+GPIO(USB_C1_CC_1A5_EN, E, 12, GPIO_OUT_LOW)
+GPIO(ILIM_ADJ_PWM, B, 15, GPIO_OUT_LOW)
-GPIO(USB_C0_CC1_ODL, B, 8, GPIO_ODR_LOW, NULL)
-GPIO(USB_C0_CC2_ODL, E, 0, GPIO_ODR_LOW, NULL)
-GPIO(USB_C1_CC1_ODL, F, 9, GPIO_ODR_LOW, NULL)
-GPIO(USB_C1_CC2_ODL, F, 10, GPIO_ODR_LOW, NULL)
+GPIO(USB_C0_CC1_ODL, B, 8, GPIO_ODR_LOW)
+GPIO(USB_C0_CC2_ODL, E, 0, GPIO_ODR_LOW)
+GPIO(USB_C1_CC1_ODL, F, 9, GPIO_ODR_LOW)
+GPIO(USB_C1_CC2_ODL, F, 10, GPIO_ODR_LOW)
-GPIO(USB_C_BC12_SEL, C, 0, GPIO_OUT_LOW, NULL)
-GPIO(USB_C0_SS1_EN_L, E, 2, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_SS2_EN_L, E, 3, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_SS1_EN_L, E, 9, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_SS2_EN_L, E, 10, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_SS1_DP_MODE, E, 4, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_SS2_DP_MODE, E, 5, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_SS1_DP_MODE, E, 11, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_SS2_DP_MODE, E, 13, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_DP_MODE_L, E, 8, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_DP_MODE_L, F, 6, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_DP_POLARITY, E, 7, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C1_DP_POLARITY, F, 3, GPIO_OUT_HIGH, NULL)
-GPIO(USB_C0_DP_HPD, F, 0, GPIO_OUT_LOW, NULL)
-GPIO(USB_C1_DP_HPD, F, 1, GPIO_OUT_LOW, NULL)
+GPIO(USB_C_BC12_SEL, C, 0, GPIO_OUT_LOW)
+GPIO(USB_C0_SS1_EN_L, E, 2, GPIO_OUT_HIGH)
+GPIO(USB_C0_SS2_EN_L, E, 3, GPIO_OUT_HIGH)
+GPIO(USB_C1_SS1_EN_L, E, 9, GPIO_OUT_HIGH)
+GPIO(USB_C1_SS2_EN_L, E, 10, GPIO_OUT_HIGH)
+GPIO(USB_C0_SS1_DP_MODE, E, 4, GPIO_OUT_HIGH)
+GPIO(USB_C0_SS2_DP_MODE, E, 5, GPIO_OUT_HIGH)
+GPIO(USB_C1_SS1_DP_MODE, E, 11, GPIO_OUT_HIGH)
+GPIO(USB_C1_SS2_DP_MODE, E, 13, GPIO_OUT_HIGH)
+GPIO(USB_C0_DP_MODE_L, E, 8, GPIO_OUT_HIGH)
+GPIO(USB_C1_DP_MODE_L, F, 6, GPIO_OUT_HIGH)
+GPIO(USB_C0_DP_POLARITY, E, 7, GPIO_OUT_HIGH)
+GPIO(USB_C1_DP_POLARITY, F, 3, GPIO_OUT_HIGH)
+GPIO(USB_C0_DP_HPD, F, 0, GPIO_OUT_LOW)
+GPIO(USB_C1_DP_HPD, F, 1, GPIO_OUT_LOW)
#if 0
/* Alternate functions */
-GPIO(USB_DM, A, 11, GPIO_ANALOG, NULL)
-GPIO(USB_DP, A, 12, GPIO_ANALOG, NULL)
-GPIO(UART_TX, A, 9, GPIO_OUT_LOW, NULL)
-GPIO(UART_RX, A, 10, GPIO_OUT_LOW, NULL)
-GPIO(TP64, A, 13, GPIO_ODR_HIGH, NULL)
-GPIO(TP71, A, 14, GPIO_ODR_HIGH, NULL)
+GPIO(USB_DM, A, 11, GPIO_ANALOG)
+GPIO(USB_DP, A, 12, GPIO_ANALOG)
+GPIO(UART_TX, A, 9, GPIO_OUT_LOW)
+GPIO(UART_RX, A, 10, GPIO_OUT_LOW)
+GPIO(TP64, A, 13, GPIO_ODR_HIGH)
+GPIO(TP71, A, 14, GPIO_ODR_HIGH)
#endif
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SCL, B, 10, GPIO_INPUT, NULL)
-GPIO(MASTER_I2C_SDA, B, 11, GPIO_INPUT, NULL)
+GPIO(SLAVE_I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(SLAVE_I2C_SDA, B, 7, GPIO_INPUT)
+GPIO(MASTER_I2C_SCL, B, 10, GPIO_INPUT)
+GPIO(MASTER_I2C_SDA, B, 11, GPIO_INPUT)
/* Case closed debugging. */
-GPIO(EC_INT, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(EC_IN_RW, C, 12, GPIO_INPUT | GPIO_PULL_UP, NULL)
-GPIO(EC_RST_L, C, 13, GPIO_OUT_HIGH, NULL)
-GPIO(SPI_FLASH_CS_L, D, 0, GPIO_INPUT, NULL)
-GPIO(SPI_FLASH_CSK, D, 1, GPIO_INPUT, NULL)
-GPIO(SPI_FLASH_MOSI, C, 3, GPIO_INPUT, NULL)
-GPIO(SPI_FLASH_MISO, C, 2, GPIO_INPUT, NULL)
-GPIO(EC_JTAG_TCK, C, 6, GPIO_INPUT, NULL)
-GPIO(EC_JTAG_TMS, C, 7, GPIO_INPUT, NULL)
-GPIO(EC_JTAG_TDO, C, 8, GPIO_INPUT, NULL)
-GPIO(EC_JTAG_TDI, C, 9, GPIO_INPUT, NULL)
-GPIO(ENTERING_RW, B, 5, GPIO_OUT_LOW, NULL)
-GPIO(PD_DISABLE_DEBUG, E, 15, GPIO_OUT_HIGH, NULL)
-GPIO(PD_DEBUG_EN_L, D, 4, GPIO_INPUT | GPIO_PULL_UP, NULL)
-GPIO(PD_SPI_PP3300_EN_L, A, 7, GPIO_OUT_HIGH, NULL)
-GPIO(BST_DISABLE, A, 3, GPIO_OUT_LOW, NULL)
+GPIO(EC_INT, B, 2, GPIO_OUT_LOW)
+GPIO(EC_IN_RW, C, 12, GPIO_INPUT | GPIO_PULL_UP)
+GPIO(EC_RST_L, C, 13, GPIO_OUT_HIGH)
+GPIO(SPI_FLASH_CS_L, D, 0, GPIO_INPUT)
+GPIO(SPI_FLASH_CSK, D, 1, GPIO_INPUT)
+GPIO(SPI_FLASH_MOSI, C, 3, GPIO_INPUT)
+GPIO(SPI_FLASH_MISO, C, 2, GPIO_INPUT)
+GPIO(EC_JTAG_TCK, C, 6, GPIO_INPUT)
+GPIO(EC_JTAG_TMS, C, 7, GPIO_INPUT)
+GPIO(EC_JTAG_TDO, C, 8, GPIO_INPUT)
+GPIO(EC_JTAG_TDI, C, 9, GPIO_INPUT)
+GPIO(ENTERING_RW, B, 5, GPIO_OUT_LOW)
+GPIO(PD_DISABLE_DEBUG, E, 15, GPIO_OUT_HIGH)
+GPIO(PD_DEBUG_EN_L, D, 4, GPIO_INPUT | GPIO_PULL_UP)
+GPIO(PD_SPI_PP3300_EN_L, A, 7, GPIO_OUT_HIGH)
+GPIO(BST_DISABLE, A, 3, GPIO_OUT_LOW)
#if 0
/* Alternate functions */
-GPIO(EC_UART_TX, C, 4, GPIO_OUT_LOW, NULL)
-GPIO(EC_UART_RX, C, 5, GPIO_INPUT, NULL)
-GPIO(AP_UART_TX, D, 5, GPIO_OUT_LOW, NULL)
-GPIO(AP_UART_RX, D, 6, GPIO_INPUT, NULL)
+GPIO(EC_UART_TX, C, 4, GPIO_OUT_LOW)
+GPIO(EC_UART_RX, C, 5, GPIO_INPUT)
+GPIO(AP_UART_TX, D, 5, GPIO_OUT_LOW)
+GPIO(AP_UART_RX, D, 6, GPIO_INPUT)
#endif
ALTERNATE(B, 0x0008, 0, MODULE_USB_PD, 0) /* SPI1: SCK(PB3) */
diff --git a/board/snow/gpio.inc b/board/snow/gpio.inc
index ea49c0b812..db7d92d3ca 100644
--- a/board/snow/gpio.inc
+++ b/board/snow/gpio.inc
@@ -6,65 +6,65 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(KB_PWR_ON_L, B, 5, GPIO_INT_BOTH, power_signal_interrupt) /* Keyboard power button */
-GPIO(PP1800_LDO2, A, 1, GPIO_INT_BOTH, power_signal_interrupt) /* LDO2 is ON (end of PMIC sequence) */
-GPIO(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt) /* App Processor ON */
-GPIO(CHARGER_INT_L, C, 4, GPIO_INT_FALLING, pmu_irq_handler)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
-GPIO(SUSPEND_L, A, 7, INT_BOTH_FLOATING, power_signal_interrupt) /* AP suspend/resume state */
-GPIO(SPI1_NSS, A, 4, GPIO_DEFAULT, spi_event)
+GPIO_INT(KB_PWR_ON_L, B, 5, GPIO_INT_BOTH, power_signal_interrupt) /* Keyboard power button */
+GPIO_INT(PP1800_LDO2, A, 1, GPIO_INT_BOTH, power_signal_interrupt) /* LDO2 is ON (end of PMIC sequence) */
+GPIO_INT(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt) /* App Processor ON */
+GPIO_INT(CHARGER_INT_L, C, 4, GPIO_INT_FALLING, pmu_irq_handler)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
+GPIO_INT(SUSPEND_L, A, 7, INT_BOTH_FLOATING, power_signal_interrupt) /* AP suspend/resume state */
+GPIO_INT(SPI1_NSS, A, 4, GPIO_DEFAULT, spi_event)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(AC_PWRBTN_L, A, 0, GPIO_INT_BOTH, NULL)
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL) /* Write protection pin (low active) */
+GPIO(AC_PWRBTN_L, A, 0, GPIO_INT_BOTH)
+GPIO(WP_L, B, 4, GPIO_INPUT) /* Write protection pin (low active) */
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(I2C1_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_INPUT, NULL)
-GPIO(I2C2_SCL, B, 10, GPIO_INPUT, NULL)
-GPIO(I2C2_SDA, B, 11, GPIO_INPUT, NULL)
+GPIO(I2C1_SCL, B, 6, GPIO_INPUT)
+GPIO(I2C1_SDA, B, 7, GPIO_INPUT)
+GPIO(I2C2_SCL, B, 10, GPIO_INPUT)
+GPIO(I2C2_SDA, B, 11, GPIO_INPUT)
/* Outputs */
-GPIO(AC_STATUS, A, 5, GPIO_DEFAULT, NULL)
-GPIO(SPI1_MISO, A, 6, GPIO_DEFAULT, NULL)
-GPIO(EN_PP1350, A, 2, GPIO_OUT_LOW, NULL) /* DDR 1.35v rail enable */
-GPIO(EN_PP5000, A, 11, GPIO_OUT_LOW, NULL) /* 5.0v rail enable */
-GPIO(EN_PP3300, A, 8, GPIO_OUT_LOW, NULL) /* 3.3v rail enable */
-GPIO(PMIC_PWRON_L,A, 12, GPIO_OUT_HIGH, NULL) /* 5v rail ready */
-GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW, NULL) /* Force hard reset of the pmic */
+GPIO(AC_STATUS, A, 5, GPIO_DEFAULT)
+GPIO(SPI1_MISO, A, 6, GPIO_DEFAULT)
+GPIO(EN_PP1350, A, 2, GPIO_OUT_LOW) /* DDR 1.35v rail enable */
+GPIO(EN_PP5000, A, 11, GPIO_OUT_LOW) /* 5.0v rail enable */
+GPIO(EN_PP3300, A, 8, GPIO_OUT_LOW) /* 3.3v rail enable */
+GPIO(PMIC_PWRON_L,A, 12, GPIO_OUT_HIGH) /* 5v rail ready */
+GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW) /* Force hard reset of the pmic */
/* EC is R/W mode for the kbc mux */
-GPIO(ENTERING_RW, D, 0, GPIO_OUT_LOW, NULL)
-GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_ODR_HIGH, NULL)
+GPIO(ENTERING_RW, D, 0, GPIO_OUT_LOW)
+GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_ODR_HIGH)
/* To audio codec (KB noise cancellation) */
-GPIO(CODEC_INT, D, 1, GPIO_ODR_HIGH, NULL)
-GPIO(LED_POWER_L, B, 3, GPIO_INPUT, NULL) /* Keyboard power LED */
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 6, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, C, 7, GPIO_KB_OUTPUT, NULL)
+GPIO(CODEC_INT, D, 1, GPIO_ODR_HIGH)
+GPIO(LED_POWER_L, B, 3, GPIO_INPUT) /* Keyboard power LED */
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 6, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, C, 7, GPIO_KB_OUTPUT)
diff --git a/board/speedy/gpio.inc b/board/speedy/gpio.inc
index 29efb848d1..294b097766 100644
--- a/board/speedy/gpio.inc
+++ b/board/speedy/gpio.inc
@@ -6,53 +6,53 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt) /* wk6 */ /* active high, the name is for compatibility with existing code */
-GPIO(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
-GPIO(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
-GPIO(AC_PRESENT, A, 8, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
+GPIO_INT(POWER_BUTTON_L, B, 5, GPIO_INT_BOTH, power_button_interrupt) /* wk6 */ /* active high, the name is for compatibility with existing code */
+GPIO_INT(SOC_POWER_GOOD, A, 3, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt)
+GPIO_INT(SUSPEND_L, C, 7, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(SPI1_NSS, A, 4, GPIO_INT_BOTH, spi_event)
+GPIO_INT(AC_PRESENT, A, 8, GPIO_INT_BOTH | GPIO_PULL_UP, extpower_interrupt)
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
/* Other inputs */
-GPIO(EC_WAKE, A, 0, GPIO_INPUT | GPIO_PULL_DOWN, NULL) /* wk1 */
-GPIO(WP_L, B, 4, GPIO_INPUT, NULL)
+GPIO(EC_WAKE, A, 0, GPIO_INPUT | GPIO_PULL_DOWN) /* wk1 */
+GPIO(WP_L, B, 4, GPIO_INPUT)
/* Outputs */
-GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW, NULL)
-GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW, NULL)
-GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_OUT_LOW, NULL)
-GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW, NULL)
-GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW, NULL) /* Inverted from silegro */
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(POWER_LED, A, 2, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW, NULL)
-GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH, NULL)
+GPIO(BAT_LED0, B, 11, GPIO_OUT_LOW)
+GPIO(BAT_LED1, A, 11, GPIO_OUT_LOW)
+GPIO(EC_BL_OVERRIDE, F, 1, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_OUT_LOW)
+GPIO(ENTERING_RW, F, 0, GPIO_OUT_LOW)
+GPIO(I2C1_SCL, B, 6, GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, B, 7, GPIO_ODR_HIGH)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_OUT_LOW) /* Inverted from silegro */
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 4, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, A, 13, GPIO_KB_OUTPUT)
+GPIO(POWER_LED, A, 2, GPIO_OUT_LOW)
+GPIO(PMIC_PWRON, A, 12, GPIO_OUT_LOW)
+GPIO(PMIC_RESET, B, 3, GPIO_OUT_LOW)
+GPIO(PMIC_SOURCE_PWREN, B, 10, GPIO_OUT_LOW)
+GPIO(PMIC_WARM_RESET_L, C, 3, GPIO_ODR_HIGH)
ALTERNATE(A, 0x00f0, 0, MODULE_SPI, 0)
ALTERNATE(A, 0x0600, 1, MODULE_UART, 0)
diff --git a/board/spring/gpio.inc b/board/spring/gpio.inc
index b49270ebbc..eedef23fbc 100644
--- a/board/spring/gpio.inc
+++ b/board/spring/gpio.inc
@@ -7,60 +7,59 @@
/* Inputs with interrupt handlers are first for efficiency */
/* Keyboard power button */
-GPIO(KB_PWR_ON_L, B, 5, GPIO_INT_BOTH, power_signal_interrupt)
-GPIO(PP1800_LDO2, A, 1, GPIO_INT_BOTH, power_signal_interrupt) /* LDO2 is ON (end of PMIC sequence) */
-GPIO(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt) /* App Processor ON */
-GPIO(CHARGER_INT_L, C, 4, GPIO_INT_FALLING, pmu_irq_handler)
-GPIO(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
-GPIO(SUSPEND_L, A, 7, INT_BOTH_FLOATING, power_signal_interrupt) /* AP suspend/resume state */
+GPIO_INT(KB_PWR_ON_L, B, 5, GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(PP1800_LDO2, A, 1, GPIO_INT_BOTH, power_signal_interrupt) /* LDO2 is ON (end of PMIC sequence) */
+GPIO_INT(SOC1V8_XPSHOLD, A, 3, GPIO_INT_BOTH, power_signal_interrupt) /* App Processor ON */
+GPIO_INT(CHARGER_INT_L, C, 4, GPIO_INT_FALLING, pmu_irq_handler)
+GPIO_INT(LID_OPEN, C, 13, GPIO_INT_BOTH, lid_interrupt) /* LID switch detection */
+GPIO_INT(SUSPEND_L, A, 7, INT_BOTH_FLOATING, power_signal_interrupt) /* AP suspend/resume state */
/* Keyboard inputs */
-GPIO(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO(USB_CHG_INT, A, 6, GPIO_INT_FALLING, extpower_interrupt)
-
-GPIO(WP_L, A, 13, GPIO_INPUT, NULL) /* Write protection pin (low active) */
+GPIO_INT(KB_IN00, C, 8, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN01, C, 9, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN02, C, 10, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN03, C, 11, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN04, C, 12, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN05, C, 14, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN06, C, 15, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(KB_IN07, D, 2, GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+GPIO_INT(USB_CHG_INT, A, 6, GPIO_INT_FALLING, extpower_interrupt)
/* Other inputs */
-GPIO(BCHGR_VACG, A, 0, GPIO_INT_BOTH, NULL) /* AC good on TPSChrome */
+GPIO(BCHGR_VACG, A, 0, GPIO_INT_BOTH) /* AC good on TPSChrome */
+GPIO(WP_L, A, 13, GPIO_INPUT) /* Write protection pin (low active) */
/*
* I2C pins should be configured as inputs until I2C module is
* initialized. This will avoid driving the lines unintentionally.
*/
-GPIO(I2C1_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(I2C1_SDA, B, 7, GPIO_INPUT, NULL)
-GPIO(I2C2_SCL, B, 10, GPIO_INPUT, NULL)
-GPIO(I2C2_SDA, B, 11, GPIO_INPUT, NULL)
+GPIO(I2C1_SCL, B, 6, GPIO_INPUT)
+GPIO(I2C1_SDA, B, 7, GPIO_INPUT)
+GPIO(I2C2_SCL, B, 10, GPIO_INPUT)
+GPIO(I2C2_SDA, B, 11, GPIO_INPUT)
/* Outputs */
-GPIO(EN_PP1350, A, 14, GPIO_OUT_LOW, NULL) /* DDR 1.35v rail enable */
-GPIO(EN_PP5000, A, 11, GPIO_OUT_LOW, NULL) /* 5.0v rail enable */
-GPIO(EN_PP3300, A, 8, GPIO_OUT_LOW, NULL) /* 3.3v rail enable */
-GPIO(PMIC_PWRON_L,A, 12, GPIO_OUT_HIGH, NULL) /* 5v rail ready */
-GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW, NULL) /* Force hard reset of the pmic */
-GPIO(ENTERING_RW, D, 0, GPIO_OUT_LOW, NULL) /* EC is R/W mode for the kbc mux */
-GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW, NULL)
-GPIO(EC_INT, B, 9, GPIO_ODR_HIGH, NULL)
-GPIO(ID_MUX, D, 1, GPIO_OUT_LOW, NULL)
-GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT11, C, 6, GPIO_KB_OUTPUT, NULL)
-GPIO(KB_OUT12, C, 7, GPIO_KB_OUTPUT, NULL)
-GPIO(BOOST_EN, B, 3, GPIO_OUT_HIGH, NULL)
-GPIO(ILIM, B, 4, GPIO_OUT_LOW, NULL)
+GPIO(EN_PP1350, A, 14, GPIO_OUT_LOW) /* DDR 1.35v rail enable */
+GPIO(EN_PP5000, A, 11, GPIO_OUT_LOW) /* 5.0v rail enable */
+GPIO(EN_PP3300, A, 8, GPIO_OUT_LOW) /* 3.3v rail enable */
+GPIO(PMIC_PWRON_L,A, 12, GPIO_OUT_HIGH) /* 5v rail ready */
+GPIO(PMIC_RESET, A, 15, GPIO_OUT_LOW) /* Force hard reset of the pmic */
+GPIO(ENTERING_RW, D, 0, GPIO_OUT_LOW) /* EC is R/W mode for the kbc mux */
+GPIO(CHARGER_EN, B, 2, GPIO_OUT_LOW)
+GPIO(EC_INT, B, 9, GPIO_ODR_HIGH)
+GPIO(ID_MUX, D, 1, GPIO_OUT_LOW)
+GPIO(KB_OUT00, B, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT01, B, 8, GPIO_KB_OUTPUT)
+GPIO(KB_OUT02, B, 12, GPIO_KB_OUTPUT)
+GPIO(KB_OUT03, B, 13, GPIO_KB_OUTPUT)
+GPIO(KB_OUT04, B, 14, GPIO_KB_OUTPUT)
+GPIO(KB_OUT05, B, 15, GPIO_KB_OUTPUT)
+GPIO(KB_OUT06, C, 0, GPIO_KB_OUTPUT)
+GPIO(KB_OUT07, C, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, C, 2, GPIO_KB_OUTPUT)
+GPIO(KB_OUT09, B, 1, GPIO_KB_OUTPUT)
+GPIO(KB_OUT10, C, 5, GPIO_KB_OUTPUT)
+GPIO(KB_OUT11, C, 6, GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, C, 7, GPIO_KB_OUTPUT)
+GPIO(BOOST_EN, B, 3, GPIO_OUT_HIGH)
+GPIO(ILIM, B, 4, GPIO_OUT_LOW)
diff --git a/board/squawks/gpio.inc b/board/squawks/gpio.inc
index a479672acc..78f7ad4d06 100644
--- a/board/squawks/gpio.inc
+++ b/board/squawks/gpio.inc
@@ -6,65 +6,65 @@
*/
/* Inputs with interrupt handlers are first for efficiency */
-GPIO(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
-GPIO(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO(PCH_SLP_S4_L, H, 1, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO(PP3300_PCH_PGOOD, C, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 3.3V (PCH supply) */
-GPIO(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
-GPIO(S5_PGOOD, G, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on S5 supplies */
-GPIO(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO(UART0_RX, A, 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, uart_deepsleep_interrupt) /* UART0 RX input */
+GPIO_INT(POWER_BUTTON_L, A, 2, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(LID_OPEN, A, 3, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, H, 3, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
+GPIO_INT(PCH_SLP_S3_L, G, 7, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+GPIO_INT(PCH_SLP_S4_L, H, 1, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
+GPIO_INT(PP1050_PGOOD, H, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
+GPIO_INT(PP3300_PCH_PGOOD, C, 4, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 3.3V (PCH supply) */
+GPIO_INT(PP5000_PGOOD, N, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 5V */
+GPIO_INT(S5_PGOOD, G, 0, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on S5 supplies */
+GPIO_INT(VCORE_PGOOD, C, 6, GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
+GPIO_INT(WP_L, A, 4, GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
+GPIO_INT(JTAG_TCK, C, 0, GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
+GPIO_INT(UART0_RX, A, 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, uart_deepsleep_interrupt) /* UART0 RX input */
/* Other inputs */
-GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT, NULL) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT, NULL) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT, NULL) /* Board version stuffing resistor 3 */
+GPIO(BOARD_VERSION1, Q, 5, GPIO_INPUT) /* Board version stuffing resistor 1 */
+GPIO(BOARD_VERSION2, Q, 6, GPIO_INPUT) /* Board version stuffing resistor 2 */
+GPIO(BOARD_VERSION3, Q, 7, GPIO_INPUT) /* Board version stuffing resistor 3 */
#ifdef CONFIG_CHIPSET_DEBUG
-GPIO(PCH_SLP_SX_L, G, 3, GPIO_INPUT | GPIO_PULL_UP, NULL) /* SLP_S0IX# signal from PCH */
-GPIO(PCH_SUS_STAT_L, G, 6, GPIO_INPUT | GPIO_PULL_UP, NULL) /* SUS_STAT# signal from PCH */
-GPIO(PCH_SUSPWRDNACK, G, 2, GPIO_INPUT | GPIO_PULL_UP, NULL) /* SUSPWRDNACK signal from PCH */
+GPIO(PCH_SLP_SX_L, G, 3, GPIO_INPUT | GPIO_PULL_UP) /* SLP_S0IX# signal from PCH */
+GPIO(PCH_SUS_STAT_L, G, 6, GPIO_INPUT | GPIO_PULL_UP) /* SUS_STAT# signal from PCH */
+GPIO(PCH_SUSPWRDNACK, G, 2, GPIO_INPUT | GPIO_PULL_UP) /* SUSPWRDNACK signal from PCH */
#endif
-GPIO(PP1000_S0IX_PGOOD, H, 6, GPIO_INPUT, NULL) /* Power good on 1.00V (S0iX supplies) */
-GPIO(USB1_OC_L, E, 7, GPIO_INPUT, NULL) /* USB port overcurrent warning */
-GPIO(USB2_OC_L, E, 0, GPIO_INPUT, NULL) /* USB port overcurrent warning */
+GPIO(PP1000_S0IX_PGOOD, H, 6, GPIO_INPUT) /* Power good on 1.00V (S0iX supplies) */
+GPIO(USB1_OC_L, E, 7, GPIO_INPUT) /* USB port overcurrent warning */
+GPIO(USB2_OC_L, E, 0, GPIO_INPUT) /* USB port overcurrent warning */
/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, B, 5, GPIO_OUT_LOW, NULL) /* Force CPU to think it's overheated */
-GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_ODR_HIGH, NULL) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW, NULL) /* Enable touchpad power */
-GPIO(ENTERING_RW, D, 6, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH, NULL) /* Request that PCH drive LPC clock */
-GPIO(PCH_CORE_PWROK, F, 5, GPIO_OUT_LOW, NULL) /* Indicate core well power is stable */
-GPIO(PCH_PWRBTN_L, H, 0, GPIO_ODR_HIGH, NULL) /* Power button output to PCH */
-GPIO(PCH_RCIN_L, F, 3, GPIO_ODR_HIGH, NULL) /* Reset line to PCH (for 8042 emulation) */
-GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW, NULL) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH, NULL) /* System management interrupt to PCH */
-GPIO(PCH_SOC_OVERRIDE, G, 1, GPIO_OUT_LOW, NULL) /* SOC override signal to PCH; when high, ME ignores security descriptor */
-GPIO(PCH_SYS_PWROK, J, 1, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready */
-GPIO(PCH_WAKE_L, F, 0, GPIO_ODR_HIGH, NULL) /* Wake signal from EC to PCH */
-GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW, NULL) /* Enable 1.35V supply */
-GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW, NULL) /* Enable power to lots of peripherals */
-GPIO(PP3300_LTE_EN, D, 4, GPIO_OUT_LOW, NULL) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW, NULL) /* Enable WiFi power */
-GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW, NULL) /* Enable 5V supply */
-GPIO(PPSX_EN, L, 6, GPIO_OUT_LOW, NULL) /* Enable PP1350_PCH_SX, PP1000_PCH_SX */
-GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW, NULL) /* Enable 1.05V regulator */
-GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW, NULL) /* Reset touch screen */
-GPIO(USB_CTL1, E, 6, GPIO_OUT_LOW, NULL) /* USB control signal 1 to both ports */
-GPIO(USB_ILIM_SEL, E, 5, GPIO_OUT_LOW, NULL) /* USB current limit to both ports */
-GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW, NULL) /* USB port 1 output power enable */
-GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW, NULL) /* USB port 2 output power enable */
-GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW, NULL) /* Enable core power supplies */
-GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW, NULL) /* Disable WiFi radio */
-GPIO(PCH_SCI_L, M, 1, GPIO_ODR_HIGH, NULL) /* Assert SCI to PCH */
-GPIO(KBD_IRQ_L, M, 3, GPIO_ODR_HIGH, NULL) /* Negative edge triggered irq. */
+GPIO(CPU_PROCHOT, B, 5, GPIO_OUT_LOW) /* Force CPU to think it's overheated */
+GPIO(ENABLE_BACKLIGHT, M, 7, GPIO_ODR_HIGH) /* Enable backlight power */
+GPIO(ENABLE_TOUCHPAD, N, 1, GPIO_OUT_LOW) /* Enable touchpad power */
+GPIO(ENTERING_RW, D, 6, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(LPC_CLKRUN_L, M, 2, GPIO_ODR_HIGH) /* Request that PCH drive LPC clock */
+GPIO(PCH_CORE_PWROK, F, 5, GPIO_OUT_LOW) /* Indicate core well power is stable */
+GPIO(PCH_PWRBTN_L, H, 0, GPIO_ODR_HIGH) /* Power button output to PCH */
+GPIO(PCH_RCIN_L, F, 3, GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
+GPIO(PCH_RSMRST_L, F, 1, GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
+GPIO(PCH_SMI_L, F, 4, GPIO_ODR_HIGH) /* System management interrupt to PCH */
+GPIO(PCH_SOC_OVERRIDE, G, 1, GPIO_OUT_LOW) /* SOC override signal to PCH; when high, ME ignores security descriptor */
+GPIO(PCH_SYS_PWROK, J, 1, GPIO_OUT_LOW) /* EC thinks everything is up and ready */
+GPIO(PCH_WAKE_L, F, 0, GPIO_ODR_HIGH) /* Wake signal from EC to PCH */
+GPIO(PP1350_EN, H, 5, GPIO_OUT_LOW) /* Enable 1.35V supply */
+GPIO(PP3300_DX_EN, J, 2, GPIO_OUT_LOW) /* Enable power to lots of peripherals */
+GPIO(PP3300_LTE_EN, D, 4, GPIO_OUT_LOW) /* Enable LTE radio */
+GPIO(PP3300_WLAN_EN, J, 0, GPIO_OUT_LOW) /* Enable WiFi power */
+GPIO(PP5000_EN, H, 7, GPIO_OUT_LOW) /* Enable 5V supply */
+GPIO(PPSX_EN, L, 6, GPIO_OUT_LOW) /* Enable PP1350_PCH_SX, PP1000_PCH_SX */
+GPIO(SUSP_VR_EN, C, 7, GPIO_OUT_LOW) /* Enable 1.05V regulator */
+GPIO(TOUCHSCREEN_RESET_L, N, 7, GPIO_OUT_LOW) /* Reset touch screen */
+GPIO(USB_CTL1, E, 6, GPIO_OUT_LOW) /* USB control signal 1 to both ports */
+GPIO(USB_ILIM_SEL, E, 5, GPIO_OUT_LOW) /* USB current limit to both ports */
+GPIO(USB1_ENABLE, E, 4, GPIO_OUT_LOW) /* USB port 1 output power enable */
+GPIO(USB2_ENABLE, D, 5, GPIO_OUT_LOW) /* USB port 2 output power enable */
+GPIO(VCORE_EN, C, 5, GPIO_OUT_LOW) /* Enable core power supplies */
+GPIO(WLAN_OFF_L, J, 4, GPIO_OUT_LOW) /* Disable WiFi radio */
+GPIO(PCH_SCI_L, M, 1, GPIO_ODR_HIGH) /* Assert SCI to PCH */
+GPIO(KBD_IRQ_L, M, 3, GPIO_ODR_HIGH) /* Negative edge triggered irq. */
ALTERNATE(A, 0x03, 1, MODULE_UART, 0) /* UART0 */
ALTERNATE(B, 0x04, 3, MODULE_I2C, 0) /* I2C0 SCL */
diff --git a/board/strago/gpio.inc b/board/strago/gpio.inc
index 410113509b..a99a4783ad 100644
--- a/board/strago/gpio.inc
+++ b/board/strago/gpio.inc
@@ -5,91 +5,91 @@
* found in the LICENSE file.
*/
-GPIO(LID_OPEN, PORT(2), 7, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO(AC_PRESENT, PORT(3), 0, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* BC_ACOK / EC_ACIN - to know if battery or AC connected */
-GPIO(POWER_BUTTON_L, PORT(3), 5, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO(RSMRST_L_PGOOD, PORT(6), 3, GPIO_INT_BOTH, power_signal_interrupt) /* RSMRST_N_PWRGD from power logic */
-GPIO(ALL_SYS_PGOOD, PORT(13), 0, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* ALL_SYS_PWRGD from power logic */
-GPIO(PCH_SLP_S4_L, PORT(20), 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO(PCH_SLP_S3_L, PORT(20), 6, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-
-GPIO(KBD_KSO2, PORT(0), 1, GPIO_KB_OUTPUT_COL2, NULL) /* Negative edge triggered irq. */
-
-GPIO(USB_ILIM_SEL, PORT(1), 3, GPIO_OUT_HIGH, NULL) /* USB current control */
-
-GPIO(I2C_PORT0_SCL, PORT(1), 5, GPIO_ODR_HIGH, NULL)
-GPIO(I2C_PORT0_SDA, PORT(1), 6, GPIO_ODR_HIGH, NULL)
-GPIO(BOARD_ID2, PORT(1), 7, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-GPIO(I2C_PORT1_SCL, PORT(2), 2, GPIO_ODR_HIGH, NULL)
-GPIO(I2C_PORT1_SDA, PORT(2), 3, GPIO_ODR_HIGH, NULL)
-
-GPIO(PCH_SCI_L, PORT(2), 6, GPIO_ODR_HIGH, NULL) /* SCI output */
-
-GPIO(VOLUME_UP, PORT(3), 1, GPIO_INT_FALLING, NULL) /* Volume up button */
-GPIO(VOLUME_DOWN, PORT(3), 4, GPIO_INT_FALLING, NULL) /* Volume down button */
-GPIO(USB2_ENABLE, PORT(3), 6, GPIO_OUT_HIGH, NULL) /* Enable power for USB2 Port */
-
-GPIO(ENTERING_RW, PORT(4), 1, GPIO_OUT_LOW, NULL) /* Indicate when EC is entering RW code */
-GPIO(PCH_SMI_L, PORT(4), 4, GPIO_ODR_HIGH, NULL) /* SMI output */
-GPIO(USB_OC1_L, PORT(4), 5, GPIO_INT_FALLING, NULL) /* DB2 BC1.2 over current signal to EC */
-GPIO(DP_USB_C_HPD_Q, PORT(4), 6, GPIO_OUT_HIGH, NULL) /* DP hot plug detect from EC to SOC */
-GPIO(PWR_BTN_SELECT, PORT(4), 7, GPIO_OUT_HIGH, NULL) /* HIGH in clamshell mode and LOW in tablet mode */
-
-GPIO(OTG_SW_EN, PORT(5), 0, GPIO_OUT_LOW, NULL) /* */
-GPIO(PCH_SUS_STAT_L, PORT(5), 1, GPIO_INT_FALLING, NULL) /* Signal to inform EC that SOC is entering low power state */
-GPIO(NC_52, PORT(5), 2, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-GPIO(TRACKPAD_PWREN, PORT(5), 3, GPIO_OUT_HIGH, NULL) /* Enable power for Track Pad */
-GPIO(USB_OC0_L, PORT(5), 5, GPIO_INT_FALLING, NULL) /* Over current signal of the BC1.2 charger to EC */
-GPIO(TEMP_SENSOR_1, PORT(5), 6, GPIO_INPUT, NULL) /* EC_ADC0 */
-GPIO(TEMP_SENSOR_2, PORT(5), 7, GPIO_INPUT, NULL) /* EC_ADC0 */
-
-GPIO(CHGR_PMON, PORT(6), 0, GPIO_ANALOG, NULL)
-GPIO(NC_61, PORT(6), 1, GPIO_INPUT, NULL) /* NC */
-GPIO(TEMP_SENSOR_3, PORT(6), 2, GPIO_INPUT, NULL) /* */
-GPIO(USBPD_BST_OFF, PORT(6), 4, GPIO_OUT_HIGH, NULL) /* USB PD Boost Enable */
-GPIO(PCH_SYS_PWROK, PORT(6), 5, GPIO_OUT_LOW, NULL) /* EC thinks everything is up and ready (DELAY_ALL_SYS_PWRGD) */
-GPIO(PCH_WAKE_L, PORT(6), 6, GPIO_ODR_HIGH, NULL) /* PCH wake pin */
-GPIO(USB1_ENABLE, PORT(6), 7, GPIO_OUT_HIGH, NULL) /* Enable power for USB3 Port */
-
-GPIO(USB_CTL1, PORT(10), 5, GPIO_OUT_HIGH, NULL) /* USB charging mode control */
-
-GPIO(PCH_RCIN_L, PORT(11), 0, GPIO_ODR_HIGH, NULL) /* Reset line to PCH (for 8042 emulation) */
-GPIO(NC_115, PORT(11), 5, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-
-GPIO(USB_PD_EC_INT, PORT(12), 2, GPIO_INT_BOTH, NULL) /* Interrupt from USB PD Controller to EC */
-GPIO(STRAP_L, PORT(12), 3, GPIO_OUT_LOW, NULL)
-GPIO(PERICOM_INT, PORT(12), 4, GPIO_INT_BOTH, NULL) /* */
-GPIO(GYRO_INT2, PORT(12), 7, GPIO_INT_FALLING, NULL) /* Gyro sensor interrupt 2 to EC */
-
-GPIO(EC_PLUG_DETECT, PORT(13), 2, GPIO_INT_BOTH, NULL)
-GPIO(BOARD_ID1, PORT(15), 4, GPIO_INPUT | GPIO_PULL_UP, NULL) /* Board Id 1 */
-GPIO(NC_135, PORT(13), 5, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-
-GPIO(THERMAL_PROBE_EN_L,PORT(14), 0, GPIO_OUT_HIGH, NULL)
-GPIO(PCH_RSMRST_L, PORT(14), 3, GPIO_OUT_LOW, NULL) /* RSMRST_N to PCH */
-GPIO(NC_145, PORT(14), 5, GPIO_OUT_LOW | GPIO_PULL_UP, NULL) /* NC */
-GPIO(PVT_CS0, PORT(14), 6, GPIO_ODR_HIGH, NULL) /* SPI PVT Chip select */
-GPIO(ALS_INT, PORT(14), 7, GPIO_INT_FALLING, NULL) /* ALS sensor interrupt to EC */
-
-GPIO(WLAN_OFF_L, PORT(15), 0, GPIO_ODR_HIGH, NULL) /* Wireless LAN */
-GPIO(CPU_PROCHOT, PORT(15), 1, GPIO_OUT_LOW, NULL)
-GPIO(KBD_IRQ_L, PORT(15), 2, GPIO_ODR_HIGH, NULL) /* Negative edge triggered irq. */
-GPIO(BOARD_ID0, PORT(15), 4, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-GPIO(CORE_PWROK, PORT(15), 5, GPIO_ODR_HIGH, NULL) /* CORE_PWR_OK_R */
-GPIO(LID_OPEN2, PORT(15), 6, GPIO_INT_BOTH_DSLEEP, NULL) /* LID_OPEN_OUT2_R */
-GPIO(PCH_SUSPWRDNACK, PORT(15), 7, GPIO_INT_FALLING, NULL) /* PMC SUSPWRDNACK signal from SOC to EC */
-
-GPIO(PCH_PWRBTN_L, PORT(16), 0, GPIO_OUT_HIGH, NULL) /* Power button output to PCH */
-GPIO(GYRO_INT1, PORT(16), 1, GPIO_INT_FALLING, NULL) /* Gyro sensor interrupt 1 to EC */
-GPIO(CROSS_BAR_EN_NC, PORT(16), 3, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-
-GPIO(STARTUP_LATCH_SET, PORT(20), 1, GPIO_OUT_HIGH, NULL) /* Output from EC to POL signal of USB Type C Mux */
-GPIO(EC_BL_DISABLE_L, PORT(20), 2, GPIO_OUT_HIGH, NULL) /* EDP backligh disable signal from EC */
-GPIO(SMC_SHUTDOWN, PORT(20), 3, GPIO_OUT_LOW, NULL) /* Shutdown signal from EC to power sequencing PLD */
-GPIO(CROSS_BAR_MODE_NC, PORT(20), 4, GPIO_INPUT | GPIO_PULL_UP, NULL) /* NC */
-
-GPIO(SUSPWRDNACK_SOC_EC,PORT(21), 0, GPIO_OUT_LOW, NULL) /* SUSPWRDNACK signal from MOIC device to EC */
-GPIO(GPIO_3_EC, PORT(21), 1, GPIO_OUT_LOW, NULL) /* Sleep SOIX signal from SOC to EC */
+GPIO_INT(LID_OPEN, PORT(2), 7, GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
+GPIO_INT(AC_PRESENT, PORT(3), 0, GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* BC_ACOK / EC_ACIN - to know if battery or AC connected */
+GPIO_INT(POWER_BUTTON_L, PORT(3), 5, GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
+GPIO_INT(RSMRST_L_PGOOD, PORT(6), 3, GPIO_INT_BOTH, power_signal_interrupt) /* RSMRST_N_PWRGD from power logic */
+GPIO_INT(ALL_SYS_PGOOD, PORT(13), 0, GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* ALL_SYS_PWRGD from power logic */
+GPIO_INT(PCH_SLP_S4_L, PORT(20), 0, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
+GPIO_INT(PCH_SLP_S3_L, PORT(20), 6, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
+
+GPIO(KBD_KSO2, PORT(0), 1, GPIO_KB_OUTPUT_COL2) /* Negative edge triggered irq. */
+
+GPIO(USB_ILIM_SEL, PORT(1), 3, GPIO_OUT_HIGH) /* USB current control */
+
+GPIO(I2C_PORT0_SCL, PORT(1), 5, GPIO_ODR_HIGH)
+GPIO(I2C_PORT0_SDA, PORT(1), 6, GPIO_ODR_HIGH)
+GPIO(BOARD_ID2, PORT(1), 7, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+GPIO(I2C_PORT1_SCL, PORT(2), 2, GPIO_ODR_HIGH)
+GPIO(I2C_PORT1_SDA, PORT(2), 3, GPIO_ODR_HIGH)
+
+GPIO(PCH_SCI_L, PORT(2), 6, GPIO_ODR_HIGH) /* SCI output */
+
+GPIO(VOLUME_UP, PORT(3), 1, GPIO_INT_FALLING) /* Volume up button */
+GPIO(VOLUME_DOWN, PORT(3), 4, GPIO_INT_FALLING) /* Volume down button */
+GPIO(USB2_ENABLE, PORT(3), 6, GPIO_OUT_HIGH) /* Enable power for USB2 Port */
+
+GPIO(ENTERING_RW, PORT(4), 1, GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
+GPIO(PCH_SMI_L, PORT(4), 4, GPIO_ODR_HIGH) /* SMI output */
+GPIO(USB_OC1_L, PORT(4), 5, GPIO_INT_FALLING) /* DB2 BC1.2 over current signal to EC */
+GPIO(DP_USB_C_HPD_Q, PORT(4), 6, GPIO_OUT_HIGH) /* DP hot plug detect from EC to SOC */
+GPIO(PWR_BTN_SELECT, PORT(4), 7, GPIO_OUT_HIGH) /* HIGH in clamshell mode and LOW in tablet mode */
+
+GPIO(OTG_SW_EN, PORT(5), 0, GPIO_OUT_LOW) /* */
+GPIO(PCH_SUS_STAT_L, PORT(5), 1, GPIO_INT_FALLING) /* Signal to inform EC that SOC is entering low power state */
+GPIO(NC_52, PORT(5), 2, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+GPIO(TRACKPAD_PWREN, PORT(5), 3, GPIO_OUT_HIGH) /* Enable power for Track Pad */
+GPIO(USB_OC0_L, PORT(5), 5, GPIO_INT_FALLING) /* Over current signal of the BC1.2 charger to EC */
+GPIO(TEMP_SENSOR_1, PORT(5), 6, GPIO_INPUT) /* EC_ADC0 */
+GPIO(TEMP_SENSOR_2, PORT(5), 7, GPIO_INPUT) /* EC_ADC0 */
+
+GPIO(CHGR_PMON, PORT(6), 0, GPIO_ANALOG)
+GPIO(NC_61, PORT(6), 1, GPIO_INPUT) /* NC */
+GPIO(TEMP_SENSOR_3, PORT(6), 2, GPIO_INPUT) /* */
+GPIO(USBPD_BST_OFF, PORT(6), 4, GPIO_OUT_HIGH) /* USB PD Boost Enable */
+GPIO(PCH_SYS_PWROK, PORT(6), 5, GPIO_OUT_LOW) /* EC thinks everything is up and ready (DELAY_ALL_SYS_PWRGD) */
+GPIO(PCH_WAKE_L, PORT(6), 6, GPIO_ODR_HIGH) /* PCH wake pin */
+GPIO(USB1_ENABLE, PORT(6), 7, GPIO_OUT_HIGH) /* Enable power for USB3 Port */
+
+GPIO(USB_CTL1, PORT(10), 5, GPIO_OUT_HIGH) /* USB charging mode control */
+
+GPIO(PCH_RCIN_L, PORT(11), 0, GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
+GPIO(NC_115, PORT(11), 5, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+
+GPIO(USB_PD_EC_INT, PORT(12), 2, GPIO_INT_BOTH) /* Interrupt from USB PD Controller to EC */
+GPIO(STRAP_L, PORT(12), 3, GPIO_OUT_LOW)
+GPIO(PERICOM_INT, PORT(12), 4, GPIO_INT_BOTH) /* */
+GPIO(GYRO_INT2, PORT(12), 7, GPIO_INT_FALLING) /* Gyro sensor interrupt 2 to EC */
+
+GPIO(EC_PLUG_DETECT, PORT(13), 2, GPIO_INT_BOTH)
+GPIO(BOARD_ID1, PORT(15), 4, GPIO_INPUT | GPIO_PULL_UP) /* Board Id 1 */
+GPIO(NC_135, PORT(13), 5, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+
+GPIO(THERMAL_PROBE_EN_L,PORT(14), 0, GPIO_OUT_HIGH)
+GPIO(PCH_RSMRST_L, PORT(14), 3, GPIO_OUT_LOW) /* RSMRST_N to PCH */
+GPIO(NC_145, PORT(14), 5, GPIO_OUT_LOW | GPIO_PULL_UP) /* NC */
+GPIO(PVT_CS0, PORT(14), 6, GPIO_ODR_HIGH) /* SPI PVT Chip select */
+GPIO(ALS_INT, PORT(14), 7, GPIO_INT_FALLING) /* ALS sensor interrupt to EC */
+
+GPIO(WLAN_OFF_L, PORT(15), 0, GPIO_ODR_HIGH) /* Wireless LAN */
+GPIO(CPU_PROCHOT, PORT(15), 1, GPIO_OUT_LOW)
+GPIO(KBD_IRQ_L, PORT(15), 2, GPIO_ODR_HIGH) /* Negative edge triggered irq. */
+GPIO(BOARD_ID0, PORT(15), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+GPIO(CORE_PWROK, PORT(15), 5, GPIO_ODR_HIGH) /* CORE_PWR_OK_R */
+GPIO(LID_OPEN2, PORT(15), 6, GPIO_INT_BOTH_DSLEEP) /* LID_OPEN_OUT2_R */
+GPIO(PCH_SUSPWRDNACK, PORT(15), 7, GPIO_INT_FALLING) /* PMC SUSPWRDNACK signal from SOC to EC */
+
+GPIO(PCH_PWRBTN_L, PORT(16), 0, GPIO_OUT_HIGH) /* Power button output to PCH */
+GPIO(GYRO_INT1, PORT(16), 1, GPIO_INT_FALLING) /* Gyro sensor interrupt 1 to EC */
+GPIO(CROSS_BAR_EN_NC, PORT(16), 3, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+
+GPIO(STARTUP_LATCH_SET, PORT(20), 1, GPIO_OUT_HIGH) /* Output from EC to POL signal of USB Type C Mux */
+GPIO(EC_BL_DISABLE_L, PORT(20), 2, GPIO_OUT_HIGH) /* EDP backligh disable signal from EC */
+GPIO(SMC_SHUTDOWN, PORT(20), 3, GPIO_OUT_LOW) /* Shutdown signal from EC to power sequencing PLD */
+GPIO(CROSS_BAR_MODE_NC, PORT(20), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */
+
+GPIO(SUSPWRDNACK_SOC_EC,PORT(21), 0, GPIO_OUT_LOW) /* SUSPWRDNACK signal from MOIC device to EC */
+GPIO(GPIO_3_EC, PORT(21), 1, GPIO_OUT_LOW) /* Sleep SOIX signal from SOC to EC */
UNIMPLEMENTED(WP_L)
diff --git a/board/twinkie/gpio.inc b/board/twinkie/gpio.inc
index 181603148c..15d76dbb45 100644
--- a/board/twinkie/gpio.inc
+++ b/board/twinkie/gpio.inc
@@ -4,37 +4,37 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-GPIO(CC2_ALERT_L, A, 7, GPIO_INT_BOTH | GPIO_PULL_UP, cc2_event)
-GPIO(VBUS_ALERT_L, B, 2, GPIO_INT_BOTH | GPIO_PULL_UP, vbus_event)
+GPIO_INT(CC2_ALERT_L, A, 7, GPIO_INT_BOTH | GPIO_PULL_UP, cc2_event)
+GPIO_INT(VBUS_ALERT_L, B, 2, GPIO_INT_BOTH | GPIO_PULL_UP, vbus_event)
-GPIO(CC1_EN, A, 0, GPIO_OUT_HIGH, NULL)
-GPIO(CC1_PD, A, 1, GPIO_ANALOG, NULL)
-GPIO(CC2_EN, A, 2, GPIO_OUT_HIGH, NULL)
-GPIO(CC2_PD, A, 3, GPIO_ANALOG, NULL)
-GPIO(DAC, A, 4, GPIO_ANALOG, NULL)
-GPIO(CC2_TX_DATA, A, 6, GPIO_OUT_LOW, NULL)
+GPIO(CC1_EN, A, 0, GPIO_OUT_HIGH)
+GPIO(CC1_PD, A, 1, GPIO_ANALOG)
+GPIO(CC2_EN, A, 2, GPIO_OUT_HIGH)
+GPIO(CC2_PD, A, 3, GPIO_ANALOG)
+GPIO(DAC, A, 4, GPIO_ANALOG)
+GPIO(CC2_TX_DATA, A, 6, GPIO_OUT_LOW)
-GPIO(CC1_RA, A, 8, GPIO_ODR_HIGH, NULL)
-GPIO(USB_DM, A, 11, GPIO_ANALOG, NULL)
-GPIO(USB_DP, A, 12, GPIO_ANALOG, NULL)
-GPIO(CC1_RPUSB, A, 13, GPIO_ODR_HIGH, NULL)
-GPIO(CC1_RP1A5, A, 14, GPIO_ODR_HIGH, NULL)
-GPIO(CC1_RP3A0, A, 15, GPIO_ODR_HIGH, NULL)
-GPIO(CC2_RPUSB, B, 0, GPIO_ODR_HIGH, NULL)
+GPIO(CC1_RA, A, 8, GPIO_ODR_HIGH)
+GPIO(USB_DM, A, 11, GPIO_ANALOG)
+GPIO(USB_DP, A, 12, GPIO_ANALOG)
+GPIO(CC1_RPUSB, A, 13, GPIO_ODR_HIGH)
+GPIO(CC1_RP1A5, A, 14, GPIO_ODR_HIGH)
+GPIO(CC1_RP3A0, A, 15, GPIO_ODR_HIGH)
+GPIO(CC2_RPUSB, B, 0, GPIO_ODR_HIGH)
-GPIO(CC1_TX_EN, B, 1, GPIO_OUT_LOW, NULL)
-GPIO(CC2_TX_EN, B, 3, GPIO_OUT_LOW, NULL)
-GPIO(CC1_TX_DATA, B, 4, GPIO_OUT_LOW, NULL)
-GPIO(CC1_RD, B, 5, GPIO_ODR_HIGH, NULL)
-GPIO(I2C_SCL, B, 6, GPIO_INPUT, NULL)
-GPIO(I2C_SDA, B, 7, GPIO_INPUT, NULL)
-GPIO(CC2_RD, B, 8, GPIO_ODR_HIGH, NULL)
-GPIO(LED_G_L, B, 11, GPIO_ODR_HIGH, NULL)
-GPIO(LED_R_L, B, 13, GPIO_ODR_HIGH, NULL)
-GPIO(LED_B_L, B, 14, GPIO_ODR_HIGH, NULL)
-GPIO(CC2_RA, B, 15, GPIO_ODR_HIGH, NULL)
-GPIO(CC2_RP1A5, C, 14, GPIO_ODR_HIGH, NULL)
-GPIO(CC2_RP3A0, C, 15, GPIO_ODR_HIGH, NULL)
+GPIO(CC1_TX_EN, B, 1, GPIO_OUT_LOW)
+GPIO(CC2_TX_EN, B, 3, GPIO_OUT_LOW)
+GPIO(CC1_TX_DATA, B, 4, GPIO_OUT_LOW)
+GPIO(CC1_RD, B, 5, GPIO_ODR_HIGH)
+GPIO(I2C_SCL, B, 6, GPIO_INPUT)
+GPIO(I2C_SDA, B, 7, GPIO_INPUT)
+GPIO(CC2_RD, B, 8, GPIO_ODR_HIGH)
+GPIO(LED_G_L, B, 11, GPIO_ODR_HIGH)
+GPIO(LED_R_L, B, 13, GPIO_ODR_HIGH)
+GPIO(LED_B_L, B, 14, GPIO_ODR_HIGH)
+GPIO(CC2_RA, B, 15, GPIO_ODR_HIGH)
+GPIO(CC2_RP1A5, C, 14, GPIO_ODR_HIGH)
+GPIO(CC2_RP3A0, C, 15, GPIO_ODR_HIGH)
/* Unimplemented signals which we need to emulate for now */
UNIMPLEMENTED(ENTERING_RW)
diff --git a/chip/g/gpio.c b/chip/g/gpio.c
index 0dd6122d54..8be9f06fca 100644
--- a/chip/g/gpio.c
+++ b/chip/g/gpio.c
@@ -174,9 +174,9 @@ static void gpio_invoke_handler(uint32_t port, uint32_t mask)
{
const struct gpio_info *g = gpio_list;
int i;
- for (i = 0; i < GPIO_COUNT; i++, g++)
- if (g->irq_handler && port == g->port && (mask & g->mask))
- g->irq_handler(i);
+ for (i = 0; i < GPIO_IH_COUNT; i++, g++)
+ if (port == g->port && (mask & g->mask))
+ gpio_irq_handlers[i](i);
}
static void gpio_interrupt(int port)
diff --git a/chip/host/gpio.c b/chip/host/gpio.c
index eda2c456bf..c6c415a084 100644
--- a/chip/host/gpio.c
+++ b/chip/host/gpio.c
@@ -43,14 +43,15 @@ test_mockable void gpio_set_level(enum gpio_signal signal, int value)
const struct gpio_info *g = gpio_list + signal;
const uint32_t flags = g->flags;
const int old_value = gpio_values[signal];
+ void (*ih)(enum gpio_signal signal) = gpio_irq_handlers[signal];
gpio_values[signal] = value;
- if (g->irq_handler == NULL || !gpio_interrupt_enabled[signal])
+ if (signal >= GPIO_IH_COUNT || !gpio_interrupt_enabled[signal])
return;
if (gpio_interrupt_check(flags, old_value, value))
- g->irq_handler(signal);
+ ih(signal);
}
test_mockable int gpio_enable_interrupt(enum gpio_signal signal)
diff --git a/chip/it83xx/gpio.c b/chip/it83xx/gpio.c
index 7bdc41682c..09f7ff2492 100644
--- a/chip/it83xx/gpio.c
+++ b/chip/it83xx/gpio.c
@@ -330,8 +330,6 @@ void gpio_pre_init(void)
}
}
-
-
/**
* Handle a GPIO interrupt by calling the pins corresponding handler if
* one exists.
@@ -344,9 +342,9 @@ static void gpio_interrupt(int port, uint8_t mask)
int i = 0;
const struct gpio_info *g = gpio_list;
- for (i = 0; i < GPIO_COUNT; i++, g++) {
- if (port == g->port && (mask & g->mask) && g->irq_handler) {
- g->irq_handler(i);
+ for (i = 0; i < GPIO_IH_COUNT; i++, g++) {
+ if (port == g->port && (mask & g->mask))
+ gpio_irq_handlers[i](i);
return;
}
}
diff --git a/chip/lm4/gpio.c b/chip/lm4/gpio.c
index e5236e31d2..97e886294b 100644
--- a/chip/lm4/gpio.c
+++ b/chip/lm4/gpio.c
@@ -150,9 +150,8 @@ void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags)
int gpio_enable_interrupt(enum gpio_signal signal)
{
const struct gpio_info *g = gpio_list + signal;
-
/* Fail if no interrupt handler */
- if (!g->irq_handler)
+ if (signal >= GPIO_IH_COUNT)
return EC_ERROR_UNKNOWN;
LM4_GPIO_IM(g->port) |= g->mask;
@@ -164,7 +163,7 @@ int gpio_disable_interrupt(enum gpio_signal signal)
const struct gpio_info *g = gpio_list + signal;
/* Fail if no interrupt handler */
- if (!g->irq_handler)
+ if (signal >= GPIO_IH_COUNT)
return EC_ERROR_UNKNOWN;
LM4_GPIO_IM(g->port) &= ~g->mask;
@@ -305,9 +304,9 @@ static void gpio_interrupt(int port, uint32_t mis)
int i = 0;
const struct gpio_info *g = gpio_list;
- for (i = 0; i < GPIO_COUNT && mis; i++, g++) {
- if (port == g->port && (mis & g->mask) && g->irq_handler) {
- g->irq_handler(i);
+ for (i = 0; i < GPIO_IH_COUNT && mis; i++, g++) {
+ if (port == g->port && (mis & g->mask)) {
+ gpio_irq_handlers[i](i);
mis &= ~g->mask;
}
}
diff --git a/chip/mec1322/gpio.c b/chip/mec1322/gpio.c
index 783fa52bf4..06fca36f7e 100644
--- a/chip/mec1322/gpio.c
+++ b/chip/mec1322/gpio.c
@@ -218,12 +218,10 @@ static void gpio_interrupt(int girq, int port_offset)
MEC1322_INT_SOURCE(girq) |= sts;
- for (i = 0; i < GPIO_COUNT && sts; ++i, ++g) {
- if (!g->irq_handler)
- continue;
+ for (i = 0; i < GPIO_IH_COUNT && sts; ++i, ++g) {
bit = (g->port - port_offset) * 8 + __builtin_ffs(g->mask) - 1;
if (sts & (1 << bit))
- g->irq_handler(i);
+ gpio_irq_handlers[i](i);
sts &= ~(1 << bit);
}
}
diff --git a/chip/npcx/gpio.c b/chip/npcx/gpio.c
index 8afd7d05fb..0b9b4b664f 100644
--- a/chip/npcx/gpio.c
+++ b/chip/npcx/gpio.c
@@ -350,9 +350,9 @@ void gpio_execute_isr(uint8_t port, uint8_t mask)
int i;
const struct gpio_info *g = gpio_list;
/* Find GPIOs and execute interrupt service routine */
- for (i = 0; i < GPIO_COUNT; i++, g++) {
- if (port == g->port && mask == g->mask && g->irq_handler) {
- g->irq_handler(i);
+ for (i = 0; i < GPIO_IH_COUNT; i++, g++) {
+ if (port == g->port && mask == g->mask) {
+ gpio_irq_handlers[i](i);
return;
}
}
diff --git a/chip/nrf51/gpio.c b/chip/nrf51/gpio.c
index ccb453d0c2..22a7d95fa1 100644
--- a/chip/nrf51/gpio.c
+++ b/chip/nrf51/gpio.c
@@ -193,7 +193,7 @@ int gpio_enable_interrupt(enum gpio_signal signal)
const struct gpio_info *g = gpio_list + signal;
/* Fail if not implemented or no interrupt handler */
- if (!g->mask || !g->irq_handler)
+ if (!g->mask || signal >= GPIO_IH_COUNT)
return EC_ERROR_INVAL;
/* If it's not shared, use INT0-INT3, otherwise use PORT. */
@@ -253,7 +253,7 @@ int gpio_disable_interrupt(enum gpio_signal signal)
int i;
/* Fail if not implemented or no interrupt handler */
- if (!g->mask || !g->irq_handler)
+ if (!g->mask || signal >= GPIO_IH_COUNT)
return EC_ERROR_INVAL;
/* If it's not shared, use INT0-INT3, otherwise use PORT. */
@@ -285,21 +285,24 @@ void gpio_interrupt(void)
{
const struct gpio_info *g;
int i;
+ int signal;
for (i = 0; i < NRF51_GPIOTE_IN_COUNT; i++) {
if (NRF51_GPIOTE_IN(i)) {
NRF51_GPIOTE_IN(i) = 0;
g = gpio_ints[i];
- if (g && g->irq_handler)
- g->irq_handler(g - gpio_list);
+ signal = g - gpio_list;
+ if (g && signal < GPIO_IH_COUNT)
+ gpio_irq_handlers[signal](signal);
}
}
if (NRF51_GPIOTE_PORT) {
NRF51_GPIOTE_PORT = 0;
g = gpio_int_port;
- if (g && g->irq_handler)
- g->irq_handler(g - gpio_list);
+ signal = g - gpio_list;
+ if (g && signal < GPIO_IH_COUNT)
+ gpio_irq_handlers[signal](signal);
}
}
DECLARE_IRQ(NRF51_PERID_GPIOTE, gpio_interrupt, 1);
diff --git a/chip/stm32/gpio.c b/chip/stm32/gpio.c
index ef7fc818ba..d58ce29328 100644
--- a/chip/stm32/gpio.c
+++ b/chip/stm32/gpio.c
@@ -16,9 +16,8 @@
/* Console output macros */
#define CPRINTS(format, args...) cprints(CC_GPIO, format, ## args)
-
/* For each EXTI bit, record which GPIO entry is using it */
-static const struct gpio_info *exti_events[16];
+static uint8_t exti_events[16];
void gpio_pre_init(void)
{
@@ -75,19 +74,23 @@ void gpio_set_level(enum gpio_signal signal, int value)
int gpio_enable_interrupt(enum gpio_signal signal)
{
const struct gpio_info *g = gpio_list + signal;
+ const struct gpio_info *g_old = gpio_list;
+
uint32_t bit, group, shift, bank;
/* Fail if not implemented or no interrupt handler */
- if (!g->mask || !g->irq_handler)
+ if (!g->mask || signal >= GPIO_IH_COUNT)
return EC_ERROR_INVAL;
bit = 31 - __builtin_clz(g->mask);
- if ((exti_events[bit]) && (exti_events[bit] != g)) {
+ g_old += exti_events[bit];
+
+ if ((exti_events[bit]) && (exti_events[bit] != signal)) {
CPRINTS("Overriding %s with %s on EXTI%d",
- exti_events[bit]->name, g->name, bit);
+ g_old->name, g->name, bit);
}
- exti_events[bit] = g;
+ exti_events[bit] = signal;
group = bit / 4;
shift = (bit % 4) * 4;
@@ -115,17 +118,17 @@ int gpio_enable_interrupt(enum gpio_signal signal)
void gpio_interrupt(void)
{
int bit;
- const struct gpio_info *g;
/* process only GPIO EXTINTs (EXTINT0..15) not other EXTINTs */
uint32_t pending = STM32_EXTI_PR & 0xFFFF;
+ uint8_t signal;
STM32_EXTI_PR = pending;
while (pending) {
bit = get_next_bit(&pending);
- g = exti_events[bit];
- if (g && g->irq_handler)
- g->irq_handler(g - gpio_list);
+ signal = exti_events[bit];
+ if (signal < GPIO_IH_COUNT)
+ gpio_irq_handlers[signal](signal);
}
}
#ifdef CHIP_FAMILY_STM32F0
diff --git a/include/backlight.h b/include/backlight.h
index be905d0f47..4a11e15a4a 100644
--- a/include/backlight.h
+++ b/include/backlight.h
@@ -9,6 +9,7 @@
#define __CROS_EC_BACKLIGHT_H
#include "common.h"
+#include "gpio.h"
/**
* Interrupt handler for backlight.
@@ -18,7 +19,7 @@
#ifdef CONFIG_BACKLIGHT_REQ_GPIO
void backlight_interrupt(enum gpio_signal signal);
#else
-#define backlight_interrupt NULL
-#endif
+static inline void backlight_interrupt(enum gpio_signal signal) { }
+#endif /* !CONFIG_BACKLIGHT_REQ_GPIO */
#endif /* __CROS_EC_BACKLIGHT_H */
diff --git a/include/chipset.h b/include/chipset.h
index 952c243663..0237767fbf 100644
--- a/include/chipset.h
+++ b/include/chipset.h
@@ -14,6 +14,7 @@
#define __CROS_EC_CHIPSET_H
#include "common.h"
+#include "gpio.h"
/*
* Chipset state mask
@@ -95,8 +96,7 @@ static inline void chipset_exit_hard_off(void) { }
static inline void chipset_throttle_cpu(int throttle) { }
static inline void chipset_force_shutdown(void) { }
static inline void chipset_reset(int cold_reset) { }
-
-#define power_interrupt NULL
+static inline void power_interrupt(enum gpio_signal signal) { }
#endif /* !HAS_TASK_CHIPSET */
diff --git a/include/gpio.h b/include/gpio.h
index f71622dfe6..0441ff6096 100644
--- a/include/gpio.h
+++ b/include/gpio.h
@@ -45,6 +45,15 @@
#define GPIO_INT_ANY (GPIO_INT_BOTH | GPIO_INT_LEVEL)
#define GPIO_INT_BOTH_DSLEEP (GPIO_INT_BOTH | GPIO_INT_DSLEEP)
+/* NOTE: This is normally included from board.h, thru config.h and common.h But,
+ * some boards and unit tests don't have a gpio_signal enum defined, so we
+ * define an emtpy one here.*/
+#ifndef __CROS_EC_GPIO_SIGNAL_H
+enum gpio_signal {
+ NULL
+};
+#endif /* __CROS_EC_GPIO_SIGNAL_H */
+
/* GPIO signal definition structure, for use by board.c */
struct gpio_info {
/* Signal name */
@@ -58,18 +67,20 @@ struct gpio_info {
/* Flags (GPIO_*; see above) */
uint32_t flags;
-
- /*
- * Interrupt handler. If non-NULL, and the signal's interrupt is
- * enabled, this will be called in the context of the GPIO interrupt
- * handler.
- */
- void (*irq_handler)(enum gpio_signal signal);
};
/* Signal information from board.c. Must match order from enum gpio_signal. */
extern const struct gpio_info gpio_list[];
+/* Interrupt handler table for those GPIOs which have IRQ handlers.
+ *
+ * If the signal's interrupt is enabled, this will be called in the
+ * context of the GPIO interrupt handler.
+ */
+extern void (* const gpio_irq_handlers[])(enum gpio_signal signal);
+extern const int gpio_ih_count;
+#define GPIO_IH_COUNT gpio_ih_count
+
/* GPIO alternate function structure, for use by board.c */
struct gpio_alt_func {
/* Port base address */
diff --git a/include/gpio.wrap b/include/gpio.wrap
index cf4fbb319a..1eb9f3643e 100644
--- a/include/gpio.wrap
+++ b/include/gpio.wrap
@@ -8,15 +8,26 @@
/*
* The GPIO macro is used to define a new GPIO pin name and function.
*
- * The name is used to populate the gpio_signal enum by first prepending GPIO_
- * to the name. It is also used to construct the string name that is presented
- * in the shell interface. Similarly, the port parameter has GPIO_ prepended to
- * it before it is used to initialize the port base address of a gpio_info
- * struct. The pin number is used to create a bitmask. The flags and signal
- * parameters are passed on to the gpio_info directly.
+ * The name is used to populate the gpio_signal enum by first
+ * prepending GPIO_ to the name. It is also used to construct the
+ * string name that is presented in the shell interface. Similarly,
+ * the port parameter has GPIO_ prepended to it before it is used to
+ * initialize the port base address of a gpio_info struct. The pin
+ * number is used to create a bitmask. The flags parameter is passed
+ * on to the gpio_info directly.
*/
#ifndef GPIO
-#define GPIO(name, port, pin, flags, signal)
+#define GPIO(name, port, pin, flags)
+#endif
+
+/*
+ * The GPIO_INT macro is used to define a GPIOs that have an IRQ handler.
+ *
+ * The IRQ handler pointers are stored as elements in the gpio_irq_handlers
+ * array.
+ */
+#ifndef GPIO_INT
+#define GPIO_INT(name, port, pin, flags, signal)
#endif
/*
@@ -61,5 +72,6 @@
* Once the gpio.inc file has been included these macros are no longer needed.
*/
#undef GPIO
+#undef GPIO_INT
#undef ALTERNATE
#undef UNIMPLEMENTED
diff --git a/include/gpio_list.h b/include/gpio_list.h
index c7e2962747..c9bdd5668d 100644
--- a/include/gpio_list.h
+++ b/include/gpio_list.h
@@ -3,17 +3,21 @@
* found in the LICENSE file.
*/
+#include "gpio_signal.h"
+
#ifdef CONFIG_COMMON_GPIO_SHORTNAMES
-#define GPIO(name, port, pin, flags, signal) \
- {#port#pin, GPIO_##port, (1 << pin), flags, signal},
+#define GPIO(name, port, pin, flags) \
+ {#port#pin, GPIO_##port, (1 << pin), flags},
#else
-#define GPIO(name, port, pin, flags, signal) \
- {#name, GPIO_##port, (1 << pin), flags, signal},
+#define GPIO(name, port, pin, flags) \
+ {#name, GPIO_##port, (1 << pin), flags},
#endif
#define UNIMPLEMENTED(name) \
- {#name, DUMMY_GPIO_BANK, 0, GPIO_DEFAULT, NULL},
+ {#name, DUMMY_GPIO_BANK, 0, GPIO_DEFAULT},
+#define GPIO_INT(name, port, pin, flags, signal) \
+ GPIO(name, port, pin, flags)
/* GPIO signal list. */
const struct gpio_info gpio_list[] = {
#include "gpio.wrap"
@@ -33,3 +37,18 @@ const struct gpio_alt_func gpio_alt_funcs[] = {
};
const int gpio_alt_funcs_count = ARRAY_SIZE(gpio_alt_funcs);
+
+/* GPIO Interrupt Handlers */
+#define GPIO_INT(name, port, pin, flags, signal) signal,
+void (* const gpio_irq_handlers[])(enum gpio_signal signal) = {
+ #include "gpio.wrap"
+};
+const int gpio_ih_count = ARRAY_SIZE(gpio_irq_handlers);
+
+/*
+ * ALL GPIOs with interrupt handlers must be declared at the top of the gpio.inc
+ * file.
+ */
+#define GPIO_INT(name, port, pin, flags, signal) \
+ BUILD_ASSERT(GPIO_##name < ARRAY_SIZE(gpio_irq_handlers));
+#include "gpio.wrap"
diff --git a/include/gpio_signal.h b/include/gpio_signal.h
index 83e9dfe6fa..bcec1b522f 100644
--- a/include/gpio_signal.h
+++ b/include/gpio_signal.h
@@ -3,10 +3,16 @@
* found in the LICENSE file.
*/
-#define GPIO(name, port, pin, flags, signal) GPIO_##name,
+#ifndef __CROS_EC_GPIO_SIGNAL_H
+#define __CROS_EC_GPIO_SIGNAL_H
+
+#define GPIO(name, port, pin, flags) GPIO_##name,
#define UNIMPLEMENTED(name) GPIO_##name,
+#define GPIO_INT(name, port, pin, flags, signal) GPIO_##name,
enum gpio_signal {
#include "gpio.wrap"
GPIO_COUNT
};
+
+#endif /* __CROS_EC_GPIO_SIGNAL_H */
diff --git a/include/jtag.h b/include/jtag.h
index 9c7835dfd0..cf927c2e2d 100644
--- a/include/jtag.h
+++ b/include/jtag.h
@@ -9,6 +9,7 @@
#define __CROS_EC_JTAG_H
#include "common.h"
+#include "gpio.h"
/**
* Pre-initialize the JTAG module.
@@ -23,8 +24,7 @@ void jtag_pre_init(void);
*/
void jtag_interrupt(enum gpio_signal signal);
#else
-#define jtag_interrupt NULL
-#endif
-
+static inline void jtag_interrupt(enum gpio_signal signal) { }
+#endif /* !CONFIG_LOW_POWER_IDLE */
#endif /* __CROS_EC_JTAG_H */
diff --git a/include/keyboard_raw.h b/include/keyboard_raw.h
index 9bdd1cce8f..8591700b47 100644
--- a/include/keyboard_raw.h
+++ b/include/keyboard_raw.h
@@ -68,7 +68,7 @@ void keyboard_raw_enable_interrupt(int enable);
void keyboard_raw_gpio_interrupt(enum gpio_signal signal);
#else
-#define keyboard_raw_gpio_interrupt NULL
-#endif
+static inline void keyboard_raw_gpio_interrupt(enum gpio_signal signal) { }
+#endif /* !HAS_TASK_KEYSCAN */
#endif /* __CROS_EC_KEYBOARD_RAW_H */
diff --git a/include/power.h b/include/power.h
index 36054e8bd1..8f11c14868 100644
--- a/include/power.h
+++ b/include/power.h
@@ -100,7 +100,7 @@ enum power_state power_handle_state(enum power_state state);
#ifdef HAS_TASK_CHIPSET
void power_signal_interrupt(enum gpio_signal signal);
#else
-#define power_signal_interrupt NULL
-#endif
+static inline void power_signal_interrupt(enum gpio_signal signal) { }
+#endif /* !HAS_TASK_CHIPSET */
#endif /* __CROS_EC_POWER_H */
diff --git a/include/switch.h b/include/switch.h
index f59e56df52..c2b67393d0 100644
--- a/include/switch.h
+++ b/include/switch.h
@@ -19,7 +19,7 @@
*/
void switch_interrupt(enum gpio_signal signal);
#else
-#define switch_interrupt NULL
-#endif /* CONFIG_SWITCH */
+static inline void switch_interrupt(enum gpio_signal signal) { }
+#endif /* !CONFIG_SWITCH */
#endif /* __CROS_EC_SWITCH_H */
diff --git a/include/uart.h b/include/uart.h
index 6128962726..6499eb9453 100644
--- a/include/uart.h
+++ b/include/uart.h
@@ -10,6 +10,7 @@
#include <stdarg.h> /* For va_list */
#include "common.h"
+#include "gpio.h"
/**
* Initialize the UART module.
@@ -224,8 +225,8 @@ void uart_exit_dsleep(void);
*/
void uart_deepsleep_interrupt(enum gpio_signal signal);
#else
-#define uart_deepsleep_interrupt NULL
-#endif
+static inline void uart_deepsleep_interrupt(enum gpio_signal signal) { }
+#endif /* !CONFIG_LOW_POWER_IDLE */
#ifdef CONFIG_UART_INPUT_FILTER
/**