This change adds USB controller and USB PHYs related configuration for USB functionality on sdxprairie. Change-Id: Iee79225c08267bc9fa1abf3ae95e73c71755061d Signed-off-by: Mayank Rana <mrana@codeaurora.org>tirimbino
parent
51683be8d3
commit
1daa160bbf
@ -0,0 +1,126 @@ |
||||
/* Copyright (c) 2018, The Linux Foundation. All rights reserved. |
||||
* |
||||
* This program is free software; you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License version 2 and |
||||
* only version 2 as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
*/ |
||||
|
||||
#include <dt-bindings/clock/qcom,gcc-sdxprairie.h> |
||||
#include <dt-bindings/msm/msm-bus-ids.h> |
||||
|
||||
&soc { |
||||
usb: ssusb@a600000 { |
||||
compatible = "qcom,dwc-usb3-msm"; |
||||
reg = <0x0a600000 0x100000>; |
||||
reg-names = "core_base"; |
||||
|
||||
iommus = <&apps_smmu 0x1a0 0x0>; |
||||
#address-cells = <1>; |
||||
#size-cells = <1>; |
||||
ranges; |
||||
|
||||
interrupts = <0 157 0>, <0 130 0>, <0 158 0>; |
||||
interrupt-names = "dp_hs_phy_irq", "pwr_event_irq", |
||||
"dm_hs_phy_irq"; |
||||
|
||||
USB3_GDSC-supply = <&gdsc_usb30>; |
||||
clocks = <&clock_gcc GCC_USB30_MASTER_CLK>, |
||||
<&clock_gcc GCC_USB30_SLV_AHB_CLK>, |
||||
<&clock_gcc GCC_USB30_MSTR_AXI_CLK>, |
||||
<&clock_gcc GCC_USB30_MOCK_UTMI_CLK>, |
||||
<&clock_gcc GCC_USB30_SLEEP_CLK>, |
||||
<&clock_gcc GCC_USB3_PRIM_CLKREF_CLK>; |
||||
clock-names = "core_clk", "iface_clk", "bus_aggr_clk", |
||||
"utmi_clk", "sleep_clk", "xo"; |
||||
|
||||
resets = <&clock_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>; |
||||
|
||||
qcom,msm-bus,name = "usb"; |
||||
qcom,msm-bus,num-cases = <3>; |
||||
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>; |
||||
|
||||
dwc3@a600000 { |
||||
compatible = "snps,dwc3"; |
||||
reg = <0x0a600000 0xcd00>; |
||||
interrupts = <0 133 0>; |
||||
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; |
||||
usb-core-id = <0>; |
||||
tx-fifo-resize; |
||||
maximum-speed = "super-speed-plus"; |
||||
dr_mode = "otg"; |
||||
}; |
||||
|
||||
qcom,usbbam@a704000 { |
||||
compatible = "qcom,usb-bam-msm"; |
||||
reg = <0xa704000 0x17000>; |
||||
interrupts = <0 132 0>; |
||||
|
||||
qcom,usb-bam-fifo-baseaddr = <0x146bb000>; |
||||
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"; |
||||
}; |
||||
}; |
Loading…
Reference in new issue