blob: 1fb2ba98d6f6f240622082d8f1daaa695075a04f [file] [log] [blame]
Ofir Cohen4cc55372012-11-20 11:17:24 +02001MSM HSIC EHCI controller
2
3Required properties :
4- compatible : should be "qcom,hsic-host"
5- regs : offset and length of the register set in the memory map
6- interrupts: IRQ lines used by this controller
7- interrupt-names : Required interrupt resource entries are:
Manu Gautam0df3d132013-03-13 07:21:22 +05308 "core_irq" : Interrupt for HSIC core
Ofir Cohen4cc55372012-11-20 11:17:24 +02009- <supply-name>-supply: handle to the regulator device tree node
10 Required "supply-name" is "HSIC_VDDCX" and optionally - "HSIC_GDSC".
11
Manu Gautam863b74132012-11-21 14:30:04 +053012Optional properties :
Manu Gautamf014ff72013-03-19 16:35:27 +053013- interrupt-parent - This must provide reference to the current
14 device node.
15- #address-cells - Should provide a value of 0.
16- interrupts - Should be <0 1 2> and it is an index to the
17 interrupt-map.
18- #interrupt-cells - should provide a value of 1.
19- #interrupt-mask - should provide a value of 0xffffffff.
20- interrupt-map - Must create mapping for the number of interrupts
21 that are defined in above interrupts property.
22 For HSIC device node, it should define 3 mappings for
23 core_irq, async_irq and wakeup in the format
24 mentioned in below example node of HSIC.
25
Manu Gautam0df3d132013-03-13 07:21:22 +053026- interrupt-names : Optional interrupt resource entries are:
27 "async_irq" : Interrupt from HSIC for asynchronous events in HSIC LPM.
28 "wakeup" : Wakeup interrupt from HSIC during suspend (or XO shutdown).
Manu Gautam863b74132012-11-21 14:30:04 +053029- hsic,<gpio-name>-gpio : handle to the GPIO node, see "gpios property"
30 in Documentation/devicetree/bindings/gpio/gpio.txt.
Vamsi Krishnabef91832013-03-11 14:10:20 -070031 Optional "gpio-name" can be "strobe", "data" and "resume".
32- hsic,resume-gpio : if present then periperal connected to hsic controller
33 cannot wakeup from XO shutdown using in-band hsic resume. Use resume
34 gpio to wakeup peripheral
Manu Gautam863b74132012-11-21 14:30:04 +053035- hsic,ignore-cal-pad-config : If present then HSIC CAL PAD configuration
36 using TLMM is not performed.
37- hsic,strobe-pad-offset : Offset of TLMM register for configuring HSIC
38 STROBE GPIO PAD.
39- hsic,data-pad-offset : Offset of TLMM register for configuring HSIC
40 DATA GPIO PAD.
Manu Gautamf014ff72013-03-19 16:35:27 +053041- Refer to "Documentation/devicetree/bindings/arm/msm/msm_bus.txt" for
42 below optional properties:
43 - qcom,msm_bus,name
44 - qcom,msm_bus,num_cases
45 - qcom,msm_bus,active_only
46 - qcom,msm_bus,num_paths
47 - qcom,msm_bus,vectors
48
Manu Gautam863b74132012-11-21 14:30:04 +053049
Ofir Cohen4cc55372012-11-20 11:17:24 +020050Example MSM HSIC EHCI controller device node :
Manu Gautamf014ff72013-03-19 16:35:27 +053051 hsic_host: hsic@f9a15000 {
Ofir Cohen4cc55372012-11-20 11:17:24 +020052 compatible = "qcom,hsic-host";
53 reg = <0xf9a15000 0x400>;
Manu Gautamf014ff72013-03-19 16:35:27 +053054 #address-cells = <0>;
55 interrupt-parent = <&hsic_host>;
56 interrupts = <0 1 2>;
57 #interrupt-cells = <1>;
58 interrupt-map-mask = <0xffffffff>;
59 interrupt-map = <0 &intc 0 136 0
60 1 &intc 0 148 0
61 2 &msmgpio 144 0x8>;
62 interrupt-names = "core_irq", "async_irq", "wakeup";
Ofir Cohen4cc55372012-11-20 11:17:24 +020063 HSIC_VDDCX-supply = <&pm8019_l12>;
64 HSIC_GDSC-supply = <&gdsc_usb_hsic>;
Manu Gautam863b74132012-11-21 14:30:04 +053065 hsic,strobe-gpio = <&msmgpio 144 0x00>;
66 hsic,data-gpio = <&msmgpio 145 0x00>;
Manu Gautamf014ff72013-03-19 16:35:27 +053067 hsic,resume-gpio = <&msmgpio 80 0x00>;
Manu Gautam863b74132012-11-21 14:30:04 +053068 hsic,ignore-cal-pad-config;
69 hsic,strobe-pad-offset = <0x2050>;
70 hsic,data-pad-offset = <0x2054>;
Manu Gautamf014ff72013-03-19 16:35:27 +053071
72 qcom,msm-bus,name = "hsic";
73 qcom,msm-bus,num-cases = <2>;
74 qcom,msm-bus,active-only = <0>;
75 qcom,msm-bus,num-paths = <1>;
76 qcom,msm-bus,vectors-KBps =
77 <85 512 0 0>,
78 <85 512 40000 160000>;
79 };
Manu Gautam863b74132012-11-21 14:30:04 +053080
81SMSC HSIC HUB
82
83Required properties :
84- compatible : should be "qcom,hsic-smsc-hub"
85- smsc,<gpio-name>-gpio : handle to the GPIO node, see "gpios property"
86 in Documentation/devicetree/bindings/gpio/gpio.txt.
87 Required "gpio-name" is "reset" and optionally - "refclk", "int".
88- <supply-name>-supply: handle to the regulator device tree node
89 Required "supply-name" is "hub_init" and optionally - "hub_vbus".
90- Sub node for "MSM HSIC EHCI controller".
91 Sub node has the required properties mentioned above.
92
93Example SMSC HSIC HUB :
94 hsic_hub {
95 compatible = "qcom,hsic-smsc-hub";
96 ranges;
97 smsc,reset-gpio = <&pm8941_gpios 8 0x00>;
98 smsc,refclk-gpio = <&pm8941_gpios 16 0x00>;
99 smsc,int-gpio = <&msmgpio 50 0x00>;
100 hub_int-supply = <&pm8941_l10>;
101 hub_vbus-supply = <&pm8941_mvs1>;
102
103 hsic@f9a00000 {
104 compatible = "qcom,hsic-host";
105 reg = <0xf9a00000 0x400>;
106 interrupts = <0 136 0>;
107 interrupt-names = "core_irq";
108 HSIC_VDDCX-supply = <&pm8841_s2>;
109 HSIC_GDSC-supply = <&gdsc_usb_hsic>;
110 hsic,strobe-gpio = <&msmgpio 144 0x00>;
111 hsic,data-gpio = <&msmgpio 145 0x00>;
112 hsic,ignore-cal-pad-config;
113 hsic,strobe-pad-offset = <0x2050>;
114 hsic,data-pad-offset = <0x2054>;
115 };
116 };
117