lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 059/453] ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
    Date
    From: Krzysztof Kozlowski <krzk@kernel.org>

    commit 3d992fd8f4e0f09c980726308d2f2725587b32d6 upstream.

    The VBUS control (PWREN) and over-current pins of USB 3.0 DWC3
    controllers are on Exynos5410 regular GPIOs. This is different than for
    example on Exynos5422 where these are special ETC pins with proper reset
    values (pulls, functions).

    Therefore these pins should be configured to enable proper USB 3.0
    peripheral and host modes. This also fixes over-current warning:

    [ 6.024658] usb usb4-port1: over-current condition
    [ 6.028271] usb usb3-port1: over-current condition

    Fixes: cb0896562228 ("ARM: dts: exynos: Add USB to Exynos5410")
    Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20201015182044.480562-2-krzk@kernel.org
    Tested-by: Gabriel Ribba Esteva <gabriel.ribbae@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/arm/boot/dts/exynos5410-pinctrl.dtsi | 28 ++++++++++++++++++++++++++++
    arch/arm/boot/dts/exynos5410.dtsi | 4 ++++
    2 files changed, 32 insertions(+)

    --- a/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
    +++ b/arch/arm/boot/dts/exynos5410-pinctrl.dtsi
    @@ -560,6 +560,34 @@
    interrupt-controller;
    #interrupt-cells = <2>;
    };
    +
    + usb3_1_oc: usb3-1-oc {
    + samsung,pins = "gpk2-4", "gpk2-5";
    + samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
    + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
    + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    + };
    +
    + usb3_1_vbusctrl: usb3-1-vbusctrl {
    + samsung,pins = "gpk2-6", "gpk2-7";
    + samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
    + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
    + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    + };
    +
    + usb3_0_oc: usb3-0-oc {
    + samsung,pins = "gpk3-0", "gpk3-1";
    + samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
    + samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
    + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    + };
    +
    + usb3_0_vbusctrl: usb3-0-vbusctrl {
    + samsung,pins = "gpk3-2", "gpk3-3";
    + samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
    + samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
    + samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
    + };
    };

    &pinctrl_2 {
    --- a/arch/arm/boot/dts/exynos5410.dtsi
    +++ b/arch/arm/boot/dts/exynos5410.dtsi
    @@ -398,6 +398,8 @@
    &usbdrd3_0 {
    clocks = <&clock CLK_USBD300>;
    clock-names = "usbdrd30";
    + pinctrl-names = "default";
    + pinctrl-0 = <&usb3_0_oc>, <&usb3_0_vbusctrl>;
    };

    &usbdrd_phy0 {
    @@ -409,6 +411,8 @@
    &usbdrd3_1 {
    clocks = <&clock CLK_USBD301>;
    clock-names = "usbdrd30";
    + pinctrl-names = "default";
    + pinctrl-0 = <&usb3_1_oc>, <&usb3_1_vbusctrl>;
    };

    &usbdrd_dwc3_1 {

    \
     
     \ /
      Last update: 2020-12-28 14:41    [W:2.418 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site