summaryrefslogtreecommitdiff
path: root/zephyr/projects/corsola
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/projects/corsola')
-rw-r--r--zephyr/projects/corsola/krabby/gpio.dts367
-rw-r--r--zephyr/projects/corsola/krabby/include/gpio_map.h53
-rw-r--r--zephyr/projects/corsola/krabby/motionsense.dts2
-rw-r--r--zephyr/projects/corsola/krabby/prj.conf10
4 files changed, 208 insertions, 224 deletions
diff --git a/zephyr/projects/corsola/krabby/gpio.dts b/zephyr/projects/corsola/krabby/gpio.dts
index 3c62140a8a..2bcc107e70 100644
--- a/zephyr/projects/corsola/krabby/gpio.dts
+++ b/zephyr/projects/corsola/krabby/gpio.dts
@@ -4,11 +4,24 @@
*/
/ {
+ gpiox: gpio@0 {
+ status = "okay";
+ compatible = "zephyr,gpio-emul";
+ label = "GPIO_UNIMPLEMENTED";
+ reg = <0x800 0x4>;
+ rising-edge;
+ falling-edge;
+ high-level;
+ low-level;
+ gpio-controller;
+ #gpio-cells = <2>;
+ };
+
named-gpios {
compatible = "named-gpios";
power_button_l: power_button_l {
- gpios = <&gpioe 4 (GPIO_INPUT | GPIO_PULL_UP)>;
+ gpios = <&gpioe 4 GPIO_INPUT>;
enum-name = "GPIO_POWER_BUTTON_L";
label = "POWER_BUTTON_L";
};
@@ -17,307 +30,252 @@
enum-name = "GPIO_LID_OPEN";
label = "LID_OPEN";
};
- tablet_mode_l {
+ tablet_mode_l: tablet_mode_l {
gpios = <&gpioj 7 GPIO_INPUT>;
enum-name = "GPIO_TABLET_MODE_L";
label = "TABLET_MODE_L";
};
- ap_ec_warm_rst_req {
+ ap_ec_warm_rst_req: ap_ec_warm_rst_req {
gpios = <&gpiod 3 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_AP_EC_WARM_RST_REQ";
label = "AP_EC_WARM_RST_REQ";
};
- ap_ec_watchdog_l: ap_ec_watchdog_l {
- gpios = <&gpioc 7 (GPIO_INPUT | GPIO_VOLTAGE_1P8 |
- GPIO_ACTIVE_LOW)>;
- enum-name = "GPIO_AP_EC_WATCHDOG_L";
- label = "AP_EC_WATCHDOG_L";
- };
ap_in_sleep_l: ap_in_sleep_l {
- gpios = <&gpiof 2 (GPIO_INPUT | GPIO_PULL_DOWN |
- GPIO_VOLTAGE_1P8 | GPIO_ACTIVE_LOW)>;
+ gpios = <&gpiob 6 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_AP_IN_SLEEP_L";
label = "AP_IN_SLEEP_L";
};
- ap-xhci-init-done {
- gpios = <&gpiod 2 (GPIO_INPUT | GPIO_PULL_DOWN |
- GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_AP_XHCI_INIT_DONE";
- label = "AP_XHCI_INIT_DONE";
- };
- pmic_ec_pwrgd: pmic_ec_pwrgd {
- gpios = <&gpiof 3 (GPIO_INPUT | GPIO_PULL_DOWN |
- GPIO_VOLTAGE_1P8 | GPIO_ACTIVE_HIGH)>;
- enum-name = "GPIO_PMIC_EC_PWRGD";
- label = "PMIC_EC_PWRGD";
- };
- gpio_accel_gyro_int_l: base_imu_int_l {
- gpios = <&gpioj 2 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_EC_IMU_INT_L";
+ base_imu_int_l: base_imu_int_l {
+ gpios = <&gpiom 3 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_BASE_IMU_INT_L";
label = "BASE_IMU_INT_L";
};
- lid_accel_int_l {
- gpios = <&gpioj 3 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ lid_accel_int_l: lid_accel_int_l {
+ gpios = <&gpiom 2 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_LID_ACCEL_INT_L";
label = "LID_ACCEL_INT_L";
};
- als_rgb_int_odl {
- gpios = <&gpiof 0 GPIO_INPUT>;
- enum-name = "GPIO_ALS_RGB_INT_ODL";
- label = "ALS_RGB_INT_ODL";
- };
- usb_c0_ppc_int_odl {
- gpios = <&gpiod 1 GPIO_INPUT>;
- enum-name = "GPIO_USB_C0_PPC_INT_ODL";
- label = "USB_C0_PPC_INT_ODL";
- };
- usb_c0_bc12_int_odl {
- gpios = <&gpioj 6 GPIO_INPUT>;
- enum-name = "GPIO_USB_C0_BC12_INT_ODL";
- label = "USB_C0_BC12_INT_ODL";
- };
- usb_c1_bc12_int_l {
- gpios = <&gpioj 4 GPIO_INPUT>;
- enum-name = "GPIO_USB_C1_BC12_INT_L";
- label = "USB_C1_BC12_INT_L";
- };
- volume_down_l {
- gpios = <&gpiod 5 (GPIO_INPUT | GPIO_PULL_UP)>;
+ volume_down_l: volume_down_l {
+ gpios = <&gpiod 5 GPIO_INPUT>;
enum-name = "GPIO_VOLUME_DOWN_L";
label = "VOLUME_DOWN_L";
};
- volume_up_l {
- gpios = <&gpiod 6 (GPIO_INPUT | GPIO_PULL_UP)>;
+ volume_up_l: volume_up_l {
+ gpios = <&gpiod 6 GPIO_INPUT>;
enum-name = "GPIO_VOLUME_UP_L";
label = "VOLUME_UP_L";
};
+ ap_xhci_init_done: ap_xhci_init_done {
+ gpios = <&gpioj 5 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_AP_XHCI_INIT_DONE";
+ label = "AP_XHCI_INIT_DONE";
+ };
ac_present: ac_present {
gpios = <&gpioe 5 GPIO_INPUT>;
enum-name = "GPIO_AC_PRESENT";
label = "AC_PRESENT";
};
- wp {
+ wp: wp {
gpios = <&gpioi 4 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_WP";
label = "WP";
};
- spi0_cs {
+ spi0_cs: spi0_cs {
gpios = <&gpiom 5 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_SPI0_CS";
label = "SPI0_CS";
};
- x_ec_gpio2 {
- gpios = <&gpiob 2 GPIO_ODR_HIGH>;
+ x_ec_gpio2: x_ec_gpio2 {
+ gpios = <&gpiob 2 (GPIO_INPUT | GPIO_ODR_HIGH)>;
enum-name = "GPIO_X_EC_GPIO2";
label = "X_EC_GPIO2";
};
- ec_pmic_en_odl {
+ usb_c0_ppc_bc12_int_odl: usb_c0_ppc_bc12_int_odl {
+ gpios = <&gpiod 1 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_PPC_BC12_INT_ODL";
+ label = "USB_C0_PPC_BC12_INT_ODL";
+ };
+ usb_c1_bc12_charger_int_odl: usb_c1_bc12_charger_int_odl {
+ gpios = <&gpioj 4 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C1_BC12_CHARGER_INT_ODL";
+ label = "USB_C1_BC12_CHARGER_INT_ODL";
+ };
+ ec_pmic_en_odl: ec_pmic_en_odl {
gpios = <&gpiod 0 (GPIO_ODR_HIGH | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_EC_PMIC_EN_ODL";
label = "EC_PMIC_EN_ODL";
};
- ec_pmic_watchdog_l {
- gpios = <&gpioh 0 (GPIO_ODR_LOW | GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_EC_PMIC_WATCHDOG_L";
- label = "EC_PMIC_WATCHDOG_L";
- };
- en_pp5000_a {
+ en_pp5000_z2: en_pp5000_z2 {
gpios = <&gpioc 6 GPIO_OUT_HIGH>;
- enum-name = "GPIO_EN_PP5000_A";
- label = "EN_PP5000_A";
- };
- pg_mt6315_proc_odl {
- gpios = <&gpioe 1 GPIO_INPUT>;
- enum-name = "GPIO_PG_MT6315_PROC_ODL";
- label = "PG_MT6315_PROC_ODL";
+ enum-name = "GPIO_EN_PP5000_Z2";
+ label = "EN_PP5000_Z2";
};
- pg_mt6360_odl {
- gpios = <&gpiof 1 GPIO_INPUT>;
- enum-name = "GPIO_PG_MT6360_ODL";
- label = "PG_MT6360_ODL";
- };
- pg_pp5000_a_odl {
- gpios = <&gpioa 6 GPIO_INPUT>;
- enum-name = "GPIO_PG_PP5000_A_ODL";
- label = "PG_PP5000_A_ODL";
- };
- en_slp_z {
+ en_ulp: en_ulp {
gpios = <&gpioe 3 GPIO_OUT_LOW>;
- enum-name = "GPIO_EN_SLP_Z";
- label = "EN_SLP_Z";
+ enum-name = "GPIO_EN_ULP";
+ label = "EN_ULP";
};
- sys_rst_odl {
- gpios = <&gpiob 6 GPIO_ODR_LOW>;
+ sys_rst_odl: sys_rst_odl {
+ gpios = <&gpiog 1 GPIO_ODR_LOW>;
enum-name = "GPIO_SYS_RST_ODL";
label = "SYS_RST_ODL";
};
- ec_bl_en_od {
+ ec_bl_en_od: ec_bl_en_od {
gpios = <&gpiob 5 (GPIO_ODR_LOW | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_EC_BL_EN_OD";
label = "EC_BL_EN_OD";
};
- ec_int_l {
+ ap_ec_sysrst_odl: ap_ec_sysrst_odl {
+ gpios = <&gpioj 2 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_AP_EC_SYSRST_ODL";
+ label = "AP_EC_SYSRST_ODL";
+ };
+ ap_ec_wdtrst_l: ap_ec_wdtrst_l {
+ gpios = <&gpioc 7 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_AP_EC_WDTRST_L";
+ label = "AP_EC_WDTRST_L";
+ };
+ ec_int_l: ec_int_l {
gpios = <&gpioe 6 (GPIO_ODR_HIGH | GPIO_VOLTAGE_1P8)>;
enum-name = "GPIO_EC_INT_L";
label = "EC_INT_L";
};
- dp_aux_path_sel {
+ dp_aux_path_sel: dp_aux_path_sel {
gpios = <&gpiog 0 GPIO_OUT_HIGH>;
enum-name = "GPIO_DP_AUX_PATH_SEL";
label = "DP_AUX_PATH_SEL";
};
- ec_dpbrdg_hpd_odl {
- gpios = <&gpioj 0 (GPIO_ODR_HIGH | GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_EC_DPBRDG_HPD_ODL";
- label = "EC_DPBRDG_HPD_ODL";
+ ec_ap_dp_hpd_odl: ec_ap_dp_hpd_odl {
+ gpios = <&gpioj 0 GPIO_ODR_HIGH>;
+ enum-name = "GPIO_EC_AP_DP_HPD_ODL";
+ label = "EC_AP_DP_HPD_ODL";
};
- en_pp5000_usb_a0_vbus {
+ en_pp5000_usb_a0_vbus: en_pp5000_usb_a0_vbus {
gpios = <&gpiob 7 GPIO_OUT_LOW>;
enum-name = "GPIO_EN_PP5000_USB_A0_VBUS";
label = "EN_PP5000_USB_A0_VBUS";
};
- usb_c0_frs_en {
- gpios = <&gpioh 3 GPIO_OUT_LOW>;
- enum-name = "GPIO_USB_C0_FRS_EN";
- label = "USB_C0_FRS_EN";
+ usb_c0_ppc_frsinfo: usb_c0_ppc_frsinfo {
+ gpios = <&gpiof 0 GPIO_INPUT>;
+ enum-name = "GPIO_USB_C0_PPC_FRSINFO";
+ label = "USB_C0_PPC_FRSINFO";
};
- ec_batt_pres_odl {
+ ec_batt_pres_odl: ec_batt_pres_odl {
gpios = <&gpioc 0 GPIO_INPUT>;
enum-name = "GPIO_BATT_PRES_ODL";
- label = "EC_BATT_PRES_ODL";
+ label = "BATT_PRES_ODL";
};
- bc12_det_en {
- gpios = <&gpioj 5 GPIO_OUT_LOW>;
- enum-name = "GPIO_BC12_DET_EN";
- label = "BC12_DET_EN";
- };
- en_ec_id_odl {
+ en_ec_id_odl: en_ec_id_odl {
gpios = <&gpioh 5 GPIO_ODR_LOW>;
enum-name = "GPIO_EN_EC_ID_ODL";
label = "EN_EC_ID_ODL";
};
- entering_rw {
+ entering_rw: entering_rw {
gpios = <&gpioc 5 GPIO_OUT_LOW>;
enum-name = "GPIO_ENTERING_RW";
label = "ENTERING_RW";
};
- en_5v_usm {
- gpios = <&gpiod 7 GPIO_OUT_LOW>;
+ en_5v_usm: en_5v_usm {
+ gpios = <&gpiog 3 GPIO_OUT_LOW>;
enum-name = "GPIO_EN_5V_USM";
label = "EN_5V_USM";
};
- i2c_b_scl {
- gpios = <&gpiob 3 GPIO_INPUT>;
+ usb_a0_fault_odl: usb_a0_fault_odl {
+ gpios = <&gpioj 6 GPIO_INPUT>;
+ enum-name = "GPIO_USB_A0_FAULT_ODL";
+ label = "USB_A0_FAULT_ODL";
+ };
+ i2c_a_scl: i2c_a_scl {
+ gpios = <&gpiob 3 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_I2C_A_SCL";
+ label = "I2C_A_SCL";
+ };
+ i2c_a_sda: i2c_a_sda {
+ gpios = <&gpiob 4 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_I2C_A_SDA";
+ label = "I2C_A_SDA";
+ };
+ i2c_b_scl: i2c_b_scl {
+ gpios = <&gpioc 1 GPIO_INPUT>;
enum-name = "GPIO_I2C_B_SCL";
label = "I2C_B_SCL";
};
- i2c_b_sda {
- gpios = <&gpiob 4 GPIO_INPUT>;
+ i2c_b_sda: i2c_b_sda {
+ gpios = <&gpioc 2 GPIO_INPUT>;
enum-name = "GPIO_I2C_B_SDA";
label = "I2C_B_SDA";
};
- i2c_c_scl {
- gpios = <&gpioc 1 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ i2c_c_scl: i2c_c_scl {
+ gpios = <&gpiof 6 GPIO_INPUT>;
enum-name = "GPIO_I2C_C_SCL";
label = "I2C_C_SCL";
};
- i2c_c_sda {
- gpios = <&gpioc 2 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ i2c_c_sda: i2c_c_sda {
+ gpios = <&gpiof 7 GPIO_INPUT>;
enum-name = "GPIO_I2C_C_SDA";
label = "I2C_C_SDA";
};
- i2c_e_scl {
+ i2c_d_scl: i2c_d_scl {
+ gpios = <&gpiof 2 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_I2C_D_SCL";
+ label = "I2C_D_SCL";
+ };
+ i2c_d_sda: i2c_d_sda {
+ gpios = <&gpiof 3 (GPIO_INPUT | GPIO_VOLTAGE_1P8)>;
+ enum-name = "GPIO_I2C_D_SDA";
+ label = "I2C_D_SDA";
+ };
+ i2c_e_scl: i2c_e_scl {
gpios = <&gpioe 0 GPIO_INPUT>;
enum-name = "GPIO_I2C_E_SCL";
label = "I2C_E_SCL";
};
- i2c_e_sda {
+ i2c_e_sda: i2c_e_sda {
gpios = <&gpioe 7 GPIO_INPUT>;
enum-name = "GPIO_I2C_E_SDA";
label = "I2C_E_SDA";
};
- i2c_f_scl {
- gpios = <&gpiof 6 GPIO_INPUT>;
+ i2c_f_scl: i2c_f_scl {
+ gpios = <&gpioa 4 GPIO_INPUT>;
enum-name = "GPIO_I2C_F_SCL";
label = "I2C_F_SCL";
};
- i2c_f_sda {
- gpios = <&gpiof 7 GPIO_INPUT>;
+ i2c_f_sda: i2c_f_sda {
+ gpios = <&gpioa 5 GPIO_INPUT>;
enum-name = "GPIO_I2C_F_SDA";
label = "I2C_F_SDA";
};
- ec_x_gpio1 {
+ ec_x_gpio1: ec_x_gpio1 {
gpios = <&gpioh 4 GPIO_OUT_LOW>;
enum-name = "GPIO_EC_X_GPIO1";
label = "EC_X_GPIO1";
};
- ec_x_gpio3 {
+ ec_x_gpio3: ec_x_gpio3 {
gpios = <&gpioj 1 GPIO_INPUT>;
enum-name = "GPIO_EC_X_GPIO3";
label = "EC_X_GPIO3";
};
- set_vmc_volt_at_1v8 {
- gpios = <&gpiod 4 (GPIO_INPUT | GPIO_PULL_DOWN |
- GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_SET_VMC_VOLT_AT_1V8";
- label = "SET_VMC_VOLT_AT_1V8";
- };
- en_pp3000_vmc_pmu {
- gpios = <&gpiod 2 (GPIO_INPUT | GPIO_PULL_DOWN |
- GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_EN_PP3000_VMC_PMU";
- label = "EN_PP3000_VMC_PMU";
- };
- packet_mode_en {
- gpios = <&gpioa 3 (GPIO_INPUT | GPIO_PULL_DOWN)>;
- enum-name = "GPIO_PACKET_MODE_EN";
- label = "PACKET_MODE_EN";
- };
- usb_a0_fault_odl {
- gpios = <&gpioa 7 GPIO_INPUT>;
- enum-name = "GPIO_USB_A0_FAULT_ODL";
- label = "USB_A0_FAULT_ODL";
+ hdmi_prsnt_odl: hdmi_prsnt_odl {
+ gpios = <&gpioj 3 GPIO_INPUT>;
+ enum-name = "GPIO_HDMI_PRSNT_ODL";
+ label = "HDMI_PRSNT_ODL";
+ };
+
+ /* pins used in power/mt8192, to be removed */
+ ap_ec_watchdog_l: ap_ec_watchdog_l {
+ gpios = <&gpiox 0 GPIO_INPUT>;
+ enum-name = "GPIO_AP_EC_WATCHDOG_L";
+ label = "AP_EC_WATCHDOG_L";
+ };
+ ec_pmic_watchdog_l: ec_pmic_watchdog_l {
+ gpios = <&gpiox 0 GPIO_INPUT>;
+ enum-name = "GPIO_EC_PMIC_WATCHDOG_L";
+ label = "EC_PMIC_WATCHDOG_L";
};
- charger_prochot_odl {
- gpios = <&gpioc 3 GPIO_INPUT>;
- enum-name = "GPIO_CHARGER_PROCHOT_ODL";
- label = "CHARGER_PROCHOT_ODL";
- };
- pg_mt6315_gpu_odl {
- gpios = <&gpioh 6 GPIO_INPUT>;
- enum-name = "GPIO_PG_MT6315_GPU_ODL";
- label = "PG_MT6315_GPU_ODL";
- };
- en_pp3000_sd_u {
- gpios = <&gpiog 1 (GPIO_INPUT | GPIO_PULL_DOWN |
- GPIO_VOLTAGE_1P8)>;
- enum-name = "GPIO_EN_PP3000_SD_U";
- label = "EN_PP3000_SD_U";
- };
- ccd_mode_odl {
- gpios = <&gpioc 4 GPIO_INPUT>;
- enum-name = "GPIO_CCD_MODE_ODL";
- label = "CCD_MODE_ODL";
- };
- spi_clk_gpg6 {
- gpios = <&gpiog 6 (GPIO_INPUT | GPIO_PULL_UP)>;
- enum-name = "GPIO_SPI_CLK_GPG6";
- label = "SPI_CLK_GPG6";
- };
- spi_mosi_gpg4 {
- gpios = <&gpiog 4 GPIO_OUT_LOW>;
- enum-name = "GPIO_SPI_MOSI_GPG4";
- label = "SPI_MOSI_GPG4";
- };
- spi_miso_gpg5 {
- gpios = <&gpiog 5 GPIO_OUT_LOW>;
- enum-name = "GPIO_SPI_MISO_GPG5";
- label = "SPI_MISO_GPG5";
- };
- spi_cs_gpg7 {
- gpios = <&gpiog 7 GPIO_OUT_LOW>;
- enum-name = "GPIO_SPI_CS_GPG7";
- label = "SPI_CS_GPG7";
+ pmic_ec_pwrgd: pmic_ec_pwrgd {
+ gpios = <&gpiox 0 GPIO_INPUT>;
+ enum-name = "GPIO_PMIC_EC_PWRGD";
+ label = "PMIC_EC_PWRGD";
};
};
@@ -348,17 +306,36 @@
compatible = "unused-gpios";
unused-gpios =
+ /* packet_mode_en */
+ <&gpiod 4 GPIO_OUT_LOW>,
+ /* pg_pp5000_z2_od */
+ <&gpiod 2 GPIO_INPUT>,
+ /* pg_mt6315_proc_b_odl */
+ <&gpioe 1 GPIO_INPUT>,
+ /* ec_pen_chg_dis_odl */
+ <&gpioh 3 GPIO_ODR_HIGH>,
+ /* ccd_mode_odl */
+ <&gpioc 4 GPIO_INPUT>,
/* uart1_rx */
<&gpiob 0 GPIO_INPUT>,
- /* nc_gpg3 */
- <&gpiog 3 GPIO_OUT_LOW>,
- /* nc_gpi7 */
- <&gpioi 7 GPIO_OUT_LOW>,
- /* nc_gpm2 */
- <&gpiom 2 (GPIO_INPUT | GPIO_PULL_DOWN)>,
- /* nc_gpm3 */
- <&gpiom 3 (GPIO_INPUT | GPIO_PULL_DOWN)>,
- /* nc_gpm6 */
- <&gpiom 6 (GPIO_INPUT | GPIO_PULL_DOWN)>;
+ /* unnamed nc pins */
+ <&gpioa 3 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpioa 6 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpioa 7 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpioc 3 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpiod 7 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpiof 1 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpioh 0 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpioh 6 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpioi 7 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ <&gpiom 6 (GPIO_INPUT | GPIO_PULL_DOWN)>,
+ /* spi_clk_gpg6 */
+ <&gpiog 6 (GPIO_INPUT | GPIO_PULL_UP)>,
+ /* spi_mosi_gpg4 */
+ <&gpiog 4 GPIO_OUT_LOW>,
+ /* spi_miso_gpg5 */
+ <&gpiog 5 GPIO_OUT_LOW>,
+ /* spi_cs_gpg7 */
+ <&gpiog 7 GPIO_OUT_LOW>;
};
};
diff --git a/zephyr/projects/corsola/krabby/include/gpio_map.h b/zephyr/projects/corsola/krabby/include/gpio_map.h
index 5f01f290d2..5122c1e42e 100644
--- a/zephyr/projects/corsola/krabby/include/gpio_map.h
+++ b/zephyr/projects/corsola/krabby/include/gpio_map.h
@@ -21,6 +21,11 @@
#define GMR_TABLET_MODE_GPIO_L GPIO_TABLET_MODE_L
#endif
+/* TODO: remove after icm426xx driver added */
+static inline void motion_interrupt(enum gpio_signal signal)
+{
+}
+
/*
* Set EC_CROS_GPIO_INTERRUPTS to a space-separated list of GPIO_INT items.
*
@@ -37,39 +42,33 @@
* GPIO_INT(NAMED_GPIO(h1_ec_pwr_btn_odl), GPIO_INT_EDGE_BOTH, button_print)
*/
#define EC_CROS_GPIO_INTERRUPTS \
- GPIO_INT(GPIO_LID_OPEN, \
- GPIO_INT_EDGE_BOTH, lid_interrupt) \
GPIO_INT(GPIO_POWER_BUTTON_L, \
GPIO_INT_EDGE_BOTH, power_button_interrupt) \
- GPIO_INT(GPIO_EC_IMU_INT_L, \
- GPIO_INT_EDGE_FALLING, bmi160_interrupt) \
- GPIO_INT(GPIO_LID_ACCEL_INT_L, \
- GPIO_INT_EDGE_FALLING, lis2dw12_interrupt) \
+ GPIO_INT(GPIO_LID_OPEN, \
+ GPIO_INT_EDGE_BOTH, lid_interrupt) \
GPIO_INT(GPIO_TABLET_MODE_L, \
GPIO_INT_EDGE_BOTH, gmr_tablet_switch_isr) \
- GPIO_INT(GPIO_USB_C0_PPC_INT_ODL, \
- GPIO_INT_EDGE_BOTH, ppc_interrupt) \
- GPIO_INT(GPIO_USB_C0_BC12_INT_ODL, \
- GPIO_INT_EDGE_FALLING, bc12_interrupt) \
- GPIO_INT(GPIO_USB_C1_BC12_INT_L, \
- GPIO_INT_EDGE_FALLING, bc12_interrupt) \
- GPIO_INT(GPIO_AC_PRESENT, \
- GPIO_INT_EDGE_BOTH, extpower_interrupt) \
- GPIO_INT(GPIO_X_EC_GPIO2, \
- GPIO_INT_EDGE_FALLING, x_ec_interrupt) \
- GPIO_INT(GPIO_AP_XHCI_INIT_DONE, \
- GPIO_INT_EDGE_BOTH, usb_a0_interrupt) \
- GPIO_INT(GPIO_AP_EC_WATCHDOG_L, \
- GPIO_INT_EDGE_BOTH, chipset_watchdog_interrupt) \
+ GPIO_INT(GPIO_AP_EC_WARM_RST_REQ, \
+ GPIO_INT_EDGE_RISING, chipset_reset_request_interrupt) \
GPIO_INT(GPIO_AP_IN_SLEEP_L, \
GPIO_INT_EDGE_BOTH, power_signal_interrupt) \
- GPIO_INT(GPIO_PMIC_EC_PWRGD, \
- GPIO_INT_EDGE_BOTH, power_signal_interrupt) \
- GPIO_INT(GPIO_AP_EC_WARM_RST_REQ, \
- GPIO_INT_EDGE_RISING, chipset_reset_request_interrupt) \
+ GPIO_INT(GPIO_BASE_IMU_INT_L, \
+ GPIO_INT_EDGE_FALLING, motion_interrupt) \
+ GPIO_INT(GPIO_LID_ACCEL_INT_L, \
+ GPIO_INT_EDGE_FALLING, lis2dw12_interrupt) \
+ GPIO_INT(GPIO_VOLUME_DOWN_L, \
+ GPIO_INT_EDGE_BOTH, button_interrupt) \
+ GPIO_INT(GPIO_VOLUME_UP_L, \
+ GPIO_INT_EDGE_BOTH, button_interrupt) \
+ GPIO_INT(GPIO_AP_XHCI_INIT_DONE, \
+ GPIO_INT_EDGE_BOTH, usb_a0_interrupt) \
+ GPIO_INT(GPIO_AC_PRESENT, \
+ GPIO_INT_EDGE_BOTH, extpower_interrupt) \
+ GPIO_INT(GPIO_WP, \
+ GPIO_INT_EDGE_BOTH, switch_interrupt) \
GPIO_INT(GPIO_SPI0_CS, \
- GPIO_INT_EDGE_FALLING, spi_event)
-
-#define GPIO_EN_PP5000 GPIO_EN_PP5000_A
+ GPIO_INT_EDGE_FALLING, spi_event) \
+ GPIO_INT(GPIO_X_EC_GPIO2, \
+ GPIO_INT_EDGE_BOTH, x_ec_interrupt)
#endif /* __ZEPHYR_GPIO_MAP_H */
diff --git a/zephyr/projects/corsola/krabby/motionsense.dts b/zephyr/projects/corsola/krabby/motionsense.dts
index 10128b0838..00434e6be9 100644
--- a/zephyr/projects/corsola/krabby/motionsense.dts
+++ b/zephyr/projects/corsola/krabby/motionsense.dts
@@ -150,7 +150,7 @@
* list of GPIO interrupts that have to
* be enabled at initial stage
*/
- sensor-irqs = <&gpio_accel_gyro_int_l>;
+ sensor-irqs = <&base_imu_int_l>;
/* list of sensors in force mode */
accel-force-mode-sensors = <&lid_accel>;
};
diff --git a/zephyr/projects/corsola/krabby/prj.conf b/zephyr/projects/corsola/krabby/prj.conf
index 7363e4d596..ad86923679 100644
--- a/zephyr/projects/corsola/krabby/prj.conf
+++ b/zephyr/projects/corsola/krabby/prj.conf
@@ -9,6 +9,7 @@ CONFIG_SHIMMED_TASKS=y
# Bring up options
CONFIG_KERNEL_SHELL=y
CONFIG_PLATFORM_EC_SYSTEM_UNLOCKED=y
+CONFIG_GPIO_EMUL=y
# Battery
CONFIG_PLATFORM_EC_BATTERY=y
@@ -52,6 +53,14 @@ CONFIG_PLATFORM_EC_LED_ONOFF_STATES_BAT_LOW=10
# MKBP event mask
CONFIG_PLATFORM_EC_MKBP_EVENT_WAKEUP_MASK=y
CONFIG_PLATFORM_EC_MKBP_HOST_EVENT_WAKEUP_MASK=y
+CONFIG_PLATFORM_EC_MKBP_USE_GPIO=y
+
+# Keyboard
+CONFIG_PLATFORM_EC_KEYBOARD=y
+CONFIG_PLATFORM_EC_KEYBOARD_PROTOCOL_MKBP=y
+CONFIG_PLATFORM_EC_KEYBOARD_COL2_INVERTED=y
+CONFIG_PLATFORM_EC_VOLUME_BUTTONS=y
+CONFIG_PLATFORM_EC_CMD_BUTTON=y
# Sensors
CONFIG_PLATFORM_EC_MOTIONSENSE=y
@@ -78,7 +87,6 @@ CONFIG_PLATFORM_EC_USB_A_PORT_COUNT=1
CONFIG_PLATFORM_EC_BC12_DETECT_PI3USB9201=y
CONFIG_PLATFORM_EC_BC12_DETECT_MT6360=y
CONFIG_PLATFORM_EC_BC12_SINGLE_DRIVER=n
-CONFIG_PLATFORM_EC_MT6360_BC12_GPIO=y
CONFIG_PLATFORM_EC_SMBUS_PEC=y
CONFIG_PLATFORM_EC_USBC_PPC_DEDICATED_INT=y
CONFIG_PLATFORM_EC_USBC_PPC_SYV682C=y