diff options
author | Vijay Hiremath <vijay.p.hiremath@intel.com> | 2020-01-23 07:19:06 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-01-28 02:35:08 +0000 |
commit | 50d60e3fe12a852ae412d9502ca22a5b72cb441b (patch) | |
tree | 3d5f925aba3d00f523812acb5238548a6e3dc4a1 /driver/usb_mux | |
parent | 43dfea03a49d46677590ac42f2fce4419835e1e7 (diff) | |
download | chrome-ec-50d60e3fe12a852ae412d9502ca22a5b72cb441b.tar.gz |
usb_mux: cleanup: Replace mux state enums with ec_command bit flag
BUG=b:145796172
BRANCH=none
TEST=make buildall -j
Change-Id: Ie4ffaf208745764262931501f0dff77b525a4e59
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2017569
Reviewed-by: Jett Rink <jettrink@chromium.org>
Diffstat (limited to 'driver/usb_mux')
-rw-r--r-- | driver/usb_mux/amd_fp5.c | 33 | ||||
-rw-r--r-- | driver/usb_mux/anx7440.c | 12 | ||||
-rw-r--r-- | driver/usb_mux/it5205.c | 14 | ||||
-rw-r--r-- | driver/usb_mux/pi3usb3x532.c | 12 | ||||
-rw-r--r-- | driver/usb_mux/ps874x.c | 12 | ||||
-rw-r--r-- | driver/usb_mux/usb_mux.c | 19 |
6 files changed, 53 insertions, 49 deletions
diff --git a/driver/usb_mux/amd_fp5.c b/driver/usb_mux/amd_fp5.c index a2c9ad68fb..3258552b49 100644 --- a/driver/usb_mux/amd_fp5.c +++ b/driver/usb_mux/amd_fp5.c @@ -48,18 +48,19 @@ static int amd_fp5_set_mux(int port, mux_state_t mux_state) * it because a powered down MUX is off. */ if (chipset_in_state(CHIPSET_STATE_HARD_OFF)) - return (mux_state == TYPEC_MUX_NONE) + return (mux_state == USB_PD_MUX_NONE) ? EC_SUCCESS : EC_ERROR_NOT_POWERED; - if ((mux_state & MUX_USB_ENABLED) && (mux_state & MUX_DP_ENABLED)) - val = (mux_state & MUX_POLARITY_INVERTED) + if ((mux_state & USB_PD_MUX_USB_ENABLED) && + (mux_state & USB_PD_MUX_DP_ENABLED)) + val = (mux_state & USB_PD_MUX_POLARITY_INVERTED) ? AMD_FP5_MUX_DOCK_INVERTED : AMD_FP5_MUX_DOCK; - else if (mux_state & MUX_USB_ENABLED) - val = (mux_state & MUX_POLARITY_INVERTED) + else if (mux_state & USB_PD_MUX_USB_ENABLED) + val = (mux_state & USB_PD_MUX_POLARITY_INVERTED) ? AMD_FP5_MUX_USB_INVERTED : AMD_FP5_MUX_USB; - else if (mux_state & MUX_DP_ENABLED) - val = (mux_state & MUX_POLARITY_INVERTED) + else if (mux_state & USB_PD_MUX_DP_ENABLED) + val = (mux_state & USB_PD_MUX_POLARITY_INVERTED) ? AMD_FP5_MUX_DP_INVERTED : AMD_FP5_MUX_DP; return amd_fp5_mux_write(port, val); @@ -85,27 +86,29 @@ static int amd_fp5_get_mux(int port, mux_state_t *mux_state) switch (val) { case AMD_FP5_MUX_USB: - *mux_state = MUX_USB_ENABLED; + *mux_state = USB_PD_MUX_USB_ENABLED; break; case AMD_FP5_MUX_USB_INVERTED: - *mux_state = MUX_USB_ENABLED | MUX_POLARITY_INVERTED; + *mux_state = USB_PD_MUX_USB_ENABLED | + USB_PD_MUX_POLARITY_INVERTED; break; case AMD_FP5_MUX_DOCK: - *mux_state = MUX_USB_ENABLED | MUX_DP_ENABLED; + *mux_state = USB_PD_MUX_USB_ENABLED | USB_PD_MUX_DP_ENABLED; break; case AMD_FP5_MUX_DOCK_INVERTED: - *mux_state = MUX_USB_ENABLED | MUX_DP_ENABLED - | MUX_POLARITY_INVERTED; + *mux_state = USB_PD_MUX_USB_ENABLED | USB_PD_MUX_DP_ENABLED + | USB_PD_MUX_POLARITY_INVERTED; break; case AMD_FP5_MUX_DP: - *mux_state = MUX_DP_ENABLED; + *mux_state = USB_PD_MUX_DP_ENABLED; break; case AMD_FP5_MUX_DP_INVERTED: - *mux_state = MUX_DP_ENABLED | MUX_POLARITY_INVERTED; + *mux_state = USB_PD_MUX_DP_ENABLED | + USB_PD_MUX_POLARITY_INVERTED; break; case AMD_FP5_MUX_SAFE: default: - *mux_state = TYPEC_MUX_NONE; + *mux_state = USB_PD_MUX_NONE; break; } diff --git a/driver/usb_mux/anx7440.c b/driver/usb_mux/anx7440.c index ec02b8f90b..1c9633c536 100644 --- a/driver/usb_mux/anx7440.c +++ b/driver/usb_mux/anx7440.c @@ -68,11 +68,11 @@ static int anx7440_set_mux(int port, mux_state_t mux_state) return res; reg &= ~ANX7440_CHIP_CTRL_SW_OP_MODE_CLEAR; - if (mux_state & MUX_USB_ENABLED) + if (mux_state & USB_PD_MUX_USB_ENABLED) reg |= ANX7440_CHIP_CTRL_SW_OP_MODE_USB; - if (mux_state & MUX_DP_ENABLED) + if (mux_state & USB_PD_MUX_DP_ENABLED) reg |= ANX7440_CHIP_CTRL_SW_OP_MODE_DP; - if (mux_state & MUX_POLARITY_INVERTED) + if (mux_state & USB_PD_MUX_POLARITY_INVERTED) reg |= ANX7440_CHIP_CTRL_SW_FLIP; return anx7440_write(port, ANX7440_REG_CHIP_CTRL, reg); @@ -89,11 +89,11 @@ static int anx7440_get_mux(int port, mux_state_t *mux_state) return res; if (reg & ANX7440_CHIP_CTRL_OP_MODE_FINAL_USB) - *mux_state |= MUX_USB_ENABLED; + *mux_state |= USB_PD_MUX_USB_ENABLED; if (reg & ANX7440_CHIP_CTRL_OP_MODE_FINAL_DP) - *mux_state |= MUX_DP_ENABLED; + *mux_state |= USB_PD_MUX_DP_ENABLED; if (reg & ANX7440_CHIP_CTRL_FINAL_FLIP) - *mux_state |= MUX_POLARITY_INVERTED; + *mux_state |= USB_PD_MUX_POLARITY_INVERTED; return EC_SUCCESS; } diff --git a/driver/usb_mux/it5205.c b/driver/usb_mux/it5205.c index 9a6f71dade..e7911b80e3 100644 --- a/driver/usb_mux/it5205.c +++ b/driver/usb_mux/it5205.c @@ -12,7 +12,7 @@ #include "usb_mux.h" #include "util.h" -#define MUX_STATE_DP_USB_MASK (MUX_USB_ENABLED | MUX_DP_ENABLED) +#define MUX_STATE_DP_USB_MASK (USB_PD_MUX_USB_ENABLED | USB_PD_MUX_DP_ENABLED) static int it5205_read(int port, uint8_t reg, int *val) { @@ -63,10 +63,10 @@ static int it5205_set_mux(int port, mux_state_t mux_state) uint8_t reg; switch (mux_state & MUX_STATE_DP_USB_MASK) { - case MUX_USB_ENABLED: + case USB_PD_MUX_USB_ENABLED: reg = IT5205_USB; break; - case MUX_DP_ENABLED: + case USB_PD_MUX_DP_ENABLED: reg = IT5205_DP; break; case MUX_STATE_DP_USB_MASK: @@ -77,7 +77,7 @@ static int it5205_set_mux(int port, mux_state_t mux_state) break; } - if (mux_state & MUX_POLARITY_INVERTED) + if (mux_state & USB_PD_MUX_POLARITY_INVERTED) reg |= IT5205_POLARITY_INVERTED; return it5205_write(port, IT5205_REG_MUXCR, reg); @@ -94,10 +94,10 @@ static int it5205_get_mux(int port, mux_state_t *mux_state) switch (reg & IT5205_DP_USB_CTRL_MASK) { case IT5205_USB: - *mux_state = MUX_USB_ENABLED; + *mux_state = USB_PD_MUX_USB_ENABLED; break; case IT5205_DP: - *mux_state = MUX_DP_ENABLED; + *mux_state = USB_PD_MUX_DP_ENABLED; break; case IT5205_DP_USB: *mux_state = MUX_STATE_DP_USB_MASK; @@ -108,7 +108,7 @@ static int it5205_get_mux(int port, mux_state_t *mux_state) } if (reg & IT5205_POLARITY_INVERTED) - *mux_state |= MUX_POLARITY_INVERTED; + *mux_state |= USB_PD_MUX_POLARITY_INVERTED; return EC_SUCCESS; } diff --git a/driver/usb_mux/pi3usb3x532.c b/driver/usb_mux/pi3usb3x532.c index 2d69f4c647..bf6d1f5a01 100644 --- a/driver/usb_mux/pi3usb3x532.c +++ b/driver/usb_mux/pi3usb3x532.c @@ -71,11 +71,11 @@ static int pi3usb3x532_set_mux(int port, mux_state_t mux_state) { uint8_t reg = 0; - if (mux_state & MUX_USB_ENABLED) + if (mux_state & USB_PD_MUX_USB_ENABLED) reg |= PI3USB3X532_MODE_USB; - if (mux_state & MUX_DP_ENABLED) + if (mux_state & USB_PD_MUX_DP_ENABLED) reg |= PI3USB3X532_MODE_DP; - if (mux_state & MUX_POLARITY_INVERTED) + if (mux_state & USB_PD_MUX_POLARITY_INVERTED) reg |= PI3USB3X532_BIT_SWAP; return pi3usb3x532_write(port, PI3USB3X532_REG_CONTROL, @@ -94,11 +94,11 @@ static int pi3usb3x532_get_mux(int port, mux_state_t *mux_state) return res; if (reg & PI3USB3X532_MODE_USB) - *mux_state |= MUX_USB_ENABLED; + *mux_state |= USB_PD_MUX_USB_ENABLED; if (reg & PI3USB3X532_MODE_DP) - *mux_state |= MUX_DP_ENABLED; + *mux_state |= USB_PD_MUX_DP_ENABLED; if (reg & PI3USB3X532_BIT_SWAP) - *mux_state |= MUX_POLARITY_INVERTED; + *mux_state |= USB_PD_MUX_POLARITY_INVERTED; return EC_SUCCESS; } diff --git a/driver/usb_mux/ps874x.c b/driver/usb_mux/ps874x.c index db13180c1c..08f526d28a 100644 --- a/driver/usb_mux/ps874x.c +++ b/driver/usb_mux/ps874x.c @@ -78,11 +78,11 @@ static int ps874x_set_mux(int port, mux_state_t mux_state) { uint8_t reg = 0; - if (mux_state & MUX_USB_ENABLED) + if (mux_state & USB_PD_MUX_USB_ENABLED) reg |= PS874X_MODE_USB_ENABLED; - if (mux_state & MUX_DP_ENABLED) + if (mux_state & USB_PD_MUX_DP_ENABLED) reg |= PS874X_MODE_DP_ENABLED; - if (mux_state & MUX_POLARITY_INVERTED) + if (mux_state & USB_PD_MUX_POLARITY_INVERTED) reg |= PS874X_MODE_POLARITY_INVERTED; return ps874x_write(port, PS874X_REG_MODE, reg); @@ -100,11 +100,11 @@ static int ps874x_get_mux(int port, mux_state_t *mux_state) *mux_state = 0; if (reg & PS874X_STATUS_USB_ENABLED) - *mux_state |= MUX_USB_ENABLED; + *mux_state |= USB_PD_MUX_USB_ENABLED; if (reg & PS874X_STATUS_DP_ENABLED) - *mux_state |= MUX_DP_ENABLED; + *mux_state |= USB_PD_MUX_DP_ENABLED; if (reg & PS874X_STATUS_POLARITY_INVERTED) - *mux_state |= MUX_POLARITY_INVERTED; + *mux_state |= USB_PD_MUX_POLARITY_INVERTED; return EC_SUCCESS; } diff --git a/driver/usb_mux/usb_mux.c b/driver/usb_mux/usb_mux.c index e7849738bb..f38f153000 100644 --- a/driver/usb_mux/usb_mux.c +++ b/driver/usb_mux/usb_mux.c @@ -151,12 +151,13 @@ void usb_mux_init(int port) * TODO(crbug.com/505480): Setting muxes often involves I2C transcations, * which can block. Consider implementing an asynchronous task. */ -void usb_mux_set(int port, enum typec_mux mux_mode, +void usb_mux_set(int port, mux_state_t mux_mode, enum usb_switch usb_mode, int polarity) { mux_state_t mux_state; const int should_enter_low_power_mode = - mux_mode == TYPEC_MUX_NONE && usb_mode == USB_SWITCH_DISCONNECT; + (mux_mode == USB_PD_MUX_NONE && + usb_mode == USB_SWITCH_DISCONNECT); /* Configure USB2.0 */ if (IS_ENABLED(CONFIG_USB_CHARGER)) @@ -173,8 +174,8 @@ void usb_mux_set(int port, enum typec_mux mux_mode, exit_low_power_mode(port); /* Configure superspeed lanes */ - mux_state = ((mux_mode != TYPEC_MUX_NONE) && polarity) - ? mux_mode | MUX_POLARITY_INVERTED + mux_state = ((mux_mode != USB_PD_MUX_NONE) && polarity) + ? mux_mode | USB_PD_MUX_POLARITY_INVERTED : mux_mode; if (configure_mux(port, USB_MUX_SET_MODE, &mux_state)) @@ -214,10 +215,10 @@ void usb_mux_flip(int port) if (configure_mux(port, USB_MUX_GET_MODE, &mux_state)) return; - if (mux_state & MUX_POLARITY_INVERTED) - mux_state &= ~MUX_POLARITY_INVERTED; + if (mux_state & USB_PD_MUX_POLARITY_INVERTED) + mux_state &= ~USB_PD_MUX_POLARITY_INVERTED; else - mux_state |= MUX_POLARITY_INVERTED; + mux_state |= USB_PD_MUX_POLARITY_INVERTED; configure_mux(port, USB_MUX_SET_MODE, &mux_state); } @@ -243,7 +244,7 @@ static int command_typec(int argc, char **argv) const char * const mux_name[] = {"none", "usb", "dp", "dock"}; char *e; int port; - enum typec_mux mux = TYPEC_MUX_NONE; + mux_state_t mux = USB_PD_MUX_NONE; int i; if (argc == 2 && !strcasecmp(argv[1], "debug")) { @@ -279,7 +280,7 @@ static int command_typec(int argc, char **argv) for (i = 0; i < ARRAY_SIZE(mux_name); i++) if (!strcasecmp(argv[2], mux_name[i])) mux = i; - usb_mux_set(port, mux, mux == TYPEC_MUX_NONE ? + usb_mux_set(port, mux, mux == USB_PD_MUX_NONE ? USB_SWITCH_DISCONNECT : USB_SWITCH_CONNECT, pd_get_polarity(port)); |