Re: [PATCH 2/2] arm64: dts: ti: k3-am62p: add the USB sub-system

From: Roger Quadros
Date: Tue Jan 30 2024 - 07:16:28 EST




On 26/01/2024 17:11, Krzysztof Kozlowski wrote:
> On 26/01/2024 13:59, Roger Quadros wrote:
>> From: Vignesh Raghavendra <vigneshr@xxxxxx>
>>
>> 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 <vigneshr@xxxxxx>
>> Signed-off-by: Roger Quadros <rogerq@xxxxxxxxxx>
>> ---
>> arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 46 ++++++++++++++++
>> arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 67 +++++++++++++++++++++++
>> 2 files changed, 113 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..7e7cd749d9a5 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: dwc3-usb@f900000 {
>
> usb@

OK.
>
>> + 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 = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
>> + <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */
>> + interrupt-names = "host", "peripheral";
>> + maximum-speed = "high-speed";
>> + dr_mode = "otg";
>> + };
>> + };
>> +
>> + usbss1: dwc3-usb@f910000 {
>
> usb@
>
>> + 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 = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
>> + <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; /* 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-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
>> index 1773c05f752c..7a16e7a8ac66 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: tps6598x@3f {
>
> Node names should be generic. See also an explanation and list of
> examples (not exhaustive) in DT specification:
> https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation
>

got it. Thanks!

>
>> + compatible = "ti,tps6598x";
>> + reg = <0x3f>;
>> +
>> + connector {
>> + compatible = "usb-c-connector";
>> + label = "USB-C";
>> + self-powered;
>> + data-role = "dual";
>> + power-role = "sink";
>> + ports {
>
>
> Best regards,
> Krzysztof
>

--
cheers,
-roger