Received: by 2002:a05:7412:bbc7:b0:fc:a2b0:25d7 with SMTP id kh7csp3004550rdb; Tue, 6 Feb 2024 04:36:29 -0800 (PST) X-Google-Smtp-Source: AGHT+IHBQKIgkv9hUlxhKHkZvZx+tSNbLslAt/VFYSu3V756DE6vwgaJ7B9rHlKBckzzS0H9hqOu X-Received: by 2002:a05:6a21:3383:b0:19e:3c51:7d37 with SMTP id yy3-20020a056a21338300b0019e3c517d37mr1553642pzb.8.1707222989454; Tue, 06 Feb 2024 04:36:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707222989; cv=pass; d=google.com; s=arc-20160816; b=sm/9ZPCzk01pyFzdOAsHR8MQlzQELb+Ze4rAmzZUXE4I75zut3fs2rhNkgp3IC/Xn7 JDXbw8jm+BypbSEn2iSpG+sGMCg5EQvhbzF0S0SewyGWfb4w/nehHi8FZ6nP3Omt8P5Y Pw+zX0aXQB3I5gLGsDgb2rNov8hiROT2BxvYPr0RbD99ADRDHT0yzTNqgb3IcgQCEfH+ 9ngg2+GyqQflMECEor/K+mQVbMgwWGU0xwDs8NmRTCgyu/lCYn72OiDAsEXBH84HCIcR 0etfAZrb2AYcYs8CfbbrET7nyOHzPE4Sbne7sJO3Yf0zO38ddezOp6KMbLfU7Ybrb1/6 aFgg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=pLQkj2FOBfdq9dVAU1yx66MD4vlLrkMQw+xOqwFgcf4=; fh=ywKUO5Wx/BQ7lHEMQs87jBSCyG+DhfEQ/e0hKdPx2Eo=; b=Y/cXZwTUlhsLIX+qpHGUAiJxV3tHgMEg3KPBFxn7BzRqM9EH4ZnSYTSbUx16pKUyCf yWAM2xM3AGyvvHHujz5PfJbbwpV2bHvMgQdoUd+D4d67Uwe114wvXlHFV2YX/kleFBk5 kRdctwr2o6UexZLB9KS2nO5HPgWN0jWNzDN/QmauMv2wHTyICK5P08StxN+lWt9Tw1Xm zsPRrJHIlYbgBNBIjxYKS805lkI9M2lCWCCEy8GSWPgUh/CKmvW1CL7OTnsIJaRLDxav dd5orD8qeszQLR1n4HfwXrdbMm44fheHyjAFE1koSACEqycRb21KT5ZzGs9g77A4G7P8 VSYA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=BfpTuINo; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-54955-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-54955-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org X-Forwarded-Encrypted: i=1; AJvYcCWGsa/alXYJqWtt/JRw7qo4LzSD/daOLCRCa1MJBkDXAPSgevE6RRmSOWeeeuxsQY+PlhvfU/xsStaQZ4zxccQOmkRMTgJEqUWQh77Evw== Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id e8-20020a63f548000000b005d674a9a40fsi1594783pgk.507.2024.02.06.04.36.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Feb 2024 04:36:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-54955-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=BfpTuINo; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-54955-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-54955-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 1A7EB289D3F for ; Tue, 6 Feb 2024 12:36:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 701BD130E32; Tue, 6 Feb 2024 12:30:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BfpTuINo" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64E08130E23; Tue, 6 Feb 2024 12:30:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707222640; cv=none; b=J1hGiRh10dlmHYPB0seacAsV+HZVwUP0dA9v5IFUXIbh/K0jOtT6aIZq8yZaMGZhX/ec7AYaDOffo0oHcHZ/d1ZU+Y8jjpaU09L4V6ihf1Dn7oBh02A0JI6bOPYUTTK4KHCQWvQVnReqP+wOYBBQtV04K7eKUpOuTEvQIbwgDQE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707222640; c=relaxed/simple; bh=fp1krD3CaAX4x2R0HgH+ZVyeqsHf+DF1fQf+NS8L+6k=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=iLeBPPmVN2yRvmVjWMZaK95xRBjfilZsHbXHlz9jvf6MHEoQbnxWxmAjp0jDPxTppYGF/EuGVdSgd2QIiQ6Ka+nLVxsMMf1is+o7R+LumReYrsmtCGgHS8B+Dno8kau6tEYXyfLmSLWXaA8OiuCb8DS/3YxgidYHFaifYQW4USw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BfpTuINo; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 33804C433F1; Tue, 6 Feb 2024 12:30:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1707222640; bh=fp1krD3CaAX4x2R0HgH+ZVyeqsHf+DF1fQf+NS8L+6k=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=BfpTuINoWOuQyDXML2TvvJwR+5x1M7SkTgQSROHDUBsKozouvEWPTc03lCQKuwlWF bwVy8AkblYUlBTSFA3uxECXQU8YtLUQj13WFww2stAKPSmaRj41YoW8p8rTgKhRriG PlJqD6mcK64mH4q3d7o74JXhnt+36FMTg01ehGjzrmnsHplIqrtcNqtyNithYU8eJq 6AbiaxOrFQpETdDe/KaZny7toa0GBQ4JVMpMePFasGPlIq61onaGcp0RAdH9puYpJi HwtjjFt1nqchiDoT7/zpwsesfm8CVffefWe4bFTQpWtp14J85U5WVrl4zEcmP7K/dy D1QJjPR/ELx0g== Message-ID: <77f7b127-e609-45e3-90aa-67aa7838ce6b@kernel.org> Date: Tue, 6 Feb 2024 14:30:33 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 3/3] arm64: dts: ti: k3-am62p: add the USB sub-system Content-Language: en-US To: Andrew Davis , nm@ti.com, vigneshr@ti.com Cc: kristo@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org, srk@ti.com, r-gunasekaran@ti.com, b-liu@ti.com, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20240205135908.54656-1-rogerq@kernel.org> <20240205135908.54656-4-rogerq@kernel.org> <45a0ed98-8dd2-4c5b-8e89-40c70e3fe831@ti.com> From: Roger Quadros In-Reply-To: <45a0ed98-8dd2-4c5b-8e89-40c70e3fe831@ti.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On 05/02/2024 19:34, Andrew Davis wrote: > On 2/5/24 7:59 AM, Roger Quadros wrote: >> There are two USB instances available on the am62p5 starter kit. Include >> and enable them for use on the board. >> >> Signed-off-by: Vignesh Raghavendra >> Signed-off-by: Roger Quadros >> --- >> >> Notes: >>      Changelog: >>           v4 - no change >>           v3 - no change >>      https://lore.kernel.org/all/20240201120332.4811-4-rogerq@kernel.org/ >>           v2: >>      - added USB PHY CTRL node changes here >>      - changed USB wrapper node names to usb@ >>      - changed Type-C chip node name to usb-power-control@ >> >>   arch/arm64/boot/dts/ti/k3-am62p-main.dtsi   | 46 ++++++++++++++ >>   arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi | 10 +++ >>   arch/arm64/boot/dts/ti/k3-am62p5-sk.dts     | 67 +++++++++++++++++++++ >>   3 files changed, 123 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi >> index 4c51bae06b57..17d28390d587 100644 >> --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi >> +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi >> @@ -560,6 +560,52 @@ sdhci2: mmc@fa20000 { >>           status = "disabled"; >>       }; >>   +    usbss0: usb@f900000 { >> +        compatible = "ti,am62-usb"; >> +        reg = <0x00 0x0f900000 0x00 0x800>; >> +        clocks = <&k3_clks 161 3>; >> +        clock-names = "ref"; >> +        ti,syscon-phy-pll-refclk = <&usb0_phy_ctrl 0x0>; >> +        #address-cells = <2>; >> +        #size-cells = <2>; >> +        power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>; >> +        ranges; >> +        status = "disabled"; >> + >> +        usb0: usb@31000000 { >> +            compatible = "snps,dwc3"; >> +            reg = <0x00 0x31000000 0x00 0x50000>; >> +            interrupts = , /* irq.0 */ >> +            ; /* irq.0 */ >> +            interrupt-names = "host", "peripheral"; >> +            maximum-speed = "high-speed"; >> +            dr_mode = "otg"; >> +        }; >> +    }; >> + >> +    usbss1: usb@f910000 { >> +        compatible = "ti,am62-usb"; >> +        reg = <0x00 0x0f910000 0x00 0x800>; >> +        clocks = <&k3_clks 162 3>; >> +        clock-names = "ref"; >> +        ti,syscon-phy-pll-refclk = <&usb1_phy_ctrl 0x0>; >> +        #address-cells = <2>; >> +        #size-cells = <2>; >> +        power-domains = <&k3_pds 179 TI_SCI_PD_EXCLUSIVE>; >> +        ranges; >> +        status = "disabled"; >> + >> +        usb1: usb@31100000 { >> +            compatible = "snps,dwc3"; >> +            reg = <0x00 0x31100000 0x00 0x50000>; >> +            interrupts = , /* irq.0 */ >> +            ; /* irq.0 */ >> +            interrupt-names = "host", "peripheral"; >> +            maximum-speed = "high-speed"; >> +            dr_mode = "otg"; >> +        }; >> +    }; >> + >>       fss: bus@fc00000 { >>           compatible = "simple-bus"; >>           reg = <0x00 0x0fc00000 0x00 0x70000>; >> diff --git a/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi >> index 19f42b39394e..00dd38b02a52 100644 >> --- a/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi >> +++ b/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi >> @@ -18,6 +18,16 @@ chipid: chipid@14 { >>               reg = <0x14 0x4>; >>               bootph-all; >>           }; >> + >> +        usb0_phy_ctrl: syscon@4008 { >> +            compatible = "ti,am62-usb-phy-ctrl", "syscon"; >> +            reg = <0x4008 0x4>; >> +        }; >> + >> +        usb1_phy_ctrl: syscon@4018 { >> +            compatible = "ti,am62-usb-phy-ctrl", "syscon"; >> +            reg = <0x4018 0x4>; >> +        }; >>       }; >>         wkup_uart0: serial@2b300000 { >> diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts >> index 1773c05f752c..80be56c0a4e0 100644 >> --- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts >> +++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts >> @@ -27,6 +27,8 @@ aliases { >>           spi0 = &ospi0; >>           ethernet0 = &cpsw_port1; >>           ethernet1 = &cpsw_port2; >> +        usb0 = &usb0; >> +        usb1 = &usb1; >>       }; >>         chosen { >> @@ -297,6 +299,12 @@ AM62PX_IOPAD(0x01b0, PIN_OUTPUT, 2) /* (G20) MCASP0_ACLKR.UART1_TXD */ >>           bootph-all; >>       }; >>   +    main_usb1_pins_default: main-usb1-default-pins { >> +        pinctrl-single,pins = < >> +            AM62PX_IOPAD(0x0258, PIN_INPUT, 0) /* (G21) USB1_DRVVBUS */ >> +        >; >> +    }; >> + >>       main_wlirq_pins_default: main-wlirq-default-pins { >>           pinctrl-single,pins = < >>               AM62PX_IOPAD(0x0128, PIN_INPUT, 7) /* (K25) MMC2_SDWP.GPIO0_72 */ >> @@ -340,6 +348,36 @@ AM62PX_IOPAD(0x0124, PIN_INPUT, 7) /* (J25) MMC2_SDCD.GPIO0_71 */ >>       }; >>   }; >>   +&main_i2c0 { >> +    status = "okay"; >> +    pinctrl-names = "default"; >> +    pinctrl-0 = <&main_i2c0_pins_default>; >> +    clock-frequency = <400000>; >> + >> +    typec_pd0: usb-power-controller@3f { >> +        compatible = "ti,tps6598x"; >> +        reg = <0x3f>; >> + >> +        connector { >> +            compatible = "usb-c-connector"; >> +            label = "USB-C"; >> +            self-powered; >> +            data-role = "dual"; >> +            power-role = "sink"; >> +            ports { >> +                #address-cells = <1>; >> +                #size-cells = <0>; >> +                port@0 { >> +                    reg = <0>; >> +                    usb_con_hs: endpoint { >> +                        remote-endpoint = <&usb0_hs_ep>; >> +                    }; >> +                }; >> +            }; >> +        }; >> +    }; >> +}; >> + >>   &main_i2c1 { >>       status = "okay"; >>       pinctrl-names = "default"; >> @@ -460,6 +498,35 @@ cpsw3g_phy1: ethernet-phy@1 { >>       }; >>   }; >>   +&usbss0 { >> +    status = "okay"; >> +    ti,vbus-divider; >> +}; >> + >> +&usbss1 { >> +    status = "okay"; >> +    ti,vbus-divider; >> +}; >> + >> +&usb0 { >> +    usb-role-switch; >> +    #address-cells = <1>; >> +    #size-cells = <0>; >> + >> +    port@0 { >> +        reg = <0>; >> +        usb0_hs_ep: endpoint { >> +            remote-endpoint = <&usb_con_hs>; >> +        }; >> +    }; >> +}; >> + >> +&usb1 { >> +    dr_mode = "host"; >> +    pinctrl-names = "default"; >> +    pinctrl-0 = <&main_usb1_pins_default>; > > I'm not super familiar with USB, but I see this pinmux for the > "DRVVBUS" pin is usually added the the parent USB subsystem node (usbss). > Does this pin belong to the subsystem or the specific USB instance? > There is only 1 USB instance per USB sub-system. The "DRVVBUS" pin is a control signal to enable the VBUS regulator while in host mode. Just probing the usbss1 driver has no use of "DRVVBUS". I think usb1 is the right place as it is used there. > Andrew > >> +}; >> + >>   &mcasp1 { >>       status = "okay"; >>       #sound-dai-cells = <0>; -- cheers, -roger