summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorKevin K Wong <kevin.k.wong@intel.com>2015-06-24 23:23:20 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-06-26 18:57:25 +0000
commitccb6b15d514b695b9ea472aa98d5f1730d58e244 (patch)
treeed0d6568e37672ae74a2f83a7fc5b82e867ca2a6 /board
parent7067007b214c8d4973b58531e5e40830ed8c9e7b (diff)
downloadchrome-ec-ccb6b15d514b695b9ea472aa98d5f1730d58e244.tar.gz
kunimitsu: Code clean up.
This allows cleaner code diff from glados. No new functional change is added. BUG=none TEST=Able to boot kunimitsu to OS. BRANCH=none Change-Id: I0ff7a097a617907a44c78d5e0f01dc409eb047ec Signed-off-by: Kevin K Wong <kevin.k.wong@intel.com> Reviewed-on: https://chromium-review.googlesource.com/281832 Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/kunimitsu/battery.c3
-rw-r--r--board/kunimitsu/board.c106
-rw-r--r--board/kunimitsu/board.h72
-rw-r--r--board/kunimitsu/ec.tasklist14
-rw-r--r--board/kunimitsu/gpio.inc282
-rw-r--r--board/kunimitsu/lfw/gpio.inc11
6 files changed, 250 insertions, 238 deletions
diff --git a/board/kunimitsu/battery.c b/board/kunimitsu/battery.c
index 4cf4ce0dfe..0fa688e44d 100644
--- a/board/kunimitsu/battery.c
+++ b/board/kunimitsu/battery.c
@@ -7,9 +7,6 @@
#include "battery.h"
#include "battery_smart.h"
-#include "console.h"
-#include "gpio.h"
-#include "host_command.h"
#include "util.h"
/* Shutdown mode parameter to write to manufacturer access register */
diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c
index 7e4af229e0..a53c32e97f 100644
--- a/board/kunimitsu/board.c
+++ b/board/kunimitsu/board.c
@@ -6,8 +6,8 @@
#include "als.h"
#include "button.h"
-#include "charger.h"
#include "charge_state.h"
+#include "charger.h"
#include "driver/accel_kxcj9.h"
#include "driver/als_isl29035.h"
#include "driver/temp_sensor/tmp432.h"
@@ -22,8 +22,8 @@
#include "motion_sense.h"
#include "power.h"
#include "power_button.h"
-#include "registers.h"
#include "switch.h"
+#include "task.h"
#include "temp_sensor.h"
#include "temp_sensor_chip.h"
#include "thermal.h"
@@ -60,65 +60,22 @@ void usb1_evt(enum gpio_signal signal)
/* power signal list. Must match order of enum power_signal. */
const struct power_signal_info power_signal_list[] = {
{GPIO_RSMRST_L_PGOOD, 1, "RSMRST_N_PWRGD"},
- {GPIO_PCH_SLP_S0_L, 1, "SLP_S0#_DEASSERTED"},
- {GPIO_PCH_SLP_S3_L, 1, "SLP_S3#_DEASSERTED"},
- {GPIO_PCH_SLP_S4_L, 1, "SLP_S4#_DEASSERTED"},
+ {GPIO_PCH_SLP_S0_L, 1, "SLP_S0_DEASSERTED"},
+ {GPIO_PCH_SLP_S3_L, 1, "SLP_S3_DEASSERTED"},
+ {GPIO_PCH_SLP_S4_L, 1, "SLP_S4_DEASSERTED"},
{GPIO_PCH_SLP_SUS_L, 1, "SLP_SUS_DEASSERTED"},
};
BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT);
const struct i2c_port_t i2c_ports[] = {
- {"batt_chg_thermal", MEC1322_I2C0_0, 100,
- GPIO_I2C_PORT0_SCL, GPIO_I2C_PORT0_SDA},
- {"sensors", MEC1322_I2C2, 100,
- GPIO_I2C_PORT2_SCL, GPIO_I2C_PORT2_SDA},
+ {"batt", MEC1322_I2C0_0, 100, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA},
+ {"sensors", MEC1322_I2C2, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA },
};
const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-/*
- * Temperature sensors data; must be in same order as enum temp_sensor_id.
- * Sensor index and name must match those present in coreboot:
- * src/mainboard/google/${board}/acpi/dptf.asl
+/**
+ * Discharge battery when on AC power for factory test.
*/
-const struct temp_sensor_t temp_sensors[] = {
- {"TMP432_Internal", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
- TMP432_IDX_LOCAL, 4},
- {"TMP432_Sensor_1", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
- TMP432_IDX_REMOTE1, 4},
- {"TMP432_Sensor_2", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
- TMP432_IDX_REMOTE2, 4},
- {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_temp_sensor_get_val,
- 0, 4},
-};
-BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
-
-/* ALS instances. Must be in same order as enum als_id. */
-struct als_t als[] = {
- {"ISL", isl29035_read_lux, 5},
-};
-BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT);
-
-#ifdef CONFIG_BUTTON_COUNT
-const struct button_config buttons[] = {
- {"Volume Down", KEYBOARD_BUTTON_VOLUME_DOWN, GPIO_VOLUME_DOWN_L,
- 30 * MSEC, 0},
- {"Volume Up", KEYBOARD_BUTTON_VOLUME_UP, GPIO_VOLUME_UP_L,
- 30 * MSEC, 0},
-};
-BUILD_ASSERT(ARRAY_SIZE(buttons) == CONFIG_BUTTON_COUNT);
-#endif
-
-/* Thermal limits for each temp sensor. All temps are in degrees K. Must be in
- * same order as enum temp_sensor_id. To always ignore any temp, use 0.
- */
-struct ec_thermal_config thermal_params[] = {
- {{0, 0, 0}, 0, 0}, /* TMP432_Internal */
- {{0, 0, 0}, 0, 0}, /* TMP432_Sensor_1 */
- {{0, 0, 0}, 0, 0}, /* TMP432_Sensor_2 */
- {{0, 0, 0}, 0, 0}, /* Battery Sensor */
-};
-BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT);
-
int board_discharge_on_ac(int enable)
{
return charger_discharge_on_ac(enable);
@@ -213,3 +170,48 @@ static void motion_sensors_pre_init(void)
}
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, motion_sensors_pre_init,
MOTION_SENSE_HOOK_PRIO - 1);
+
+/*
+ * Temperature sensors data; must be in same order as enum temp_sensor_id.
+ * Sensor index and name must match those present in coreboot:
+ * src/mainboard/google/${board}/acpi/dptf.asl
+ */
+const struct temp_sensor_t temp_sensors[] = {
+ {"TMP432_Internal", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
+ TMP432_IDX_LOCAL, 4},
+ {"TMP432_Sensor_1", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
+ TMP432_IDX_REMOTE1, 4},
+ {"TMP432_Sensor_2", TEMP_SENSOR_TYPE_BOARD, tmp432_get_val,
+ TMP432_IDX_REMOTE2, 4},
+ {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_temp_sensor_get_val,
+ 0, 4},
+};
+BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
+
+/*
+ * Thermal limits for each temp sensor. All temps are in degrees K. Must be in
+ * same order as enum temp_sensor_id. To always ignore any temp, use 0.
+ */
+struct ec_thermal_config thermal_params[] = {
+ /* {Twarn, Thigh, Thalt}, fan_off, fan_max */
+ {{0, 0, 0}, 0, 0}, /* TMP432_Internal */
+ {{0, 0, 0}, 0, 0}, /* TMP432_Sensor_1 */
+ {{0, 0, 0}, 0, 0}, /* TMP432_Sensor_2 */
+ {{0, 0, 0}, 0, 0}, /* Battery */
+};
+BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT);
+
+/* ALS instances. Must be in same order as enum als_id. */
+struct als_t als[] = {
+ {"ISL", isl29035_read_lux, 5},
+};
+BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT);
+
+const struct button_config buttons[CONFIG_BUTTON_COUNT] = {
+ {"Volume Down", KEYBOARD_BUTTON_VOLUME_DOWN, GPIO_VOLUME_DOWN_L,
+ 30 * MSEC, 0},
+ {"Volume Up", KEYBOARD_BUTTON_VOLUME_UP, GPIO_VOLUME_UP_L,
+ 30 * MSEC, 0},
+};
+BUILD_ASSERT(ARRAY_SIZE(buttons) == CONFIG_BUTTON_COUNT);
+
diff --git a/board/kunimitsu/board.h b/board/kunimitsu/board.h
index 25c1d891fb..94ad91139e 100644
--- a/board/kunimitsu/board.h
+++ b/board/kunimitsu/board.h
@@ -9,24 +9,35 @@
#define __CROS_EC_BOARD_H
/* Optional features */
-#define CONFIG_SYSTEM_UNLOCKED /* Allow dangerous commands */
-#define CONFIG_WATCHDOG_HELP
-#define CONFIG_CLOCK_CRYSTAL
-#define CONFIG_CHIPSET_SKYLAKE
-#define CONFIG_SCI_GPIO GPIO_PCH_SCI_L
+#define CONFIG_BATTERY_CUT_OFF
+#define CONFIG_BATTERY_SMART
+#define CONFIG_BUTTON_COUNT 2
+
+#define CONFIG_CHARGER
+#define CONFIG_CHARGER_V2
+#define CONFIG_CHARGER_BQ24770
+#define CONFIG_CHARGER_ILIM_PIN_DISABLED
+#define CONFIG_CHARGER_SENSE_RESISTOR 10
+#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
+#define CONFIG_CHARGER_INPUT_CURRENT 2240
+#define CONFIG_CHARGER_DISCHARGE_ON_AC
+#define CONFIG_CHIPSET_SKYLAKE
+#define CONFIG_CLOCK_CRYSTAL
+#define CONFIG_EXTPOWER_GPIO
+#define CONFIG_I2C
#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_LID_SWITCH
+#define CONFIG_PORT80_TASK_EN
#define CONFIG_POWER_BUTTON
#define CONFIG_POWER_BUTTON_X86
-#define CONFIG_LID_SWITCH
#define CONFIG_POWER_COMMON
#define CONFIG_POWER_SHUTDOWN_PAUSE_IN_S5
-#define CONFIG_EXTPOWER_GPIO
-#define CONFIG_PORT80_TASK_EN
+#define CONFIG_SCI_GPIO GPIO_PCH_SCI_L
#define CONFIG_SPI_PORT 1
#define CONFIG_SPI_CS_GPIO GPIO_PVT_CS0
@@ -37,34 +48,30 @@
#define CONFIG_TEMP_SENSOR
#define CONFIG_TEMP_SENSOR_TMP432
+/*
+ * Allow dangerous commands.
+ * TODO(shawnn): Remove this config before production.
+ */
+#define CONFIG_SYSTEM_UNLOCKED
+#define CONFIG_WATCHDOG_HELP
+
+/* 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_ALS MEC1322_I2C2
+#define I2C_PORT_ACCEL MEC1322_I2C2
+
#define CONFIG_ALS
#define CONFIG_ALS_ISL29035
-#define CONFIG_CHARGER
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_BATTERY_SMART
-#define CONFIG_CHARGER_V2
-#define CONFIG_CHARGER_BQ24770
-#define CONFIG_CHARGER_ILIM_PIN_DISABLED
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
-#define CONFIG_CHARGER_INPUT_CURRENT 2240
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-
-#define CONFIG_I2C
/* Accelerometer */
#define CONFIG_ACCEL_KXCJ9
#define CONFIG_CMD_ACCELS
#define CONFIG_CMD_ACCEL_INFO
#define CONFIG_LID_ANGLE
-#define CONFIG_SENSOR_BASE 0
-#define CONFIG_SENSOR_LID 1
-
-#define CONFIG_LID_ANGLE_SENSOR_LID GPIO_GYRO_INT1
-#define CONFIG_LID_ANGLE_SENSOR_BASE GPIO_GYRO_INT1
-
-/* Number of buttons */
-#define CONFIG_BUTTON_COUNT 2
+#define CONFIG_LID_ANGLE_SENSOR_BASE 0
+#define CONFIG_LID_ANGLE_SENSOR_LID 1
/* Modules we want to exclude */
#undef CONFIG_EEPROM
@@ -74,19 +81,12 @@
#undef CONFIG_FANS
#undef CONFIG_ADC
#undef CONFIG_WAKE_PIN
+
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
#include "registers.h"
-/* 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_ACCEL MEC1322_I2C2
-#define I2C_PORT_GYRO MEC1322_I2C2
-#define I2C_PORT_ALS MEC1322_I2C2
-
/* power signal definitions */
enum power_signal {
X86_RSMRST_L_PWRGD = 0,
diff --git a/board/kunimitsu/ec.tasklist b/board/kunimitsu/ec.tasklist
index d138cd9dd7..cc61737250 100644
--- a/board/kunimitsu/ec.tasklist
+++ b/board/kunimitsu/ec.tasklist
@@ -3,7 +3,7 @@
* found in the LICENSE file.
*/
-/**
+/*
* List of enabled tasks in the priority order
*
* The first one has the lowest priority.
@@ -17,13 +17,13 @@
* 's' is the stack size in bytes; must be a multiple of 8
*/
#define CONFIG_TASK_LIST \
- TASK_ALWAYS(HOOKS, hook_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \
+ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \
+ TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_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(CHIPSET, chipset_task, NULL, LARGER_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_NOTEST(PORT80, port80_task, NULL, TASK_STACK_SIZE) \
+ TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(POWERBTN, power_button_task, NULL, TASK_STACK_SIZE) \
- TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
+ TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \
+ TASK_NOTEST(PORT80, port80_task, NULL, TASK_STACK_SIZE)
diff --git a/board/kunimitsu/gpio.inc b/board/kunimitsu/gpio.inc
index dd5221aab5..e945cc48f3 100644
--- a/board/kunimitsu/gpio.inc
+++ b/board/kunimitsu/gpio.inc
@@ -5,139 +5,149 @@
* found in the LICENSE file.
*/
-GPIO_INT(PCH_SLP_SUS_L, PIN(12), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* Deep sleep state */
-GPIO_INT(LID_OPEN, PIN(27), GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO_INT(AC_PRESENT, PIN(30), GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* BC_ACOK / EC_ACIN - to know if battery or AC connected */
-GPIO_INT(VOLUME_UP_L, PIN(31), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* Volume up button */
-GPIO_INT(WP_L, PIN(33), GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO_INT(POWER_BUTTON_L, PIN(35), GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO_INT(VOLUME_DOWN_L, PIN(47), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* Volume down button */
-GPIO_INT(PMIC_INT, PIN(50), GPIO_INT_FALLING, power_signal_interrupt) /* Alert signal from PMIC */
-GPIO_INT(PD_MCU_INT, PIN(122),GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt) /* Interrupt from USB PD Controller to EC */
-GPIO_INT(RSMRST_L_PGOOD, PIN(63), GPIO_INT_BOTH, power_signal_interrupt) /* RSMRST_N_PWRGD from power logic */
-GPIO_INT(USB_C1_VBUS_WAKE, PIN(123), GPIO_INT_BOTH, vbus0_evt) /* USB_C1_VBUS WAKE EVENT DETECT */
-GPIO_INT(USB_C0_BC12_INT_L, PIN(124), GPIO_INT_FALLING, usb0_evt) /* USB_C0_BC12_INT */
-#if defined(CONFIG_ACCEL_INTERRUPTS) && defined(CONFIG_SHARED_MOTION_INTERRUPT_LINE)
-GPIO_INT(GYRO_INT2, PIN(127), GPIO_INT_RISING | GPIO_PULL_DOWN, motion_sns_interrupt) /* Gyro sensor interrupt 2 to EC */
-#else
-GPIO_INT(GYRO_INT2, PIN(127), GPIO_INT_RISING | GPIO_PULL_DOWN, NULL) /* Gyro sensor interrupt 2 to EC */
-#endif
-GPIO_INT(USB_C1_BC12_INT_L, PIN(145), GPIO_INT_FALLING, usb1_evt) /* USB_C1_BC12_INT */
-#ifdef CONFIG_ALS_INTERRUPTS
-GPIO_INT(ALS_INT, PIN(147), GPIO_INT_FALLING | GPIO_PULL_UP, als_interrupt) /* ALS sensor interrupt to EC */
-#else
-GPIO_INT(ALS_INT, PIN(147), GPIO_INT_FALLING | GPIO_PULL_UP, NULL) /* ALS sensor interrupt to EC */
-#endif
-GPIO_INT(USB_C0_VBUS_WAKE, PIN(152), GPIO_INT_BOTH, vbus1_evt) /* USBC PORT 0 VBUS POWER DETECT */
-#if defined(CONFIG_ACCEL_INTERRUPTS) && defined(CONFIG_SHARED_MOTION_INTERRUPT_LINE)
-GPIO_INT(GYRO_INT1, PIN(161), GPIO_INT_RISING | GPIO_PULL_DOWN, motion_sns_interrupt) /* Gyro sensor interrupt 1 to EC */
-#else
-GPIO_INT(GYRO_INT1, PIN(161), GPIO_INT_RISING | GPIO_PULL_DOWN, NULL) /* Gyro sensor interrupt 1 to EC */
-#endif
-GPIO_INT(PCH_SLP_S4_L, PIN(200), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S4# signal from PCH */
-GPIO_INT(PCH_SLP_S3_L, PIN(206), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO_INT(PCH_SLP_S0_L, PIN(211), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt) /* Sleep SO signal from SOC to EC */
-
-GPIO(EC_BRD_ID0, PIN(6), GPIO_INPUT) /* EC_BRD_ID0 */
-GPIO(EC_BRD_ID1, PIN(7), GPIO_INPUT) /* EC_BRD_ID1 */
-
-GPIO(EC_BRD_ID2, PIN(10), GPIO_INPUT) /* EC_BRD_ID2 */
-GPIO(PP1800_DX_SENSOR_EN, PIN(11), GPIO_OUT_LOW)
-GPIO(USB2_OTG_ID, PIN(13), GPIO_ODR_HIGH) /* Universal Serial Bus On-The-Go detection signal */
-GPIO(I2C_PORT0_SCL, PIN(15), GPIO_ODR_HIGH)
-GPIO(I2C_PORT0_SDA, PIN(16), GPIO_ODR_HIGH)
-
-GPIO(I2C_PORT2_SCL, PIN(20), GPIO_ODR_HIGH)
-GPIO(I2C_PORT2_SDA, PIN(21), GPIO_ODR_HIGH)
-GPIO(I2C_PORT1_SCL, PIN(22), GPIO_ODR_HIGH)
-GPIO(I2C_PORT1_SDA, PIN(23), GPIO_ODR_HIGH)
-GPIO(I2C_PORT3_SCL, PIN(24), GPIO_ODR_HIGH)
-GPIO(I2C_PORT3_SDA, PIN(25), GPIO_ODR_HIGH)
-GPIO(PCH_SCI_L, PIN(26), GPIO_ODR_HIGH) /* SCI output */
-
-GPIO(NC_034, PIN(34), GPIO_INPUT | GPIO_PULL_UP) /* NC */
-GPIO(USB_P3_PWR_EN, PIN(36), GPIO_OUT_HIGH) /* Enable power for USB2 Port */
-
-GPIO(ENTERING_RW, PIN(41), GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
-GPIO(PCH_SMI_L, PIN(44), GPIO_ODR_HIGH) /* SMI output */
-GPIO(PCH_PWRBTN_L, PIN(45), GPIO_OUT_HIGH) /* Power button output to PCH */
-GPIO(DDI1_HPD, PIN(46), GPIO_OUT_HIGH) /* DP hot plug detect from EC to SOC */
-
-GPIO(DDI2_HPD, PIN(51), GPIO_OUT_HIGH) /* DP hot plug detect from EC to SOC */
-GPIO(CPU_PROCHOT, PIN(52), GPIO_OPEN_DRAIN)
-GPIO(ENABLE_TOUCHPAD, PIN(53), GPIO_OUT_HIGH) /* Enable power to Track Pad */
-GPIO(ROP_DSW_PWROK, PIN(55), GPIO_INPUT) /* ZERO OHM DNP - RESERVED OPEN DRAIN */
-GPIO(BC_BATPRES, PIN(56), GPIO_INPUT) /* ?? */
-GPIO(V_BOOSTIN, PIN(57), GPIO_INPUT) /* ?? */
-
-GPIO(USBPD_WAKE, PIN(60), GPIO_OUT_LOW) /* USBC WAKE NOTIFICATION from MEC EC to STM32 EC */
-GPIO(BC_IBAT, PIN(61), GPIO_INPUT) /* ?? */
-GPIO(BC_MON, PIN(62), GPIO_INPUT) /* ADC FUNCTION - FROM BATTERY CHARGER FOR SYSTEM POWER MONITOR */
-GPIO(EN_USB_C0_CHARGE, PIN(64), GPIO_OUT_HIGH) /* Enable USB-C0 Charge */
-GPIO(FLASH_DSC_OVERRIDE,PIN(65), GPIO_ODR_HIGH) /* Flash Descriptor Override */
-GPIO(PCH_WAKE_L, PIN(66), GPIO_ODR_HIGH) /* PCH wake pin */
-GPIO(USB_P4_PWR_EN, PIN(67), GPIO_OUT_HIGH) /* Enable power for USB3 Port */
-
-GPIO(KBD_KSO2, PIN(101), GPIO_KB_OUTPUT_COL2) /* Negative edge triggered irq. */
-GPIO(FAN_TACH, PIN(105), GPIO_INPUT) /* ?? Need Alternate - FAN TACH */
-
-GPIO(AC_PRESENT_PCH, PIN(110), GPIO_ODR_HIGH) /* */
-
-GPIO(SYS_RESET_L, PIN(121), GPIO_ODR_HIGH) /* PM_SYSRST - ODR High */
-GPIO(USB_PD_EC_INT, PIN(122), GPIO_INT_BOTH) /* Interrupt from USB PD Controller to EC */
-
-GPIO(EC_USBPD_RST, PIN(130), GPIO_ODR_HIGH) /* EC_USBPD_RST */
-GPIO(WLAN_OFF_L, PIN(132), GPIO_ODR_HIGH) /* Wireless LAN */
-GPIO(WWAN_PWR_EN, PIN(133), GPIO_OUT_HIGH) /* Enable power for WWAN */
-GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH) /* Reset line to PCH (for 8042 emulation) */
-
-GPIO(USB2_OTG_VBUSSENSE,PIN(140), GPIO_ODR_HIGH) /* OTG VBUS STATUS TO PCH */
-GPIO(SEN_INT, PIN(141), GPIO_INT_BOTH_DSLEEP) /* SEN_INT */
-GPIO(PCH_RSMRST_L, PIN(143), GPIO_OUT_LOW) /* RSMRST_N to PCH */
-GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) /* SPI PVT Chip select */
-
-GPIO(NC_150, PIN(150), GPIO_INPUT | GPIO_PULL_UP) /* NC */
-GPIO(DEVICE_PROCHOT, PIN(151), GPIO_INT_FALLING) /* Device Proc Hot */
-GPIO(EN_USB_C0_5V_OUT, PIN(154), GPIO_OUT_LOW) /* Enable USB-C0 5V */
-GPIO(CHARGE_LED1, PIN(155), GPIO_OUT_HIGH) /* Charge LED 1 */
-GPIO(CHARGE_LED2, PIN(156), GPIO_OUT_HIGH) /* Charge LED 2 */
-GPIO(EN_USB_C1_CHARGE, PIN(157), GPIO_OUT_HIGH) /* Enable USB-C1 Charge */
-
-GPIO(PP1800_DX_AUDIO_EN,PIN(160), GPIO_OUT_LOW)
-GPIO(RTC_RST, PIN(163), GPIO_OPEN_DRAIN) /* RTC_RST */
-
-GPIO(NC_201, PIN(201), GPIO_INPUT | GPIO_PULL_UP) /* NC */
-GPIO(EC_BL_DISABLE_L, PIN(202), GPIO_OUT_HIGH) /* EDP backligh disable signal from EC */
-GPIO(PP3300_WLAN_EN, PIN(203), GPIO_OUT_HIGH) /* Enable power to wifi */
-GPIO(EN_USB_C1_5V_OUT, PIN(204), GPIO_OUT_LOW) /* Enable USB-C1 5V */
-
-GPIO(ROP_EC_1HZ_WAKE, PIN(210), GPIO_INT_BOTH) /* 1 HZ CLOCK FOR LOW POWER MODE FUNCTION */
-
-/* Alternate functions GPIO definition */
-ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) /* UART0 */
-
-ALTERNATE(PIN_MASK(1, 0x60), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0: Battery Charger */
-ALTERNATE(PIN_MASK(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(PIN_MASK(13, 0x10), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0 - Port 1 : Accel SCL */
-ALTERNATE(PIN_MASK(1, 0x80), 2, MODULE_I2C, GPIO_PULL_UP) /* I2C0 - Port 1 : Accel SDA*/
-
-ALTERNATE(PIN_MASK(0, 0x3d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-ALTERNATE(PIN_MASK(1, 0x02), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-ALTERNATE(PIN_MASK(10, 0xdd), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-ALTERNATE(PIN_MASK(4, 0x0d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-ALTERNATE(PIN_MASK(12, 0x60), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-ALTERNATE(PIN_MASK(14, 0x14), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-
-ALTERNATE(PIN_MASK(1, 0x10), 1, MODULE_LPC, 0) /* 14: CLKRUN# */
-ALTERNATE(PIN_MASK(11, 0x9e), 1, MODULE_LPC, 0) /* 111~114: LAD[0:3], 117: PCI_CLK */
-ALTERNATE(PIN_MASK(11, 0x40), 1, MODULE_LPC, GPIO_INT_BOTH) /* 116: LRESET# */
-ALTERNATE(PIN_MASK(12, 0x01), 1, MODULE_LPC, 0) /* 120: LFRAME# */
-ALTERNATE(PIN_MASK(11, 0x20), 1, MODULE_LPC, 0)
-
-ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0) /* 54: MOSI */
-ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0) /* 164: MISO */
-ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) /* 153: CLK */
-
-ALTERNATE(PIN_MASK(13, 0x40), 1, MODULE_PWM_LED, GPIO_OPEN_DRAIN) /* 136: PWM1 */
+GPIO_INT(LID_OPEN, PIN(27), GPIO_INT_BOTH_DSLEEP, lid_interrupt)
+GPIO_INT(AC_PRESENT, PIN(30), GPIO_INT_BOTH_DSLEEP, extpower_interrupt)
+GPIO_INT(WP_L, PIN(33), GPIO_INT_BOTH, switch_interrupt)
+/* Buffered power button input from PMIC / ROP_EC_PWR_BTN_L_R */
+GPIO_INT(POWER_BUTTON_L, PIN(35), GPIO_INT_BOTH_DSLEEP, power_button_interrupt)
+/* RSMRST from PMIC */
+GPIO_INT(RSMRST_L_PGOOD, PIN(63), GPIO_INT_BOTH, power_signal_interrupt)
+GPIO_INT(PCH_SLP_S4_L, PIN(200), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt)
+GPIO_INT(PCH_SLP_S3_L, PIN(206), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, power_signal_interrupt)
+GPIO_INT(PCH_SLP_S0_L, PIN(211), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt)
+GPIO_INT(PCH_SLP_SUS_L, PIN(12), GPIO_INT_BOTH | GPIO_PULL_UP, power_signal_interrupt)
+GPIO_INT(VOLUME_UP_L, PIN(31), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
+GPIO_INT(VOLUME_DOWN_L, PIN(47), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
+GPIO_INT(PMIC_INT_L, PIN(50), GPIO_INT_FALLING, power_signal_interrupt)
+GPIO_INT(PD_MCU_INT, PIN(122), GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt)
+GPIO_INT(USB_C0_VBUS_WAKE_L,PIN(152), GPIO_INT_BOTH, vbus0_evt)
+GPIO_INT(USB_C1_VBUS_WAKE_L,PIN(123), GPIO_INT_BOTH, vbus1_evt)
+GPIO_INT(USB_C0_BC12_INT_L, PIN(124), GPIO_INT_FALLING, usb0_evt)
+GPIO_INT(USB_C1_BC12_INT_L, PIN(145), GPIO_INT_FALLING, usb1_evt)
+
+GPIO(ROP_DSW_PWROK, PIN(55), GPIO_INPUT)
+
+GPIO(PD_RST_L, PIN(130), GPIO_ODR_HIGH)
+GPIO(USB2_OTG_ID, PIN(13), GPIO_ODR_HIGH)
+/* I2C pins - these will be reconfigured for alternate function below */
+GPIO(I2C0_0_SCL, PIN(15), GPIO_ODR_HIGH)
+GPIO(I2C0_0_SDA, PIN(16), GPIO_ODR_HIGH)
+GPIO(I2C1_SCL, PIN(22), GPIO_ODR_HIGH)
+GPIO(I2C1_SDA, PIN(23), GPIO_ODR_HIGH)
+GPIO(I2C2_SCL, PIN(20), GPIO_ODR_HIGH)
+GPIO(I2C2_SDA, PIN(21), GPIO_ODR_HIGH)
+GPIO(I2C3_SCL, PIN(24), GPIO_ODR_HIGH)
+GPIO(I2C3_SDA, PIN(25), GPIO_ODR_HIGH)
+GPIO(PCH_SCI_L, PIN(26), GPIO_ODR_HIGH)
+
+GPIO(NC_034, PIN(34), GPIO_INPUT | GPIO_PULL_UP)
+GPIO(USB1_ENABLE, PIN(36), GPIO_OUT_HIGH)
+GPIO(USB2_ENABLE, PIN(67), GPIO_OUT_HIGH)
+GPIO(ENTERING_RW, PIN(41), GPIO_OUT_LOW)
+GPIO(PCH_SMI_L, PIN(44), GPIO_ODR_HIGH)
+GPIO(PCH_PWRBTN_L, PIN(45), GPIO_OUT_HIGH)
+GPIO(USB_C0_DP_HPD, PIN(46), GPIO_OUT_HIGH)
+GPIO(USB_C1_DP_HPD, PIN(51), GPIO_OUT_HIGH)
+GPIO(CPU_PROCHOT, PIN(52), GPIO_OPEN_DRAIN)
+GPIO(ENABLE_TOUCHPAD, PIN(53), GPIO_OUT_HIGH)
+GPIO(BAT_PRESENT_L, PIN(56), GPIO_INPUT)
+GPIO(USB_PD_WAKE, PIN(60), GPIO_OUT_LOW)
+/* When asserted, ME does not lock security descriptor */
+GPIO(PCH_SEC_DISABLE_L, PIN(65), GPIO_ODR_HIGH)
+GPIO(PCH_WAKE_L, PIN(66), GPIO_ODR_HIGH)
+GPIO(EC_FAN1_TTACH, PIN(105), GPIO_INPUT)
+/* Fan PWM output - NC / testing only */
+GPIO(EC_FAN1_PWM, PIN(136), GPIO_OUT_LOW)
+GPIO(PCH_ACOK, PIN(110), GPIO_ODR_HIGH)
+/* Interrupts from accelerometer / gyro -- not yet implemented */
+GPIO(GYRO_INT1, PIN(161), GPIO_INPUT | GPIO_PULL_DOWN)
+GPIO(GYRO_INT2, PIN(127), GPIO_INPUT | GPIO_PULL_DOWN)
+GPIO(ALS_INT, PIN(147), GPIO_INPUT | GPIO_PULL_UP)
+GPIO(WWAN_PWR_EN, PIN(133), GPIO_OUT_HIGH)
+GPIO(WLAN_OFF_L, PIN(132), GPIO_ODR_HIGH)
+/* RCIN# line to PCH for 8042 emulation */
+GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH)
+GPIO(USB2_OTG_VBUSSENSE, PIN(140), GPIO_ODR_HIGH)
+/* Sensor input for KB PROX - UNUSED */
+GPIO(KB_PROX_INT_L, PIN(141), GPIO_INPUT)
+GPIO(PCH_RSMRST_L, PIN(143), GPIO_OUT_LOW)
+/* prochot input from devices */
+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_HIGH)
+GPIO(USB_C1_CHARGE_EN_L, PIN(157), GPIO_OUT_HIGH)
+GPIO(PP1800_DX_SENSOR_EN, PIN(11), GPIO_OUT_LOW)
+GPIO(PP1800_DX_AUDIO_EN, PIN(160), GPIO_OUT_LOW)
+GPIO(RTC_RST, PIN(163), GPIO_OPEN_DRAIN)
+
+GPIO(NC_201, PIN(201), GPIO_INPUT | GPIO_PULL_UP)
+GPIO(ENABLE_BACKLIGHT, PIN(202), GPIO_OUT_HIGH)
+GPIO(PP3300_WLAN_EN, PIN(203), GPIO_OUT_HIGH)
+GPIO(EC_WAKE_CLK, PIN(210), GPIO_INPUT)
+GPIO(EC_BRD_ID0, PIN(6), GPIO_INPUT)
+GPIO(EC_BRD_ID1, PIN(7), GPIO_INPUT)
+GPIO(EC_BRD_ID2, 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)
+
+GPIO(V_BOOSTIN, PIN(57), GPIO_INPUT)
+GPIO(BC_IBAT, PIN(61), GPIO_INPUT)
+GPIO(BC_MON, PIN(62), GPIO_INPUT)
+
+GPIO(NC_11, PIN(11), GPIO_INPUT | GPIO_PULL_UP)
+GPIO(NC_150, PIN(150), GPIO_INPUT | GPIO_PULL_UP)
+GPIO(CHARGE_LED1, PIN(155), GPIO_OUT_HIGH)
+GPIO(CHARGE_LED2, PIN(156), GPIO_OUT_HIGH)
+
+/* Alternate functions GPIO definitions */
+
+/* GPIO162(UART_RX), GPIO165(UART_TX) */
+ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0)
+
+/* KB pins */
+/* KB ROW - GPIO000-GPIO005 */
+ALTERNATE(PIN_MASK(0, 0x3f), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
+/* KB ROW - GPIO100-GPIO104, GPIO106-GPIO107 */
+/* NOTE - GP101 should be configured as GPIO */
+ALTERNATE(PIN_MASK(10, 0xdd), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
+/* KB COL - GPIO032 */
+ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
+/* KB COL - GPIO040, GPIO42-GPIO43 */
+ALTERNATE(PIN_MASK(4, 0x0d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
+/* KB COL - GPIO125-GPIO126 */
+ALTERNATE(PIN_MASK(12, 0x60), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
+/* KB COL - GPIO142, GPIO144 */
+ALTERNATE(PIN_MASK(14, 0x14), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
+
+/* LPC pins */
+/* LPC_CLK_RUN_L - GPIO014 */
+ALTERNATE(PIN_MASK(1, 0x10), 1, MODULE_LPC, 0)
+/* LAD[0:3] - GPIO111-GPIO114, SERIRQ - GPIO115, PCI_CLK - GPIO117 */
+ALTERNATE(PIN_MASK(11, 0xbe), 1, MODULE_LPC, 0)
+/* LRESET# - GPIO116 */
+ALTERNATE(PIN_MASK(11, 0x40), 1, MODULE_LPC, GPIO_INT_BOTH)
+/* LFRAME# - GPIO120 */
+ALTERNATE(PIN_MASK(12, 0x01), 1, MODULE_LPC, 0)
+
+/* SPI pins */
+/* MOSI - GPIO054 */
+ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0)
+/* MISO - GPIO164 */
+ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0)
+/* PVT_SCLK - GPIO153 */
+ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0)
+
+/* I2C pins */
+/* I2C0_0 CLK - GPIO015, I2C0_0 DAT - GPIO016, I2C0_1 DAT - GPIO017 */
+ALTERNATE(PIN_MASK(1, 0xe0), 2, MODULE_I2C, GPIO_PULL_UP)
+/* I2C{1,2,3} CLK / DAT - GPIO020-GPIO025*/
+ALTERNATE(PIN_MASK(2, 0x3f), 2, MODULE_I2C, GPIO_PULL_UP)
+/* I2C0_1 CLK - GPIO134 */
+ALTERNATE(PIN_MASK(13, 0x10), 2, MODULE_I2C, GPIO_PULL_UP)
+
+/* VCC1_RST# - GPIO131 */
+ALTERNATE(PIN_MASK(13, 0x02), 1, MODULE_PMU, 0)
+/* nRESET_OUT - GPIO121 */
+ALTERNATE(PIN_MASK(12, 0x02), 1, MODULE_PMU, 0)
diff --git a/board/kunimitsu/lfw/gpio.inc b/board/kunimitsu/lfw/gpio.inc
index 122aff0cdf..b7743916bc 100644
--- a/board/kunimitsu/lfw/gpio.inc
+++ b/board/kunimitsu/lfw/gpio.inc
@@ -1,16 +1,19 @@
/* -*- mode:c -*-
*
- * Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+ * Copyright (c) 2015 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.
*
* Minimal set of GPIOs needed for LFW loader
*/
-GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) /* SPI PVT Chip select */
+/* SPI PVT chip select */
+GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH)
/* Alternate functions GPIO definition */
-ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) /* UART0 */
+/* UART */
+ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0)
+/* SPI pins */
ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0)
ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0)
-ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) /* 153: CLK */
+ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0)