From f543a8e7982c8facb74502b3e96d83bd336f6522 Mon Sep 17 00:00:00 2001 From: Vijay Hiremath Date: Wed, 1 Nov 2017 18:48:48 -0700 Subject: [PATCH] glkrvp: Switch from NPCX5 EC to NPCX7 EC BUG=b:68987606, b:72483287 BRANCH=glkrvp TEST=GLKRVP can boot to OS Change-Id: If4b99ca60005b97c59a1d8dc16c4065af63d34d8 Signed-off-by: Vijay Hiremath Reviewed-on: https://chromium-review.googlesource.com/750365 Commit-Ready: Vijay P Hiremath Tested-by: Vijay P Hiremath Reviewed-by: Aaron Durbin --- board/glkrvp/board.c | 12 ++- board/glkrvp/board.h | 8 +- board/glkrvp/build.mk | 3 +- board/glkrvp/chg_usb_pd.c | 4 +- board/glkrvp/gpio.inc | 218 ++++++++++++++++++++------------------ 5 files changed, 129 insertions(+), 116 deletions(-) diff --git a/board/glkrvp/board.c b/board/glkrvp/board.c index a8c9dcfd2f..02046de236 100644 --- a/board/glkrvp/board.c +++ b/board/glkrvp/board.c @@ -51,6 +51,8 @@ const struct power_signal_info power_signal_list[] = { "SLP_S0_DEASSERTED"}, {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"}, {GPIO_PCH_SLP_S4_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S4_DEASSERTED"}, + {GPIO_SUSPWRNACK, POWER_SIGNAL_ACTIVE_HIGH, + "SUSPWRNACK_DEASSERTED"}, {GPIO_ALL_SYS_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "ALL_SYS_PGOOD"}, }; @@ -58,11 +60,11 @@ BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT); /* I2C ports */ const struct i2c_port_t i2c_ports[] = { - {"pmic", NPCX_I2C_PORT0_0, 100, GPIO_I2C0_SCL0, GPIO_I2C0_SDA0}, - {"typec", NPCX_I2C_PORT0_1, 400, GPIO_I2C0_SCL1, GPIO_I2C0_SDA1}, - {"master1", NPCX_I2C_PORT1, 400, GPIO_I2C1_SCL, GPIO_I2C1_SDA}, - {"master2", NPCX_I2C_PORT2, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA}, - {"charger", NPCX_I2C_PORT3, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA}, + {"pmic", NPCX_I2C_PORT0_0, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA}, + {"typec", NPCX_I2C_PORT7_0, 400, GPIO_I2C7_SCL, GPIO_I2C7_SDA}, + {"master1", NPCX_I2C_PORT1_0, 400, GPIO_I2C1_SCL, GPIO_I2C1_SDA}, + {"master2", NPCX_I2C_PORT2_0, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA}, + {"charger", NPCX_I2C_PORT3_0, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA}, }; const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); diff --git a/board/glkrvp/board.h b/board/glkrvp/board.h index 6e9954a998..521095ff36 100644 --- a/board/glkrvp/board.h +++ b/board/glkrvp/board.h @@ -57,6 +57,7 @@ /* UART */ #define NPCX_UART_MODULE2 1 /* 0:GPIO10/11 1:GPIO64/65 as UART */ +#define NPCX7_PWM1_SEL 0 /* GPIO C2 is not used as PWM1. */ /* USB-A config */ @@ -119,9 +120,9 @@ #define NPCX_TACH_SEL2 0 /* 0:GPIO40/A4 1:GPIO93/D3 as TACH */ /* I2C ports */ -#define I2C_PORT_CHARGER NPCX_I2C_PORT3 -#define I2C_PORT_BATTERY NPCX_I2C_PORT3 -#define I2C_PORT_USB_MUX NPCX_I2C_PORT0_1 +#define I2C_PORT_CHARGER NPCX_I2C_PORT3_0 +#define I2C_PORT_BATTERY NPCX_I2C_PORT3_0 +#define I2C_PORT_USB_MUX NPCX_I2C_PORT7_0 /* EC exclude modules */ #undef CONFIG_ADC @@ -138,6 +139,7 @@ enum power_signal { X86_SLP_S0_N, X86_SLP_S3_N, X86_SLP_S4_N, + X86_SUSPWRDNACK, X86_ALL_SYS_PG, /* PMIC_EC_PWROK_OD */ diff --git a/board/glkrvp/build.mk b/board/glkrvp/build.mk index d1a8fc77b1..235514e22b 100644 --- a/board/glkrvp/build.mk +++ b/board/glkrvp/build.mk @@ -7,7 +7,8 @@ # CHIP:=npcx -CHIP_VARIANT:=npcx5m6g +CHIP_FAMILY:=npcx7 +CHIP_VARIANT:=npcx7m6g board-y=board.o board-$(CONFIG_BATTERY_SMART)+=battery.o diff --git a/board/glkrvp/chg_usb_pd.c b/board/glkrvp/chg_usb_pd.c index 730c1f671b..581f9aecf5 100644 --- a/board/glkrvp/chg_usb_pd.c +++ b/board/glkrvp/chg_usb_pd.c @@ -31,8 +31,8 @@ enum glkrvp_charge_ports { }; const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_COUNT] = { - {NPCX_I2C_PORT0_1, 0xA0, &tcpci_tcpm_drv, TCPC_ALERT_ACTIVE_LOW}, - {NPCX_I2C_PORT0_1, 0xA4, &tcpci_tcpm_drv, TCPC_ALERT_ACTIVE_LOW}, + {NPCX_I2C_PORT7_0, 0xA0, &tcpci_tcpm_drv, TCPC_ALERT_ACTIVE_LOW}, + {NPCX_I2C_PORT7_0, 0xA4, &tcpci_tcpm_drv, TCPC_ALERT_ACTIVE_LOW}, }; BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == CONFIG_USB_PD_PORT_COUNT); diff --git a/board/glkrvp/gpio.inc b/board/glkrvp/gpio.inc index 0c8425d026..2fc108b174 100644 --- a/board/glkrvp/gpio.inc +++ b/board/glkrvp/gpio.inc @@ -11,159 +11,167 @@ * Declare symbolic names for all the GPIOs that we care about. * Note: Those with interrupt handlers must be declared first. */ -GPIO_INT(PCH_SLP_S4_L, PIN(8, 6), GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S4_L */ -GPIO_INT(PCH_SLP_S3_L, PIN(8, 5), GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S3_L */ -GPIO_INT(PCH_SLP_S0_L, PIN(8, 1), GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0_L */ -GPIO_INT(RSMRST_L_PGOOD, PIN(3, 6), GPIO_INT_BOTH, power_signal_interrupt) /* PMIC_EC_RSMRST_ODL */ -GPIO_INT(ALL_SYS_PGOOD, PIN(7, 2), GPIO_INT_BOTH, power_signal_interrupt) /* PMIC_EC_PWROK_ODL */ -GPIO_INT(POWER_BUTTON_L, PIN(A, 6), GPIO_INT_BOTH, power_button_interrupt) /* MECH_PWR_BTN_ODL */ -GPIO_INT(LID_OPEN, PIN(0, 3), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt) /* SMC_LID */ -GPIO_INT(AC_PRESENT, PIN(D, 2), GPIO_INT_BOTH, extpower_interrupt) /* ACOK_OD from ISL9238 */ -GPIO_INT(WP_L, PIN(9, 3), GPIO_INT_BOTH | GPIO_SEL_1P8V, switch_interrupt) /* EC_WP_ODL */ -GPIO_INT(USB_C0_PD_INT_ODL, PIN(6, 2), GPIO_INT_FALLING, tcpc_alert_event) -GPIO_INT(USB_C1_PD_INT_ODL, PIN(6, 3), GPIO_INT_FALLING, tcpc_alert_event) + +/* Power sequencing interrupts */ +GPIO_INT(SUSPWRNACK, PIN(0, 2), GPIO_INT_BOTH, power_signal_interrupt) +GPIO_INT(RSMRST_L_PGOOD,PIN(3, 6), GPIO_INT_BOTH, power_signal_interrupt) +GPIO_INT(ALL_SYS_PGOOD, PIN(7, 2), GPIO_INT_BOTH, power_signal_interrupt) +GPIO_INT(PCH_SLP_S0_L, PIN(8, 1), GPIO_INT_BOTH, power_signal_interrupt) +GPIO_INT(PCH_SLP_S3_L, PIN(8, 5), GPIO_INT_BOTH, power_signal_interrupt) +GPIO_INT(PCH_SLP_S4_L, PIN(8, 6), GPIO_INT_BOTH, power_signal_interrupt) + +/* Button interrupts */ +GPIO_INT(LID_OPEN, PIN(0, 3), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt) GPIO_INT(EC_VOLUP_BTN_ODL, PIN(3, 4), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) GPIO_INT(EC_VOLDN_BTN_ODL, PIN(3, 7), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) +GPIO_INT(POWER_BUTTON_L, PIN(A, 6), GPIO_INT_BOTH, power_button_interrupt) -GPIO(PCH_PWRBTN_L, PIN(7, 5), GPIO_ODR_HIGH) /* EC_PCH_PWR_BTN_ODL */ -GPIO(PCH_WAKE_L, PIN(C, 1), GPIO_ODR_HIGH) /* EC_PCH_WAKE_ODL */ -GPIO(PCH_SYS_PWROK, PIN(3, 5), GPIO_OUT_LOW) /* EC_PCH_PWROK */ -GPIO(ENABLE_BACKLIGHT, PIN(9, 7), GPIO_ODR_HIGH) /* EC_BL_EN_OD */ -GPIO(ENTERING_RW, PIN(A, 7), GPIO_OUTPUT) /* EC_ENTERING_RW */ +/* Type-C interrupts */ +GPIO_INT(USB_C0_PD_INT_ODL, PIN(6, 2), GPIO_INT_FALLING, tcpc_alert_event) +GPIO_INT(USB_C1_PD_INT_ODL, PIN(6, 3), GPIO_INT_FALLING, tcpc_alert_event) -GPIO(PCH_RSMRST_L, PIN(0, 1), GPIO_OUT_LOW) /* EC_PCH_RSMRST_L */ -GPIO(PCH_RCIN_L, PIN(0, 0), GPIO_ODR_HIGH) /* SYS_RST_ODL */ -GPIO(SMC_SHUTDOWN, PIN(3, 3), GPIO_OUT_LOW | GPIO_PULL_DOWN) /* A_RAIL_EN */ +GPIO_INT(AC_PRESENT, PIN(D, 2), GPIO_INT_BOTH, extpower_interrupt) +GPIO_INT(WP_L, PIN(9, 3), GPIO_INT_BOTH | GPIO_SEL_1P8V, switch_interrupt) +/* Power sequencing GPIOs */ +GPIO(PCH_RCIN_L, PIN(0, 0), GPIO_ODR_HIGH) +GPIO(PCH_RSMRST_L, PIN(0, 1), GPIO_OUT_LOW) +GPIO(SMC_SHUTDOWN, PIN(3, 3), GPIO_OUT_LOW | GPIO_PULL_DOWN) +GPIO(PCH_SYS_PWROK, PIN(3, 5), GPIO_OUT_LOW) +GPIO(PCH_PWRBTN_L, PIN(7, 5), GPIO_ODR_HIGH) /* * PCH_PROCHOT_ODL is primarily for monitoring the PROCHOT# signal which is * normally driven by the PMIC. The EC can also drive this signal in the event * that the ambient or charger temperature sensors exceeds their thresholds. */ GPIO(CPU_PROCHOT, PIN(A, 3), GPIO_INPUT) /* PCH_PROCHOT_ODL */ -GPIO(EC_PCH_RTCRST, PIN(B, 7), GPIO_INPUT) /* EC_PCH_RTCRST TODO: Not used yet */ + +/* Host communication GPIOs */ +GPIO(PCH_WAKE_L, PIN(C, 1), GPIO_ODR_HIGH) GPIO(DC_JACK_PRESENT_L, PIN(7, 0), GPIO_INPUT) /* DC Jack presence coming from +V3P3_A_KBC */ +GPIO(USBC_LDO_ENABLE, PIN(7, 1), GPIO_OUT_HIGH) /* USB TCPC to enable LDO in dead battery */ +GPIO(ENABLE_BACKLIGHT, PIN(9, 7), GPIO_ODR_HIGH) +GPIO(ENTERING_RW, PIN(A, 7), GPIO_OUTPUT) /* EC_ENTERING_RW */ /* * I2C pins should be configured as inputs until I2C module is * initialized. This will avoid driving the lines unintentionally. */ -GPIO(I2C0_SCL0, PIN(B, 5), GPIO_ODR_HIGH) -GPIO(I2C0_SDA0, PIN(B, 4), GPIO_ODR_HIGH) -GPIO(I2C0_SCL1, PIN(B, 3), GPIO_ODR_HIGH) -GPIO(I2C0_SDA1, PIN(B, 2), GPIO_ODR_HIGH) -GPIO(I2C1_SCL, PIN(9, 0), GPIO_ODR_HIGH) -GPIO(I2C1_SDA, PIN(8, 7), GPIO_ODR_HIGH) -GPIO(I2C2_SCL, PIN(9, 2), GPIO_ODR_HIGH) -GPIO(I2C2_SDA, PIN(9, 1), GPIO_ODR_HIGH) -GPIO(I2C3_SCL, PIN(D, 1), GPIO_ODR_HIGH) -GPIO(I2C3_SDA, PIN(D, 0), GPIO_ODR_HIGH) +GPIO(I2C0_SCL, PIN(B, 5), GPIO_ODR_HIGH) +GPIO(I2C0_SDA, PIN(B, 4), GPIO_ODR_HIGH) +GPIO(I2C1_SCL, PIN(9, 0), GPIO_ODR_HIGH) +GPIO(I2C1_SDA, PIN(8, 7), GPIO_ODR_HIGH) +GPIO(I2C2_SCL, PIN(9, 2), GPIO_ODR_HIGH) +GPIO(I2C2_SDA, PIN(9, 1), GPIO_ODR_HIGH) +GPIO(I2C3_SCL, PIN(D, 1), GPIO_ODR_HIGH) +GPIO(I2C3_SDA, PIN(D, 0), GPIO_ODR_HIGH) +GPIO(I2C7_SCL, PIN(B, 3), GPIO_ODR_HIGH) +GPIO(I2C7_SDA, PIN(B, 2), GPIO_ODR_HIGH) -/* Type-C control GPIOs */ -UNIMPLEMENTED(USB_C0_5V_EN) -UNIMPLEMENTED(USB_C1_5V_EN) +/* LPC / eSPI signals */ +#if 0 +GPIO(LAD0_eSPI_IO0, PIN(4, 6), GPIO_INPUT) /* LAD0 / eSPI_IO0 */ +GPIO(LAD1_eSPI_IO1, PIN(4, 7), GPIO_INPUT) /* LAD1 / eSPI_IO1 */ +GPIO(LAD2_eSPI_IO2, PIN(5, 1), GPIO_INPUT) /* LAD2 / eSPI_IO2 */ +GPIO(LAD3_eSPI_IO3, PIN(5, 2), GPIO_INPUT) /* LAD3 / eSPI_IO3 */ +GPIO(LFRAME_eSPI_CS, PIN(5, 3), GPIO_INPUT) /* LFRAME / eSPI_CS */ +GPIO(LRESET_eSPI_RST, PIN(5, 4), GPIO_INPUT) /* LRESET / eSPI_RST */ +GPIO(PCI_CLK_eSPI_CLK, PIN(5, 5), GPIO_INPUT) /* PCI_CLK / eSPI_CLK */ +GPIO(CLKRUN, PIN(5, 6), GPIO_INPUT) /* CLKRUN */ +GPIO(SER_IRQ_eSPI_ALERT,PIN(5, 7), GPIO_INPUT) /* SER_IRQ / eSPI_ALERT */ +#endif /* Unused pins 3.3V & Interruptable */ -GPIO(NC_02, PIN(0, 2), GPIO_INPUT) -GPIO(NC_04, PIN(0, 4), GPIO_INPUT) +GPIO(NC_04, PIN(0, 4), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_41, PIN(4, 1), GPIO_INPUT) -GPIO(NC_42, PIN(4, 2), GPIO_INPUT) +GPIO(NC_40, PIN(4, 0), GPIO_INPUT) /* TA1_TACH1 */ +GPIO(NC_41, PIN(4, 1), GPIO_INPUT | GPIO_PULL_UP) /* ADC4 */ +GPIO(NC_42, PIN(4, 2), GPIO_INPUT | GPIO_PULL_UP) /* ADC3 */ +GPIO(NC_43, PIN(4, 3), GPIO_INPUT | GPIO_PULL_UP) /* ADC2 */ +GPIO(NC_44, PIN(4, 4), GPIO_INPUT | GPIO_PULL_UP) /* ADC1 */ +GPIO(NC_45, PIN(4, 5), GPIO_INPUT | GPIO_PULL_UP) /* ADC5 */ -GPIO(NC_60, PIN(6, 0), GPIO_INPUT) -GPIO(NC_61, PIN(6, 1), GPIO_INPUT) -GPIO(NC_67, PIN(6, 7), GPIO_INPUT) +GPIO(NC_60, PIN(6, 0), GPIO_INPUT) /* PWM7 */ +GPIO(NC_61, PIN(6, 1), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_67, PIN(6, 7), GPIO_INPUT) /* Wake-up button */ -GPIO(NC_71, PIN(7, 1), GPIO_INPUT) -GPIO(NC_73, PIN(7, 3), GPIO_INPUT) -GPIO(NC_74, PIN(7, 4), GPIO_INPUT) +GPIO(NC_73, PIN(7, 3), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_74, PIN(7, 4), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_76, PIN(7, 6), GPIO_INPUT | GPIO_PULL_UP) /* SCI */ -GPIO(NC_80, PIN(8, 0), GPIO_INPUT) -GPIO(NC_82, PIN(8, 2), GPIO_INPUT) -GPIO(NC_83, PIN(8, 3), GPIO_INPUT) -GPIO(NC_84, PIN(8, 4), GPIO_INPUT) +GPIO(NC_80, PIN(8, 0), GPIO_INPUT) /* PWM3 */ +GPIO(NC_82, PIN(8, 2), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_83, PIN(8, 3), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_84, PIN(8, 4), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_B1, PIN(B, 1), GPIO_INPUT) +GPIO(NC_B1, PIN(B, 1), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_B7, PIN(B, 7), GPIO_INPUT) /* PWM5 */ -GPIO(NC_C0, PIN(C, 0), GPIO_INPUT) -GPIO(NC_C2, PIN(C, 2), GPIO_INPUT) -GPIO(NC_C3, PIN(C, 3), GPIO_INPUT) -GPIO(NC_C4, PIN(C, 4), GPIO_INPUT) -GPIO(NC_C5, PIN(C, 5), GPIO_INPUT) -GPIO(NC_C7, PIN(C, 7), GPIO_INPUT) +GPIO(NC_C0, PIN(C, 0), GPIO_INPUT) /* PWM6 */ +GPIO(NC_C2, PIN(C, 2), GPIO_INPUT) /* PWM1 */ +GPIO(NC_C3, PIN(C, 3), GPIO_INPUT) /* PWM0 */ +GPIO(NC_C4, PIN(C, 4), GPIO_INPUT) /* PWM2 */ +GPIO(NC_C5, PIN(C, 5), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_C7, PIN(C, 7), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_D3, PIN(D, 3), GPIO_INPUT) +GPIO(NC_C6, PIN(C, 6), GPIO_INPUT | GPIO_PULL_UP) /* SMI */ -GPIO(NC_E7, PIN(E, 7), GPIO_INPUT) +GPIO(NC_D3, PIN(D, 3), GPIO_INPUT) /* TB1 */ + +GPIO(NC_E7, PIN(E, 7), GPIO_INPUT) /* 32K_CLKIN */ /* Unused pins: VSPI 3.3V or 1.8V & Interruptable */ -GPIO(NC_94, PIN(9, 4), GPIO_INPUT) -GPIO(NC_95, PIN(9, 5), GPIO_INPUT) +GPIO(NC_94, PIN(9, 4), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_95, PIN(9, 5), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_A1, PIN(A, 1), GPIO_INPUT) -GPIO(NC_A5, PIN(A, 5), GPIO_INPUT) +GPIO(NC_A1, PIN(A, 1), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_A5, PIN(A, 5), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_B0, PIN(B, 0), GPIO_INPUT) +GPIO(NC_B0, PIN(B, 0), GPIO_INPUT | GPIO_PULL_UP) /* Unused pins 3.3V & Non-Interruptable */ -GPIO(NC_32, PIN(3, 2), GPIO_INPUT) +GPIO(NC_32, PIN(3, 2), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_66, PIN(6, 6), GPIO_INPUT) +GPIO(NC_66, PIN(6, 6), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_B6, PIN(B, 6), GPIO_INPUT) - -/* SMI/SCI pins unused for eSPI */ -GPIO(NC_C6, PIN(C, 6), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_76, PIN(7, 6), GPIO_INPUT | GPIO_PULL_UP) +GPIO(NC_B6, PIN(B, 6), GPIO_INPUT) /* PWM4 */ /* eSPI: VHIF Unused pins 1.8V & Interruptable */ -GPIO(NC_46, PIN(4, 6), GPIO_INPUT) -GPIO(NC_47, PIN(4, 7), GPIO_INPUT) - -GPIO(NC_50, PIN(5, 0), GPIO_INPUT) -GPIO(NC_51, PIN(5, 1), GPIO_INPUT) -GPIO(NC_52, PIN(5, 2), GPIO_INPUT) -GPIO(NC_53, PIN(5, 3), GPIO_INPUT) -GPIO(NC_54, PIN(5, 4), GPIO_INPUT) -GPIO(NC_55, PIN(5, 5), GPIO_INPUT) -GPIO(NC_56, PIN(5, 6), GPIO_INPUT) -GPIO(NC_57, PIN(5, 7), GPIO_INPUT) +GPIO(NC_50, PIN(5, 0), GPIO_INPUT | GPIO_PULL_UP) /* Alternate pins for UART */ -ALTERNATE(PIN_MASK(6, 0x30), 1, MODULE_UART, 0) /* GPIO64/65 */ +ALTERNATE(PIN_MASK(6, 0x30), 1, MODULE_UART, 0) /* GPIO64/65 */ /* Alternate pins for I2C */ -ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, 0) /* I2C0SDA1/I2C0SCL1 GPIOB2/B3 */ -ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* I2C0SDA0/I2C0SCL0 GPIOB4/B5 */ -ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0) /* I2C1SDA GPIO87 */ -ALTERNATE(PIN_MASK(9, 0x07), 1, MODULE_I2C, 0) /* I2C1SCL/I2C2SDA/I2C2SCL GPIO90/91/92 */ -ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0) /* I2C3SDA/I2C3SCL GPIOD0/D1 */ - -/* Alternate pins for ADC/SPI/PWM/MFT */ -ALTERNATE(PIN_MASK(4, 0x38), 1, MODULE_ADC, 0) /* ADC GPIO45/44/43 */ -ALTERNATE(PIN_MASK(A, 0x0A), 1, MODULE_SPI, 0) /* SPIP_MOSI/SPIP_SCLK GPIOA3/A1 */ -ALTERNATE(PIN_MASK(9, 0x20), 1, MODULE_SPI, 0) /* SPIP_MISO GPIO95 */ -ALTERNATE(PIN_MASK(C, 0x04), 3, MODULE_PWM, 0) /* PWM1 for PWM/KBLIGHT Test GPIOC2 */ -/* Alternative functionality for FANS */ -#ifdef CONFIG_FANS -ALTERNATE(PIN_MASK(C, 0x08), 7, MODULE_PWM, 0) /* PWM0 for PWM/FAN Test GPIOC3 */ -#if NPCX_TACH_SEL2 -ALTERNATE(PIN_MASK(9, 0x08), 3, MODULE_PWM, 0) /* MFT-1/TA1_TACH1 for FAN GPIO93 */ -#else -ALTERNATE(PIN_MASK(4, 0x01), 3, MODULE_PWM, 0) /* MFT-1/TA1_TACH1 for FAN Test GPIO40 */ -#endif -#endif +ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0) /* I2C1:SDA GPIO87 */ +ALTERNATE(PIN_MASK(9, 0x01), 1, MODULE_I2C, 0) /* I2C1:SCL GPIO90 */ +ALTERNATE(PIN_MASK(9, 0x06), 1, MODULE_I2C, 0) /* I2C2:SDA/SCL GPIO91/92 */ +ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, 0) /* I2C7:SDA/SCL GPIOB2/B3 */ +ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* I2C0:SDA/SCL GPIOB4/B5 */ +ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0) /* I2C3:SDA/SCL GPIOD0/D1 */ /* Keyboard pins */ #define GPIO_KB_INPUT (GPIO_INPUT) #define GPIO_KB_OUTPUT (GPIO_ODR_HIGH) /* Keyboard Columns */ -ALTERNATE(PIN_MASK(0, 0xE0), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) /* GPIO05/06/07 */ -ALTERNATE(PIN_MASK(1, 0xFF), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) /* GPIO10/11/12/13/14/15/16/17 */ -ALTERNATE(PIN_MASK(2, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) /* GPIO20/21 */ +/* GPIO05/06/07 */ +ALTERNATE(PIN_MASK(0, 0xE0), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) +/* GPIO10/11/12/13/14/15/16/17 */ +ALTERNATE(PIN_MASK(1, 0xFF), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) +/* GPIO20/21 */ +ALTERNATE(PIN_MASK(2, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) /* Keyboard Rows */ -ALTERNATE(PIN_MASK(2, 0xFC), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) /* GPIO22/23/24/25/26/27 */ -ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) /* GPIO30/31 */ +/* GPIO22/23/24/25/26/27 */ +ALTERNATE(PIN_MASK(2, 0xFC), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) +/* GPIO30/31 */ +ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) + +/* EC SPI chip */ +#if 0 +GPIO(F_CS0_EC_L, PIN(A, 0), GPIO_OUT_HIGH | GPIO_PULL_UP) +ALTERNATE(PIN_MASK(A, 0x14), 1, MODULE_SPI, 0) /* SPI:MOSI/SCLK GPIOA4/A2 */ +ALTERNATE(PIN_MASK(9, 0x40), 1, MODULE_SPI, 0) /* SPI:MISO GPIO96 */ +#endif