summaryrefslogtreecommitdiff
path: root/driver/ppc/ktu1125.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/ppc/ktu1125.c')
-rw-r--r--driver/ppc/ktu1125.c99
1 files changed, 42 insertions, 57 deletions
diff --git a/driver/ppc/ktu1125.c b/driver/ppc/ktu1125.c
index 9c01cfa358..047d011aac 100644
--- a/driver/ppc/ktu1125.c
+++ b/driver/ppc/ktu1125.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.
*/
@@ -18,25 +18,21 @@
#include "usbc_ppc.h"
#include "util.h"
-#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
+#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ##args)
+#define CPRINTS(format, args...) cprints(CC_USBPD, format, ##args)
static atomic_t irq_pending; /* Bitmask of ports signaling an interrupt. */
static int read_reg(uint8_t port, int reg, int *regval)
{
return i2c_read8(ppc_chips[port].i2c_port,
- ppc_chips[port].i2c_addr_flags,
- reg,
- regval);
+ ppc_chips[port].i2c_addr_flags, reg, regval);
}
static int write_reg(uint8_t port, int reg, int regval)
{
return i2c_write8(ppc_chips[port].i2c_port,
- ppc_chips[port].i2c_addr_flags,
- reg,
- regval);
+ ppc_chips[port].i2c_addr_flags, reg, regval);
}
static int set_flags(const int port, const int addr, const int flags_to_set)
@@ -80,7 +76,6 @@ static int set_field(const int port, const int addr, const int shift,
return set_flags(port, addr, val);
}
-
#ifdef CONFIG_CMD_PPC_DUMP
static int ktu1125_dump(int port)
{
@@ -102,15 +97,14 @@ static int ktu1125_dump(int port)
static int ktu1125_power_path_control(int port, int enable)
{
int status = enable ? set_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_SW_AB_EN)
- : clr_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_SW_AB_EN |
- KTU1125_CC1S_VCONN |
- KTU1125_CC2S_VCONN);
+ KTU1125_SW_AB_EN) :
+ clr_flags(port, KTU1125_CTRL_SW_CFG,
+ KTU1125_SW_AB_EN | KTU1125_CC1S_VCONN |
+ KTU1125_CC2S_VCONN);
if (status) {
- CPRINTS("ppc p%d: Failed to %s power path",
- port, enable ? "enable" : "disable");
+ CPRINTS("ppc p%d: Failed to %s power path", port,
+ enable ? "enable" : "disable");
}
return status;
@@ -138,7 +132,6 @@ static int ktu1125_init(int port)
return regval;
}
-
/*
* Setting control register CTRL_SW_CFG
*/
@@ -230,7 +223,7 @@ static int ktu1125_init(int port)
*/
/* Leave SYSA_OK and FRS masked for SNK group of interrupts */
- regval = KTU1125_SNK_MASK_ALL & (KTU1125_SYSA_OK | KTU1125_FR_SWAP);
+ regval = KTU1125_SNK_MASK_ALL & (KTU1125_SYSA_OK | KTU1125_FR_SWAP);
status = write_reg(port, KTU1125_INTMASK_SNK, regval);
if (status) {
ppc_err_prints("Failed to write INTMASK_SNK!", port, status);
@@ -291,8 +284,7 @@ static int ktu1125_set_polarity(int port, int polarity)
if (polarity) {
/* CC2 active. */
clr_flags(port, KTU1125_CTRL_SW_CFG, KTU1125_CC2S_VCONN);
- return set_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_CC1S_VCONN);
+ return set_flags(port, KTU1125_CTRL_SW_CFG, KTU1125_CC1S_VCONN);
}
/* else CC1 active. */
@@ -326,9 +318,8 @@ static int ktu1125_set_vbus_src_current_limit(int port, enum tcpc_rp_value rp)
break;
};
-
status = set_field(port, KTU1125_SET_SW_CFG, KTU1125_SYSB_CLP_SHIFT,
- KTU1125_SYSB_CLP_LEN, regval);
+ KTU1125_SYSB_CLP_LEN, regval);
if (status)
ppc_prints("Failed to set KTU1125_SET_SW_CFG!", port);
@@ -338,13 +329,13 @@ static int ktu1125_set_vbus_src_current_limit(int port, enum tcpc_rp_value rp)
static int ktu1125_discharge_vbus(int port, int enable)
{
int status = enable ? set_flags(port, KTU1125_SET_SW2_CFG,
- KTU1125_VBUS_DIS_EN)
- : clr_flags(port, KTU1125_SET_SW2_CFG,
+ KTU1125_VBUS_DIS_EN) :
+ clr_flags(port, KTU1125_SET_SW2_CFG,
KTU1125_VBUS_DIS_EN);
if (status) {
- CPRINTS("ppc p%d: Failed to %s vbus discharge",
- port, enable ? "enable" : "disable");
+ CPRINTS("ppc p%d: Failed to %s vbus discharge", port,
+ enable ? "enable" : "disable");
return status;
}
@@ -355,11 +346,10 @@ static int ktu1125_discharge_vbus(int port, int enable)
static int ktu1125_set_vconn(int port, int enable)
{
int status = enable ? set_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_VCONN_EN)
- : clr_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_VCONN_EN |
- KTU1125_CC1S_VCONN |
- KTU1125_CC2S_VCONN);
+ KTU1125_VCONN_EN) :
+ clr_flags(port, KTU1125_CTRL_SW_CFG,
+ KTU1125_VCONN_EN | KTU1125_CC1S_VCONN |
+ KTU1125_CC2S_VCONN);
return status;
}
@@ -369,10 +359,9 @@ static int ktu1125_set_vconn(int port, int enable)
static int ktu1125_set_frs_enable(int port, int enable)
{
/* Enable/Disable FR_SWAP Interrupt */
- int status = enable ? clr_flags(port, KTU1125_INTMASK_SNK,
- KTU1125_FR_SWAP)
- : set_flags(port, KTU1125_INTMASK_SNK,
- KTU1125_FR_SWAP);
+ int status =
+ enable ? clr_flags(port, KTU1125_INTMASK_SNK, KTU1125_FR_SWAP) :
+ set_flags(port, KTU1125_INTMASK_SNK, KTU1125_FR_SWAP);
if (status) {
ppc_prints("Failed to write KTU1125_INTMASK_SNK!", port);
@@ -380,10 +369,8 @@ static int ktu1125_set_frs_enable(int port, int enable)
}
/* Set the FRS_EN bit */
- status = enable ? set_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_FRS_EN)
- : clr_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_FRS_EN);
+ status = enable ? set_flags(port, KTU1125_CTRL_SW_CFG, KTU1125_FRS_EN) :
+ clr_flags(port, KTU1125_CTRL_SW_CFG, KTU1125_FRS_EN);
return status;
}
@@ -418,14 +405,14 @@ static int ktu1125_vbus_source_enable(int port, int enable)
#ifdef CONFIG_USBC_PPC_SBU
static int ktu1125_set_sbu(int port, int enable)
{
- int status = enable ? clr_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_SBU_SHUT)
- : set_flags(port, KTU1125_CTRL_SW_CFG,
- KTU1125_SBU_SHUT);
+ int status =
+ enable ?
+ clr_flags(port, KTU1125_CTRL_SW_CFG, KTU1125_SBU_SHUT) :
+ set_flags(port, KTU1125_CTRL_SW_CFG, KTU1125_SBU_SHUT);
if (status) {
- CPRINTS("ppc p%d: Failed to %s sbu",
- port, enable ? "enable" : "disable");
+ CPRINTS("ppc p%d: Failed to %s sbu", port,
+ enable ? "enable" : "disable");
}
return status;
@@ -452,31 +439,29 @@ static void ktu1125_handle_interrupt(int port)
attempt++;
if (attempt > 1)
ppc_prints("Could not clear interrupts on first "
- "try, retrying", port);
+ "try, retrying",
+ port);
/* Clear the interrupt by reading all 3 registers */
read_reg(port, KTU1125_INT_SNK, &snk);
read_reg(port, KTU1125_INT_SRC, &src);
read_reg(port, KTU1125_INT_DATA, &data);
- CPRINTS("ppc p%d: INTERRUPT snk=%02X src=%02X data=%02X",
- port, snk, src, data);
+ CPRINTS("ppc p%d: INTERRUPT snk=%02X src=%02X data=%02X", port,
+ snk, src, data);
if (snk & KTU1125_FR_SWAP)
pd_got_frs_signal(port);
- if (snk & (KTU1125_SYSA_SCP |
- KTU1125_SYSA_OCP |
- KTU1125_VBUS_OVP)) {
+ if (snk &
+ (KTU1125_SYSA_SCP | KTU1125_SYSA_OCP | KTU1125_VBUS_OVP)) {
/* Log and PD reset */
pd_handle_overcurrent(port);
}
- if (src & (KTU1125_SYSB_CLP |
- KTU1125_SYSB_OCP |
- KTU1125_SYSB_SCP |
- KTU1125_VCONN_CLP |
- KTU1125_VCONN_SCP)) {
+ if (src &
+ (KTU1125_SYSB_CLP | KTU1125_SYSB_OCP | KTU1125_SYSB_SCP |
+ KTU1125_VCONN_CLP | KTU1125_VCONN_SCP)) {
/* Log and PD reset */
pd_handle_overcurrent(port);
}