From d927c3e5d9743f42b98ec63b8e6034f72a11c136 Mon Sep 17 00:00:00 2001 From: Kevin K Wong Date: Thu, 23 Apr 2015 13:17:40 -0700 Subject: cyan: Added changes based on pre-EVT hardware changes. BUG=none TEST=Verified system is able to boot to kernel. BRANCH=none Change-Id: I7fa4a45bf2209098b5c3794f197d4010c05c356e Signed-off-by: Kevin K Wong Reviewed-on: https://chromium-review.googlesource.com/266835 Reviewed-by: Shawn N --- board/cyan/battery.c | 14 ++++++------- board/cyan/board.c | 6 ++++-- board/cyan/board.h | 2 +- board/cyan/ec.tasklist | 6 +++++- board/cyan/gpio.inc | 57 ++++++++++++++++++++++++++------------------------ 5 files changed, 47 insertions(+), 38 deletions(-) diff --git a/board/cyan/battery.c b/board/cyan/battery.c index 440bcaaacb..bc3a63971e 100644 --- a/board/cyan/battery.c +++ b/board/cyan/battery.c @@ -16,15 +16,15 @@ #define SB_SHUTDOWN_DATA 0x0010 static const struct battery_info info = { - .voltage_max = 8700,/* mV */ - .voltage_normal = 7600, - .voltage_min = 6000, - .precharge_current = 150,/* mA */ + .voltage_max = 12600,/* mV */ + .voltage_normal = 10800, + .voltage_min = 8250, + .precharge_current = 340,/* mA */ .start_charging_min_c = 0, - .start_charging_max_c = 45, + .start_charging_max_c = 50, .charging_min_c = 0, - .charging_max_c = 45, - .discharging_min_c = -20, + .charging_max_c = 60, + .discharging_min_c = 0, .discharging_max_c = 60, }; diff --git a/board/cyan/board.c b/board/cyan/board.c index 5d6b62220b..c1af3f2a59 100644 --- a/board/cyan/board.c +++ b/board/cyan/board.c @@ -47,8 +47,10 @@ const struct power_signal_info power_signal_list[] = { BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT); const struct i2c_port_t i2c_ports[] = { - {"I2C0", MEC1322_I2C0_0, 100, GPIO_I2C_PORT0_SCL, GPIO_I2C_PORT0_SDA}, - {"I2C1", MEC1322_I2C1, 100, GPIO_I2C_PORT1_SCL, GPIO_I2C_PORT1_SDA}, + {"batt_chg", MEC1322_I2C0_0, 100, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA}, + {"sensors", MEC1322_I2C1, 100, GPIO_I2C1_SCL, GPIO_I2C1_SDA }, + {"soc", MEC1322_I2C2, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA }, + {"thermal", MEC1322_I2C3, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA }, }; const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); diff --git a/board/cyan/board.h b/board/cyan/board.h index 3ebd58128a..8ec396036d 100644 --- a/board/cyan/board.h +++ b/board/cyan/board.h @@ -70,8 +70,8 @@ #define I2C_PORT_BATTERY MEC1322_I2C0_0 #define I2C_PORT_CHARGER MEC1322_I2C0_0 -#define I2C_PORT_THERMAL MEC1322_I2C0_0 #define I2C_PORT_ACCEL MEC1322_I2C1 +#define I2C_PORT_THERMAL MEC1322_I2C3 /* power signal definitions */ enum power_signal { diff --git a/board/cyan/ec.tasklist b/board/cyan/ec.tasklist index e40d85b488..73f54cca53 100644 --- a/board/cyan/ec.tasklist +++ b/board/cyan/ec.tasklist @@ -19,10 +19,14 @@ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, LARGER_TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(POWERBTN, power_button_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) + +/* + * TODO: Re-enable when I2C/S3 issue is resolved. + TASK_NOTEST(MOTIONSENSE, motion_sense_task, NULL, LARGER_TASK_STACK_SIZE) \ + */ diff --git a/board/cyan/gpio.inc b/board/cyan/gpio.inc index 44aee47534..3772a2a1df 100644 --- a/board/cyan/gpio.inc +++ b/board/cyan/gpio.inc @@ -16,35 +16,40 @@ GPIO_INT(PCH_SLP_S3_L, PORT(20), 6, GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, 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(I2C0_0_SCL, PORT(1), 5, GPIO_ODR_HIGH) +GPIO(I2C0_0_SDA, PORT(1), 6, GPIO_ODR_HIGH) +GPIO(BOARD_ID2, PORT(1), 7, GPIO_INPUT) /* Board ID */ + +GPIO(I2C2_SCL, PORT(2), 0, GPIO_ODR_HIGH) +GPIO(I2C2_SDA, PORT(2), 1, GPIO_ODR_HIGH) +GPIO(I2C1_SCL, PORT(2), 2, GPIO_ODR_HIGH) +GPIO(I2C1_SDA, PORT(2), 3, GPIO_ODR_HIGH) +GPIO(I2C3_SCL, PORT(2), 4, GPIO_ODR_HIGH) +GPIO(I2C3_SDA, PORT(2), 5, 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(NC_31, PORT(3), 1, GPIO_INPUT | GPIO_PULL_UP) /* NC */ +GPIO(NC_34, PORT(3), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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(NC_46, PORT(4), 6, GPIO_INPUT | GPIO_PULL_UP) /* NC */ +GPIO(NC_47, PORT(4), 7, GPIO_INPUT | GPIO_PULL_UP) /* NC */ -GPIO(VNN_I2C3_ALERT_N, PORT(5), 0, GPIO_INT_FALLING) /* Alert signal from VNN VR to EC */ +GPIO(NC_50, PORT(5), 0, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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(NC_56, PORT(5), 6, GPIO_INPUT | GPIO_PULL_UP) /* NC */ +GPIO(NC_57, PORT(5), 7, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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(NC_64, PORT(6), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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 */ @@ -54,39 +59,40 @@ GPIO(USB_CTL1, PORT(10), 5, GPIO_OUT_HIGH) /* USB cha 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(NC_122, PORT(12), 2, GPIO_INPUT | GPIO_PULL_UP) /* NC */ +GPIO(EC_STRAP_GPIO1, PORT(12), 3, GPIO_OUT_LOW) +GPIO(NC_124, PORT(12), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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(NC_132, PORT(13), 2, GPIO_INPUT | GPIO_PULL_UP) /* NC */ GPIO(BAT_LED0_L, PORT(13), 3, GPIO_ODR_HIGH) /* Battery charging LED - blue */ +GPIO(BOARD_ID1, PORT(13), 4, GPIO_INPUT) /* Board ID */ 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(NC_140, PORT(14), 0, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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(EC_KBD_ALERT, PORT(14), 7, GPIO_OUT_HIGH) 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(BOARD_ID0, PORT(15), 4, GPIO_INPUT) /* Board ID */ 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(NC_163, PORT(16), 3, GPIO_INPUT | GPIO_PULL_UP) /* NC */ -GPIO(MUX_CROSS_BAR_POL, PORT(20), 1, GPIO_OUT_LOW) /* Output from EC to POL signal of USB Type C Mux */ +GPIO(STARTUP_LATCH_SET, PORT(20), 1, GPIO_OUT_HIGH) 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(NC_204, PORT(20), 4, GPIO_INPUT | GPIO_PULL_UP) /* NC */ 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 */ @@ -95,10 +101,7 @@ GPIO(PCH_SLP_SX_L, PORT(21), 1, GPIO_INT_BOTH_DSLEEP) /* Sleep S ALTERNATE(PORT(16), 0x24, 1, MODULE_UART, 0) /* UART0 */ ALTERNATE(PORT(1), 0x60, 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0: Battery Charger */ -ALTERNATE(PORT(2), 0x3f, 2, MODULE_I2C, GPIO_PULL_UP) /* I2C1: Temp Sensor / I2C2: SOC / I2C3: VNN */ -/* PORT SEL [3:0] has to be set to 1 to access this port 1 of controller 0 */ -ALTERNATE(PORT(13), 0x10, 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0 - Port 1 : Accel SCL */ -ALTERNATE(PORT(1), 0x80, 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0 - Port 1 : Accel SDA */ +ALTERNATE(PORT(2), 0x3f, 2, MODULE_I2C, GPIO_PULL_UP) /* I2C1: Motion Sensor / I2C2: SOC / I2C3: Temp Sensor */ ALTERNATE(PORT(0), 0xfc, 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) ALTERNATE(PORT(1), 0x03, 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) -- cgit v1.2.1