summaryrefslogtreecommitdiff
path: root/zephyr/projects/trogdor/lazor/src
diff options
context:
space:
mode:
Diffstat (limited to 'zephyr/projects/trogdor/lazor/src')
-rw-r--r--zephyr/projects/trogdor/lazor/src/hibernate.c14
-rw-r--r--zephyr/projects/trogdor/lazor/src/i2c.c2
-rw-r--r--zephyr/projects/trogdor/lazor/src/power.c4
-rw-r--r--zephyr/projects/trogdor/lazor/src/sku.c6
-rw-r--r--zephyr/projects/trogdor/lazor/src/switchcap.c45
-rw-r--r--zephyr/projects/trogdor/lazor/src/usb_pd_policy.c45
-rw-r--r--zephyr/projects/trogdor/lazor/src/usbc_config.c54
7 files changed, 80 insertions, 90 deletions
diff --git a/zephyr/projects/trogdor/lazor/src/hibernate.c b/zephyr/projects/trogdor/lazor/src/hibernate.c
index 5ad97a8c48..388ff1b087 100644
--- a/zephyr/projects/trogdor/lazor/src/hibernate.c
+++ b/zephyr/projects/trogdor/lazor/src/hibernate.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -17,12 +17,12 @@ void board_hibernate(void)
* Sensors are unpowered in hibernate. Apply PD to the
* interrupt lines such that they don't float.
*/
- gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(
- gpio_accel_gyro_int_l),
- GPIO_DISCONNECTED);
- gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(
- gpio_lid_accel_int_l),
- GPIO_DISCONNECTED);
+ gpio_pin_configure_dt(
+ GPIO_DT_FROM_NODELABEL(gpio_accel_gyro_int_l),
+ GPIO_DISCONNECTED);
+ gpio_pin_configure_dt(
+ GPIO_DT_FROM_NODELABEL(gpio_lid_accel_int_l),
+ GPIO_DISCONNECTED);
}
/*
diff --git a/zephyr/projects/trogdor/lazor/src/i2c.c b/zephyr/projects/trogdor/lazor/src/i2c.c
index 89e576f81a..6d737b410f 100644
--- a/zephyr/projects/trogdor/lazor/src/i2c.c
+++ b/zephyr/projects/trogdor/lazor/src/i2c.c
@@ -1,4 +1,4 @@
-/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+/* Copyright 2021 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/zephyr/projects/trogdor/lazor/src/power.c b/zephyr/projects/trogdor/lazor/src/power.c
index ee4e1b3b8f..96f9bc43c5 100644
--- a/zephyr/projects/trogdor/lazor/src/power.c
+++ b/zephyr/projects/trogdor/lazor/src/power.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -51,7 +51,7 @@ static int board_power_handler_init(const struct device *unused)
/* Setup a suspend/resume callback */
ap_power_ev_init_callback(&cb, board_power_change,
AP_POWER_PRE_INIT |
- AP_POWER_SHUTDOWN_COMPLETE);
+ AP_POWER_SHUTDOWN_COMPLETE);
ap_power_ev_add_callback(&cb);
return 0;
}
diff --git a/zephyr/projects/trogdor/lazor/src/sku.c b/zephyr/projects/trogdor/lazor/src/sku.c
index dde0549805..1d88437031 100644
--- a/zephyr/projects/trogdor/lazor/src/sku.c
+++ b/zephyr/projects/trogdor/lazor/src/sku.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -13,8 +13,8 @@
#include "system.h"
#include "util.h"
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
+#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ##args)
+#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ##args)
static uint8_t sku_id;
diff --git a/zephyr/projects/trogdor/lazor/src/switchcap.c b/zephyr/projects/trogdor/lazor/src/switchcap.c
index 6dc7c3fbab..d8205cbcfc 100644
--- a/zephyr/projects/trogdor/lazor/src/switchcap.c
+++ b/zephyr/projects/trogdor/lazor/src/switchcap.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -16,8 +16,8 @@
#include "system.h"
#include "sku.h"
-#define CPRINTS(format, args...) cprints(CC_I2C, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_I2C, format, ## args)
+#define CPRINTS(format, args...) cprints(CC_I2C, format, ##args)
+#define CPRINTF(format, args...) cprintf(CC_I2C, format, ##args)
/* LN9310 switchcap */
const struct ln9310_config_t ln9310_config = {
@@ -34,18 +34,16 @@ static void switchcap_init(void)
* When the chip in power down mode, it outputs high-Z.
* Set pull-down to avoid floating.
*/
- gpio_pin_configure_dt(
- GPIO_DT_FROM_NODELABEL(gpio_da9313_gpio0),
- GPIO_INPUT | GPIO_PULL_DOWN);
+ gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(gpio_da9313_gpio0),
+ GPIO_INPUT | GPIO_PULL_DOWN);
/*
* Configure DA9313 enable, push-pull output. Don't set the
* level here; otherwise, it will override its value and
* shutdown the switchcap when sysjump to RW.
*/
- gpio_pin_configure_dt(
- GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
- GPIO_OUTPUT);
+ gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
+ GPIO_OUTPUT);
} else if (board_has_ln9310()) {
CPRINTS("Use switchcap: LN9310");
@@ -71,9 +69,8 @@ static void switchcap_init(void)
* (6) GPIO init according to gpio.inc -> push-pull LOW
* (7) This function configures it -> open-drain LOW
*/
- gpio_pin_configure_dt(
- GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
- GPIO_OUTPUT | GPIO_OPEN_DRAIN);
+ gpio_pin_configure_dt(GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
+ GPIO_OUTPUT | GPIO_OPEN_DRAIN);
/* Only configure the switchcap if not sysjump */
if (!system_jumped_late()) {
@@ -83,8 +80,7 @@ static void switchcap_init(void)
* configured from standby mode to switching mode.
*/
gpio_pin_set_dt(
- GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
- 0);
+ GPIO_DT_FROM_NODELABEL(gpio_switchcap_on), 0);
ln9310_init();
}
} else if (board_has_buck_ic()) {
@@ -98,18 +94,14 @@ DECLARE_HOOK(HOOK_INIT, switchcap_init, HOOK_PRIO_DEFAULT);
void board_set_switchcap_power(int enable)
{
if (board_has_da9313()) {
- gpio_pin_set_dt(
- GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
- enable);
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
+ enable);
} else if (board_has_ln9310()) {
- gpio_pin_set_dt(
- GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
- enable);
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_switchcap_on),
+ enable);
ln9310_software_enable(enable);
} else if (board_has_buck_ic()) {
- gpio_pin_set_dt(
- GPIO_DT_FROM_NODELABEL(gpio_vbob_en),
- enable);
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_vbob_en), enable);
}
}
@@ -117,18 +109,17 @@ int board_is_switchcap_enabled(void)
{
if (board_has_da9313() || board_has_ln9310())
return gpio_pin_get_dt(
- GPIO_DT_FROM_NODELABEL(gpio_switchcap_on));
+ GPIO_DT_FROM_NODELABEL(gpio_switchcap_on));
/* Board has buck ic*/
- return gpio_pin_get_dt(
- GPIO_DT_FROM_NODELABEL(gpio_vbob_en));
+ return gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_vbob_en));
}
int board_is_switchcap_power_good(void)
{
if (board_has_da9313())
return gpio_pin_get_dt(
- GPIO_DT_FROM_NODELABEL(gpio_da9313_gpio0));
+ GPIO_DT_FROM_NODELABEL(gpio_da9313_gpio0));
else if (board_has_ln9310())
return ln9310_power_good();
diff --git a/zephyr/projects/trogdor/lazor/src/usb_pd_policy.c b/zephyr/projects/trogdor/lazor/src/usb_pd_policy.c
index b94a65005a..8d046826f9 100644
--- a/zephyr/projects/trogdor/lazor/src/usb_pd_policy.c
+++ b/zephyr/projects/trogdor/lazor/src/usb_pd_policy.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -13,8 +13,8 @@
#include "usbc_ppc.h"
#include "util.h"
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
+#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ##args)
+#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ##args)
int pd_check_vconn_swap(int port)
{
@@ -24,10 +24,10 @@ int pd_check_vconn_swap(int port)
static uint8_t vbus_en[CONFIG_USB_PD_PORT_MAX_COUNT];
#if CONFIG_USB_PD_PORT_MAX_COUNT == 1
-static uint8_t vbus_rp[CONFIG_USB_PD_PORT_MAX_COUNT] = {TYPEC_RP_1A5};
+static uint8_t vbus_rp[CONFIG_USB_PD_PORT_MAX_COUNT] = { TYPEC_RP_1A5 };
#else
-static uint8_t vbus_rp[CONFIG_USB_PD_PORT_MAX_COUNT] = {TYPEC_RP_1A5,
- TYPEC_RP_1A5};
+static uint8_t vbus_rp[CONFIG_USB_PD_PORT_MAX_COUNT] = { TYPEC_RP_1A5,
+ TYPEC_RP_1A5 };
#endif
static void board_vbus_update_source_current(int port)
@@ -108,11 +108,11 @@ __override int svdm_dp_config(int port, uint32_t *payload)
* (3) plug a monitor to the port-1 dongle.
*/
- payload[0] = VDO(USB_SID_DISPLAYPORT, 1,
- CMD_DP_CONFIG | VDO_OPOS(opos));
- payload[1] = VDO_DP_CFG(pin_mode, /* pin mode */
- 1, /* DPv1.3 signaling */
- 2); /* UFP connected */
+ payload[0] =
+ VDO(USB_SID_DISPLAYPORT, 1, CMD_DP_CONFIG | VDO_OPOS(opos));
+ payload[1] = VDO_DP_CFG(pin_mode, /* pin mode */
+ 1, /* DPv1.3 signaling */
+ 2); /* UFP connected */
return 2;
};
@@ -175,8 +175,8 @@ __override int svdm_dp_attention(int port, uint32_t *payload)
* TODO(waihong): Better to move switching DP mux to
* the usb_mux abstraction.
*/
- gpio_pin_set_dt(
- GPIO_DT_FROM_NODELABEL(gpio_dp_mux_sel), port == 1);
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_dp_mux_sel),
+ port == 1);
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_dp_mux_oe_l), 0);
/* Connect the SBU lines in PPC chip. */
@@ -190,8 +190,7 @@ __override int svdm_dp_attention(int port, uint32_t *payload)
* because of the board USB-C topology (limited to 2
* lanes DP).
*/
- usb_mux_set(port, USB_PD_MUX_DOCK,
- USB_SWITCH_CONNECT,
+ usb_mux_set(port, USB_PD_MUX_DOCK, USB_SWITCH_CONNECT,
polarity_rm_dts(pd_get_polarity(port)));
} else {
/* Disconnect the DP port selection mux. */
@@ -203,13 +202,11 @@ __override int svdm_dp_attention(int port, uint32_t *payload)
ppc_set_sbu(port, 0);
/* Disconnect the DP but keep the USB SS lines in TCPC chip. */
- usb_mux_set(port, USB_PD_MUX_USB_ENABLED,
- USB_SWITCH_CONNECT,
+ usb_mux_set(port, USB_PD_MUX_USB_ENABLED, USB_SWITCH_CONNECT,
polarity_rm_dts(pd_get_polarity(port)));
}
- if (chipset_in_state(CHIPSET_STATE_ANY_SUSPEND) &&
- (irq || lvl))
+ if (chipset_in_state(CHIPSET_STATE_ANY_SUSPEND) && (irq || lvl))
/*
* Wake up the AP. IRQ or level high indicates a DP sink is now
* present.
@@ -234,8 +231,8 @@ __override int svdm_dp_attention(int port, uint32_t *payload)
gpio_pin_set_dt(hpd, 1);
/* Set the minimum time delay (2ms) for the next HPD IRQ */
- svdm_hpd_deadline[port] = get_time().val +
- HPD_USTREAM_DEBOUNCE_LVL;
+ svdm_hpd_deadline[port] =
+ get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
} else if (irq & !lvl) {
CPRINTF("ERR:HPD:IRQ&LOW\n");
return 0;
@@ -256,9 +253,9 @@ __override void svdm_exit_dp_mode(int port)
/* Signal AP for the HPD low event */
usb_mux_hpd_update(port, USB_PD_MUX_HPD_LVL_DEASSERTED |
- USB_PD_MUX_HPD_IRQ_DEASSERTED);
- gpio_pin_set_dt(
- GPIO_DT_FROM_NODELABEL(gpio_dp_hot_plug_det), 0);
+ USB_PD_MUX_HPD_IRQ_DEASSERTED);
+ gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_dp_hot_plug_det),
+ 0);
}
}
#endif /* CONFIG_USB_PD_ALT_MODE_DFP */
diff --git a/zephyr/projects/trogdor/lazor/src/usbc_config.c b/zephyr/projects/trogdor/lazor/src/usbc_config.c
index 59dbeb6fc6..f6bfdfb186 100644
--- a/zephyr/projects/trogdor/lazor/src/usbc_config.c
+++ b/zephyr/projects/trogdor/lazor/src/usbc_config.c
@@ -1,4 +1,4 @@
-/* Copyright 2022 The Chromium OS Authors. All rights reserved.
+/* Copyright 2022 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -27,8 +27,8 @@
#include "usbc_ocp.h"
#include "usbc_ppc.h"
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
+#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ##args)
+#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ##args)
int charger_profile_override(struct charge_state_data *curr)
{
@@ -71,9 +71,9 @@ enum ec_status charger_profile_override_set_param(uint32_t param,
static void usba_oc_deferred(void)
{
/* Use next number after all USB-C ports to indicate the USB-A port */
- board_overcurrent_event(CONFIG_USB_PD_PORT_MAX_COUNT,
- !gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(
- gpio_usb_a0_oc_odl)));
+ board_overcurrent_event(
+ CONFIG_USB_PD_PORT_MAX_COUNT,
+ !gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_a0_oc_odl)));
}
DECLARE_DEFERRED(usba_oc_deferred);
@@ -137,16 +137,22 @@ void tcpc_alert_event(enum gpio_signal signal)
* to AP. But the TCPC chip is also needed to know the HPD status; otherwise,
* the mux misbehaves.
*/
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
+const struct usb_mux_chain usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
{
- .usb_port = 0,
- .driver = &tcpci_tcpm_usb_mux_driver,
- .hpd_update = &ps8xxx_tcpc_update_hpd_status,
+ .mux =
+ &(const struct usb_mux){
+ .usb_port = 0,
+ .driver = &tcpci_tcpm_usb_mux_driver,
+ .hpd_update = &ps8xxx_tcpc_update_hpd_status,
+ },
},
{
- .usb_port = 1,
- .driver = &tcpci_tcpm_usb_mux_driver,
- .hpd_update = &ps8xxx_tcpc_update_hpd_status,
+ .mux =
+ &(const struct usb_mux){
+ .usb_port = 1,
+ .driver = &tcpci_tcpm_usb_mux_driver,
+ .hpd_update = &ps8xxx_tcpc_update_hpd_status,
+ },
}
};
@@ -199,7 +205,7 @@ void board_tcpc_init(void)
*/
for (int port = 0; port < CONFIG_USB_PD_PORT_MAX_COUNT; ++port)
usb_mux_hpd_update(port, USB_PD_MUX_HPD_LVL_DEASSERTED |
- USB_PD_MUX_HPD_IRQ_DEASSERTED);
+ USB_PD_MUX_HPD_IRQ_DEASSERTED);
}
DECLARE_HOOK(HOOK_INIT, board_tcpc_init, HOOK_PRIO_POST_I2C);
@@ -244,8 +250,7 @@ void board_overcurrent_event(int port, int is_overcurrented)
int board_set_active_charge_port(int port)
{
- int is_real_port = (port >= 0 &&
- port < CONFIG_USB_PD_PORT_MAX_COUNT);
+ int is_real_port = (port >= 0 && port < CONFIG_USB_PD_PORT_MAX_COUNT);
int i;
if (!is_real_port && port != CHARGE_PORT_NONE)
@@ -273,7 +278,6 @@ int board_set_active_charge_port(int port)
return EC_ERROR_INVAL;
}
-
CPRINTS("New charge port: p%d", port);
/*
@@ -297,23 +301,21 @@ int board_set_active_charge_port(int port)
return EC_SUCCESS;
}
-void board_set_charge_limit(int port, int supplier, int charge_ma,
- int max_ma, int charge_mv)
+void board_set_charge_limit(int port, int supplier, int charge_ma, int max_ma,
+ int charge_mv)
{
/*
* Ignore lower charge ceiling on PD transition if our battery is
* critical, as we may brownout.
*/
- if (supplier == CHARGE_SUPPLIER_PD &&
- charge_ma < 1500 &&
+ if (supplier == CHARGE_SUPPLIER_PD && charge_ma < 1500 &&
charge_get_percent() < CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON) {
CPRINTS("Using max ilim %d", max_ma);
charge_ma = max_ma;
}
- charge_set_input_current_limit(MAX(charge_ma,
- CONFIG_CHARGER_INPUT_CURRENT),
- charge_mv);
+ charge_set_input_current_limit(
+ MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT), charge_mv);
}
uint16_t tcpc_get_alert_status(void)
@@ -322,11 +324,11 @@ uint16_t tcpc_get_alert_status(void)
if (!gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_c0_pd_int_odl)))
if (gpio_pin_get_dt(
- GPIO_DT_FROM_NODELABEL(gpio_usb_c0_pd_rst_l)))
+ GPIO_DT_FROM_NODELABEL(gpio_usb_c0_pd_rst_l)))
status |= PD_STATUS_TCPC_ALERT_0;
if (!gpio_pin_get_dt(GPIO_DT_FROM_NODELABEL(gpio_usb_c0_pd_int_odl)))
if (gpio_pin_get_dt(
- GPIO_DT_FROM_NODELABEL(gpio_usb_c1_pd_rst_l)))
+ GPIO_DT_FROM_NODELABEL(gpio_usb_c1_pd_rst_l)))
status |= PD_STATUS_TCPC_ALERT_1;
return status;