Ofir Cohen | 4cc5537 | 2012-11-20 11:17:24 +0200 | [diff] [blame] | 1 | MSM HSIC EHCI controller |
| 2 | |
| 3 | Required 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 Gautam | 0df3d13 | 2013-03-13 07:21:22 +0530 | [diff] [blame] | 8 | "core_irq" : Interrupt for HSIC core |
Ofir Cohen | 4cc5537 | 2012-11-20 11:17:24 +0200 | [diff] [blame] | 9 | - <supply-name>-supply: handle to the regulator device tree node |
| 10 | Required "supply-name" is "HSIC_VDDCX" and optionally - "HSIC_GDSC". |
| 11 | |
Manu Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 12 | Optional properties : |
Manu Gautam | f014ff7 | 2013-03-19 16:35:27 +0530 | [diff] [blame] | 13 | - 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 Gautam | 0df3d13 | 2013-03-13 07:21:22 +0530 | [diff] [blame] | 26 | - 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 Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 29 | - hsic,<gpio-name>-gpio : handle to the GPIO node, see "gpios property" |
| 30 | in Documentation/devicetree/bindings/gpio/gpio.txt. |
Vamsi Krishna | bef9183 | 2013-03-11 14:10:20 -0700 | [diff] [blame] | 31 | 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 Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 35 | - 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 Gautam | f014ff7 | 2013-03-19 16:35:27 +0530 | [diff] [blame] | 41 | - 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 Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 49 | |
Ofir Cohen | 4cc5537 | 2012-11-20 11:17:24 +0200 | [diff] [blame] | 50 | Example MSM HSIC EHCI controller device node : |
Manu Gautam | f014ff7 | 2013-03-19 16:35:27 +0530 | [diff] [blame] | 51 | hsic_host: hsic@f9a15000 { |
Ofir Cohen | 4cc5537 | 2012-11-20 11:17:24 +0200 | [diff] [blame] | 52 | compatible = "qcom,hsic-host"; |
| 53 | reg = <0xf9a15000 0x400>; |
Manu Gautam | f014ff7 | 2013-03-19 16:35:27 +0530 | [diff] [blame] | 54 | #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 Cohen | 4cc5537 | 2012-11-20 11:17:24 +0200 | [diff] [blame] | 63 | HSIC_VDDCX-supply = <&pm8019_l12>; |
| 64 | HSIC_GDSC-supply = <&gdsc_usb_hsic>; |
Manu Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 65 | hsic,strobe-gpio = <&msmgpio 144 0x00>; |
| 66 | hsic,data-gpio = <&msmgpio 145 0x00>; |
Manu Gautam | f014ff7 | 2013-03-19 16:35:27 +0530 | [diff] [blame] | 67 | hsic,resume-gpio = <&msmgpio 80 0x00>; |
Manu Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 68 | hsic,ignore-cal-pad-config; |
| 69 | hsic,strobe-pad-offset = <0x2050>; |
| 70 | hsic,data-pad-offset = <0x2054>; |
Manu Gautam | f014ff7 | 2013-03-19 16:35:27 +0530 | [diff] [blame] | 71 | |
| 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 Gautam | 863b7413 | 2012-11-21 14:30:04 +0530 | [diff] [blame] | 80 | |
| 81 | SMSC HSIC HUB |
| 82 | |
| 83 | Required 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 | |
| 93 | Example 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 | |