mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-31 02:51:26 +00:00
kevin: GPIO changes for new proto build
BUG=chrome-os-partner:52171 TEST=Verify old kevin boards still boot + power sequence. BRANCH=None Change-Id: Iacc02beba05ef3e80ffa59aa7fc5718c12bae20c Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/338043 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
9eafb5b9dd
commit
90145968b2
@@ -68,8 +68,10 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
|
||||
/******************************************************************************/
|
||||
/* PWM channels. Must be in the exactly same order as in enum pwm_channel. */
|
||||
const struct pwm_t pwm_channels[] = {
|
||||
[PWM_CH_BKLIGHT] = { 2, 0, 10000 },
|
||||
[PWM_CH_LED] = { 3, PWM_CONFIG_DSLEEP, 100 },
|
||||
[PWM_CH_FULL_LED] = { 0, PWM_CONFIG_DSLEEP, 100 },
|
||||
[PWM_CH_BKLIGHT] = { 2, 0, 10000 },
|
||||
[PWM_CH_CHG_LED] = { 3, PWM_CONFIG_DSLEEP, 100 },
|
||||
[PWM_CH_PWR_LED] = { 4, PWM_CONFIG_DSLEEP, 100 },
|
||||
};
|
||||
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
|
||||
|
||||
@@ -78,7 +80,7 @@ BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
|
||||
const struct i2c_port_t i2c_ports[] = {
|
||||
{"tcpc0", NPCX_I2C_PORT0_0, 1000, GPIO_I2C0_SCL0, GPIO_I2C0_SDA0},
|
||||
{"tcpc1", NPCX_I2C_PORT0_1, 1000, GPIO_I2C0_SCL1, GPIO_I2C0_SDA1},
|
||||
{"sensors", NPCX_I2C_PORT1, 1000, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
|
||||
{"sensors", NPCX_I2C_PORT1, 400, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
|
||||
{"charger", NPCX_I2C_PORT2, 400, GPIO_I2C2_SCL, GPIO_I2C2_SDA},
|
||||
{"battery", NPCX_I2C_PORT3, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA},
|
||||
};
|
||||
|
||||
@@ -108,8 +108,10 @@ enum adc_channel {
|
||||
};
|
||||
|
||||
enum pwm_channel {
|
||||
PWM_CH_FULL_LED,
|
||||
PWM_CH_BKLIGHT,
|
||||
PWM_CH_LED,
|
||||
PWM_CH_CHG_LED,
|
||||
PWM_CH_PWR_LED,
|
||||
/* Number of PWM channels */
|
||||
PWM_CH_COUNT
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
|
||||
GPIO_INT(WP_L, PIN(9, 3), GPIO_INT_BOTH, switch_interrupt)
|
||||
/* TODO: May be floating when SOC unpowered */
|
||||
GPIO_INT(SHI_CS_L, PIN(5, 3), GPIO_INT_FALLING, shi_cs_event)
|
||||
GPIO_INT(USB_C0_PD_INT_L, PIN(6, 0), GPIO_INT_FALLING | GPIO_PULL_UP,
|
||||
tcpc_alert_event)
|
||||
@@ -21,7 +22,7 @@ GPIO_INT(VOLUME_UP_L, PIN(8, 2), GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP,
|
||||
button_interrupt)
|
||||
GPIO_INT(VOLUME_DOWN_L, PIN(8, 3), GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP,
|
||||
button_interrupt)
|
||||
GPIO_INT(POWER_BUTTON_L, PIN(0, 4), GPIO_INT_BOTH | GPIO_INPUT,
|
||||
GPIO_INT(POWER_BUTTON_L, PIN(0, 4), GPIO_INT_BOTH | GPIO_INPUT | GPIO_PULL_UP,
|
||||
power_button_interrupt)
|
||||
GPIO_INT(LID_OPEN, PIN(9, 7),
|
||||
GPIO_INT_BOTH | GPIO_INPUT | GPIO_SEL_1P8V, lid_interrupt)
|
||||
@@ -41,7 +42,8 @@ GPIO(PP900_PMU_EN, PIN(C, 2), GPIO_OUT_LOW)
|
||||
GPIO(PP900_USB_EN, PIN(A, 5), GPIO_OUT_LOW)
|
||||
GPIO(PP900_PCIE_EN, PIN(0, 0), GPIO_OUT_LOW)
|
||||
|
||||
GPIO(PP1200_HSIC_EN, PIN(8, 1), GPIO_OUT_LOW)
|
||||
/* NC */
|
||||
GPIO(GPIO81_NC, PIN(8, 1), GPIO_INPUT | GPIO_PULL_UP)
|
||||
|
||||
GPIO(PP1800_SENSOR_EN_L, PIN(A, 7), GPIO_OUT_HIGH)
|
||||
GPIO(PP1800_USB_EN_L, PIN(A, 6), GPIO_OUT_HIGH)
|
||||
@@ -51,7 +53,6 @@ GPIO(PP1800_AP_AVDD_EN_L, PIN(5, 2), GPIO_OUT_HIGH)
|
||||
GPIO(PP1800_S0_EN_L, PIN(5, 0), GPIO_OUT_HIGH)
|
||||
GPIO(PP1800_SIXAXIS_EN_L, PIN(5, 6), GPIO_OUT_HIGH)
|
||||
|
||||
GPIO(PP3300_S0_EN_L, PIN(C, 3), GPIO_OUT_HIGH)
|
||||
GPIO(PP3300_TRACKPAD_EN_L, PIN(3, 2), GPIO_OUT_HIGH)
|
||||
GPIO(PP3300_USB_EN_L, PIN(3, 7), GPIO_OUT_HIGH)
|
||||
|
||||
@@ -59,6 +60,7 @@ GPIO(PP5000_EN, PIN(C, 6), GPIO_OUT_LOW)
|
||||
|
||||
GPIO(PP5000_PG, PIN(7, 1), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(TPS65261_PG, PIN(7, 5), GPIO_INPUT | GPIO_PULL_UP)
|
||||
/* TODO: May be floating when SOC unpowered */
|
||||
GPIO(AP_EC_S3_S0_L, PIN(5, 4), GPIO_INPUT)
|
||||
GPIO(AP_CORE_PG, PIN(6, 7), GPIO_INPUT | GPIO_PULL_UP)
|
||||
|
||||
@@ -84,16 +86,14 @@ GPIO(CLK_32K_IN, PIN(E, 7), GPIO_INPUT)
|
||||
GPIO(LID_ACCEL_INT_L, PIN(C, 7), GPIO_INPUT | GPIO_PULL_UP)
|
||||
|
||||
|
||||
GPIO(C0_VOUT_EN_L, PIN(D, 3), GPIO_OUT_HIGH)
|
||||
GPIO(C1_VOUT_EN_L, PIN(D, 2), GPIO_OUT_HIGH)
|
||||
GPIO(C0_VOUT_EN_L, PIN(D, 3), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
GPIO(C1_VOUT_EN_L, PIN(D, 2), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
|
||||
GPIO(ENTERING_RW, PIN(7, 6), GPIO_OUT_LOW)
|
||||
GPIO(SYS_RST_L, PIN(6, 1), GPIO_OUT_HIGH)
|
||||
GPIO(EC_INT_L, PIN(5, 7), GPIO_OUT_HIGH)
|
||||
GPIO(SYS_RST_L, PIN(6, 1), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
GPIO(EC_INT_L, PIN(5, 7), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
GPIO(EC_BOARD_ID_EN_L, PIN(3, 5), GPIO_OUT_HIGH)
|
||||
|
||||
/* NC */
|
||||
GPIO(STRAP_ENG_L, PIN(B, 6), GPIO_OUT_LOW)
|
||||
GPIO(USB_DP_HPD, PIN(6, 6), GPIO_OUT_LOW)
|
||||
GPIO(CHARGER_RESET_L, PIN(0, 1), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
GPIO(CR50_RESET_L, PIN(0, 2), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
@@ -101,12 +101,12 @@ GPIO(CHARGER_INT_L, PIN(3, 3), GPIO_INPUT)
|
||||
GPIO(EC_BATT_PRES_L, PIN(3, 4), GPIO_INPUT)
|
||||
GPIO(LID_360_L, PIN(3, 6), GPIO_INPUT | GPIO_SEL_1P8V)
|
||||
GPIO(BASE_SIXAXIS_INT_L, PIN(4, 0), GPIO_INPUT | GPIO_SEL_1P8V)
|
||||
GPIO(CCD_MODE, PIN(6, 3), GPIO_INPUT)
|
||||
GPIO(USB_A_EN, PIN(7, 0), GPIO_OUT_LOW)
|
||||
GPIO(CCD_MODE_ODL, PIN(6, 3), GPIO_INPUT | GPIO_PULL_UP)
|
||||
GPIO(PP3300_S0_EN_L, PIN(7, 0), GPIO_OUT_HIGH)
|
||||
GPIO(WARM_RESET_REQ, PIN(7, 3), GPIO_INPUT)
|
||||
GPIO(AP_OVERTEMP, PIN(7, 4), GPIO_INPUT)
|
||||
GPIO(USB_A_CHARGE_EN, PIN(8, 4), GPIO_INPUT)
|
||||
GPIO(SPI_SENSOR_CS_L, PIN(9, 4), GPIO_OUT_HIGH | GPIO_OPEN_DRAIN)
|
||||
GPIO(USB_A_CHARGE_EN, PIN(8, 4), GPIO_OUT_LOW)
|
||||
GPIO(SPI_SENSOR_CS_L, PIN(9, 4), GPIO_OUT_HIGH)
|
||||
|
||||
|
||||
GPIO(USB_C0_DISCHARGE, PIN(0, 3), GPIO_OUT_LOW)
|
||||
@@ -125,12 +125,14 @@ ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0)
|
||||
ALTERNATE(PIN_MASK(9, 0x07), 1, MODULE_I2C, 0)
|
||||
/* I2C3SDA/I2C3SCL GPIOD0/D1 */
|
||||
ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0)
|
||||
/* PWM2 / BLPWM */
|
||||
ALTERNATE(PIN_MASK(C, 0x10), 1, MODULE_PWM, 0)
|
||||
/* PWM0 / LED_FULL PWM2 / BLPWM */
|
||||
ALTERNATE(PIN_MASK(C, 0x18), 1, MODULE_PWM, 0)
|
||||
/* PWM3 / CHGLED */
|
||||
ALTERNATE(PIN_MASK(8, 0x01), 1, MODULE_PWM, 0)
|
||||
/* PWM4 / PWRLED */
|
||||
ALTERNATE(PIN_MASK(B, 0x40), 1, MODULE_PWM, 0)
|
||||
/* CR_SIN/SOUT GPIO64/65 */
|
||||
ALTERNATE(PIN_MASK(6, 0x30), 1, MODULE_UART, 0)
|
||||
ALTERNATE(PIN_MASK(6, 0x30), 1, MODULE_UART, GPIO_PULL_UP)
|
||||
/* ADC0-4 */
|
||||
ALTERNATE(PIN_MASK(4, 0x3e), 1, MODULE_ADC, 0)
|
||||
|
||||
|
||||
@@ -41,8 +41,6 @@ static const struct power_signal_info power_control_outputs[] = {
|
||||
{ GPIO_PP900_USB_EN, 1 },
|
||||
{ GPIO_PP900_PCIE_EN, 1 },
|
||||
|
||||
{ GPIO_PP1200_HSIC_EN, 1 },
|
||||
|
||||
{ GPIO_PP1800_SENSOR_EN_L, 0 },
|
||||
{ GPIO_PP1800_LID_EN_L, 0 },
|
||||
{ GPIO_PP1800_PMU_EN_L, 0 },
|
||||
@@ -152,8 +150,8 @@ enum power_state power_handle_state(enum power_state state)
|
||||
msleep(2);
|
||||
|
||||
gpio_set_level(GPIO_PP1800_SIXAXIS_EN_L, 0);
|
||||
msleep(2);
|
||||
gpio_set_level(GPIO_PP3300_TRACKPAD_EN_L, 0);
|
||||
gpio_set_level(GPIO_PP1200_HSIC_EN, 1);
|
||||
|
||||
/* Call hooks now that rails are up */
|
||||
hook_notify(HOOK_CHIPSET_STARTUP);
|
||||
@@ -163,13 +161,12 @@ enum power_state power_handle_state(enum power_state state)
|
||||
case POWER_S3S0:
|
||||
gpio_set_level(GPIO_AP_CORE_EN, 1);
|
||||
msleep(2);
|
||||
gpio_set_level(GPIO_PP3300_USB_EN_L, 0);
|
||||
msleep(2);
|
||||
gpio_set_level(GPIO_PP1800_S0_EN_L, 0);
|
||||
msleep(2);
|
||||
gpio_set_level(GPIO_PP3300_S0_EN_L, 0);
|
||||
msleep(2);
|
||||
msleep(10); /* TBD */
|
||||
gpio_set_level(GPIO_PP3300_USB_EN_L, 0);
|
||||
msleep(2);
|
||||
|
||||
/* Pulse SYS_RST */
|
||||
gpio_set_level(GPIO_SYS_RST_L, 0);
|
||||
|
||||
Reference in New Issue
Block a user