diff --git a/qcom/sdxlemur-rumi.dtsi b/qcom/sdxlemur-rumi.dtsi index 1f639289cdad..e9849a017bdd 100644 --- a/qcom/sdxlemur-rumi.dtsi +++ b/qcom/sdxlemur-rumi.dtsi @@ -6,5 +6,28 @@ timer@17820000 { clock-frequency = <96000>; }; + + usb_emu_phy_0: usb_emu_phy@a720000 { + compatible = "qcom,usb-emu-phy"; + reg = <0x0a720000 0x9500>; + + qcom,emu-init-seq = <0xfffdf 0x4 + 0xfffd0 0x4 + 0x100000 0x20 + 0x0 0x20 + 0x101f0 0x20 + 0x100000 0x3c + 0x0 0x3c + 0x10060 0x3c + 0x0 0x4>; + }; + }; +&usb { + dwc3@a600000 { + usb-phy = <&usb_emu_phy_0>, <&usb_nop_phy>; + maximum-speed = "high-speed"; + dr_mode = "peripheral"; + }; +}; diff --git a/qcom/sdxlemur-usb.dtsi b/qcom/sdxlemur-usb.dtsi new file mode 100644 index 000000000000..3fdb65c81fcd --- /dev/null +++ b/qcom/sdxlemur-usb.dtsi @@ -0,0 +1,59 @@ +&soc { + usb: ssusb@a600000 { + compatible = "qcom,dwc-usb3-msm"; + reg = <0x0a600000 0x100000>; + reg-names = "core_base"; + + #address-cells = <1>; + #size-cells = <1>; + ranges; + + interrupts = <0 130 0>; + interrupt-names = "pwr_event_irq"; + + USB3_GDSC-supply = <&gcc_usb30_gdsc>; + clocks = <&gcc GCC_USB30_MASTER_CLK>, + <&gcc GCC_USB30_SLV_AHB_CLK>, + <&gcc GCC_USB30_MSTR_AXI_CLK>, + <&gcc GCC_USB30_MOCK_UTMI_CLK>, + <&gcc GCC_USB30_SLEEP_CLK>, + <&gcc GCC_USB3_PRIM_CLKREF_EN>; + clock-names = "core_clk", "iface_clk", "bus_aggr_clk", + "utmi_clk", "sleep_clk", "xo"; + + resets = <&gcc GCC_USB30_BCR>; + reset-names = "core_reset"; + + qcom,core-clk-rate = <200000000>; + qcom,core-clk-rate-hs = <66666667>; + qcom,num-gsi-evt-buffs = <0x3>; + qcom,gsi-reg-offset = + <0x0fc /* GSI_GENERAL_CFG */ + 0x208 /* GSI_DBL_ADDR_L */ + 0x224 /* GSI_DBL_ADDR_H */ + 0x240 /* GSI_RING_BASE_ADDR_L */ + 0x25c /* GSI_RING_BASE_ADDR_H */ + 0x1a4>; /* GSI_IF_STS */ + qcom,dwc-usb3-msm-tx-fifo-size = <27696>; + + dwc3@a600000 { + compatible = "snps,dwc3"; + reg = <0x0a600000 0xcd00>; + interrupts = ; + linux,sysdev_is_parent; + snps,disable-clk-gating; + snps,has-lpm-erratum; + snps,hird-threshold = /bits/ 8 <0x10>; + snps,ssp-u3-u0-quirk; + snps,usb3-u1u2-disable; + tx-fifo-resize; + maximum-speed = "super-speed-plus"; + dr_mode = "otg"; + snps,xhci-imod-value = <4000>; + }; + }; + + usb_nop_phy: usb_nop_phy { + compatible = "usb-nop-xceiv"; + }; +}; diff --git a/qcom/sdxlemur.dtsi b/qcom/sdxlemur.dtsi index bfe1304ce75d..480baa2e1533 100644 --- a/qcom/sdxlemur.dtsi +++ b/qcom/sdxlemur.dtsi @@ -286,3 +286,4 @@ #include "sdxlemur-pinctrl.dtsi" #include "sdxlemur-stub-regulator.dtsi" +#include "sdxlemur-usb.dtsi"