summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin K Wong <kevin.k.wong@intel.com>2015-11-13 13:22:08 -0800
committerchrome-bot <chrome-bot@chromium.org>2015-11-17 14:40:11 -0800
commit2d57e6f6d98a06abd55e193b6f5d193280f01988 (patch)
treeda2f987db591740793b8c4f40fe82fdbb5724a35
parentfca995376eb763ee58252faae26b2a38d887685b (diff)
downloadchrome-ec-2d57e6f6d98a06abd55e193b6f5d193280f01988.tar.gz
kunimitsu: update for fab 4
update gpio and i2c mapping based on fab 4 hardware BUG=none BRANCH=none TEST=verified image can boot on kunimitsu fab 4 (build w/ undef fab 3 flag) Change-Id: I3acb2fc57eaff73d1b1b1bc7f41c76035ccdd81a Signed-off-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-on: https://chromium-review.googlesource.com/312559 Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r--board/kunimitsu/board.c9
-rw-r--r--board/kunimitsu/board.h50
-rw-r--r--board/kunimitsu/gpio.inc21
3 files changed, 60 insertions, 20 deletions
diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c
index c960cb263e..392d4513d4 100644
--- a/board/kunimitsu/board.c
+++ b/board/kunimitsu/board.c
@@ -50,7 +50,6 @@
#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP)
#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH)
-#define GPIO_KB_OUTPUT_COL2 (GPIO_OUT_LOW)
#define TPS650830_I2C_ADDR TPS650830_I2C_ADDR1
@@ -115,11 +114,19 @@ const struct adc_t adc_channels[] = {
BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
const struct i2c_port_t i2c_ports[] = {
+#ifdef BOARD_KUNIMITSU_V3
{"batt", MEC1322_I2C0_0, 100, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA},
{"muxes", MEC1322_I2C0_1, 100, GPIO_I2C0_1_SCL, GPIO_I2C0_1_SDA},
{"pd_mcu", MEC1322_I2C1, 500, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
{"sensors", MEC1322_I2C2, 400, GPIO_I2C2_SCL, GPIO_I2C2_SDA },
{"pmic", MEC1322_I2C3, 400, GPIO_I2C3_SCL, GPIO_I2C3_SDA },
+#else
+ {"pmic", MEC1322_I2C0_0, 400, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA},
+ {"muxes", MEC1322_I2C0_1, 400, GPIO_I2C0_1_SCL, GPIO_I2C0_1_SDA},
+ {"pd_mcu", MEC1322_I2C1, 500, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
+ {"sensors", MEC1322_I2C2, 400, GPIO_I2C2_SCL, GPIO_I2C2_SDA },
+ {"batt", MEC1322_I2C3, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA },
+#endif /* BOARD_KUNIMITSU_V3 */
};
const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
diff --git a/board/kunimitsu/board.h b/board/kunimitsu/board.h
index cc67ea5cf6..f65e64fc34 100644
--- a/board/kunimitsu/board.h
+++ b/board/kunimitsu/board.h
@@ -41,17 +41,17 @@
#endif
#ifndef BOARD_KUNIMITSU_V3
-/* PSYS register 8.25KOhm */
-#define CHARGER_PSYS_REGISTER 8250
+/* PSYS resistor 8.25KOhm */
+#define CHARGER_PSYS_RESISTOR 8250
#else
-/* PSYS register 8.6KOhm */
-#define CHARGER_PSYS_REGISTER 8600
+/* PSYS resistor 8.6KOhm */
+#define CHARGER_PSYS_RESISTOR 8600
#endif
/*
- * PSYS gain = 1 / (PYSY register * (1.44 or 0.36) uA/W)
+ * PSYS gain = 1 / (PSYS resistor * (1.44 or 0.36) uA/W)
*/
-#define ISL9237_C2_PSYS_GAIN_1_44 (100000000ul / (CHARGER_PSYS_REGISTER * 144))
-#define ISL9237_C2_PSYS_GAIN_0_36 (100000000ul / (CHARGER_PSYS_REGISTER * 36))
+#define ISL9237_C2_PSYS_GAIN_1_44 (100000000ul / (CHARGER_PSYS_RESISTOR * 144))
+#define ISL9237_C2_PSYS_GAIN_0_36 (100000000ul / (CHARGER_PSYS_RESISTOR * 36))
#define CONFIG_CHIPSET_SKYLAKE
#define CONFIG_CLOCK_CRYSTAL
@@ -63,14 +63,13 @@
#define CONFIG_HOSTCMD_PD
#define CONFIG_I2C
#define CONFIG_I2C_MASTER
-#define CONFIG_KEYBOARD_COL2_INVERTED
-#undef CONFIG_KEYBOARD_KSO_BASE
-#define CONFIG_KEYBOARD_KSO_BASE 0 /* KSO starts from KSO04 */
#define CONFIG_KEYBOARD_PROTOCOL_8042
#define CONFIG_LED_COMMON
#define CONFIG_LID_SWITCH
#define CONFIG_LOW_POWER_IDLE
+#ifdef BOARD_KUNIMITSU_V3
#define CONFIG_LTO
+#endif
#define CONFIG_POWER_BUTTON
#define CONFIG_POWER_BUTTON_X86
#define CONFIG_POWER_COMMON
@@ -124,9 +123,9 @@
#define GPIO_BAT_LED_AMBER GPIO_CHARGE_LED2
/* I2C ports */
-#define I2C_PORT_BATTERY MEC1322_I2C0_0
-#define I2C_PORT_CHARGER MEC1322_I2C0_0
-#define I2C_PORT_THERMAL MEC1322_I2C0_0
+#define I2C_PORT_BATTERY MEC1322_I2C3
+#define I2C_PORT_CHARGER MEC1322_I2C3
+#define I2C_PORT_THERMAL MEC1322_I2C3
#define I2C_PORT_USB_CHARGER_1 MEC1322_I2C0_1
#define I2C_PORT_USB_MUX MEC1322_I2C0_1
#define I2C_PORT_PD_MCU MEC1322_I2C1
@@ -134,8 +133,8 @@
#define I2C_PORT_ALS MEC1322_I2C2
#define I2C_PORT_ACCEL MEC1322_I2C2
#define I2C_PORT_GYRO MEC1322_I2C2
-#define I2C_PORT_PMIC MEC1322_I2C3
-#define I2C_PORT_USB_CHARGER_2 MEC1322_I2C3
+#define I2C_PORT_PMIC MEC1322_I2C0_0
+#define I2C_PORT_USB_CHARGER_2 MEC1322_I2C0_0
#undef DEFERRABLE_MAX_COUNT
#define DEFERRABLE_MAX_COUNT 13
@@ -167,6 +166,27 @@
/* Enable Pseudo G3 */
#define CONFIG_LOW_POWER_PSEUDO_G3
+/**************************************
+ * BELOW ARE CONFIG SPECIFIC FOR FAB3 *
+ **************************************/
+#ifdef BOARD_KUNIMITSU_V3
+
+#define CONFIG_KEYBOARD_COL2_INVERTED
+
+#undef I2C_PORT_BATTERY
+#undef I2C_PORT_CHARGER
+#undef I2C_PORT_THERMAL
+#define I2C_PORT_BATTERY MEC1322_I2C0_0
+#define I2C_PORT_CHARGER MEC1322_I2C0_0
+#define I2C_PORT_THERMAL MEC1322_I2C0_0
+
+#undef I2C_PORT_PMIC
+#undef I2C_PORT_USB_CHARGER_2
+#define I2C_PORT_PMIC MEC1322_I2C3
+#define I2C_PORT_USB_CHARGER_2 MEC1322_I2C3
+
+#endif /* BOARD_KUNIMITSU_V3 */
+
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
diff --git a/board/kunimitsu/gpio.inc b/board/kunimitsu/gpio.inc
index 6cfb9674eb..3a1e01ae7c 100644
--- a/board/kunimitsu/gpio.inc
+++ b/board/kunimitsu/gpio.inc
@@ -84,7 +84,7 @@ GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH)
#ifdef BOARD_KUNIMITSU_V3
GPIO(EC_FAN1_PWM, PIN(136), GPIO_OUT_LOW)
#else
-GPIO(NC_136, PIN(136), GPIO_INPUT | GPIO_PULL_UP) /* Reserved for KBD Backlight */
+GPIO(NC_136, PIN(136), GPIO_INPUT | GPIO_PULL_UP) /* Reserved for KBD Backlight */
#endif
#ifdef BOARD_KUNIMITSU_V3
@@ -102,8 +102,13 @@ GPIO(PLATFORM_EC_PROCHOT, PIN(151), GPIO_INPUT)
GPIO(USB_C0_5V_EN, PIN(154), GPIO_OUT_LOW)
GPIO(USB_C1_5V_EN, PIN(204), GPIO_OUT_LOW)
GPIO(USB_C0_CHARGE_EN_L, PIN(64), GPIO_OUT_LOW)
+#ifdef BOARD_KUNIMITSU_V3
GPIO(USB_C1_CHARGE_EN_L, PIN(157), GPIO_OUT_LOW)
-GPIO(NC_011, PIN(11), GPIO_INPUT | GPIO_PULL_UP)
+#else
+GPIO(USB_C1_CHARGE_EN_L, PIN(210), GPIO_OUT_LOW)
+#endif
+/* Reserved for USB-A ILIM */
+GPIO(USB_ILIM_SEL, PIN(11), GPIO_INPUT | GPIO_PULL_UP)
#ifdef BOARD_KUNIMITSU_V3
GPIO(LID_OPEN2, PIN(160), GPIO_INPUT | GPIO_PULL_UP)
#else
@@ -114,15 +119,18 @@ GPIO(PCH_RTCRST_L, PIN(163), GPIO_ODR_HIGH)
#ifdef BOARD_KUNIMITSU_V3
GPIO(NC_201, PIN(201), GPIO_INPUT | GPIO_PULL_UP)
#else
-GPIO(PMIC_SLP_SUS_L, PIN(201), GPIO_OUT_LOW)
+GPIO(PMIC_SLP_SUS_L, PIN(201), GPIO_OUT_LOW)
#endif
GPIO(ENABLE_BACKLIGHT, PIN(202), GPIO_OUT_HIGH)
GPIO(PP3300_WLAN_EN, PIN(203), GPIO_OUT_HIGH)
+#ifdef BOARD_KUNIMITSU_V3
GPIO(EC_WAKE_CLK, PIN(210), GPIO_INPUT)
+#else
+GPIO(CHG_1A5_EN, PIN(157), GPIO_OUT_HIGH)
+#endif
GPIO(BOARD_VERSION1, PIN(6), GPIO_INPUT)
GPIO(BOARD_VERSION2, PIN(7), GPIO_INPUT)
GPIO(BOARD_VERSION3, PIN(10), GPIO_INPUT)
-GPIO(KBD_KSO2, PIN(101), GPIO_KB_OUTPUT_COL2)
GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH)
GPIO(SYS_RESET_L, PIN(121), GPIO_ODR_HIGH)
@@ -139,8 +147,13 @@ ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0)
/* KB ROW - GPIO000-GPIO005 */
ALTERNATE(PIN_MASK(0, 0x3f), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
/* KB ROW - GPIO100-GPIO104, GPIO106-GPIO107 */
+#ifdef BOARD_KUNIMITSU_V3
/* NOTE - GP101 should be configured as GPIO */
ALTERNATE(PIN_MASK(10, 0xdd), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
+GPIO(KBD_KSO2, PIN(101), GPIO_OUT_LOW)
+#else
+ALTERNATE(PIN_MASK(10, 0xdf), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
+#endif /* BOARD_KUNIMITSU_V3 */
/* KB COL - GPIO032 */
ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
/* KB COL - GPIO040, GPIO42-GPIO43 */