Skip to content

Commit 7eb8414

Browse files
arm64: dts: qcom: Add USB changes for Shikra
Add usb related changes on Shikra specifically: a) Primary controller node b) Primary high speed phy c) QMP Phy for super speed operation Signed-off-by: Krishna Kurapati <krishna.kurapati@oss.qualcomm.com>
1 parent 16980ad commit 7eb8414

3 files changed

Lines changed: 182 additions & 0 deletions

File tree

arch/arm64/boot/dts/qcom/shikra-cqm-som.dtsi

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,24 @@
137137
};
138138
};
139139
};
140+
141+
&usb_1 {
142+
dr_mode = "peripheral";
143+
144+
status = "okay";
145+
};
146+
147+
&usb_1_hsphy {
148+
vdd-supply = <&pm4125_l12>;
149+
vdda-pll-supply = <&pm4125_l13>;
150+
vdda-phy-dpdm-supply = <&pm4125_l21>;
151+
152+
status = "okay";
153+
};
154+
155+
&usb_qmpphy {
156+
vdda-phy-supply = <&pm4125_l8>;
157+
vdda-pll-supply = <&pm4125_l13>;
158+
159+
status = "okay";
160+
};

arch/arm64/boot/dts/qcom/shikra-cqs-som.dtsi

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,24 @@
137137
};
138138
};
139139
};
140+
141+
&usb_1 {
142+
dr_mode = "peripheral";
143+
144+
status = "okay";
145+
};
146+
147+
&usb_1_hsphy {
148+
vdd-supply = <&pm4125_l12>;
149+
vdda-pll-supply = <&pm4125_l13>;
150+
vdda-phy-dpdm-supply = <&pm4125_l21>;
151+
152+
status = "okay";
153+
};
154+
155+
&usb_qmpphy {
156+
vdda-phy-supply = <&pm4125_l8>;
157+
vdda-pll-supply = <&pm4125_l13>;
158+
159+
status = "okay";
160+
};

arch/arm64/boot/dts/qcom/shikra.dtsi

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,70 @@
390390
#power-domain-cells = <1>;
391391
};
392392

393+
usb_1_hsphy: phy@1613000 {
394+
compatible = "qcom,shikra-qusb2-phy";
395+
reg = <0x0 0x01613000 0x0 0x180>;
396+
397+
clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
398+
<&rpmcc RPM_SMD_XO_CLK_SRC>;
399+
clock-names = "cfg_ahb", "ref";
400+
401+
resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
402+
nvmem-cells = <&qusb2_hstx_trim_1>;
403+
#phy-cells = <0>;
404+
405+
status = "disabled";
406+
};
407+
408+
usb_qmpphy: phy@1615000 {
409+
compatible = "qcom,shikra-qmp-usb3-phy";
410+
reg = <0x0 0x01615000 0x0 0x1000>;
411+
412+
clocks = <&gcc GCC_AHB2PHY_USB_CLK>,
413+
<&gcc GCC_USB3_PRIM_CLKREF_EN>,
414+
<&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
415+
<&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
416+
clock-names = "cfg_ahb",
417+
"ref",
418+
"com_aux",
419+
"pipe";
420+
421+
resets = <&gcc GCC_USB3_PHY_PRIM_SP0_BCR>,
422+
<&gcc GCC_USB3PHY_PHY_PRIM_SP0_BCR>;
423+
reset-names = "phy",
424+
"phy_phy";
425+
426+
#clock-cells = <0>;
427+
clock-output-names = "usb3_phy_pipe_clk_src";
428+
429+
#phy-cells = <0>;
430+
orientation-switch;
431+
432+
qcom,tcsr-reg = <&tcsr_regs 0xb244>;
433+
434+
status = "disabled";
435+
436+
ports {
437+
#address-cells = <1>;
438+
#size-cells = <0>;
439+
440+
port@0 {
441+
reg = <0>;
442+
443+
usb_qmpphy_out: endpoint {
444+
};
445+
};
446+
447+
port@1 {
448+
reg = <1>;
449+
450+
usb_qmpphy_usb_ss_in: endpoint {
451+
remote-endpoint = <&usb_1_dwc3_ss>;
452+
};
453+
};
454+
};
455+
};
456+
393457
system_noc: interconnect@1880000 {
394458
compatible = "qcom,shikra-sys-noc";
395459
reg = <0x0 0x01880000 0x0 0x6a080>;
@@ -436,6 +500,11 @@
436500
#address-cells = <1>;
437501
#size-cells = <1>;
438502

503+
qusb2_hstx_trim_1: hstx-trim@258 {
504+
reg = <0x25b 0x1>;
505+
bits = <1 4>;
506+
};
507+
439508
gpu_speed_bin: gpu-speed-bin@6006 {
440509
reg = <0x6006 0x2>;
441510
bits = <5 8>;
@@ -482,6 +551,77 @@
482551
reg = <0x0 0x04690000 0x0 0x14000>;
483552
};
484553

554+
usb_1: usb@4e00000 {
555+
compatible = "qcom,shikra-dwc3", "qcom,snps-dwc3";
556+
reg = <0x0 0x04e00000 0x0 0xfc100>;
557+
558+
clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
559+
<&gcc GCC_USB30_PRIM_MASTER_CLK>,
560+
<&gcc GCC_SYS_NOC_USB3_PRIM_AXI_CLK>,
561+
<&gcc GCC_USB30_PRIM_SLEEP_CLK>,
562+
<&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
563+
clock-names = "cfg_noc",
564+
"core",
565+
"iface",
566+
"sleep",
567+
"mock_utmi";
568+
569+
assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>,
570+
<&gcc GCC_USB30_PRIM_MASTER_CLK>;
571+
assigned-clock-rates = <19200000>, <133333333>;
572+
573+
interrupts-extended = <&intc GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>,
574+
<&intc GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH 0>,
575+
<&intc GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>,
576+
<&intc GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>;
577+
interrupt-names = "dwc_usb3",
578+
"pwr_event",
579+
"qusb2_phy",
580+
"ss_phy_irq";
581+
582+
iommus = <&apps_smmu 0x120 0x0>;
583+
584+
phys = <&usb_1_hsphy>, <&usb_qmpphy>;
585+
phy-names = "usb2-phy", "usb3-phy";
586+
587+
power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
588+
589+
resets = <&gcc GCC_USB30_PRIM_BCR>;
590+
591+
snps,dis_u2_susphy_quirk;
592+
snps,dis_enblslpm_quirk;
593+
snps,has-lpm-erratum;
594+
snps,hird-threshold = /bits/ 8 <0x10>;
595+
snps,usb3_lpm_capable;
596+
snps,parkmode-disable-ss-quirk;
597+
598+
usb-role-switch;
599+
600+
wakeup-source;
601+
602+
status = "disabled";
603+
604+
ports {
605+
#address-cells = <1>;
606+
#size-cells = <0>;
607+
608+
port@0 {
609+
reg = <0>;
610+
611+
usb_1_dwc3_hs: endpoint {
612+
};
613+
};
614+
615+
port@1 {
616+
reg = <1>;
617+
618+
usb_1_dwc3_ss: endpoint {
619+
remote-endpoint = <&usb_qmpphy_usb_ss_in>;
620+
};
621+
};
622+
};
623+
};
624+
485625
adreno_smmu: iommu@59a0000 {
486626
compatible = "qcom,shikra-smmu-500", "qcom,smmu-500", "arm,mmu-500";
487627
reg = <0x0 0x059a0000 0x0 0x10000>;

0 commit comments

Comments
 (0)