lkml.org 
[lkml]   [2022]   [Mar]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.16 02/27] arm64: dts: rockchip: fix rk3399-puma-haikou USB OTG mode
    Date
    From: Quentin Schulz <quentin.schulz@theobroma-systems.com>

    [ Upstream commit ed2c66a95c0c5669880aa93d0d34c6e9694b4cbd ]

    The micro USB3.0 port available on the Haikou evaluation kit for Puma
    RK3399-Q7 SoM supports dual-role model (aka drd or OTG) but its support
    was broken until now because of missing logic around the ID pin.

    This adds proper support for USB OTG on Puma Haikou by "connecting" the
    GPIO used for USB ID to the USB3 controller device.

    Cc: Quentin Schulz <foss+kernel@0leil.net>
    Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
    Link: https://lore.kernel.org/r/20220120125156.16217-1-quentin.schulz@theobroma-systems.com
    Signed-off-by: Heiko Stuebner <heiko@sntech.de>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    .../arm64/boot/dts/rockchip/rk3399-puma-haikou.dts | 1 +
    arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi | 14 ++++++++++++++
    2 files changed, 15 insertions(+)

    diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
    index 292bb7e80cf3..3ae5d727e367 100644
    --- a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
    +++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
    @@ -232,6 +232,7 @@ &usbdrd3_0 {

    &usbdrd_dwc3_0 {
    dr_mode = "otg";
    + extcon = <&extcon_usb3>;
    status = "okay";
    };

    diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
    index fb67db4619ea..002ece51c3ba 100644
    --- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
    +++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
    @@ -25,6 +25,13 @@ module_led: led-0 {
    };
    };

    + extcon_usb3: extcon-usb3 {
    + compatible = "linux,extcon-usb-gpio";
    + id-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
    + pinctrl-names = "default";
    + pinctrl-0 = <&usb3_id>;
    + };
    +
    clkin_gmac: external-gmac-clock {
    compatible = "fixed-clock";
    clock-frequency = <125000000>;
    @@ -422,6 +429,13 @@ vcc5v0_host_en: vcc5v0-host-en {
    <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
    };
    };
    +
    + usb3 {
    + usb3_id: usb3-id {
    + rockchip,pins =
    + <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
    + };
    + };
    };

    &sdhci {
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-03-09 17:32    [W:2.564 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site