diff options
Diffstat (limited to 'Documentation/devicetree')
203 files changed, 5430 insertions, 458 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt index 7eece72b1a35..8fe815046140 100644 --- a/Documentation/devicetree/bindings/arm/amlogic.txt +++ b/Documentation/devicetree/bindings/arm/amlogic.txt | |||
@@ -2,7 +2,9 @@ Amlogic MesonX device tree bindings | |||
2 | ------------------------------------------- | 2 | ------------------------------------------- |
3 | 3 | ||
4 | Boards with the Amlogic Meson6 SoC shall have the following properties: | 4 | Boards with the Amlogic Meson6 SoC shall have the following properties: |
5 | Required root node property: | ||
6 | compatible: "amlogic,meson6" | ||
5 | 7 | ||
6 | Required root node property: | 8 | Boards with the Amlogic Meson8 SoC shall have the following properties: |
7 | 9 | Required root node property: | |
8 | compatible = "amlogic,meson6"; | 10 | compatible: "amlogic,meson8"; |
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt index 37b2cafa4e52..256b4d8bab7b 100644 --- a/Documentation/devicetree/bindings/arm/arch_timer.txt +++ b/Documentation/devicetree/bindings/arm/arch_timer.txt | |||
@@ -22,6 +22,14 @@ to deliver its interrupts via SPIs. | |||
22 | - always-on : a boolean property. If present, the timer is powered through an | 22 | - always-on : a boolean property. If present, the timer is powered through an |
23 | always-on power domain, therefore it never loses context. | 23 | always-on power domain, therefore it never loses context. |
24 | 24 | ||
25 | ** Optional properties: | ||
26 | |||
27 | - arm,cpu-registers-not-fw-configured : Firmware does not initialize | ||
28 | any of the generic timer CPU registers, which contain their | ||
29 | architecturally-defined reset values. Only supported for 32-bit | ||
30 | systems which follow the ARMv7 architected reset values. | ||
31 | |||
32 | |||
25 | Example: | 33 | Example: |
26 | 34 | ||
27 | timer { | 35 | timer { |
diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards index c554ed3d44fb..556c8665fdbf 100644 --- a/Documentation/devicetree/bindings/arm/arm-boards +++ b/Documentation/devicetree/bindings/arm/arm-boards | |||
@@ -92,3 +92,68 @@ Required nodes: | |||
92 | - core-module: the root node to the Versatile platforms must have | 92 | - core-module: the root node to the Versatile platforms must have |
93 | a core-module with regs and the compatible strings | 93 | a core-module with regs and the compatible strings |
94 | "arm,core-module-versatile", "syscon" | 94 | "arm,core-module-versatile", "syscon" |
95 | |||
96 | ARM RealView Boards | ||
97 | ------------------- | ||
98 | The RealView boards cover tailored evaluation boards that are used to explore | ||
99 | the ARM11 and Cortex A-8 and Cortex A-9 processors. | ||
100 | |||
101 | Required properties (in root node): | ||
102 | /* RealView Emulation Baseboard */ | ||
103 | compatible = "arm,realview-eb"; | ||
104 | /* RealView Platform Baseboard for ARM1176JZF-S */ | ||
105 | compatible = "arm,realview-pb1176"; | ||
106 | /* RealView Platform Baseboard for ARM11 MPCore */ | ||
107 | compatible = "arm,realview-pb11mp"; | ||
108 | /* RealView Platform Baseboard for Cortex A-8 */ | ||
109 | compatible = "arm,realview-pba8"; | ||
110 | /* RealView Platform Baseboard Explore for Cortex A-9 */ | ||
111 | compatible = "arm,realview-pbx"; | ||
112 | |||
113 | Required nodes: | ||
114 | |||
115 | - soc: some node of the RealView platforms must be the SoC | ||
116 | node that contain the SoC-specific devices, withe the compatible | ||
117 | string set to one of these tuples: | ||
118 | "arm,realview-eb-soc", "simple-bus" | ||
119 | "arm,realview-pb1176-soc", "simple-bus" | ||
120 | "arm,realview-pb11mp-soc", "simple-bus" | ||
121 | "arm,realview-pba8-soc", "simple-bus" | ||
122 | "arm,realview-pbx-soc", "simple-bus" | ||
123 | |||
124 | - syscon: some subnode of the RealView SoC node must be a | ||
125 | system controller node pointing to the control registers, | ||
126 | with the compatible string set to one of these tuples: | ||
127 | "arm,realview-eb-syscon", "syscon" | ||
128 | "arm,realview-pb1176-syscon", "syscon" | ||
129 | "arm,realview-pb11mp-syscon", "syscon" | ||
130 | "arm,realview-pba8-syscon", "syscon" | ||
131 | "arm,realview-pbx-syscon", "syscon" | ||
132 | |||
133 | Required properties for the system controller: | ||
134 | - regs: the location and size of the system controller registers, | ||
135 | one range of 0x1000 bytes. | ||
136 | |||
137 | Example: | ||
138 | |||
139 | /dts-v1/; | ||
140 | #include <dt-bindings/interrupt-controller/irq.h> | ||
141 | #include "skeleton.dtsi" | ||
142 | |||
143 | / { | ||
144 | model = "ARM RealView PB1176 with device tree"; | ||
145 | compatible = "arm,realview-pb1176"; | ||
146 | |||
147 | soc { | ||
148 | #address-cells = <1>; | ||
149 | #size-cells = <1>; | ||
150 | compatible = "arm,realview-pb1176-soc", "simple-bus"; | ||
151 | ranges; | ||
152 | |||
153 | syscon: syscon@10000000 { | ||
154 | compatible = "arm,realview-syscon", "syscon"; | ||
155 | reg = <0x10000000 0x1000>; | ||
156 | }; | ||
157 | |||
158 | }; | ||
159 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/bcm/cygnus.txt b/Documentation/devicetree/bindings/arm/bcm/cygnus.txt new file mode 100644 index 000000000000..4c77169bb534 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm/cygnus.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | Broadcom Cygnus device tree bindings | ||
2 | ------------------------------------ | ||
3 | |||
4 | |||
5 | Boards with Cygnus SoCs shall have the following properties: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | BCM11300 | ||
10 | compatible = "brcm,bcm11300", "brcm,cygnus"; | ||
11 | |||
12 | BCM11320 | ||
13 | compatible = "brcm,bcm11320", "brcm,cygnus"; | ||
14 | |||
15 | BCM11350 | ||
16 | compatible = "brcm,bcm11350", "brcm,cygnus"; | ||
17 | |||
18 | BCM11360 | ||
19 | compatible = "brcm,bcm11360", "brcm,cygnus"; | ||
20 | |||
21 | BCM58300 | ||
22 | compatible = "brcm,bcm58300", "brcm,cygnus"; | ||
23 | |||
24 | BCM58302 | ||
25 | compatible = "brcm,bcm58302", "brcm,cygnus"; | ||
26 | |||
27 | BCM58303 | ||
28 | compatible = "brcm,bcm58303", "brcm,cygnus"; | ||
29 | |||
30 | BCM58305 | ||
31 | compatible = "brcm,bcm58305", "brcm,cygnus"; | ||
diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt new file mode 100644 index 000000000000..d790f49066f3 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/coresight.txt | |||
@@ -0,0 +1,204 @@ | |||
1 | * CoreSight Components: | ||
2 | |||
3 | CoreSight components are compliant with the ARM CoreSight architecture | ||
4 | specification and can be connected in various topologies to suit a particular | ||
5 | SoCs tracing needs. These trace components can generally be classified as | ||
6 | sinks, links and sources. Trace data produced by one or more sources flows | ||
7 | through the intermediate links connecting the source to the currently selected | ||
8 | sink. Each CoreSight component device should use these properties to describe | ||
9 | its hardware characteristcs. | ||
10 | |||
11 | * Required properties for all components *except* non-configurable replicators: | ||
12 | |||
13 | * compatible: These have to be supplemented with "arm,primecell" as | ||
14 | drivers are using the AMBA bus interface. Possible values include: | ||
15 | - "arm,coresight-etb10", "arm,primecell"; | ||
16 | - "arm,coresight-tpiu", "arm,primecell"; | ||
17 | - "arm,coresight-tmc", "arm,primecell"; | ||
18 | - "arm,coresight-funnel", "arm,primecell"; | ||
19 | - "arm,coresight-etm3x", "arm,primecell"; | ||
20 | |||
21 | * reg: physical base address and length of the register | ||
22 | set(s) of the component. | ||
23 | |||
24 | * clocks: the clock associated to this component. | ||
25 | |||
26 | * clock-names: the name of the clock as referenced by the code. | ||
27 | Since we are using the AMBA framework, the name should be | ||
28 | "apb_pclk". | ||
29 | |||
30 | * port or ports: The representation of the component's port | ||
31 | layout using the generic DT graph presentation found in | ||
32 | "bindings/graph.txt". | ||
33 | |||
34 | * Required properties for devices that don't show up on the AMBA bus, such as | ||
35 | non-configurable replicators: | ||
36 | |||
37 | * compatible: Currently supported value is (note the absence of the | ||
38 | AMBA markee): | ||
39 | - "arm,coresight-replicator" | ||
40 | |||
41 | * id: a unique number that will identify this replicator. | ||
42 | |||
43 | * port or ports: same as above. | ||
44 | |||
45 | * Optional properties for ETM/PTMs: | ||
46 | |||
47 | * arm,cp14: must be present if the system accesses ETM/PTM management | ||
48 | registers via co-processor 14. | ||
49 | |||
50 | * cpu: the cpu phandle this ETM/PTM is affined to. When omitted the | ||
51 | source is considered to belong to CPU0. | ||
52 | |||
53 | * Optional property for TMC: | ||
54 | |||
55 | * arm,buffer-size: size of contiguous buffer space for TMC ETR | ||
56 | (embedded trace router) | ||
57 | |||
58 | |||
59 | Example: | ||
60 | |||
61 | 1. Sinks | ||
62 | etb@20010000 { | ||
63 | compatible = "arm,coresight-etb10", "arm,primecell"; | ||
64 | reg = <0 0x20010000 0 0x1000>; | ||
65 | |||
66 | coresight-default-sink; | ||
67 | clocks = <&oscclk6a>; | ||
68 | clock-names = "apb_pclk"; | ||
69 | port { | ||
70 | etb_in_port: endpoint@0 { | ||
71 | slave-mode; | ||
72 | remote-endpoint = <&replicator_out_port0>; | ||
73 | }; | ||
74 | }; | ||
75 | }; | ||
76 | |||
77 | tpiu@20030000 { | ||
78 | compatible = "arm,coresight-tpiu", "arm,primecell"; | ||
79 | reg = <0 0x20030000 0 0x1000>; | ||
80 | |||
81 | clocks = <&oscclk6a>; | ||
82 | clock-names = "apb_pclk"; | ||
83 | port { | ||
84 | tpiu_in_port: endpoint@0 { | ||
85 | slave-mode; | ||
86 | remote-endpoint = <&replicator_out_port1>; | ||
87 | }; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | 2. Links | ||
92 | replicator { | ||
93 | /* non-configurable replicators don't show up on the | ||
94 | * AMBA bus. As such no need to add "arm,primecell". | ||
95 | */ | ||
96 | compatible = "arm,coresight-replicator"; | ||
97 | /* this will show up in debugfs as "0.replicator" */ | ||
98 | id = <0>; | ||
99 | |||
100 | ports { | ||
101 | #address-cells = <1>; | ||
102 | #size-cells = <0>; | ||
103 | |||
104 | /* replicator output ports */ | ||
105 | port@0 { | ||
106 | reg = <0>; | ||
107 | replicator_out_port0: endpoint { | ||
108 | remote-endpoint = <&etb_in_port>; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | port@1 { | ||
113 | reg = <1>; | ||
114 | replicator_out_port1: endpoint { | ||
115 | remote-endpoint = <&tpiu_in_port>; | ||
116 | }; | ||
117 | }; | ||
118 | |||
119 | /* replicator input port */ | ||
120 | port@2 { | ||
121 | reg = <0>; | ||
122 | replicator_in_port0: endpoint { | ||
123 | slave-mode; | ||
124 | remote-endpoint = <&funnel_out_port0>; | ||
125 | }; | ||
126 | }; | ||
127 | }; | ||
128 | }; | ||
129 | |||
130 | funnel@20040000 { | ||
131 | compatible = "arm,coresight-funnel", "arm,primecell"; | ||
132 | reg = <0 0x20040000 0 0x1000>; | ||
133 | |||
134 | clocks = <&oscclk6a>; | ||
135 | clock-names = "apb_pclk"; | ||
136 | ports { | ||
137 | #address-cells = <1>; | ||
138 | #size-cells = <0>; | ||
139 | |||
140 | /* funnel output port */ | ||
141 | port@0 { | ||
142 | reg = <0>; | ||
143 | funnel_out_port0: endpoint { | ||
144 | remote-endpoint = | ||
145 | <&replicator_in_port0>; | ||
146 | }; | ||
147 | }; | ||
148 | |||
149 | /* funnel input ports */ | ||
150 | port@1 { | ||
151 | reg = <0>; | ||
152 | funnel_in_port0: endpoint { | ||
153 | slave-mode; | ||
154 | remote-endpoint = <&ptm0_out_port>; | ||
155 | }; | ||
156 | }; | ||
157 | |||
158 | port@2 { | ||
159 | reg = <1>; | ||
160 | funnel_in_port1: endpoint { | ||
161 | slave-mode; | ||
162 | remote-endpoint = <&ptm1_out_port>; | ||
163 | }; | ||
164 | }; | ||
165 | |||
166 | port@3 { | ||
167 | reg = <2>; | ||
168 | funnel_in_port2: endpoint { | ||
169 | slave-mode; | ||
170 | remote-endpoint = <&etm0_out_port>; | ||
171 | }; | ||
172 | }; | ||
173 | |||
174 | }; | ||
175 | }; | ||
176 | |||
177 | 3. Sources | ||
178 | ptm@2201c000 { | ||
179 | compatible = "arm,coresight-etm3x", "arm,primecell"; | ||
180 | reg = <0 0x2201c000 0 0x1000>; | ||
181 | |||
182 | cpu = <&cpu0>; | ||
183 | clocks = <&oscclk6a>; | ||
184 | clock-names = "apb_pclk"; | ||
185 | port { | ||
186 | ptm0_out_port: endpoint { | ||
187 | remote-endpoint = <&funnel_in_port0>; | ||
188 | }; | ||
189 | }; | ||
190 | }; | ||
191 | |||
192 | ptm@2201d000 { | ||
193 | compatible = "arm,coresight-etm3x", "arm,primecell"; | ||
194 | reg = <0 0x2201d000 0 0x1000>; | ||
195 | |||
196 | cpu = <&cpu1>; | ||
197 | clocks = <&oscclk6a>; | ||
198 | clock-names = "apb_pclk"; | ||
199 | port { | ||
200 | ptm1_out_port: endpoint { | ||
201 | remote-endpoint = <&funnel_in_port1>; | ||
202 | }; | ||
203 | }; | ||
204 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt index fc446347ab6d..b2aacbe16ed9 100644 --- a/Documentation/devicetree/bindings/arm/cpus.txt +++ b/Documentation/devicetree/bindings/arm/cpus.txt | |||
@@ -227,6 +227,15 @@ nodes to be present and contain the properties described below. | |||
227 | # List of phandles to idle state nodes supported | 227 | # List of phandles to idle state nodes supported |
228 | by this cpu [3]. | 228 | by this cpu [3]. |
229 | 229 | ||
230 | - rockchip,pmu | ||
231 | Usage: optional for systems that have an "enable-method" | ||
232 | property value of "rockchip,rk3066-smp" | ||
233 | While optional, it is the preferred way to get access to | ||
234 | the cpu-core power-domains. | ||
235 | Value type: <phandle> | ||
236 | Definition: Specifies the syscon node controlling the cpu core | ||
237 | power domains. | ||
238 | |||
230 | Example 1 (dual-cluster big.LITTLE system 32-bit): | 239 | Example 1 (dual-cluster big.LITTLE system 32-bit): |
231 | 240 | ||
232 | cpus { | 241 | cpus { |
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt index e935d7d4ac43..4e8b7df7fc62 100644 --- a/Documentation/devicetree/bindings/arm/fsl.txt +++ b/Documentation/devicetree/bindings/arm/fsl.txt | |||
@@ -74,3 +74,41 @@ Required root node properties: | |||
74 | i.MX6q generic board | 74 | i.MX6q generic board |
75 | Required root node properties: | 75 | Required root node properties: |
76 | - compatible = "fsl,imx6q"; | 76 | - compatible = "fsl,imx6q"; |
77 | |||
78 | |||
79 | Freescale LS1021A Platform Device Tree Bindings | ||
80 | ------------------------------------------------ | ||
81 | |||
82 | Required root node compatible properties: | ||
83 | - compatible = "fsl,ls1021a"; | ||
84 | |||
85 | Freescale LS1021A SoC-specific Device Tree Bindings | ||
86 | ------------------------------------------- | ||
87 | |||
88 | Freescale SCFG | ||
89 | SCFG is the supplemental configuration unit, that provides SoC specific | ||
90 | configuration and status registers for the chip. Such as getting PEX port | ||
91 | status. | ||
92 | Required properties: | ||
93 | - compatible: should be "fsl,ls1021a-scfg" | ||
94 | - reg: should contain base address and length of SCFG memory-mapped registers | ||
95 | |||
96 | Example: | ||
97 | scfg: scfg@1570000 { | ||
98 | compatible = "fsl,ls1021a-scfg"; | ||
99 | reg = <0x0 0x1570000 0x0 0x10000>; | ||
100 | }; | ||
101 | |||
102 | Freescale DCFG | ||
103 | DCFG is the device configuration unit, that provides general purpose | ||
104 | configuration and status for the device. Such as setting the secondary | ||
105 | core start address and release the secondary core from holdoff and startup. | ||
106 | Required properties: | ||
107 | - compatible: should be "fsl,ls1021a-dcfg" | ||
108 | - reg : should contain base address and length of DCFG memory-mapped registers | ||
109 | |||
110 | Example: | ||
111 | dcfg: dcfg@1ee0000 { | ||
112 | compatible = "fsl,ls1021a-dcfg"; | ||
113 | reg = <0x0 0x1ee0000 0x0 0x10000>; | ||
114 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/gic-v3.txt b/Documentation/devicetree/bindings/arm/gic-v3.txt index 33cd05e6c125..ddfade40ac59 100644 --- a/Documentation/devicetree/bindings/arm/gic-v3.txt +++ b/Documentation/devicetree/bindings/arm/gic-v3.txt | |||
@@ -49,11 +49,29 @@ Optional | |||
49 | occupied by the redistributors. Required if more than one such | 49 | occupied by the redistributors. Required if more than one such |
50 | region is present. | 50 | region is present. |
51 | 51 | ||
52 | Sub-nodes: | ||
53 | |||
54 | GICv3 has one or more Interrupt Translation Services (ITS) that are | ||
55 | used to route Message Signalled Interrupts (MSI) to the CPUs. | ||
56 | |||
57 | These nodes must have the following properties: | ||
58 | - compatible : Should at least contain "arm,gic-v3-its". | ||
59 | - msi-controller : Boolean property. Identifies the node as an MSI controller | ||
60 | - reg: Specifies the base physical address and size of the ITS | ||
61 | registers. | ||
62 | |||
63 | The main GIC node must contain the appropriate #address-cells, | ||
64 | #size-cells and ranges properties for the reg property of all ITS | ||
65 | nodes. | ||
66 | |||
52 | Examples: | 67 | Examples: |
53 | 68 | ||
54 | gic: interrupt-controller@2cf00000 { | 69 | gic: interrupt-controller@2cf00000 { |
55 | compatible = "arm,gic-v3"; | 70 | compatible = "arm,gic-v3"; |
56 | #interrupt-cells = <3>; | 71 | #interrupt-cells = <3>; |
72 | #address-cells = <2>; | ||
73 | #size-cells = <2>; | ||
74 | ranges; | ||
57 | interrupt-controller; | 75 | interrupt-controller; |
58 | reg = <0x0 0x2f000000 0 0x10000>, // GICD | 76 | reg = <0x0 0x2f000000 0 0x10000>, // GICD |
59 | <0x0 0x2f100000 0 0x200000>, // GICR | 77 | <0x0 0x2f100000 0 0x200000>, // GICR |
@@ -61,11 +79,20 @@ Examples: | |||
61 | <0x0 0x2c010000 0 0x2000>, // GICH | 79 | <0x0 0x2c010000 0 0x2000>, // GICH |
62 | <0x0 0x2c020000 0 0x2000>; // GICV | 80 | <0x0 0x2c020000 0 0x2000>; // GICV |
63 | interrupts = <1 9 4>; | 81 | interrupts = <1 9 4>; |
82 | |||
83 | gic-its@2c200000 { | ||
84 | compatible = "arm,gic-v3-its"; | ||
85 | msi-controller; | ||
86 | reg = <0x0 0x2c200000 0 0x200000>; | ||
87 | }; | ||
64 | }; | 88 | }; |
65 | 89 | ||
66 | gic: interrupt-controller@2c010000 { | 90 | gic: interrupt-controller@2c010000 { |
67 | compatible = "arm,gic-v3"; | 91 | compatible = "arm,gic-v3"; |
68 | #interrupt-cells = <3>; | 92 | #interrupt-cells = <3>; |
93 | #address-cells = <2>; | ||
94 | #size-cells = <2>; | ||
95 | ranges; | ||
69 | interrupt-controller; | 96 | interrupt-controller; |
70 | redistributor-stride = <0x0 0x40000>; // 256kB stride | 97 | redistributor-stride = <0x0 0x40000>; // 256kB stride |
71 | #redistributor-regions = <2>; | 98 | #redistributor-regions = <2>; |
@@ -76,4 +103,16 @@ Examples: | |||
76 | <0x0 0x2c060000 0 0x2000>, // GICH | 103 | <0x0 0x2c060000 0 0x2000>, // GICH |
77 | <0x0 0x2c080000 0 0x2000>; // GICV | 104 | <0x0 0x2c080000 0 0x2000>; // GICV |
78 | interrupts = <1 9 4>; | 105 | interrupts = <1 9 4>; |
106 | |||
107 | gic-its@2c200000 { | ||
108 | compatible = "arm,gic-v3-its"; | ||
109 | msi-controller; | ||
110 | reg = <0x0 0x2c200000 0 0x200000>; | ||
111 | }; | ||
112 | |||
113 | gic-its@2c400000 { | ||
114 | compatible = "arm,gic-v3-its"; | ||
115 | msi-controller; | ||
116 | reg = <0x0 0x2c400000 0 0x200000>; | ||
117 | }; | ||
79 | }; | 118 | }; |
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt index c7d2fa156678..8112d0c3675a 100644 --- a/Documentation/devicetree/bindings/arm/gic.txt +++ b/Documentation/devicetree/bindings/arm/gic.txt | |||
@@ -17,6 +17,7 @@ Main node required properties: | |||
17 | "arm,cortex-a7-gic" | 17 | "arm,cortex-a7-gic" |
18 | "arm,arm11mp-gic" | 18 | "arm,arm11mp-gic" |
19 | "brcm,brahma-b15-gic" | 19 | "brcm,brahma-b15-gic" |
20 | "arm,arm1176jzf-devchip-gic" | ||
20 | - interrupt-controller : Identifies the node as an interrupt controller | 21 | - interrupt-controller : Identifies the node as an interrupt controller |
21 | - #interrupt-cells : Specifies the number of cells needed to encode an | 22 | - #interrupt-cells : Specifies the number of cells needed to encode an |
22 | interrupt source. The type shall be a <u32> and the value shall be 3. | 23 | interrupt source. The type shall be a <u32> and the value shall be 3. |
@@ -96,3 +97,56 @@ Example: | |||
96 | <0x2c006000 0x2000>; | 97 | <0x2c006000 0x2000>; |
97 | interrupts = <1 9 0xf04>; | 98 | interrupts = <1 9 0xf04>; |
98 | }; | 99 | }; |
100 | |||
101 | |||
102 | * GICv2m extension for MSI/MSI-x support (Optional) | ||
103 | |||
104 | Certain revisions of GIC-400 supports MSI/MSI-x via V2M register frame(s). | ||
105 | This is enabled by specifying v2m sub-node(s). | ||
106 | |||
107 | Required properties: | ||
108 | |||
109 | - compatible : The value here should contain "arm,gic-v2m-frame". | ||
110 | |||
111 | - msi-controller : Identifies the node as an MSI controller. | ||
112 | |||
113 | - reg : GICv2m MSI interface register base and size | ||
114 | |||
115 | Optional properties: | ||
116 | |||
117 | - arm,msi-base-spi : When the MSI_TYPER register contains an incorrect | ||
118 | value, this property should contain the SPI base of | ||
119 | the MSI frame, overriding the HW value. | ||
120 | |||
121 | - arm,msi-num-spis : When the MSI_TYPER register contains an incorrect | ||
122 | value, this property should contain the number of | ||
123 | SPIs assigned to the frame, overriding the HW value. | ||
124 | |||
125 | Example: | ||
126 | |||
127 | interrupt-controller@e1101000 { | ||
128 | compatible = "arm,gic-400"; | ||
129 | #interrupt-cells = <3>; | ||
130 | #address-cells = <2>; | ||
131 | #size-cells = <2>; | ||
132 | interrupt-controller; | ||
133 | interrupts = <1 8 0xf04>; | ||
134 | ranges = <0 0 0 0xe1100000 0 0x100000>; | ||
135 | reg = <0x0 0xe1110000 0 0x01000>, | ||
136 | <0x0 0xe112f000 0 0x02000>, | ||
137 | <0x0 0xe1140000 0 0x10000>, | ||
138 | <0x0 0xe1160000 0 0x10000>; | ||
139 | v2m0: v2m@0x8000 { | ||
140 | compatible = "arm,gic-v2m-frame"; | ||
141 | msi-controller; | ||
142 | reg = <0x0 0x80000 0 0x1000>; | ||
143 | }; | ||
144 | |||
145 | .... | ||
146 | |||
147 | v2mN: v2m@0x9000 { | ||
148 | compatible = "arm,gic-v2m-frame"; | ||
149 | msi-controller; | ||
150 | reg = <0x0 0x90000 0 0x1000>; | ||
151 | }; | ||
152 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/idle-states.txt b/Documentation/devicetree/bindings/arm/idle-states.txt index 37375c7f3ccc..a8274eabae2e 100644 --- a/Documentation/devicetree/bindings/arm/idle-states.txt +++ b/Documentation/devicetree/bindings/arm/idle-states.txt | |||
@@ -317,6 +317,26 @@ follows: | |||
317 | In such systems entry-latency-us + exit-latency-us | 317 | In such systems entry-latency-us + exit-latency-us |
318 | will exceed wakeup-latency-us by this duration. | 318 | will exceed wakeup-latency-us by this duration. |
319 | 319 | ||
320 | - status: | ||
321 | Usage: Optional | ||
322 | Value type: <string> | ||
323 | Definition: A standard device tree property [5] that indicates | ||
324 | the operational status of an idle-state. | ||
325 | If present, it shall be: | ||
326 | "okay": to indicate that the idle state is | ||
327 | operational. | ||
328 | "disabled": to indicate that the idle state has | ||
329 | been disabled in firmware so it is not | ||
330 | operational. | ||
331 | If the property is not present the idle-state must | ||
332 | be considered operational. | ||
333 | |||
334 | - idle-state-name: | ||
335 | Usage: Optional | ||
336 | Value type: <string> | ||
337 | Definition: A string used as a descriptive name for the idle | ||
338 | state. | ||
339 | |||
320 | In addition to the properties listed above, a state node may require | 340 | In addition to the properties listed above, a state node may require |
321 | additional properties specifics to the entry-method defined in the | 341 | additional properties specifics to the entry-method defined in the |
322 | idle-states node, please refer to the entry-method bindings | 342 | idle-states node, please refer to the entry-method bindings |
diff --git a/Documentation/devicetree/bindings/arm/marvell,berlin.txt b/Documentation/devicetree/bindings/arm/marvell,berlin.txt index 904de5781f44..a99eb9eb14c0 100644 --- a/Documentation/devicetree/bindings/arm/marvell,berlin.txt +++ b/Documentation/devicetree/bindings/arm/marvell,berlin.txt | |||
@@ -106,11 +106,21 @@ Required subnode-properties: | |||
106 | - groups: a list of strings describing the group names. | 106 | - groups: a list of strings describing the group names. |
107 | - function: a string describing the function used to mux the groups. | 107 | - function: a string describing the function used to mux the groups. |
108 | 108 | ||
109 | * Reset controller binding | ||
110 | |||
111 | A reset controller is part of the chip control registers set. The chip control | ||
112 | node also provides the reset. The register set is not at the same offset between | ||
113 | Berlin SoCs. | ||
114 | |||
115 | Required property: | ||
116 | - #reset-cells: must be set to 2 | ||
117 | |||
109 | Example: | 118 | Example: |
110 | 119 | ||
111 | chip: chip-control@ea0000 { | 120 | chip: chip-control@ea0000 { |
112 | compatible = "marvell,berlin2-chip-ctrl"; | 121 | compatible = "marvell,berlin2-chip-ctrl"; |
113 | #clock-cells = <1>; | 122 | #clock-cells = <1>; |
123 | #reset-cells = <2>; | ||
114 | reg = <0xea0000 0x400>; | 124 | reg = <0xea0000 0x400>; |
115 | clocks = <&refclk>, <&externaldev 0>; | 125 | clocks = <&refclk>, <&externaldev 0>; |
116 | clock-names = "refclk", "video_ext0"; | 126 | clock-names = "refclk", "video_ext0"; |
diff --git a/Documentation/devicetree/bindings/arm/mediatek.txt b/Documentation/devicetree/bindings/arm/mediatek.txt index fa252261dfaf..3be40139cfbb 100644 --- a/Documentation/devicetree/bindings/arm/mediatek.txt +++ b/Documentation/devicetree/bindings/arm/mediatek.txt | |||
@@ -1,10 +1,14 @@ | |||
1 | Mediatek MT6589 Platforms Device Tree Bindings | 1 | MediaTek mt65xx & mt81xx Platforms Device Tree Bindings |
2 | 2 | ||
3 | Boards with a SoC of the Mediatek MT6589 shall have the following property: | 3 | Boards with a MediaTek mt65xx/mt81xx SoC shall have the following property: |
4 | 4 | ||
5 | Required root node property: | 5 | Required root node property: |
6 | 6 | ||
7 | compatible: must contain "mediatek,mt6589" | 7 | compatible: Must contain one of |
8 | "mediatek,mt6589" | ||
9 | "mediatek,mt6592" | ||
10 | "mediatek,mt8127" | ||
11 | "mediatek,mt8135" | ||
8 | 12 | ||
9 | 13 | ||
10 | Supported boards: | 14 | Supported boards: |
@@ -12,3 +16,12 @@ Supported boards: | |||
12 | - bq Aquaris5 smart phone: | 16 | - bq Aquaris5 smart phone: |
13 | Required root node properties: | 17 | Required root node properties: |
14 | - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589"; | 18 | - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589"; |
19 | - Evaluation board for MT6592: | ||
20 | Required root node properties: | ||
21 | - compatible = "mediatek,mt6592-evb", "mediatek,mt6592"; | ||
22 | - MTK mt8127 tablet moose EVB: | ||
23 | Required root node properties: | ||
24 | - compatible = "mediatek,mt8127-moose", "mediatek,mt8127"; | ||
25 | - MTK mt8135 tablet EVB: | ||
26 | Required root node properties: | ||
27 | - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135"; | ||
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt new file mode 100644 index 000000000000..d680b07ec6e8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | Mediatek 65xx/81xx sysirq | ||
2 | |||
3 | Mediatek SOCs sysirq support controllable irq inverter for each GIC SPI | ||
4 | interrupt. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should be one of: | ||
8 | "mediatek,mt8135-sysirq" | ||
9 | "mediatek,mt8127-sysirq" | ||
10 | "mediatek,mt6589-sysirq" | ||
11 | "mediatek,mt6582-sysirq" | ||
12 | "mediatek,mt6577-sysirq" | ||
13 | - interrupt-controller : Identifies the node as an interrupt controller | ||
14 | - #interrupt-cells : Use the same format as specified by GIC in | ||
15 | Documentation/devicetree/bindings/arm/gic.txt | ||
16 | - interrupt-parent: phandle of irq parent for sysirq. The parent must | ||
17 | use the same interrupt-cells format as GIC. | ||
18 | - reg: Physical base address of the intpol registers and length of memory | ||
19 | mapped region. | ||
20 | |||
21 | Example: | ||
22 | sysirq: interrupt-controller@10200100 { | ||
23 | compatible = "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq"; | ||
24 | interrupt-controller; | ||
25 | #interrupt-cells = <3>; | ||
26 | interrupt-parent = <&gic>; | ||
27 | reg = <0 0x10200100 0 0x1c>; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index ddd9bcdf889c..4f6a82cef1d1 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -132,6 +132,9 @@ Boards: | |||
132 | - AM335X Bone : Low cost community board | 132 | - AM335X Bone : Low cost community board |
133 | compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3" | 133 | compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3" |
134 | 134 | ||
135 | - AM335X OrionLXm : Substation Automation Platform | ||
136 | compatible = "novatech,am335x-lxm", "ti,am33xx" | ||
137 | |||
135 | - OMAP5 EVM : Evaluation Module | 138 | - OMAP5 EVM : Evaluation Module |
136 | compatible = "ti,omap5-evm", "ti,omap5" | 139 | compatible = "ti,omap5-evm", "ti,omap5" |
137 | 140 | ||
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt index 857f12636eb2..eaa3d1a0eb05 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.txt +++ b/Documentation/devicetree/bindings/arm/rockchip.txt | |||
@@ -1,6 +1,10 @@ | |||
1 | Rockchip platforms device tree bindings | 1 | Rockchip platforms device tree bindings |
2 | --------------------------------------- | 2 | --------------------------------------- |
3 | 3 | ||
4 | - MarsBoard RK3066 board: | ||
5 | Required root node properties: | ||
6 | - compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a"; | ||
7 | |||
4 | - bq Curie 2 tablet: | 8 | - bq Curie 2 tablet: |
5 | Required root node properties: | 9 | Required root node properties: |
6 | - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; | 10 | - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; |
diff --git a/Documentation/devicetree/bindings/arm/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung-boards.txt index 2168ed31e1b0..43589d2466a7 100644 --- a/Documentation/devicetree/bindings/arm/samsung-boards.txt +++ b/Documentation/devicetree/bindings/arm/samsung-boards.txt | |||
@@ -1,11 +1,20 @@ | |||
1 | * Samsung's Exynos4210 based SMDKV310 evaluation board | 1 | * Samsung's Exynos SoC based boards |
2 | |||
3 | SMDKV310 evaluation board is based on Samsung's Exynos4210 SoC. | ||
4 | 2 | ||
5 | Required root node properties: | 3 | Required root node properties: |
6 | - compatible = should be one or more of the following. | 4 | - compatible = should be one or more of the following. |
7 | (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. | 5 | - "samsung,monk" - for Exynos3250-based Samsung Simband board. |
8 | (b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. | 6 | - "samsung,rinato" - for Exynos3250-based Samsung Gear2 board. |
7 | - "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board. | ||
8 | - "samsung,trats" - for Exynos4210-based Tizen Reference board. | ||
9 | - "samsung,universal_c210" - for Exynos4210-based Samsung board. | ||
10 | - "samsung,smdk4412", - for Exynos4412-based Samsung SMDK4412 eval board. | ||
11 | - "samsung,trats2" - for Exynos4412-based Tizen Reference board. | ||
12 | - "samsung,smdk5250" - for Exynos5250-based Samsung SMDK5250 eval board. | ||
13 | - "samsung,xyref5260" - for Exynos5260-based Samsung board. | ||
14 | - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board. | ||
15 | - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board. | ||
16 | - "samsung,sd5v1" - for Exynos5440-based Samsung board. | ||
17 | - "samsung,ssdk5440" - for Exynos5440-based Samsung board. | ||
9 | 18 | ||
10 | Optional: | 19 | Optional: |
11 | - firmware node, specifying presence and type of secure firmware: | 20 | - firmware node, specifying presence and type of secure firmware: |
diff --git a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt index 709efaa30841..f46ca9a316a2 100644 --- a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt +++ b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt | |||
@@ -16,6 +16,8 @@ Required properties: | |||
16 | future controllers. | 16 | future controllers. |
17 | Must be "samsung,exynos3250-adc" for | 17 | Must be "samsung,exynos3250-adc" for |
18 | controllers compatible with ADC of Exynos3250. | 18 | controllers compatible with ADC of Exynos3250. |
19 | Must be "samsung,exynos7-adc" for | ||
20 | the ADC in Exynos7 and compatibles | ||
19 | Must be "samsung,s3c2410-adc" for | 21 | Must be "samsung,s3c2410-adc" for |
20 | the ADC in s3c2410 and compatibles | 22 | the ADC in s3c2410 and compatibles |
21 | Must be "samsung,s3c2416-adc" for | 23 | Must be "samsung,s3c2416-adc" for |
@@ -43,13 +45,16 @@ Required properties: | |||
43 | compatible ADC block) | 45 | compatible ADC block) |
44 | - vdd-supply VDD input supply. | 46 | - vdd-supply VDD input supply. |
45 | 47 | ||
48 | - samsung,syscon-phandle Contains the PMU system controller node | ||
49 | (To access the ADC_PHY register on Exynos5250/5420/5800/3250) | ||
50 | |||
46 | Note: child nodes can be added for auto probing from device tree. | 51 | Note: child nodes can be added for auto probing from device tree. |
47 | 52 | ||
48 | Example: adding device info in dtsi file | 53 | Example: adding device info in dtsi file |
49 | 54 | ||
50 | adc: adc@12D10000 { | 55 | adc: adc@12D10000 { |
51 | compatible = "samsung,exynos-adc-v1"; | 56 | compatible = "samsung,exynos-adc-v1"; |
52 | reg = <0x12D10000 0x100>, <0x10040718 0x4>; | 57 | reg = <0x12D10000 0x100>; |
53 | interrupts = <0 106 0>; | 58 | interrupts = <0 106 0>; |
54 | #io-channel-cells = <1>; | 59 | #io-channel-cells = <1>; |
55 | io-channel-ranges; | 60 | io-channel-ranges; |
@@ -58,13 +63,14 @@ adc: adc@12D10000 { | |||
58 | clock-names = "adc"; | 63 | clock-names = "adc"; |
59 | 64 | ||
60 | vdd-supply = <&buck5_reg>; | 65 | vdd-supply = <&buck5_reg>; |
66 | samsung,syscon-phandle = <&pmu_system_controller>; | ||
61 | }; | 67 | }; |
62 | 68 | ||
63 | Example: adding device info in dtsi file for Exynos3250 with additional sclk | 69 | Example: adding device info in dtsi file for Exynos3250 with additional sclk |
64 | 70 | ||
65 | adc: adc@126C0000 { | 71 | adc: adc@126C0000 { |
66 | compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2; | 72 | compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2; |
67 | reg = <0x126C0000 0x100>, <0x10020718 0x4>; | 73 | reg = <0x126C0000 0x100>; |
68 | interrupts = <0 137 0>; | 74 | interrupts = <0 137 0>; |
69 | #io-channel-cells = <1>; | 75 | #io-channel-cells = <1>; |
70 | io-channel-ranges; | 76 | io-channel-ranges; |
@@ -73,6 +79,7 @@ adc: adc@126C0000 { | |||
73 | clock-names = "adc", "sclk"; | 79 | clock-names = "adc", "sclk"; |
74 | 80 | ||
75 | vdd-supply = <&buck5_reg>; | 81 | vdd-supply = <&buck5_reg>; |
82 | samsung,syscon-phandle = <&pmu_system_controller>; | ||
76 | }; | 83 | }; |
77 | 84 | ||
78 | Example: Adding child nodes in dts file | 85 | Example: Adding child nodes in dts file |
diff --git a/Documentation/devicetree/bindings/arm/ste-nomadik.txt b/Documentation/devicetree/bindings/arm/ste-nomadik.txt index 6256ec31666d..2fdff5a806cf 100644 --- a/Documentation/devicetree/bindings/arm/ste-nomadik.txt +++ b/Documentation/devicetree/bindings/arm/ste-nomadik.txt | |||
@@ -10,6 +10,12 @@ Required root node property: src | |||
10 | 10 | ||
11 | Boards with the Nomadik SoC include: | 11 | Boards with the Nomadik SoC include: |
12 | 12 | ||
13 | Nomadik NHK-15 board manufactured by ST Microelectronics: | ||
14 | |||
15 | Required root node property: | ||
16 | |||
17 | compatible="st,nomadik-nhk-15"; | ||
18 | |||
13 | S8815 "MiniKit" manufactured by Calao Systems: | 19 | S8815 "MiniKit" manufactured by Calao Systems: |
14 | 20 | ||
15 | Required root node property: | 21 | Required root node property: |
diff --git a/Documentation/devicetree/bindings/arm/sunxi.txt b/Documentation/devicetree/bindings/arm/sunxi.txt new file mode 100644 index 000000000000..42941fdefb11 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/sunxi.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | Allwinner sunXi Platforms Device Tree Bindings | ||
2 | |||
3 | Each device tree must specify which Allwinner SoC it uses, | ||
4 | using one of the following compatible strings: | ||
5 | |||
6 | allwinner,sun4i-a10 | ||
7 | allwinner,sun5i-a10s | ||
8 | allwinner,sun5i-a13 | ||
9 | allwinner,sun6i-a31 | ||
10 | allwinner,sun7i-a20 | ||
11 | allwinner,sun8i-a23 | ||
12 | allwinner,sun9i-a80 | ||
diff --git a/Documentation/devicetree/bindings/arm/ux500/power_domain.txt b/Documentation/devicetree/bindings/arm/ux500/power_domain.txt new file mode 100644 index 000000000000..5679d1742d3e --- /dev/null +++ b/Documentation/devicetree/bindings/arm/ux500/power_domain.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | * ST-Ericsson UX500 PM Domains | ||
2 | |||
3 | UX500 supports multiple PM domains which are used to gate power to one or | ||
4 | more peripherals on the SOC. | ||
5 | |||
6 | The implementation of PM domains for UX500 are based upon the generic PM domain | ||
7 | and use the corresponding DT bindings. | ||
8 | |||
9 | ==PM domain providers== | ||
10 | |||
11 | Required properties: | ||
12 | - compatible: Must be "stericsson,ux500-pm-domains". | ||
13 | - #power-domain-cells : Number of cells in a power domain specifier, must be 1. | ||
14 | |||
15 | Example: | ||
16 | pm_domains: pm_domains0 { | ||
17 | compatible = "stericsson,ux500-pm-domains"; | ||
18 | #power-domain-cells = <1>; | ||
19 | }; | ||
20 | |||
21 | ==PM domain consumers== | ||
22 | |||
23 | Required properties: | ||
24 | - power-domains: A phandle and PM domain specifier. Below are the list of | ||
25 | valid specifiers: | ||
26 | |||
27 | Index Specifier | ||
28 | ----- --------- | ||
29 | 0 DOMAIN_VAPE | ||
30 | |||
31 | Example: | ||
32 | sdi0_per1@80126000 { | ||
33 | compatible = "arm,pl18x", "arm,primecell"; | ||
34 | power-domains = <&pm_domains DOMAIN_VAPE> | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/marvell.txt b/Documentation/devicetree/bindings/ata/marvell.txt index 1c8351604d38..b460edd12766 100644 --- a/Documentation/devicetree/bindings/ata/marvell.txt +++ b/Documentation/devicetree/bindings/ata/marvell.txt | |||
@@ -6,11 +6,17 @@ Required Properties: | |||
6 | - interrupts : Interrupt controller is using | 6 | - interrupts : Interrupt controller is using |
7 | - nr-ports : Number of SATA ports in use. | 7 | - nr-ports : Number of SATA ports in use. |
8 | 8 | ||
9 | Optional Properties: | ||
10 | - phys : List of phandles to sata phys | ||
11 | - phy-names : Should be "0", "1", etc, one number per phandle | ||
12 | |||
9 | Example: | 13 | Example: |
10 | 14 | ||
11 | sata@80000 { | 15 | sata@80000 { |
12 | compatible = "marvell,orion-sata"; | 16 | compatible = "marvell,orion-sata"; |
13 | reg = <0x80000 0x5000>; | 17 | reg = <0x80000 0x5000>; |
14 | interrupts = <21>; | 18 | interrupts = <21>; |
19 | phys = <&sata_phy0>, <&sata_phy1>; | ||
20 | phy-names = "0", "1"; | ||
15 | nr-ports = <2>; | 21 | nr-ports = <2>; |
16 | } | 22 | } |
diff --git a/Documentation/devicetree/bindings/ata/sata_rcar.txt b/Documentation/devicetree/bindings/ata/sata_rcar.txt index 1e6111333fa8..2493a5a31655 100644 --- a/Documentation/devicetree/bindings/ata/sata_rcar.txt +++ b/Documentation/devicetree/bindings/ata/sata_rcar.txt | |||
@@ -3,16 +3,21 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : should contain one of the following: | 4 | - compatible : should contain one of the following: |
5 | - "renesas,sata-r8a7779" for R-Car H1 | 5 | - "renesas,sata-r8a7779" for R-Car H1 |
6 | - "renesas,sata-r8a7790" for R-Car H2 | 6 | ("renesas,rcar-sata" is deprecated) |
7 | - "renesas,sata-r8a7791" for R-Car M2 | 7 | - "renesas,sata-r8a7790-es1" for R-Car H2 ES1 |
8 | - "renesas,sata-r8a7790" for R-Car H2 other than ES1 | ||
9 | - "renesas,sata-r8a7791" for R-Car M2-W | ||
10 | - "renesas,sata-r8a7793" for R-Car M2-N | ||
8 | - reg : address and length of the SATA registers; | 11 | - reg : address and length of the SATA registers; |
9 | - interrupts : must consist of one interrupt specifier. | 12 | - interrupts : must consist of one interrupt specifier. |
13 | - clocks : must contain a reference to the functional clock. | ||
10 | 14 | ||
11 | Example: | 15 | Example: |
12 | 16 | ||
13 | sata: sata@fc600000 { | 17 | sata0: sata@ee300000 { |
14 | compatible = "renesas,sata-r8a7779"; | 18 | compatible = "renesas,sata-r8a7791"; |
15 | reg = <0xfc600000 0x2000>; | 19 | reg = <0 0xee300000 0 0x2000>; |
16 | interrupt-parent = <&gic>; | 20 | interrupt-parent = <&gic>; |
17 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; | 21 | interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; |
22 | clocks = <&mstp8_clks R8A7791_CLK_SATA0>; | ||
18 | }; | 23 | }; |
diff --git a/Documentation/devicetree/bindings/btmrvl.txt b/Documentation/devicetree/bindings/btmrvl.txt new file mode 100644 index 000000000000..58f964bb0a52 --- /dev/null +++ b/Documentation/devicetree/bindings/btmrvl.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | btmrvl | ||
2 | ------ | ||
3 | |||
4 | Required properties: | ||
5 | |||
6 | - compatible : must be "btmrvl,cfgdata" | ||
7 | |||
8 | Optional properties: | ||
9 | |||
10 | - btmrvl,cal-data : Calibration data downloaded to the device during | ||
11 | initialization. This is an array of 28 values(u8). | ||
12 | |||
13 | - btmrvl,gpio-gap : gpio and gap (in msecs) combination to be | ||
14 | configured. | ||
15 | |||
16 | Example: | ||
17 | |||
18 | GPIO pin 13 is configured as a wakeup source and GAP is set to 100 msecs | ||
19 | in below example. | ||
20 | |||
21 | btmrvl { | ||
22 | compatible = "btmrvl,cfgdata"; | ||
23 | |||
24 | btmrvl,cal-data = /bits/ 8 < | ||
25 | 0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02 | ||
26 | 0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00 | ||
27 | 0x00 0x00 0xf0 0x00>; | ||
28 | btmrvl,gpio-gap = <0x0d64>; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/bus/bcma.txt b/Documentation/devicetree/bindings/bus/bcma.txt index 62a48348ac15..edd44d802139 100644 --- a/Documentation/devicetree/bindings/bus/bcma.txt +++ b/Documentation/devicetree/bindings/bus/bcma.txt | |||
@@ -8,6 +8,11 @@ Required properties: | |||
8 | 8 | ||
9 | The cores on the AXI bus are automatically detected by bcma with the | 9 | The cores on the AXI bus are automatically detected by bcma with the |
10 | memory ranges they are using and they get registered afterwards. | 10 | memory ranges they are using and they get registered afterwards. |
11 | Automatic detection of the IRQ number is not working on | ||
12 | BCM47xx/BCM53xx ARM SoCs. To assign IRQ numbers to the cores, provide | ||
13 | them manually through device tree. Use an interrupt-map to specify the | ||
14 | IRQ used by the devices on the bus. The first address is just an index, | ||
15 | because we do not have any special register. | ||
11 | 16 | ||
12 | The top-level axi bus may contain children representing attached cores | 17 | The top-level axi bus may contain children representing attached cores |
13 | (devices). This is needed since some hardware details can't be auto | 18 | (devices). This is needed since some hardware details can't be auto |
@@ -22,6 +27,22 @@ Example: | |||
22 | ranges = <0x00000000 0x18000000 0x00100000>; | 27 | ranges = <0x00000000 0x18000000 0x00100000>; |
23 | #address-cells = <1>; | 28 | #address-cells = <1>; |
24 | #size-cells = <1>; | 29 | #size-cells = <1>; |
30 | #interrupt-cells = <1>; | ||
31 | interrupt-map-mask = <0x000fffff 0xffff>; | ||
32 | interrupt-map = | ||
33 | /* Ethernet Controller 0 */ | ||
34 | <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, | ||
35 | |||
36 | /* Ethernet Controller 1 */ | ||
37 | <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; | ||
38 | |||
39 | /* PCIe Controller 0 */ | ||
40 | <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, | ||
41 | <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>, | ||
42 | <0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>, | ||
43 | <0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>, | ||
44 | <0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, | ||
45 | <0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; | ||
25 | 46 | ||
26 | chipcommon { | 47 | chipcommon { |
27 | reg = <0x00000000 0x1000>; | 48 | reg = <0x00000000 0x1000>; |
diff --git a/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt b/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt index e2d501d20c9a..1eceefb20f01 100644 --- a/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt +++ b/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt | |||
@@ -2,7 +2,11 @@ Broadcom GISB bus Arbiter controller | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | 4 | ||
5 | - compatible: should be "brcm,gisb-arb" | 5 | - compatible: |
6 | "brcm,gisb-arb" or "brcm,bcm7445-gisb-arb" for 28nm chips | ||
7 | "brcm,bcm7435-gisb-arb" for newer 40nm chips | ||
8 | "brcm,bcm7400-gisb-arb" for older 40nm chips and all 65nm chips | ||
9 | "brcm,bcm7038-gisb-arb" for 130nm chips | ||
6 | - reg: specifies the base physical address and size of the registers | 10 | - reg: specifies the base physical address and size of the registers |
7 | - interrupt-parent: specifies the phandle to the parent interrupt controller | 11 | - interrupt-parent: specifies the phandle to the parent interrupt controller |
8 | this arbiter gets interrupt line from | 12 | this arbiter gets interrupt line from |
diff --git a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt index 5fa44f52a0b8..5e16c3ccb061 100644 --- a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt +++ b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt | |||
@@ -48,9 +48,12 @@ Required properties: | |||
48 | - compatible: Should be set to "marvell,mbus-controller". | 48 | - compatible: Should be set to "marvell,mbus-controller". |
49 | 49 | ||
50 | - reg: Device's register space. | 50 | - reg: Device's register space. |
51 | Two entries are expected (see the examples below): | 51 | Two or three entries are expected (see the examples below): |
52 | the first one controls the devices decoding window and | 52 | the first one controls the devices decoding window, |
53 | the second one controls the SDRAM decoding window. | 53 | the second one controls the SDRAM decoding window and |
54 | the third controls the MBus bridge (only with the | ||
55 | marvell,armada370-mbus and marvell,armadaxp-mbus | ||
56 | compatible strings) | ||
54 | 57 | ||
55 | Example: | 58 | Example: |
56 | 59 | ||
@@ -67,7 +70,7 @@ Example: | |||
67 | 70 | ||
68 | mbusc: mbus-controller@20000 { | 71 | mbusc: mbus-controller@20000 { |
69 | compatible = "marvell,mbus-controller"; | 72 | compatible = "marvell,mbus-controller"; |
70 | reg = <0x20000 0x100>, <0x20180 0x20>; | 73 | reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>; |
71 | }; | 74 | }; |
72 | 75 | ||
73 | /* more children ...*/ | 76 | /* more children ...*/ |
@@ -126,7 +129,7 @@ are skipped. | |||
126 | 129 | ||
127 | mbusc: mbus-controller@20000 { | 130 | mbusc: mbus-controller@20000 { |
128 | compatible = "marvell,mbus-controller"; | 131 | compatible = "marvell,mbus-controller"; |
129 | reg = <0x20000 0x100>, <0x20180 0x20>; | 132 | reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>; |
130 | }; | 133 | }; |
131 | 134 | ||
132 | /* more children ...*/ | 135 | /* more children ...*/ |
@@ -170,7 +173,7 @@ Using this macro, the above example would be: | |||
170 | 173 | ||
171 | mbusc: mbus-controller@20000 { | 174 | mbusc: mbus-controller@20000 { |
172 | compatible = "marvell,mbus-controller"; | 175 | compatible = "marvell,mbus-controller"; |
173 | reg = <0x20000 0x100>, <0x20180 0x20>; | 176 | reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>; |
174 | }; | 177 | }; |
175 | 178 | ||
176 | /* other children */ | 179 | /* other children */ |
@@ -266,7 +269,7 @@ See the example below, where a more complete device tree is shown: | |||
266 | ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>; | 269 | ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>; |
267 | 270 | ||
268 | mbusc: mbus-controller@20000 { | 271 | mbusc: mbus-controller@20000 { |
269 | reg = <0x20000 0x100>, <0x20180 0x20>; | 272 | reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>; |
270 | }; | 273 | }; |
271 | 274 | ||
272 | interrupt-controller@20000 { | 275 | interrupt-controller@20000 { |
diff --git a/Documentation/devicetree/bindings/chosen.txt b/Documentation/devicetree/bindings/chosen.txt new file mode 100644 index 000000000000..ed838f453f7a --- /dev/null +++ b/Documentation/devicetree/bindings/chosen.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | The chosen node | ||
2 | --------------- | ||
3 | |||
4 | The chosen node does not represent a real device, but serves as a place | ||
5 | for passing data between firmware and the operating system, like boot | ||
6 | arguments. Data in the chosen node does not represent the hardware. | ||
7 | |||
8 | |||
9 | stdout-path property | ||
10 | -------------------- | ||
11 | |||
12 | Device trees may specify the device to be used for boot console output | ||
13 | with a stdout-path property under /chosen, as described in ePAPR, e.g. | ||
14 | |||
15 | / { | ||
16 | chosen { | ||
17 | stdout-path = "/serial@f00:115200"; | ||
18 | }; | ||
19 | |||
20 | serial@f00 { | ||
21 | compatible = "vendor,some-uart"; | ||
22 | reg = <0xf00 0x10>; | ||
23 | }; | ||
24 | }; | ||
25 | |||
26 | If the character ":" is present in the value, this terminates the path. | ||
27 | The meaning of any characters following the ":" is device-specific, and | ||
28 | must be specified in the relevant binding documentation. | ||
29 | |||
30 | For UART devices, the preferred binding is a string in the form: | ||
31 | |||
32 | <baud>{<parity>{<bits>{<flow>}}} | ||
33 | |||
34 | where | ||
35 | |||
36 | baud - baud rate in decimal | ||
37 | parity - 'n' (none), 'o', (odd) or 'e' (even) | ||
38 | bits - number of data bits | ||
39 | flow - 'r' (rts) | ||
40 | |||
41 | For example: 115200n8r | ||
42 | |||
43 | Implementation note: Linux will look for the property "linux,stdout-path" or | ||
44 | on PowerPC "stdout" if "stdout-path" is not found. However, the | ||
45 | "linux,stdout-path" and "stdout" properties are deprecated. New platforms | ||
46 | should only use the "stdout-path" property. | ||
diff --git a/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt b/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt new file mode 100644 index 000000000000..00d26edec8bc --- /dev/null +++ b/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | Broadcom Cygnus Clocks | ||
2 | |||
3 | This binding uses the common clock binding: | ||
4 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
5 | |||
6 | Currently various "fixed" clocks are declared for peripheral drivers that use | ||
7 | the common clock framework to reference their core clocks. Proper support of | ||
8 | these clocks will be added later | ||
9 | |||
10 | Device tree example: | ||
11 | |||
12 | clocks { | ||
13 | #address-cells = <1>; | ||
14 | #size-cells = <1>; | ||
15 | ranges; | ||
16 | |||
17 | osc: oscillator { | ||
18 | compatible = "fixed-clock"; | ||
19 | #clock-cells = <1>; | ||
20 | clock-frequency = <25000000>; | ||
21 | }; | ||
22 | |||
23 | apb_clk: apb_clk { | ||
24 | compatible = "fixed-clock"; | ||
25 | #clock-cells = <0>; | ||
26 | clock-frequency = <1000000000>; | ||
27 | }; | ||
28 | |||
29 | periph_clk: periph_clk { | ||
30 | compatible = "fixed-clock"; | ||
31 | #clock-cells = <0>; | ||
32 | clock-frequency = <500000000>; | ||
33 | }; | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/qoriq-clock.txt b/Documentation/devicetree/bindings/clock/qoriq-clock.txt index 5666812fc42b..266ff9d23229 100644 --- a/Documentation/devicetree/bindings/clock/qoriq-clock.txt +++ b/Documentation/devicetree/bindings/clock/qoriq-clock.txt | |||
@@ -62,6 +62,8 @@ Required properties: | |||
62 | It takes parent's clock-frequency as its clock. | 62 | It takes parent's clock-frequency as its clock. |
63 | * "fsl,qoriq-sysclk-2.0": for input system clock (v2.0). | 63 | * "fsl,qoriq-sysclk-2.0": for input system clock (v2.0). |
64 | It takes parent's clock-frequency as its clock. | 64 | It takes parent's clock-frequency as its clock. |
65 | * "fsl,qoriq-platform-pll-1.0" for the platform PLL clock (v1.0) | ||
66 | * "fsl,qoriq-platform-pll-2.0" for the platform PLL clock (v2.0) | ||
65 | - #clock-cells: From common clock binding. The number of cells in a | 67 | - #clock-cells: From common clock binding. The number of cells in a |
66 | clock-specifier. Should be <0> for "fsl,qoriq-sysclk-[1,2].0" | 68 | clock-specifier. Should be <0> for "fsl,qoriq-sysclk-[1,2].0" |
67 | clocks, or <1> for "fsl,qoriq-core-pll-[1,2].0" clocks. | 69 | clocks, or <1> for "fsl,qoriq-core-pll-[1,2].0" clocks. |
@@ -128,8 +130,16 @@ Example for clock block and clock provider: | |||
128 | clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; | 130 | clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; |
129 | clock-output-names = "cmux1"; | 131 | clock-output-names = "cmux1"; |
130 | }; | 132 | }; |
133 | |||
134 | platform-pll: platform-pll@c00 { | ||
135 | #clock-cells = <1>; | ||
136 | reg = <0xc00 0x4>; | ||
137 | compatible = "fsl,qoriq-platform-pll-1.0"; | ||
138 | clocks = <&sysclk>; | ||
139 | clock-output-names = "platform-pll", "platform-pll-div2"; | ||
140 | }; | ||
131 | }; | 141 | }; |
132 | } | 142 | }; |
133 | 143 | ||
134 | Example for clock consumer: | 144 | Example for clock consumer: |
135 | 145 | ||
@@ -139,4 +149,4 @@ Example for clock consumer: | |||
139 | clocks = <&mux0>; | 149 | clocks = <&mux0>; |
140 | ... | 150 | ... |
141 | }; | 151 | }; |
142 | } | 152 | }; |
diff --git a/Documentation/devicetree/bindings/clock/st/st,flexgen.txt b/Documentation/devicetree/bindings/clock/st/st,flexgen.txt index 1d3ace088172..b7ee5c7e0f75 100644 --- a/Documentation/devicetree/bindings/clock/st/st,flexgen.txt +++ b/Documentation/devicetree/bindings/clock/st/st,flexgen.txt | |||
@@ -11,7 +11,7 @@ Please find an example below: | |||
11 | 11 | ||
12 | Clockgen block diagram | 12 | Clockgen block diagram |
13 | ------------------------------------------------------------------- | 13 | ------------------------------------------------------------------- |
14 | | Flexgen stucture | | 14 | | Flexgen structure | |
15 | | --------------------------------------------- | | 15 | | --------------------------------------------- | |
16 | | | ------- -------- -------- | | | 16 | | | ------- -------- -------- | | |
17 | clk_sysin | | | | | | | | | | 17 | clk_sysin | | | | | | | | | |
diff --git a/Documentation/devicetree/bindings/clock/vf610-clock.txt b/Documentation/devicetree/bindings/clock/vf610-clock.txt index c80863d344ac..63f9f1ac3439 100644 --- a/Documentation/devicetree/bindings/clock/vf610-clock.txt +++ b/Documentation/devicetree/bindings/clock/vf610-clock.txt | |||
@@ -5,6 +5,19 @@ Required properties: | |||
5 | - reg: Address and length of the register set | 5 | - reg: Address and length of the register set |
6 | - #clock-cells: Should be <1> | 6 | - #clock-cells: Should be <1> |
7 | 7 | ||
8 | Optional properties: | ||
9 | - clocks: list of clock identifiers which are external input clocks to the | ||
10 | given clock controller. Please refer the next section to find | ||
11 | the input clocks for a given controller. | ||
12 | - clock-names: list of names of clocks which are exteral input clocks to the | ||
13 | given clock controller. | ||
14 | |||
15 | Input clocks for top clock controller: | ||
16 | - sxosc (external crystal oscillator 32KHz, recommended) | ||
17 | - fxosc (external crystal oscillator 24MHz, recommended) | ||
18 | - audio_ext | ||
19 | - enet_ext | ||
20 | |||
8 | The clock consumer should specify the desired clock by having the clock | 21 | The clock consumer should specify the desired clock by having the clock |
9 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h | 22 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h |
10 | for the full list of VF610 clock IDs. | 23 | for the full list of VF610 clock IDs. |
@@ -15,6 +28,8 @@ clks: ccm@4006b000 { | |||
15 | compatible = "fsl,vf610-ccm"; | 28 | compatible = "fsl,vf610-ccm"; |
16 | reg = <0x4006b000 0x1000>; | 29 | reg = <0x4006b000 0x1000>; |
17 | #clock-cells = <1>; | 30 | #clock-cells = <1>; |
31 | clocks = <&sxosc>, <&fxosc>; | ||
32 | clock-names = "sxosc", "fxosc"; | ||
18 | }; | 33 | }; |
19 | 34 | ||
20 | uart1: serial@40028000 { | 35 | uart1: serial@40028000 { |
diff --git a/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt b/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt index 5c65eccd0e56..e8a35c71e947 100644 --- a/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt +++ b/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | Freescale SAHARA Cryptographic Accelerator included in some i.MX chips. | 1 | Freescale SAHARA Cryptographic Accelerator included in some i.MX chips. |
2 | Currently only i.MX27 is supported. | 2 | Currently only i.MX27 and i.MX53 are supported. |
3 | 3 | ||
4 | Required properties: | 4 | Required properties: |
5 | - compatible : Should be "fsl,<soc>-sahara" | 5 | - compatible : Should be "fsl,<soc>-sahara" |
diff --git a/Documentation/devicetree/bindings/dma/atmel-xdma.txt b/Documentation/devicetree/bindings/dma/atmel-xdma.txt new file mode 100644 index 000000000000..0eb2b3207e08 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/atmel-xdma.txt | |||
@@ -0,0 +1,54 @@ | |||
1 | * Atmel Extensible Direct Memory Access Controller (XDMAC) | ||
2 | |||
3 | * XDMA Controller | ||
4 | Required properties: | ||
5 | - compatible: Should be "atmel,<chip>-dma". | ||
6 | <chip> compatible description: | ||
7 | - sama5d4: first SoC adding the XDMAC | ||
8 | - reg: Should contain DMA registers location and length. | ||
9 | - interrupts: Should contain DMA interrupt. | ||
10 | - #dma-cells: Must be <1>, used to represent the number of integer cells in | ||
11 | the dmas property of client devices. | ||
12 | - The 1st cell specifies the channel configuration register: | ||
13 | - bit 13: SIF, source interface identifier, used to get the memory | ||
14 | interface identifier, | ||
15 | - bit 14: DIF, destination interface identifier, used to get the peripheral | ||
16 | interface identifier, | ||
17 | - bit 30-24: PERID, peripheral identifier. | ||
18 | |||
19 | Example: | ||
20 | |||
21 | dma1: dma-controller@f0004000 { | ||
22 | compatible = "atmel,sama5d4-dma"; | ||
23 | reg = <0xf0004000 0x200>; | ||
24 | interrupts = <50 4 0>; | ||
25 | #dma-cells = <1>; | ||
26 | }; | ||
27 | |||
28 | |||
29 | * DMA clients | ||
30 | DMA clients connected to the Atmel XDMA controller must use the format | ||
31 | described in the dma.txt file, using a one-cell specifier for each channel. | ||
32 | The two cells in order are: | ||
33 | 1. A phandle pointing to the DMA controller. | ||
34 | 2. Channel configuration register. Configurable fields are: | ||
35 | - bit 13: SIF, source interface identifier, used to get the memory | ||
36 | interface identifier, | ||
37 | - bit 14: DIF, destination interface identifier, used to get the peripheral | ||
38 | interface identifier, | ||
39 | - bit 30-24: PERID, peripheral identifier. | ||
40 | |||
41 | Example: | ||
42 | |||
43 | i2c2: i2c@f8024000 { | ||
44 | compatible = "atmel,at91sam9x5-i2c"; | ||
45 | reg = <0xf8024000 0x4000>; | ||
46 | interrupts = <34 4 6>; | ||
47 | dmas = <&dma1 | ||
48 | (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | ||
49 | | AT91_XDMAC_DT_PERID(6))>, | ||
50 | <&dma1 | ||
51 | (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) | ||
52 | | AT91_XDMAC_DT_PERID(7))>; | ||
53 | dma-names = "tx", "rx"; | ||
54 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt index 4659fd952301..dc8d3aac1aa9 100644 --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | |||
@@ -48,6 +48,7 @@ The full ID of peripheral types can be found below. | |||
48 | 21 ESAI | 48 | 21 ESAI |
49 | 22 SSI Dual FIFO (needs firmware ver >= 2) | 49 | 22 SSI Dual FIFO (needs firmware ver >= 2) |
50 | 23 Shared ASRC | 50 | 23 Shared ASRC |
51 | 24 SAI | ||
51 | 52 | ||
52 | The third cell specifies the transfer priority as below. | 53 | The third cell specifies the transfer priority as below. |
53 | 54 | ||
diff --git a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt index d75a9d767022..f8c3311b7153 100644 --- a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt +++ b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt | |||
@@ -1,7 +1,9 @@ | |||
1 | QCOM BAM DMA controller | 1 | QCOM BAM DMA controller |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: must contain "qcom,bam-v1.4.0" for MSM8974 | 4 | - compatible: must be one of the following: |
5 | * "qcom,bam-v1.4.0" for MSM8974, APQ8074 and APQ8084 | ||
6 | * "qcom,bam-v1.3.0" for APQ8064, IPQ8064 and MSM8960 | ||
5 | - reg: Address range for DMA registers | 7 | - reg: Address range for DMA registers |
6 | - interrupts: Should contain the one interrupt shared by all channels | 8 | - interrupts: Should contain the one interrupt shared by all channels |
7 | - #dma-cells: must be <1>, the cell in the dmas property of the client device | 9 | - #dma-cells: must be <1>, the cell in the dmas property of the client device |
diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt b/Documentation/devicetree/bindings/dma/sun6i-dma.txt index 3e145c1675b1..9cdcba24d7c3 100644 --- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt +++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt | |||
@@ -4,7 +4,7 @@ This driver follows the generic DMA bindings defined in dma.txt. | |||
4 | 4 | ||
5 | Required properties: | 5 | Required properties: |
6 | 6 | ||
7 | - compatible: Must be "allwinner,sun6i-a31-dma" | 7 | - compatible: Must be "allwinner,sun6i-a31-dma" or "allwinner,sun8i-a23-dma" |
8 | - reg: Should contain the registers base address and length | 8 | - reg: Should contain the registers base address and length |
9 | - interrupts: Should contain a reference to the interrupt used by this device | 9 | - interrupts: Should contain a reference to the interrupt used by this device |
10 | - clocks: Should contain a reference to the parent AHB clock | 10 | - clocks: Should contain a reference to the parent AHB clock |
diff --git a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt b/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt index 1405ed071bb4..e4c4d47f8137 100644 --- a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt +++ b/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt | |||
@@ -25,7 +25,7 @@ Required child node properties: | |||
25 | - compatible: It should be either "xlnx,axi-vdma-mm2s-channel" or | 25 | - compatible: It should be either "xlnx,axi-vdma-mm2s-channel" or |
26 | "xlnx,axi-vdma-s2mm-channel". | 26 | "xlnx,axi-vdma-s2mm-channel". |
27 | - interrupts: Should contain per channel VDMA interrupts. | 27 | - interrupts: Should contain per channel VDMA interrupts. |
28 | - xlnx,data-width: Should contain the stream data width, take values | 28 | - xlnx,datawidth: Should contain the stream data width, take values |
29 | {32,64...1024}. | 29 | {32,64...1024}. |
30 | 30 | ||
31 | Optional child node properties: | 31 | Optional child node properties: |
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt b/Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt index e75f0e549fff..e75f0e549fff 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt +++ b/Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt | |||
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt b/Documentation/devicetree/bindings/drm/imx/hdmi.txt index 1b756cf9afb0..1b756cf9afb0 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt +++ b/Documentation/devicetree/bindings/drm/imx/hdmi.txt | |||
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/drm/imx/ldb.txt index 443bcb6134d5..443bcb6134d5 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt +++ b/Documentation/devicetree/bindings/drm/imx/ldb.txt | |||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt b/Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt new file mode 100644 index 000000000000..7bb1a9d60133 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | * 74XX MMIO GPIO driver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should contain one of the following: | ||
5 | "ti,741g125": for 741G125 (1-bit Input), | ||
6 | "ti,741g174": for 741G74 (1-bit Output), | ||
7 | "ti,742g125": for 742G125 (2-bit Input), | ||
8 | "ti,7474" : for 7474 (2-bit Output), | ||
9 | "ti,74125" : for 74125 (4-bit Input), | ||
10 | "ti,74175" : for 74175 (4-bit Output), | ||
11 | "ti,74365" : for 74365 (6-bit Input), | ||
12 | "ti,74174" : for 74174 (6-bit Output), | ||
13 | "ti,74244" : for 74244 (8-bit Input), | ||
14 | "ti,74273" : for 74273 (8-bit Output), | ||
15 | "ti,741624" : for 741624 (16-bit Input), | ||
16 | "ti,7416374": for 7416374 (16-bit Output). | ||
17 | - reg: Physical base address and length where IC resides. | ||
18 | - gpio-controller: Marks the device node as a gpio controller. | ||
19 | - #gpio-cells: Should be two. The first cell is the pin number and | ||
20 | the second cell is used to specify the GPIO polarity: | ||
21 | 0 = Active High, | ||
22 | 1 = Active Low. | ||
23 | |||
24 | Example: | ||
25 | ctrl: gpio@30008004 { | ||
26 | compatible = "ti,74174"; | ||
27 | reg = <0x30008004 0x1>; | ||
28 | gpio-controller; | ||
29 | #gpio-cells = <2>; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt index c306a2d0f2b1..f3332b9a8ed4 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt | |||
@@ -57,6 +57,8 @@ Optional device specific properties: | |||
57 | occurred on. If it is not set, the interrupt are only generated for the | 57 | occurred on. If it is not set, the interrupt are only generated for the |
58 | bank they belong to. | 58 | bank they belong to. |
59 | On devices with only one interrupt output this property is useless. | 59 | On devices with only one interrupt output this property is useless. |
60 | - microchip,irq-active-high: Sets the INTPOL flag in the IOCON register. This | ||
61 | configures the IRQ output polarity as active high. | ||
60 | 62 | ||
61 | Example I2C (with interrupt): | 63 | Example I2C (with interrupt): |
62 | gpiom1: gpio@20 { | 64 | gpiom1: gpio@20 { |
diff --git a/Documentation/devicetree/bindings/gpio/gpio-vf610.txt b/Documentation/devicetree/bindings/gpio/gpio-vf610.txt new file mode 100644 index 000000000000..436cc99c6598 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-vf610.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | * Freescale VF610 PORT/GPIO module | ||
2 | |||
3 | The Freescale PORT/GPIO modules are two adjacent modules providing GPIO | ||
4 | functionality. Each pair serves 32 GPIOs. The VF610 has 5 instances of | ||
5 | each, and each PORT module has its own interrupt. | ||
6 | |||
7 | Required properties for GPIO node: | ||
8 | - compatible : Should be "fsl,<soc>-gpio", currently "fsl,vf610-gpio" | ||
9 | - reg : The first reg tuple represents the PORT module, the second tuple | ||
10 | the GPIO module. | ||
11 | - interrupts : Should be the port interrupt shared by all 32 pins. | ||
12 | - gpio-controller : Marks the device node as a gpio controller. | ||
13 | - #gpio-cells : Should be two. The first cell is the pin number and | ||
14 | the second cell is used to specify the gpio polarity: | ||
15 | 0 = active high | ||
16 | 1 = active low | ||
17 | - interrupt-controller: Marks the device node as an interrupt controller. | ||
18 | - #interrupt-cells : Should be 2. The first cell is the GPIO number. | ||
19 | The second cell bits[3:0] is used to specify trigger type and level flags: | ||
20 | 1 = low-to-high edge triggered. | ||
21 | 2 = high-to-low edge triggered. | ||
22 | 4 = active high level-sensitive. | ||
23 | 8 = active low level-sensitive. | ||
24 | |||
25 | Note: Each GPIO port should have an alias correctly numbered in "aliases" | ||
26 | node. | ||
27 | |||
28 | Examples: | ||
29 | |||
30 | aliases { | ||
31 | gpio0 = &gpio1; | ||
32 | gpio1 = &gpio2; | ||
33 | }; | ||
34 | |||
35 | gpio1: gpio@40049000 { | ||
36 | compatible = "fsl,vf610-gpio"; | ||
37 | reg = <0x40049000 0x1000 0x400ff000 0x40>; | ||
38 | interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; | ||
39 | gpio-controller; | ||
40 | #gpio-cells = <2>; | ||
41 | interrupt-controller; | ||
42 | #interrupt-cells = <2>; | ||
43 | gpio-ranges = <&iomuxc 0 0 32>; | ||
44 | }; | ||
45 | |||
46 | gpio2: gpio@4004a000 { | ||
47 | compatible = "fsl,vf610-gpio"; | ||
48 | reg = <0x4004a000 0x1000 0x400ff040 0x40>; | ||
49 | interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; | ||
50 | gpio-controller; | ||
51 | #gpio-cells = <2>; | ||
52 | interrupt-controller; | ||
53 | #interrupt-cells = <2>; | ||
54 | gpio-ranges = <&iomuxc 0 32 32>; | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt index 3fb8f53071b8..b9bd1d64cfa6 100644 --- a/Documentation/devicetree/bindings/gpio/gpio.txt +++ b/Documentation/devicetree/bindings/gpio/gpio.txt | |||
@@ -13,13 +13,22 @@ properties, each containing a 'gpio-list': | |||
13 | gpio-specifier : Array of #gpio-cells specifying specific gpio | 13 | gpio-specifier : Array of #gpio-cells specifying specific gpio |
14 | (controller specific) | 14 | (controller specific) |
15 | 15 | ||
16 | GPIO properties should be named "[<name>-]gpios". The exact | 16 | GPIO properties should be named "[<name>-]gpios", with <name> being the purpose |
17 | meaning of each gpios property must be documented in the device tree | 17 | of this GPIO for the device. While a non-existent <name> is considered valid |
18 | binding for each device. | 18 | for compatibility reasons (resolving to the "gpios" property), it is not allowed |
19 | for new bindings. | ||
19 | 20 | ||
20 | For example, the following could be used to describe GPIO pins used | 21 | GPIO properties can contain one or more GPIO phandles, but only in exceptional |
21 | as chip select lines; with chip selects 0, 1 and 3 populated, and chip | 22 | cases should they contain more than one. If your device uses several GPIOs with |
22 | select 2 left empty: | 23 | distinct functions, reference each of them under its own property, giving it a |
24 | meaningful name. The only case where an array of GPIOs is accepted is when | ||
25 | several GPIOs serve the same function (e.g. a parallel data line). | ||
26 | |||
27 | The exact purpose of each gpios property must be documented in the device tree | ||
28 | binding of the device. | ||
29 | |||
30 | The following example could be used to describe GPIO pins used as device enable | ||
31 | and bit-banged data signals: | ||
23 | 32 | ||
24 | gpio1: gpio1 { | 33 | gpio1: gpio1 { |
25 | gpio-controller | 34 | gpio-controller |
@@ -30,10 +39,12 @@ select 2 left empty: | |||
30 | #gpio-cells = <1>; | 39 | #gpio-cells = <1>; |
31 | }; | 40 | }; |
32 | [...] | 41 | [...] |
33 | chipsel-gpios = <&gpio1 12 0>, | 42 | |
34 | <&gpio1 13 0>, | 43 | enable-gpios = <&gpio2 2>; |
35 | <0>, /* holes are permitted, means no GPIO 2 */ | 44 | data-gpios = <&gpio1 12 0>, |
36 | <&gpio2 2>; | 45 | <&gpio1 13 0>, |
46 | <&gpio1 14 0>, | ||
47 | <&gpio1 15 0>; | ||
37 | 48 | ||
38 | Note that gpio-specifier length is controller dependent. In the | 49 | Note that gpio-specifier length is controller dependent. In the |
39 | above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2 | 50 | above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2 |
@@ -42,16 +53,17 @@ only uses one. | |||
42 | gpio-specifier may encode: bank, pin position inside the bank, | 53 | gpio-specifier may encode: bank, pin position inside the bank, |
43 | whether pin is open-drain and whether pin is logically inverted. | 54 | whether pin is open-drain and whether pin is logically inverted. |
44 | Exact meaning of each specifier cell is controller specific, and must | 55 | Exact meaning of each specifier cell is controller specific, and must |
45 | be documented in the device tree binding for the device. | 56 | be documented in the device tree binding for the device. Use the macros |
57 | defined in include/dt-bindings/gpio/gpio.h whenever possible: | ||
46 | 58 | ||
47 | Example of a node using GPIOs: | 59 | Example of a node using GPIOs: |
48 | 60 | ||
49 | node { | 61 | node { |
50 | gpios = <&qe_pio_e 18 0>; | 62 | enable-gpios = <&qe_pio_e 18 GPIO_ACTIVE_HIGH>; |
51 | }; | 63 | }; |
52 | 64 | ||
53 | In this example gpio-specifier is "18 0" and encodes GPIO pin number, | 65 | GPIO_ACTIVE_HIGH is 0, so in this example gpio-specifier is "18 0" and encodes |
54 | and GPIO flags as accepted by the "qe_pio_e" gpio-controller. | 66 | GPIO pin number, and GPIO flags as accepted by the "qe_pio_e" gpio-controller. |
55 | 67 | ||
56 | 1.1) GPIO specifier best practices | 68 | 1.1) GPIO specifier best practices |
57 | ---------------------------------- | 69 | ---------------------------------- |
diff --git a/Documentation/devicetree/bindings/gpio/pl061-gpio.txt b/Documentation/devicetree/bindings/gpio/pl061-gpio.txt index a2c416bcbccc..89058d375b7c 100644 --- a/Documentation/devicetree/bindings/gpio/pl061-gpio.txt +++ b/Documentation/devicetree/bindings/gpio/pl061-gpio.txt | |||
@@ -7,4 +7,4 @@ Required properties: | |||
7 | - bit 0 specifies polarity (0 for normal, 1 for inverted) | 7 | - bit 0 specifies polarity (0 for normal, 1 for inverted) |
8 | - gpio-controller : Marks the device node as a GPIO controller. | 8 | - gpio-controller : Marks the device node as a GPIO controller. |
9 | - interrupts : Interrupt mapping for GPIO IRQ. | 9 | - interrupts : Interrupt mapping for GPIO IRQ. |
10 | 10 | - gpio-ranges : Interaction with the PINCTRL subsystem. | |
diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt index 941a26aa4322..38fb86f28ba2 100644 --- a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt +++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt | |||
@@ -6,7 +6,9 @@ Required Properties: | |||
6 | - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller. | 6 | - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller. |
7 | - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. | 7 | - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. |
8 | - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. | 8 | - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. |
9 | - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2) compatible GPIO controller. | 9 | - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2-W) compatible GPIO controller. |
10 | - "renesas,gpio-r8a7793": for R8A7793 (R-Car M2-N) compatible GPIO controller. | ||
11 | - "renesas,gpio-r8a7794": for R8A7794 (R-Car E2) compatible GPIO controller. | ||
10 | - "renesas,gpio-rcar": for generic R-Car GPIO controller. | 12 | - "renesas,gpio-rcar": for generic R-Car GPIO controller. |
11 | 13 | ||
12 | - reg: Base address and length of each memory resource used by the GPIO | 14 | - reg: Base address and length of each memory resource used by the GPIO |
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt index b48f4ef31d93..4c32ef0b7db8 100644 --- a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt +++ b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt | |||
@@ -191,6 +191,8 @@ of the following host1x client modules: | |||
191 | - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection | 191 | - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection |
192 | - nvidia,edid: supplies a binary EDID blob | 192 | - nvidia,edid: supplies a binary EDID blob |
193 | - nvidia,panel: phandle of a display panel | 193 | - nvidia,panel: phandle of a display panel |
194 | - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang | ||
195 | up with in order to support up to 8 data lanes | ||
194 | 196 | ||
195 | - sor: serial output resource | 197 | - sor: serial output resource |
196 | 198 | ||
diff --git a/Documentation/devicetree/bindings/gpu/st,stih4xx.txt b/Documentation/devicetree/bindings/gpu/st,stih4xx.txt index 2d150c311a05..c99eb34e640b 100644 --- a/Documentation/devicetree/bindings/gpu/st,stih4xx.txt +++ b/Documentation/devicetree/bindings/gpu/st,stih4xx.txt | |||
@@ -68,7 +68,7 @@ STMicroelectronics stih4xx platforms | |||
68 | number of clocks may depend of the SoC type. | 68 | number of clocks may depend of the SoC type. |
69 | - clock-names: names of the clocks listed in clocks property in the same | 69 | - clock-names: names of the clocks listed in clocks property in the same |
70 | order. | 70 | order. |
71 | - hdmi,hpd-gpio: gpio id to detect if an hdmi cable is plugged or not. | 71 | - ddc: phandle of an I2C controller used for DDC EDID probing |
72 | 72 | ||
73 | sti-hda: | 73 | sti-hda: |
74 | Required properties: | 74 | Required properties: |
@@ -83,6 +83,22 @@ sti-hda: | |||
83 | - clock-names: names of the clocks listed in clocks property in the same | 83 | - clock-names: names of the clocks listed in clocks property in the same |
84 | order. | 84 | order. |
85 | 85 | ||
86 | sti-hqvdp: | ||
87 | must be a child of sti-display-subsystem | ||
88 | Required properties: | ||
89 | - compatible: "st,stih<chip>-hqvdp" | ||
90 | - reg: Physical base address of the IP registers and length of memory mapped region. | ||
91 | - clocks: from common clock binding: handle hardware IP needed clocks, the | ||
92 | number of clocks may depend of the SoC type. | ||
93 | See ../clocks/clock-bindings.txt for details. | ||
94 | - clock-names: names of the clocks listed in clocks property in the same | ||
95 | order. | ||
96 | - resets: resets to be used by the device | ||
97 | See ../reset/reset.txt for details. | ||
98 | - reset-names: names of the resets listed in resets property in the same | ||
99 | order. | ||
100 | - st,vtg: phandle on vtg main device node. | ||
101 | |||
86 | Example: | 102 | Example: |
87 | 103 | ||
88 | / { | 104 | / { |
@@ -173,7 +189,6 @@ Example: | |||
173 | interrupt-names = "irq"; | 189 | interrupt-names = "irq"; |
174 | clock-names = "pix", "tmds", "phy", "audio"; | 190 | clock-names = "pix", "tmds", "phy", "audio"; |
175 | clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>; | 191 | clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>; |
176 | hdmi,hpd-gpio = <&PIO2 5>; | ||
177 | }; | 192 | }; |
178 | 193 | ||
179 | sti-hda@fe85a000 { | 194 | sti-hda@fe85a000 { |
@@ -184,6 +199,16 @@ Example: | |||
184 | clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; | 199 | clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; |
185 | }; | 200 | }; |
186 | }; | 201 | }; |
202 | |||
203 | sti-hqvdp@9c000000 { | ||
204 | compatible = "st,stih407-hqvdp"; | ||
205 | reg = <0x9C00000 0x100000>; | ||
206 | clock-names = "hqvdp", "pix_main"; | ||
207 | clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>, <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>; | ||
208 | reset-names = "hqvdp"; | ||
209 | resets = <&softreset STIH407_HDQVDP_SOFTRESET>; | ||
210 | st,vtg = <&vtg_main>; | ||
211 | }; | ||
187 | }; | 212 | }; |
188 | ... | 213 | ... |
189 | }; | 214 | }; |
diff --git a/Documentation/devicetree/bindings/hwmon/ltc2978.txt b/Documentation/devicetree/bindings/hwmon/ltc2978.txt new file mode 100644 index 000000000000..ed2f09dc2483 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/ltc2978.txt | |||
@@ -0,0 +1,39 @@ | |||
1 | ltc2978 | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should contain one of: | ||
5 | * "lltc,ltc2974" | ||
6 | * "lltc,ltc2977" | ||
7 | * "lltc,ltc2978" | ||
8 | * "lltc,ltc3880" | ||
9 | * "lltc,ltc3883" | ||
10 | * "lltc,ltm4676" | ||
11 | - reg: I2C slave address | ||
12 | |||
13 | Optional properties: | ||
14 | - regulators: A node that houses a sub-node for each regulator controlled by | ||
15 | the device. Each sub-node is identified using the node's name, with valid | ||
16 | values listed below. The content of each sub-node is defined by the | ||
17 | standard binding for regulators; see regulator.txt. | ||
18 | |||
19 | Valid names of regulators depend on number of supplies supported per device: | ||
20 | * ltc2974 : vout0 - vout3 | ||
21 | * ltc2977 : vout0 - vout7 | ||
22 | * ltc2978 : vout0 - vout7 | ||
23 | * ltc3880 : vout0 - vout1 | ||
24 | * ltc3883 : vout0 | ||
25 | * ltm4676 : vout0 - vout1 | ||
26 | |||
27 | Example: | ||
28 | ltc2978@5e { | ||
29 | compatible = "lltc,ltc2978"; | ||
30 | reg = <0x5e>; | ||
31 | regulators { | ||
32 | vout0 { | ||
33 | regulator-name = "FPGA-2.5V"; | ||
34 | }; | ||
35 | vout2 { | ||
36 | regulator-name = "FPGA-1.5V"; | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
diff --git a/Documentation/devicetree/bindings/hwrng/atmel-trng.txt b/Documentation/devicetree/bindings/hwrng/atmel-trng.txt new file mode 100644 index 000000000000..4ac5aaa2d024 --- /dev/null +++ b/Documentation/devicetree/bindings/hwrng/atmel-trng.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | Atmel TRNG (True Random Number Generator) block | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "atmel,at91sam9g45-trng" | ||
5 | - reg : Offset and length of the register set of this block | ||
6 | - interrupts : the interrupt number for the TRNG block | ||
7 | - clocks: should contain the TRNG clk source | ||
8 | |||
9 | Example: | ||
10 | |||
11 | trng@fffcc000 { | ||
12 | compatible = "atmel,at91sam9g45-trng"; | ||
13 | reg = <0xfffcc000 0x4000>; | ||
14 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>; | ||
15 | clocks = <&trng_clk>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-designware.txt b/Documentation/devicetree/bindings/i2c/i2c-designware.txt index 5199b0c8cf7a..fee26dc3e858 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-designware.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-designware.txt | |||
@@ -14,10 +14,10 @@ Optional properties : | |||
14 | - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds. | 14 | - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds. |
15 | This option is only supported in hardware blocks version 1.11a or newer. | 15 | This option is only supported in hardware blocks version 1.11a or newer. |
16 | 16 | ||
17 | - i2c-scl-falling-time : should contain the SCL falling time in nanoseconds. | 17 | - i2c-scl-falling-time-ns : should contain the SCL falling time in nanoseconds. |
18 | This value which is by default 300ns is used to compute the tLOW period. | 18 | This value which is by default 300ns is used to compute the tLOW period. |
19 | 19 | ||
20 | - i2c-sda-falling-time : should contain the SDA falling time in nanoseconds. | 20 | - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds. |
21 | This value which is by default 300ns is used to compute the tHIGH period. | 21 | This value which is by default 300ns is used to compute the tHIGH period. |
22 | 22 | ||
23 | Example : | 23 | Example : |
diff --git a/Documentation/devicetree/bindings/i2c/i2c-img-scb.txt b/Documentation/devicetree/bindings/i2c/i2c-img-scb.txt new file mode 100644 index 000000000000..b6461602dca5 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-img-scb.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | IMG Serial Control Bus (SCB) I2C Controller | ||
2 | |||
3 | Required Properties: | ||
4 | - compatible: "img,scb-i2c" | ||
5 | - reg: Physical base address and length of controller registers | ||
6 | - interrupts: Interrupt number used by the controller | ||
7 | - clocks : Should contain a clock specifier for each entry in clock-names | ||
8 | - clock-names : Should contain the following entries: | ||
9 | "scb", for the SCB core clock. | ||
10 | "sys", for the system clock. | ||
11 | - clock-frequency: The I2C bus frequency in Hz | ||
12 | - #address-cells: Should be <1> | ||
13 | - #size-cells: Should be <0> | ||
14 | |||
15 | Example: | ||
16 | |||
17 | i2c@18100000 { | ||
18 | compatible = "img,scb-i2c"; | ||
19 | reg = <0x18100000 0x200>; | ||
20 | interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>; | ||
21 | clocks = <&i2c0_clk>, <&system_clk>; | ||
22 | clock-names = "scb", "sys"; | ||
23 | clock-frequency = <400000>; | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.txt b/Documentation/devicetree/bindings/i2c/i2c-imx.txt index 4a8513e44740..52d37fd8d3e5 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-imx.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-imx.txt | |||
@@ -11,6 +11,8 @@ Required properties: | |||
11 | Optional properties: | 11 | Optional properties: |
12 | - clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. | 12 | - clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. |
13 | The absence of the propoerty indicates the default frequency 100 kHz. | 13 | The absence of the propoerty indicates the default frequency 100 kHz. |
14 | - dmas: A list of two dma specifiers, one for each entry in dma-names. | ||
15 | - dma-names: should contain "tx" and "rx". | ||
14 | 16 | ||
15 | Examples: | 17 | Examples: |
16 | 18 | ||
@@ -26,3 +28,12 @@ i2c@70038000 { /* HS-I2C on i.MX51 */ | |||
26 | interrupts = <64>; | 28 | interrupts = <64>; |
27 | clock-frequency = <400000>; | 29 | clock-frequency = <400000>; |
28 | }; | 30 | }; |
31 | |||
32 | i2c0: i2c@40066000 { /* i2c0 on vf610 */ | ||
33 | compatible = "fsl,vf610-i2c"; | ||
34 | reg = <0x40066000 0x1000>; | ||
35 | interrupts =<0 71 0x04>; | ||
36 | dmas = <&edma0 0 50>, | ||
37 | <&edma0 0 51>; | ||
38 | dma-names = "rx","tx"; | ||
39 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-meson.txt b/Documentation/devicetree/bindings/i2c/i2c-meson.txt new file mode 100644 index 000000000000..682f9a6f766e --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-meson.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | Amlogic Meson I2C controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "amlogic,meson6-i2c" | ||
5 | - reg: physical address and length of the device registers | ||
6 | - interrupts: a single interrupt specifier | ||
7 | - clocks: clock for the device | ||
8 | - #address-cells: should be <1> | ||
9 | - #size-cells: should be <0> | ||
10 | |||
11 | Optional properties: | ||
12 | - clock-frequency: the desired I2C bus clock frequency in Hz; in | ||
13 | absence of this property the default value is used (100 kHz). | ||
14 | |||
15 | Examples: | ||
16 | |||
17 | i2c@c8100500 { | ||
18 | compatible = "amlogic,meson6-i2c"; | ||
19 | reg = <0xc8100500 0x20>; | ||
20 | interrupts = <0 92 1>; | ||
21 | clocks = <&clk81>; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-opal.txt b/Documentation/devicetree/bindings/i2c/i2c-opal.txt new file mode 100644 index 000000000000..12bc61465ee5 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-opal.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | Device-tree bindings for I2C OPAL driver | ||
2 | ---------------------------------------- | ||
3 | |||
4 | Most of the device node and properties layout is specific to the firmware and | ||
5 | used by the firmware itself for configuring the port. From the linux | ||
6 | perspective, the properties of use are "ibm,port-name" and "ibm,opal-id". | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | - reg: Port-id within a given master | ||
11 | - compatible: must be "ibm,opal-i2c" | ||
12 | - ibm,opal-id: Refers to a specific bus and used to identify it when calling | ||
13 | the relevant OPAL functions. | ||
14 | - bus-frequency: Operating frequency of the i2c bus (in HZ). Informational for | ||
15 | linux, used by the FW though. | ||
16 | |||
17 | Optional properties: | ||
18 | - ibm,port-name: Firmware provides this name that uniquely identifies the i2c | ||
19 | port. | ||
20 | |||
21 | The node contains a number of other properties that are used by the FW itself | ||
22 | and depend on the specific hardware implementation. The example below depicts | ||
23 | a P8 on-chip bus. | ||
24 | |||
25 | Example: | ||
26 | |||
27 | i2c-bus@0 { | ||
28 | reg = <0x0>; | ||
29 | bus-frequency = <0x61a80>; | ||
30 | compatible = "ibm,power8-i2c-port", "ibm,opal-i2c"; | ||
31 | ibm,opal-id = <0x1>; | ||
32 | ibm,port-name = "p8_00000000_e1p0"; | ||
33 | #address-cells = <0x1>; | ||
34 | phandle = <0x10000006>; | ||
35 | #size-cells = <0x0>; | ||
36 | linux,phandle = <0x10000006>; | ||
37 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt b/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt index 278de8e64bbf..89b3250f049b 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt | |||
@@ -32,6 +32,7 @@ Optional properties: | |||
32 | specified, default value is 0. | 32 | specified, default value is 0. |
33 | - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not | 33 | - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not |
34 | specified, the default value in Hz is 100000. | 34 | specified, the default value in Hz is 100000. |
35 | - samsung,sysreg-phandle - handle to syscon used to control the system registers | ||
35 | 36 | ||
36 | Example: | 37 | Example: |
37 | 38 | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt b/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt index d2153ce36fa8..2bfc6e7ed094 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt | |||
@@ -2,6 +2,15 @@ Device tree configuration for Renesas IIC (sh_mobile) driver | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "renesas,iic-<soctype>". "renesas,rmobile-iic" as fallback | 4 | - compatible : "renesas,iic-<soctype>". "renesas,rmobile-iic" as fallback |
5 | Examples with soctypes are: | ||
6 | - "renesas,iic-r8a73a4" (R-Mobile APE6) | ||
7 | - "renesas,iic-r8a7740" (R-Mobile A1) | ||
8 | - "renesas,iic-r8a7790" (R-Car H2) | ||
9 | - "renesas,iic-r8a7791" (R-Car M2-W) | ||
10 | - "renesas,iic-r8a7792" (R-Car V2H) | ||
11 | - "renesas,iic-r8a7793" (R-Car M2-N) | ||
12 | - "renesas,iic-r8a7794" (R-Car E2) | ||
13 | - "renesas,iic-sh73a0" (SH-Mobile AG5) | ||
5 | - reg : address start and address range size of device | 14 | - reg : address start and address range size of device |
6 | - interrupts : interrupt of device | 15 | - interrupts : interrupt of device |
7 | - clocks : clock for device | 16 | - clocks : clock for device |
@@ -10,6 +19,11 @@ Required properties: | |||
10 | 19 | ||
11 | Optional properties: | 20 | Optional properties: |
12 | - clock-frequency : frequency of bus clock in Hz. Default 100kHz if unset. | 21 | - clock-frequency : frequency of bus clock in Hz. Default 100kHz if unset. |
22 | - dmas : Must contain a list of two references to DMA | ||
23 | specifiers, one for transmission, and one for | ||
24 | reception. | ||
25 | - dma-names : Must contain a list of two DMA names, "tx" and "rx". | ||
26 | |||
13 | 27 | ||
14 | Pinctrl properties might be needed, too. See there. | 28 | Pinctrl properties might be needed, too. See there. |
15 | 29 | ||
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index fbde415078e6..9f4e3824e71e 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -17,6 +17,9 @@ adi,adt7473 +/-1C TDM Extended Temp Range I.C | |||
17 | adi,adt7475 +/-1C TDM Extended Temp Range I.C | 17 | adi,adt7475 +/-1C TDM Extended Temp Range I.C |
18 | adi,adt7476 +/-1C TDM Extended Temp Range I.C | 18 | adi,adt7476 +/-1C TDM Extended Temp Range I.C |
19 | adi,adt7490 +/-1C TDM Extended Temp Range I.C | 19 | adi,adt7490 +/-1C TDM Extended Temp Range I.C |
20 | adi,adxl345 Three-Axis Digital Accelerometer | ||
21 | adi,adxl346 Three-Axis Digital Accelerometer | ||
22 | adi,adxl34x Three-Axis Digital Accelerometer | ||
20 | at,24c08 i2c serial eeprom (24cxx) | 23 | at,24c08 i2c serial eeprom (24cxx) |
21 | atmel,24c00 i2c serial eeprom (24cxx) | 24 | atmel,24c00 i2c serial eeprom (24cxx) |
22 | atmel,24c01 i2c serial eeprom (24cxx) | 25 | atmel,24c01 i2c serial eeprom (24cxx) |
@@ -56,6 +59,8 @@ gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire In | |||
56 | infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) | 59 | infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) |
57 | infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) | 60 | infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) |
58 | isl,isl12057 Intersil ISL12057 I2C RTC Chip | 61 | isl,isl12057 Intersil ISL12057 I2C RTC Chip |
62 | isil,isl29028 (deprecated, use isl) | ||
63 | isl,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor | ||
59 | maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator | 64 | maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator |
60 | maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs | 65 | maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs |
61 | maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface | 66 | maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface |
@@ -74,7 +79,12 @@ ovti,ov5642 OV5642: Color CMOS QSXGA (5-megapixel) Image Sensor with OmniBSI an | |||
74 | pericom,pt7c4338 Real-time Clock Module | 79 | pericom,pt7c4338 Real-time Clock Module |
75 | plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch | 80 | plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch |
76 | ramtron,24c64 i2c serial eeprom (24cxx) | 81 | ramtron,24c64 i2c serial eeprom (24cxx) |
82 | ricoh,r2025sd I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | ||
83 | ricoh,r2221tl I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | ||
77 | ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | 84 | ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC |
85 | ricoh,rs5c372b I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | ||
86 | ricoh,rv5c386 I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | ||
87 | ricoh,rv5c387a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | ||
78 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) | 88 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) |
79 | sii,s35390a 2-wire CMOS real-time clock | 89 | sii,s35390a 2-wire CMOS real-time clock |
80 | st-micro,24c256 i2c serial eeprom (24cxx) | 90 | st-micro,24c256 i2c serial eeprom (24cxx) |
diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt new file mode 100644 index 000000000000..4e36d6e2f7b6 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | Qualcomm's SPMI PMIC current ADC | ||
2 | |||
3 | QPNP PMIC current ADC (IADC) provides interface to clients to read current. | ||
4 | A 16 bit ADC is used for current measurements. IADC can measure the current | ||
5 | through an external resistor (channel 1) or internal (built-in) resistor | ||
6 | (channel 0). When using an external resistor it is to be described by | ||
7 | qcom,external-resistor-micro-ohms property. | ||
8 | |||
9 | IADC node: | ||
10 | |||
11 | - compatible: | ||
12 | Usage: required | ||
13 | Value type: <string> | ||
14 | Definition: Should contain "qcom,spmi-iadc". | ||
15 | |||
16 | - reg: | ||
17 | Usage: required | ||
18 | Value type: <prop-encoded-array> | ||
19 | Definition: IADC base address and length in the SPMI PMIC register map | ||
20 | |||
21 | - interrupts: | ||
22 | Usage: optional | ||
23 | Value type: <prop-encoded-array> | ||
24 | Definition: End of ADC conversion. | ||
25 | |||
26 | - qcom,external-resistor-micro-ohms: | ||
27 | Usage: optional | ||
28 | Value type: <u32> | ||
29 | Definition: Sense resister value in micro Ohm. | ||
30 | If not defined value of 10000 micro Ohms will be used. | ||
31 | |||
32 | Example: | ||
33 | /* IADC node */ | ||
34 | pmic_iadc: iadc@3600 { | ||
35 | compatible = "qcom,spmi-iadc"; | ||
36 | reg = <0x3600 0x100>; | ||
37 | interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>; | ||
38 | qcom,external-resistor-micro-ohms = <10000>; | ||
39 | #io-channel-cells = <1>; | ||
40 | }; | ||
41 | |||
42 | /* IIO client node */ | ||
43 | bat { | ||
44 | io-channels = <&pmic_iadc 0>; | ||
45 | io-channel-names = "iadc"; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt index 5d3ec1df226d..a9a5fe19ff2a 100644 --- a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt +++ b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Rockchip Successive Approximation Register (SAR) A/D Converter bindings | 1 | Rockchip Successive Approximation Register (SAR) A/D Converter bindings |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: Should be "rockchip,saradc" | 4 | - compatible: Should be "rockchip,saradc" or "rockchip,rk3066-tsadc" |
5 | - reg: physical base address of the controller and length of memory mapped | 5 | - reg: physical base address of the controller and length of memory mapped |
6 | region. | 6 | region. |
7 | - interrupts: The interrupt number to the cpu. The interrupt specifier format | 7 | - interrupts: The interrupt number to the cpu. The interrupt specifier format |
diff --git a/Documentation/devicetree/bindings/input/cap1106.txt b/Documentation/devicetree/bindings/input/cap11xx.txt index 4b463904cba0..7d0a3009771b 100644 --- a/Documentation/devicetree/bindings/input/cap1106.txt +++ b/Documentation/devicetree/bindings/input/cap11xx.txt | |||
@@ -1,14 +1,16 @@ | |||
1 | Device tree bindings for Microchip CAP1106, 6 channel capacitive touch sensor | 1 | Device tree bindings for Microchip CAP11xx based capacitive touch sensors |
2 | 2 | ||
3 | The node for this driver must be a child of a I2C controller node, as the | 3 | The node for this device must be a child of a I2C controller node, as the |
4 | device communication via I2C only. | 4 | device communication via I2C only. |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | 7 | ||
8 | compatible: Must be "microchip,cap1106" | 8 | compatible: Must contain one of: |
9 | "microchip,cap1106" | ||
10 | "microchip,cap1126" | ||
11 | "microchip,cap1188" | ||
9 | 12 | ||
10 | reg: The I2C slave address of the device. | 13 | reg: The I2C slave address of the device. |
11 | Only 0x28 is valid. | ||
12 | 14 | ||
13 | interrupts: Property describing the interrupt line the | 15 | interrupts: Property describing the interrupt line the |
14 | device's ALERT#/CM_IRQ# pin is connected to. | 16 | device's ALERT#/CM_IRQ# pin is connected to. |
@@ -26,6 +28,10 @@ Optional properties: | |||
26 | Valid values are 1, 2, 4, and 8. | 28 | Valid values are 1, 2, 4, and 8. |
27 | By default, a gain of 1 is set. | 29 | By default, a gain of 1 is set. |
28 | 30 | ||
31 | microchip,irq-active-high: By default the interrupt pin is active low | ||
32 | open drain. This property allows using the active | ||
33 | high push-pull output. | ||
34 | |||
29 | linux,keycodes: Specifies an array of numeric keycode values to | 35 | linux,keycodes: Specifies an array of numeric keycode values to |
30 | be used for the channels. If this property is | 36 | be used for the channels. If this property is |
31 | omitted, KEY_A, KEY_B, etc are used as | 37 | omitted, KEY_A, KEY_B, etc are used as |
@@ -43,11 +49,11 @@ i2c_controller { | |||
43 | autorepeat; | 49 | autorepeat; |
44 | microchip,sensor-gain = <2>; | 50 | microchip,sensor-gain = <2>; |
45 | 51 | ||
46 | linux,keycodes = <103 /* KEY_UP */ | 52 | linux,keycodes = <103>, /* KEY_UP */ |
47 | 106 /* KEY_RIGHT */ | 53 | <106>, /* KEY_RIGHT */ |
48 | 108 /* KEY_DOWN */ | 54 | <108>, /* KEY_DOWN */ |
49 | 105 /* KEY_LEFT */ | 55 | <105>, /* KEY_LEFT */ |
50 | 109 /* KEY_PAGEDOWN */ | 56 | <109>, /* KEY_PAGEDOWN */ |
51 | 104>; /* KEY_PAGEUP */ | 57 | <104>; /* KEY_PAGEUP */ |
52 | }; | 58 | }; |
53 | } | 59 | } |
diff --git a/Documentation/devicetree/bindings/input/elan_i2c.txt b/Documentation/devicetree/bindings/input/elan_i2c.txt new file mode 100644 index 000000000000..ee3242c4ba67 --- /dev/null +++ b/Documentation/devicetree/bindings/input/elan_i2c.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | Elantech I2C Touchpad | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "elan,ekth3000". | ||
5 | - reg: I2C address of the chip. | ||
6 | - interrupt-parent: a phandle for the interrupt controller (see interrupt | ||
7 | binding[0]). | ||
8 | - interrupts: interrupt to which the chip is connected (see interrupt | ||
9 | binding[0]). | ||
10 | |||
11 | Optional properties: | ||
12 | - wakeup-source: touchpad can be used as a wakeup source. | ||
13 | - pinctrl-names: should be "default" (see pinctrl binding [1]). | ||
14 | - pinctrl-0: a phandle pointing to the pin settings for the device (see | ||
15 | pinctrl binding [1]). | ||
16 | - vcc-supply: a phandle for the regulator supplying 3.3V power. | ||
17 | |||
18 | [0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
19 | [1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | ||
20 | |||
21 | Example: | ||
22 | &i2c1 { | ||
23 | /* ... */ | ||
24 | |||
25 | touchpad@15 { | ||
26 | compatible = "elan,ekth3000"; | ||
27 | reg = <0x15>; | ||
28 | interrupt-parent = <&gpio4>; | ||
29 | interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>; | ||
30 | wakeup-source; | ||
31 | }; | ||
32 | |||
33 | /* ... */ | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/elants_i2c.txt b/Documentation/devicetree/bindings/input/elants_i2c.txt new file mode 100644 index 000000000000..a765232e6446 --- /dev/null +++ b/Documentation/devicetree/bindings/input/elants_i2c.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | Elantech I2C Touchscreen | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "elan,ekth3500". | ||
5 | - reg: I2C address of the chip. | ||
6 | - interrupt-parent: a phandle for the interrupt controller (see interrupt | ||
7 | binding[0]). | ||
8 | - interrupts: interrupt to which the chip is connected (see interrupt | ||
9 | binding[0]). | ||
10 | |||
11 | Optional properties: | ||
12 | - wakeup-source: touchscreen can be used as a wakeup source. | ||
13 | - pinctrl-names: should be "default" (see pinctrl binding [1]). | ||
14 | - pinctrl-0: a phandle pointing to the pin settings for the device (see | ||
15 | pinctrl binding [1]). | ||
16 | |||
17 | [0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
18 | [1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | ||
19 | |||
20 | Example: | ||
21 | &i2c1 { | ||
22 | /* ... */ | ||
23 | |||
24 | touchscreen@10 { | ||
25 | compatible = "elan,ekth3500"; | ||
26 | reg = <0x10>; | ||
27 | interrupt-parent = <&gpio4>; | ||
28 | interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>; | ||
29 | wakeup-source; | ||
30 | }; | ||
31 | |||
32 | /* ... */ | ||
33 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/gpio-keys.txt b/Documentation/devicetree/bindings/input/gpio-keys.txt index 5c2c02140a62..a4a38fcf2ed6 100644 --- a/Documentation/devicetree/bindings/input/gpio-keys.txt +++ b/Documentation/devicetree/bindings/input/gpio-keys.txt | |||
@@ -10,10 +10,13 @@ Optional properties: | |||
10 | Each button (key) is represented as a sub-node of "gpio-keys": | 10 | Each button (key) is represented as a sub-node of "gpio-keys": |
11 | Subnode properties: | 11 | Subnode properties: |
12 | 12 | ||
13 | - gpios: OF device-tree gpio specification. | ||
14 | - label: Descriptive name of the key. | 13 | - label: Descriptive name of the key. |
15 | - linux,code: Keycode to emit. | 14 | - linux,code: Keycode to emit. |
16 | 15 | ||
16 | Required mutual exclusive subnode-properties: | ||
17 | - gpios: OF device-tree gpio specification. | ||
18 | - interrupts: the interrupt line for that input | ||
19 | |||
17 | Optional subnode-properties: | 20 | Optional subnode-properties: |
18 | - linux,input-type: Specify event type this button/key generates. | 21 | - linux,input-type: Specify event type this button/key generates. |
19 | If not specified defaults to <1> == EV_KEY. | 22 | If not specified defaults to <1> == EV_KEY. |
@@ -33,4 +36,9 @@ Example nodes: | |||
33 | linux,code = <103>; | 36 | linux,code = <103>; |
34 | gpios = <&gpio1 0 1>; | 37 | gpios = <&gpio1 0 1>; |
35 | }; | 38 | }; |
39 | button@22 { | ||
40 | label = "GPIO Key DOWN"; | ||
41 | linux,code = <108>; | ||
42 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | ||
43 | }; | ||
36 | ... | 44 | ... |
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt index ff812a8a82bc..bae1f2187226 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt | |||
@@ -13,7 +13,12 @@ Such an interrupt controller has the following hardware design: | |||
13 | or if they will output an interrupt signal at this 2nd level interrupt | 13 | or if they will output an interrupt signal at this 2nd level interrupt |
14 | controller, in particular for UARTs | 14 | controller, in particular for UARTs |
15 | 15 | ||
16 | - not all 32-bits within the interrupt controller actually map to an interrupt | 16 | - typically has one 32-bit enable word and one 32-bit status word, but on |
17 | some hardware may have more than one enable/status pair | ||
18 | |||
19 | - no atomic set/clear operations | ||
20 | |||
21 | - not all bits within the interrupt controller actually map to an interrupt | ||
17 | 22 | ||
18 | The typical hardware layout for this controller is represented below: | 23 | The typical hardware layout for this controller is represented below: |
19 | 24 | ||
@@ -48,7 +53,9 @@ The typical hardware layout for this controller is represented below: | |||
48 | Required properties: | 53 | Required properties: |
49 | 54 | ||
50 | - compatible: should be "brcm,bcm7120-l2-intc" | 55 | - compatible: should be "brcm,bcm7120-l2-intc" |
51 | - reg: specifies the base physical address and size of the registers | 56 | - reg: specifies the base physical address and size of the registers; |
57 | multiple pairs may be specified, with the first pair handling IRQ offsets | ||
58 | 0..31 and the second pair handling 32..63 | ||
52 | - interrupt-controller: identifies the node as an interrupt controller | 59 | - interrupt-controller: identifies the node as an interrupt controller |
53 | - #interrupt-cells: specifies the number of cells needed to encode an interrupt | 60 | - #interrupt-cells: specifies the number of cells needed to encode an interrupt |
54 | source, should be 1. | 61 | source, should be 1. |
@@ -59,18 +66,21 @@ Required properties: | |||
59 | - brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts | 66 | - brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts |
60 | are wired to this 2nd level interrupt controller, and how they match their | 67 | are wired to this 2nd level interrupt controller, and how they match their |
61 | respective interrupt parents. Should match exactly the number of interrupts | 68 | respective interrupt parents. Should match exactly the number of interrupts |
62 | specified in the 'interrupts' property. | 69 | specified in the 'interrupts' property, multiplied by the number of |
70 | enable/status register pairs implemented by this controller. For | ||
71 | multiple parent IRQs with multiple enable/status words, this looks like: | ||
72 | <irq0_w0 irq0_w1 irq1_w0 irq1_w1 ...> | ||
63 | 73 | ||
64 | Optional properties: | 74 | Optional properties: |
65 | 75 | ||
66 | - brcm,irq-can-wake: if present, this means the L2 controller can be used as a | 76 | - brcm,irq-can-wake: if present, this means the L2 controller can be used as a |
67 | wakeup source for system suspend/resume. | 77 | wakeup source for system suspend/resume. |
68 | 78 | ||
69 | - brcm,int-fwd-mask: if present, a 32-bits bit mask to configure for the | 79 | - brcm,int-fwd-mask: if present, a bit mask to configure the interrupts which |
70 | interrupts which have a mux gate, typically UARTs. Setting these bits will | 80 | have a mux gate, typically UARTs. Setting these bits will make their |
71 | make their respective interrupts outputs bypass this 2nd level interrupt | 81 | respective interrupt outputs bypass this 2nd level interrupt controller |
72 | controller completely, it completely transparent for the interrupt controller | 82 | completely; it is completely transparent for the interrupt controller |
73 | parent | 83 | parent. This should have one 32-bit word per enable/status pair. |
74 | 84 | ||
75 | Example: | 85 | Example: |
76 | 86 | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt b/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt index ce6a1a072028..8a3c40829899 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | |||
@@ -30,10 +30,6 @@ should only be used when a device has multiple interrupt parents. | |||
30 | Example: | 30 | Example: |
31 | interrupts-extended = <&intc1 5 1>, <&intc2 1 0>; | 31 | interrupts-extended = <&intc1 5 1>, <&intc2 1 0>; |
32 | 32 | ||
33 | A device node may contain either "interrupts" or "interrupts-extended", but not | ||
34 | both. If both properties are present, then the operating system should log an | ||
35 | error and use only the data in "interrupts". | ||
36 | |||
37 | 2) Interrupt controller nodes | 33 | 2) Interrupt controller nodes |
38 | ----------------------------- | 34 | ----------------------------- |
39 | 35 | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt b/Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt new file mode 100644 index 000000000000..5a65478e5d40 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | MIPS Global Interrupt Controller (GIC) | ||
2 | |||
3 | The MIPS GIC routes external interrupts to individual VPEs and IRQ pins. | ||
4 | It also supports local (per-processor) interrupts and software-generated | ||
5 | interrupts which can be used as IPIs. The GIC also includes a free-running | ||
6 | global timer, per-CPU count/compare timers, and a watchdog. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Should be "mti,gic". | ||
10 | - interrupt-controller : Identifies the node as an interrupt controller | ||
11 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
12 | interrupt specifier. Should be 3. | ||
13 | - The first cell is the type of interrupt, local or shared. | ||
14 | See <include/dt-bindings/interrupt-controller/mips-gic.h>. | ||
15 | - The second cell is the GIC interrupt number. | ||
16 | - The third cell encodes the interrupt flags. | ||
17 | See <include/dt-bindings/interrupt-controller/irq.h> for a list of valid | ||
18 | flags. | ||
19 | |||
20 | Optional properties: | ||
21 | - reg : Base address and length of the GIC registers. If not present, | ||
22 | the base address reported by the hardware GCR_GIC_BASE will be used. | ||
23 | - mti,reserved-cpu-vectors : Specifies the list of CPU interrupt vectors | ||
24 | to which the GIC may not route interrupts. Valid values are 2 - 7. | ||
25 | This property is ignored if the CPU is started in EIC mode. | ||
26 | |||
27 | Required properties for timer sub-node: | ||
28 | - compatible : Should be "mti,gic-timer". | ||
29 | - interrupts : Interrupt for the GIC local timer. | ||
30 | - clock-frequency : Clock frequency at which the GIC timers operate. | ||
31 | |||
32 | Example: | ||
33 | |||
34 | gic: interrupt-controller@1bdc0000 { | ||
35 | compatible = "mti,gic"; | ||
36 | reg = <0x1bdc0000 0x20000>; | ||
37 | |||
38 | interrupt-controller; | ||
39 | #interrupt-cells = <3>; | ||
40 | |||
41 | mti,reserved-cpu-vectors = <7>; | ||
42 | |||
43 | timer { | ||
44 | compatible = "mti,gic-timer"; | ||
45 | interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>; | ||
46 | clock-frequency = <50000000>; | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | uart@18101400 { | ||
51 | ... | ||
52 | interrupt-parent = <&gic>; | ||
53 | interrupts = <GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>; | ||
54 | ... | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/iommu/rockchip,iommu.txt b/Documentation/devicetree/bindings/iommu/rockchip,iommu.txt new file mode 100644 index 000000000000..9a55ac3735e5 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/rockchip,iommu.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | Rockchip IOMMU | ||
2 | ============== | ||
3 | |||
4 | A Rockchip DRM iommu translates io virtual addresses to physical addresses for | ||
5 | its master device. Each slave device is bound to a single master device, and | ||
6 | shares its clocks, power domain and irq. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Should be "rockchip,iommu" | ||
10 | - reg : Address space for the configuration registers | ||
11 | - interrupts : Interrupt specifier for the IOMMU instance | ||
12 | - interrupt-names : Interrupt name for the IOMMU instance | ||
13 | - #iommu-cells : Should be <0>. This indicates the iommu is a | ||
14 | "single-master" device, and needs no additional information | ||
15 | to associate with its master device. See: | ||
16 | Documentation/devicetree/bindings/iommu/iommu.txt | ||
17 | |||
18 | Example: | ||
19 | |||
20 | vopl_mmu: iommu@ff940300 { | ||
21 | compatible = "rockchip,iommu"; | ||
22 | reg = <0xff940300 0x100>; | ||
23 | interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; | ||
24 | interrupt-names = "vopl_mmu"; | ||
25 | #iommu-cells = <0>; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/leds/leds-lp8860.txt b/Documentation/devicetree/bindings/leds/leds-lp8860.txt new file mode 100644 index 000000000000..aad38dd94d4b --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-lp8860.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | * Texas Instruments - lp8860 4-Channel LED Driver | ||
2 | |||
3 | The LP8860-Q1 is an high-efficiency LED | ||
4 | driver with boost controller. It has 4 high-precision | ||
5 | current sinks that can be controlled by a PWM input | ||
6 | signal, a SPI/I2C master, or both. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible: | ||
10 | "ti,lp8860" | ||
11 | - reg - I2C slave address | ||
12 | - label - Used for naming LEDs | ||
13 | |||
14 | Optional properties: | ||
15 | - enable-gpio - gpio pin to enable/disable the device. | ||
16 | - supply - "vled" - LED supply | ||
17 | |||
18 | Example: | ||
19 | |||
20 | leds: leds@6 { | ||
21 | compatible = "ti,lp8860"; | ||
22 | reg = <0x2d>; | ||
23 | label = "display_cluster"; | ||
24 | enable-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; | ||
25 | vled-supply = <&vbatt>; | ||
26 | } | ||
27 | |||
28 | For more product information please see the link below: | ||
29 | http://www.ti.com/product/lp8860-q1 | ||
diff --git a/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt b/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt index 48edc4b92afb..d1a043339c11 100644 --- a/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt +++ b/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt | |||
@@ -43,6 +43,9 @@ Required properties: | |||
43 | device. The format is dependent on which interrupt | 43 | device. The format is dependent on which interrupt |
44 | controller the OMAP device uses | 44 | controller the OMAP device uses |
45 | - ti,hwmods: Name of the hwmod associated with the mailbox | 45 | - ti,hwmods: Name of the hwmod associated with the mailbox |
46 | - #mbox-cells: Common mailbox binding property to identify the number | ||
47 | of cells required for the mailbox specifier. Should be | ||
48 | 1 | ||
46 | - ti,mbox-num-users: Number of targets (processor devices) that the mailbox | 49 | - ti,mbox-num-users: Number of targets (processor devices) that the mailbox |
47 | device can interrupt | 50 | device can interrupt |
48 | - ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block | 51 | - ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block |
@@ -72,6 +75,18 @@ data that represent the following: | |||
72 | Cell #3 (usr_id) - mailbox user id for identifying the interrupt line | 75 | Cell #3 (usr_id) - mailbox user id for identifying the interrupt line |
73 | associated with generating a tx/rx fifo interrupt. | 76 | associated with generating a tx/rx fifo interrupt. |
74 | 77 | ||
78 | Mailbox Users: | ||
79 | ============== | ||
80 | A device needing to communicate with a target processor device should specify | ||
81 | them using the common mailbox binding properties, "mboxes" and the optional | ||
82 | "mbox-names" (please see Documentation/devicetree/bindings/mailbox/mailbox.txt | ||
83 | for details). Each value of the mboxes property should contain a phandle to the | ||
84 | mailbox controller device node and an args specifier that will be the phandle to | ||
85 | the intended sub-mailbox child node to be used for communication. The equivalent | ||
86 | "mbox-names" property value can be used to give a name to the communication channel | ||
87 | to be used by the client user. | ||
88 | |||
89 | |||
75 | Example: | 90 | Example: |
76 | -------- | 91 | -------- |
77 | 92 | ||
@@ -81,6 +96,7 @@ mailbox: mailbox@4a0f4000 { | |||
81 | reg = <0x4a0f4000 0x200>; | 96 | reg = <0x4a0f4000 0x200>; |
82 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; | 97 | interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; |
83 | ti,hwmods = "mailbox"; | 98 | ti,hwmods = "mailbox"; |
99 | #mbox-cells = <1>; | ||
84 | ti,mbox-num-users = <3>; | 100 | ti,mbox-num-users = <3>; |
85 | ti,mbox-num-fifos = <8>; | 101 | ti,mbox-num-fifos = <8>; |
86 | mbox_ipu: mbox_ipu { | 102 | mbox_ipu: mbox_ipu { |
@@ -93,12 +109,19 @@ mailbox: mailbox@4a0f4000 { | |||
93 | }; | 109 | }; |
94 | }; | 110 | }; |
95 | 111 | ||
112 | dsp { | ||
113 | ... | ||
114 | mboxes = <&mailbox &mbox_dsp>; | ||
115 | ... | ||
116 | }; | ||
117 | |||
96 | /* AM33xx */ | 118 | /* AM33xx */ |
97 | mailbox: mailbox@480C8000 { | 119 | mailbox: mailbox@480C8000 { |
98 | compatible = "ti,omap4-mailbox"; | 120 | compatible = "ti,omap4-mailbox"; |
99 | reg = <0x480C8000 0x200>; | 121 | reg = <0x480C8000 0x200>; |
100 | interrupts = <77>; | 122 | interrupts = <77>; |
101 | ti,hwmods = "mailbox"; | 123 | ti,hwmods = "mailbox"; |
124 | #mbox-cells = <1>; | ||
102 | ti,mbox-num-users = <4>; | 125 | ti,mbox-num-users = <4>; |
103 | ti,mbox-num-fifos = <8>; | 126 | ti,mbox-num-fifos = <8>; |
104 | mbox_wkupm3: wkup_m3 { | 127 | mbox_wkupm3: wkup_m3 { |
diff --git a/Documentation/devicetree/bindings/media/meson-ir.txt b/Documentation/devicetree/bindings/media/meson-ir.txt new file mode 100644 index 000000000000..407848e85f31 --- /dev/null +++ b/Documentation/devicetree/bindings/media/meson-ir.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * Amlogic Meson IR remote control receiver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be "amlogic,meson6-ir" | ||
5 | - reg : physical base address and length of the device registers | ||
6 | - interrupts : a single specifier for the interrupt from the device | ||
7 | |||
8 | Example: | ||
9 | |||
10 | ir-receiver@c8100480 { | ||
11 | compatible= "amlogic,meson6-ir"; | ||
12 | reg = <0xc8100480 0x20>; | ||
13 | interrupts = <0 15 1>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt index ba61782c2af9..9dafe6b06cd2 100644 --- a/Documentation/devicetree/bindings/media/rcar_vin.txt +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt | |||
@@ -6,6 +6,8 @@ family of devices. The current blocks are always slaves and suppot one input | |||
6 | channel which can be either RGB, YUYV or BT656. | 6 | channel which can be either RGB, YUYV or BT656. |
7 | 7 | ||
8 | - compatible: Must be one of the following | 8 | - compatible: Must be one of the following |
9 | - "renesas,vin-r8a7794" for the R8A7794 device | ||
10 | - "renesas,vin-r8a7793" for the R8A7793 device | ||
9 | - "renesas,vin-r8a7791" for the R8A7791 device | 11 | - "renesas,vin-r8a7791" for the R8A7791 device |
10 | - "renesas,vin-r8a7790" for the R8A7790 device | 12 | - "renesas,vin-r8a7790" for the R8A7790 device |
11 | - "renesas,vin-r8a7779" for the R8A7779 device | 13 | - "renesas,vin-r8a7779" for the R8A7779 device |
diff --git a/Documentation/devicetree/bindings/media/si4713.txt b/Documentation/devicetree/bindings/media/si4713.txt new file mode 100644 index 000000000000..5ee5552d3465 --- /dev/null +++ b/Documentation/devicetree/bindings/media/si4713.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | * Silicon Labs FM Radio transmitter | ||
2 | |||
3 | The Silicon Labs Si4713 is an FM radio transmitter with receive power scan | ||
4 | supporting 76-108 MHz. It includes an RDS encoder and has both, a stereo-analog | ||
5 | and a digital interface, which supports I2S, left-justified and a custom | ||
6 | DSP-mode format. It is programmable through an I2C interface. | ||
7 | |||
8 | Required Properties: | ||
9 | - compatible: Should contain "silabs,si4713" | ||
10 | - reg: the I2C address of the device | ||
11 | |||
12 | Optional Properties: | ||
13 | - interrupts-extended: Interrupt specifier for the chips interrupt | ||
14 | - reset-gpios: GPIO specifier for the chips reset line | ||
15 | - vdd-supply: phandle for Vdd regulator | ||
16 | - vio-supply: phandle for Vio regulator | ||
17 | |||
18 | Example: | ||
19 | |||
20 | &i2c2 { | ||
21 | fmtx: si4713@63 { | ||
22 | compatible = "silabs,si4713"; | ||
23 | reg = <0x63>; | ||
24 | |||
25 | interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */ | ||
26 | reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */ | ||
27 | vio-supply = <&vio>; | ||
28 | vdd-supply = <&vaux1>; | ||
29 | }; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt b/Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt new file mode 100644 index 000000000000..89657d1d4cd4 --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | Device Tree bindings for MVEBU SDRAM controllers | ||
2 | |||
3 | The Marvell EBU SoCs all have a SDRAM controller. The SDRAM controller | ||
4 | differs from one SoC variant to another, but they also share a number | ||
5 | of commonalities. | ||
6 | |||
7 | For now, this Device Tree binding documentation only documents the | ||
8 | Armada XP SDRAM controller. | ||
9 | |||
10 | Required properties: | ||
11 | |||
12 | - compatible: for Armada XP, "marvell,armada-xp-sdram-controller" | ||
13 | - reg: a resource specifier for the register space, which should | ||
14 | include all SDRAM controller registers as per the datasheet. | ||
15 | |||
16 | Example: | ||
17 | |||
18 | sdramc@1400 { | ||
19 | compatible = "marvell,armada-xp-sdram-controller"; | ||
20 | reg = <0x1400 0x500>; | ||
21 | }; | ||
diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt new file mode 100644 index 000000000000..f3db93c85eea --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | NVIDIA Tegra Memory Controller device tree bindings | ||
2 | =================================================== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: Should be "nvidia,tegra<chip>-mc" | ||
6 | - reg: Physical base address and length of the controller's registers. | ||
7 | - clocks: Must contain an entry for each entry in clock-names. | ||
8 | See ../clocks/clock-bindings.txt for details. | ||
9 | - clock-names: Must include the following entries: | ||
10 | - mc: the module's clock input | ||
11 | - interrupts: The interrupt outputs from the controller. | ||
12 | - #iommu-cells: Should be 1. The single cell of the IOMMU specifier defines | ||
13 | the SWGROUP of the master. | ||
14 | |||
15 | This device implements an IOMMU that complies with the generic IOMMU binding. | ||
16 | See ../iommu/iommu.txt for details. | ||
17 | |||
18 | Example: | ||
19 | -------- | ||
20 | |||
21 | mc: memory-controller@0,70019000 { | ||
22 | compatible = "nvidia,tegra124-mc"; | ||
23 | reg = <0x0 0x70019000 0x0 0x1000>; | ||
24 | clocks = <&tegra_car TEGRA124_CLK_MC>; | ||
25 | clock-names = "mc"; | ||
26 | |||
27 | interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; | ||
28 | |||
29 | #iommu-cells = <1>; | ||
30 | }; | ||
31 | |||
32 | sdhci@0,700b0000 { | ||
33 | compatible = "nvidia,tegra124-sdhci"; | ||
34 | ... | ||
35 | iommus = <&mc TEGRA_SWGROUP_SDMMC1A>; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt new file mode 100644 index 000000000000..f64de95a8e8b --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt | |||
@@ -0,0 +1,51 @@ | |||
1 | Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: value should be one of the following: | ||
5 | "atmel,sama5d3-hlcdc" | ||
6 | - reg: base address and size of the HLCDC device registers. | ||
7 | - clock-names: the name of the 3 clocks requested by the HLCDC device. | ||
8 | Should contain "periph_clk", "sys_clk" and "slow_clk". | ||
9 | - clocks: should contain the 3 clocks requested by the HLCDC device. | ||
10 | - interrupts: should contain the description of the HLCDC interrupt line | ||
11 | |||
12 | The HLCDC IP exposes two subdevices: | ||
13 | - a PWM chip: see ../pwm/atmel-hlcdc-pwm.txt | ||
14 | - a Display Controller: see ../drm/atmel-hlcdc-dc.txt | ||
15 | |||
16 | Example: | ||
17 | |||
18 | hlcdc: hlcdc@f0030000 { | ||
19 | compatible = "atmel,sama5d3-hlcdc"; | ||
20 | reg = <0xf0030000 0x2000>; | ||
21 | clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; | ||
22 | clock-names = "periph_clk","sys_clk", "slow_clk"; | ||
23 | interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; | ||
24 | status = "disabled"; | ||
25 | |||
26 | hlcdc-display-controller { | ||
27 | compatible = "atmel,hlcdc-display-controller"; | ||
28 | pinctrl-names = "default"; | ||
29 | pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <0>; | ||
32 | |||
33 | port@0 { | ||
34 | #address-cells = <1>; | ||
35 | #size-cells = <0>; | ||
36 | reg = <0>; | ||
37 | |||
38 | hlcdc_panel_output: endpoint@0 { | ||
39 | reg = <0>; | ||
40 | remote-endpoint = <&panel_input>; | ||
41 | }; | ||
42 | }; | ||
43 | }; | ||
44 | |||
45 | hlcdc_pwm: hlcdc-pwm { | ||
46 | compatible = "atmel,hlcdc-pwm"; | ||
47 | pinctrl-names = "default"; | ||
48 | pinctrl-0 = <&pinctrl_lcd_pwm>; | ||
49 | #pwm-cells = <3>; | ||
50 | }; | ||
51 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt index 678f3cf0b8f0..75fdfaf41831 100644 --- a/Documentation/devicetree/bindings/mfd/max77686.txt +++ b/Documentation/devicetree/bindings/mfd/max77686.txt | |||
@@ -34,6 +34,12 @@ to get matched with their hardware counterparts as follow: | |||
34 | -BUCKn : for BUCKs, where n can lie in range 1 to 9. | 34 | -BUCKn : for BUCKs, where n can lie in range 1 to 9. |
35 | example: BUCK1, BUCK5, BUCK9. | 35 | example: BUCK1, BUCK5, BUCK9. |
36 | 36 | ||
37 | Regulators which can be turned off during system suspend: | ||
38 | -LDOn : 2, 6-8, 10-12, 14-16, | ||
39 | -BUCKn : 1-4. | ||
40 | Use standard regulator bindings for it ('regulator-off-in-suspend'). | ||
41 | |||
42 | |||
37 | Example: | 43 | Example: |
38 | 44 | ||
39 | max77686@09 { | 45 | max77686@09 { |
diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt index 11921cc417bf..01e9f30fe678 100644 --- a/Documentation/devicetree/bindings/mfd/max77693.txt +++ b/Documentation/devicetree/bindings/mfd/max77693.txt | |||
@@ -27,6 +27,20 @@ Optional properties: | |||
27 | 27 | ||
28 | [*] refer Documentation/devicetree/bindings/regulator/regulator.txt | 28 | [*] refer Documentation/devicetree/bindings/regulator/regulator.txt |
29 | 29 | ||
30 | - haptic : The MAX77693 haptic device utilises a PWM controlled motor to provide | ||
31 | users with tactile feedback. PWM period and duty-cycle are varied in | ||
32 | order to provide the approprite level of feedback. | ||
33 | |||
34 | Required properties: | ||
35 | - compatible : Must be "maxim,max77693-hpatic" | ||
36 | - haptic-supply : power supply for the haptic motor | ||
37 | [*] refer Documentation/devicetree/bindings/regulator/regulator.txt | ||
38 | - pwms : phandle to the physical PWM(Pulse Width Modulation) device. | ||
39 | PWM properties should be named "pwms". And number of cell is different | ||
40 | for each pwm device. | ||
41 | To get more informations, please refer to documentaion. | ||
42 | [*] refer Documentation/devicetree/bindings/pwm/pwm.txt | ||
43 | |||
30 | Example: | 44 | Example: |
31 | max77693@66 { | 45 | max77693@66 { |
32 | compatible = "maxim,max77693"; | 46 | compatible = "maxim,max77693"; |
@@ -52,4 +66,11 @@ Example: | |||
52 | regulator-boot-on; | 66 | regulator-boot-on; |
53 | }; | 67 | }; |
54 | }; | 68 | }; |
69 | |||
70 | haptic { | ||
71 | compatible = "maxim,max77693-haptic"; | ||
72 | haptic-supply = <&haptic_supply>; | ||
73 | pwms = <&pwm 0 40000 0>; | ||
74 | pwm-names = "haptic"; | ||
75 | }; | ||
55 | }; | 76 | }; |
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt index 0e4026a6cbbf..57a045016fca 100644 --- a/Documentation/devicetree/bindings/mfd/s2mps11.txt +++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | * Samsung S2MPS11, S2MPS14 and S2MPU02 Voltage and Current Regulator | 2 | * Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 Voltage and Current Regulator |
3 | 3 | ||
4 | The Samsung S2MPS11 is a multi-function device which includes voltage and | 4 | The Samsung S2MPS11 is a multi-function device which includes voltage and |
5 | current regulators, RTC, charger controller and other sub-blocks. It is | 5 | current regulators, RTC, charger controller and other sub-blocks. It is |
@@ -7,8 +7,8 @@ interfaced to the host controller using an I2C interface. Each sub-block is | |||
7 | addressed by the host system using different I2C slave addresses. | 7 | addressed by the host system using different I2C slave addresses. |
8 | 8 | ||
9 | Required properties: | 9 | Required properties: |
10 | - compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic" | 10 | - compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps13-pmic" |
11 | or "samsung,s2mpu02-pmic". | 11 | or "samsung,s2mps14-pmic" or "samsung,s2mpu02-pmic". |
12 | - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. | 12 | - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. |
13 | 13 | ||
14 | Optional properties: | 14 | Optional properties: |
@@ -17,8 +17,8 @@ Optional properties: | |||
17 | - interrupts: Interrupt specifiers for interrupt sources. | 17 | - interrupts: Interrupt specifiers for interrupt sources. |
18 | 18 | ||
19 | Optional nodes: | 19 | Optional nodes: |
20 | - clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz | 20 | - clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768 |
21 | outputs, so to register these as clocks with common clock framework | 21 | KHz outputs, so to register these as clocks with common clock framework |
22 | instantiate a sub-node named "clocks". It uses the common clock binding | 22 | instantiate a sub-node named "clocks". It uses the common clock binding |
23 | documented in : | 23 | documented in : |
24 | [Documentation/devicetree/bindings/clock/clock-bindings.txt] | 24 | [Documentation/devicetree/bindings/clock/clock-bindings.txt] |
@@ -30,12 +30,12 @@ Optional nodes: | |||
30 | the clock which they consume. | 30 | the clock which they consume. |
31 | Clock ID Devices | 31 | Clock ID Devices |
32 | ---------------------------------------------------------- | 32 | ---------------------------------------------------------- |
33 | 32KhzAP 0 S2MPS11, S2MPS14, S5M8767 | 33 | 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S5M8767 |
34 | 32KhzCP 1 S2MPS11, S5M8767 | 34 | 32KhzCP 1 S2MPS11, S2MPS13, S5M8767 |
35 | 32KhzBT 2 S2MPS11, S2MPS14, S5M8767 | 35 | 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S5M8767 |
36 | 36 | ||
37 | - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk", | 37 | - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk", |
38 | "samsung,s5m8767-clk" | 38 | "samsung,s2mps14-clk", "samsung,s5m8767-clk" |
39 | 39 | ||
40 | - regulators: The regulators of s2mps11 that have to be instantiated should be | 40 | - regulators: The regulators of s2mps11 that have to be instantiated should be |
41 | included in a sub-node named 'regulators'. Regulator nodes included in this | 41 | included in a sub-node named 'regulators'. Regulator nodes included in this |
@@ -81,12 +81,14 @@ as per the datasheet of s2mps11. | |||
81 | - LDOn | 81 | - LDOn |
82 | - valid values for n are: | 82 | - valid values for n are: |
83 | - S2MPS11: 1 to 38 | 83 | - S2MPS11: 1 to 38 |
84 | - S2MPS13: 1 to 40 | ||
84 | - S2MPS14: 1 to 25 | 85 | - S2MPS14: 1 to 25 |
85 | - S2MPU02: 1 to 28 | 86 | - S2MPU02: 1 to 28 |
86 | - Example: LDO1, LDO2, LDO28 | 87 | - Example: LDO1, LDO2, LDO28 |
87 | - BUCKn | 88 | - BUCKn |
88 | - valid values for n are: | 89 | - valid values for n are: |
89 | - S2MPS11: 1 to 10 | 90 | - S2MPS11: 1 to 10 |
91 | - S2MPS13: 1 to 10 | ||
90 | - S2MPS14: 1 to 5 | 92 | - S2MPS14: 1 to 5 |
91 | - S2MPU02: 1 to 7 | 93 | - S2MPU02: 1 to 7 |
92 | - Example: BUCK1, BUCK2, BUCK9 | 94 | - Example: BUCK1, BUCK2, BUCK9 |
diff --git a/Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt b/Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt new file mode 100644 index 000000000000..d4e0141d3620 --- /dev/null +++ b/Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | * Interrupt Controller | ||
2 | |||
3 | Properties: | ||
4 | - compatible: "brcm,bcm3384-intc" | ||
5 | |||
6 | Compatibility with BCM3384 and possibly other BCM33xx/BCM63xx SoCs. | ||
7 | |||
8 | - reg: Address/length pairs for each mask/status register set. Length must | ||
9 | be 8. If multiple register sets are specified, the first set will | ||
10 | handle IRQ offsets 0..31, the second set 32..63, and so on. | ||
11 | |||
12 | - interrupt-controller: This is an interrupt controller. | ||
13 | |||
14 | - #interrupt-cells: Must be <1>. Just a simple IRQ offset; no level/edge | ||
15 | or polarity configuration is possible with this controller. | ||
16 | |||
17 | - interrupt-parent: This controller is cascaded from a MIPS CPU HW IRQ, or | ||
18 | from another INTC. | ||
19 | |||
20 | - interrupts: The IRQ on the parent controller. | ||
21 | |||
22 | Example: | ||
23 | periph_intc: periph_intc@14e00038 { | ||
24 | compatible = "brcm,bcm3384-intc"; | ||
25 | |||
26 | /* | ||
27 | * IRQs 0..31: mask reg 0x14e00038, status reg 0x14e0003c | ||
28 | * IRQs 32..63: mask reg 0x14e00340, status reg 0x14e00344 | ||
29 | */ | ||
30 | reg = <0x14e00038 0x8 0x14e00340 0x8>; | ||
31 | |||
32 | interrupt-controller; | ||
33 | #interrupt-cells = <1>; | ||
34 | |||
35 | interrupt-parent = <&cpu_intc>; | ||
36 | interrupts = <4>; | ||
37 | }; | ||
diff --git a/Documentation/devicetree/bindings/mips/brcm/bmips.txt b/Documentation/devicetree/bindings/mips/brcm/bmips.txt new file mode 100644 index 000000000000..8ef71b4085ca --- /dev/null +++ b/Documentation/devicetree/bindings/mips/brcm/bmips.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | * Broadcom MIPS (BMIPS) CPUs | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "brcm,bmips3300", "brcm,bmips4350", "brcm,bmips4380", | ||
5 | "brcm,bmips5000" | ||
6 | |||
7 | - mips-hpt-frequency: This is common to all CPUs in the system so it lives | ||
8 | under the "cpus" node. | ||
diff --git a/Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt b/Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt new file mode 100644 index 000000000000..8a139cb3c0b5 --- /dev/null +++ b/Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | * Broadcom cable/DSL platforms | ||
2 | |||
3 | SoCs: | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: "brcm,bcm3384", "brcm,bcm33843" | ||
7 | |||
8 | Boards: | ||
9 | |||
10 | Required properties: | ||
11 | - compatible: "brcm,bcm93384wvg" | ||
diff --git a/Documentation/devicetree/bindings/mips/brcm/usb.txt b/Documentation/devicetree/bindings/mips/brcm/usb.txt new file mode 100644 index 000000000000..452c45c7bf29 --- /dev/null +++ b/Documentation/devicetree/bindings/mips/brcm/usb.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | * Broadcom USB controllers | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "brcm,bcm3384-ohci", "brcm,bcm3384-ehci" | ||
5 | |||
6 | These currently use the generic-ohci and generic-ehci drivers. On some | ||
7 | systems, special handling may be needed in the following cases: | ||
8 | |||
9 | - Restoring state after systemwide power save modes | ||
10 | - Sharing PHYs with the USBD (UDC) hardware | ||
11 | - Figuring out which controllers are disabled on ASIC bondout variants | ||
diff --git a/Documentation/devicetree/bindings/mips/cpu_irq.txt b/Documentation/devicetree/bindings/mips/cpu_irq.txt index 13aa4b62c62a..fc149f326dae 100644 --- a/Documentation/devicetree/bindings/mips/cpu_irq.txt +++ b/Documentation/devicetree/bindings/mips/cpu_irq.txt | |||
@@ -1,6 +1,6 @@ | |||
1 | MIPS CPU interrupt controller | 1 | MIPS CPU interrupt controller |
2 | 2 | ||
3 | On MIPS the mips_cpu_intc_init() helper can be used to initialize the 8 CPU | 3 | On MIPS the mips_cpu_irq_of_init() helper can be used to initialize the 8 CPU |
4 | IRQs from a devicetree file and create a irq_domain for IRQ controller. | 4 | IRQs from a devicetree file and create a irq_domain for IRQ controller. |
5 | 5 | ||
6 | With the irq_domain in place we can describe how the 8 IRQs are wired to the | 6 | With the irq_domain in place we can describe how the 8 IRQs are wired to the |
@@ -36,7 +36,7 @@ Example devicetree: | |||
36 | 36 | ||
37 | Example platform irq.c: | 37 | Example platform irq.c: |
38 | static struct of_device_id __initdata of_irq_ids[] = { | 38 | static struct of_device_id __initdata of_irq_ids[] = { |
39 | { .compatible = "mti,cpu-interrupt-controller", .data = mips_cpu_intc_init }, | 39 | { .compatible = "mti,cpu-interrupt-controller", .data = mips_cpu_irq_of_init }, |
40 | { .compatible = "ralink,rt2880-intc", .data = intc_of_init }, | 40 | { .compatible = "ralink,rt2880-intc", .data = intc_of_init }, |
41 | {}, | 41 | {}, |
42 | }; | 42 | }; |
diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt index 6cd3525d0e09..ee4fc0576c7d 100644 --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt | |||
@@ -18,6 +18,10 @@ Required Properties: | |||
18 | specific extensions. | 18 | specific extensions. |
19 | - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420 | 19 | - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420 |
20 | specific extensions. | 20 | specific extensions. |
21 | - "samsung,exynos7-dw-mshc": for controllers with Samsung Exynos7 | ||
22 | specific extensions. | ||
23 | - "samsung,exynos7-dw-mshc-smu": for controllers with Samsung Exynos7 | ||
24 | specific extensions having an SMU. | ||
21 | 25 | ||
22 | * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface | 26 | * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface |
23 | unit (ciu) clock. This property is applicable only for Exynos5 SoC's and | 27 | unit (ciu) clock. This property is applicable only for Exynos5 SoC's and |
diff --git a/Documentation/devicetree/bindings/mmc/img-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/img-dw-mshc.txt new file mode 100644 index 000000000000..85de99fcaa2f --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/img-dw-mshc.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | * Imagination specific extensions to the Synopsys Designware Mobile Storage | ||
2 | Host Controller | ||
3 | |||
4 | The Synopsys designware mobile storage host controller is used to interface | ||
5 | a SoC with storage medium such as eMMC or SD/MMC cards. This file documents | ||
6 | differences between the core Synopsys dw mshc controller properties described | ||
7 | by synopsys-dw-mshc.txt and the properties used by the Imagination specific | ||
8 | extensions to the Synopsys Designware Mobile Storage Host Controller. | ||
9 | |||
10 | Required Properties: | ||
11 | |||
12 | * compatible: should be | ||
13 | - "img,pistachio-dw-mshc": for Pistachio SoCs | ||
14 | |||
15 | Example: | ||
16 | |||
17 | mmc@18142000 { | ||
18 | compatible = "img,pistachio-dw-mshc"; | ||
19 | reg = <0x18142000 0x400>; | ||
20 | interrupts = <GIC_SHARED 39 IRQ_TYPE_LEVEL_HIGH>; | ||
21 | |||
22 | clocks = <&system_clk>, <&sdhost_clk>; | ||
23 | clock-names = "biu", "ciu"; | ||
24 | |||
25 | fifo-depth = <0x20>; | ||
26 | bus-width = <4>; | ||
27 | num-slots = <1>; | ||
28 | disable-wp; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt index 86223c3eda90..4dd6deb90719 100644 --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt | |||
@@ -12,6 +12,10 @@ Required properties: | |||
12 | * for "marvell,armada-380-sdhci", two register areas. The first one | 12 | * for "marvell,armada-380-sdhci", two register areas. The first one |
13 | for the SDHCI registers themselves, and the second one for the | 13 | for the SDHCI registers themselves, and the second one for the |
14 | AXI/Mbus bridge registers of the SDHCI unit. | 14 | AXI/Mbus bridge registers of the SDHCI unit. |
15 | - clocks: Array of clocks required for SDHCI; requires at least one for | ||
16 | I/O clock. | ||
17 | - clock-names: Array of names corresponding to clocks property; shall be | ||
18 | "io" for I/O clock and "core" for optional core clock. | ||
15 | 19 | ||
16 | Optional properties: | 20 | Optional properties: |
17 | - mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning. | 21 | - mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning. |
@@ -23,6 +27,8 @@ sdhci@d4280800 { | |||
23 | reg = <0xd4280800 0x800>; | 27 | reg = <0xd4280800 0x800>; |
24 | bus-width = <8>; | 28 | bus-width = <8>; |
25 | interrupts = <27>; | 29 | interrupts = <27>; |
30 | clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>; | ||
31 | clock-names = "io", "core"; | ||
26 | non-removable; | 32 | non-removable; |
27 | mrvl,clk-delay-cycles = <31>; | 33 | mrvl,clk-delay-cycles = <31>; |
28 | }; | 34 | }; |
@@ -32,5 +38,6 @@ sdhci@d8000 { | |||
32 | reg = <0xd8000 0x1000>, <0xdc000 0x100>; | 38 | reg = <0xd8000 0x1000>, <0xdc000 0x100>; |
33 | interrupts = <0 25 0x4>; | 39 | interrupts = <0 25 0x4>; |
34 | clocks = <&gateclk 17>; | 40 | clocks = <&gateclk 17>; |
41 | clock-names = "io"; | ||
35 | mrvl,clk-delay-cycles = <0x1F>; | 42 | mrvl,clk-delay-cycles = <0x1F>; |
36 | }; | 43 | }; |
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt index 6edc3b616e98..1fe6dde98499 100644 --- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt +++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt | |||
@@ -5,7 +5,9 @@ Required properties: | |||
5 | - reg : should specify localbus address and size used for the chip, | 5 | - reg : should specify localbus address and size used for the chip, |
6 | and hardware ECC controller if available. | 6 | and hardware ECC controller if available. |
7 | If the hardware ECC is PMECC, it should contain address and size for | 7 | If the hardware ECC is PMECC, it should contain address and size for |
8 | PMECC, PMECC Error Location controller and ROM which has lookup tables. | 8 | PMECC and PMECC Error Location controller. |
9 | The PMECC lookup table address and size in ROM is optional. If not | ||
10 | specified, driver will build it in runtime. | ||
9 | - atmel,nand-addr-offset : offset for the address latch. | 11 | - atmel,nand-addr-offset : offset for the address latch. |
10 | - atmel,nand-cmd-offset : offset for the command latch. | 12 | - atmel,nand-cmd-offset : offset for the command latch. |
11 | - #address-cells, #size-cells : Must be present if the device has sub-nodes | 13 | - #address-cells, #size-cells : Must be present if the device has sub-nodes |
@@ -27,7 +29,7 @@ Optional properties: | |||
27 | are: 512, 1024. | 29 | are: 512, 1024. |
28 | - atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM | 30 | - atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM |
29 | for different sector size. First one is for sector size 512, the next is for | 31 | for different sector size. First one is for sector size 512, the next is for |
30 | sector size 1024. | 32 | sector size 1024. If not specified, driver will build the table in runtime. |
31 | - nand-bus-width : 8 or 16 bus width if not present 8 | 33 | - nand-bus-width : 8 or 16 bus width if not present 8 |
32 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false | 34 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false |
33 | - Nand Flash Controller(NFC) is a slave driver under Atmel nand flash | 35 | - Nand Flash Controller(NFC) is a slave driver under Atmel nand flash |
diff --git a/Documentation/devicetree/bindings/mtd/diskonchip.txt b/Documentation/devicetree/bindings/mtd/diskonchip.txt new file mode 100644 index 000000000000..3e13bfdbea5b --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/diskonchip.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | M-Systems and Sandisk DiskOnChip devices | ||
2 | |||
3 | M-System DiskOnChip G3 | ||
4 | ====================== | ||
5 | The Sandisk (formerly M-Systems) docg3 is a nand device of 64M to 256MB. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: should be "m-systems,diskonchip-g3" | ||
9 | - reg: register base and size | ||
10 | |||
11 | Example: | ||
12 | docg3: flash@0 { | ||
13 | compatible = "m-systems,diskonchip-g3"; | ||
14 | reg = <0x0 0x2000>; | ||
15 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt index 36ef07d3c90f..af8915b41ccf 100644 --- a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt +++ b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt | |||
@@ -11,8 +11,8 @@ Required properties: | |||
11 | are made in native endianness. | 11 | are made in native endianness. |
12 | - #address-cells, #size-cells : Must be present if the device has sub-nodes | 12 | - #address-cells, #size-cells : Must be present if the device has sub-nodes |
13 | representing partitions. | 13 | representing partitions. |
14 | - gpios : specifies the gpio pins to control the NAND device. nwp is an | 14 | - gpios : Specifies the GPIO pins to control the NAND device. The order of |
15 | optional gpio and may be set to 0 if not present. | 15 | GPIO references is: RDY, nCE, ALE, CLE, and an optional nWP. |
16 | 16 | ||
17 | Optional properties: | 17 | Optional properties: |
18 | - bank-width : Width (in bytes) of the device. If not present, the width | 18 | - bank-width : Width (in bytes) of the device. If not present, the width |
@@ -35,11 +35,11 @@ gpio-nand@1,0 { | |||
35 | reg = <1 0x0000 0x2>; | 35 | reg = <1 0x0000 0x2>; |
36 | #address-cells = <1>; | 36 | #address-cells = <1>; |
37 | #size-cells = <1>; | 37 | #size-cells = <1>; |
38 | gpios = <&banka 1 0 /* rdy */ | 38 | gpios = <&banka 1 0>, /* RDY */ |
39 | &banka 2 0 /* nce */ | 39 | <&banka 2 0>, /* nCE */ |
40 | &banka 3 0 /* ale */ | 40 | <&banka 3 0>, /* ALE */ |
41 | &banka 4 0 /* cle */ | 41 | <&banka 4 0>, /* CLE */ |
42 | 0 /* nwp */>; | 42 | <0>; /* nWP */ |
43 | 43 | ||
44 | partition@0 { | 44 | partition@0 { |
45 | ... | 45 | ... |
diff --git a/Documentation/devicetree/bindings/mtd/sunxi-nand.txt b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt new file mode 100644 index 000000000000..0273adb8638c --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt | |||
@@ -0,0 +1,45 @@ | |||
1 | Allwinner NAND Flash Controller (NFC) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "allwinner,sun4i-a10-nand". | ||
5 | - reg : shall contain registers location and length for data and reg. | ||
6 | - interrupts : shall define the nand controller interrupt. | ||
7 | - #address-cells: shall be set to 1. Encode the nand CS. | ||
8 | - #size-cells : shall be set to 0. | ||
9 | - clocks : shall reference nand controller clocks. | ||
10 | - clock-names : nand controller internal clock names. Shall contain : | ||
11 | * "ahb" : AHB gating clock | ||
12 | * "mod" : nand controller clock | ||
13 | |||
14 | Optional children nodes: | ||
15 | Children nodes represent the available nand chips. | ||
16 | |||
17 | Optional properties: | ||
18 | - allwinner,rb : shall contain the native Ready/Busy ids. | ||
19 | or | ||
20 | - rb-gpios : shall contain the gpios used as R/B pins. | ||
21 | - nand-ecc-mode : one of the supported ECC modes ("hw", "hw_syndrome", "soft", | ||
22 | "soft_bch" or "none") | ||
23 | |||
24 | see Documentation/devicetree/mtd/nand.txt for generic bindings. | ||
25 | |||
26 | |||
27 | Examples: | ||
28 | nfc: nand@01c03000 { | ||
29 | compatible = "allwinner,sun4i-a10-nand"; | ||
30 | reg = <0x01c03000 0x1000>; | ||
31 | interrupts = <0 37 1>; | ||
32 | clocks = <&ahb_gates 13>, <&nand_clk>; | ||
33 | clock-names = "ahb", "mod"; | ||
34 | #address-cells = <1>; | ||
35 | #size-cells = <0>; | ||
36 | pinctrl-names = "default"; | ||
37 | pinctrl-0 = <&nand_pins_a &nand_cs0_pins_a &nand_rb0_pins_a>; | ||
38 | status = "okay"; | ||
39 | |||
40 | nand@0 { | ||
41 | reg = <0>; | ||
42 | allwinner,rb = <0>; | ||
43 | nand-ecc-mode = "soft_bch"; | ||
44 | }; | ||
45 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/amd-xgbe.txt b/Documentation/devicetree/bindings/net/amd-xgbe.txt index 41354f730beb..26efd526d16c 100644 --- a/Documentation/devicetree/bindings/net/amd-xgbe.txt +++ b/Documentation/devicetree/bindings/net/amd-xgbe.txt | |||
@@ -7,7 +7,10 @@ Required properties: | |||
7 | - PCS registers | 7 | - PCS registers |
8 | - interrupt-parent: Should be the phandle for the interrupt controller | 8 | - interrupt-parent: Should be the phandle for the interrupt controller |
9 | that services interrupts for this device | 9 | that services interrupts for this device |
10 | - interrupts: Should contain the amd-xgbe interrupt | 10 | - interrupts: Should contain the amd-xgbe interrupt(s). The first interrupt |
11 | listed is required and is the general device interrupt. If the optional | ||
12 | amd,per-channel-interrupt property is specified, then one additional | ||
13 | interrupt for each DMA channel supported by the device should be specified | ||
11 | - clocks: | 14 | - clocks: |
12 | - DMA clock for the amd-xgbe device (used for calculating the | 15 | - DMA clock for the amd-xgbe device (used for calculating the |
13 | correct Rx interrupt watchdog timer value on a DMA channel | 16 | correct Rx interrupt watchdog timer value on a DMA channel |
@@ -23,6 +26,9 @@ Optional properties: | |||
23 | - mac-address: mac address to be assigned to the device. Can be overridden | 26 | - mac-address: mac address to be assigned to the device. Can be overridden |
24 | by UEFI. | 27 | by UEFI. |
25 | - dma-coherent: Present if dma operations are coherent | 28 | - dma-coherent: Present if dma operations are coherent |
29 | - amd,per-channel-interrupt: Indicates that Rx and Tx complete will generate | ||
30 | a unique interrupt for each DMA channel - this requires an additional | ||
31 | interrupt be configured for each DMA channel | ||
26 | 32 | ||
27 | Example: | 33 | Example: |
28 | xgbe@e0700000 { | 34 | xgbe@e0700000 { |
@@ -30,7 +36,9 @@ Example: | |||
30 | reg = <0 0xe0700000 0 0x80000>, | 36 | reg = <0 0xe0700000 0 0x80000>, |
31 | <0 0xe0780000 0 0x80000>; | 37 | <0 0xe0780000 0 0x80000>; |
32 | interrupt-parent = <&gic>; | 38 | interrupt-parent = <&gic>; |
33 | interrupts = <0 325 4>; | 39 | interrupts = <0 325 4>, |
40 | <0 326 1>, <0 327 1>, <0 328 1>, <0 329 1>; | ||
41 | amd,per-channel-interrupt; | ||
34 | clocks = <&xgbe_dma_clk>, <&xgbe_ptp_clk>; | 42 | clocks = <&xgbe_dma_clk>, <&xgbe_ptp_clk>; |
35 | clock-names = "dma_clk", "ptp_clk"; | 43 | clock-names = "dma_clk", "ptp_clk"; |
36 | phy-handle = <&phy>; | 44 | phy-handle = <&phy>; |
diff --git a/Documentation/devicetree/bindings/net/can/c_can.txt b/Documentation/devicetree/bindings/net/can/c_can.txt index 8f1ae81228e3..5a1d8b0c39e9 100644 --- a/Documentation/devicetree/bindings/net/can/c_can.txt +++ b/Documentation/devicetree/bindings/net/can/c_can.txt | |||
@@ -4,6 +4,8 @@ Bosch C_CAN/D_CAN controller Device Tree Bindings | |||
4 | Required properties: | 4 | Required properties: |
5 | - compatible : Should be "bosch,c_can" for C_CAN controllers and | 5 | - compatible : Should be "bosch,c_can" for C_CAN controllers and |
6 | "bosch,d_can" for D_CAN controllers. | 6 | "bosch,d_can" for D_CAN controllers. |
7 | Can be "ti,dra7-d_can", "ti,am3352-d_can" or | ||
8 | "ti,am4372-d_can". | ||
7 | - reg : physical base address and size of the C_CAN/D_CAN | 9 | - reg : physical base address and size of the C_CAN/D_CAN |
8 | registers map | 10 | registers map |
9 | - interrupts : property with a value describing the interrupt | 11 | - interrupts : property with a value describing the interrupt |
@@ -12,6 +14,9 @@ Required properties: | |||
12 | Optional properties: | 14 | Optional properties: |
13 | - ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the | 15 | - ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the |
14 | instance number | 16 | instance number |
17 | - syscon-raminit : Handle to system control region that contains the | ||
18 | RAMINIT register, register offset to the RAMINIT | ||
19 | register and the CAN instance number (0 offset). | ||
15 | 20 | ||
16 | Note: "ti,hwmods" field is used to fetch the base address and irq | 21 | Note: "ti,hwmods" field is used to fetch the base address and irq |
17 | resources from TI, omap hwmod data base during device registration. | 22 | resources from TI, omap hwmod data base during device registration. |
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.txt b/Documentation/devicetree/bindings/net/dsa/dsa.txt index a62c889aafca..e124847443f8 100644 --- a/Documentation/devicetree/bindings/net/dsa/dsa.txt +++ b/Documentation/devicetree/bindings/net/dsa/dsa.txt | |||
@@ -10,7 +10,7 @@ Required properties: | |||
10 | - dsa,ethernet : Should be a phandle to a valid Ethernet device node | 10 | - dsa,ethernet : Should be a phandle to a valid Ethernet device node |
11 | - dsa,mii-bus : Should be a phandle to a valid MDIO bus device node | 11 | - dsa,mii-bus : Should be a phandle to a valid MDIO bus device node |
12 | 12 | ||
13 | Optionnal properties: | 13 | Optional properties: |
14 | - interrupts : property with a value describing the switch | 14 | - interrupts : property with a value describing the switch |
15 | interrupt number (not supported by the driver) | 15 | interrupt number (not supported by the driver) |
16 | 16 | ||
@@ -23,6 +23,13 @@ Each of these switch child nodes should have the following required properties: | |||
23 | - #address-cells : Must be 1 | 23 | - #address-cells : Must be 1 |
24 | - #size-cells : Must be 0 | 24 | - #size-cells : Must be 0 |
25 | 25 | ||
26 | A switch child node has the following optional property: | ||
27 | |||
28 | - eeprom-length : Set to the length of an EEPROM connected to the | ||
29 | switch. Must be set if the switch can not detect | ||
30 | the presence and/or size of a connected EEPROM, | ||
31 | otherwise optional. | ||
32 | |||
26 | A switch may have multiple "port" children nodes | 33 | A switch may have multiple "port" children nodes |
27 | 34 | ||
28 | Each port children node must have the following mandatory properties: | 35 | Each port children node must have the following mandatory properties: |
diff --git a/Documentation/devicetree/bindings/net/micrel.txt b/Documentation/devicetree/bindings/net/micrel.txt index e1d99b95c4ec..87496a8c64ab 100644 --- a/Documentation/devicetree/bindings/net/micrel.txt +++ b/Documentation/devicetree/bindings/net/micrel.txt | |||
@@ -6,19 +6,32 @@ Optional properties: | |||
6 | 6 | ||
7 | - micrel,led-mode : LED mode value to set for PHYs with configurable LEDs. | 7 | - micrel,led-mode : LED mode value to set for PHYs with configurable LEDs. |
8 | 8 | ||
9 | Configure the LED mode with single value. The list of PHYs and | 9 | Configure the LED mode with single value. The list of PHYs and the |
10 | the bits that are currently supported: | 10 | bits that are currently supported: |
11 | 11 | ||
12 | KSZ8001: register 0x1e, bits 15..14 | 12 | KSZ8001: register 0x1e, bits 15..14 |
13 | KSZ8041: register 0x1e, bits 15..14 | 13 | KSZ8041: register 0x1e, bits 15..14 |
14 | KSZ8021: register 0x1f, bits 5..4 | 14 | KSZ8021: register 0x1f, bits 5..4 |
15 | KSZ8031: register 0x1f, bits 5..4 | 15 | KSZ8031: register 0x1f, bits 5..4 |
16 | KSZ8051: register 0x1f, bits 5..4 | 16 | KSZ8051: register 0x1f, bits 5..4 |
17 | KSZ8081: register 0x1f, bits 5..4 | ||
18 | KSZ8091: register 0x1f, bits 5..4 | ||
17 | 19 | ||
18 | See the respective PHY datasheet for the mode values. | 20 | See the respective PHY datasheet for the mode values. |
21 | |||
22 | - micrel,rmii-reference-clock-select-25-mhz: RMII Reference Clock Select | ||
23 | bit selects 25 MHz mode | ||
24 | |||
25 | Setting the RMII Reference Clock Select bit enables 25 MHz rather | ||
26 | than 50 MHz clock mode. | ||
27 | |||
28 | Note that this option in only needed for certain PHY revisions with a | ||
29 | non-standard, inverted function of this configuration bit. | ||
30 | Specifically, a clock reference ("rmii-ref" below) is always needed to | ||
31 | actually select a mode. | ||
19 | 32 | ||
20 | - clocks, clock-names: contains clocks according to the common clock bindings. | 33 | - clocks, clock-names: contains clocks according to the common clock bindings. |
21 | 34 | ||
22 | supported clocks: | 35 | supported clocks: |
23 | - KSZ8021, KSZ8031: "rmii-ref": The RMII refence input clock. Used | 36 | - KSZ8021, KSZ8031, KSZ8081, KSZ8091: "rmii-ref": The RMII reference |
24 | to determine the XI input clock. | 37 | input clock. Used to determine the XI input clock. |
diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt index 5b8c58903077..40831fbaff72 100644 --- a/Documentation/devicetree/bindings/net/phy.txt +++ b/Documentation/devicetree/bindings/net/phy.txt | |||
@@ -19,7 +19,6 @@ Optional Properties: | |||
19 | specifications. If neither of these are specified, the default is to | 19 | specifications. If neither of these are specified, the default is to |
20 | assume clause 22. The compatible list may also contain other | 20 | assume clause 22. The compatible list may also contain other |
21 | elements. | 21 | elements. |
22 | - max-speed: Maximum PHY supported speed (10, 100, 1000...) | ||
23 | 22 | ||
24 | If the phy's identifier is known then the list may contain an entry | 23 | If the phy's identifier is known then the list may contain an entry |
25 | of the form: "ethernet-phy-idAAAA.BBBB" where | 24 | of the form: "ethernet-phy-idAAAA.BBBB" where |
@@ -29,6 +28,8 @@ Optional Properties: | |||
29 | 4 hex digits. This is the chip vendor OUI bits 19:24, | 28 | 4 hex digits. This is the chip vendor OUI bits 19:24, |
30 | followed by 10 bits of a vendor specific ID. | 29 | followed by 10 bits of a vendor specific ID. |
31 | 30 | ||
31 | - max-speed: Maximum PHY supported speed (10, 100, 1000...) | ||
32 | |||
32 | Example: | 33 | Example: |
33 | 34 | ||
34 | ethernet-phy@0 { | 35 | ethernet-phy@0 { |
diff --git a/Documentation/devicetree/bindings/net/sh_eth.txt b/Documentation/devicetree/bindings/net/sh_eth.txt index 34d4db1a4e25..2f6ec85fda8e 100644 --- a/Documentation/devicetree/bindings/net/sh_eth.txt +++ b/Documentation/devicetree/bindings/net/sh_eth.txt | |||
@@ -9,6 +9,7 @@ Required properties: | |||
9 | "renesas,ether-r8a7779" if the device is a part of R8A7779 SoC. | 9 | "renesas,ether-r8a7779" if the device is a part of R8A7779 SoC. |
10 | "renesas,ether-r8a7790" if the device is a part of R8A7790 SoC. | 10 | "renesas,ether-r8a7790" if the device is a part of R8A7790 SoC. |
11 | "renesas,ether-r8a7791" if the device is a part of R8A7791 SoC. | 11 | "renesas,ether-r8a7791" if the device is a part of R8A7791 SoC. |
12 | "renesas,ether-r8a7793" if the device is a part of R8A7793 SoC. | ||
12 | "renesas,ether-r8a7794" if the device is a part of R8A7794 SoC. | 13 | "renesas,ether-r8a7794" if the device is a part of R8A7794 SoC. |
13 | "renesas,ether-r7s72100" if the device is a part of R7S72100 SoC. | 14 | "renesas,ether-r7s72100" if the device is a part of R7S72100 SoC. |
14 | - reg: offset and length of (1) the E-DMAC/feLic register block (required), | 15 | - reg: offset and length of (1) the E-DMAC/feLic register block (required), |
diff --git a/Documentation/devicetree/bindings/nios2/nios2.txt b/Documentation/devicetree/bindings/nios2/nios2.txt new file mode 100644 index 000000000000..d6d0a94cb3bb --- /dev/null +++ b/Documentation/devicetree/bindings/nios2/nios2.txt | |||
@@ -0,0 +1,62 @@ | |||
1 | * Nios II Processor Binding | ||
2 | |||
3 | This binding specifies what properties available in the device tree | ||
4 | representation of a Nios II Processor Core. | ||
5 | |||
6 | Users can use sopc2dts tool for generating device tree sources (dts) from a | ||
7 | Qsys system. See more detail in: http://www.alterawiki.com/wiki/Sopc2dts | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible: Compatible property value should be "altr,nios2-1.0". | ||
12 | - reg: Contains CPU index. | ||
13 | - interrupt-controller: Specifies that the node is an interrupt controller | ||
14 | - #interrupt-cells: Specifies the number of cells needed to encode an | ||
15 | interrupt source, should be 1. | ||
16 | - clock-frequency: Contains the clock frequency for CPU, in Hz. | ||
17 | - dcache-line-size: Contains data cache line size. | ||
18 | - icache-line-size: Contains instruction line size. | ||
19 | - dcache-size: Contains data cache size. | ||
20 | - icache-size: Contains instruction cache size. | ||
21 | - altr,pid-num-bits: Specifies the number of bits to use to represent the process | ||
22 | identifier (PID). | ||
23 | - altr,tlb-num-ways: Specifies the number of set-associativity ways in the TLB. | ||
24 | - altr,tlb-num-entries: Specifies the number of entries in the TLB. | ||
25 | - altr,tlb-ptr-sz: Specifies size of TLB pointer. | ||
26 | - altr,has-mul: Specifies CPU hardware multipy support, should be 1. | ||
27 | - altr,has-mmu: Specifies CPU support MMU support, should be 1. | ||
28 | - altr,has-initda: Specifies CPU support initda instruction, should be 1. | ||
29 | - altr,reset-addr: Specifies CPU reset address | ||
30 | - altr,fast-tlb-miss-addr: Specifies CPU fast TLB miss exception address | ||
31 | - altr,exception-addr: Specifies CPU exception address | ||
32 | |||
33 | Optional properties: | ||
34 | - altr,has-div: Specifies CPU hardware divide support | ||
35 | - altr,implementation: Nios II core implementation, this should be "fast"; | ||
36 | |||
37 | Example: | ||
38 | |||
39 | cpu@0x0 { | ||
40 | device_type = "cpu"; | ||
41 | compatible = "altr,nios2-1.0"; | ||
42 | reg = <0>; | ||
43 | interrupt-controller; | ||
44 | #interrupt-cells = <1>; | ||
45 | clock-frequency = <125000000>; | ||
46 | dcache-line-size = <32>; | ||
47 | icache-line-size = <32>; | ||
48 | dcache-size = <32768>; | ||
49 | icache-size = <32768>; | ||
50 | altr,implementation = "fast"; | ||
51 | altr,pid-num-bits = <8>; | ||
52 | altr,tlb-num-ways = <16>; | ||
53 | altr,tlb-num-entries = <128>; | ||
54 | altr,tlb-ptr-sz = <7>; | ||
55 | altr,has-div = <1>; | ||
56 | altr,has-mul = <1>; | ||
57 | altr,reset-addr = <0xc2800000>; | ||
58 | altr,fast-tlb-miss-addr = <0xc7fff400>; | ||
59 | altr,exception-addr = <0xd0000020>; | ||
60 | altr,has-initda = <1>; | ||
61 | altr,has-mmu = <1>; | ||
62 | }; | ||
diff --git a/Documentation/devicetree/bindings/nios2/timer.txt b/Documentation/devicetree/bindings/nios2/timer.txt new file mode 100644 index 000000000000..904a5846d7ac --- /dev/null +++ b/Documentation/devicetree/bindings/nios2/timer.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | Altera Timer | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "altr,timer-1.0" | ||
6 | - reg : Specifies base physical address and size of the registers. | ||
7 | - interrupt-parent: phandle of the interrupt controller | ||
8 | - interrupts : Should contain the timer interrupt number | ||
9 | - clock-frequency : The frequency of the clock that drives the counter, in Hz. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | timer { | ||
14 | compatible = "altr,timer-1.0"; | ||
15 | reg = <0x00400000 0x00000020>; | ||
16 | interrupt-parent = <&cpu>; | ||
17 | interrupts = <11>; | ||
18 | clock-frequency = <125000000>; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/panel/auo,b116xw03.txt b/Documentation/devicetree/bindings/panel/auo,b116xw03.txt new file mode 100644 index 000000000000..690d0a568ef3 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/auo,b116xw03.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | AU Optronics Corporation 11.6" HD (1366x768) color TFT-LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "auo,b116xw03" | ||
5 | |||
6 | This binding is compatible with the simple-panel binding, which is specified | ||
7 | in simple-panel.txt in this directory. | ||
diff --git a/Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt b/Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt new file mode 100644 index 000000000000..7da1d5c038ff --- /dev/null +++ b/Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | HannStar Display Corp. HSD070PWW1 7.0" WXGA TFT LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "hannstar,hsd070pww1" | ||
5 | |||
6 | This binding is compatible with the simple-panel binding, which is specified | ||
7 | in simple-panel.txt in this directory. | ||
diff --git a/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt b/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt new file mode 100644 index 000000000000..04caaae19af6 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "hit,tx23d38vm0caa" | ||
5 | |||
6 | This binding is compatible with the simple-panel binding, which is specified | ||
7 | in simple-panel.txt in this directory. | ||
diff --git a/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt b/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt new file mode 100644 index 000000000000..2743b07cd2f2 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "innolux,g121i1-l01" | ||
5 | |||
6 | This binding is compatible with the simple-panel binding, which is specified | ||
7 | in simple-panel.txt in this directory. | ||
diff --git a/Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt b/Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt new file mode 100644 index 000000000000..f522bb8e47e1 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | Sharp Microelectronics 10.1" WQXGA TFT LCD panel | ||
2 | |||
3 | This panel requires a dual-channel DSI host to operate. It supports two modes: | ||
4 | - left-right: each channel drives the left or right half of the screen | ||
5 | - even-odd: each channel drives the even or odd lines of the screen | ||
6 | |||
7 | Each of the DSI channels controls a separate DSI peripheral. The peripheral | ||
8 | driven by the first link (DSI-LINK1), left or even, is considered the primary | ||
9 | peripheral and controls the device. The 'link2' property contains a phandle | ||
10 | to the peripheral driven by the second link (DSI-LINK2, right or odd). | ||
11 | |||
12 | Note that in video mode the DSI-LINK1 interface always provides the left/even | ||
13 | pixels and DSI-LINK2 always provides the right/odd pixels. In command mode it | ||
14 | is possible to program either link to drive the left/even or right/odd pixels | ||
15 | but for the sake of consistency this binding assumes that the same assignment | ||
16 | is chosen as for video mode. | ||
17 | |||
18 | Required properties: | ||
19 | - compatible: should be "sharp,lq101r1sx01" | ||
20 | - reg: DSI virtual channel of the peripheral | ||
21 | |||
22 | Required properties (for DSI-LINK1 only): | ||
23 | - link2: phandle to the DSI peripheral on the secondary link. Note that the | ||
24 | presence of this property marks the containing node as DSI-LINK1. | ||
25 | - power-supply: phandle of the regulator that provides the supply voltage | ||
26 | |||
27 | Optional properties (for DSI-LINK1 only): | ||
28 | - backlight: phandle of the backlight device attached to the panel | ||
29 | |||
30 | Example: | ||
31 | |||
32 | dsi@54300000 { | ||
33 | panel: panel@0 { | ||
34 | compatible = "sharp,lq101r1sx01"; | ||
35 | reg = <0>; | ||
36 | |||
37 | link2 = <&secondary>; | ||
38 | |||
39 | power-supply = <...>; | ||
40 | backlight = <...>; | ||
41 | }; | ||
42 | }; | ||
43 | |||
44 | dsi@54400000 { | ||
45 | secondary: panel@0 { | ||
46 | compatible = "sharp,lq101r1sx01"; | ||
47 | reg = <0>; | ||
48 | }; | ||
49 | }; | ||
diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt b/Documentation/devicetree/bindings/pci/layerscape-pci.txt new file mode 100644 index 000000000000..6286f049bf18 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt | |||
@@ -0,0 +1,42 @@ | |||
1 | Freescale Layerscape PCIe controller | ||
2 | |||
3 | This PCIe host controller is based on the Synopsis Designware PCIe IP | ||
4 | and thus inherits all the common properties defined in designware-pcie.txt. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should contain the platform identifier such as "fsl,ls1021a-pcie" | ||
8 | - reg: base addresses and lengths of the PCIe controller | ||
9 | - interrupts: A list of interrupt outputs of the controller. Must contain an | ||
10 | entry for each entry in the interrupt-names property. | ||
11 | - interrupt-names: Must include the following entries: | ||
12 | "intr": The interrupt that is asserted for controller interrupts | ||
13 | - fsl,pcie-scfg: Must include two entries. | ||
14 | The first entry must be a link to the SCFG device node | ||
15 | The second entry must be '0' or '1' based on physical PCIe controller index. | ||
16 | This is used to get SCFG PEXN registers | ||
17 | |||
18 | Example: | ||
19 | |||
20 | pcie@3400000 { | ||
21 | compatible = "fsl,ls1021a-pcie", "snps,dw-pcie"; | ||
22 | reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */ | ||
23 | 0x40 0x00000000 0x0 0x00002000>; /* configuration space */ | ||
24 | reg-names = "regs", "config"; | ||
25 | interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */ | ||
26 | interrupt-names = "intr"; | ||
27 | fsl,pcie-scfg = <&scfg 0>; | ||
28 | #address-cells = <3>; | ||
29 | #size-cells = <2>; | ||
30 | device_type = "pci"; | ||
31 | num-lanes = <4>; | ||
32 | bus-range = <0x0 0xff>; | ||
33 | ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */ | ||
34 | 0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000 /* prefetchable memory */ | ||
35 | 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ | ||
36 | #interrupt-cells = <1>; | ||
37 | interrupt-map-mask = <0 0 0 7>; | ||
38 | interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>, | ||
39 | <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, | ||
40 | <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, | ||
41 | <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; | ||
42 | }; | ||
diff --git a/Documentation/devicetree/bindings/pci/pci.txt b/Documentation/devicetree/bindings/pci/pci.txt index 41aeed38926d..f8fbe9af7b2f 100644 --- a/Documentation/devicetree/bindings/pci/pci.txt +++ b/Documentation/devicetree/bindings/pci/pci.txt | |||
@@ -7,3 +7,14 @@ And for the interrupt mapping part: | |||
7 | 7 | ||
8 | Open Firmware Recommended Practice: Interrupt Mapping | 8 | Open Firmware Recommended Practice: Interrupt Mapping |
9 | http://www.openfirmware.org/1275/practice/imap/imap0_9d.pdf | 9 | http://www.openfirmware.org/1275/practice/imap/imap0_9d.pdf |
10 | |||
11 | Additionally to the properties specified in the above standards a host bridge | ||
12 | driver implementation may support the following properties: | ||
13 | |||
14 | - linux,pci-domain: | ||
15 | If present this property assigns a fixed PCI domain number to a host bridge, | ||
16 | otherwise an unstable (across boots) unique number will be assigned. | ||
17 | It is required to either not set this property at all or set it for all | ||
18 | host bridges in the system, otherwise potentially conflicting domain numbers | ||
19 | may be assigned to root buses behind different host bridges. The domain | ||
20 | number for each host bridge in the system must be unique. | ||
diff --git a/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt b/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt index 88f8c23384c0..c0155f842f62 100644 --- a/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt +++ b/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt | |||
@@ -2,7 +2,9 @@ Berlin SATA PHY | |||
2 | --------------- | 2 | --------------- |
3 | 3 | ||
4 | Required properties: | 4 | Required properties: |
5 | - compatible: should be "marvell,berlin2q-sata-phy" | 5 | - compatible: should be one of |
6 | "marvell,berlin2-sata-phy" | ||
7 | "marvell,berlin2q-sata-phy" | ||
6 | - address-cells: should be 1 | 8 | - address-cells: should be 1 |
7 | - size-cells: should be 0 | 9 | - size-cells: should be 0 |
8 | - phy-cells: from the generic PHY bindings, must be 1 | 10 | - phy-cells: from the generic PHY bindings, must be 1 |
diff --git a/Documentation/devicetree/bindings/phy/berlin-usb-phy.txt b/Documentation/devicetree/bindings/phy/berlin-usb-phy.txt new file mode 100644 index 000000000000..be33780f668e --- /dev/null +++ b/Documentation/devicetree/bindings/phy/berlin-usb-phy.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | * Marvell Berlin USB PHY | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "marvell,berlin2-usb-phy" or "marvell,berlin2cd-usb-phy" | ||
5 | - reg: base address and length of the registers | ||
6 | - #phys-cells: should be 0 | ||
7 | - resets: reference to the reset controller | ||
8 | |||
9 | Example: | ||
10 | |||
11 | usb-phy@f774000 { | ||
12 | compatible = "marvell,berlin2-usb-phy"; | ||
13 | reg = <0xf774000 0x128>; | ||
14 | #phy-cells = <0>; | ||
15 | resets = <&chip 0x104 14>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt b/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt new file mode 100644 index 000000000000..46a135dae6b3 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt | |||
@@ -0,0 +1,128 @@ | |||
1 | STMicroelectronics STi MIPHY28LP PHY binding | ||
2 | ============================================ | ||
3 | |||
4 | This binding describes a miphy device that is used to control PHY hardware | ||
5 | for SATA, PCIe or USB3. | ||
6 | |||
7 | Required properties (controller (parent) node): | ||
8 | - compatible : Should be "st,miphy28lp-phy". | ||
9 | - st,syscfg : Should be a phandle of the system configuration register group | ||
10 | which contain the SATA, PCIe or USB3 mode setting bits. | ||
11 | |||
12 | Required nodes : A sub-node is required for each channel the controller | ||
13 | provides. Address range information including the usual | ||
14 | 'reg' and 'reg-names' properties are used inside these | ||
15 | nodes to describe the controller's topology. These nodes | ||
16 | are translated by the driver's .xlate() function. | ||
17 | |||
18 | Required properties (port (child) node): | ||
19 | - #phy-cells : Should be 1 (See second example) | ||
20 | Cell after port phandle is device type from: | ||
21 | - PHY_TYPE_SATA | ||
22 | - PHY_TYPE_PCI | ||
23 | - PHY_TYPE_USB3 | ||
24 | - reg : Address and length of the register set for the device. | ||
25 | - reg-names : The names of the register addresses corresponding to the registers | ||
26 | filled in "reg". It can also contain the offset of the system configuration | ||
27 | registers used as glue-logic to setup the device for SATA/PCIe or USB3 | ||
28 | devices. | ||
29 | - resets : phandle to the parent reset controller. | ||
30 | - reset-names : Associated name must be "miphy-sw-rst". | ||
31 | |||
32 | Optional properties (port (child) node): | ||
33 | - st,osc-rdy : to check the MIPHY0_OSC_RDY status in the glue-logic. This | ||
34 | is not available in all the MiPHY. For example, for STiH407, only the | ||
35 | MiPHY0 has this bit. | ||
36 | - st,osc-force-ext : to select the external oscillator. This can change from | ||
37 | different MiPHY inside the same SoC. | ||
38 | - st,sata_gen : to select which SATA_SPDMODE has to be set in the SATA system config | ||
39 | register. | ||
40 | - st,px_rx_pol_inv : to invert polarity of RXn/RXp (respectively negative line and positive | ||
41 | line). | ||
42 | - st,scc-on : enable ssc to reduce effects of EMI (only for sata or PCIe). | ||
43 | - st,tx-impedance-comp : to compensate tx impedance avoiding out of range values. | ||
44 | |||
45 | example: | ||
46 | |||
47 | miphy28lp_phy: miphy28lp@9b22000 { | ||
48 | compatible = "st,miphy28lp-phy"; | ||
49 | st,syscfg = <&syscfg_core>; | ||
50 | #address-cells = <1>; | ||
51 | #size-cells = <1>; | ||
52 | ranges; | ||
53 | |||
54 | phy_port0: port@9b22000 { | ||
55 | reg = <0x9b22000 0xff>, | ||
56 | <0x9b09000 0xff>, | ||
57 | <0x9b04000 0xff>, | ||
58 | <0x114 0x4>, /* sysctrl MiPHY cntrl */ | ||
59 | <0x818 0x4>, /* sysctrl MiPHY status*/ | ||
60 | <0xe0 0x4>, /* sysctrl PCIe */ | ||
61 | <0xec 0x4>; /* sysctrl SATA */ | ||
62 | reg-names = "sata-up", | ||
63 | "pcie-up", | ||
64 | "pipew", | ||
65 | "miphy-ctrl-glue", | ||
66 | "miphy-status-glue", | ||
67 | "pcie-glue", | ||
68 | "sata-glue"; | ||
69 | #phy-cells = <1>; | ||
70 | st,osc-rdy; | ||
71 | reset-names = "miphy-sw-rst"; | ||
72 | resets = <&softreset STIH407_MIPHY0_SOFTRESET>; | ||
73 | }; | ||
74 | |||
75 | phy_port1: port@9b2a000 { | ||
76 | reg = <0x9b2a000 0xff>, | ||
77 | <0x9b19000 0xff>, | ||
78 | <0x9b14000 0xff>, | ||
79 | <0x118 0x4>, | ||
80 | <0x81c 0x4>, | ||
81 | <0xe4 0x4>, | ||
82 | <0xf0 0x4>; | ||
83 | reg-names = "sata-up", | ||
84 | "pcie-up", | ||
85 | "pipew", | ||
86 | "miphy-ctrl-glue", | ||
87 | "miphy-status-glue", | ||
88 | "pcie-glue", | ||
89 | "sata-glue"; | ||
90 | #phy-cells = <1>; | ||
91 | st,osc-force-ext; | ||
92 | reset-names = "miphy-sw-rst"; | ||
93 | resets = <&softreset STIH407_MIPHY1_SOFTRESET>; | ||
94 | }; | ||
95 | |||
96 | phy_port2: port@8f95000 { | ||
97 | reg = <0x8f95000 0xff>, | ||
98 | <0x8f90000 0xff>, | ||
99 | <0x11c 0x4>, | ||
100 | <0x820 0x4>; | ||
101 | reg-names = "pipew", | ||
102 | "usb3-up", | ||
103 | "miphy-ctrl-glue", | ||
104 | "miphy-status-glue"; | ||
105 | #phy-cells = <1>; | ||
106 | reset-names = "miphy-sw-rst"; | ||
107 | resets = <&softreset STIH407_MIPHY2_SOFTRESET>; | ||
108 | }; | ||
109 | }; | ||
110 | |||
111 | |||
112 | Specifying phy control of devices | ||
113 | ================================= | ||
114 | |||
115 | Device nodes should specify the configuration required in their "phys" | ||
116 | property, containing a phandle to the miphy device node and an index | ||
117 | specifying which configuration to use, as described in phy-bindings.txt. | ||
118 | |||
119 | example: | ||
120 | sata0: sata@9b20000 { | ||
121 | ... | ||
122 | phys = <&phy_port0 PHY_TYPE_SATA>; | ||
123 | ... | ||
124 | }; | ||
125 | |||
126 | Macro definitions for the supported miphy configuration can be found in: | ||
127 | |||
128 | include/dt-bindings/phy/phy-miphy28lp.h | ||
diff --git a/Documentation/devicetree/bindings/phy/phy-mvebu.txt b/Documentation/devicetree/bindings/phy/phy-mvebu.txt new file mode 100644 index 000000000000..f95b6260a3b3 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/phy-mvebu.txt | |||
@@ -0,0 +1,43 @@ | |||
1 | * Marvell MVEBU SATA PHY | ||
2 | |||
3 | Power control for the SATA phy found on Marvell MVEBU SoCs. | ||
4 | |||
5 | This document extends the binding described in phy-bindings.txt | ||
6 | |||
7 | Required properties : | ||
8 | |||
9 | - reg : Offset and length of the register set for the SATA device | ||
10 | - compatible : Should be "marvell,mvebu-sata-phy" | ||
11 | - clocks : phandle of clock and specifier that supplies the device | ||
12 | - clock-names : Should be "sata" | ||
13 | |||
14 | Example: | ||
15 | sata-phy@84000 { | ||
16 | compatible = "marvell,mvebu-sata-phy"; | ||
17 | reg = <0x84000 0x0334>; | ||
18 | clocks = <&gate_clk 15>; | ||
19 | clock-names = "sata"; | ||
20 | #phy-cells = <0>; | ||
21 | status = "ok"; | ||
22 | }; | ||
23 | |||
24 | Armada 375 USB cluster | ||
25 | ---------------------- | ||
26 | |||
27 | Armada 375 comes with an USB2 host and device controller and an USB3 | ||
28 | controller. The USB cluster control register allows to manage common | ||
29 | features of both USB controllers. | ||
30 | |||
31 | Required properties: | ||
32 | |||
33 | - compatible: "marvell,armada-375-usb-cluster" | ||
34 | - reg: Should contain usb cluster register location and length. | ||
35 | - #phy-cells : from the generic phy bindings, must be 1. Possible | ||
36 | values are 1 (USB2), 2 (USB3). | ||
37 | |||
38 | Example: | ||
39 | usbcluster: usb-cluster@18400 { | ||
40 | compatible = "marvell,armada-375-usb-cluster"; | ||
41 | reg = <0x18400 0x4>; | ||
42 | #phy-cells = <1> | ||
43 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt index 15e0f2c7130f..d5bad920827f 100644 --- a/Documentation/devicetree/bindings/phy/samsung-phy.txt +++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt | |||
@@ -128,6 +128,7 @@ Required properties: | |||
128 | - compatible : Should be set to one of the following supported values: | 128 | - compatible : Should be set to one of the following supported values: |
129 | - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC, | 129 | - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC, |
130 | - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC. | 130 | - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC. |
131 | - "samsung,exynos7-usbdrd-phy" - for exynos7 SoC. | ||
131 | - reg : Register offset and length of USB DRD PHY register set; | 132 | - reg : Register offset and length of USB DRD PHY register set; |
132 | - clocks: Clock IDs array as required by the controller | 133 | - clocks: Clock IDs array as required by the controller |
133 | - clock-names: names of clocks correseponding to IDs in the clock property; | 134 | - clock-names: names of clocks correseponding to IDs in the clock property; |
@@ -138,6 +139,11 @@ Required properties: | |||
138 | PHY operations, associated by phy name. It is used to | 139 | PHY operations, associated by phy name. It is used to |
139 | determine bit values for clock settings register. | 140 | determine bit values for clock settings register. |
140 | For Exynos5420 this is given as 'sclk_usbphy30' in CMU. | 141 | For Exynos5420 this is given as 'sclk_usbphy30' in CMU. |
142 | - optional clocks: Exynos7 SoC has now following additional | ||
143 | gate clocks available: | ||
144 | - phy_pipe: for PIPE3 phy | ||
145 | - phy_utmi: for UTMI+ phy | ||
146 | - itp: for ITP generation | ||
141 | - samsung,pmu-syscon: phandle for PMU system controller interface, used to | 147 | - samsung,pmu-syscon: phandle for PMU system controller interface, used to |
142 | control pmu registers for power isolation. | 148 | control pmu registers for power isolation. |
143 | - #phy-cells : from the generic PHY bindings, must be 1; | 149 | - #phy-cells : from the generic PHY bindings, must be 1; |
diff --git a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt index a186181c402b..51b943cc9770 100644 --- a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt | |||
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
9 | common pinctrl bindings used by client devices, including the meaning of the | 9 | common pinctrl bindings used by client devices, including the meaning of the |
10 | phrase "pin configuration node". | 10 | phrase "pin configuration node". |
11 | 11 | ||
12 | TZ1090-PDC's pin configuration nodes act as a container for an abitrary number | 12 | TZ1090-PDC's pin configuration nodes act as a container for an arbitrary number |
13 | of subnodes. Each of these subnodes represents some desired configuration for a | 13 | of subnodes. Each of these subnodes represents some desired configuration for a |
14 | pin, a group, or a list of pins or groups. This configuration can include the | 14 | pin, a group, or a list of pins or groups. This configuration can include the |
15 | mux function to select on those pin(s)/group(s), and various pin configuration | 15 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt index 4b27c99f7f9d..509faa87ad0e 100644 --- a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt | |||
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
9 | common pinctrl bindings used by client devices, including the meaning of the | 9 | common pinctrl bindings used by client devices, including the meaning of the |
10 | phrase "pin configuration node". | 10 | phrase "pin configuration node". |
11 | 11 | ||
12 | TZ1090's pin configuration nodes act as a container for an abitrary number of | 12 | TZ1090's pin configuration nodes act as a container for an arbitrary number of |
13 | subnodes. Each of these subnodes represents some desired configuration for a | 13 | subnodes. Each of these subnodes represents some desired configuration for a |
14 | pin, a group, or a list of pins or groups. This configuration can include the | 14 | pin, a group, or a list of pins or groups. This configuration can include the |
15 | mux function to select on those pin(s)/group(s), and various pin configuration | 15 | mux function to select on those pin(s)/group(s), and various pin configuration |
@@ -67,7 +67,7 @@ Valid values for pin and group names are: | |||
67 | They also all support the some form of muxing. Any pins which are contained | 67 | They also all support the some form of muxing. Any pins which are contained |
68 | in one of the mux groups (see below) can be muxed only to the functions | 68 | in one of the mux groups (see below) can be muxed only to the functions |
69 | supported by the mux group. All other pins can be muxed to the "perip" | 69 | supported by the mux group. All other pins can be muxed to the "perip" |
70 | function which which enables them with their intended peripheral. | 70 | function which enables them with their intended peripheral. |
71 | 71 | ||
72 | Different pins in the same mux group cannot be muxed to different functions, | 72 | Different pins in the same mux group cannot be muxed to different functions, |
73 | however it is possible to mux only a subset of the pins in a mux group to a | 73 | however it is possible to mux only a subset of the pins in a mux group to a |
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt index daa768956069..ac4da9fe07bd 100644 --- a/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt +++ b/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt | |||
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
9 | common pinctrl bindings used by client devices, including the meaning of the | 9 | common pinctrl bindings used by client devices, including the meaning of the |
10 | phrase "pin configuration node". | 10 | phrase "pin configuration node". |
11 | 11 | ||
12 | Lantiq's pin configuration nodes act as a container for an abitrary number of | 12 | Lantiq's pin configuration nodes act as a container for an arbitrary number of |
13 | subnodes. Each of these subnodes represents some desired configuration for a | 13 | subnodes. Each of these subnodes represents some desired configuration for a |
14 | pin, a group, or a list of pins or groups. This configuration can include the | 14 | pin, a group, or a list of pins or groups. This configuration can include the |
15 | mux function to select on those group(s), and two pin configuration parameters: | 15 | mux function to select on those group(s), and two pin configuration parameters: |
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt index b5469db1d7ad..e89b4677567d 100644 --- a/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt +++ b/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt | |||
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
9 | common pinctrl bindings used by client devices, including the meaning of the | 9 | common pinctrl bindings used by client devices, including the meaning of the |
10 | phrase "pin configuration node". | 10 | phrase "pin configuration node". |
11 | 11 | ||
12 | Lantiq's pin configuration nodes act as a container for an abitrary number of | 12 | Lantiq's pin configuration nodes act as a container for an arbitrary number of |
13 | subnodes. Each of these subnodes represents some desired configuration for a | 13 | subnodes. Each of these subnodes represents some desired configuration for a |
14 | pin, a group, or a list of pins or groups. This configuration can include the | 14 | pin, a group, or a list of pins or groups. This configuration can include the |
15 | mux function to select on those group(s), and two pin configuration parameters: | 15 | mux function to select on those group(s), and two pin configuration parameters: |
diff --git a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt new file mode 100644 index 000000000000..17e7240c6998 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt | |||
@@ -0,0 +1,96 @@ | |||
1 | == Amlogic Meson pinmux controller == | ||
2 | |||
3 | Required properties for the root node: | ||
4 | - compatible: "amlogic,meson8-pinctrl" | ||
5 | - reg: address and size of registers controlling irq functionality | ||
6 | |||
7 | === GPIO sub-nodes === | ||
8 | |||
9 | The 2 power domains of the controller (regular and always-on) are | ||
10 | represented as sub-nodes and each of them acts as a GPIO controller. | ||
11 | |||
12 | Required properties for sub-nodes are: | ||
13 | - reg: should contain address and size for mux, pull-enable, pull and | ||
14 | gpio register sets | ||
15 | - reg-names: an array of strings describing the "reg" entries. Must | ||
16 | contain "mux", "pull" and "gpio". "pull-enable" is optional and | ||
17 | when it is missing the "pull" registers are used instead | ||
18 | - gpio-controller: identifies the node as a gpio controller | ||
19 | - #gpio-cells: must be 2 | ||
20 | |||
21 | Valid sub-node names are: | ||
22 | - "banks" for the regular domain | ||
23 | - "ao-bank" for the always-on domain | ||
24 | |||
25 | === Other sub-nodes === | ||
26 | |||
27 | Child nodes without the "gpio-controller" represent some desired | ||
28 | configuration for a pin or a group. Those nodes can be pinmux nodes or | ||
29 | configuration nodes. | ||
30 | |||
31 | Required properties for pinmux nodes are: | ||
32 | - groups: a list of pinmux groups. The list of all available groups | ||
33 | depends on the SoC and can be found in driver sources. | ||
34 | - function: the name of a function to activate for the specified set | ||
35 | of groups. The list of all available functions depends on the SoC | ||
36 | and can be found in driver sources. | ||
37 | |||
38 | Required properties for configuration nodes: | ||
39 | - pins: a list of pin names | ||
40 | |||
41 | Configuration nodes support the generic properties "bias-disable", | ||
42 | "bias-pull-up" and "bias-pull-down", described in file | ||
43 | pinctrl-bindings.txt | ||
44 | |||
45 | === Example === | ||
46 | |||
47 | pinctrl: pinctrl@c1109880 { | ||
48 | compatible = "amlogic,meson8-pinctrl"; | ||
49 | reg = <0xc1109880 0x10>; | ||
50 | #address-cells = <1>; | ||
51 | #size-cells = <1>; | ||
52 | ranges; | ||
53 | |||
54 | gpio: banks@c11080b0 { | ||
55 | reg = <0xc11080b0 0x28>, | ||
56 | <0xc11080e8 0x18>, | ||
57 | <0xc1108120 0x18>, | ||
58 | <0xc1108030 0x30>; | ||
59 | reg-names = "mux", "pull", "pull-enable", "gpio"; | ||
60 | gpio-controller; | ||
61 | #gpio-cells = <2>; | ||
62 | }; | ||
63 | |||
64 | gpio_ao: ao-bank@c1108030 { | ||
65 | reg = <0xc8100014 0x4>, | ||
66 | <0xc810002c 0x4>, | ||
67 | <0xc8100024 0x8>; | ||
68 | reg-names = "mux", "pull", "gpio"; | ||
69 | gpio-controller; | ||
70 | #gpio-cells = <2>; | ||
71 | }; | ||
72 | |||
73 | nand { | ||
74 | mux { | ||
75 | groups = "nand_io", "nand_io_ce0", "nand_io_ce1", | ||
76 | "nand_io_rb0", "nand_ale", "nand_cle", | ||
77 | "nand_wen_clk", "nand_ren_clk", "nand_dqs", | ||
78 | "nand_ce2", "nand_ce3"; | ||
79 | function = "nand"; | ||
80 | }; | ||
81 | }; | ||
82 | |||
83 | uart_ao_a { | ||
84 | mux { | ||
85 | groups = "uart_tx_ao_a", "uart_rx_ao_a", | ||
86 | "uart_cts_ao_a", "uart_rts_ao_a"; | ||
87 | function = "uart_ao"; | ||
88 | }; | ||
89 | |||
90 | conf { | ||
91 | pins = "GPIOAO_0", "GPIOAO_1", | ||
92 | "GPIOAO_2", "GPIOAO_3"; | ||
93 | bias-disable; | ||
94 | }; | ||
95 | }; | ||
96 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt index 61e73cde9ae9..3c8ce28baad6 100644 --- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt +++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt | |||
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
9 | common pinctrl bindings used by client devices, including the meaning of the | 9 | common pinctrl bindings used by client devices, including the meaning of the |
10 | phrase "pin configuration node". | 10 | phrase "pin configuration node". |
11 | 11 | ||
12 | Tegra's pin configuration nodes act as a container for an abitrary number of | 12 | Tegra's pin configuration nodes act as a container for an arbitrary number of |
13 | subnodes. Each of these subnodes represents some desired configuration for a | 13 | subnodes. Each of these subnodes represents some desired configuration for a |
14 | pin, a group, or a list of pins or groups. This configuration can include the | 14 | pin, a group, or a list of pins or groups. This configuration can include the |
15 | mux function to select on those pin(s)/group(s), and various pin configuration | 15 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt index 98eb94d91a1c..47d84b6ee91b 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | |||
@@ -216,4 +216,4 @@ arguments are described below. | |||
216 | or 0 to disable debouncing | 216 | or 0 to disable debouncing |
217 | 217 | ||
218 | More in-depth documentation on these parameters can be found in | 218 | More in-depth documentation on these parameters can be found in |
219 | <include/linux/pinctrl/pinconfig-generic.h> | 219 | <include/linux/pinctrl/pinconf-generic.h> |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt index c596a6ad3285..5f55be59d914 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt | |||
@@ -13,7 +13,7 @@ Optional properties: | |||
13 | Please refer to pinctrl-bindings.txt in this directory for details of the common | 13 | Please refer to pinctrl-bindings.txt in this directory for details of the common |
14 | pinctrl bindings used by client devices. | 14 | pinctrl bindings used by client devices. |
15 | 15 | ||
16 | SiRFprimaII's pinmux nodes act as a container for an abitrary number of subnodes. | 16 | SiRFprimaII's pinmux nodes act as a container for an arbitrary number of subnodes. |
17 | Each of these subnodes represents some desired configuration for a group of pins. | 17 | Each of these subnodes represents some desired configuration for a group of pins. |
18 | 18 | ||
19 | Required subnode-properties: | 19 | Required subnode-properties: |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt index b4480d5c3aca..458615596946 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt | |||
@@ -32,7 +32,7 @@ Required properties: | |||
32 | Please refer to pinctrl-bindings.txt in this directory for details of the common | 32 | Please refer to pinctrl-bindings.txt in this directory for details of the common |
33 | pinctrl bindings used by client devices. | 33 | pinctrl bindings used by client devices. |
34 | 34 | ||
35 | SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each | 35 | SPEAr's pinmux nodes act as a container for an arbitrary number of subnodes. Each |
36 | of these subnodes represents muxing for a pin, a group, or a list of pins or | 36 | of these subnodes represents muxing for a pin, a group, or a list of pins or |
37 | groups. | 37 | groups. |
38 | 38 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt index 2fb90b37aa09..a7bde64798c7 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt | |||
@@ -18,7 +18,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
18 | common pinctrl bindings used by client devices, including the meaning of the | 18 | common pinctrl bindings used by client devices, including the meaning of the |
19 | phrase "pin configuration node". | 19 | phrase "pin configuration node". |
20 | 20 | ||
21 | Qualcomm's pin configuration nodes act as a container for an abitrary number of | 21 | Qualcomm's pin configuration nodes act as a container for an arbitrary number of |
22 | subnodes. Each of these subnodes represents some desired configuration for a | 22 | subnodes. Each of these subnodes represents some desired configuration for a |
23 | pin, a group, or a list of pins or groups. This configuration can include the | 23 | pin, a group, or a list of pins or groups. This configuration can include the |
24 | mux function to select on those pin(s)/group(s), and various pin configuration | 24 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt index ffafa1990a30..c4ea61ac56f2 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt | |||
@@ -47,7 +47,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
47 | common pinctrl bindings used by client devices, including the meaning of the | 47 | common pinctrl bindings used by client devices, including the meaning of the |
48 | phrase "pin configuration node". | 48 | phrase "pin configuration node". |
49 | 49 | ||
50 | The pin configuration nodes act as a container for an abitrary number of | 50 | The pin configuration nodes act as a container for an arbitrary number of |
51 | subnodes. Each of these subnodes represents some desired configuration for a | 51 | subnodes. Each of these subnodes represents some desired configuration for a |
52 | pin, a group, or a list of pins or groups. This configuration can include the | 52 | pin, a group, or a list of pins or groups. This configuration can include the |
53 | mux function to select on those pin(s)/group(s), and various pin configuration | 53 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt index e33e4dcdce79..6e88e91feb11 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt | |||
@@ -18,7 +18,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
18 | common pinctrl bindings used by client devices, including the meaning of the | 18 | common pinctrl bindings used by client devices, including the meaning of the |
19 | phrase "pin configuration node". | 19 | phrase "pin configuration node". |
20 | 20 | ||
21 | Qualcomm's pin configuration nodes act as a container for an abitrary number of | 21 | Qualcomm's pin configuration nodes act as a container for an arbitrary number of |
22 | subnodes. Each of these subnodes represents some desired configuration for a | 22 | subnodes. Each of these subnodes represents some desired configuration for a |
23 | pin, a group, or a list of pins or groups. This configuration can include the | 23 | pin, a group, or a list of pins or groups. This configuration can include the |
24 | mux function to select on those pin(s)/group(s), and various pin configuration | 24 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt index 93b7de91b9f6..eb8d8aa41f20 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt | |||
@@ -47,7 +47,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
47 | common pinctrl bindings used by client devices, including the meaning of the | 47 | common pinctrl bindings used by client devices, including the meaning of the |
48 | phrase "pin configuration node". | 48 | phrase "pin configuration node". |
49 | 49 | ||
50 | The pin configuration nodes act as a container for an abitrary number of | 50 | The pin configuration nodes act as a container for an arbitrary number of |
51 | subnodes. Each of these subnodes represents some desired configuration for a | 51 | subnodes. Each of these subnodes represents some desired configuration for a |
52 | pin, a group, or a list of pins or groups. This configuration can include the | 52 | pin, a group, or a list of pins or groups. This configuration can include the |
53 | mux function to select on those pin(s)/group(s), and various pin configuration | 53 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt index d2ea80dc43eb..e4d6a9d20f7d 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt | |||
@@ -18,7 +18,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
18 | common pinctrl bindings used by client devices, including the meaning of the | 18 | common pinctrl bindings used by client devices, including the meaning of the |
19 | phrase "pin configuration node". | 19 | phrase "pin configuration node". |
20 | 20 | ||
21 | Qualcomm's pin configuration nodes act as a container for an abitrary number of | 21 | Qualcomm's pin configuration nodes act as a container for an arbitrary number of |
22 | subnodes. Each of these subnodes represents some desired configuration for a | 22 | subnodes. Each of these subnodes represents some desired configuration for a |
23 | pin, a group, or a list of pins or groups. This configuration can include the | 23 | pin, a group, or a list of pins or groups. This configuration can include the |
24 | mux function to select on those pin(s)/group(s), and various pin configuration | 24 | mux function to select on those pin(s)/group(s), and various pin configuration |
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt new file mode 100644 index 000000000000..7ed08048516a --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt | |||
@@ -0,0 +1,215 @@ | |||
1 | Qualcomm PMIC GPIO block | ||
2 | |||
3 | This binding describes the GPIO block(s) found in the 8xxx series of | ||
4 | PMIC's from Qualcomm. | ||
5 | |||
6 | - compatible: | ||
7 | Usage: required | ||
8 | Value type: <string> | ||
9 | Definition: must be one of: | ||
10 | "qcom,pm8018-gpio" | ||
11 | "qcom,pm8038-gpio" | ||
12 | "qcom,pm8058-gpio" | ||
13 | "qcom,pm8917-gpio" | ||
14 | "qcom,pm8921-gpio" | ||
15 | "qcom,pm8941-gpio" | ||
16 | "qcom,pma8084-gpio" | ||
17 | |||
18 | - reg: | ||
19 | Usage: required | ||
20 | Value type: <prop-encoded-array> | ||
21 | Definition: Register base of the GPIO block and length. | ||
22 | |||
23 | - interrupts: | ||
24 | Usage: required | ||
25 | Value type: <prop-encoded-array> | ||
26 | Definition: Must contain an array of encoded interrupt specifiers for | ||
27 | each available GPIO | ||
28 | |||
29 | - gpio-controller: | ||
30 | Usage: required | ||
31 | Value type: <none> | ||
32 | Definition: Mark the device node as a GPIO controller | ||
33 | |||
34 | - #gpio-cells: | ||
35 | Usage: required | ||
36 | Value type: <u32> | ||
37 | Definition: Must be 2; | ||
38 | the first cell will be used to define gpio number and the | ||
39 | second denotes the flags for this gpio | ||
40 | |||
41 | Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for | ||
42 | a general description of GPIO and interrupt bindings. | ||
43 | |||
44 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
45 | common pinctrl bindings used by client devices, including the meaning of the | ||
46 | phrase "pin configuration node". | ||
47 | |||
48 | The pin configuration nodes act as a container for an arbitrary number of | ||
49 | subnodes. Each of these subnodes represents some desired configuration for a | ||
50 | pin or a list of pins. This configuration can include the | ||
51 | mux function to select on those pin(s), and various pin configuration | ||
52 | parameters, as listed below. | ||
53 | |||
54 | |||
55 | SUBNODES: | ||
56 | |||
57 | The name of each subnode is not important; all subnodes should be enumerated | ||
58 | and processed purely based on their content. | ||
59 | |||
60 | Each subnode only affects those parameters that are explicitly listed. In | ||
61 | other words, a subnode that lists a mux function but no pin configuration | ||
62 | parameters implies no information about any pin configuration parameters. | ||
63 | Similarly, a pin subnode that describes a pullup parameter implies no | ||
64 | information about e.g. the mux function. | ||
65 | |||
66 | The following generic properties as defined in pinctrl-bindings.txt are valid | ||
67 | to specify in a pin configuration subnode: | ||
68 | |||
69 | - pins: | ||
70 | Usage: required | ||
71 | Value type: <string-array> | ||
72 | Definition: List of gpio pins affected by the properties specified in | ||
73 | this subnode. Valid pins are: | ||
74 | gpio1-gpio6 for pm8018 | ||
75 | gpio1-gpio12 for pm8038 | ||
76 | gpio1-gpio40 for pm8058 | ||
77 | gpio1-gpio38 for pm8917 | ||
78 | gpio1-gpio44 for pm8921 | ||
79 | gpio1-gpio36 for pm8941 | ||
80 | gpio1-gpio22 for pma8084 | ||
81 | |||
82 | - function: | ||
83 | Usage: required | ||
84 | Value type: <string> | ||
85 | Definition: Specify the alternative function to be configured for the | ||
86 | specified pins. Valid values are: | ||
87 | "normal", | ||
88 | "paired", | ||
89 | "func1", | ||
90 | "func2", | ||
91 | "dtest1", | ||
92 | "dtest2", | ||
93 | "dtest3", | ||
94 | "dtest4" | ||
95 | |||
96 | - bias-disable: | ||
97 | Usage: optional | ||
98 | Value type: <none> | ||
99 | Definition: The specified pins should be configured as no pull. | ||
100 | |||
101 | - bias-pull-down: | ||
102 | Usage: optional | ||
103 | Value type: <none> | ||
104 | Definition: The specified pins should be configured as pull down. | ||
105 | |||
106 | - bias-pull-up: | ||
107 | Usage: optional | ||
108 | Value type: <empty> | ||
109 | Definition: The specified pins should be configured as pull up. | ||
110 | |||
111 | - qcom,pull-up-strength: | ||
112 | Usage: optional | ||
113 | Value type: <u32> | ||
114 | Definition: Specifies the strength to use for pull up, if selected. | ||
115 | Valid values are; as defined in | ||
116 | <dt-bindings/pinctrl/qcom,pmic-gpio.h>: | ||
117 | 1: 30uA (PMIC_GPIO_PULL_UP_30) | ||
118 | 2: 1.5uA (PMIC_GPIO_PULL_UP_1P5) | ||
119 | 3: 31.5uA (PMIC_GPIO_PULL_UP_31P5) | ||
120 | 4: 1.5uA + 30uA boost (PMIC_GPIO_PULL_UP_1P5_30) | ||
121 | If this property is ommited 30uA strength will be used if | ||
122 | pull up is selected | ||
123 | |||
124 | - bias-high-impedance: | ||
125 | Usage: optional | ||
126 | Value type: <none> | ||
127 | Definition: The specified pins will put in high-Z mode and disabled. | ||
128 | |||
129 | - input-enable: | ||
130 | Usage: optional | ||
131 | Value type: <none> | ||
132 | Definition: The specified pins are put in input mode. | ||
133 | |||
134 | - output-high: | ||
135 | Usage: optional | ||
136 | Value type: <none> | ||
137 | Definition: The specified pins are configured in output mode, driven | ||
138 | high. | ||
139 | |||
140 | - output-low: | ||
141 | Usage: optional | ||
142 | Value type: <none> | ||
143 | Definition: The specified pins are configured in output mode, driven | ||
144 | low. | ||
145 | |||
146 | - power-source: | ||
147 | Usage: optional | ||
148 | Value type: <u32> | ||
149 | Definition: Selects the power source for the specified pins. Valid | ||
150 | power sources are defined per chip in | ||
151 | <dt-bindings/pinctrl/qcom,pmic-gpio.h> | ||
152 | |||
153 | - qcom,drive-strength: | ||
154 | Usage: optional | ||
155 | Value type: <u32> | ||
156 | Definition: Selects the drive strength for the specified pins. Value | ||
157 | drive strengths are: | ||
158 | 0: no (PMIC_GPIO_STRENGTH_NO) | ||
159 | 1: high (PMIC_GPIO_STRENGTH_HIGH) 0.9mA @ 1.8V - 1.9mA @ 2.6V | ||
160 | 2: medium (PMIC_GPIO_STRENGTH_MED) 0.6mA @ 1.8V - 1.25mA @ 2.6V | ||
161 | 3: low (PMIC_GPIO_STRENGTH_LOW) 0.15mA @ 1.8V - 0.3mA @ 2.6V | ||
162 | as defined in <dt-bindings/pinctrl/qcom,pmic-gpio.h> | ||
163 | |||
164 | - drive-push-pull: | ||
165 | Usage: optional | ||
166 | Value type: <none> | ||
167 | Definition: The specified pins are configured in push-pull mode. | ||
168 | |||
169 | - drive-open-drain: | ||
170 | Usage: optional | ||
171 | Value type: <none> | ||
172 | Definition: The specified pins are configured in open-drain mode. | ||
173 | |||
174 | - drive-open-source: | ||
175 | Usage: optional | ||
176 | Value type: <none> | ||
177 | Definition: The specified pins are configured in open-source mode. | ||
178 | |||
179 | Example: | ||
180 | |||
181 | pm8921_gpio: gpio@150 { | ||
182 | compatible = "qcom,pm8921-gpio"; | ||
183 | reg = <0x150 0x160>; | ||
184 | interrupts = <192 1>, <193 1>, <194 1>, | ||
185 | <195 1>, <196 1>, <197 1>, | ||
186 | <198 1>, <199 1>, <200 1>, | ||
187 | <201 1>, <202 1>, <203 1>, | ||
188 | <204 1>, <205 1>, <206 1>, | ||
189 | <207 1>, <208 1>, <209 1>, | ||
190 | <210 1>, <211 1>, <212 1>, | ||
191 | <213 1>, <214 1>, <215 1>, | ||
192 | <216 1>, <217 1>, <218 1>, | ||
193 | <219 1>, <220 1>, <221 1>, | ||
194 | <222 1>, <223 1>, <224 1>, | ||
195 | <225 1>, <226 1>, <227 1>, | ||
196 | <228 1>, <229 1>, <230 1>, | ||
197 | <231 1>, <232 1>, <233 1>, | ||
198 | <234 1>, <235 1>; | ||
199 | |||
200 | gpio-controller; | ||
201 | #gpio-cells = <2>; | ||
202 | |||
203 | pm8921_gpio_keys: gpio-keys { | ||
204 | volume-keys { | ||
205 | pins = "gpio20", "gpio21"; | ||
206 | function = "normal"; | ||
207 | |||
208 | input-enable; | ||
209 | bias-pull-up; | ||
210 | drive-push-pull; | ||
211 | qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; | ||
212 | power-source = <PM8921_GPIO_S4>; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt new file mode 100644 index 000000000000..854774b194ed --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt | |||
@@ -0,0 +1,162 @@ | |||
1 | Qualcomm PMIC Multi-Purpose Pin (MPP) block | ||
2 | |||
3 | This binding describes the MPP block(s) found in the 8xxx series | ||
4 | of PMIC's from Qualcomm. | ||
5 | |||
6 | - compatible: | ||
7 | Usage: required | ||
8 | Value type: <string> | ||
9 | Definition: Should contain one of: | ||
10 | "qcom,pm8841-mpp", | ||
11 | "qcom,pm8941-mpp", | ||
12 | "qcom,pma8084-mpp", | ||
13 | |||
14 | - reg: | ||
15 | Usage: required | ||
16 | Value type: <prop-encoded-array> | ||
17 | Definition: Register base of the MPP block and length. | ||
18 | |||
19 | - interrupts: | ||
20 | Usage: required | ||
21 | Value type: <prop-encoded-array> | ||
22 | Definition: Must contain an array of encoded interrupt specifiers for | ||
23 | each available MPP | ||
24 | |||
25 | - gpio-controller: | ||
26 | Usage: required | ||
27 | Value type: <none> | ||
28 | Definition: Mark the device node as a GPIO controller | ||
29 | |||
30 | - #gpio-cells: | ||
31 | Usage: required | ||
32 | Value type: <u32> | ||
33 | Definition: Must be 2; | ||
34 | the first cell will be used to define MPP number and the | ||
35 | second denotes the flags for this MPP | ||
36 | |||
37 | Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for | ||
38 | a general description of GPIO and interrupt bindings. | ||
39 | |||
40 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
41 | common pinctrl bindings used by client devices, including the meaning of the | ||
42 | phrase "pin configuration node". | ||
43 | |||
44 | The pin configuration nodes act as a container for an arbitrary number of | ||
45 | subnodes. Each of these subnodes represents some desired configuration for a | ||
46 | pin or a list of pins. This configuration can include the | ||
47 | mux function to select on those pin(s), and various pin configuration | ||
48 | parameters, as listed below. | ||
49 | |||
50 | SUBNODES: | ||
51 | |||
52 | The name of each subnode is not important; all subnodes should be enumerated | ||
53 | and processed purely based on their content. | ||
54 | |||
55 | Each subnode only affects those parameters that are explicitly listed. In | ||
56 | other words, a subnode that lists a mux function but no pin configuration | ||
57 | parameters implies no information about any pin configuration parameters. | ||
58 | Similarly, a pin subnode that describes a pullup parameter implies no | ||
59 | information about e.g. the mux function. | ||
60 | |||
61 | The following generic properties as defined in pinctrl-bindings.txt are valid | ||
62 | to specify in a pin configuration subnode: | ||
63 | |||
64 | - pins: | ||
65 | Usage: required | ||
66 | Value type: <string-array> | ||
67 | Definition: List of MPP pins affected by the properties specified in | ||
68 | this subnode. Valid pins are: | ||
69 | mpp1-mpp4 for pm8841 | ||
70 | mpp1-mpp8 for pm8941 | ||
71 | mpp1-mpp4 for pma8084 | ||
72 | |||
73 | - function: | ||
74 | Usage: required | ||
75 | Value type: <string> | ||
76 | Definition: Specify the alternative function to be configured for the | ||
77 | specified pins. Valid values are: | ||
78 | "normal", | ||
79 | "paired", | ||
80 | "dtest1", | ||
81 | "dtest2", | ||
82 | "dtest3", | ||
83 | "dtest4" | ||
84 | |||
85 | - bias-disable: | ||
86 | Usage: optional | ||
87 | Value type: <none> | ||
88 | Definition: The specified pins should be configured as no pull. | ||
89 | |||
90 | - bias-pull-up: | ||
91 | Usage: optional | ||
92 | Value type: <u32> | ||
93 | Definition: The specified pins should be configured as pull up. | ||
94 | Valid values are 600, 10000 and 30000 in bidirectional mode | ||
95 | only, i.e. when operating in qcom,analog-mode and input and | ||
96 | outputs are enabled. The hardware ignores the configuration | ||
97 | when operating in other modes. | ||
98 | |||
99 | - bias-high-impedance: | ||
100 | Usage: optional | ||
101 | Value type: <none> | ||
102 | Definition: The specified pins will put in high-Z mode and disabled. | ||
103 | |||
104 | - input-enable: | ||
105 | Usage: optional | ||
106 | Value type: <none> | ||
107 | Definition: The specified pins are put in input mode, i.e. their input | ||
108 | buffer is enabled | ||
109 | |||
110 | - output-high: | ||
111 | Usage: optional | ||
112 | Value type: <none> | ||
113 | Definition: The specified pins are configured in output mode, driven | ||
114 | high. | ||
115 | |||
116 | - output-low: | ||
117 | Usage: optional | ||
118 | Value type: <none> | ||
119 | Definition: The specified pins are configured in output mode, driven | ||
120 | low. | ||
121 | |||
122 | - power-source: | ||
123 | Usage: optional | ||
124 | Value type: <u32> | ||
125 | Definition: Selects the power source for the specified pins. Valid power | ||
126 | sources are defined in <dt-bindings/pinctrl/qcom,pmic-mpp.h> | ||
127 | |||
128 | - qcom,analog-mode: | ||
129 | Usage: optional | ||
130 | Value type: <none> | ||
131 | Definition: Selects Analog mode of operation: combined with input-enable | ||
132 | and/or output-high, output-low MPP could operate as | ||
133 | Bidirectional Logic, Analog Input, Analog Output. | ||
134 | |||
135 | - qcom,amux-route: | ||
136 | Usage: optional | ||
137 | Value type: <u32> | ||
138 | Definition: Selects the source for analog input. Valid values are | ||
139 | defined in <dt-bindings/pinctrl/qcom,pmic-mpp.h> | ||
140 | PMIC_MPP_AMUX_ROUTE_CH5, PMIC_MPP_AMUX_ROUTE_CH6... | ||
141 | |||
142 | Example: | ||
143 | |||
144 | mpps@a000 { | ||
145 | compatible = "qcom,pm8841-mpp"; | ||
146 | reg = <0xa000>; | ||
147 | gpio-controller; | ||
148 | #gpio-cells = <2>; | ||
149 | interrupts = <4 0xa0 0 0>, <4 0xa1 0 0>, <4 0xa2 0 0>, <4 0xa3 0 0>; | ||
150 | |||
151 | pinctrl-names = "default"; | ||
152 | pinctrl-0 = <&pm8841_default>; | ||
153 | |||
154 | pm8841_default: default { | ||
155 | gpio { | ||
156 | pins = "mpp1", "mpp2", "mpp3", "mpp4"; | ||
157 | function = "normal"; | ||
158 | input-enable; | ||
159 | power-source = <PM8841_MPP_S3>; | ||
160 | }; | ||
161 | }; | ||
162 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index e82aaf492517..8425838a6dff 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt | |||
@@ -18,6 +18,7 @@ Required Properties: | |||
18 | - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. | 18 | - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. |
19 | - "samsung,exynos5260-pinctrl": for Exynos5260 compatible pin-controller. | 19 | - "samsung,exynos5260-pinctrl": for Exynos5260 compatible pin-controller. |
20 | - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. | 20 | - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. |
21 | - "samsung,exynos7-pinctrl": for Exynos7 compatible pin-controller. | ||
21 | 22 | ||
22 | - reg: Base address of the pin controller hardware module and length of | 23 | - reg: Base address of the pin controller hardware module and length of |
23 | the address space it occupies. | 24 | the address space it occupies. |
@@ -136,6 +137,8 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a | |||
136 | found on Samsung S3C64xx SoCs, | 137 | found on Samsung S3C64xx SoCs, |
137 | - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller | 138 | - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller |
138 | found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs. | 139 | found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs. |
140 | - samsung,exynos7-wakeup-eint: represents wakeup interrupt controller | ||
141 | found on Samsung Exynos7 SoC. | ||
139 | - interrupt-parent: phandle of the interrupt parent to which the external | 142 | - interrupt-parent: phandle of the interrupt parent to which the external |
140 | wakeup interrupts are forwarded to. | 143 | wakeup interrupts are forwarded to. |
141 | - interrupts: interrupt used by multiplexed wakeup interrupts. | 144 | - interrupts: interrupt used by multiplexed wakeup interrupts. |
diff --git a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt index e3865e136067..87697420439e 100644 --- a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt +++ b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt | |||
@@ -8,42 +8,8 @@ Please refer to pinctrl-bindings.txt in this directory for details of the | |||
8 | common pinctrl bindings used by client devices, including the meaning of the | 8 | common pinctrl bindings used by client devices, including the meaning of the |
9 | phrase "pin configuration node". | 9 | phrase "pin configuration node". |
10 | 10 | ||
11 | ST Ericsson's pin configuration nodes act as a container for an arbitrary number of | 11 | ST Ericsson's pin configuration nodes use the generic pin multiplexing |
12 | subnodes. Each of these subnodes represents some desired configuration for a | 12 | and pin configuration bindings, see pinctrl-bindings.txt |
13 | pin, a group, or a list of pins or groups. This configuration can include the | ||
14 | mux function to select on those pin(s)/group(s), and various pin configuration | ||
15 | parameters, such as input, output, pull up, pull down... | ||
16 | |||
17 | The name of each subnode is not important; all subnodes should be enumerated | ||
18 | and processed purely based on their content. | ||
19 | |||
20 | Required subnode-properties: | ||
21 | - ste,pins : An array of strings. Each string contains the name of a pin or | ||
22 | group. | ||
23 | |||
24 | Optional subnode-properties: | ||
25 | - ste,function: A string containing the name of the function to mux to the | ||
26 | pin or group. | ||
27 | |||
28 | - generic pin configuration option to use. Example : | ||
29 | |||
30 | default_cfg { | ||
31 | ste,pins = "GPIO1"; | ||
32 | bias-disable; | ||
33 | }; | ||
34 | |||
35 | - ste,config: Handle of pin configuration node containing the generic | ||
36 | pinconfig options to use, as described in pinctrl-bindings.txt in | ||
37 | this directory. Example : | ||
38 | |||
39 | pcfg_bias_disable: pcfg_bias_disable { | ||
40 | bias-disable; | ||
41 | }; | ||
42 | |||
43 | default_cfg { | ||
44 | ste,pins = "GPIO1"; | ||
45 | ste.config = <&pcfg_bias_disable>; | ||
46 | }; | ||
47 | 13 | ||
48 | Example board file extract: | 14 | Example board file extract: |
49 | 15 | ||
@@ -54,11 +20,11 @@ Example board file extract: | |||
54 | sysclkreq2 { | 20 | sysclkreq2 { |
55 | sysclkreq2_default_mode: sysclkreq2_default { | 21 | sysclkreq2_default_mode: sysclkreq2_default { |
56 | default_mux { | 22 | default_mux { |
57 | ste,function = "sysclkreq"; | 23 | function = "sysclkreq"; |
58 | ste,pins = "sysclkreq2_d_1"; | 24 | groups = "sysclkreq2_d_1"; |
59 | }; | 25 | }; |
60 | default_cfg { | 26 | default_cfg { |
61 | ste,pins = "GPIO1"; | 27 | pins = "GPIO1"; |
62 | bias-disable; | 28 | bias-disable; |
63 | }; | 29 | }; |
64 | }; | 30 | }; |
@@ -66,11 +32,11 @@ Example board file extract: | |||
66 | sysclkreq3 { | 32 | sysclkreq3 { |
67 | sysclkreq3_default_mode: sysclkreq3_default { | 33 | sysclkreq3_default_mode: sysclkreq3_default { |
68 | default_mux { | 34 | default_mux { |
69 | ste,function = "sysclkreq"; | 35 | function = "sysclkreq"; |
70 | ste,pins = "sysclkreq3_d_1"; | 36 | groups = "sysclkreq3_d_1"; |
71 | }; | 37 | }; |
72 | default_cfg { | 38 | default_cfg { |
73 | ste,pins = "GPIO2"; | 39 | pins = "GPIO2"; |
74 | output-low; | 40 | output-low; |
75 | }; | 41 | }; |
76 | }; | 42 | }; |
@@ -78,11 +44,11 @@ Example board file extract: | |||
78 | gpio3 { | 44 | gpio3 { |
79 | gpio3_default_mode: gpio3_default { | 45 | gpio3_default_mode: gpio3_default { |
80 | default_mux { | 46 | default_mux { |
81 | ste,function = "gpio"; | 47 | function = "gpio"; |
82 | ste,pins = "gpio3_a_1"; | 48 | groups = "gpio3_a_1"; |
83 | }; | 49 | }; |
84 | default_cfg { | 50 | default_cfg { |
85 | ste,pins = "GPIO3"; | 51 | pins = "GPIO3"; |
86 | output-low; | 52 | output-low; |
87 | }; | 53 | }; |
88 | }; | 54 | }; |
@@ -90,11 +56,11 @@ Example board file extract: | |||
90 | sysclkreq6 { | 56 | sysclkreq6 { |
91 | sysclkreq6_default_mode: sysclkreq6_default { | 57 | sysclkreq6_default_mode: sysclkreq6_default { |
92 | default_mux { | 58 | default_mux { |
93 | ste,function = "sysclkreq"; | 59 | function = "sysclkreq"; |
94 | ste,pins = "sysclkreq6_d_1"; | 60 | groups = "sysclkreq6_d_1"; |
95 | }; | 61 | }; |
96 | default_cfg { | 62 | default_cfg { |
97 | ste,pins = "GPIO4"; | 63 | pins = "GPIO4"; |
98 | bias-disable; | 64 | bias-disable; |
99 | }; | 65 | }; |
100 | }; | 66 | }; |
@@ -102,11 +68,11 @@ Example board file extract: | |||
102 | pwmout1 { | 68 | pwmout1 { |
103 | pwmout1_default_mode: pwmout1_default { | 69 | pwmout1_default_mode: pwmout1_default { |
104 | default_mux { | 70 | default_mux { |
105 | ste,function = "pwmout"; | 71 | function = "pwmout"; |
106 | ste,pins = "pwmout1_d_1"; | 72 | groups = "pwmout1_d_1"; |
107 | }; | 73 | }; |
108 | default_cfg { | 74 | default_cfg { |
109 | ste,pins = "GPIO14"; | 75 | pins = "GPIO14"; |
110 | output-low; | 76 | output-low; |
111 | }; | 77 | }; |
112 | }; | 78 | }; |
@@ -114,11 +80,11 @@ Example board file extract: | |||
114 | pwmout2 { | 80 | pwmout2 { |
115 | pwmout2_default_mode: pwmout2_default { | 81 | pwmout2_default_mode: pwmout2_default { |
116 | pwmout2_default_mux { | 82 | pwmout2_default_mux { |
117 | ste,function = "pwmout"; | 83 | function = "pwmout"; |
118 | ste,pins = "pwmout2_d_1"; | 84 | groups = "pwmout2_d_1"; |
119 | }; | 85 | }; |
120 | pwmout2_default_cfg { | 86 | pwmout2_default_cfg { |
121 | ste,pins = "GPIO15"; | 87 | pins = "GPIO15"; |
122 | output-low; | 88 | output-low; |
123 | }; | 89 | }; |
124 | }; | 90 | }; |
@@ -126,11 +92,11 @@ Example board file extract: | |||
126 | pwmout3 { | 92 | pwmout3 { |
127 | pwmout3_default_mode: pwmout3_default { | 93 | pwmout3_default_mode: pwmout3_default { |
128 | pwmout3_default_mux { | 94 | pwmout3_default_mux { |
129 | ste,function = "pwmout"; | 95 | function = "pwmout"; |
130 | ste,pins = "pwmout3_d_1"; | 96 | groups = "pwmout3_d_1"; |
131 | }; | 97 | }; |
132 | pwmout3_default_cfg { | 98 | pwmout3_default_cfg { |
133 | ste,pins = "GPIO16"; | 99 | pins = "GPIO16"; |
134 | output-low; | 100 | output-low; |
135 | }; | 101 | }; |
136 | }; | 102 | }; |
@@ -139,15 +105,15 @@ Example board file extract: | |||
139 | 105 | ||
140 | adi1_default_mode: adi1_default { | 106 | adi1_default_mode: adi1_default { |
141 | adi1_default_mux { | 107 | adi1_default_mux { |
142 | ste,function = "adi1"; | 108 | function = "adi1"; |
143 | ste,pins = "adi1_d_1"; | 109 | groups = "adi1_d_1"; |
144 | }; | 110 | }; |
145 | adi1_default_cfg1 { | 111 | adi1_default_cfg1 { |
146 | ste,pins = "GPIO17","GPIO19","GPIO20"; | 112 | pins = "GPIO17","GPIO19","GPIO20"; |
147 | bias-disable; | 113 | bias-disable; |
148 | }; | 114 | }; |
149 | adi1_default_cfg2 { | 115 | adi1_default_cfg2 { |
150 | ste,pins = "GPIO18"; | 116 | pins = "GPIO18"; |
151 | output-low; | 117 | output-low; |
152 | }; | 118 | }; |
153 | }; | 119 | }; |
@@ -155,15 +121,15 @@ Example board file extract: | |||
155 | dmic12 { | 121 | dmic12 { |
156 | dmic12_default_mode: dmic12_default { | 122 | dmic12_default_mode: dmic12_default { |
157 | dmic12_default_mux { | 123 | dmic12_default_mux { |
158 | ste,function = "dmic"; | 124 | function = "dmic"; |
159 | ste,pins = "dmic12_d_1"; | 125 | groups = "dmic12_d_1"; |
160 | }; | 126 | }; |
161 | dmic12_default_cfg1 { | 127 | dmic12_default_cfg1 { |
162 | ste,pins = "GPIO27"; | 128 | pins = "GPIO27"; |
163 | output-low; | 129 | output-low; |
164 | }; | 130 | }; |
165 | dmic12_default_cfg2 { | 131 | dmic12_default_cfg2 { |
166 | ste,pins = "GPIO28"; | 132 | pins = "GPIO28"; |
167 | bias-disable; | 133 | bias-disable; |
168 | }; | 134 | }; |
169 | }; | 135 | }; |
@@ -171,15 +137,15 @@ Example board file extract: | |||
171 | dmic34 { | 137 | dmic34 { |
172 | dmic34_default_mode: dmic34_default { | 138 | dmic34_default_mode: dmic34_default { |
173 | dmic34_default_mux { | 139 | dmic34_default_mux { |
174 | ste,function = "dmic"; | 140 | function = "dmic"; |
175 | ste,pins = "dmic34_d_1"; | 141 | groups = "dmic34_d_1"; |
176 | }; | 142 | }; |
177 | dmic34_default_cfg1 { | 143 | dmic34_default_cfg1 { |
178 | ste,pins = "GPIO29"; | 144 | pins = "GPIO29"; |
179 | output-low; | 145 | output-low; |
180 | }; | 146 | }; |
181 | dmic34_default_cfg2 { | 147 | dmic34_default_cfg2 { |
182 | ste,pins = "GPIO30"; | 148 | pins = "GPIO30"; |
183 | bias-disable;{ | 149 | bias-disable;{ |
184 | 150 | ||
185 | }; | 151 | }; |
@@ -188,15 +154,15 @@ Example board file extract: | |||
188 | dmic56 { | 154 | dmic56 { |
189 | dmic56_default_mode: dmic56_default { | 155 | dmic56_default_mode: dmic56_default { |
190 | dmic56_default_mux { | 156 | dmic56_default_mux { |
191 | ste,function = "dmic"; | 157 | function = "dmic"; |
192 | ste,pins = "dmic56_d_1"; | 158 | groups = "dmic56_d_1"; |
193 | }; | 159 | }; |
194 | dmic56_default_cfg1 { | 160 | dmic56_default_cfg1 { |
195 | ste,pins = "GPIO31"; | 161 | pins = "GPIO31"; |
196 | output-low; | 162 | output-low; |
197 | }; | 163 | }; |
198 | dmic56_default_cfg2 { | 164 | dmic56_default_cfg2 { |
199 | ste,pins = "GPIO32"; | 165 | pins = "GPIO32"; |
200 | bias-disable; | 166 | bias-disable; |
201 | }; | 167 | }; |
202 | }; | 168 | }; |
@@ -204,11 +170,11 @@ Example board file extract: | |||
204 | sysclkreq5 { | 170 | sysclkreq5 { |
205 | sysclkreq5_default_mode: sysclkreq5_default { | 171 | sysclkreq5_default_mode: sysclkreq5_default { |
206 | sysclkreq5_default_mux { | 172 | sysclkreq5_default_mux { |
207 | ste,function = "sysclkreq"; | 173 | function = "sysclkreq"; |
208 | ste,pins = "sysclkreq5_d_1"; | 174 | groups = "sysclkreq5_d_1"; |
209 | }; | 175 | }; |
210 | sysclkreq5_default_cfg { | 176 | sysclkreq5_default_cfg { |
211 | ste,pins = "GPIO42"; | 177 | pins = "GPIO42"; |
212 | output-low; | 178 | output-low; |
213 | }; | 179 | }; |
214 | }; | 180 | }; |
@@ -216,11 +182,11 @@ Example board file extract: | |||
216 | batremn { | 182 | batremn { |
217 | batremn_default_mode: batremn_default { | 183 | batremn_default_mode: batremn_default { |
218 | batremn_default_mux { | 184 | batremn_default_mux { |
219 | ste,function = "batremn"; | 185 | function = "batremn"; |
220 | ste,pins = "batremn_d_1"; | 186 | groups = "batremn_d_1"; |
221 | }; | 187 | }; |
222 | batremn_default_cfg { | 188 | batremn_default_cfg { |
223 | ste,pins = "GPIO43"; | 189 | pins = "GPIO43"; |
224 | bias-disable; | 190 | bias-disable; |
225 | }; | 191 | }; |
226 | }; | 192 | }; |
@@ -228,11 +194,11 @@ Example board file extract: | |||
228 | service { | 194 | service { |
229 | service_default_mode: service_default { | 195 | service_default_mode: service_default { |
230 | service_default_mux { | 196 | service_default_mux { |
231 | ste,function = "service"; | 197 | function = "service"; |
232 | ste,pins = "service_d_1"; | 198 | groups = "service_d_1"; |
233 | }; | 199 | }; |
234 | service_default_cfg { | 200 | service_default_cfg { |
235 | ste,pins = "GPIO44"; | 201 | pins = "GPIO44"; |
236 | bias-disable; | 202 | bias-disable; |
237 | }; | 203 | }; |
238 | }; | 204 | }; |
@@ -240,13 +206,13 @@ Example board file extract: | |||
240 | pwrctrl0 { | 206 | pwrctrl0 { |
241 | pwrctrl0_default_mux: pwrctrl0_mux { | 207 | pwrctrl0_default_mux: pwrctrl0_mux { |
242 | pwrctrl0_default_mux { | 208 | pwrctrl0_default_mux { |
243 | ste,function = "pwrctrl"; | 209 | function = "pwrctrl"; |
244 | ste,pins = "pwrctrl0_d_1"; | 210 | groups = "pwrctrl0_d_1"; |
245 | }; | 211 | }; |
246 | }; | 212 | }; |
247 | pwrctrl0_default_mode: pwrctrl0_default { | 213 | pwrctrl0_default_mode: pwrctrl0_default { |
248 | pwrctrl0_default_cfg { | 214 | pwrctrl0_default_cfg { |
249 | ste,pins = "GPIO45"; | 215 | pins = "GPIO45"; |
250 | bias-disable; | 216 | bias-disable; |
251 | }; | 217 | }; |
252 | }; | 218 | }; |
@@ -254,13 +220,13 @@ Example board file extract: | |||
254 | pwrctrl1 { | 220 | pwrctrl1 { |
255 | pwrctrl1_default_mux: pwrctrl1_mux { | 221 | pwrctrl1_default_mux: pwrctrl1_mux { |
256 | pwrctrl1_default_mux { | 222 | pwrctrl1_default_mux { |
257 | ste,function = "pwrctrl"; | 223 | function = "pwrctrl"; |
258 | ste,pins = "pwrctrl1_d_1"; | 224 | groups = "pwrctrl1_d_1"; |
259 | }; | 225 | }; |
260 | }; | 226 | }; |
261 | pwrctrl1_default_mode: pwrctrl1_default { | 227 | pwrctrl1_default_mode: pwrctrl1_default { |
262 | pwrctrl1_default_cfg { | 228 | pwrctrl1_default_cfg { |
263 | ste,pins = "GPIO46"; | 229 | pins = "GPIO46"; |
264 | bias-disable; | 230 | bias-disable; |
265 | }; | 231 | }; |
266 | }; | 232 | }; |
@@ -268,11 +234,11 @@ Example board file extract: | |||
268 | pwmextvibra1 { | 234 | pwmextvibra1 { |
269 | pwmextvibra1_default_mode: pwmextvibra1_default { | 235 | pwmextvibra1_default_mode: pwmextvibra1_default { |
270 | pwmextvibra1_default_mux { | 236 | pwmextvibra1_default_mux { |
271 | ste,function = "pwmextvibra"; | 237 | function = "pwmextvibra"; |
272 | ste,pins = "pwmextvibra1_d_1"; | 238 | groups = "pwmextvibra1_d_1"; |
273 | }; | 239 | }; |
274 | pwmextvibra1_default_cfg { | 240 | pwmextvibra1_default_cfg { |
275 | ste,pins = "GPIO47"; | 241 | pins = "GPIO47"; |
276 | bias-disable; | 242 | bias-disable; |
277 | }; | 243 | }; |
278 | }; | 244 | }; |
@@ -280,11 +246,11 @@ Example board file extract: | |||
280 | pwmextvibra2 { | 246 | pwmextvibra2 { |
281 | pwmextvibra2_default_mode: pwmextvibra2_default { | 247 | pwmextvibra2_default_mode: pwmextvibra2_default { |
282 | pwmextvibra2_default_mux { | 248 | pwmextvibra2_default_mux { |
283 | ste,function = "pwmextvibra"; | 249 | function = "pwmextvibra"; |
284 | ste,pins = "pwmextvibra2_d_1"; | 250 | groups = "pwmextvibra2_d_1"; |
285 | }; | 251 | }; |
286 | pwmextvibra1_default_cfg { | 252 | pwmextvibra1_default_cfg { |
287 | ste,pins = "GPIO48"; | 253 | pins = "GPIO48"; |
288 | bias-disable; | 254 | bias-disable; |
289 | }; | 255 | }; |
290 | }; | 256 | }; |
@@ -292,11 +258,11 @@ Example board file extract: | |||
292 | gpio51 { | 258 | gpio51 { |
293 | gpio51_default_mode: gpio51_default { | 259 | gpio51_default_mode: gpio51_default { |
294 | gpio51_default_mux { | 260 | gpio51_default_mux { |
295 | ste,function = "gpio"; | 261 | function = "gpio"; |
296 | ste,pins = "gpio51_a_1"; | 262 | groups = "gpio51_a_1"; |
297 | }; | 263 | }; |
298 | gpio51_default_cfg { | 264 | gpio51_default_cfg { |
299 | ste,pins = "GPIO51"; | 265 | pins = "GPIO51"; |
300 | output-low; | 266 | output-low; |
301 | }; | 267 | }; |
302 | }; | 268 | }; |
@@ -304,11 +270,11 @@ Example board file extract: | |||
304 | gpio52 { | 270 | gpio52 { |
305 | gpio52_default_mode: gpio52_default { | 271 | gpio52_default_mode: gpio52_default { |
306 | gpio52_default_mux { | 272 | gpio52_default_mux { |
307 | ste,function = "gpio"; | 273 | function = "gpio"; |
308 | ste,pins = "gpio52_a_1"; | 274 | groups = "gpio52_a_1"; |
309 | }; | 275 | }; |
310 | gpio52_default_cfg { | 276 | gpio52_default_cfg { |
311 | ste,pins = "GPIO52"; | 277 | pins = "GPIO52"; |
312 | bias-pull-down; | 278 | bias-pull-down; |
313 | }; | 279 | }; |
314 | }; | 280 | }; |
@@ -316,11 +282,11 @@ Example board file extract: | |||
316 | gpio53 { | 282 | gpio53 { |
317 | gpio53_default_mode: gpio53_default { | 283 | gpio53_default_mode: gpio53_default { |
318 | gpio53_default_mux { | 284 | gpio53_default_mux { |
319 | ste,function = "gpio"; | 285 | function = "gpio"; |
320 | ste,pins = "gpio53_a_1"; | 286 | groups = "gpio53_a_1"; |
321 | }; | 287 | }; |
322 | gpio53_default_cfg { | 288 | gpio53_default_cfg { |
323 | ste,pins = "GPIO53"; | 289 | pins = "GPIO53"; |
324 | bias-pull-down; | 290 | bias-pull-down; |
325 | }; | 291 | }; |
326 | }; | 292 | }; |
@@ -328,11 +294,11 @@ Example board file extract: | |||
328 | gpio54 { | 294 | gpio54 { |
329 | gpio54_default_mode: gpio54_default { | 295 | gpio54_default_mode: gpio54_default { |
330 | gpio54_default_mux { | 296 | gpio54_default_mux { |
331 | ste,function = "gpio"; | 297 | function = "gpio"; |
332 | ste,pins = "gpio54_a_1"; | 298 | groups = "gpio54_a_1"; |
333 | }; | 299 | }; |
334 | gpio54_default_cfg { | 300 | gpio54_default_cfg { |
335 | ste,pins = "GPIO54"; | 301 | pins = "GPIO54"; |
336 | output-low; | 302 | output-low; |
337 | }; | 303 | }; |
338 | }; | 304 | }; |
@@ -340,11 +306,11 @@ Example board file extract: | |||
340 | pdmclkdat { | 306 | pdmclkdat { |
341 | pdmclkdat_default_mode: pdmclkdat_default { | 307 | pdmclkdat_default_mode: pdmclkdat_default { |
342 | pdmclkdat_default_mux { | 308 | pdmclkdat_default_mux { |
343 | ste,function = "pdm"; | 309 | function = "pdm"; |
344 | ste,pins = "pdmclkdat_d_1"; | 310 | groups = "pdmclkdat_d_1"; |
345 | }; | 311 | }; |
346 | pdmclkdat_default_cfg { | 312 | pdmclkdat_default_cfg { |
347 | ste,pins = "GPIO55", "GPIO56"; | 313 | pins = "GPIO55", "GPIO56"; |
348 | bias-disable; | 314 | bias-disable; |
349 | }; | 315 | }; |
350 | }; | 316 | }; |
diff --git a/Documentation/devicetree/bindings/power/power-controller.txt b/Documentation/devicetree/bindings/power/power-controller.txt new file mode 100644 index 000000000000..4f7a3bc9c407 --- /dev/null +++ b/Documentation/devicetree/bindings/power/power-controller.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | * Generic system power control capability | ||
2 | |||
3 | Power-management integrated circuits or miscellaneous hardware components are | ||
4 | sometimes able to control the system power. The device driver associated with these | ||
5 | components might need to define this capability, which tells the kernel that | ||
6 | it can be used to switch off the system. The corresponding device must have the | ||
7 | standard property "system-power-controller" in its device node. This property | ||
8 | marks the device as able to control the system power. In order to test if this | ||
9 | property is found programmatically, use the helper function | ||
10 | "of_device_is_system_power_controller" from of.h . | ||
11 | |||
12 | Example: | ||
13 | |||
14 | act8846: act8846@5 { | ||
15 | compatible = "active-semi,act8846"; | ||
16 | status = "okay"; | ||
17 | system-power-controller; | ||
18 | } | ||
diff --git a/Documentation/devicetree/bindings/power_supply/gpio-charger.txt b/Documentation/devicetree/bindings/power_supply/gpio-charger.txt new file mode 100644 index 000000000000..adbb5dc5b6e9 --- /dev/null +++ b/Documentation/devicetree/bindings/power_supply/gpio-charger.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | gpio-charger | ||
2 | |||
3 | Required properties : | ||
4 | - compatible : "gpio-charger" | ||
5 | - gpios : GPIO indicating the charger presence. | ||
6 | See GPIO binding in bindings/gpio/gpio.txt . | ||
7 | - charger-type : power supply type, one of | ||
8 | unknown | ||
9 | battery | ||
10 | ups | ||
11 | mains | ||
12 | usb-sdp (USB standard downstream port) | ||
13 | usb-dcp (USB dedicated charging port) | ||
14 | usb-cdp (USB charging downstream port) | ||
15 | usb-aca (USB accessory charger adapter) | ||
16 | |||
17 | Example: | ||
18 | |||
19 | usb_charger: charger { | ||
20 | compatible = "gpio-charger"; | ||
21 | charger-type = "usb-sdp"; | ||
22 | gpios = <&gpf0 2 0 0 0>; | ||
23 | } | ||
24 | |||
25 | battery { | ||
26 | power-supplies = <&usb_charger>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt b/Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt new file mode 100644 index 000000000000..dc7c9bad63ea --- /dev/null +++ b/Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | i.mx6 Poweroff Driver | ||
2 | |||
3 | SNVS_LPCR in SNVS module can power off the whole system by pull | ||
4 | PMIC_ON_REQ low if PMIC_ON_REQ is connected with external PMIC. | ||
5 | If you don't want to use PMIC_ON_REQ as power on/off control, | ||
6 | please set status='disabled' to disable this driver. | ||
7 | |||
8 | Required Properties: | ||
9 | -compatible: "fsl,sec-v4.0-poweroff" | ||
10 | -reg: Specifies the physical address of the SNVS_LPCR register | ||
11 | |||
12 | Example: | ||
13 | snvs@020cc000 { | ||
14 | compatible = "fsl,sec-v4.0-mon", "simple-bus"; | ||
15 | #address-cells = <1>; | ||
16 | #size-cells = <1>; | ||
17 | ranges = <0 0x020cc000 0x4000>; | ||
18 | ..... | ||
19 | snvs_poweroff: snvs-poweroff@38 { | ||
20 | compatible = "fsl,sec-v4.0-poweroff"; | ||
21 | reg = <0x38 0x4>; | ||
22 | }; | ||
23 | } | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fman.txt b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt new file mode 100644 index 000000000000..edeea160ca39 --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt | |||
@@ -0,0 +1,534 @@ | |||
1 | ============================================================================= | ||
2 | Freescale Frame Manager Device Bindings | ||
3 | |||
4 | CONTENTS | ||
5 | - FMan Node | ||
6 | - FMan Port Node | ||
7 | - FMan MURAM Node | ||
8 | - FMan dTSEC/XGEC/mEMAC Node | ||
9 | - FMan IEEE 1588 Node | ||
10 | - Example | ||
11 | |||
12 | ============================================================================= | ||
13 | FMan Node | ||
14 | |||
15 | DESCRIPTION | ||
16 | |||
17 | Due to the fact that the FMan is an aggregation of sub-engines (ports, MACs, | ||
18 | etc.) the FMan node will have child nodes for each of them. | ||
19 | |||
20 | PROPERTIES | ||
21 | |||
22 | - compatible | ||
23 | Usage: required | ||
24 | Value type: <stringlist> | ||
25 | Definition: Must include "fsl,fman" | ||
26 | FMan version can be determined via FM_IP_REV_1 register in the | ||
27 | FMan block. The offset is 0xc4 from the beginning of the | ||
28 | Frame Processing Manager memory map (0xc3000 from the | ||
29 | beginning of the FMan node). | ||
30 | |||
31 | - cell-index | ||
32 | Usage: required | ||
33 | Value type: <u32> | ||
34 | Definition: Specifies the index of the FMan unit. | ||
35 | |||
36 | The cell-index value may be used by the SoC, to identify the | ||
37 | FMan unit in the SoC memory map. In the table bellow, | ||
38 | there's a description of the cell-index use in each SoC: | ||
39 | |||
40 | - P1023: | ||
41 | register[bit] FMan unit cell-index | ||
42 | ============================================================ | ||
43 | DEVDISR[1] 1 0 | ||
44 | |||
45 | - P2041, P3041, P4080 P5020, P5040: | ||
46 | register[bit] FMan unit cell-index | ||
47 | ============================================================ | ||
48 | DCFG_DEVDISR2[6] 1 0 | ||
49 | DCFG_DEVDISR2[14] 2 1 | ||
50 | (Second FM available only in P4080 and P5040) | ||
51 | |||
52 | - B4860, T1040, T2080, T4240: | ||
53 | register[bit] FMan unit cell-index | ||
54 | ============================================================ | ||
55 | DCFG_CCSR_DEVDISR2[24] 1 0 | ||
56 | DCFG_CCSR_DEVDISR2[25] 2 1 | ||
57 | (Second FM available only in T4240) | ||
58 | |||
59 | DEVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in | ||
60 | the specific SoC "Device Configuration/Pin Control" Memory | ||
61 | Map. | ||
62 | |||
63 | - reg | ||
64 | Usage: required | ||
65 | Value type: <prop-encoded-array> | ||
66 | Definition: A standard property. Specifies the offset of the | ||
67 | following configuration registers: | ||
68 | - BMI configuration registers. | ||
69 | - QMI configuration registers. | ||
70 | - DMA configuration registers. | ||
71 | - FPM configuration registers. | ||
72 | - FMan controller configuration registers. | ||
73 | |||
74 | - ranges | ||
75 | Usage: required | ||
76 | Value type: <prop-encoded-array> | ||
77 | Definition: A standard property. | ||
78 | |||
79 | - clocks | ||
80 | Usage: required | ||
81 | Value type: <prop-encoded-array> | ||
82 | Definition: phandle for the fman input clock. | ||
83 | |||
84 | - clock-names | ||
85 | usage: required | ||
86 | Value type: <stringlist> | ||
87 | Definition: "fmanclk" for the fman input clock. | ||
88 | |||
89 | - interrupts | ||
90 | Usage: required | ||
91 | Value type: <prop-encoded-array> | ||
92 | Definition: A pair of IRQs are specified in this property. | ||
93 | The first element is associated with the event interrupts and | ||
94 | the second element is associated with the error interrupts. | ||
95 | |||
96 | - fsl,qman-channel-range | ||
97 | Usage: required | ||
98 | Value type: <prop-encoded-array> | ||
99 | Definition: Specifies the range of the available dedicated | ||
100 | channels in the FMan. The first cell specifies the beginning | ||
101 | of the range and the second cell specifies the number of | ||
102 | channels. | ||
103 | Further information available at: | ||
104 | "Work Queue (WQ) Channel Assignments in the QMan" section | ||
105 | in DPAA Reference Manual. | ||
106 | |||
107 | - fsl,qman | ||
108 | - fsl,bman | ||
109 | Usage: required | ||
110 | Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt | ||
111 | |||
112 | ============================================================================= | ||
113 | FMan MURAM Node | ||
114 | |||
115 | DESCRIPTION | ||
116 | |||
117 | FMan Internal memory - shared between all the FMan modules. | ||
118 | It contains data structures that are common and written to or read by | ||
119 | the modules. | ||
120 | FMan internal memory is split into the following parts: | ||
121 | Packet buffering (Tx/Rx FIFOs) | ||
122 | Frames internal context | ||
123 | |||
124 | PROPERTIES | ||
125 | |||
126 | - compatible | ||
127 | Usage: required | ||
128 | Value type: <stringlist> | ||
129 | Definition: Must include "fsl,fman-muram" | ||
130 | |||
131 | - ranges | ||
132 | Usage: required | ||
133 | Value type: <prop-encoded-array> | ||
134 | Definition: A standard property. | ||
135 | Specifies the multi-user memory offset and the size within | ||
136 | the FMan. | ||
137 | |||
138 | EXAMPLE | ||
139 | |||
140 | muram@0 { | ||
141 | compatible = "fsl,fman-muram"; | ||
142 | ranges = <0 0x000000 0x28000>; | ||
143 | }; | ||
144 | |||
145 | ============================================================================= | ||
146 | FMan Port Node | ||
147 | |||
148 | DESCRIPTION | ||
149 | |||
150 | The Frame Manager (FMan) supports several types of hardware ports: | ||
151 | Ethernet receiver (RX) | ||
152 | Ethernet transmitter (TX) | ||
153 | Offline/Host command (O/H) | ||
154 | |||
155 | PROPERTIES | ||
156 | |||
157 | - compatible | ||
158 | Usage: required | ||
159 | Value type: <stringlist> | ||
160 | Definition: A standard property. | ||
161 | Must include one of the following: | ||
162 | - "fsl,fman-v2-port-oh" for FManV2 OH ports | ||
163 | - "fsl,fman-v2-port-rx" for FManV2 RX ports | ||
164 | - "fsl,fman-v2-port-tx" for FManV2 TX ports | ||
165 | - "fsl,fman-v3-port-oh" for FManV3 OH ports | ||
166 | - "fsl,fman-v3-port-rx" for FManV3 RX ports | ||
167 | - "fsl,fman-v3-port-tx" for FManV3 TX ports | ||
168 | |||
169 | - cell-index | ||
170 | Usage: required | ||
171 | Value type: <u32> | ||
172 | Definition: Specifies the hardware port id. | ||
173 | Each hardware port on the FMan has its own hardware PortID. | ||
174 | Super set of all hardware Port IDs available at FMan Reference | ||
175 | Manual under "FMan Hardware Ports in Freescale Devices" table. | ||
176 | |||
177 | Each hardware port is assigned a 4KB, port-specific page in | ||
178 | the FMan hardware port memory region (which is part of the | ||
179 | FMan memory map). The first 4 KB in the FMan hardware ports | ||
180 | memory region is used for what are called common registers. | ||
181 | The subsequent 63 4KB pages are allocated to the hardware | ||
182 | ports. | ||
183 | The page of a specific port is determined by the cell-index. | ||
184 | |||
185 | - reg | ||
186 | Usage: required | ||
187 | Value type: <prop-encoded-array> | ||
188 | Definition: There is one reg region describing the port | ||
189 | configuration registers. | ||
190 | |||
191 | EXAMPLE | ||
192 | |||
193 | port@a8000 { | ||
194 | cell-index = <0x28>; | ||
195 | compatible = "fsl,fman-v2-port-tx"; | ||
196 | reg = <0xa8000 0x1000>; | ||
197 | }; | ||
198 | |||
199 | port@88000 { | ||
200 | cell-index = <0x8>; | ||
201 | compatible = "fsl,fman-v2-port-rx"; | ||
202 | reg = <0x88000 0x1000>; | ||
203 | }; | ||
204 | |||
205 | port@81000 { | ||
206 | cell-index = <0x1>; | ||
207 | compatible = "fsl,fman-v2-port-oh"; | ||
208 | reg = <0x81000 0x1000>; | ||
209 | }; | ||
210 | |||
211 | ============================================================================= | ||
212 | FMan dTSEC/XGEC/mEMAC Node | ||
213 | |||
214 | DESCRIPTION | ||
215 | |||
216 | mEMAC/dTSEC/XGEC are the Ethernet network interfaces | ||
217 | |||
218 | PROPERTIES | ||
219 | |||
220 | - compatible | ||
221 | Usage: required | ||
222 | Value type: <stringlist> | ||
223 | Definition: A standard property. | ||
224 | Must include one of the following: | ||
225 | - "fsl,fman-dtsec" for dTSEC MAC | ||
226 | - "fsl,fman-xgec" for XGEC MAC | ||
227 | - "fsl,fman-memac for mEMAC MAC | ||
228 | |||
229 | - cell-index | ||
230 | Usage: required | ||
231 | Value type: <u32> | ||
232 | Definition: Specifies the MAC id. | ||
233 | |||
234 | The cell-index value may be used by the FMan or the SoC, to | ||
235 | identify the MAC unit in the FMan (or SoC) memory map. | ||
236 | In the tables bellow there's a description of the cell-index | ||
237 | use, there are two tables, one describes the use of cell-index | ||
238 | by the FMan, the second describes the use by the SoC: | ||
239 | |||
240 | 1. FMan Registers | ||
241 | |||
242 | FManV2: | ||
243 | register[bit] MAC cell-index | ||
244 | ============================================================ | ||
245 | FM_EPI[16] XGEC 8 | ||
246 | FM_EPI[16+n] dTSECn n-1 | ||
247 | FM_NPI[11+n] dTSECn n-1 | ||
248 | n = 1,..,5 | ||
249 | |||
250 | FManV3: | ||
251 | register[bit] MAC cell-index | ||
252 | ============================================================ | ||
253 | FM_EPI[16+n] mEMACn n-1 | ||
254 | FM_EPI[25] mEMAC10 9 | ||
255 | |||
256 | FM_NPI[11+n] mEMACn n-1 | ||
257 | FM_NPI[10] mEMAC10 9 | ||
258 | FM_NPI[11] mEMAC9 8 | ||
259 | n = 1,..8 | ||
260 | |||
261 | FM_EPI and FM_NPI are located in the FMan memory map. | ||
262 | |||
263 | 2. SoC registers: | ||
264 | |||
265 | - P2041, P3041, P4080 P5020, P5040: | ||
266 | register[bit] FMan MAC cell | ||
267 | Unit index | ||
268 | ============================================================ | ||
269 | DCFG_DEVDISR2[7] 1 XGEC 8 | ||
270 | DCFG_DEVDISR2[7+n] 1 dTSECn n-1 | ||
271 | DCFG_DEVDISR2[15] 2 XGEC 8 | ||
272 | DCFG_DEVDISR2[15+n] 2 dTSECn n-1 | ||
273 | n = 1,..5 | ||
274 | |||
275 | - T1040, T2080, T4240, B4860: | ||
276 | register[bit] FMan MAC cell | ||
277 | Unit index | ||
278 | ============================================================ | ||
279 | DCFG_CCSR_DEVDISR2[n-1] 1 mEMACn n-1 | ||
280 | DCFG_CCSR_DEVDISR2[11+n] 2 mEMACn n-1 | ||
281 | n = 1,..6,9,10 | ||
282 | |||
283 | EVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in | ||
284 | the specific SoC "Device Configuration/Pin Control" Memory | ||
285 | Map. | ||
286 | |||
287 | - reg | ||
288 | Usage: required | ||
289 | Value type: <prop-encoded-array> | ||
290 | Definition: A standard property. | ||
291 | |||
292 | - fsl,fman-ports | ||
293 | Usage: required | ||
294 | Value type: <prop-encoded-array> | ||
295 | Definition: An array of two phandles - the first references is | ||
296 | the FMan RX port and the second is the TX port used by this | ||
297 | MAC. | ||
298 | |||
299 | - ptp-timer | ||
300 | Usage required | ||
301 | Value type: <phandle> | ||
302 | Definition: A phandle for 1EEE1588 timer. | ||
303 | |||
304 | EXAMPLE | ||
305 | |||
306 | fman1_tx28: port@a8000 { | ||
307 | cell-index = <0x28>; | ||
308 | compatible = "fsl,fman-v2-port-tx"; | ||
309 | reg = <0xa8000 0x1000>; | ||
310 | }; | ||
311 | |||
312 | fman1_rx8: port@88000 { | ||
313 | cell-index = <0x8>; | ||
314 | compatible = "fsl,fman-v2-port-rx"; | ||
315 | reg = <0x88000 0x1000>; | ||
316 | }; | ||
317 | |||
318 | ptp-timer: ptp_timer@fe000 { | ||
319 | compatible = "fsl,fman-ptp-timer"; | ||
320 | reg = <0xfe000 0x1000>; | ||
321 | }; | ||
322 | |||
323 | ethernet@e0000 { | ||
324 | compatible = "fsl,fman-dtsec"; | ||
325 | cell-index = <0>; | ||
326 | reg = <0xe0000 0x1000>; | ||
327 | fsl,fman-ports = <&fman1_rx8 &fman1_tx28>; | ||
328 | ptp-timer = <&ptp-timer>; | ||
329 | }; | ||
330 | |||
331 | ============================================================================ | ||
332 | FMan IEEE 1588 Node | ||
333 | |||
334 | DESCRIPTION | ||
335 | |||
336 | The FMan interface to support IEEE 1588 | ||
337 | |||
338 | |||
339 | PROPERTIES | ||
340 | |||
341 | - compatible | ||
342 | Usage: required | ||
343 | Value type: <stringlist> | ||
344 | Definition: A standard property. | ||
345 | Must include "fsl,fman-ptp-timer". | ||
346 | |||
347 | - reg | ||
348 | Usage: required | ||
349 | Value type: <prop-encoded-array> | ||
350 | Definition: A standard property. | ||
351 | |||
352 | EXAMPLE | ||
353 | |||
354 | ptp-timer@fe000 { | ||
355 | compatible = "fsl,fman-ptp-timer"; | ||
356 | reg = <0xfe000 0x1000>; | ||
357 | }; | ||
358 | |||
359 | ============================================================================= | ||
360 | Example | ||
361 | |||
362 | fman@400000 { | ||
363 | #address-cells = <1>; | ||
364 | #size-cells = <1>; | ||
365 | cell-index = <1>; | ||
366 | compatible = "fsl,fman" | ||
367 | ranges = <0 0x400000 0x100000>; | ||
368 | reg = <0x400000 0x100000>; | ||
369 | clocks = <&fman_clk>; | ||
370 | clock-names = "fmanclk"; | ||
371 | interrupts = < | ||
372 | 96 2 0 0 | ||
373 | 16 2 1 1>; | ||
374 | fsl,qman-channel-range = <0x40 0xc>; | ||
375 | |||
376 | muram@0 { | ||
377 | compatible = "fsl,fman-muram"; | ||
378 | reg = <0x0 0x28000>; | ||
379 | }; | ||
380 | |||
381 | port@81000 { | ||
382 | cell-index = <1>; | ||
383 | compatible = "fsl,fman-v2-port-oh"; | ||
384 | reg = <0x81000 0x1000>; | ||
385 | }; | ||
386 | |||
387 | port@82000 { | ||
388 | cell-index = <2>; | ||
389 | compatible = "fsl,fman-v2-port-oh"; | ||
390 | reg = <0x82000 0x1000>; | ||
391 | }; | ||
392 | |||
393 | port@83000 { | ||
394 | cell-index = <3>; | ||
395 | compatible = "fsl,fman-v2-port-oh"; | ||
396 | reg = <0x83000 0x1000>; | ||
397 | }; | ||
398 | |||
399 | port@84000 { | ||
400 | cell-index = <4>; | ||
401 | compatible = "fsl,fman-v2-port-oh"; | ||
402 | reg = <0x84000 0x1000>; | ||
403 | }; | ||
404 | |||
405 | port@85000 { | ||
406 | cell-index = <5>; | ||
407 | compatible = "fsl,fman-v2-port-oh"; | ||
408 | reg = <0x85000 0x1000>; | ||
409 | }; | ||
410 | |||
411 | port@86000 { | ||
412 | cell-index = <6>; | ||
413 | compatible = "fsl,fman-v2-port-oh"; | ||
414 | reg = <0x86000 0x1000>; | ||
415 | }; | ||
416 | |||
417 | fman1_rx_0x8: port@88000 { | ||
418 | cell-index = <0x8>; | ||
419 | compatible = "fsl,fman-v2-port-rx"; | ||
420 | reg = <0x88000 0x1000>; | ||
421 | }; | ||
422 | |||
423 | fman1_rx_0x9: port@89000 { | ||
424 | cell-index = <0x9>; | ||
425 | compatible = "fsl,fman-v2-port-rx"; | ||
426 | reg = <0x89000 0x1000>; | ||
427 | }; | ||
428 | |||
429 | fman1_rx_0xa: port@8a000 { | ||
430 | cell-index = <0xa>; | ||
431 | compatible = "fsl,fman-v2-port-rx"; | ||
432 | reg = <0x8a000 0x1000>; | ||
433 | }; | ||
434 | |||
435 | fman1_rx_0xb: port@8b000 { | ||
436 | cell-index = <0xb>; | ||
437 | compatible = "fsl,fman-v2-port-rx"; | ||
438 | reg = <0x8b000 0x1000>; | ||
439 | }; | ||
440 | |||
441 | fman1_rx_0xc: port@8c000 { | ||
442 | cell-index = <0xc>; | ||
443 | compatible = "fsl,fman-v2-port-rx"; | ||
444 | reg = <0x8c000 0x1000>; | ||
445 | }; | ||
446 | |||
447 | fman1_rx_0x10: port@90000 { | ||
448 | cell-index = <0x10>; | ||
449 | compatible = "fsl,fman-v2-port-rx"; | ||
450 | reg = <0x90000 0x1000>; | ||
451 | }; | ||
452 | |||
453 | fman1_tx_0x28: port@a8000 { | ||
454 | cell-index = <0x28>; | ||
455 | compatible = "fsl,fman-v2-port-tx"; | ||
456 | reg = <0xa8000 0x1000>; | ||
457 | }; | ||
458 | |||
459 | fman1_tx_0x29: port@a9000 { | ||
460 | cell-index = <0x29>; | ||
461 | compatible = "fsl,fman-v2-port-tx"; | ||
462 | reg = <0xa9000 0x1000>; | ||
463 | }; | ||
464 | |||
465 | fman1_tx_0x2a: port@aa000 { | ||
466 | cell-index = <0x2a>; | ||
467 | compatible = "fsl,fman-v2-port-tx"; | ||
468 | reg = <0xaa000 0x1000>; | ||
469 | }; | ||
470 | |||
471 | fman1_tx_0x2b: port@ab000 { | ||
472 | cell-index = <0x2b>; | ||
473 | compatible = "fsl,fman-v2-port-tx"; | ||
474 | reg = <0xab000 0x1000>; | ||
475 | }; | ||
476 | |||
477 | fman1_tx_0x2c: port@ac0000 { | ||
478 | cell-index = <0x2c>; | ||
479 | compatible = "fsl,fman-v2-port-tx"; | ||
480 | reg = <0xac000 0x1000>; | ||
481 | }; | ||
482 | |||
483 | fman1_tx_0x30: port@b0000 { | ||
484 | cell-index = <0x30>; | ||
485 | compatible = "fsl,fman-v2-port-tx"; | ||
486 | reg = <0xb0000 0x1000>; | ||
487 | }; | ||
488 | |||
489 | ethernet@e0000 { | ||
490 | compatible = "fsl,fman-dtsec"; | ||
491 | cell-index = <0>; | ||
492 | reg = <0xe0000 0x1000>; | ||
493 | fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>; | ||
494 | }; | ||
495 | |||
496 | ethernet@e2000 { | ||
497 | compatible = "fsl,fman-dtsec"; | ||
498 | cell-index = <1>; | ||
499 | reg = <0xe2000 0x1000>; | ||
500 | fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>; | ||
501 | }; | ||
502 | |||
503 | ethernet@e4000 { | ||
504 | compatible = "fsl,fman-dtsec"; | ||
505 | cell-index = <2>; | ||
506 | reg = <0xe4000 0x1000>; | ||
507 | fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>; | ||
508 | }; | ||
509 | |||
510 | ethernet@e6000 { | ||
511 | compatible = "fsl,fman-dtsec"; | ||
512 | cell-index = <3>; | ||
513 | reg = <0xe6000 0x1000>; | ||
514 | fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>; | ||
515 | }; | ||
516 | |||
517 | ethernet@e8000 { | ||
518 | compatible = "fsl,fman-dtsec"; | ||
519 | cell-index = <4>; | ||
520 | reg = <0xf0000 0x1000>; | ||
521 | fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>; | ||
522 | |||
523 | ethernet@f0000 { | ||
524 | cell-index = <8>; | ||
525 | compatible = "fsl,fman-xgec"; | ||
526 | reg = <0xf0000 0x1000>; | ||
527 | fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>; | ||
528 | }; | ||
529 | |||
530 | ptp-timer@fe000 { | ||
531 | compatible = "fsl,fman-ptp-timer"; | ||
532 | reg = <0xfe000 0x1000>; | ||
533 | }; | ||
534 | }; | ||
diff --git a/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt b/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt new file mode 100644 index 000000000000..cfda0d57d302 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | Device-Tree bindings for Atmel's HLCDC (High-end LCD Controller) PWM driver | ||
2 | |||
3 | The Atmel HLCDC PWM is subdevice of the HLCDC MFD device. | ||
4 | See ../mfd/atmel-hlcdc.txt for more details. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: value should be one of the following: | ||
8 | "atmel,hlcdc-pwm" | ||
9 | - pinctr-names: the pin control state names. Should contain "default". | ||
10 | - pinctrl-0: should contain the pinctrl states described by pinctrl | ||
11 | default. | ||
12 | - #pwm-cells: should be set to 3. This PWM chip use the default 3 cells | ||
13 | bindings defined in pwm.txt in this directory. | ||
14 | |||
15 | Example: | ||
16 | |||
17 | hlcdc: hlcdc@f0030000 { | ||
18 | compatible = "atmel,sama5d3-hlcdc"; | ||
19 | reg = <0xf0030000 0x2000>; | ||
20 | clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; | ||
21 | clock-names = "periph_clk","sys_clk", "slow_clk"; | ||
22 | |||
23 | hlcdc_pwm: hlcdc-pwm { | ||
24 | compatible = "atmel,hlcdc-pwm"; | ||
25 | pinctrl-names = "default"; | ||
26 | pinctrl-0 = <&pinctrl_lcd_pwm>; | ||
27 | #pwm-cells = <3>; | ||
28 | }; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt b/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt new file mode 100644 index 000000000000..fb6fb31bc4c4 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | BCM2835 PWM controller (Raspberry Pi controller) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "brcm,bcm2835-pwm" | ||
5 | - reg: physical base address and length of the controller's registers | ||
6 | - clock: This clock defines the base clock frequency of the PWM hardware | ||
7 | system, the period and the duty_cycle of the PWM signal is a multiple of | ||
8 | the base period. | ||
9 | - #pwm-cells: Should be 2. See pwm.txt in this directory for a description of | ||
10 | the cells format. | ||
11 | |||
12 | Examples: | ||
13 | |||
14 | pwm@2020c000 { | ||
15 | compatible = "brcm,bcm2835-pwm"; | ||
16 | reg = <0x2020c000 0x28>; | ||
17 | clocks = <&clk_pwm>; | ||
18 | #pwm-cells = <2>; | ||
19 | }; | ||
20 | |||
21 | clocks { | ||
22 | .... | ||
23 | clk_pwm: pwm { | ||
24 | compatible = "fixed-clock"; | ||
25 | reg = <3>; | ||
26 | #clock-cells = <0>; | ||
27 | clock-frequency = <9200000>; | ||
28 | }; | ||
29 | .... | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt index 865614b34d6f..dad6358074ac 100644 --- a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt | |||
@@ -5,6 +5,10 @@ Required properties: | |||
5 | - compatible: "active-semi,act8846" or "active-semi,act8865" | 5 | - compatible: "active-semi,act8846" or "active-semi,act8865" |
6 | - reg: I2C slave address | 6 | - reg: I2C slave address |
7 | 7 | ||
8 | Optional properties: | ||
9 | - system-power-controller: Telling whether or not this pmic is controlling | ||
10 | the system power. See Documentation/devicetree/bindings/power/power-controller.txt . | ||
11 | |||
8 | Any standard regulator properties can be used to configure the single regulator. | 12 | Any standard regulator properties can be used to configure the single regulator. |
9 | 13 | ||
10 | The valid names for regulators are: | 14 | The valid names for regulators are: |
diff --git a/Documentation/devicetree/bindings/regulator/max77802.txt b/Documentation/devicetree/bindings/regulator/max77802.txt index 5aeaffc0f1f0..79e5476444f7 100644 --- a/Documentation/devicetree/bindings/regulator/max77802.txt +++ b/Documentation/devicetree/bindings/regulator/max77802.txt | |||
@@ -25,6 +25,29 @@ with their hardware counterparts as follow. The valid names are: | |||
25 | example: LDO1, LDO2, LDO35. | 25 | example: LDO1, LDO2, LDO35. |
26 | -BUCKn : for BUCKs, where n can lie in range 1 to 10. | 26 | -BUCKn : for BUCKs, where n can lie in range 1 to 10. |
27 | example: BUCK1, BUCK5, BUCK10. | 27 | example: BUCK1, BUCK5, BUCK10. |
28 | |||
29 | The max77802 regulator supports two different operating modes: Normal and Low | ||
30 | Power Mode. Some regulators support the modes to be changed at startup or by | ||
31 | the consumers during normal operation while others only support to change the | ||
32 | mode during system suspend. The standard regulator suspend states binding can | ||
33 | be used to configure the regulator operating mode. | ||
34 | |||
35 | The regulators that support the standard "regulator-initial-mode" property, | ||
36 | changing their mode during normal operation are: LDOs 1, 3, 20 and 21. | ||
37 | |||
38 | The possible values for "regulator-initial-mode" and "regulator-mode" are: | ||
39 | 1: Normal regulator voltage output mode. | ||
40 | 3: Low Power which reduces the quiescent current down to only 1uA | ||
41 | |||
42 | The list of valid modes are defined in the dt-bindings/clock/maxim,max77802.h | ||
43 | header and can be included by device tree source files. | ||
44 | |||
45 | The standard "regulator-mode" property can only be used for regulators that | ||
46 | support changing their mode to Low Power Mode during suspend. These regulators | ||
47 | are: BUCKs 2-4 and LDOs 1-35. Also, it only takes effect if the regulator has | ||
48 | been enabled for the given suspend state using "regulator-on-in-suspend" and | ||
49 | has not been disabled for that state using "regulator-off-in-suspend". | ||
50 | |||
28 | Example: | 51 | Example: |
29 | 52 | ||
30 | max77802@09 { | 53 | max77802@09 { |
@@ -36,11 +59,23 @@ Example: | |||
36 | #size-cells = <0>; | 59 | #size-cells = <0>; |
37 | 60 | ||
38 | regulators { | 61 | regulators { |
62 | ldo1_reg: LDO1 { | ||
63 | regulator-name = "vdd_1v0"; | ||
64 | regulator-min-microvolt = <1000000>; | ||
65 | regulator-max-microvolt = <1000000>; | ||
66 | regulator-always-on; | ||
67 | regulator-initial-mode = <MAX77802_OPMODE_LP>; | ||
68 | }; | ||
69 | |||
39 | ldo11_reg: LDO11 { | 70 | ldo11_reg: LDO11 { |
40 | regulator-name = "vdd_ldo11"; | 71 | regulator-name = "vdd_ldo11"; |
41 | regulator-min-microvolt = <1900000>; | 72 | regulator-min-microvolt = <1900000>; |
42 | regulator-max-microvolt = <1900000>; | 73 | regulator-max-microvolt = <1900000>; |
43 | regulator-always-on; | 74 | regulator-always-on; |
75 | regulator-state-mem { | ||
76 | regulator-on-in-suspend; | ||
77 | regulator-mode = <MAX77802_OPMODE_LP>; | ||
78 | }; | ||
44 | }; | 79 | }; |
45 | 80 | ||
46 | buck1_reg: BUCK1 { | 81 | buck1_reg: BUCK1 { |
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt index 86074334e342..abb26b58c83e 100644 --- a/Documentation/devicetree/bindings/regulator/regulator.txt +++ b/Documentation/devicetree/bindings/regulator/regulator.txt | |||
@@ -19,6 +19,24 @@ Optional properties: | |||
19 | design requires. This property describes the total system ramp time | 19 | design requires. This property describes the total system ramp time |
20 | required due to the combination of internal ramping of the regulator itself, | 20 | required due to the combination of internal ramping of the regulator itself, |
21 | and board design issues such as trace capacitance and load on the supply. | 21 | and board design issues such as trace capacitance and load on the supply. |
22 | - regulator-state-mem sub-root node for Suspend-to-RAM mode | ||
23 | : suspend to memory, the device goes to sleep, but all data stored in memory, | ||
24 | only some external interrupt can wake the device. | ||
25 | - regulator-state-disk sub-root node for Suspend-to-DISK mode | ||
26 | : suspend to disk, this state operates similarly to Suspend-to-RAM, | ||
27 | but includes a final step of writing memory contents to disk. | ||
28 | - regulator-state-[mem/disk] node has following common properties: | ||
29 | - regulator-on-in-suspend: regulator should be on in suspend state. | ||
30 | - regulator-off-in-suspend: regulator should be off in suspend state. | ||
31 | - regulator-suspend-microvolt: regulator should be set to this voltage | ||
32 | in suspend. | ||
33 | - regulator-mode: operating mode in the given suspend state. | ||
34 | The set of possible operating modes depends on the capabilities of | ||
35 | every hardware so the valid modes are documented on each regulator | ||
36 | device tree binding document. | ||
37 | - regulator-initial-mode: initial operating mode. The set of possible operating | ||
38 | modes depends on the capabilities of every hardware so each device binding | ||
39 | documentation explains which values the regulator supports. | ||
22 | 40 | ||
23 | Deprecated properties: | 41 | Deprecated properties: |
24 | - regulator-compatible: If a regulator chip contains multiple | 42 | - regulator-compatible: If a regulator chip contains multiple |
@@ -34,6 +52,10 @@ Example: | |||
34 | regulator-max-microvolt = <2500000>; | 52 | regulator-max-microvolt = <2500000>; |
35 | regulator-always-on; | 53 | regulator-always-on; |
36 | vin-supply = <&vin>; | 54 | vin-supply = <&vin>; |
55 | |||
56 | regulator-state-mem { | ||
57 | regulator-on-in-suspend; | ||
58 | }; | ||
37 | }; | 59 | }; |
38 | 60 | ||
39 | Regulator Consumers: | 61 | Regulator Consumers: |
diff --git a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt index 882455e9b36d..f9acbc1f3c6b 100644 --- a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt | |||
@@ -1,6 +1,7 @@ | |||
1 | SKY81452 voltage regulator | 1 | SKY81452 voltage regulator |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - regulator node named lout. | ||
4 | - any required generic properties defined in regulator.txt | 5 | - any required generic properties defined in regulator.txt |
5 | 6 | ||
6 | Optional properties: | 7 | Optional properties: |
@@ -9,8 +10,9 @@ Optional properties: | |||
9 | Example: | 10 | Example: |
10 | 11 | ||
11 | regulator { | 12 | regulator { |
12 | /* generic regulator properties */ | 13 | lout { |
13 | regulator-name = "touch_en"; | 14 | regulator-name = "sky81452-lout"; |
14 | regulator-min-microvolt = <4500000>; | 15 | regulator-min-microvolt = <4500000>; |
15 | regulator-max-microvolt = <8000000>; | 16 | regulator-max-microvolt = <8000000>; |
17 | }; | ||
16 | }; | 18 | }; |
diff --git a/Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt b/Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt new file mode 100644 index 000000000000..54ae9f747e45 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt | |||
@@ -0,0 +1,42 @@ | |||
1 | STMicroelectronics STi family Sysconfig Picophy SoftReset Controller | ||
2 | ============================================================================= | ||
3 | |||
4 | This binding describes a reset controller device that is used to enable and | ||
5 | disable on-chip PicoPHY USB2 phy(s) using "softreset" control bits found in | ||
6 | the STi family SoC system configuration registers. | ||
7 | |||
8 | The actual action taken when softreset is asserted is hardware dependent. | ||
9 | However, when asserted it may not be possible to access the hardware's | ||
10 | registers and after an assert/deassert sequence the hardware's previous state | ||
11 | may no longer be valid. | ||
12 | |||
13 | Please refer to Documentation/devicetree/bindings/reset/reset.txt | ||
14 | for common reset controller binding usage. | ||
15 | |||
16 | Required properties: | ||
17 | - compatible: Should be "st,stih407-picophyreset" | ||
18 | - #reset-cells: 1, see below | ||
19 | |||
20 | Example: | ||
21 | |||
22 | picophyreset: picophyreset-controller { | ||
23 | compatible = "st,stih407-picophyreset"; | ||
24 | #reset-cells = <1>; | ||
25 | }; | ||
26 | |||
27 | Specifying picophyreset control of devices | ||
28 | ======================================= | ||
29 | |||
30 | Device nodes should specify the reset channel required in their "resets" | ||
31 | property, containing a phandle to the picophyreset device node and an | ||
32 | index specifying which channel to use, as described in | ||
33 | Documentation/devicetree/bindings/reset/reset.txt. | ||
34 | |||
35 | Example: | ||
36 | |||
37 | usb2_picophy0: usbpicophy@0 { | ||
38 | resets = <&picophyreset STIH407_PICOPHY0_RESET>; | ||
39 | }; | ||
40 | |||
41 | Macro definitions for the supported reset channels can be found in: | ||
42 | include/dt-bindings/reset-controller/stih407-resets.h | ||
diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt new file mode 100644 index 000000000000..6ae79d1843f3 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Atmel AT91SAM9260 Real Time Timer | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be: "atmel,at91sam9260-rtt" | ||
5 | - reg: should encode the memory region of the RTT controller | ||
6 | - interrupts: rtt alarm/event interrupt | ||
7 | - clocks: should contain the 32 KHz slow clk that will drive the RTT block. | ||
8 | - atmel,rtt-rtc-time-reg: should encode the GPBR register used to store | ||
9 | the time base when the RTT is used as an RTC. | ||
10 | The first cell should point to the GPBR node and the second one | ||
11 | encode the offset within the GPBR block (or in other words, the | ||
12 | GPBR register used to store the time base). | ||
13 | |||
14 | |||
15 | Example: | ||
16 | |||
17 | rtt@fffffd20 { | ||
18 | compatible = "atmel,at91sam9260-rtt"; | ||
19 | reg = <0xfffffd20 0x10>; | ||
20 | interrupts = <1 4 7>; | ||
21 | clocks = <&clk32k>; | ||
22 | atmel,rtt-rtc-time-reg = <&gpbr 0x0>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt index 5a0f02d34d95..4ba4dbd34289 100644 --- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt +++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt | |||
@@ -5,11 +5,17 @@ Required properties: | |||
5 | - "ti,da830-rtc" - for RTC IP used similar to that on DA8xx SoC family. | 5 | - "ti,da830-rtc" - for RTC IP used similar to that on DA8xx SoC family. |
6 | - "ti,am3352-rtc" - for RTC IP used similar to that on AM335x SoC family. | 6 | - "ti,am3352-rtc" - for RTC IP used similar to that on AM335x SoC family. |
7 | This RTC IP has special WAKE-EN Register to enable | 7 | This RTC IP has special WAKE-EN Register to enable |
8 | Wakeup generation for event Alarm. | 8 | Wakeup generation for event Alarm. It can also be |
9 | used to control an external PMIC via the | ||
10 | pmic_power_en pin. | ||
9 | - reg: Address range of rtc register set | 11 | - reg: Address range of rtc register set |
10 | - interrupts: rtc timer, alarm interrupts in order | 12 | - interrupts: rtc timer, alarm interrupts in order |
11 | - interrupt-parent: phandle for the interrupt controller | 13 | - interrupt-parent: phandle for the interrupt controller |
12 | 14 | ||
15 | Optional properties: | ||
16 | - system-power-controller: whether the rtc is controlling the system power | ||
17 | through pmic_power_en | ||
18 | |||
13 | Example: | 19 | Example: |
14 | 20 | ||
15 | rtc@1c23000 { | 21 | rtc@1c23000 { |
@@ -18,4 +24,5 @@ rtc@1c23000 { | |||
18 | interrupts = <19 | 24 | interrupts = <19 |
19 | 19>; | 25 | 19>; |
20 | interrupt-parent = <&intc>; | 26 | interrupt-parent = <&intc>; |
27 | system-power-controller; | ||
21 | }; | 28 | }; |
diff --git a/Documentation/devicetree/bindings/rtc/rtc-opal.txt b/Documentation/devicetree/bindings/rtc/rtc-opal.txt new file mode 100644 index 000000000000..af87e5ecac54 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/rtc-opal.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | IBM OPAL real-time clock | ||
2 | ------------------------ | ||
3 | |||
4 | Required properties: | ||
5 | - comapatible: Should be "ibm,opal-rtc" | ||
6 | |||
7 | Optional properties: | ||
8 | - has-tpo: Decides if the wakeup is supported or not. | ||
9 | |||
10 | Example: | ||
11 | rtc { | ||
12 | compatible = "ibm,opal-rtc"; | ||
13 | has-tpo; | ||
14 | phandle = <0x10000029>; | ||
15 | linux,phandle = <0x10000029>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/bcm63xx-uart.txt b/Documentation/devicetree/bindings/serial/bcm63xx-uart.txt new file mode 100644 index 000000000000..5c52e5eef16d --- /dev/null +++ b/Documentation/devicetree/bindings/serial/bcm63xx-uart.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | * BCM63xx UART | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: "brcm,bcm6345-uart" | ||
6 | |||
7 | - reg: The base address of the UART register bank. | ||
8 | |||
9 | - interrupts: A single interrupt specifier. | ||
10 | |||
11 | - clocks: Clock driving the hardware; used to figure out the baud rate | ||
12 | divisor. | ||
13 | |||
14 | Example: | ||
15 | |||
16 | uart0: serial@14e00520 { | ||
17 | compatible = "brcm,bcm6345-uart"; | ||
18 | reg = <0x14e00520 0x18>; | ||
19 | interrupt-parent = <&periph_intc>; | ||
20 | interrupts = <2>; | ||
21 | clocks = <&periph_clk>; | ||
22 | }; | ||
23 | |||
24 | clocks { | ||
25 | periph_clk: periph_clk@0 { | ||
26 | compatible = "fixed-clock"; | ||
27 | #clock-cells = <0>; | ||
28 | clock-frequency = <54000000>; | ||
29 | }; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt index 59a40f18d551..7c408c87e613 100644 --- a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt +++ b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt | |||
@@ -11,8 +11,13 @@ Required properties: | |||
11 | - dma-names: "rx" for RX channel, "tx" for TX channel. | 11 | - dma-names: "rx" for RX channel, "tx" for TX channel. |
12 | 12 | ||
13 | Optional properties: | 13 | Optional properties: |
14 | - fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines, | 14 | - fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines |
15 | for hardware flow control, | ||
15 | it also means you enable the DMA support for this UART. | 16 | it also means you enable the DMA support for this UART. |
17 | - {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD | ||
18 | line respectively. It will use specified PIO instead of the peripheral | ||
19 | function pin for the USART feature. | ||
20 | If unsure, don't specify this property. | ||
16 | 21 | ||
17 | Example: | 22 | Example: |
18 | auart0: serial@8006a000 { | 23 | auart0: serial@8006a000 { |
@@ -21,6 +26,9 @@ auart0: serial@8006a000 { | |||
21 | interrupts = <112>; | 26 | interrupts = <112>; |
22 | dmas = <&dma_apbx 8>, <&dma_apbx 9>; | 27 | dmas = <&dma_apbx 8>, <&dma_apbx 9>; |
23 | dma-names = "rx", "tx"; | 28 | dma-names = "rx", "tx"; |
29 | cts-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; | ||
30 | dsr-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; | ||
31 | dcd-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>; | ||
24 | }; | 32 | }; |
25 | 33 | ||
26 | Note: Each auart port should have an alias correctly numbered in "aliases" | 34 | Note: Each auart port should have an alias correctly numbered in "aliases" |
diff --git a/Documentation/devicetree/bindings/serial/of-serial.txt b/Documentation/devicetree/bindings/serial/of-serial.txt index 8c4fd0332028..b52b98234b9b 100644 --- a/Documentation/devicetree/bindings/serial/of-serial.txt +++ b/Documentation/devicetree/bindings/serial/of-serial.txt | |||
@@ -10,6 +10,7 @@ Required properties: | |||
10 | - "ns16850" | 10 | - "ns16850" |
11 | - "nvidia,tegra20-uart" | 11 | - "nvidia,tegra20-uart" |
12 | - "nxp,lpc3220-uart" | 12 | - "nxp,lpc3220-uart" |
13 | - "ralink,rt2880-uart" | ||
13 | - "ibm,qpace-nwp-serial" | 14 | - "ibm,qpace-nwp-serial" |
14 | - "altr,16550-FIFO32" | 15 | - "altr,16550-FIFO32" |
15 | - "altr,16550-FIFO64" | 16 | - "altr,16550-FIFO64" |
diff --git a/Documentation/devicetree/bindings/serial/pl011.txt b/Documentation/devicetree/bindings/serial/pl011.txt index 5d2e840ae65c..ba3ecb8cb5a1 100644 --- a/Documentation/devicetree/bindings/serial/pl011.txt +++ b/Documentation/devicetree/bindings/serial/pl011.txt | |||
@@ -6,12 +6,46 @@ Required properties: | |||
6 | - interrupts: exactly one interrupt specifier | 6 | - interrupts: exactly one interrupt specifier |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - pinctrl: When present, must have one state named "sleep" | 9 | - pinctrl: |
10 | and one state named "default" | 10 | When present, must have one state named "default", |
11 | - clocks: When present, must refer to exactly one clock named | 11 | and may contain a second name named "sleep". The former |
12 | state sets up pins for ordinary operation whereas | ||
13 | the latter state will put the associated pins to sleep | ||
14 | when the UART is unused | ||
15 | - clocks: | ||
16 | When present, the first clock listed must correspond to | ||
17 | the clock named UARTCLK on the IP block, i.e. the clock | ||
18 | to the external serial line, whereas the second clock | ||
19 | must correspond to the PCLK clocking the internal logic | ||
20 | of the block. Just listing one clock (the first one) is | ||
21 | deprecated. | ||
22 | - clocks-names: | ||
23 | When present, the first clock listed must be named | ||
24 | "uartclk" and the second clock listed must be named | ||
12 | "apb_pclk" | 25 | "apb_pclk" |
13 | - dmas: When present, may have one or two dma channels. | 26 | - dmas: |
27 | When present, may have one or two dma channels. | ||
14 | The first one must be named "rx", the second one | 28 | The first one must be named "rx", the second one |
15 | must be named "tx". | 29 | must be named "tx". |
30 | - auto-poll: | ||
31 | Enables polling when using RX DMA. | ||
32 | - poll-rate-ms: | ||
33 | Rate at which poll occurs when auto-poll is set, | ||
34 | default 100ms. | ||
35 | - poll-timeout-ms: | ||
36 | Poll timeout when auto-poll is set, default | ||
37 | 3000ms. | ||
16 | 38 | ||
17 | See also bindings/arm/primecell.txt | 39 | See also bindings/arm/primecell.txt |
40 | |||
41 | Example: | ||
42 | |||
43 | uart@80120000 { | ||
44 | compatible = "arm,pl011", "arm,primecell"; | ||
45 | reg = <0x80120000 0x1000>; | ||
46 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; | ||
47 | dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>; | ||
48 | dma-names = "rx", "tx"; | ||
49 | clocks = <&foo_clk>, <&bar_clk>; | ||
50 | clock-names = "uartclk", "apb_pclk"; | ||
51 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt index ffa5b784c66e..a2114c217376 100644 --- a/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt +++ b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt | |||
@@ -27,27 +27,52 @@ Optional properties: | |||
27 | - dmas: Should contain dma specifiers for transmit and receive channels | 27 | - dmas: Should contain dma specifiers for transmit and receive channels |
28 | - dma-names: Should contain "tx" for transmit and "rx" for receive channels | 28 | - dma-names: Should contain "tx" for transmit and "rx" for receive channels |
29 | 29 | ||
30 | Note: Aliases may be defined to ensure the correct ordering of the UARTs. | ||
31 | The alias serialN will result in the UART being assigned port N. If any | ||
32 | serialN alias exists, then an alias must exist for each enabled UART. The | ||
33 | serialN aliases should be in a .dts file instead of in a .dtsi file. | ||
34 | |||
30 | Examples: | 35 | Examples: |
31 | 36 | ||
32 | A uartdm v1.4 device with dma capabilities. | 37 | - A uartdm v1.4 device with dma capabilities. |
33 | 38 | ||
34 | serial@f991e000 { | 39 | serial@f991e000 { |
35 | compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; | 40 | compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; |
36 | reg = <0xf991e000 0x1000>; | 41 | reg = <0xf991e000 0x1000>; |
37 | interrupts = <0 108 0x0>; | 42 | interrupts = <0 108 0x0>; |
38 | clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>; | 43 | clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>; |
39 | clock-names = "core", "iface"; | 44 | clock-names = "core", "iface"; |
40 | dmas = <&dma0 0>, <&dma0 1>; | 45 | dmas = <&dma0 0>, <&dma0 1>; |
41 | dma-names = "tx", "rx"; | 46 | dma-names = "tx", "rx"; |
42 | }; | 47 | }; |
43 | 48 | ||
44 | A uartdm v1.3 device without dma capabilities and part of a GSBI complex. | 49 | - A uartdm v1.3 device without dma capabilities and part of a GSBI complex. |
45 | 50 | ||
46 | serial@19c40000 { | 51 | serial@19c40000 { |
47 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; | 52 | compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; |
48 | reg = <0x19c40000 0x1000>, | 53 | reg = <0x19c40000 0x1000>, |
49 | <0x19c00000 0x1000>; | 54 | <0x19c00000 0x1000>; |
50 | interrupts = <0 195 0x0>; | 55 | interrupts = <0 195 0x0>; |
51 | clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>; | 56 | clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>; |
52 | clock-names = "core", "iface"; | 57 | clock-names = "core", "iface"; |
53 | }; | 58 | }; |
59 | |||
60 | - serialN alias. | ||
61 | |||
62 | aliases { | ||
63 | serial0 = &uarta; | ||
64 | serial1 = &uartc; | ||
65 | serial2 = &uartb; | ||
66 | }; | ||
67 | |||
68 | uarta: serial@12490000 { | ||
69 | status = "ok"; | ||
70 | }; | ||
71 | |||
72 | uartb: serial@16340000 { | ||
73 | status = "ok"; | ||
74 | }; | ||
75 | |||
76 | uartc: serial@1a240000 { | ||
77 | status = "ok"; | ||
78 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt index b3556609a06f..ae73bb0e9ad9 100644 --- a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt +++ b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt | |||
@@ -4,8 +4,7 @@ Required properties: | |||
4 | 4 | ||
5 | - compatible: Must contain one of the following: | 5 | - compatible: Must contain one of the following: |
6 | 6 | ||
7 | - "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART. | 7 | - "renesas,scif-r7s72100" for R7S72100 (RZ/A1H) SCIF compatible UART. |
8 | - "renesas,scifb-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFB compatible UART. | ||
9 | - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART. | 8 | - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART. |
10 | - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART. | 9 | - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART. |
11 | - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART. | 10 | - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART. |
@@ -20,6 +19,12 @@ Required properties: | |||
20 | - "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART. | 19 | - "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART. |
21 | - "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB compatible UART. | 20 | - "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB compatible UART. |
22 | - "renesas,hscif-r8a7791" for R8A7791 (R-Car M2) HSCIF compatible UART. | 21 | - "renesas,hscif-r8a7791" for R8A7791 (R-Car M2) HSCIF compatible UART. |
22 | - "renesas,scif-r8a7794" for R8A7794 (R-Car E2) SCIF compatible UART. | ||
23 | - "renesas,scifa-r8a7794" for R8A7794 (R-Car E2) SCIFA compatible UART. | ||
24 | - "renesas,scifb-r8a7794" for R8A7794 (R-Car E2) SCIFB compatible UART. | ||
25 | - "renesas,hscif-r8a7794" for R8A7794 (R-Car E2) HSCIF compatible UART. | ||
26 | - "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART. | ||
27 | - "renesas,scifb-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFB compatible UART. | ||
23 | - "renesas,scif" for generic SCIF compatible UART. | 28 | - "renesas,scif" for generic SCIF compatible UART. |
24 | - "renesas,scifa" for generic SCIFA compatible UART. | 29 | - "renesas,scifa" for generic SCIFA compatible UART. |
25 | - "renesas,scifb" for generic SCIFB compatible UART. | 30 | - "renesas,scifb" for generic SCIFB compatible UART. |
diff --git a/Documentation/devicetree/bindings/serial/sirf-uart.txt b/Documentation/devicetree/bindings/serial/sirf-uart.txt index a2dfc6522a91..3acdd969edf1 100644 --- a/Documentation/devicetree/bindings/serial/sirf-uart.txt +++ b/Documentation/devicetree/bindings/serial/sirf-uart.txt | |||
@@ -1,7 +1,9 @@ | |||
1 | * CSR SiRFprimaII/atlasVI Universal Synchronous Asynchronous Receiver/Transmitter * | 1 | * CSR SiRFprimaII/atlasVI Universal Synchronous Asynchronous Receiver/Transmitter * |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : Should be "sirf,prima2-uart" or "sirf, prima2-usp-uart" | 4 | - compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart", |
5 | "sirf,marco-uart" or "sirf,marco-bt-uart" which means | ||
6 | uart located in BT module and used for BT. | ||
5 | - reg : Offset and length of the register set for the device | 7 | - reg : Offset and length of the register set for the device |
6 | - interrupts : Should contain uart interrupt | 8 | - interrupts : Should contain uart interrupt |
7 | - fifosize : Should define hardware rx/tx fifo size | 9 | - fifosize : Should define hardware rx/tx fifo size |
@@ -31,3 +33,15 @@ usp@b0090000 { | |||
31 | rts-gpios = <&gpio 15 0>; | 33 | rts-gpios = <&gpio 15 0>; |
32 | cts-gpios = <&gpio 46 0>; | 34 | cts-gpios = <&gpio 46 0>; |
33 | }; | 35 | }; |
36 | |||
37 | for uart use in BT module, | ||
38 | uart6: uart@11000000 { | ||
39 | cell-index = <6>; | ||
40 | compatible = "sirf,marco-bt-uart", "sirf,marco-uart"; | ||
41 | reg = <0x11000000 0x1000>; | ||
42 | interrupts = <0 100 0>; | ||
43 | clocks = <&clks 138>, <&clks 140>, <&clks 141>; | ||
44 | clock-names = "uart", "general", "noc"; | ||
45 | fifosize = <128>; | ||
46 | status = "disabled"; | ||
47 | } | ||
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt b/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt new file mode 100644 index 000000000000..2a00e14e11e0 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt | |||
@@ -0,0 +1,56 @@ | |||
1 | QorIQ DPAA Buffer Manager Portals Device Tree Binding | ||
2 | |||
3 | Copyright (C) 2008 - 2014 Freescale Semiconductor Inc. | ||
4 | |||
5 | CONTENTS | ||
6 | |||
7 | - BMan Portal | ||
8 | - Example | ||
9 | |||
10 | BMan Portal Node | ||
11 | |||
12 | Portals are memory mapped interfaces to BMan that allow low-latency, lock-less | ||
13 | interaction by software running on processor cores, accelerators and network | ||
14 | interfaces with the BMan | ||
15 | |||
16 | PROPERTIES | ||
17 | |||
18 | - compatible | ||
19 | Usage: Required | ||
20 | Value type: <stringlist> | ||
21 | Definition: Must include "fsl,bman-portal-<hardware revision>" | ||
22 | May include "fsl,<SoC>-bman-portal" or "fsl,bman-portal" | ||
23 | |||
24 | - reg | ||
25 | Usage: Required | ||
26 | Value type: <prop-encoded-array> | ||
27 | Definition: Two regions. The first is the cache-enabled region of | ||
28 | the portal. The second is the cache-inhibited region of | ||
29 | the portal | ||
30 | |||
31 | - interrupts | ||
32 | Usage: Required | ||
33 | Value type: <prop-encoded-array> | ||
34 | Definition: Standard property | ||
35 | |||
36 | EXAMPLE | ||
37 | |||
38 | The example below shows a (P4080) BMan portals container/bus node with two portals | ||
39 | |||
40 | bman-portals@ff4000000 { | ||
41 | #address-cells = <1>; | ||
42 | #size-cells = <1>; | ||
43 | compatible = "simple-bus"; | ||
44 | ranges = <0 0xf 0xf4000000 0x200000>; | ||
45 | |||
46 | bman-portal@0 { | ||
47 | compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal"; | ||
48 | reg = <0x0 0x4000>, <0x100000 0x1000>; | ||
49 | interrupts = <105 2 0 0>; | ||
50 | }; | ||
51 | bman-portal@4000 { | ||
52 | compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal"; | ||
53 | reg = <0x4000 0x4000>, <0x101000 0x1000>; | ||
54 | interrupts = <107 2 0 0>; | ||
55 | }; | ||
56 | }; | ||
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman.txt b/Documentation/devicetree/bindings/soc/fsl/bman.txt new file mode 100644 index 000000000000..9f80bf8709ac --- /dev/null +++ b/Documentation/devicetree/bindings/soc/fsl/bman.txt | |||
@@ -0,0 +1,125 @@ | |||
1 | QorIQ DPAA Buffer Manager Device Tree Bindings | ||
2 | |||
3 | Copyright (C) 2008 - 2014 Freescale Semiconductor Inc. | ||
4 | |||
5 | CONTENTS | ||
6 | |||
7 | - BMan Node | ||
8 | - BMan Private Memory Node | ||
9 | - Example | ||
10 | |||
11 | BMan Node | ||
12 | |||
13 | The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA). | ||
14 | BMan supports hardware allocation and deallocation of buffers belonging to pools | ||
15 | originally created by software with configurable depletion thresholds. This | ||
16 | binding covers the CCSR space programming model | ||
17 | |||
18 | PROPERTIES | ||
19 | |||
20 | - compatible | ||
21 | Usage: Required | ||
22 | Value type: <stringlist> | ||
23 | Definition: Must include "fsl,bman" | ||
24 | May include "fsl,<SoC>-bman" | ||
25 | |||
26 | - reg | ||
27 | Usage: Required | ||
28 | Value type: <prop-encoded-array> | ||
29 | Definition: Registers region within the CCSR address space | ||
30 | |||
31 | The BMan revision information is located in the BMAN_IP_REV_1/2 registers which | ||
32 | are located at offsets 0xbf8 and 0xbfc | ||
33 | |||
34 | - interrupts | ||
35 | Usage: Required | ||
36 | Value type: <prop-encoded-array> | ||
37 | Definition: Standard property. The error interrupt | ||
38 | |||
39 | - fsl,liodn | ||
40 | Usage: See pamu.txt | ||
41 | Value type: <prop-encoded-array> | ||
42 | Definition: PAMU property used for static LIODN assignment | ||
43 | |||
44 | - fsl,iommu-parent | ||
45 | Usage: See pamu.txt | ||
46 | Value type: <phandle> | ||
47 | Definition: PAMU property used for dynamic LIODN assignment | ||
48 | |||
49 | For additional details about the PAMU/LIODN binding(s) see pamu.txt | ||
50 | |||
51 | Devices connected to a BMan instance via Direct Connect Portals (DCP) must link | ||
52 | to the respective BMan instance | ||
53 | |||
54 | - fsl,bman | ||
55 | Usage: Required | ||
56 | Value type: <prop-encoded-array> | ||
57 | Description: List of phandle and DCP index pairs, to the BMan instance | ||
58 | to which this device is connected via the DCP | ||
59 | |||
60 | BMan Private Memory Node | ||
61 | |||
62 | BMan requires a contiguous range of physical memory used for the backing store | ||
63 | for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as a | ||
64 | node under the /reserved-memory node | ||
65 | |||
66 | The BMan FBPR memory node must be named "bman-fbpr" | ||
67 | |||
68 | PROPERTIES | ||
69 | |||
70 | - compatible | ||
71 | Usage: required | ||
72 | Value type: <stringlist> | ||
73 | Definition: Must inclide "fsl,bman-fbpr" | ||
74 | |||
75 | The following constraints are relevant to the FBPR private memory: | ||
76 | - The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to | ||
77 | 16 GiB | ||
78 | - The alignment must be a muliptle of the memory size | ||
79 | |||
80 | The size of the FBPR must be chosen by observing the hardware features configured | ||
81 | via the Reset Configuration Word (RCW) and that are relevant to a specific board | ||
82 | (e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports, | ||
83 | etc.). The size configured in the DT must reflect the hardware capabilities and | ||
84 | not the specific needs of an application | ||
85 | |||
86 | For additional details about reserved memory regions see reserved-memory.txt | ||
87 | |||
88 | EXAMPLE | ||
89 | |||
90 | The example below shows a BMan FBPR dynamic allocation memory node | ||
91 | |||
92 | reserved-memory { | ||
93 | #address-cells = <2>; | ||
94 | #size-cells = <2>; | ||
95 | ranges; | ||
96 | |||
97 | bman_fbpr: bman-fbpr { | ||
98 | compatible = "fsl,bman-fbpr"; | ||
99 | alloc-ranges = <0 0 0xf 0xffffffff>; | ||
100 | size = <0 0x1000000>; | ||
101 | alignment = <0 0x1000000>; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | The example below shows a (P4080) BMan CCSR-space node | ||
106 | |||
107 | crypto@300000 { | ||
108 | ... | ||
109 | fsl,bman = <&bman, 2>; | ||
110 | ... | ||
111 | }; | ||
112 | |||
113 | bman: bman@31a000 { | ||
114 | compatible = "fsl,bman"; | ||
115 | reg = <0x31a000 0x1000>; | ||
116 | interrupts = <16 2 1 2>; | ||
117 | fsl,liodn = <0x17>; | ||
118 | memory-region = <&bman_fbpr>; | ||
119 | }; | ||
120 | |||
121 | fman@400000 { | ||
122 | ... | ||
123 | fsl,bman = <&bman, 0>; | ||
124 | ... | ||
125 | }; | ||
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt b/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt new file mode 100644 index 000000000000..48c4dae5d6f9 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt | |||
@@ -0,0 +1,154 @@ | |||
1 | QorIQ DPAA Queue Manager Portals Device Tree Binding | ||
2 | |||
3 | Copyright (C) 2008 - 2014 Freescale Semiconductor Inc. | ||
4 | |||
5 | CONTENTS | ||
6 | |||
7 | - QMan Portal | ||
8 | - QMan Pool Channel | ||
9 | - Example | ||
10 | |||
11 | QMan Portal Node | ||
12 | |||
13 | Portals are memory mapped interfaces to QMan that allow low-latency, lock-less | ||
14 | interaction by software running on processor cores, accelerators and network | ||
15 | interfaces with the QMan | ||
16 | |||
17 | PROPERTIES | ||
18 | |||
19 | - compatible | ||
20 | Usage: Required | ||
21 | Value type: <stringlist> | ||
22 | Definition: Must include "fsl,qman-portal-<hardware revision>" | ||
23 | May include "fsl,<SoC>-qman-portal" or "fsl,qman-portal" | ||
24 | |||
25 | - reg | ||
26 | Usage: Required | ||
27 | Value type: <prop-encoded-array> | ||
28 | Definition: Two regions. The first is the cache-enabled region of | ||
29 | the portal. The second is the cache-inhibited region of | ||
30 | the portal | ||
31 | |||
32 | - interrupts | ||
33 | Usage: Required | ||
34 | Value type: <prop-encoded-array> | ||
35 | Definition: Standard property | ||
36 | |||
37 | - fsl,liodn | ||
38 | Usage: See pamu.txt | ||
39 | Value type: <prop-encoded-array> | ||
40 | Definition: Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN | ||
41 | (FLIODN) | ||
42 | |||
43 | - fsl,iommu-parent | ||
44 | Usage: See pamu.txt | ||
45 | Value type: <phandle> | ||
46 | Definition: PAMU property used for dynamic LIODN assignment | ||
47 | |||
48 | For additional details about the PAMU/LIODN binding(s) see pamu.txt | ||
49 | |||
50 | - fsl,qman-channel-id | ||
51 | Usage: Required | ||
52 | Value type: <u32> | ||
53 | Definition: The hardware index of the channel. This can also be | ||
54 | determined by dividing any of the channel's 8 work queue | ||
55 | IDs by 8 | ||
56 | |||
57 | In addition to these properties the qman-portals should have sub-nodes to | ||
58 | represent the HW devices/portals that are connected to the software portal | ||
59 | described here | ||
60 | |||
61 | The currently supported sub-nodes are: | ||
62 | * fman0 | ||
63 | * fman1 | ||
64 | * pme | ||
65 | * crypto | ||
66 | |||
67 | These subnodes should have the following properties: | ||
68 | |||
69 | - fsl,liodn | ||
70 | Usage: See pamu.txt | ||
71 | Value type: <prop-encoded-array> | ||
72 | Definition: PAMU property used for static LIODN assignment | ||
73 | |||
74 | - fsl,iommu-parent | ||
75 | Usage: See pamu.txt | ||
76 | Value type: <phandle> | ||
77 | Definition: PAMU property used for dynamic LIODN assignment | ||
78 | |||
79 | - dev-handle | ||
80 | Usage: Required | ||
81 | Value type: <phandle> | ||
82 | Definition: The phandle to the particular hardware device that this | ||
83 | portal is connected to. | ||
84 | |||
85 | DPAA QMan Pool Channel Nodes | ||
86 | |||
87 | Pool Channels are defined with the following properties. | ||
88 | |||
89 | PROPERTIES | ||
90 | |||
91 | - compatible | ||
92 | Usage: Required | ||
93 | Value type: <stringlist> | ||
94 | Definition: Must include "fsl,qman-pool-channel" | ||
95 | May include "fsl,<SoC>-qman-pool-channel" | ||
96 | |||
97 | - fsl,qman-channel-id | ||
98 | Usage: Required | ||
99 | Value type: <u32> | ||
100 | Definition: The hardware index of the channel. This can also be | ||
101 | determined by dividing any of the channel's 8 work queue | ||
102 | IDs by 8 | ||
103 | |||
104 | EXAMPLE | ||
105 | |||
106 | The example below shows a (P4080) QMan portals container/bus node with two portals | ||
107 | |||
108 | qman-portals@ff4200000 { | ||
109 | #address-cells = <1>; | ||
110 | #size-cells = <1>; | ||
111 | compatible = "simple-bus"; | ||
112 | ranges = <0 0xf 0xf4200000 0x200000>; | ||
113 | |||
114 | qman-portal@0 { | ||
115 | compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal"; | ||
116 | reg = <0 0x4000>, <0x100000 0x1000>; | ||
117 | interrupts = <104 2 0 0>; | ||
118 | fsl,liodn = <1 2>; | ||
119 | fsl,qman-channel-id = <0>; | ||
120 | |||
121 | fman0 { | ||
122 | fsl,liodn = <0x21>; | ||
123 | dev-handle = <&fman0>; | ||
124 | }; | ||
125 | fman1 { | ||
126 | fsl,liodn = <0xa1>; | ||
127 | dev-handle = <&fman1>; | ||
128 | }; | ||
129 | crypto { | ||
130 | fsl,liodn = <0x41 0x66>; | ||
131 | dev-handle = <&crypto>; | ||
132 | }; | ||
133 | }; | ||
134 | qman-portal@4000 { | ||
135 | compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal"; | ||
136 | reg = <0x4000 0x4000>, <0x101000 0x1000>; | ||
137 | interrupts = <106 2 0 0>; | ||
138 | fsl,liodn = <3 4>; | ||
139 | fsl,qman-channel-id = <1>; | ||
140 | |||
141 | fman0 { | ||
142 | fsl,liodn = <0x22>; | ||
143 | dev-handle = <&fman0>; | ||
144 | }; | ||
145 | fman1 { | ||
146 | fsl,liodn = <0xa2>; | ||
147 | dev-handle = <&fman1>; | ||
148 | }; | ||
149 | crypto { | ||
150 | fsl,liodn = <0x42 0x67>; | ||
151 | dev-handle = <&crypto>; | ||
152 | }; | ||
153 | }; | ||
154 | }; | ||
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman.txt b/Documentation/devicetree/bindings/soc/fsl/qman.txt new file mode 100644 index 000000000000..063e3a0b9d04 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/fsl/qman.txt | |||
@@ -0,0 +1,165 @@ | |||
1 | QorIQ DPAA Queue Manager Device Tree Binding | ||
2 | |||
3 | Copyright (C) 2008 - 2014 Freescale Semiconductor Inc. | ||
4 | |||
5 | CONTENTS | ||
6 | |||
7 | - QMan Node | ||
8 | - QMan Private Memory Nodes | ||
9 | - Example | ||
10 | |||
11 | QMan Node | ||
12 | |||
13 | The Queue Manager is part of the Data-Path Acceleration Architecture (DPAA). QMan | ||
14 | supports queuing and QoS scheduling of frames to CPUs, network interfaces and | ||
15 | DPAA logic modules, maintains packet ordering within flows. Besides providing | ||
16 | flow-level queuing, is also responsible for congestion management functions such | ||
17 | as RED/WRED, congestion notifications and tail discards. This binding covers the | ||
18 | CCSR space programming model | ||
19 | |||
20 | PROPERTIES | ||
21 | |||
22 | - compatible | ||
23 | Usage: Required | ||
24 | Value type: <stringlist> | ||
25 | Definition: Must include "fsl,qman" | ||
26 | May include "fsl,<SoC>-qman" | ||
27 | |||
28 | - reg | ||
29 | Usage: Required | ||
30 | Value type: <prop-encoded-array> | ||
31 | Definition: Registers region within the CCSR address space | ||
32 | |||
33 | The QMan revision information is located in the QMAN_IP_REV_1/2 registers which | ||
34 | are located at offsets 0xbf8 and 0xbfc | ||
35 | |||
36 | - interrupts | ||
37 | Usage: Required | ||
38 | Value type: <prop-encoded-array> | ||
39 | Definition: Standard property. The error interrupt | ||
40 | |||
41 | - fsl,liodn | ||
42 | Usage: See pamu.txt | ||
43 | Value type: <prop-encoded-array> | ||
44 | Definition: PAMU property used for static LIODN assignment | ||
45 | |||
46 | - fsl,iommu-parent | ||
47 | Usage: See pamu.txt | ||
48 | Value type: <phandle> | ||
49 | Definition: PAMU property used for dynamic LIODN assignment | ||
50 | |||
51 | For additional details about the PAMU/LIODN binding(s) see pamu.txt | ||
52 | |||
53 | - clocks | ||
54 | Usage: See clock-bindings.txt and qoriq-clock.txt | ||
55 | Value type: <prop-encoded-array> | ||
56 | Definition: Reference input clock. Its frequency is half of the | ||
57 | platform clock | ||
58 | |||
59 | Devices connected to a QMan instance via Direct Connect Portals (DCP) must link | ||
60 | to the respective QMan instance | ||
61 | |||
62 | - fsl,qman | ||
63 | Usage: Required | ||
64 | Value type: <prop-encoded-array> | ||
65 | Description: List of phandle and DCP index pairs, to the QMan instance | ||
66 | to which this device is connected via the DCP | ||
67 | |||
68 | QMan Private Memory Nodes | ||
69 | |||
70 | QMan requires two contiguous range of physical memory used for the backing store | ||
71 | for QMan Frame Queue Descriptor (FQD) and Packed Frame Descriptor Record (PFDR). | ||
72 | This memory is reserved/allocated as a nodes under the /reserved-memory node | ||
73 | |||
74 | The QMan FQD memory node must be named "qman-fqd" | ||
75 | |||
76 | PROPERTIES | ||
77 | |||
78 | - compatible | ||
79 | Usage: required | ||
80 | Value type: <stringlist> | ||
81 | Definition: Must inclide "fsl,qman-fqd" | ||
82 | |||
83 | The QMan PFDR memory node must be named "qman-pfdr" | ||
84 | |||
85 | PROPERTIES | ||
86 | |||
87 | - compatible | ||
88 | Usage: required | ||
89 | Value type: <stringlist> | ||
90 | Definition: Must inclide "fsl,qman-pfdr" | ||
91 | |||
92 | The following constraints are relevant to the FQD and PFDR private memory: | ||
93 | - The size must be 2^(size + 1), with size = 11..29. That is 4 KiB to | ||
94 | 1 GiB | ||
95 | - The alignment must be a muliptle of the memory size | ||
96 | |||
97 | The size of the FQD and PFDP must be chosen by observing the hardware features | ||
98 | configured via the Reset Configuration Word (RCW) and that are relevant to a | ||
99 | specific board (e.g. number of MAC(s) pinned-out, number of offline/host command | ||
100 | FMan ports, etc.). The size configured in the DT must reflect the hardware | ||
101 | capabilities and not the specific needs of an application | ||
102 | |||
103 | For additional details about reserved memory regions see reserved-memory.txt | ||
104 | |||
105 | EXAMPLE | ||
106 | |||
107 | The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes | ||
108 | |||
109 | reserved-memory { | ||
110 | #address-cells = <2>; | ||
111 | #size-cells = <2>; | ||
112 | ranges; | ||
113 | |||
114 | qman_fqd: qman-fqd { | ||
115 | compatible = "fsl,qman-fqd"; | ||
116 | alloc-ranges = <0 0 0xf 0xffffffff>; | ||
117 | size = <0 0x400000>; | ||
118 | alignment = <0 0x400000>; | ||
119 | }; | ||
120 | qman_pfdr: qman-pfdr { | ||
121 | compatible = "fsl,qman-pfdr"; | ||
122 | alloc-ranges = <0 0 0xf 0xffffffff>; | ||
123 | size = <0 0x2000000>; | ||
124 | alignment = <0 0x2000000>; | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | The example below shows a (P4080) QMan CCSR-space node | ||
129 | |||
130 | clockgen: global-utilities@e1000 { | ||
131 | ... | ||
132 | sysclk: sysclk { | ||
133 | ... | ||
134 | }; | ||
135 | ... | ||
136 | platform_pll: platform-pll@c00 { | ||
137 | #clock-cells = <1>; | ||
138 | reg = <0xc00 0x4>; | ||
139 | compatible = "fsl,qoriq-platform-pll-1.0"; | ||
140 | clocks = <&sysclk>; | ||
141 | clock-output-names = "platform-pll", "platform-pll-div2"; | ||
142 | }; | ||
143 | ... | ||
144 | }; | ||
145 | |||
146 | crypto@300000 { | ||
147 | ... | ||
148 | fsl,qman = <&qman, 2>; | ||
149 | ... | ||
150 | }; | ||
151 | |||
152 | qman: qman@318000 { | ||
153 | compatible = "fsl,qman"; | ||
154 | reg = <0x318000 0x1000>; | ||
155 | interrupts = <16 2 1 3> | ||
156 | fsl,liodn = <0x16>; | ||
157 | memory-region = <&qman_fqd &qman_pfdr>; | ||
158 | clocks = <&platform_pll 1>; | ||
159 | }; | ||
160 | |||
161 | fman@400000 { | ||
162 | ... | ||
163 | fsl,qman = <&qman, 0>; | ||
164 | ... | ||
165 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/arndale.txt b/Documentation/devicetree/bindings/sound/arndale.txt new file mode 100644 index 000000000000..0e76946385ae --- /dev/null +++ b/Documentation/devicetree/bindings/sound/arndale.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | Audio Binding for Arndale boards | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Can be the following, | ||
5 | "samsung,arndale-rt5631" | ||
6 | |||
7 | - samsung,audio-cpu: The phandle of the Samsung I2S controller | ||
8 | - samsung,audio-codec: The phandle of the audio codec | ||
9 | |||
10 | Optional: | ||
11 | - samsung,model: The name of the sound-card | ||
12 | |||
13 | Arndale Boards has many audio daughter cards, one of them is | ||
14 | rt5631/alc5631. Below example shows audio bindings for rt5631/ | ||
15 | alc5631 based codec. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | sound { | ||
20 | compatible = "samsung,arndale-rt5631"; | ||
21 | |||
22 | samsung,audio-cpu = <&i2s0> | ||
23 | samsung,audio-codec = <&rt5631>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt index 60ca07996458..46bc9829c71a 100644 --- a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt +++ b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt | |||
@@ -32,7 +32,7 @@ Optional properties: | |||
32 | - rx-num-evt : FIFO levels. | 32 | - rx-num-evt : FIFO levels. |
33 | - sram-size-playback : size of sram to be allocated during playback | 33 | - sram-size-playback : size of sram to be allocated during playback |
34 | - sram-size-capture : size of sram to be allocated during capture | 34 | - sram-size-capture : size of sram to be allocated during capture |
35 | - interrupts : Interrupt numbers for McASP, currently not used by the driver | 35 | - interrupts : Interrupt numbers for McASP |
36 | - interrupt-names : Known interrupt names are "tx" and "rx" | 36 | - interrupt-names : Known interrupt names are "tx" and "rx" |
37 | - pinctrl-0: Should specify pin control group used for this controller. | 37 | - pinctrl-0: Should specify pin control group used for this controller. |
38 | - pinctrl-names: Should contain only one value - "default", for more details | 38 | - pinctrl-names: Should contain only one value - "default", for more details |
diff --git a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt index 0d7985c864af..6dfa88c4dc1e 100644 --- a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt +++ b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt | |||
@@ -1,11 +1,16 @@ | |||
1 | Audio complex for Eukrea boards with tlv320aic23 codec. | 1 | Audio complex for Eukrea boards with tlv320aic23 codec. |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "eukrea,asoc-tlv320" | 4 | |
5 | - eukrea,model : The user-visible name of this sound complex. | 5 | - compatible : "eukrea,asoc-tlv320" |
6 | - ssi-controller : The phandle of the SSI controller. | 6 | |
7 | - fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX). | 7 | - eukrea,model : The user-visible name of this sound complex. |
8 | - fsl,mux-ext-port : The external port of the i.MX audio muxer. | 8 | |
9 | - ssi-controller : The phandle of the SSI controller. | ||
10 | |||
11 | - fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX). | ||
12 | |||
13 | - fsl,mux-ext-port : The external port of the i.MX audio muxer. | ||
9 | 14 | ||
10 | Note: The AUDMUX port numbering should start at 1, which is consistent with | 15 | Note: The AUDMUX port numbering should start at 1, which is consistent with |
11 | hardware manual. | 16 | hardware manual. |
diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.txt b/Documentation/devicetree/bindings/sound/fsl,esai.txt index 52f5b6bf3e8e..d3b6b5f48010 100644 --- a/Documentation/devicetree/bindings/sound/fsl,esai.txt +++ b/Documentation/devicetree/bindings/sound/fsl,esai.txt | |||
@@ -7,37 +7,39 @@ other DSPs. It has up to six transmitters and four receivers. | |||
7 | 7 | ||
8 | Required properties: | 8 | Required properties: |
9 | 9 | ||
10 | - compatible : Compatible list, must contain "fsl,imx35-esai" or | 10 | - compatible : Compatible list, must contain "fsl,imx35-esai" or |
11 | "fsl,vf610-esai" | 11 | "fsl,vf610-esai" |
12 | 12 | ||
13 | - reg : Offset and length of the register set for the device. | 13 | - reg : Offset and length of the register set for the device. |
14 | 14 | ||
15 | - interrupts : Contains the spdif interrupt. | 15 | - interrupts : Contains the spdif interrupt. |
16 | 16 | ||
17 | - dmas : Generic dma devicetree binding as described in | 17 | - dmas : Generic dma devicetree binding as described in |
18 | Documentation/devicetree/bindings/dma/dma.txt. | 18 | Documentation/devicetree/bindings/dma/dma.txt. |
19 | 19 | ||
20 | - dma-names : Two dmas have to be defined, "tx" and "rx". | 20 | - dma-names : Two dmas have to be defined, "tx" and "rx". |
21 | 21 | ||
22 | - clocks: Contains an entry for each entry in clock-names. | 22 | - clocks : Contains an entry for each entry in clock-names. |
23 | 23 | ||
24 | - clock-names : Includes the following entries: | 24 | - clock-names : Includes the following entries: |
25 | "core" The core clock used to access registers | 25 | "core" The core clock used to access registers |
26 | "extal" The esai baud clock for esai controller used to derive | 26 | "extal" The esai baud clock for esai controller used to |
27 | HCK, SCK and FS. | 27 | derive HCK, SCK and FS. |
28 | "fsys" The system clock derived from ahb clock used to derive | 28 | "fsys" The system clock derived from ahb clock used to |
29 | HCK, SCK and FS. | 29 | derive HCK, SCK and FS. |
30 | 30 | ||
31 | - fsl,fifo-depth: The number of elements in the transmit and receive FIFOs. | 31 | - fsl,fifo-depth : The number of elements in the transmit and receive |
32 | This number is the maximum allowed value for TFCR[TFWM] or RFCR[RFWM]. | 32 | FIFOs. This number is the maximum allowed value for |
33 | TFCR[TFWM] or RFCR[RFWM]. | ||
33 | 34 | ||
34 | - fsl,esai-synchronous: This is a boolean property. If present, indicating | 35 | - fsl,esai-synchronous: This is a boolean property. If present, indicating |
35 | that ESAI would work in the synchronous mode, which means all the settings | 36 | that ESAI would work in the synchronous mode, which |
36 | for Receiving would be duplicated from Transmition related registers. | 37 | means all the settings for Receiving would be |
38 | duplicated from Transmition related registers. | ||
37 | 39 | ||
38 | - big-endian : If this property is absent, the native endian mode will | 40 | - big-endian : If this property is absent, the native endian mode |
39 | be in use as default, or the big endian mode will be in use for all the | 41 | will be in use as default, or the big endian mode |
40 | device registers. | 42 | will be in use for all the device registers. |
41 | 43 | ||
42 | Example: | 44 | Example: |
43 | 45 | ||
diff --git a/Documentation/devicetree/bindings/sound/fsl,spdif.txt b/Documentation/devicetree/bindings/sound/fsl,spdif.txt index 3e9e82c8eab3..b5ee32ee3706 100644 --- a/Documentation/devicetree/bindings/sound/fsl,spdif.txt +++ b/Documentation/devicetree/bindings/sound/fsl,spdif.txt | |||
@@ -6,32 +6,31 @@ a fibre cable. | |||
6 | 6 | ||
7 | Required properties: | 7 | Required properties: |
8 | 8 | ||
9 | - compatible : Compatible list, must contain "fsl,imx35-spdif". | 9 | - compatible : Compatible list, must contain "fsl,imx35-spdif". |
10 | 10 | ||
11 | - reg : Offset and length of the register set for the device. | 11 | - reg : Offset and length of the register set for the device. |
12 | 12 | ||
13 | - interrupts : Contains the spdif interrupt. | 13 | - interrupts : Contains the spdif interrupt. |
14 | 14 | ||
15 | - dmas : Generic dma devicetree binding as described in | 15 | - dmas : Generic dma devicetree binding as described in |
16 | Documentation/devicetree/bindings/dma/dma.txt. | 16 | Documentation/devicetree/bindings/dma/dma.txt. |
17 | 17 | ||
18 | - dma-names : Two dmas have to be defined, "tx" and "rx". | 18 | - dma-names : Two dmas have to be defined, "tx" and "rx". |
19 | 19 | ||
20 | - clocks : Contains an entry for each entry in clock-names. | 20 | - clocks : Contains an entry for each entry in clock-names. |
21 | 21 | ||
22 | - clock-names : Includes the following entries: | 22 | - clock-names : Includes the following entries: |
23 | "core" The core clock of spdif controller | 23 | "core" The core clock of spdif controller. |
24 | "rxtx<0-7>" Clock source list for tx and rx clock. | 24 | "rxtx<0-7>" Clock source list for tx and rx clock. |
25 | This clock list should be identical to | 25 | This clock list should be identical to the source |
26 | the source list connecting to the spdif | 26 | list connecting to the spdif clock mux in "SPDIF |
27 | clock mux in "SPDIF Transceiver Clock | 27 | Transceiver Clock Diagram" of SoC reference manual. |
28 | Diagram" of SoC reference manual. It | 28 | It can also be referred to TxClk_Source bit of |
29 | can also be referred to TxClk_Source | 29 | register SPDIF_STC. |
30 | bit of register SPDIF_STC. | ||
31 | 30 | ||
32 | - big-endian : If this property is absent, the native endian mode will | 31 | - big-endian : If this property is absent, the native endian mode |
33 | be in use as default, or the big endian mode will be in use for all the | 32 | will be in use as default, or the big endian mode |
34 | device registers. | 33 | will be in use for all the device registers. |
35 | 34 | ||
36 | Example: | 35 | Example: |
37 | 36 | ||
diff --git a/Documentation/devicetree/bindings/sound/fsl-sai.txt b/Documentation/devicetree/bindings/sound/fsl-sai.txt index 4956b14d4b06..044e5d76e2dd 100644 --- a/Documentation/devicetree/bindings/sound/fsl-sai.txt +++ b/Documentation/devicetree/bindings/sound/fsl-sai.txt | |||
@@ -5,32 +5,48 @@ which provides a synchronous audio interface that supports fullduplex | |||
5 | serial interfaces with frame synchronization such as I2S, AC97, TDM, and | 5 | serial interfaces with frame synchronization such as I2S, AC97, TDM, and |
6 | codec/DSP interfaces. | 6 | codec/DSP interfaces. |
7 | 7 | ||
8 | |||
9 | Required properties: | 8 | Required properties: |
10 | - compatible: Compatible list, contains "fsl,vf610-sai" or "fsl,imx6sx-sai". | 9 | |
11 | - reg: Offset and length of the register set for the device. | 10 | - compatible : Compatible list, contains "fsl,vf610-sai" or |
12 | - clocks: Must contain an entry for each entry in clock-names. | 11 | "fsl,imx6sx-sai". |
13 | - clock-names : Must include the "bus" for register access and "mclk1" "mclk2" | 12 | |
14 | "mclk3" for bit clock and frame clock providing. | 13 | - reg : Offset and length of the register set for the device. |
15 | - dmas : Generic dma devicetree binding as described in | 14 | |
16 | Documentation/devicetree/bindings/dma/dma.txt. | 15 | - clocks : Must contain an entry for each entry in clock-names. |
17 | - dma-names : Two dmas have to be defined, "tx" and "rx". | 16 | |
18 | - pinctrl-names: Must contain a "default" entry. | 17 | - clock-names : Must include the "bus" for register access and |
19 | - pinctrl-NNN: One property must exist for each entry in pinctrl-names. | 18 | "mclk1", "mclk2", "mclk3" for bit clock and frame |
20 | See ../pinctrl/pinctrl-bindings.txt for details of the property values. | 19 | clock providing. |
21 | - big-endian: Boolean property, required if all the FTM_PWM registers | 20 | - dmas : Generic dma devicetree binding as described in |
22 | are big-endian rather than little-endian. | 21 | Documentation/devicetree/bindings/dma/dma.txt. |
23 | - lsb-first: Configures whether the LSB or the MSB is transmitted first for | 22 | |
24 | the fifo data. If this property is absent, the MSB is transmitted first as | 23 | - dma-names : Two dmas have to be defined, "tx" and "rx". |
25 | default, or the LSB is transmitted first. | 24 | |
26 | - fsl,sai-synchronous-rx: This is a boolean property. If present, indicating | 25 | - pinctrl-names : Must contain a "default" entry. |
27 | that SAI will work in the synchronous mode (sync Tx with Rx) which means | 26 | |
28 | both the transimitter and receiver will send and receive data by following | 27 | - pinctrl-NNN : One property must exist for each entry in |
29 | receiver's bit clocks and frame sync clocks. | 28 | pinctrl-names. See ../pinctrl/pinctrl-bindings.txt |
30 | - fsl,sai-asynchronous: This is a boolean property. If present, indicating | 29 | for details of the property values. |
31 | that SAI will work in the asynchronous mode, which means both transimitter | 30 | |
32 | and receiver will send and receive data by following their own bit clocks | 31 | - big-endian : Boolean property, required if all the FTM_PWM |
33 | and frame sync clocks separately. | 32 | registers are big-endian rather than little-endian. |
33 | |||
34 | - lsb-first : Configures whether the LSB or the MSB is transmitted | ||
35 | first for the fifo data. If this property is absent, | ||
36 | the MSB is transmitted first as default, or the LSB | ||
37 | is transmitted first. | ||
38 | |||
39 | - fsl,sai-synchronous-rx: This is a boolean property. If present, indicating | ||
40 | that SAI will work in the synchronous mode (sync Tx | ||
41 | with Rx) which means both the transimitter and the | ||
42 | receiver will send and receive data by following | ||
43 | receiver's bit clocks and frame sync clocks. | ||
44 | |||
45 | - fsl,sai-asynchronous: This is a boolean property. If present, indicating | ||
46 | that SAI will work in the asynchronous mode, which | ||
47 | means both transimitter and receiver will send and | ||
48 | receive data by following their own bit clocks and | ||
49 | frame sync clocks separately. | ||
34 | 50 | ||
35 | Note: | 51 | Note: |
36 | - If both fsl,sai-asynchronous and fsl,sai-synchronous-rx are absent, the | 52 | - If both fsl,sai-asynchronous and fsl,sai-synchronous-rx are absent, the |
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt index e4acdd891e49..2f89db88fd57 100644 --- a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt +++ b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt | |||
@@ -1,33 +1,40 @@ | |||
1 | Freescale i.MX audio complex with SGTL5000 codec | 1 | Freescale i.MX audio complex with SGTL5000 codec |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "fsl,imx-audio-sgtl5000" | 4 | |
5 | - model : The user-visible name of this sound complex | 5 | - compatible : "fsl,imx-audio-sgtl5000" |
6 | - ssi-controller : The phandle of the i.MX SSI controller | 6 | |
7 | - audio-codec : The phandle of the SGTL5000 audio codec | 7 | - model : The user-visible name of this sound complex |
8 | - audio-routing : A list of the connections between audio components. | 8 | |
9 | Each entry is a pair of strings, the first being the connection's sink, | 9 | - ssi-controller : The phandle of the i.MX SSI controller |
10 | the second being the connection's source. Valid names could be power | 10 | |
11 | supplies, SGTL5000 pins, and the jacks on the board: | 11 | - audio-codec : The phandle of the SGTL5000 audio codec |
12 | 12 | ||
13 | Power supplies: | 13 | - audio-routing : A list of the connections between audio components. |
14 | * Mic Bias | 14 | Each entry is a pair of strings, the first being the |
15 | 15 | connection's sink, the second being the connection's | |
16 | SGTL5000 pins: | 16 | source. Valid names could be power supplies, SGTL5000 |
17 | * MIC_IN | 17 | pins, and the jacks on the board: |
18 | * LINE_IN | 18 | |
19 | * HP_OUT | 19 | Power supplies: |
20 | * LINE_OUT | 20 | * Mic Bias |
21 | 21 | ||
22 | Board connectors: | 22 | SGTL5000 pins: |
23 | * Mic Jack | 23 | * MIC_IN |
24 | * Line In Jack | 24 | * LINE_IN |
25 | * Headphone Jack | 25 | * HP_OUT |
26 | * Line Out Jack | 26 | * LINE_OUT |
27 | * Ext Spk | 27 | |
28 | 28 | Board connectors: | |
29 | - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) | 29 | * Mic Jack |
30 | - mux-ext-port : The external port of the i.MX audio muxer | 30 | * Line In Jack |
31 | * Headphone Jack | ||
32 | * Line Out Jack | ||
33 | * Ext Spk | ||
34 | |||
35 | - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) | ||
36 | |||
37 | - mux-ext-port : The external port of the i.MX audio muxer | ||
31 | 38 | ||
32 | Note: The AUDMUX port numbering should start at 1, which is consistent with | 39 | Note: The AUDMUX port numbering should start at 1, which is consistent with |
33 | hardware manual. | 40 | hardware manual. |
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt index 7d13479f9c3c..da84a442ccea 100644 --- a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt +++ b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt | |||
@@ -2,23 +2,25 @@ Freescale i.MX audio complex with S/PDIF transceiver | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | 4 | ||
5 | - compatible : "fsl,imx-audio-spdif" | 5 | - compatible : "fsl,imx-audio-spdif" |
6 | 6 | ||
7 | - model : The user-visible name of this sound complex | 7 | - model : The user-visible name of this sound complex |
8 | 8 | ||
9 | - spdif-controller : The phandle of the i.MX S/PDIF controller | 9 | - spdif-controller : The phandle of the i.MX S/PDIF controller |
10 | 10 | ||
11 | 11 | ||
12 | Optional properties: | 12 | Optional properties: |
13 | 13 | ||
14 | - spdif-out : This is a boolean property. If present, the transmitting | 14 | - spdif-out : This is a boolean property. If present, the |
15 | function of S/PDIF will be enabled, indicating there's a physical | 15 | transmitting function of S/PDIF will be enabled, |
16 | S/PDIF out connector/jack on the board or it's connecting to some | 16 | indicating there's a physical S/PDIF out connector |
17 | other IP block, such as an HDMI encoder/display-controller. | 17 | or jack on the board or it's connecting to some |
18 | other IP block, such as an HDMI encoder or | ||
19 | display-controller. | ||
18 | 20 | ||
19 | - spdif-in : This is a boolean property. If present, the receiving | 21 | - spdif-in : This is a boolean property. If present, the receiving |
20 | function of S/PDIF will be enabled, indicating there's a physical | 22 | function of S/PDIF will be enabled, indicating there |
21 | S/PDIF in connector/jack on the board. | 23 | is a physical S/PDIF in connector/jack on the board. |
22 | 24 | ||
23 | * Note: At least one of these two properties should be set in the DT binding. | 25 | * Note: At least one of these two properties should be set in the DT binding. |
24 | 26 | ||
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt b/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt index f49450a87890..acea71bee34f 100644 --- a/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt +++ b/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt | |||
@@ -1,25 +1,32 @@ | |||
1 | Freescale i.MX audio complex with WM8962 codec | 1 | Freescale i.MX audio complex with WM8962 codec |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "fsl,imx-audio-wm8962" | 4 | |
5 | - model : The user-visible name of this sound complex | 5 | - compatible : "fsl,imx-audio-wm8962" |
6 | - ssi-controller : The phandle of the i.MX SSI controller | 6 | |
7 | - audio-codec : The phandle of the WM8962 audio codec | 7 | - model : The user-visible name of this sound complex |
8 | - audio-routing : A list of the connections between audio components. | 8 | |
9 | Each entry is a pair of strings, the first being the connection's sink, | 9 | - ssi-controller : The phandle of the i.MX SSI controller |
10 | the second being the connection's source. Valid names could be power | 10 | |
11 | supplies, WM8962 pins, and the jacks on the board: | 11 | - audio-codec : The phandle of the WM8962 audio codec |
12 | 12 | ||
13 | Power supplies: | 13 | - audio-routing : A list of the connections between audio components. |
14 | * Mic Bias | 14 | Each entry is a pair of strings, the first being the |
15 | 15 | connection's sink, the second being the connection's | |
16 | Board connectors: | 16 | source. Valid names could be power supplies, WM8962 |
17 | * Mic Jack | 17 | pins, and the jacks on the board: |
18 | * Headphone Jack | 18 | |
19 | * Ext Spk | 19 | Power supplies: |
20 | 20 | * Mic Bias | |
21 | - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) | 21 | |
22 | - mux-ext-port : The external port of the i.MX audio muxer | 22 | Board connectors: |
23 | * Mic Jack | ||
24 | * Headphone Jack | ||
25 | * Ext Spk | ||
26 | |||
27 | - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) | ||
28 | |||
29 | - mux-ext-port : The external port of the i.MX audio muxer | ||
23 | 30 | ||
24 | Note: The AUDMUX port numbering should start at 1, which is consistent with | 31 | Note: The AUDMUX port numbering should start at 1, which is consistent with |
25 | hardware manual. | 32 | hardware manual. |
diff --git a/Documentation/devicetree/bindings/sound/imx-audmux.txt b/Documentation/devicetree/bindings/sound/imx-audmux.txt index f88a00e54c63..b30a737e209e 100644 --- a/Documentation/devicetree/bindings/sound/imx-audmux.txt +++ b/Documentation/devicetree/bindings/sound/imx-audmux.txt | |||
@@ -1,18 +1,24 @@ | |||
1 | Freescale Digital Audio Mux (AUDMUX) device | 1 | Freescale Digital Audio Mux (AUDMUX) device |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "fsl,imx21-audmux" for AUDMUX version firstly used on i.MX21, | 4 | |
5 | or "fsl,imx31-audmux" for the version firstly used on i.MX31. | 5 | - compatible : "fsl,imx21-audmux" for AUDMUX version firstly used |
6 | - reg : Should contain AUDMUX registers location and length | 6 | on i.MX21, or "fsl,imx31-audmux" for the version |
7 | firstly used on i.MX31. | ||
8 | |||
9 | - reg : Should contain AUDMUX registers location and length. | ||
7 | 10 | ||
8 | An initial configuration can be setup using child nodes. | 11 | An initial configuration can be setup using child nodes. |
9 | 12 | ||
10 | Required properties of optional child nodes: | 13 | Required properties of optional child nodes: |
11 | - fsl,audmux-port : Integer of the audmux port that is configured by this | 14 | |
12 | child node. | 15 | - fsl,audmux-port : Integer of the audmux port that is configured by this |
13 | - fsl,port-config : List of configuration options for the specific port. For | 16 | child node. |
14 | imx31-audmux and above, it is a list of tuples <ptcr pdcr>. For | 17 | |
15 | imx21-audmux it is a list of pcr values. | 18 | - fsl,port-config : List of configuration options for the specific port. |
19 | For imx31-audmux and above, it is a list of tuples | ||
20 | <ptcr pdcr>. For imx21-audmux it is a list of pcr | ||
21 | values. | ||
16 | 22 | ||
17 | Example: | 23 | Example: |
18 | 24 | ||
diff --git a/Documentation/devicetree/bindings/sound/max98090.txt b/Documentation/devicetree/bindings/sound/max98090.txt index c454e67f54bb..aa802a274520 100644 --- a/Documentation/devicetree/bindings/sound/max98090.txt +++ b/Documentation/devicetree/bindings/sound/max98090.txt | |||
@@ -16,6 +16,8 @@ Optional properties: | |||
16 | 16 | ||
17 | - clock-names: Should be "mclk" | 17 | - clock-names: Should be "mclk" |
18 | 18 | ||
19 | - maxim,dmic-freq: Frequency at which to clock DMIC | ||
20 | |||
19 | Pins on the device (for linking into audio routes): | 21 | Pins on the device (for linking into audio routes): |
20 | 22 | ||
21 | * MIC1 | 23 | * MIC1 |
diff --git a/Documentation/devicetree/bindings/sound/renesas,fsi.txt b/Documentation/devicetree/bindings/sound/renesas,fsi.txt index c5be003f413e..0d0ab51105b0 100644 --- a/Documentation/devicetree/bindings/sound/renesas,fsi.txt +++ b/Documentation/devicetree/bindings/sound/renesas,fsi.txt | |||
@@ -1,11 +1,16 @@ | |||
1 | Renesas FSI | 1 | Renesas FSI |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "renesas,sh_fsi2" or "renesas,sh_fsi" | 4 | - compatible : "renesas,fsi2-<soctype>", |
5 | "renesas,sh_fsi2" or "renesas,sh_fsi" as | ||
6 | fallback. | ||
7 | Examples with soctypes are: | ||
8 | - "renesas,fsi2-r8a7740" (R-Mobile A1) | ||
9 | - "renesas,fsi2-sh73a0" (SH-Mobile AG5) | ||
5 | - reg : Should contain the register physical address and length | 10 | - reg : Should contain the register physical address and length |
6 | - interrupts : Should contain FSI interrupt | 11 | - interrupts : Should contain FSI interrupt |
7 | 12 | ||
8 | - fsia,spdif-connection : FSI is connected by S/PDFI | 13 | - fsia,spdif-connection : FSI is connected by S/PDIF |
9 | - fsia,stream-mode-support : FSI supports 16bit stream mode. | 14 | - fsia,stream-mode-support : FSI supports 16bit stream mode. |
10 | - fsia,use-internal-clock : FSI uses internal clock when master mode. | 15 | - fsia,use-internal-clock : FSI uses internal clock when master mode. |
11 | 16 | ||
diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt index aa697abf337e..2dd690bc19cc 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt | |||
@@ -1,8 +1,12 @@ | |||
1 | Renesas R-Car sound | 1 | Renesas R-Car sound |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "renesas,rcar_sound-gen1" if generation1 | 4 | - compatible : "renesas,rcar_sound-<soctype>", fallbacks |
5 | "renesas,rcar_sound-gen1" if generation1, and | ||
5 | "renesas,rcar_sound-gen2" if generation2 | 6 | "renesas,rcar_sound-gen2" if generation2 |
7 | Examples with soctypes are: | ||
8 | - "renesas,rcar_sound-r8a7790" (R-Car H2) | ||
9 | - "renesas,rcar_sound-r8a7791" (R-Car M2-W) | ||
6 | - reg : Should contain the register physical address. | 10 | - reg : Should contain the register physical address. |
7 | required register is | 11 | required register is |
8 | SRU/ADG/SSI if generation1 | 12 | SRU/ADG/SSI if generation1 |
@@ -35,9 +39,9 @@ DAI subnode properties: | |||
35 | 39 | ||
36 | Example: | 40 | Example: |
37 | 41 | ||
38 | rcar_sound: rcar_sound@0xffd90000 { | 42 | rcar_sound: rcar_sound@ec500000 { |
39 | #sound-dai-cells = <1>; | 43 | #sound-dai-cells = <1>; |
40 | compatible = "renesas,rcar_sound-gen2"; | 44 | compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2"; |
41 | reg = <0 0xec500000 0 0x1000>, /* SCU */ | 45 | reg = <0 0xec500000 0 0x1000>, /* SCU */ |
42 | <0 0xec5a0000 0 0x100>, /* ADG */ | 46 | <0 0xec5a0000 0 0x100>, /* ADG */ |
43 | <0 0xec540000 0 0x1000>, /* SSIU */ | 47 | <0 0xec540000 0 0x1000>, /* SSIU */ |
diff --git a/Documentation/devicetree/bindings/sound/rt5631.txt b/Documentation/devicetree/bindings/sound/rt5631.txt new file mode 100644 index 000000000000..92b986ca337b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/rt5631.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | ALC5631/RT5631 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "realtek,alc5631" or "realtek,rt5631" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Pins on the device (for linking into audio routes): | ||
12 | |||
13 | * SPK_OUT_R_P | ||
14 | * SPK_OUT_R_N | ||
15 | * SPK_OUT_L_P | ||
16 | * SPK_OUT_L_N | ||
17 | * HP_OUT_L | ||
18 | * HP_OUT_R | ||
19 | * AUX_OUT2_LP | ||
20 | * AUX_OUT2_RN | ||
21 | * AUX_OUT1_LP | ||
22 | * AUX_OUT1_RN | ||
23 | * AUX_IN_L_JD | ||
24 | * AUX_IN_R_JD | ||
25 | * MONO_IN_P | ||
26 | * MONO_IN_N | ||
27 | * MIC1_P | ||
28 | * MIC1_N | ||
29 | * MIC2_P | ||
30 | * MIC2_N | ||
31 | * MONO_OUT_P | ||
32 | * MONO_OUT_N | ||
33 | * MICBIAS1 | ||
34 | * MICBIAS2 | ||
35 | |||
36 | Example: | ||
37 | |||
38 | alc5631: alc5631@1a { | ||
39 | compatible = "realtek,alc5631"; | ||
40 | reg = <0x1a>; | ||
41 | }; | ||
42 | |||
43 | or | ||
44 | |||
45 | rt5631: rt5631@1a { | ||
46 | compatible = "realtek,rt5631"; | ||
47 | reg = <0x1a>; | ||
48 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/rt5677.txt b/Documentation/devicetree/bindings/sound/rt5677.txt index 0701b834fc73..740ff771aa8b 100644 --- a/Documentation/devicetree/bindings/sound/rt5677.txt +++ b/Documentation/devicetree/bindings/sound/rt5677.txt | |||
@@ -27,6 +27,21 @@ Optional properties: | |||
27 | Boolean. Indicate MIC1/2 input and LOUT1/2/3 outputs are differential, | 27 | Boolean. Indicate MIC1/2 input and LOUT1/2/3 outputs are differential, |
28 | rather than single-ended. | 28 | rather than single-ended. |
29 | 29 | ||
30 | - realtek,gpio-config | ||
31 | Array of six 8bit elements that configures GPIO. | ||
32 | 0 - floating (reset value) | ||
33 | 1 - pull down | ||
34 | 2 - pull up | ||
35 | |||
36 | - realtek,jd1-gpio | ||
37 | Configures GPIO Mic Jack detection 1. | ||
38 | Select 0 ~ 3 as OFF, GPIO1, GPIO2 and GPIO3 respectively. | ||
39 | |||
40 | - realtek,jd2-gpio | ||
41 | - realtek,jd3-gpio | ||
42 | Configures GPIO Mic Jack detection 2 and 3. | ||
43 | Select 0 ~ 3 as OFF, GPIO4, GPIO5 and GPIO6 respectively. | ||
44 | |||
30 | Pins on the device (for linking into audio routes): | 45 | Pins on the device (for linking into audio routes): |
31 | 46 | ||
32 | * IN1P | 47 | * IN1P |
@@ -56,4 +71,6 @@ rt5677 { | |||
56 | realtek,pow-ldo2-gpio = | 71 | realtek,pow-ldo2-gpio = |
57 | <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; | 72 | <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; |
58 | realtek,in1-differential = "true"; | 73 | realtek,in1-differential = "true"; |
74 | realtek,gpio-config = /bits/ 8 <0 0 0 0 0 2>; /* pull up GPIO6 */ | ||
75 | realtek,jd2-gpio = <3>; /* Enables Jack detection for GPIO6 */ | ||
59 | }; | 76 | }; |
diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt b/Documentation/devicetree/bindings/sound/samsung-i2s.txt index 7386d444ada1..d188296bb6ec 100644 --- a/Documentation/devicetree/bindings/sound/samsung-i2s.txt +++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt | |||
@@ -6,10 +6,17 @@ Required SoC Specific Properties: | |||
6 | - samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. | 6 | - samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. |
7 | - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with | 7 | - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with |
8 | secondary fifo, s/w reset control and internal mux for root clk src. | 8 | secondary fifo, s/w reset control and internal mux for root clk src. |
9 | - samsung,exynos5420-i2s: for 8/16/24bit multichannel(7.1) I2S with | 9 | - samsung,exynos5420-i2s: for 8/16/24bit multichannel(5.1) I2S for |
10 | secondary fifo, s/w reset control, internal mux for root clk src and | 10 | playback, sterio channel capture, secondary fifo using internal |
11 | TDM support. TDM (Time division multiplexing) is to allow transfer of | 11 | or external dma, s/w reset control, internal mux for root clk src |
12 | multiple channel audio data on single data line. | 12 | and 7.1 channel TDM support for playback. TDM (Time division multiplexing) |
13 | is to allow transfer of multiple channel audio data on single data line. | ||
14 | - samsung,exynos7-i2s: with all the available features of exynos5 i2s, | ||
15 | exynos7 I2S has 7.1 channel TDM support for capture, secondary fifo | ||
16 | with only external dma and more no.of root clk sampling frequencies. | ||
17 | - samsung,exynos7-i2s1: I2S1 on previous samsung platforms supports | ||
18 | stereo channels. exynos7 i2s1 upgraded to 5.1 multichannel with | ||
19 | slightly modified bit offsets. | ||
13 | 20 | ||
14 | - reg: physical base address of the controller and length of memory mapped | 21 | - reg: physical base address of the controller and length of memory mapped |
15 | region. | 22 | region. |
diff --git a/Documentation/devicetree/bindings/sound/sgtl5000.txt b/Documentation/devicetree/bindings/sound/sgtl5000.txt index d556dcb8816b..0e5e4eb3ef1b 100644 --- a/Documentation/devicetree/bindings/sound/sgtl5000.txt +++ b/Documentation/devicetree/bindings/sound/sgtl5000.txt | |||
@@ -7,6 +7,17 @@ Required properties: | |||
7 | 7 | ||
8 | - clocks : the clock provider of SYS_MCLK | 8 | - clocks : the clock provider of SYS_MCLK |
9 | 9 | ||
10 | - micbias-resistor-k-ohms : the bias resistor to be used in kOmhs | ||
11 | The resistor can take values of 2k, 4k or 8k. | ||
12 | If set to 0 it will be off. | ||
13 | If this node is not mentioned or if the value is unknown, then | ||
14 | micbias resistor is set to 4K. | ||
15 | |||
16 | - micbias-voltage-m-volts : the bias voltage to be used in mVolts | ||
17 | The voltage can take values from 1.25V to 3V by 250mV steps | ||
18 | If this node is not mentionned or the value is unknown, then | ||
19 | the value is set to 1.25V. | ||
20 | |||
10 | - VDDA-supply : the regulator provider of VDDA | 21 | - VDDA-supply : the regulator provider of VDDA |
11 | 22 | ||
12 | - VDDIO-supply: the regulator provider of VDDIO | 23 | - VDDIO-supply: the regulator provider of VDDIO |
@@ -21,6 +32,8 @@ codec: sgtl5000@0a { | |||
21 | compatible = "fsl,sgtl5000"; | 32 | compatible = "fsl,sgtl5000"; |
22 | reg = <0x0a>; | 33 | reg = <0x0a>; |
23 | clocks = <&clks 150>; | 34 | clocks = <&clks 150>; |
35 | micbias-resistor-k-ohms = <2>; | ||
36 | micbias-voltage-m-volts = <2250>; | ||
24 | VDDA-supply = <®_3p3v>; | 37 | VDDA-supply = <®_3p3v>; |
25 | VDDIO-supply = <®_3p3v>; | 38 | VDDIO-supply = <®_3p3v>; |
26 | }; | 39 | }; |
diff --git a/Documentation/devicetree/bindings/sound/ts3a227e.txt b/Documentation/devicetree/bindings/sound/ts3a227e.txt new file mode 100644 index 000000000000..e8bf23eb1803 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/ts3a227e.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | Texas Instruments TS3A227E | ||
2 | Autonomous Audio Accessory Detection and Configuration Switch | ||
3 | |||
4 | The TS3A227E detect headsets of 3-ring and 4-ring standards and | ||
5 | switches automatically to route the microphone correctly. It also | ||
6 | handles key press detection in accordance with the Android audio | ||
7 | headset specification v1.0. | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible: Should contain "ti,ts3a227e". | ||
12 | - reg: The i2c address. Should contain <0x3b>. | ||
13 | - interrupt-parent: The parent interrupt controller | ||
14 | - interrupts: Interrupt number for /INT pin from the 227e | ||
15 | |||
16 | |||
17 | Examples: | ||
18 | |||
19 | i2c { | ||
20 | ts3a227e@3b { | ||
21 | compatible = "ti,ts3a227e"; | ||
22 | reg = <0x3b>; | ||
23 | interrupt-parent = <&gpio>; | ||
24 | interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | ||
25 | }; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8960.txt b/Documentation/devicetree/bindings/sound/wm8960.txt new file mode 100644 index 000000000000..2deb8a3da9c5 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8960.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | WM8960 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8960" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Optional properties: | ||
12 | - wlf,shared-lrclk: This is a boolean property. If present, the LRCM bit of | ||
13 | R24 (Additional control 2) gets set, indicating that ADCLRC and DACLRC pins | ||
14 | will be disabled only when ADC (Left and Right) and DAC (Left and Right) | ||
15 | are disabled. | ||
16 | When wm8960 works on synchronize mode and DACLRC pin is used to supply | ||
17 | frame clock, it will no frame clock for captrue unless enable DAC to enable | ||
18 | DACLRC pin. If shared-lrclk is present, no need to enable DAC for captrue. | ||
19 | |||
20 | - wlf,capless: This is a boolean property. If present, OUT3 pin will be | ||
21 | enabled and disabled together with HP_L and HP_R pins in response to jack | ||
22 | detect events. | ||
23 | |||
24 | Example: | ||
25 | |||
26 | codec: wm8960@1a { | ||
27 | compatible = "wlf,wm8960"; | ||
28 | reg = <0x1a>; | ||
29 | |||
30 | wlf,shared-lrclk; | ||
31 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-gpio.txt b/Documentation/devicetree/bindings/spi/spi-gpio.txt index 8a824be15754..a95603bcf6ff 100644 --- a/Documentation/devicetree/bindings/spi/spi-gpio.txt +++ b/Documentation/devicetree/bindings/spi/spi-gpio.txt | |||
@@ -8,8 +8,10 @@ Required properties: | |||
8 | - gpio-sck: GPIO spec for the SCK line to use | 8 | - gpio-sck: GPIO spec for the SCK line to use |
9 | - gpio-miso: GPIO spec for the MISO line to use | 9 | - gpio-miso: GPIO spec for the MISO line to use |
10 | - gpio-mosi: GPIO spec for the MOSI line to use | 10 | - gpio-mosi: GPIO spec for the MOSI line to use |
11 | - cs-gpios: GPIOs to use for chipselect lines | 11 | - cs-gpios: GPIOs to use for chipselect lines. |
12 | - num-chipselects: number of chipselect lines | 12 | Not needed if num-chipselects = <0>. |
13 | - num-chipselects: Number of chipselect lines. Should be <0> if a single device | ||
14 | with no chip select is connected. | ||
13 | 15 | ||
14 | Example: | 16 | Example: |
15 | 17 | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-img-spfi.txt b/Documentation/devicetree/bindings/spi/spi-img-spfi.txt new file mode 100644 index 000000000000..c7dd50fb8eb2 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-img-spfi.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | IMG Synchronous Peripheral Flash Interface (SPFI) controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be "img,spfi". | ||
5 | - reg: Must contain the base address and length of the SPFI registers. | ||
6 | - interrupts: Must contain the SPFI interrupt. | ||
7 | - clocks: Must contain an entry for each entry in clock-names. | ||
8 | See ../clock/clock-bindings.txt for details. | ||
9 | - clock-names: Must include the following entries: | ||
10 | - spfi: SPI operating clock | ||
11 | - sys: SPI system interface clock | ||
12 | - dmas: Must contain an entry for each entry in dma-names. | ||
13 | See ../dma/dma.txt for details. | ||
14 | - dma-names: Must include the following entries: | ||
15 | - rx | ||
16 | - tx | ||
17 | - #address-cells: Must be 1. | ||
18 | - #size-cells: Must be 0. | ||
19 | |||
20 | Optional properties: | ||
21 | - img,supports-quad-mode: Should be set if the interface supports quad mode | ||
22 | SPI transfers. | ||
23 | |||
24 | Example: | ||
25 | |||
26 | spi@18100f00 { | ||
27 | compatible = "img,spfi"; | ||
28 | reg = <0x18100f00 0x100>; | ||
29 | interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>; | ||
30 | clocks = <&spi_clk>, <&system_clk>; | ||
31 | clock-names = "spfi", "sys"; | ||
32 | dmas = <&mdc 9 0xffffffff 0>, <&mdc 10 0xffffffff 0>; | ||
33 | dma-names = "rx", "tx"; | ||
34 | |||
35 | #address-cells = <1>; | ||
36 | #size-cells = <0>; | ||
37 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-meson.txt b/Documentation/devicetree/bindings/spi/spi-meson.txt new file mode 100644 index 000000000000..bb52a86f3365 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-meson.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | Amlogic Meson SPI controllers | ||
2 | |||
3 | * SPIFC (SPI Flash Controller) | ||
4 | |||
5 | The Meson SPIFC is a controller optimized for communication with SPI | ||
6 | NOR memories, without DMA support and a 64-byte unified transmit / | ||
7 | receive buffer. | ||
8 | |||
9 | Required properties: | ||
10 | - compatible: should be "amlogic,meson6-spifc" | ||
11 | - reg: physical base address and length of the controller registers | ||
12 | - clocks: phandle of the input clock for the baud rate generator | ||
13 | - #address-cells: should be 1 | ||
14 | - #size-cells: should be 0 | ||
15 | |||
16 | spi@c1108c80 { | ||
17 | compatible = "amlogic,meson6-spifc"; | ||
18 | reg = <0xc1108c80 0x80>; | ||
19 | clocks = <&clk81>; | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <0>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-samsung.txt b/Documentation/devicetree/bindings/spi/spi-samsung.txt index 1e8a8578148f..6dbdeb3c361a 100644 --- a/Documentation/devicetree/bindings/spi/spi-samsung.txt +++ b/Documentation/devicetree/bindings/spi/spi-samsung.txt | |||
@@ -9,7 +9,7 @@ Required SoC Specific Properties: | |||
9 | - samsung,s3c2443-spi: for s3c2443, s3c2416 and s3c2450 platforms | 9 | - samsung,s3c2443-spi: for s3c2443, s3c2416 and s3c2450 platforms |
10 | - samsung,s3c6410-spi: for s3c6410 platforms | 10 | - samsung,s3c6410-spi: for s3c6410 platforms |
11 | - samsung,s5pv210-spi: for s5pv210 and s5pc110 platforms | 11 | - samsung,s5pv210-spi: for s5pv210 and s5pc110 platforms |
12 | - samsung,exynos4210-spi: for exynos4 and exynos5 platforms | 12 | - samsung,exynos7-spi: for exynos7 platforms |
13 | 13 | ||
14 | - reg: physical base address of the controller and length of memory mapped | 14 | - reg: physical base address of the controller and length of memory mapped |
15 | region. | 15 | region. |
diff --git a/Documentation/devicetree/bindings/thermal/armada-thermal.txt b/Documentation/devicetree/bindings/thermal/armada-thermal.txt index 4cf024929a3f..4698e0edc205 100644 --- a/Documentation/devicetree/bindings/thermal/armada-thermal.txt +++ b/Documentation/devicetree/bindings/thermal/armada-thermal.txt | |||
@@ -5,17 +5,9 @@ Required properties: | |||
5 | - compatible: Should be set to one of the following: | 5 | - compatible: Should be set to one of the following: |
6 | marvell,armada370-thermal | 6 | marvell,armada370-thermal |
7 | marvell,armada375-thermal | 7 | marvell,armada375-thermal |
8 | marvell,armada375-z1-thermal | ||
9 | marvell,armada380-thermal | 8 | marvell,armada380-thermal |
10 | marvell,armadaxp-thermal | 9 | marvell,armadaxp-thermal |
11 | 10 | ||
12 | Note: As the name suggests, "marvell,armada375-z1-thermal" | ||
13 | applies for the SoC Z1 stepping only. On such stepping | ||
14 | some quirks need to be done and the register offset differs | ||
15 | from the one in the A0 stepping. | ||
16 | The operating system may auto-detect the SoC stepping and | ||
17 | update the compatible and register offsets at runtime. | ||
18 | |||
19 | - reg: Device's register space. | 11 | - reg: Device's register space. |
20 | Two entries are expected, see the examples below. | 12 | Two entries are expected, see the examples below. |
21 | The first one is required for the sensor register; | 13 | The first one is required for the sensor register; |
diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt new file mode 100644 index 000000000000..ef802de4957a --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt | |||
@@ -0,0 +1,68 @@ | |||
1 | * Temperature Sensor ADC (TSADC) on rockchip SoCs | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "rockchip,rk3288-tsadc" | ||
5 | - reg : physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts : The interrupt number to the cpu. The interrupt specifier format | ||
8 | depends on the interrupt controller. | ||
9 | - clocks : Must contain an entry for each entry in clock-names. | ||
10 | - clock-names : Shall be "tsadc" for the converter-clock, and "apb_pclk" for | ||
11 | the peripheral clock. | ||
12 | - resets : Must contain an entry for each entry in reset-names. | ||
13 | See ../reset/reset.txt for details. | ||
14 | - reset-names : Must include the name "tsadc-apb". | ||
15 | - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description. | ||
16 | - rockchip,hw-tshut-temp : The hardware-controlled shutdown temperature value. | ||
17 | - rockchip,hw-tshut-mode : The hardware-controlled shutdown mode 0:CRU 1:GPIO. | ||
18 | - rockchip,hw-tshut-polarity : The hardware-controlled active polarity 0:LOW | ||
19 | 1:HIGH. | ||
20 | |||
21 | Exiample: | ||
22 | tsadc: tsadc@ff280000 { | ||
23 | compatible = "rockchip,rk3288-tsadc"; | ||
24 | reg = <0xff280000 0x100>; | ||
25 | interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; | ||
26 | clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; | ||
27 | clock-names = "tsadc", "apb_pclk"; | ||
28 | resets = <&cru SRST_TSADC>; | ||
29 | reset-names = "tsadc-apb"; | ||
30 | pinctrl-names = "default"; | ||
31 | pinctrl-0 = <&otp_out>; | ||
32 | #thermal-sensor-cells = <1>; | ||
33 | rockchip,hw-tshut-temp = <95000>; | ||
34 | rockchip,hw-tshut-mode = <0>; | ||
35 | rockchip,hw-tshut-polarity = <0>; | ||
36 | }; | ||
37 | |||
38 | Example: referring to thermal sensors: | ||
39 | thermal-zones { | ||
40 | cpu_thermal: cpu_thermal { | ||
41 | polling-delay-passive = <1000>; /* milliseconds */ | ||
42 | polling-delay = <5000>; /* milliseconds */ | ||
43 | |||
44 | /* sensor ID */ | ||
45 | thermal-sensors = <&tsadc 1>; | ||
46 | |||
47 | trips { | ||
48 | cpu_alert0: cpu_alert { | ||
49 | temperature = <70000>; /* millicelsius */ | ||
50 | hysteresis = <2000>; /* millicelsius */ | ||
51 | type = "passive"; | ||
52 | }; | ||
53 | cpu_crit: cpu_crit { | ||
54 | temperature = <90000>; /* millicelsius */ | ||
55 | hysteresis = <2000>; /* millicelsius */ | ||
56 | type = "critical"; | ||
57 | }; | ||
58 | }; | ||
59 | |||
60 | cooling-maps { | ||
61 | map0 { | ||
62 | trip = <&cpu_alert0>; | ||
63 | cooling-device = | ||
64 | <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; | ||
65 | }; | ||
66 | }; | ||
67 | }; | ||
68 | }; | ||
diff --git a/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt b/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt new file mode 100644 index 000000000000..ecf3ed76cd46 --- /dev/null +++ b/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | Tegra124 SOCTHERM thermal management system | ||
2 | |||
3 | The SOCTHERM IP block contains thermal sensors, support for polled | ||
4 | or interrupt-based thermal monitoring, CPU and GPU throttling based | ||
5 | on temperature trip points, and handling external overcurrent | ||
6 | notifications. It is also used to manage emergency shutdown in an | ||
7 | overheating situation. | ||
8 | |||
9 | Required properties : | ||
10 | - compatible : "nvidia,tegra124-soctherm". | ||
11 | - reg : Should contain 1 entry: | ||
12 | - SOCTHERM register set | ||
13 | - interrupts : Defines the interrupt used by SOCTHERM | ||
14 | - clocks : Must contain an entry for each entry in clock-names. | ||
15 | See ../clocks/clock-bindings.txt for details. | ||
16 | - clock-names : Must include the following entries: | ||
17 | - tsensor | ||
18 | - soctherm | ||
19 | - resets : Must contain an entry for each entry in reset-names. | ||
20 | See ../reset/reset.txt for details. | ||
21 | - reset-names : Must include the following entries: | ||
22 | - soctherm | ||
23 | - #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description | ||
24 | of this property. See <dt-bindings/thermal/tegra124-soctherm.h> for a | ||
25 | list of valid values when referring to thermal sensors. | ||
26 | |||
27 | |||
28 | Example : | ||
29 | |||
30 | soctherm@0,700e2000 { | ||
31 | compatible = "nvidia,tegra124-soctherm"; | ||
32 | reg = <0x0 0x700e2000 0x0 0x1000>; | ||
33 | interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>; | ||
34 | clocks = <&tegra_car TEGRA124_CLK_TSENSOR>, | ||
35 | <&tegra_car TEGRA124_CLK_SOC_THERM>; | ||
36 | clock-names = "tsensor", "soctherm"; | ||
37 | resets = <&tegra_car 78>; | ||
38 | reset-names = "soctherm"; | ||
39 | |||
40 | #thermal-sensor-cells = <1>; | ||
41 | }; | ||
42 | |||
43 | Example: referring to thermal sensors : | ||
44 | |||
45 | thermal-zones { | ||
46 | cpu { | ||
47 | polling-delay-passive = <1000>; | ||
48 | polling-delay = <1000>; | ||
49 | |||
50 | thermal-sensors = | ||
51 | <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>; | ||
52 | }; | ||
53 | }; | ||
diff --git a/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt b/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt index f455182b1086..e9c78ce880e6 100644 --- a/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt +++ b/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt | |||
@@ -2,8 +2,10 @@ Marvell Armada 370 and Armada XP Timers | |||
2 | --------------------------------------- | 2 | --------------------------------------- |
3 | 3 | ||
4 | Required properties: | 4 | Required properties: |
5 | - compatible: Should be either "marvell,armada-370-timer" or | 5 | - compatible: Should be one of the following |
6 | "marvell,armada-xp-timer" as appropriate. | 6 | "marvell,armada-370-timer", |
7 | "marvell,armada-375-timer", | ||
8 | "marvell,armada-xp-timer". | ||
7 | - interrupts: Should contain the list of Global Timer interrupts and | 9 | - interrupts: Should contain the list of Global Timer interrupts and |
8 | then local timer interrupts | 10 | then local timer interrupts |
9 | - reg: Should contain location and length for timers register. First | 11 | - reg: Should contain location and length for timers register. First |
@@ -13,7 +15,8 @@ Required properties: | |||
13 | Clocks required for compatible = "marvell,armada-370-timer": | 15 | Clocks required for compatible = "marvell,armada-370-timer": |
14 | - clocks : Must contain a single entry describing the clock input | 16 | - clocks : Must contain a single entry describing the clock input |
15 | 17 | ||
16 | Clocks required for compatible = "marvell,armada-xp-timer": | 18 | Clocks required for compatibles = "marvell,armada-xp-timer", |
19 | "marvell,armada-375-timer": | ||
17 | - clocks : Must contain an entry for each entry in clock-names. | 20 | - clocks : Must contain an entry for each entry in clock-names. |
18 | - clock-names : Must include the following entries: | 21 | - clock-names : Must include the following entries: |
19 | "nbclk" (L2/coherency fabric clock), | 22 | "nbclk" (L2/coherency fabric clock), |
diff --git a/Documentation/devicetree/bindings/timer/renesas,mtu2.txt b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt index d9a8d5af1a21..ba0a34d97eb8 100644 --- a/Documentation/devicetree/bindings/timer/renesas,mtu2.txt +++ b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | * Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) | 1 | * Renesas Multi-Function Timer Pulse Unit 2 (MTU2) |
2 | 2 | ||
3 | The MTU2 is a multi-purpose, multi-channel timer/counter with configurable | 3 | The MTU2 is a multi-purpose, multi-channel timer/counter with configurable |
4 | clock inputs and programmable compare match. | 4 | clock inputs and programmable compare match. |
diff --git a/Documentation/devicetree/bindings/timer/renesas,tmu.txt b/Documentation/devicetree/bindings/timer/renesas,tmu.txt index 7db89fb25444..cd5f20bf2582 100644 --- a/Documentation/devicetree/bindings/timer/renesas,tmu.txt +++ b/Documentation/devicetree/bindings/timer/renesas,tmu.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | * Renesas R-Car Timer Unit (TMU) | 1 | * Renesas R-Mobile/R-Car Timer Unit (TMU) |
2 | 2 | ||
3 | The TMU is a 32-bit timer/counter with configurable clock inputs and | 3 | The TMU is a 32-bit timer/counter with configurable clock inputs and |
4 | programmable compare match. | 4 | programmable compare match. |
@@ -9,6 +9,8 @@ are independent. The TMU hardware supports up to three channels. | |||
9 | Required Properties: | 9 | Required Properties: |
10 | 10 | ||
11 | - compatible: must contain one or more of the following: | 11 | - compatible: must contain one or more of the following: |
12 | - "renesas,tmu-r8a7740" for the r8a7740 TMU | ||
13 | - "renesas,tmu-r8a7778" for the r8a7778 TMU | ||
12 | - "renesas,tmu-r8a7779" for the r8a7779 TMU | 14 | - "renesas,tmu-r8a7779" for the r8a7779 TMU |
13 | - "renesas,tmu" for any TMU. | 15 | - "renesas,tmu" for any TMU. |
14 | This is a fallback for the above renesas,tmu-* entries | 16 | This is a fallback for the above renesas,tmu-* entries |
diff --git a/Documentation/devicetree/bindings/unittest.txt b/Documentation/devicetree/bindings/unittest.txt new file mode 100644 index 000000000000..0f92a22fddfa --- /dev/null +++ b/Documentation/devicetree/bindings/unittest.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * OF selftest platform device | ||
2 | |||
3 | ** selftest | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: must be "selftest" | ||
7 | |||
8 | All other properties are optional. | ||
9 | |||
10 | Example: | ||
11 | selftest { | ||
12 | compatible = "selftest"; | ||
13 | status = "okay"; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt new file mode 100644 index 000000000000..27f8b1e5ee46 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | * USB2 ChipIdea USB controller for ci13xxx | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "chipidea,usb2" | ||
5 | - reg: base address and length of the registers | ||
6 | - interrupts: interrupt for the USB controller | ||
7 | |||
8 | Optional properties: | ||
9 | - clocks: reference to the USB clock | ||
10 | - phys: reference to the USB PHY | ||
11 | - phy-names: should be "usb-phy" | ||
12 | - vbus-supply: reference to the VBUS regulator | ||
13 | |||
14 | Example: | ||
15 | |||
16 | usb@f7ed0000 { | ||
17 | compatible = "chipidea,usb2"; | ||
18 | reg = <0xf7ed0000 0x10000>; | ||
19 | interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | ||
20 | clocks = <&chip CLKID_USB0>; | ||
21 | phys = <&usb_phy0>; | ||
22 | phy-names = "usb-phy"; | ||
23 | vbus-supply = <®_usb0_vbus>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt index 471366d6a129..cd7f0454e13a 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt | |||
@@ -14,6 +14,29 @@ Optional properties: | |||
14 | - phys: from the *Generic PHY* bindings | 14 | - phys: from the *Generic PHY* bindings |
15 | - phy-names: from the *Generic PHY* bindings | 15 | - phy-names: from the *Generic PHY* bindings |
16 | - tx-fifo-resize: determines if the FIFO *has* to be reallocated. | 16 | - tx-fifo-resize: determines if the FIFO *has* to be reallocated. |
17 | - snps,disable_scramble_quirk: true when SW should disable data scrambling. | ||
18 | Only really useful for FPGA builds. | ||
19 | - snps,has-lpm-erratum: true when DWC3 was configured with LPM Erratum enabled | ||
20 | - snps,lpm-nyet-threshold: LPM NYET threshold | ||
21 | - snps,u2exit_lfps_quirk: set if we want to enable u2exit lfps quirk | ||
22 | - snps,u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk | ||
23 | - snps,req_p1p2p3_quirk: when set, the core will always request for | ||
24 | P1/P2/P3 transition sequence. | ||
25 | - snps,del_p1p2p3_quirk: when set core will delay P1/P2/P3 until a certain | ||
26 | amount of 8B10B errors occur. | ||
27 | - snps,del_phy_power_chg_quirk: when set core will delay PHY power change | ||
28 | from P0 to P1/P2/P3. | ||
29 | - snps,lfps_filter_quirk: when set core will filter LFPS reception. | ||
30 | - snps,rx_detect_poll_quirk: when set core will disable a 400us delay to start | ||
31 | Polling LFPS after RX.Detect. | ||
32 | - snps,tx_de_emphasis_quirk: when set core will set Tx de-emphasis value. | ||
33 | - snps,tx_de_emphasis: the value driven to the PHY is controlled by the | ||
34 | LTSSM during USB3 Compliance mode. | ||
35 | - snps,dis_u3_susphy_quirk: when set core will disable USB3 suspend phy. | ||
36 | - snps,dis_u2_susphy_quirk: when set core will disable USB2 suspend phy. | ||
37 | - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal | ||
38 | utmi_l1_suspend_n, false when asserts utmi_sleep_n | ||
39 | - snps,hird-threshold: HIRD threshold | ||
17 | 40 | ||
18 | This is usually a subnode to DWC3 glue to which it is connected. | 41 | This is usually a subnode to DWC3 glue to which it is connected. |
19 | 42 | ||
diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt index a3b5990d0f2c..9b4dbe3b2acc 100644 --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt | |||
@@ -82,8 +82,10 @@ Example: | |||
82 | 82 | ||
83 | DWC3 | 83 | DWC3 |
84 | Required properties: | 84 | Required properties: |
85 | - compatible: should be "samsung,exynos5250-dwusb3" for USB 3.0 DWC3 | 85 | - compatible: should be one of the following - |
86 | controller. | 86 | "samsung,exynos5250-dwusb3": for USB 3.0 DWC3 controller on |
87 | Exynos5250/5420. | ||
88 | "samsung,exynos7-dwusb3": for USB 3.0 DWC3 controller on Exynos7. | ||
87 | - #address-cells, #size-cells : should be '1' if the device has sub-nodes | 89 | - #address-cells, #size-cells : should be '1' if the device has sub-nodes |
88 | with 'reg' property. | 90 | with 'reg' property. |
89 | - ranges: allows valid 1:1 translation between child's address space and | 91 | - ranges: allows valid 1:1 translation between child's address space and |
diff --git a/Documentation/devicetree/bindings/usb/pxa-usb.txt b/Documentation/devicetree/bindings/usb/pxa-usb.txt index 79729a948d5a..9c331799b87c 100644 --- a/Documentation/devicetree/bindings/usb/pxa-usb.txt +++ b/Documentation/devicetree/bindings/usb/pxa-usb.txt | |||
@@ -29,3 +29,25 @@ Example: | |||
29 | marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */ | 29 | marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */ |
30 | }; | 30 | }; |
31 | 31 | ||
32 | UDC | ||
33 | |||
34 | Required properties: | ||
35 | - compatible: Should be "marvell,pxa270-udc" for USB controllers | ||
36 | used in device mode. | ||
37 | - reg: usb device MMIO address space | ||
38 | - interrupts: single interrupt generated by the UDC IP | ||
39 | - clocks: input clock of the UDC IP (see clock-bindings.txt) | ||
40 | |||
41 | Optional properties: | ||
42 | - gpios: | ||
43 | - gpio activated to control the USB D+ pullup (see gpio.txt) | ||
44 | |||
45 | Example: | ||
46 | |||
47 | pxa27x_udc: udc@40600000 { | ||
48 | compatible = "marvell,pxa270-udc"; | ||
49 | reg = <0x40600000 0x10000>; | ||
50 | interrupts = <11>; | ||
51 | clocks = <&pxa2xx_clks 11>; | ||
52 | gpios = <&gpio 22 GPIO_ACTIVE_LOW>; | ||
53 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt index b968a1aea995..19233b7365e1 100644 --- a/Documentation/devicetree/bindings/usb/usb-ohci.txt +++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt | |||
@@ -9,6 +9,8 @@ Optional properties: | |||
9 | - big-endian-regs : boolean, set this for hcds with big-endian registers | 9 | - big-endian-regs : boolean, set this for hcds with big-endian registers |
10 | - big-endian-desc : boolean, set this for hcds with big-endian descriptors | 10 | - big-endian-desc : boolean, set this for hcds with big-endian descriptors |
11 | - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc | 11 | - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc |
12 | - no-big-frame-no : boolean, set if frame_no lives in bits [15:0] of HCCA | ||
13 | - num-ports : u32, to override the detected port count | ||
12 | - clocks : a list of phandle + clock specifier pairs | 14 | - clocks : a list of phandle + clock specifier pairs |
13 | - phys : phandle + phy specifier pair | 15 | - phys : phandle + phy specifier pair |
14 | - phy-names : "usb" | 16 | - phy-names : "usb" |
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 723999d73744..b1df0ad1306c 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -34,17 +34,20 @@ chipidea Chipidea, Inc | |||
34 | chrp Common Hardware Reference Platform | 34 | chrp Common Hardware Reference Platform |
35 | chunghwa Chunghwa Picture Tubes Ltd. | 35 | chunghwa Chunghwa Picture Tubes Ltd. |
36 | cirrus Cirrus Logic, Inc. | 36 | cirrus Cirrus Logic, Inc. |
37 | cnm Chips&Media, Inc. | ||
37 | cortina Cortina Systems, Inc. | 38 | cortina Cortina Systems, Inc. |
38 | crystalfontz Crystalfontz America, Inc. | 39 | crystalfontz Crystalfontz America, Inc. |
39 | dallas Maxim Integrated Products (formerly Dallas Semiconductor) | 40 | dallas Maxim Integrated Products (formerly Dallas Semiconductor) |
40 | davicom DAVICOM Semiconductor, Inc. | 41 | davicom DAVICOM Semiconductor, Inc. |
41 | denx Denx Software Engineering | 42 | denx Denx Software Engineering |
42 | digi Digi International Inc. | 43 | digi Digi International Inc. |
44 | digilent Diglent, Inc. | ||
43 | dlg Dialog Semiconductor | 45 | dlg Dialog Semiconductor |
44 | dlink D-Link Corporation | 46 | dlink D-Link Corporation |
45 | dmo Data Modul AG | 47 | dmo Data Modul AG |
46 | ebv EBV Elektronik | 48 | ebv EBV Elektronik |
47 | edt Emerging Display Technologies | 49 | edt Emerging Display Technologies |
50 | elan Elan Microelectronic Corp. | ||
48 | emmicro EM Microelectronic | 51 | emmicro EM Microelectronic |
49 | energymicro Silicon Laboratories (formerly Energy Micro AS) | 52 | energymicro Silicon Laboratories (formerly Energy Micro AS) |
50 | epcos EPCOS AG | 53 | epcos EPCOS AG |
@@ -64,8 +67,10 @@ gmt Global Mixed-mode Technology, Inc. | |||
64 | google Google, Inc. | 67 | google Google, Inc. |
65 | gumstix Gumstix, Inc. | 68 | gumstix Gumstix, Inc. |
66 | gw Gateworks Corporation | 69 | gw Gateworks Corporation |
70 | hannstar HannStar Display Corporation | ||
67 | haoyu Haoyu Microelectronic Co. Ltd. | 71 | haoyu Haoyu Microelectronic Co. Ltd. |
68 | hisilicon Hisilicon Limited. | 72 | hisilicon Hisilicon Limited. |
73 | hit Hitachi Ltd. | ||
69 | honeywell Honeywell | 74 | honeywell Honeywell |
70 | hp Hewlett Packard | 75 | hp Hewlett Packard |
71 | i2se I2SE GmbH | 76 | i2se I2SE GmbH |
@@ -77,6 +82,7 @@ innolux Innolux Corporation | |||
77 | intel Intel Corporation | 82 | intel Intel Corporation |
78 | intercontrol Inter Control Group | 83 | intercontrol Inter Control Group |
79 | isee ISEE 2007 S.L. | 84 | isee ISEE 2007 S.L. |
85 | isil Intersil (deprecated, use isl) | ||
80 | isl Intersil | 86 | isl Intersil |
81 | karo Ka-Ro electronics GmbH | 87 | karo Ka-Ro electronics GmbH |
82 | keymile Keymile GmbH | 88 | keymile Keymile GmbH |
@@ -90,12 +96,15 @@ lltc Linear Technology Corporation | |||
90 | marvell Marvell Technology Group Ltd. | 96 | marvell Marvell Technology Group Ltd. |
91 | maxim Maxim Integrated Products | 97 | maxim Maxim Integrated Products |
92 | mediatek MediaTek Inc. | 98 | mediatek MediaTek Inc. |
99 | merrii Merrii Technology Co., Ltd. | ||
93 | micrel Micrel Inc. | 100 | micrel Micrel Inc. |
94 | microchip Microchip Technology Inc. | 101 | microchip Microchip Technology Inc. |
102 | micron Micron Technology Inc. | ||
95 | mitsubishi Mitsubishi Electric Corporation | 103 | mitsubishi Mitsubishi Electric Corporation |
96 | mosaixtech Mosaix Technologies, Inc. | 104 | mosaixtech Mosaix Technologies, Inc. |
97 | moxa Moxa | 105 | moxa Moxa |
98 | mpl MPL AG | 106 | mpl MPL AG |
107 | mti Imagination Technologies Ltd. (formerly MIPS Technologies Inc.) | ||
99 | mundoreader Mundo Reader S.L. | 108 | mundoreader Mundo Reader S.L. |
100 | murata Murata Manufacturing Co., Ltd. | 109 | murata Murata Manufacturing Co., Ltd. |
101 | mxicy Macronix International Co., Ltd. | 110 | mxicy Macronix International Co., Ltd. |
@@ -110,6 +119,7 @@ nxp NXP Semiconductors | |||
110 | onnn ON Semiconductor Corp. | 119 | onnn ON Semiconductor Corp. |
111 | opencores OpenCores.org | 120 | opencores OpenCores.org |
112 | panasonic Panasonic Corporation | 121 | panasonic Panasonic Corporation |
122 | pericom Pericom Technology Inc. | ||
113 | phytec PHYTEC Messtechnik GmbH | 123 | phytec PHYTEC Messtechnik GmbH |
114 | picochip Picochip Ltd | 124 | picochip Picochip Ltd |
115 | plathome Plat'Home Co., Ltd. | 125 | plathome Plat'Home Co., Ltd. |
@@ -127,6 +137,7 @@ renesas Renesas Electronics Corporation | |||
127 | ricoh Ricoh Co. Ltd. | 137 | ricoh Ricoh Co. Ltd. |
128 | rockchip Fuzhou Rockchip Electronics Co., Ltd | 138 | rockchip Fuzhou Rockchip Electronics Co., Ltd |
129 | samsung Samsung Semiconductor | 139 | samsung Samsung Semiconductor |
140 | sandisk Sandisk Corporation | ||
130 | sbs Smart Battery System | 141 | sbs Smart Battery System |
131 | schindler Schindler | 142 | schindler Schindler |
132 | seagate Seagate Technology PLC | 143 | seagate Seagate Technology PLC |
@@ -138,7 +149,7 @@ silergy Silergy Corp. | |||
138 | sirf SiRF Technology, Inc. | 149 | sirf SiRF Technology, Inc. |
139 | sitronix Sitronix Technology Corporation | 150 | sitronix Sitronix Technology Corporation |
140 | smsc Standard Microsystems Corporation | 151 | smsc Standard Microsystems Corporation |
141 | snps Synopsys, Inc. | 152 | snps Synopsys, Inc. |
142 | solidrun SolidRun | 153 | solidrun SolidRun |
143 | sony Sony Corporation | 154 | sony Sony Corporation |
144 | spansion Spansion Inc. | 155 | spansion Spansion Inc. |
@@ -146,6 +157,7 @@ st STMicroelectronics | |||
146 | ste ST-Ericsson | 157 | ste ST-Ericsson |
147 | stericsson ST-Ericsson | 158 | stericsson ST-Ericsson |
148 | synology Synology, Inc. | 159 | synology Synology, Inc. |
160 | tbs TBS Technologies | ||
149 | thine THine Electronics, Inc. | 161 | thine THine Electronics, Inc. |
150 | ti Texas Instruments | 162 | ti Texas Instruments |
151 | tlm Trusted Logic Mobility | 163 | tlm Trusted Logic Mobility |
diff --git a/Documentation/devicetree/bindings/video/adi,adv7511.txt b/Documentation/devicetree/bindings/video/adi,adv7511.txt new file mode 100644 index 000000000000..96c25ee01501 --- /dev/null +++ b/Documentation/devicetree/bindings/video/adi,adv7511.txt | |||
@@ -0,0 +1,88 @@ | |||
1 | Analog Device ADV7511(W)/13 HDMI Encoders | ||
2 | ----------------------------------------- | ||
3 | |||
4 | The ADV7511, ADV7511W and ADV7513 are HDMI audio and video transmitters | ||
5 | compatible with HDMI 1.4 and DVI 1.0. They support color space conversion, | ||
6 | S/PDIF, CEC and HDCP. | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | - compatible: Should be one of "adi,adv7511", "adi,adv7511w" or "adi,adv7513" | ||
11 | - reg: I2C slave address | ||
12 | |||
13 | The ADV7511 supports a large number of input data formats that differ by their | ||
14 | color depth, color format, clock mode, bit justification and random | ||
15 | arrangement of components on the data bus. The combination of the following | ||
16 | properties describe the input and map directly to the video input tables of the | ||
17 | ADV7511 datasheet that document all the supported combinations. | ||
18 | |||
19 | - adi,input-depth: Number of bits per color component at the input (8, 10 or | ||
20 | 12). | ||
21 | - adi,input-colorspace: The input color space, one of "rgb", "yuv422" or | ||
22 | "yuv444". | ||
23 | - adi,input-clock: The input clock type, one of "1x" (one clock cycle per | ||
24 | pixel), "2x" (two clock cycles per pixel), "ddr" (one clock cycle per pixel, | ||
25 | data driven on both edges). | ||
26 | |||
27 | The following input format properties are required except in "rgb 1x" and | ||
28 | "yuv444 1x" modes, in which case they must not be specified. | ||
29 | |||
30 | - adi,input-style: The input components arrangement variant (1, 2 or 3), as | ||
31 | listed in the input format tables in the datasheet. | ||
32 | - adi,input-justification: The input bit justification ("left", "evenly", | ||
33 | "right"). | ||
34 | |||
35 | Optional properties: | ||
36 | |||
37 | - interrupts: Specifier for the ADV7511 interrupt | ||
38 | - pd-gpios: Specifier for the GPIO connected to the power down signal | ||
39 | |||
40 | - adi,clock-delay: Video data clock delay relative to the pixel clock, in ps | ||
41 | (-1200 ps .. 1600 ps). Defaults to no delay. | ||
42 | - adi,embedded-sync: The input uses synchronization signals embedded in the | ||
43 | data stream (similar to BT.656). Defaults to separate H/V synchronization | ||
44 | signals. | ||
45 | |||
46 | Required nodes: | ||
47 | |||
48 | The ADV7511 has two video ports. Their connections are modelled using the OF | ||
49 | graph bindings specified in Documentation/devicetree/bindings/graph.txt. | ||
50 | |||
51 | - Video port 0 for the RGB or YUV input | ||
52 | - Video port 1 for the HDMI output | ||
53 | |||
54 | |||
55 | Example | ||
56 | ------- | ||
57 | |||
58 | adv7511w: hdmi@39 { | ||
59 | compatible = "adi,adv7511w"; | ||
60 | reg = <39>; | ||
61 | interrupt-parent = <&gpio3>; | ||
62 | interrupts = <29 IRQ_TYPE_EDGE_FALLING>; | ||
63 | |||
64 | adi,input-depth = <8>; | ||
65 | adi,input-colorspace = "rgb"; | ||
66 | adi,input-clock = "1x"; | ||
67 | adi,input-style = <1>; | ||
68 | adi,input-justification = "evenly"; | ||
69 | |||
70 | ports { | ||
71 | #address-cells = <1>; | ||
72 | #size-cells = <0>; | ||
73 | |||
74 | port@0 { | ||
75 | reg = <0>; | ||
76 | adv7511w_in: endpoint { | ||
77 | remote-endpoint = <&dpi_out>; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | port@1 { | ||
82 | reg = <1>; | ||
83 | adv7511_out: endpoint { | ||
84 | remote-endpoint = <&hdmi_connector_in>; | ||
85 | }; | ||
86 | }; | ||
87 | }; | ||
88 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/backlight/lp855x.txt b/Documentation/devicetree/bindings/video/backlight/lp855x.txt index 96e83a56048e..0a3ecbc3a1b9 100644 --- a/Documentation/devicetree/bindings/video/backlight/lp855x.txt +++ b/Documentation/devicetree/bindings/video/backlight/lp855x.txt | |||
@@ -12,6 +12,7 @@ Optional properties: | |||
12 | - pwm-period: PWM period value. Set only PWM input mode used (u32) | 12 | - pwm-period: PWM period value. Set only PWM input mode used (u32) |
13 | - rom-addr: Register address of ROM area to be updated (u8) | 13 | - rom-addr: Register address of ROM area to be updated (u8) |
14 | - rom-val: Register value to be updated (u8) | 14 | - rom-val: Register value to be updated (u8) |
15 | - power-supply: Regulator which controls the 3V rail | ||
15 | 16 | ||
16 | Example: | 17 | Example: |
17 | 18 | ||
@@ -56,6 +57,7 @@ Example: | |||
56 | backlight@2c { | 57 | backlight@2c { |
57 | compatible = "ti,lp8557"; | 58 | compatible = "ti,lp8557"; |
58 | reg = <0x2c>; | 59 | reg = <0x2c>; |
60 | power-supply = <&backlight_vdd>; | ||
59 | 61 | ||
60 | dev-ctrl = /bits/ 8 <0x41>; | 62 | dev-ctrl = /bits/ 8 <0x41>; |
61 | init-brt = /bits/ 8 <0x0a>; | 63 | init-brt = /bits/ 8 <0x0a>; |
diff --git a/Documentation/devicetree/bindings/video/exynos_dsim.txt b/Documentation/devicetree/bindings/video/exynos_dsim.txt index e74243b4b317..ca2b4aacd9af 100644 --- a/Documentation/devicetree/bindings/video/exynos_dsim.txt +++ b/Documentation/devicetree/bindings/video/exynos_dsim.txt | |||
@@ -4,6 +4,7 @@ Required properties: | |||
4 | - compatible: value should be one of the following | 4 | - compatible: value should be one of the following |
5 | "samsung,exynos3250-mipi-dsi" /* for Exynos3250/3472 SoCs */ | 5 | "samsung,exynos3250-mipi-dsi" /* for Exynos3250/3472 SoCs */ |
6 | "samsung,exynos4210-mipi-dsi" /* for Exynos4 SoCs */ | 6 | "samsung,exynos4210-mipi-dsi" /* for Exynos4 SoCs */ |
7 | "samsung,exynos4415-mipi-dsi" /* for Exynos4415 SoC */ | ||
7 | "samsung,exynos5410-mipi-dsi" /* for Exynos5410/5420/5440 SoCs */ | 8 | "samsung,exynos5410-mipi-dsi" /* for Exynos5410/5420/5440 SoCs */ |
8 | - reg: physical base address and length of the registers set for the device | 9 | - reg: physical base address and length of the registers set for the device |
9 | - interrupts: should contain DSI interrupt | 10 | - interrupts: should contain DSI interrupt |
diff --git a/Documentation/devicetree/bindings/video/rockchip-drm.txt b/Documentation/devicetree/bindings/video/rockchip-drm.txt new file mode 100644 index 000000000000..7fff582495a2 --- /dev/null +++ b/Documentation/devicetree/bindings/video/rockchip-drm.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | Rockchip DRM master device | ||
2 | ================================ | ||
3 | |||
4 | The Rockchip DRM master device is a virtual device needed to list all | ||
5 | vop devices or other display interface nodes that comprise the | ||
6 | graphics subsystem. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible: Should be "rockchip,display-subsystem" | ||
10 | - ports: Should contain a list of phandles pointing to display interface port | ||
11 | of vop devices. vop definitions as defined in | ||
12 | Documentation/devicetree/bindings/video/rockchip-vop.txt | ||
13 | |||
14 | example: | ||
15 | |||
16 | display-subsystem { | ||
17 | compatible = "rockchip,display-subsystem"; | ||
18 | ports = <&vopl_out>, <&vopb_out>; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/rockchip-vop.txt b/Documentation/devicetree/bindings/video/rockchip-vop.txt new file mode 100644 index 000000000000..d15351f2313d --- /dev/null +++ b/Documentation/devicetree/bindings/video/rockchip-vop.txt | |||
@@ -0,0 +1,58 @@ | |||
1 | device-tree bindings for rockchip soc display controller (vop) | ||
2 | |||
3 | VOP (Visual Output Processor) is the Display Controller for the Rockchip | ||
4 | series of SoCs which transfers the image data from a video memory | ||
5 | buffer to an external LCD interface. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: value should be one of the following | ||
9 | "rockchip,rk3288-vop"; | ||
10 | |||
11 | - interrupts: should contain a list of all VOP IP block interrupts in the | ||
12 | order: VSYNC, LCD_SYSTEM. The interrupt specifier | ||
13 | format depends on the interrupt controller used. | ||
14 | |||
15 | - clocks: must include clock specifiers corresponding to entries in the | ||
16 | clock-names property. | ||
17 | |||
18 | - clock-names: Must contain | ||
19 | aclk_vop: for ddr buffer transfer. | ||
20 | hclk_vop: for ahb bus to R/W the phy regs. | ||
21 | dclk_vop: pixel clock. | ||
22 | |||
23 | - resets: Must contain an entry for each entry in reset-names. | ||
24 | See ../reset/reset.txt for details. | ||
25 | - reset-names: Must include the following entries: | ||
26 | - axi | ||
27 | - ahb | ||
28 | - dclk | ||
29 | |||
30 | - iommus: required a iommu node | ||
31 | |||
32 | - port: A port node with endpoint definitions as defined in | ||
33 | Documentation/devicetree/bindings/media/video-interfaces.txt. | ||
34 | |||
35 | Example: | ||
36 | SoC specific DT entry: | ||
37 | vopb: vopb@ff930000 { | ||
38 | compatible = "rockchip,rk3288-vop"; | ||
39 | reg = <0xff930000 0x19c>; | ||
40 | interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; | ||
41 | clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>; | ||
42 | clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; | ||
43 | resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>; | ||
44 | reset-names = "axi", "ahb", "dclk"; | ||
45 | iommus = <&vopb_mmu>; | ||
46 | vopb_out: port { | ||
47 | #address-cells = <1>; | ||
48 | #size-cells = <0>; | ||
49 | vopb_out_edp: endpoint@0 { | ||
50 | reg = <0>; | ||
51 | remote-endpoint=<&edp_in_vopb>; | ||
52 | }; | ||
53 | vopb_out_hdmi: endpoint@1 { | ||
54 | reg = <1>; | ||
55 | remote-endpoint=<&hdmi_in_vopb>; | ||
56 | }; | ||
57 | }; | ||
58 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/samsung-fimd.txt b/Documentation/devicetree/bindings/video/samsung-fimd.txt index 4e6c77c85546..cf1af6371021 100644 --- a/Documentation/devicetree/bindings/video/samsung-fimd.txt +++ b/Documentation/devicetree/bindings/video/samsung-fimd.txt | |||
@@ -11,6 +11,7 @@ Required properties: | |||
11 | "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ | 11 | "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ |
12 | "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ | 12 | "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ |
13 | "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ | 13 | "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ |
14 | "samsung,exynos4415-fimd"; /* for Exynos4415 SoC */ | ||
14 | "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */ | 15 | "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */ |
15 | 16 | ||
16 | - reg: physical base address and length of the FIMD registers set. | 17 | - reg: physical base address and length of the FIMD registers set. |
diff --git a/Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt b/Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt new file mode 100644 index 000000000000..c46ba641a1df --- /dev/null +++ b/Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | Sunxi specific Simple Framebuffer bindings | ||
2 | |||
3 | This binding documents sunxi specific extensions to the simple-framebuffer | ||
4 | bindings. The sunxi simplefb u-boot code relies on the devicetree containing | ||
5 | pre-populated simplefb nodes. | ||
6 | |||
7 | These extensions are intended so that u-boot can select the right node based | ||
8 | on which pipeline is being used. As such they are solely intended for | ||
9 | firmware / bootloader use, and the OS should ignore them. | ||
10 | |||
11 | Required properties: | ||
12 | - compatible: "allwinner,simple-framebuffer" | ||
13 | - allwinner,pipeline, one of: | ||
14 | "de_be0-lcd0" | ||
15 | "de_be1-lcd1" | ||
16 | "de_be0-lcd0-hdmi" | ||
17 | "de_be1-lcd1-hdmi" | ||
18 | |||
19 | Example: | ||
20 | |||
21 | chosen { | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <1>; | ||
24 | ranges; | ||
25 | |||
26 | framebuffer@0 { | ||
27 | compatible = "allwinner,simple-framebuffer", "simple-framebuffer"; | ||
28 | allwinner,pipeline = "de_be0-lcd0-hdmi"; | ||
29 | clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>, | ||
30 | <&ahb_gates 44>; | ||
31 | status = "disabled"; | ||
32 | }; | ||
33 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/simple-framebuffer.txt b/Documentation/devicetree/bindings/video/simple-framebuffer.txt index 70c26f3a5b9a..4474ef6e0b95 100644 --- a/Documentation/devicetree/bindings/video/simple-framebuffer.txt +++ b/Documentation/devicetree/bindings/video/simple-framebuffer.txt | |||
@@ -1,8 +1,40 @@ | |||
1 | Simple Framebuffer | 1 | Simple Framebuffer |
2 | 2 | ||
3 | A simple frame-buffer describes a raw memory region that may be rendered to, | 3 | A simple frame-buffer describes a frame-buffer setup by firmware or |
4 | with the assumption that the display hardware has already been set up to scan | 4 | the bootloader, with the assumption that the display hardware has already |
5 | out from that buffer. | 5 | been set up to scan out from the memory pointed to by the reg property. |
6 | |||
7 | Since simplefb nodes represent runtime information they must be sub-nodes of | ||
8 | the chosen node (*). Simplefb nodes must be named "framebuffer@<address>". | ||
9 | |||
10 | If the devicetree contains nodes for the display hardware used by a simplefb, | ||
11 | then the simplefb node must contain a property called "display", which | ||
12 | contains a phandle pointing to the primary display hw node, so that the OS | ||
13 | knows which simplefb to disable when handing over control to a driver for the | ||
14 | real hardware. The bindings for the hw nodes must specify which node is | ||
15 | considered the primary node. | ||
16 | |||
17 | It is advised to add display# aliases to help the OS determine how to number | ||
18 | things. If display# aliases are used, then if the simplefb node contains a | ||
19 | "display" property then the /aliases/display# path must point to the display | ||
20 | hw node the "display" property points to, otherwise it must point directly | ||
21 | to the simplefb node. | ||
22 | |||
23 | If a simplefb node represents the preferred console for user interaction, | ||
24 | then the chosen node's stdout-path property should point to it, or to the | ||
25 | primary display hw node, as with display# aliases. If display aliases are | ||
26 | used then it should be set to the alias instead. | ||
27 | |||
28 | It is advised that devicetree files contain pre-filled, disabled framebuffer | ||
29 | nodes, so that the firmware only needs to update the mode information and | ||
30 | enable them. This way if e.g. later on support for more display clocks get | ||
31 | added, the simplefb nodes will already contain this info and the firmware | ||
32 | does not need to be updated. | ||
33 | |||
34 | If pre-filled framebuffer nodes are used, the firmware may need extra | ||
35 | information to find the right node. In that case an extra platform specific | ||
36 | compatible and platform specific properties should be used and documented, | ||
37 | see e.g. simple-framebuffer-sunxi.txt . | ||
6 | 38 | ||
7 | Required properties: | 39 | Required properties: |
8 | - compatible: "simple-framebuffer" | 40 | - compatible: "simple-framebuffer" |
@@ -14,13 +46,41 @@ Required properties: | |||
14 | - r5g6b5 (16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b). | 46 | - r5g6b5 (16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b). |
15 | - a8b8g8r8 (32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r). | 47 | - a8b8g8r8 (32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r). |
16 | 48 | ||
49 | Optional properties: | ||
50 | - clocks : List of clocks used by the framebuffer. Clocks listed here | ||
51 | are expected to already be configured correctly. The OS must | ||
52 | ensure these clocks are not modified or disabled while the | ||
53 | simple framebuffer remains active. | ||
54 | - display : phandle pointing to the primary display hardware node | ||
55 | |||
17 | Example: | 56 | Example: |
18 | 57 | ||
19 | framebuffer { | 58 | aliases { |
59 | display0 = &lcdc0; | ||
60 | } | ||
61 | |||
62 | chosen { | ||
63 | framebuffer0: framebuffer@1d385000 { | ||
20 | compatible = "simple-framebuffer"; | 64 | compatible = "simple-framebuffer"; |
21 | reg = <0x1d385000 (1600 * 1200 * 2)>; | 65 | reg = <0x1d385000 (1600 * 1200 * 2)>; |
22 | width = <1600>; | 66 | width = <1600>; |
23 | height = <1200>; | 67 | height = <1200>; |
24 | stride = <(1600 * 2)>; | 68 | stride = <(1600 * 2)>; |
25 | format = "r5g6b5"; | 69 | format = "r5g6b5"; |
70 | clocks = <&ahb_gates 36>, <&ahb_gates 43>, <&ahb_gates 44>; | ||
71 | display = <&lcdc0>; | ||
72 | }; | ||
73 | stdout-path = "display0"; | ||
74 | }; | ||
75 | |||
76 | soc@01c00000 { | ||
77 | lcdc0: lcdc@1c0c000 { | ||
78 | compatible = "allwinner,sun4i-a10-lcdc"; | ||
79 | ... | ||
26 | }; | 80 | }; |
81 | }; | ||
82 | |||
83 | |||
84 | *) Older devicetree files may have a compatible = "simple-framebuffer" node | ||
85 | in a different place, operating systems must first enumerate any compatible | ||
86 | nodes found under chosen and then check for other compatible nodes. | ||
diff --git a/Documentation/devicetree/bindings/w1/omap-hdq.txt b/Documentation/devicetree/bindings/w1/omap-hdq.txt new file mode 100644 index 000000000000..fef794741bd1 --- /dev/null +++ b/Documentation/devicetree/bindings/w1/omap-hdq.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * OMAP HDQ One wire bus master controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be "ti,omap3-1w" | ||
5 | - reg : Address and length of the register set for the device | ||
6 | - interrupts : interrupt line. | ||
7 | - ti,hwmods : "hdq1w" | ||
8 | |||
9 | Example: | ||
10 | |||
11 | - From omap3.dtsi | ||
12 | hdqw1w: 1w@480b2000 { | ||
13 | compatible = "ti,omap3-1w"; | ||
14 | reg = <0x480b2000 0x1000>; | ||
15 | interrupts = <58>; | ||
16 | ti,hwmods = "hdq1w"; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/watchdog/marvel.txt b/Documentation/devicetree/bindings/watchdog/marvel.txt index 97223fddb7bd..858ed9221ac4 100644 --- a/Documentation/devicetree/bindings/watchdog/marvel.txt +++ b/Documentation/devicetree/bindings/watchdog/marvel.txt | |||
@@ -17,6 +17,18 @@ For "marvell,armada-375-wdt" and "marvell,armada-380-wdt": | |||
17 | - reg : A third entry is mandatory and should contain the | 17 | - reg : A third entry is mandatory and should contain the |
18 | shared mask/unmask RSTOUT address. | 18 | shared mask/unmask RSTOUT address. |
19 | 19 | ||
20 | Clocks required for compatibles = "marvell,orion-wdt", | ||
21 | "marvell,armada-370-wdt": | ||
22 | - clocks : Must contain a single entry describing the clock input | ||
23 | |||
24 | Clocks required for compatibles = "marvell,armada-xp-wdt" | ||
25 | "marvell,armada-375-wdt" | ||
26 | "marvell,armada-380-wdt": | ||
27 | - clocks : Must contain an entry for each entry in clock-names. | ||
28 | - clock-names : Must include the following entries: | ||
29 | "nbclk" (L2/coherency fabric clock), | ||
30 | "fixed" (Reference 25 MHz fixed-clock). | ||
31 | |||
20 | Optional properties: | 32 | Optional properties: |
21 | 33 | ||
22 | - interrupts : Contains the IRQ for watchdog expiration | 34 | - interrupts : Contains the IRQ for watchdog expiration |
@@ -30,4 +42,5 @@ Example: | |||
30 | interrupts = <3>; | 42 | interrupts = <3>; |
31 | timeout-sec = <10>; | 43 | timeout-sec = <10>; |
32 | status = "okay"; | 44 | status = "okay"; |
45 | clocks = <&gate_clk 7>; | ||
33 | }; | 46 | }; |
diff --git a/Documentation/devicetree/of_selftest.txt b/Documentation/devicetree/of_selftest.txt index 1e3d5c92b5e3..57a808b588bf 100644 --- a/Documentation/devicetree/of_selftest.txt +++ b/Documentation/devicetree/of_selftest.txt | |||
@@ -63,7 +63,6 @@ struct device_node { | |||
63 | struct device_node *parent; | 63 | struct device_node *parent; |
64 | struct device_node *child; | 64 | struct device_node *child; |
65 | struct device_node *sibling; | 65 | struct device_node *sibling; |
66 | struct device_node *allnext; /* next in list of all nodes */ | ||
67 | ... | 66 | ... |
68 | }; | 67 | }; |
69 | 68 | ||
@@ -99,12 +98,6 @@ child11 -> sibling12 -> sibling13 -> sibling14 -> null | |||
99 | Figure 1: Generic structure of un-flattened device tree | 98 | Figure 1: Generic structure of un-flattened device tree |
100 | 99 | ||
101 | 100 | ||
102 | *allnext: it is used to link all the nodes of DT into a list. So, for the | ||
103 | above tree the list would be as follows: | ||
104 | |||
105 | root->child1->child11->sibling12->sibling13->child131->sibling14->sibling2-> | ||
106 | child21->sibling22->sibling23->sibling3->child31->sibling32->sibling4->null | ||
107 | |||
108 | Before executing OF selftest, it is required to attach the test data to | 101 | Before executing OF selftest, it is required to attach the test data to |
109 | machine's device tree (if present). So, when selftest_data_add() is called, | 102 | machine's device tree (if present). So, when selftest_data_add() is called, |
110 | at first it reads the flattened device tree data linked into the kernel image | 103 | at first it reads the flattened device tree data linked into the kernel image |
@@ -131,11 +124,6 @@ root ('/') | |||
131 | test-child01 null null null | 124 | test-child01 null null null |
132 | 125 | ||
133 | 126 | ||
134 | allnext list: | ||
135 | |||
136 | root->testcase-data->test-child0->test-child01->test-sibling1->test-sibling2 | ||
137 | ->test-sibling3->null | ||
138 | |||
139 | Figure 2: Example test data tree to be attached to live tree. | 127 | Figure 2: Example test data tree to be attached to live tree. |
140 | 128 | ||
141 | According to the scenario above, the live tree is already present so it isn't | 129 | According to the scenario above, the live tree is already present so it isn't |
@@ -204,8 +192,6 @@ detached and then moving up the parent nodes are removed, and eventually the | |||
204 | whole tree). selftest_data_remove() calls detach_node_and_children() that uses | 192 | whole tree). selftest_data_remove() calls detach_node_and_children() that uses |
205 | of_detach_node() to detach the nodes from the live device tree. | 193 | of_detach_node() to detach the nodes from the live device tree. |
206 | 194 | ||
207 | To detach a node, of_detach_node() first updates all_next linked list, by | 195 | To detach a node, of_detach_node() either updates the child pointer of given |
208 | attaching the previous node's allnext to current node's allnext pointer. And | 196 | node's parent to its sibling or attaches the previous sibling to the given |
209 | then, it either updates the child pointer of given node's parent to its | 197 | node's sibling, as appropriate. That is it :) |
210 | sibling or attaches the previous sibling to the given node's sibling, as | ||
211 | appropriate. That is it :) | ||
diff --git a/Documentation/devicetree/overlay-notes.txt b/Documentation/devicetree/overlay-notes.txt new file mode 100644 index 000000000000..30ae758e3eef --- /dev/null +++ b/Documentation/devicetree/overlay-notes.txt | |||
@@ -0,0 +1,133 @@ | |||
1 | Device Tree Overlay Notes | ||
2 | ------------------------- | ||
3 | |||
4 | This document describes the implementation of the in-kernel | ||
5 | device tree overlay functionality residing in drivers/of/overlay.c and is a | ||
6 | companion document to Documentation/devicetree/dt-object-internal.txt[1] & | ||
7 | Documentation/devicetree/dynamic-resolution-notes.txt[2] | ||
8 | |||
9 | How overlays work | ||
10 | ----------------- | ||
11 | |||
12 | A Device Tree's overlay purpose is to modify the kernel's live tree, and | ||
13 | have the modification affecting the state of the the kernel in a way that | ||
14 | is reflecting the changes. | ||
15 | Since the kernel mainly deals with devices, any new device node that result | ||
16 | in an active device should have it created while if the device node is either | ||
17 | disabled or removed all together, the affected device should be deregistered. | ||
18 | |||
19 | Lets take an example where we have a foo board with the following base tree | ||
20 | which is taken from [1]. | ||
21 | |||
22 | ---- foo.dts ----------------------------------------------------------------- | ||
23 | /* FOO platform */ | ||
24 | / { | ||
25 | compatible = "corp,foo"; | ||
26 | |||
27 | /* shared resources */ | ||
28 | res: res { | ||
29 | }; | ||
30 | |||
31 | /* On chip peripherals */ | ||
32 | ocp: ocp { | ||
33 | /* peripherals that are always instantiated */ | ||
34 | peripheral1 { ... }; | ||
35 | } | ||
36 | }; | ||
37 | ---- foo.dts ----------------------------------------------------------------- | ||
38 | |||
39 | The overlay bar.dts, when loaded (and resolved as described in [2]) should | ||
40 | |||
41 | ---- bar.dts ----------------------------------------------------------------- | ||
42 | /plugin/; /* allow undefined label references and record them */ | ||
43 | / { | ||
44 | .... /* various properties for loader use; i.e. part id etc. */ | ||
45 | fragment@0 { | ||
46 | target = <&ocp>; | ||
47 | __overlay__ { | ||
48 | /* bar peripheral */ | ||
49 | bar { | ||
50 | compatible = "corp,bar"; | ||
51 | ... /* various properties and child nodes */ | ||
52 | } | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | ---- bar.dts ----------------------------------------------------------------- | ||
57 | |||
58 | result in foo+bar.dts | ||
59 | |||
60 | ---- foo+bar.dts ------------------------------------------------------------- | ||
61 | /* FOO platform + bar peripheral */ | ||
62 | / { | ||
63 | compatible = "corp,foo"; | ||
64 | |||
65 | /* shared resources */ | ||
66 | res: res { | ||
67 | }; | ||
68 | |||
69 | /* On chip peripherals */ | ||
70 | ocp: ocp { | ||
71 | /* peripherals that are always instantiated */ | ||
72 | peripheral1 { ... }; | ||
73 | |||
74 | /* bar peripheral */ | ||
75 | bar { | ||
76 | compatible = "corp,bar"; | ||
77 | ... /* various properties and child nodes */ | ||
78 | } | ||
79 | } | ||
80 | }; | ||
81 | ---- foo+bar.dts ------------------------------------------------------------- | ||
82 | |||
83 | As a result of the the overlay, a new device node (bar) has been created | ||
84 | so a bar platform device will be registered and if a matching device driver | ||
85 | is loaded the device will be created as expected. | ||
86 | |||
87 | Overlay in-kernel API | ||
88 | -------------------------------- | ||
89 | |||
90 | The API is quite easy to use. | ||
91 | |||
92 | 1. Call of_overlay_create() to create and apply an overlay. The return value | ||
93 | is a cookie identifying this overlay. | ||
94 | |||
95 | 2. Call of_overlay_destroy() to remove and cleanup the overlay previously | ||
96 | created via the call to of_overlay_create(). Removal of an overlay that | ||
97 | is stacked by another will not be permitted. | ||
98 | |||
99 | Finally, if you need to remove all overlays in one-go, just call | ||
100 | of_overlay_destroy_all() which will remove every single one in the correct | ||
101 | order. | ||
102 | |||
103 | Overlay DTS Format | ||
104 | ------------------ | ||
105 | |||
106 | The DTS of an overlay should have the following format: | ||
107 | |||
108 | { | ||
109 | /* ignored properties by the overlay */ | ||
110 | |||
111 | fragment@0 { /* first child node */ | ||
112 | |||
113 | target=<phandle>; /* phandle target of the overlay */ | ||
114 | or | ||
115 | target-path="/path"; /* target path of the overlay */ | ||
116 | |||
117 | __overlay__ { | ||
118 | property-a; /* add property-a to the target */ | ||
119 | node-a { /* add to an existing, or create a node-a */ | ||
120 | ... | ||
121 | }; | ||
122 | }; | ||
123 | } | ||
124 | fragment@1 { /* second child node */ | ||
125 | ... | ||
126 | }; | ||
127 | /* more fragments follow */ | ||
128 | } | ||
129 | |||
130 | Using the non-phandle based target method allows one to use a base DT which does | ||
131 | not contain a __symbols__ node, i.e. it was not compiled with the -@ option. | ||
132 | The __symbols__ node is only required for the target=<phandle> method, since it | ||
133 | contains the information required to map from a phandle to a tree location. | ||
diff --git a/Documentation/devicetree/todo.txt b/Documentation/devicetree/todo.txt index c3cf0659bd19..b5139d1de811 100644 --- a/Documentation/devicetree/todo.txt +++ b/Documentation/devicetree/todo.txt | |||
@@ -2,7 +2,6 @@ Todo list for devicetree: | |||
2 | 2 | ||
3 | === General structure === | 3 | === General structure === |
4 | - Switch from custom lists to (h)list_head for nodes and properties structure | 4 | - Switch from custom lists to (h)list_head for nodes and properties structure |
5 | - Remove of_allnodes list and iterate using list of child nodes alone | ||
6 | 5 | ||
7 | === CONFIG_OF_DYNAMIC === | 6 | === CONFIG_OF_DYNAMIC === |
8 | - Switch to RCU for tree updates and get rid of global spinlock | 7 | - Switch to RCU for tree updates and get rid of global spinlock |