Loading qcom/lagoon-rumi.dtsi +28 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,27 @@ timer@17c20000 { clock-frequency = <500000>; }; usb_emu_phy: usb_emu_phy@a720000 { compatible = "qcom,usb-emu-phy"; reg = <0x0a720000 0x9500>, <0x0a6f8800 0x100>; reg-names = "base", "qscratch_base"; qcom,emu-init-seq = <0xfff0 0x4 0xfff3 0x4 0x40 0x4 0xfff3 0x4 0xfff0 0x4 0x100000 0x20 0x0 0x20 0x1a0 0x20 0x100000 0x3c 0x0 0x3c 0x10060 0x3c 0x0 0x4>; }; }; &ufsphy_mem { Loading Loading @@ -41,3 +62,10 @@ &wdog { status = "disabled"; }; &usb0 { dwc3@a600000 { usb-phy = <&usb_emu_phy>, <&usb_nop_phy>; maximum-speed = "high-speed"; }; }; qcom/lagoon-usb.dtsi 0 → 100644 +123 −0 Original line number Diff line number Diff line #include <dt-bindings/clock/qcom,gcc-lagoon.h> #include <dt-bindings/msm/msm-bus-ids.h> &soc { usb0: ssusb@a600000 { compatible = "qcom,dwc-usb3-msm"; reg = <0x0a600000 0x200000>; reg-names = "core_base"; iommus = <&apps_smmu 0x540 0x0>; qcom,iommu-dma = "atomic"; qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>; #address-cells = <1>; #size-cells = <1>; ranges; interrupts = <0 494 0>, <0 130 0>, <0 497 0>, <0 495 0>; interrupt-names = "dp_hs_phy_irq", "pwr_event_irq", "ss_phy_irq", "dm_hs_phy_irq"; qcom,use-pdc-interrupts; USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>; clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>, <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, <&gcc GCC_USB30_PRIM_SLEEP_CLK>, <&gcc GCC_USB3_PRIM_CLKREF_CLK>; clock-names = "core_clk", "iface_clk", "bus_aggr_clk", "utmi_clk", "sleep_clk", "xo"; resets = <&gcc GCC_USB30_PRIM_BCR>; reset-names = "core_reset"; qcom,core-clk-rate = <133333333>; qcom,core-clk-rate-hs = <66666667>; qcom,num-gsi-evt-buffs = <0x3>; qcom,gsi-reg-offset = <0x0fc /* GSI_GENERAL_CFG */ 0x110 /* GSI_DBL_ADDR_L */ 0x120 /* GSI_DBL_ADDR_H */ 0x130 /* GSI_RING_BASE_ADDR_L */ 0x144 /* GSI_RING_BASE_ADDR_H */ 0x1a4>; /* GSI_IF_STS */ qcom,dwc-usb3-msm-tx-fifo-size = <21288>; qcom,msm-bus,name = "usb0"; qcom,msm-bus,num-cases = <4>; qcom,msm-bus,num-paths = <3>; qcom,msm-bus,vectors-KBps = /* suspend vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 0>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 0>, /* nominal vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 1000000 2500000>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, /* svs vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 240000 700000>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, /* min vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 1 1>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 1 1>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 1 1>; qcom,default-bus-vote = <2>; /* use svs bus voting */ dwc3@a600000 { compatible = "snps,dwc3"; reg = <0x0a600000 0xe000>; interrupts = <0 133 0>; linux,sysdev_is_parent; snps,disable-clk-gating; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; snps,usb3-u1u2-disable; usb-core-id = <0>; tx-fifo-resize; maximum-speed = "super-speed"; dr_mode = "drd"; }; qcom,usbbam@a704000 { compatible = "qcom,usb-bam-msm"; reg = <0xa704000 0x17000>; interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; qcom,usb-bam-fifo-baseaddr = <0x146a6000>; qcom,usb-bam-num-pipes = <4>; qcom,disable-clk-gating; qcom,usb-bam-override-threshold = <0x4001>; qcom,usb-bam-max-mbps-highspeed = <400>; qcom,usb-bam-max-mbps-superspeed = <3600>; qcom,reset-bam-on-connect; qcom,pipe0 { label = "ssusb-qdss-in-0"; qcom,usb-bam-mem-type = <2>; qcom,dir = <1>; qcom,pipe-num = <0>; qcom,peer-bam = <0>; qcom,peer-bam-physical-address = <0x6064000>; qcom,src-bam-pipe-index = <0>; qcom,dst-bam-pipe-index = <0>; qcom,data-fifo-offset = <0x0>; qcom,data-fifo-size = <0x1800>; qcom,descriptor-fifo-offset = <0x1800>; qcom,descriptor-fifo-size = <0x800>; }; }; }; usb_nop_phy: usb_nop_phy { compatible = "usb-nop-xceiv"; }; }; qcom/lagoon.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -1070,6 +1070,7 @@ }; #include "lagoon-gdsc.dtsi" #include "lagoon-usb.dtsi" &gcc_pcie_0_gdsc { qcom,support-hw-trigger; Loading Loading
qcom/lagoon-rumi.dtsi +28 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,27 @@ timer@17c20000 { clock-frequency = <500000>; }; usb_emu_phy: usb_emu_phy@a720000 { compatible = "qcom,usb-emu-phy"; reg = <0x0a720000 0x9500>, <0x0a6f8800 0x100>; reg-names = "base", "qscratch_base"; qcom,emu-init-seq = <0xfff0 0x4 0xfff3 0x4 0x40 0x4 0xfff3 0x4 0xfff0 0x4 0x100000 0x20 0x0 0x20 0x1a0 0x20 0x100000 0x3c 0x0 0x3c 0x10060 0x3c 0x0 0x4>; }; }; &ufsphy_mem { Loading Loading @@ -41,3 +62,10 @@ &wdog { status = "disabled"; }; &usb0 { dwc3@a600000 { usb-phy = <&usb_emu_phy>, <&usb_nop_phy>; maximum-speed = "high-speed"; }; };
qcom/lagoon-usb.dtsi 0 → 100644 +123 −0 Original line number Diff line number Diff line #include <dt-bindings/clock/qcom,gcc-lagoon.h> #include <dt-bindings/msm/msm-bus-ids.h> &soc { usb0: ssusb@a600000 { compatible = "qcom,dwc-usb3-msm"; reg = <0x0a600000 0x200000>; reg-names = "core_base"; iommus = <&apps_smmu 0x540 0x0>; qcom,iommu-dma = "atomic"; qcom,iommu-dma-addr-pool = <0x90000000 0x60000000>; #address-cells = <1>; #size-cells = <1>; ranges; interrupts = <0 494 0>, <0 130 0>, <0 497 0>, <0 495 0>; interrupt-names = "dp_hs_phy_irq", "pwr_event_irq", "ss_phy_irq", "dm_hs_phy_irq"; qcom,use-pdc-interrupts; USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>; clocks = <&gcc GCC_USB30_PRIM_MASTER_CLK>, <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, <&gcc GCC_USB30_PRIM_SLEEP_CLK>, <&gcc GCC_USB3_PRIM_CLKREF_CLK>; clock-names = "core_clk", "iface_clk", "bus_aggr_clk", "utmi_clk", "sleep_clk", "xo"; resets = <&gcc GCC_USB30_PRIM_BCR>; reset-names = "core_reset"; qcom,core-clk-rate = <133333333>; qcom,core-clk-rate-hs = <66666667>; qcom,num-gsi-evt-buffs = <0x3>; qcom,gsi-reg-offset = <0x0fc /* GSI_GENERAL_CFG */ 0x110 /* GSI_DBL_ADDR_L */ 0x120 /* GSI_DBL_ADDR_H */ 0x130 /* GSI_RING_BASE_ADDR_L */ 0x144 /* GSI_RING_BASE_ADDR_H */ 0x1a4>; /* GSI_IF_STS */ qcom,dwc-usb3-msm-tx-fifo-size = <21288>; qcom,msm-bus,name = "usb0"; qcom,msm-bus,num-cases = <4>; qcom,msm-bus,num-paths = <3>; qcom,msm-bus,vectors-KBps = /* suspend vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 0 0>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 0>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 0>, /* nominal vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 1000000 2500000>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, /* svs vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 240000 700000>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 0 2400>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 0 40000>, /* min vote */ <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_EBI_CH0 1 1>, <MSM_BUS_MASTER_USB3 MSM_BUS_SLAVE_IPA_CFG 1 1>, <MSM_BUS_MASTER_AMPSS_M0 MSM_BUS_SLAVE_USB3 1 1>; qcom,default-bus-vote = <2>; /* use svs bus voting */ dwc3@a600000 { compatible = "snps,dwc3"; reg = <0x0a600000 0xe000>; interrupts = <0 133 0>; linux,sysdev_is_parent; snps,disable-clk-gating; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; snps,usb3-u1u2-disable; usb-core-id = <0>; tx-fifo-resize; maximum-speed = "super-speed"; dr_mode = "drd"; }; qcom,usbbam@a704000 { compatible = "qcom,usb-bam-msm"; reg = <0xa704000 0x17000>; interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; qcom,usb-bam-fifo-baseaddr = <0x146a6000>; qcom,usb-bam-num-pipes = <4>; qcom,disable-clk-gating; qcom,usb-bam-override-threshold = <0x4001>; qcom,usb-bam-max-mbps-highspeed = <400>; qcom,usb-bam-max-mbps-superspeed = <3600>; qcom,reset-bam-on-connect; qcom,pipe0 { label = "ssusb-qdss-in-0"; qcom,usb-bam-mem-type = <2>; qcom,dir = <1>; qcom,pipe-num = <0>; qcom,peer-bam = <0>; qcom,peer-bam-physical-address = <0x6064000>; qcom,src-bam-pipe-index = <0>; qcom,dst-bam-pipe-index = <0>; qcom,data-fifo-offset = <0x0>; qcom,data-fifo-size = <0x1800>; qcom,descriptor-fifo-offset = <0x1800>; qcom,descriptor-fifo-size = <0x800>; }; }; }; usb_nop_phy: usb_nop_phy { compatible = "usb-nop-xceiv"; }; };
qcom/lagoon.dtsi +1 −0 Original line number Diff line number Diff line Loading @@ -1070,6 +1070,7 @@ }; #include "lagoon-gdsc.dtsi" #include "lagoon-usb.dtsi" &gcc_pcie_0_gdsc { qcom,support-hw-trigger; Loading