diff options
Diffstat (limited to 'board/trembyle')
-rw-r--r-- | board/trembyle/battery.c | 2 | ||||
-rw-r--r-- | board/trembyle/board.c | 80 | ||||
-rw-r--r-- | board/trembyle/board.h | 110 | ||||
-rw-r--r-- | board/trembyle/build.mk | 2 | ||||
-rw-r--r-- | board/trembyle/ec.tasklist | 2 | ||||
-rw-r--r-- | board/trembyle/gpio.inc | 2 | ||||
-rw-r--r-- | board/trembyle/led.c | 40 |
7 files changed, 113 insertions, 125 deletions
diff --git a/board/trembyle/battery.c b/board/trembyle/battery.c index 33e4e9ce5d..22724f11b4 100644 --- a/board/trembyle/battery.c +++ b/board/trembyle/battery.c @@ -1,4 +1,4 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. +/* Copyright 2019 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. * diff --git a/board/trembyle/board.c b/board/trembyle/board.c index ae81323902..d9d71a0895 100644 --- a/board/trembyle/board.c +++ b/board/trembyle/board.c @@ -1,4 +1,4 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. +/* Copyright 2019 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -37,8 +37,8 @@ #include "gpio_list.h" -#define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ## args) -#define CPRINTFUSB(format, args...) cprintf(CC_USBCHARGE, format, ## args) +#define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ##args) +#define CPRINTFUSB(format, args...) cprintf(CC_USBCHARGE, format, ##args) /* Motion sensors */ static struct mutex g_lid_mutex; @@ -205,8 +205,8 @@ static void board_chipset_resume(void) int val; rv = i2c_read8(I2C_PORT_USBA0, - PS8811_I2C_ADDR_FLAGS3 + PS8811_REG_PAGE1, - PS8811_REG1_USB_BEQ_LEVEL, &val); + PS8811_I2C_ADDR_FLAGS3 + PS8811_REG_PAGE1, + PS8811_REG1_USB_BEQ_LEVEL, &val); if (!rv) break; } @@ -220,10 +220,10 @@ static void board_chipset_resume(void) rv = i2c_write8(I2C_PORT_USBA1, PS8811_I2C_ADDR_FLAGS3 + PS8811_REG_PAGE1, PS8811_REG1_USB_BEQ_LEVEL, - (PS8811_BEQ_I2C_LEVEL_UP_13DB << - PS8811_BEQ_I2C_LEVEL_UP_SHIFT) | - (PS8811_BEQ_PIN_LEVEL_UP_18DB << - PS8811_BEQ_PIN_LEVEL_UP_SHIFT)); + (PS8811_BEQ_I2C_LEVEL_UP_13DB + << PS8811_BEQ_I2C_LEVEL_UP_SHIFT) | + (PS8811_BEQ_PIN_LEVEL_UP_18DB + << PS8811_BEQ_PIN_LEVEL_UP_SHIFT)); if (!rv) break; } @@ -233,9 +233,7 @@ static void board_chipset_resume(void) } if (ec_config_has_hdmi_retimer_pi3hdx1204()) { - pi3hdx1204_enable(I2C_PORT_TCPC1, - PI3HDX1204_I2C_ADDR_FLAGS, - 1); + pi3hdx1204_enable(I2C_PORT_TCPC1, PI3HDX1204_I2C_ADDR_FLAGS, 1); } } DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT); @@ -246,9 +244,7 @@ static void board_chipset_suspend(void) ioex_set_level(IOEX_USB_A1_RETIMER_EN, 0); if (ec_config_has_hdmi_retimer_pi3hdx1204()) { - pi3hdx1204_enable(I2C_PORT_TCPC1, - PI3HDX1204_I2C_ADDR_FLAGS, - 0); + pi3hdx1204_enable(I2C_PORT_TCPC1, PI3HDX1204_I2C_ADDR_FLAGS, 0); } } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); @@ -256,6 +252,10 @@ DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); /***************************************************************************** * USB-C MUX/Retimer dynamic configuration */ + +/* Place holder for second mux in USBC1 chain */ +struct usb_mux_chain usbc1_mux1; + static void setup_mux(void) { if (ec_config_has_usbc1_retimer_ps8802()) { @@ -265,12 +265,10 @@ static void setup_mux(void) * Replace usb_muxes[USBC_PORT_C1] with the PS8802 * table entry. */ - memcpy(&usb_muxes[USBC_PORT_C1], - &usbc1_ps8802, - sizeof(struct usb_mux)); + usb_muxes[USBC_PORT_C1].mux = &usbc1_ps8802; /* Set the AMD FP5 as the secondary MUX */ - usb_muxes[USBC_PORT_C1].next_mux = &usbc1_amd_fp5_usb_mux; + usbc1_mux1.mux = &usbc1_amd_fp5_usb_mux; /* Don't have the AMD FP5 flip */ usbc1_amd_fp5_usb_mux.flags = USB_MUX_FLAG_SET_WITHOUT_FLIP; @@ -282,12 +280,10 @@ static void setup_mux(void) * Replace usb_muxes[USBC_PORT_C1] with the AMD FP5 * table entry. */ - memcpy(&usb_muxes[USBC_PORT_C1], - &usbc1_amd_fp5_usb_mux, - sizeof(struct usb_mux)); + usb_muxes[USBC_PORT_C1].mux = &usbc1_amd_fp5_usb_mux; /* Set the PS8818 as the secondary MUX */ - usb_muxes[USBC_PORT_C1].next_mux = &usbc1_ps8818; + usbc1_mux1.mux = &usbc1_ps8818; } } @@ -301,23 +297,29 @@ const struct pi3dpx1207_usb_control pi3dpx1207_controls[] = { }; BUILD_ASSERT(ARRAY_SIZE(pi3dpx1207_controls) == USBC_PORT_COUNT); -const struct usb_mux usbc0_pi3dpx1207_usb_retimer = { - .usb_port = USBC_PORT_C0, - .i2c_port = I2C_PORT_TCPC0, - .i2c_addr_flags = PI3DPX1207_I2C_ADDR_FLAGS, - .driver = &pi3dpx1207_usb_retimer, +const struct usb_mux_chain usbc0_pi3dpx1207_usb_retimer = { + .mux = + &(const struct usb_mux){ + .usb_port = USBC_PORT_C0, + .i2c_port = I2C_PORT_TCPC0, + .i2c_addr_flags = PI3DPX1207_I2C_ADDR_FLAGS, + .driver = &pi3dpx1207_usb_retimer, + }, }; -struct usb_mux usb_muxes[] = { +struct usb_mux_chain usb_muxes[] = { [USBC_PORT_C0] = { - .usb_port = USBC_PORT_C0, - .i2c_port = I2C_PORT_USB_AP_MUX, - .i2c_addr_flags = AMD_FP5_MUX_I2C_ADDR_FLAGS, - .driver = &amd_fp5_usb_mux_driver, - .next_mux = &usbc0_pi3dpx1207_usb_retimer, + .mux = &(const struct usb_mux) { + .usb_port = USBC_PORT_C0, + .i2c_port = I2C_PORT_USB_AP_MUX, + .i2c_addr_flags = AMD_FP5_MUX_I2C_ADDR_FLAGS, + .driver = &amd_fp5_usb_mux_driver, + }, + .next = &usbc0_pi3dpx1207_usb_retimer, }, [USBC_PORT_C1] = { /* Filled in dynamically at startup */ + .next = &usbc1_mux1, }, }; BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT); @@ -361,7 +363,7 @@ DECLARE_HOOK(HOOK_INIT, setup_fw_config, HOOK_PRIO_INIT_I2C + 2); /* Physical fans. These are logically separate from pwm_channels. */ const struct fan_conf fan_conf_0 = { .flags = FAN_USE_RPM_MODE, - .ch = MFT_CH_0, /* Use MFT id to control fan */ + .ch = MFT_CH_0, /* Use MFT id to control fan */ .pgood_gpio = -1, .enable_gpio = -1, }; @@ -452,8 +454,8 @@ BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT); /* * TODO(b/202062363): Remove when clang is fixed. */ -#define THERMAL_THERMISTOR \ - { \ +#define THERMAL_THERMISTOR \ + { \ .temp_host = { \ [EC_TEMP_THRESH_HIGH] = C_TO_K(90), \ [EC_TEMP_THRESH_HALT] = C_TO_K(92), \ @@ -470,8 +472,8 @@ __maybe_unused static const struct ec_thermal_config thermal_thermistor = /* * TODO(b/202062363): Remove when clang is fixed. */ -#define THERMAL_CPU \ - { \ +#define THERMAL_CPU \ + { \ .temp_host = { \ [EC_TEMP_THRESH_HIGH] = C_TO_K(90), \ [EC_TEMP_THRESH_HALT] = C_TO_K(92), \ diff --git a/board/trembyle/board.h b/board/trembyle/board.h index 6d3382af08..2e3d40ac8f 100644 --- a/board/trembyle/board.h +++ b/board/trembyle/board.h @@ -1,4 +1,4 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. +/* Copyright 2019 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -29,36 +29,32 @@ #define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL /* GPIO mapping from board specific name to EC common name. */ -#define CONFIG_BATTERY_PRESENT_GPIO GPIO_EC_BATT_PRES_ODL -#define CONFIG_SCI_GPIO GPIO_EC_FCH_SCI_ODL -#define GPIO_AC_PRESENT GPIO_ACOK_OD -#define GPIO_CPU_PROCHOT GPIO_PROCHOT_ODL -#define GPIO_EC_INT_L GPIO_EC_AP_INT_ODL -#define GPIO_ENABLE_BACKLIGHT_L GPIO_EC_EDP_BL_DISABLE -#define GPIO_ENTERING_RW GPIO_EC_ENTERING_RW -#define GPIO_KBD_KSO2 GPIO_EC_KSO_02_INV -#define GPIO_PCH_PWRBTN_L GPIO_EC_FCH_PWR_BTN_L -#define GPIO_PCH_RSMRST_L GPIO_EC_FCH_RSMRST_L -#define GPIO_PCH_SLP_S3_L GPIO_SLP_S3_L -#define GPIO_PCH_SLP_S5_L GPIO_SLP_S5_L -#define GPIO_PCH_SYS_PWROK GPIO_EC_FCH_PWROK -#define GPIO_PCH_WAKE_L GPIO_EC_FCH_WAKE_L -#define GPIO_POWER_BUTTON_L GPIO_EC_PWR_BTN_ODL -#define GPIO_S0_PGOOD GPIO_S0_PWROK_OD -#define GPIO_S5_PGOOD GPIO_EC_PWROK_OD -#define GPIO_SYS_RESET_L GPIO_EC_SYS_RST_L -#define GPIO_VOLUME_DOWN_L GPIO_VOLDN_BTN_ODL -#define GPIO_VOLUME_UP_L GPIO_VOLUP_BTN_ODL -#define GPIO_WP_L GPIO_EC_WP_L -#define GPIO_PACKET_MODE_EN GPIO_EC_H1_PACKET_MODE +#define CONFIG_BATTERY_PRESENT_GPIO GPIO_EC_BATT_PRES_ODL +#define CONFIG_SCI_GPIO GPIO_EC_FCH_SCI_ODL +#define GPIO_AC_PRESENT GPIO_ACOK_OD +#define GPIO_CPU_PROCHOT GPIO_PROCHOT_ODL +#define GPIO_EC_INT_L GPIO_EC_AP_INT_ODL +#define GPIO_ENABLE_BACKLIGHT_L GPIO_EC_EDP_BL_DISABLE +#define GPIO_ENTERING_RW GPIO_EC_ENTERING_RW +#define GPIO_KBD_KSO2 GPIO_EC_KSO_02_INV +#define GPIO_PCH_PWRBTN_L GPIO_EC_FCH_PWR_BTN_L +#define GPIO_PCH_RSMRST_L GPIO_EC_FCH_RSMRST_L +#define GPIO_PCH_SLP_S3_L GPIO_SLP_S3_L +#define GPIO_PCH_SLP_S5_L GPIO_SLP_S5_L +#define GPIO_PCH_SYS_PWROK GPIO_EC_FCH_PWROK +#define GPIO_PCH_WAKE_L GPIO_EC_FCH_WAKE_L +#define GPIO_POWER_BUTTON_L GPIO_EC_PWR_BTN_ODL +#define GPIO_S0_PGOOD GPIO_S0_PWROK_OD +#define GPIO_S5_PGOOD GPIO_EC_PWROK_OD +#define GPIO_SYS_RESET_L GPIO_EC_SYS_RST_L +#define GPIO_VOLUME_DOWN_L GPIO_VOLDN_BTN_ODL +#define GPIO_VOLUME_UP_L GPIO_VOLUP_BTN_ODL +#define GPIO_WP_L GPIO_EC_WP_L +#define GPIO_PACKET_MODE_EN GPIO_EC_H1_PACKET_MODE #ifndef __ASSEMBLER__ -enum adc_channel { - ADC_TEMP_SENSOR_CHARGER, - ADC_TEMP_SENSOR_SOC, - ADC_CH_COUNT -}; +enum adc_channel { ADC_TEMP_SENSOR_CHARGER, ADC_TEMP_SENSOR_SOC, ADC_CH_COUNT }; enum battery_type { BATTERY_AP18F4M, @@ -71,11 +67,7 @@ enum mft_channel { MFT_CH_COUNT, }; -enum pwm_channel { - PWM_CH_KBLIGHT = 0, - PWM_CH_FAN, - PWM_CH_COUNT -}; +enum pwm_channel { PWM_CH_KBLIGHT = 0, PWM_CH_FAN, PWM_CH_COUNT }; enum temp_sensor_id { TEMP_SENSOR_CHARGER = 0, @@ -84,11 +76,7 @@ enum temp_sensor_id { TEMP_SENSOR_COUNT }; -enum usba_port { - USBA_PORT_A0 = 0, - USBA_PORT_A1, - USBA_PORT_COUNT -}; +enum usba_port { USBA_PORT_A0 = 0, USBA_PORT_A1, USBA_PORT_COUNT }; /***************************************************************************** * CBI EC FW Configuration @@ -153,61 +141,51 @@ enum ec_cfg_usb_db_type { #include "cbi_ec_fw_config.h" -#define HAS_USBC1_RETIMER_PS8802 \ - (BIT(TREMBYLE_DB_T_OPT2_USBAC) | \ - BIT(TREMBYLE_DB_T_OPT3_USBAC_HDMI_MSTHUB)) +#define HAS_USBC1_RETIMER_PS8802 \ + (BIT(TREMBYLE_DB_T_OPT2_USBAC) | \ + BIT(TREMBYLE_DB_T_OPT3_USBAC_HDMI_MSTHUB)) static inline bool ec_config_has_usbc1_retimer_ps8802(void) { - return !!(BIT(ec_config_get_usb_db()) & - HAS_USBC1_RETIMER_PS8802); + return !!(BIT(ec_config_get_usb_db()) & HAS_USBC1_RETIMER_PS8802); } -#define HAS_USBC1_RETIMER_PS8818 \ - (BIT(TREMBYLE_DB_T_OPT1_USBAC_HMDI)) +#define HAS_USBC1_RETIMER_PS8818 (BIT(TREMBYLE_DB_T_OPT1_USBAC_HMDI)) static inline bool ec_config_has_usbc1_retimer_ps8818(void) { - return !!(BIT(ec_config_get_usb_db()) & - HAS_USBC1_RETIMER_PS8818); + return !!(BIT(ec_config_get_usb_db()) & HAS_USBC1_RETIMER_PS8818); } -#define HAS_HDMI_RETIMER_PI3HDX1204 \ - (BIT(TREMBYLE_DB_T_OPT1_USBAC_HMDI)) +#define HAS_HDMI_RETIMER_PI3HDX1204 (BIT(TREMBYLE_DB_T_OPT1_USBAC_HMDI)) static inline bool ec_config_has_hdmi_retimer_pi3hdx1204(void) { - return !!(BIT(ec_config_get_usb_db()) & - HAS_HDMI_RETIMER_PI3HDX1204); + return !!(BIT(ec_config_get_usb_db()) & HAS_HDMI_RETIMER_PI3HDX1204); } -#define HAS_MST_HUB_RTD2141B \ - (BIT(TREMBYLE_DB_T_OPT3_USBAC_HDMI_MSTHUB)) +#define HAS_MST_HUB_RTD2141B (BIT(TREMBYLE_DB_T_OPT3_USBAC_HDMI_MSTHUB)) static inline bool ec_config_has_mst_hub_rtd2141b(void) { - return !!(BIT(ec_config_get_usb_db()) & - HAS_MST_HUB_RTD2141B); + return !!(BIT(ec_config_get_usb_db()) & HAS_MST_HUB_RTD2141B); } -#define HAS_HDMI_CONN_HPD \ - (BIT(TREMBYLE_DB_T_OPT1_USBAC_HMDI)) +#define HAS_HDMI_CONN_HPD (BIT(TREMBYLE_DB_T_OPT1_USBAC_HMDI)) static inline bool ec_config_has_hdmi_conn_hpd(void) { - return !!(BIT(ec_config_get_usb_db()) & - HAS_HDMI_CONN_HPD); + return !!(BIT(ec_config_get_usb_db()) & HAS_HDMI_CONN_HPD); } -#define PORT_TO_HPD(port) ((port == 0) \ - ? GPIO_USB_C0_HPD \ - : (ec_config_has_usbc1_retimer_ps8802()) \ - ? GPIO_DP1_HPD \ - : GPIO_DP2_HPD) +#define PORT_TO_HPD(port) \ + ((port == 0) ? GPIO_USB_C0_HPD : \ + (ec_config_has_usbc1_retimer_ps8802()) ? GPIO_DP1_HPD : \ + GPIO_DP2_HPD) -extern const struct usb_mux usbc0_pi3dpx1207_usb_retimer; -extern const struct usb_mux usbc1_ps8802; +extern const struct usb_mux_chain usbc0_pi3dpx1207_usb_retimer; extern const struct usb_mux usbc1_ps8818; +extern struct usb_mux usbc1_ps8802; extern struct usb_mux usbc1_amd_fp5_usb_mux; void hdmi_hpd_interrupt(enum ioex_signal signal); diff --git a/board/trembyle/build.mk b/board/trembyle/build.mk index 4ca0cbd96f..cd58c2b91b 100644 --- a/board/trembyle/build.mk +++ b/board/trembyle/build.mk @@ -1,5 +1,5 @@ # -*- makefile -*- -# Copyright 2019 The Chromium OS Authors. All rights reserved. +# Copyright 2019 The ChromiumOS Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # diff --git a/board/trembyle/ec.tasklist b/board/trembyle/ec.tasklist index 41b83cf4f3..4bb60ed55d 100644 --- a/board/trembyle/ec.tasklist +++ b/board/trembyle/ec.tasklist @@ -1,4 +1,4 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. +/* Copyright 2019 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ diff --git a/board/trembyle/gpio.inc b/board/trembyle/gpio.inc index 6cc3e6fe09..7c49eef74e 100644 --- a/board/trembyle/gpio.inc +++ b/board/trembyle/gpio.inc @@ -1,6 +1,6 @@ /* -*- mode:c -*- * - * Copyright 2019 The Chromium OS Authors. All rights reserved. + * Copyright 2019 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ diff --git a/board/trembyle/led.c b/board/trembyle/led.c index 3e2d195a06..ec4e93dca5 100644 --- a/board/trembyle/led.c +++ b/board/trembyle/led.c @@ -1,4 +1,4 @@ -/* Copyright 2019 The Chromium OS Authors. All rights reserved. +/* Copyright 2019 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -8,26 +8,34 @@ #include "led_common.h" #include "led_onoff_states.h" -#define LED_OFF_LVL 1 -#define LED_ON_LVL 0 +#define LED_OFF_LVL 1 +#define LED_ON_LVL 0 __override const int led_charge_lvl_1; __override const int led_charge_lvl_2 = 100; __override struct led_descriptor - led_bat_state_table[LED_NUM_STATES][LED_NUM_PHASES] = { - [STATE_CHARGING_LVL_1] = {{EC_LED_COLOR_BLUE, 2 * LED_ONE_SEC}, - {EC_LED_COLOR_RED, 2 * LED_ONE_SEC} }, - [STATE_CHARGING_LVL_2] = {{EC_LED_COLOR_RED, LED_INDEFINITE} }, - [STATE_CHARGING_FULL_CHARGE] = {{EC_LED_COLOR_BLUE, LED_INDEFINITE} }, - [STATE_DISCHARGE_S0] = {{EC_LED_COLOR_BLUE, LED_INDEFINITE} }, - [STATE_DISCHARGE_S3] = {{EC_LED_COLOR_RED, 1 * LED_ONE_SEC}, - {LED_OFF, 3 * LED_ONE_SEC} }, - [STATE_DISCHARGE_S5] = {{LED_OFF, LED_INDEFINITE} }, - [STATE_BATTERY_ERROR] = {{EC_LED_COLOR_BLUE, 2 * LED_ONE_SEC}, - {EC_LED_COLOR_RED, 2 * LED_ONE_SEC} }, - [STATE_FACTORY_TEST] = {{EC_LED_COLOR_BLUE, LED_INDEFINITE} }, -}; + led_bat_state_table[LED_NUM_STATES][LED_NUM_PHASES] = { + [STATE_CHARGING_LVL_1] = { { EC_LED_COLOR_BLUE, + 2 * LED_ONE_SEC }, + { EC_LED_COLOR_RED, + 2 * LED_ONE_SEC } }, + [STATE_CHARGING_LVL_2] = { { EC_LED_COLOR_RED, + LED_INDEFINITE } }, + [STATE_CHARGING_FULL_CHARGE] = { { EC_LED_COLOR_BLUE, + LED_INDEFINITE } }, + [STATE_DISCHARGE_S0] = { { EC_LED_COLOR_BLUE, + LED_INDEFINITE } }, + [STATE_DISCHARGE_S3] = { { EC_LED_COLOR_RED, 1 * LED_ONE_SEC }, + { LED_OFF, 3 * LED_ONE_SEC } }, + [STATE_DISCHARGE_S5] = { { LED_OFF, LED_INDEFINITE } }, + [STATE_BATTERY_ERROR] = { { EC_LED_COLOR_BLUE, + 2 * LED_ONE_SEC }, + { EC_LED_COLOR_RED, + 2 * LED_ONE_SEC } }, + [STATE_FACTORY_TEST] = { { EC_LED_COLOR_BLUE, + LED_INDEFINITE } }, + }; BUILD_ASSERT(ARRAY_SIZE(led_bat_state_table) == LED_NUM_STATES); const enum ec_led_id supported_led_ids[] = { EC_LED_ID_BATTERY_LED }; |