diff options
Diffstat (limited to 'Documentation/devicetree/bindings')
246 files changed, 6917 insertions, 1038 deletions
diff --git a/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt b/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt index d74091a8a3bf..5fc03134a999 100644 --- a/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt +++ b/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | Marvell Armada 370 and Armada XP Interrupt Controller | 1 | Marvell Armada 370, 375, 38x, XP Interrupt Controller |
2 | ----------------------------------------------------- | 2 | ----------------------------------------------------- |
3 | 3 | ||
4 | Required properties: | 4 | Required properties: |
@@ -16,7 +16,13 @@ Required properties: | |||
16 | automatically map to the interrupt controller registers of the | 16 | automatically map to the interrupt controller registers of the |
17 | current CPU) | 17 | current CPU) |
18 | 18 | ||
19 | Optional properties: | ||
19 | 20 | ||
21 | - interrupts: If defined, then it indicates that this MPIC is | ||
22 | connected as a slave to another interrupt controller. This is | ||
23 | typically the case on Armada 375 and Armada 38x, where the MPIC is | ||
24 | connected as a slave to the Cortex-A9 GIC. The provided interrupt | ||
25 | indicate to which GIC interrupt the MPIC output is connected. | ||
20 | 26 | ||
21 | Example: | 27 | Example: |
22 | 28 | ||
diff --git a/Documentation/devicetree/bindings/arm/armada-375.txt b/Documentation/devicetree/bindings/arm/armada-375.txt new file mode 100644 index 000000000000..867d0b80cb8f --- /dev/null +++ b/Documentation/devicetree/bindings/arm/armada-375.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | Marvell Armada 375 Platforms Device Tree Bindings | ||
2 | ------------------------------------------------- | ||
3 | |||
4 | Boards with a SoC of the Marvell Armada 375 family shall have the | ||
5 | following property: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | compatible: must contain "marvell,armada375" | ||
diff --git a/Documentation/devicetree/bindings/arm/armada-38x.txt b/Documentation/devicetree/bindings/arm/armada-38x.txt new file mode 100644 index 000000000000..11f2330a6554 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/armada-38x.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | Marvell Armada 38x Platforms Device Tree Bindings | ||
2 | ------------------------------------------------- | ||
3 | |||
4 | Boards with a SoC of the Marvell Armada 38x family shall have the | ||
5 | following property: | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | - compatible: must contain either "marvell,armada380" or | ||
10 | "marvell,armada385" depending on the variant of the SoC being used. | ||
diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm21664.txt b/Documentation/devicetree/bindings/arm/bcm/bcm21664.txt new file mode 100644 index 000000000000..e0774255e1a6 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm/bcm21664.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | Broadcom BCM21664 device tree bindings | ||
2 | -------------------------------------- | ||
3 | |||
4 | This document describes the device tree bindings for boards with the BCM21664 | ||
5 | SoC. | ||
6 | |||
7 | Required root node property: | ||
8 | - compatible: brcm,bcm21664 | ||
9 | |||
10 | Example: | ||
11 | / { | ||
12 | model = "BCM21664 SoC"; | ||
13 | compatible = "brcm,bcm21664"; | ||
14 | [...] | ||
15 | } | ||
diff --git a/Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt b/Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt new file mode 100644 index 000000000000..93f31ca1ef4b --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | Broadcom Kona Family Reset Manager | ||
2 | ---------------------------------- | ||
3 | |||
4 | The reset manager is used on the Broadcom BCM21664 SoC. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: brcm,bcm21664-resetmgr | ||
8 | - reg: memory address & range | ||
9 | |||
10 | Example: | ||
11 | brcm,resetmgr@35001f00 { | ||
12 | compatible = "brcm,bcm21664-resetmgr"; | ||
13 | reg = <0x35001f00 0x24>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/bcm4708.txt b/Documentation/devicetree/bindings/arm/bcm4708.txt new file mode 100644 index 000000000000..6b0f49f6f499 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/bcm4708.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | Broadcom BCM4708 device tree bindings | ||
2 | ------------------------------------------- | ||
3 | |||
4 | Boards with the BCM4708 SoC shall have the following properties: | ||
5 | |||
6 | Required root node property: | ||
7 | |||
8 | compatible = "brcm,bcm4708"; | ||
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt index 91304353eea4..333f4aea3029 100644 --- a/Documentation/devicetree/bindings/arm/cpus.txt +++ b/Documentation/devicetree/bindings/arm/cpus.txt | |||
@@ -180,7 +180,11 @@ nodes to be present and contain the properties described below. | |||
180 | be one of: | 180 | be one of: |
181 | "spin-table" | 181 | "spin-table" |
182 | "psci" | 182 | "psci" |
183 | # On ARM 32-bit systems this property is optional. | 183 | # On ARM 32-bit systems this property is optional and |
184 | can be one of: | ||
185 | "qcom,gcc-msm8660" | ||
186 | "qcom,kpss-acc-v1" | ||
187 | "qcom,kpss-acc-v2" | ||
184 | 188 | ||
185 | - cpu-release-addr | 189 | - cpu-release-addr |
186 | Usage: required for systems that have an "enable-method" | 190 | Usage: required for systems that have an "enable-method" |
@@ -191,6 +195,21 @@ nodes to be present and contain the properties described below. | |||
191 | property identifying a 64-bit zero-initialised | 195 | property identifying a 64-bit zero-initialised |
192 | memory location. | 196 | memory location. |
193 | 197 | ||
198 | - qcom,saw | ||
199 | Usage: required for systems that have an "enable-method" | ||
200 | property value of "qcom,kpss-acc-v1" or | ||
201 | "qcom,kpss-acc-v2" | ||
202 | Value type: <phandle> | ||
203 | Definition: Specifies the SAW[1] node associated with this CPU. | ||
204 | |||
205 | - qcom,acc | ||
206 | Usage: required for systems that have an "enable-method" | ||
207 | property value of "qcom,kpss-acc-v1" or | ||
208 | "qcom,kpss-acc-v2" | ||
209 | Value type: <phandle> | ||
210 | Definition: Specifies the ACC[2] node associated with this CPU. | ||
211 | |||
212 | |||
194 | Example 1 (dual-cluster big.LITTLE system 32-bit): | 213 | Example 1 (dual-cluster big.LITTLE system 32-bit): |
195 | 214 | ||
196 | cpus { | 215 | cpus { |
@@ -382,3 +401,7 @@ cpus { | |||
382 | cpu-release-addr = <0 0x20000000>; | 401 | cpu-release-addr = <0 0x20000000>; |
383 | }; | 402 | }; |
384 | }; | 403 | }; |
404 | |||
405 | -- | ||
406 | [1] arm/msm/qcom,saw2.txt | ||
407 | [2] arm/msm/qcom,kpss-acc.txt | ||
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt index bae0d87a38b2..5573c08d3180 100644 --- a/Documentation/devicetree/bindings/arm/gic.txt +++ b/Documentation/devicetree/bindings/arm/gic.txt | |||
@@ -50,6 +50,11 @@ Optional | |||
50 | regions, used when the GIC doesn't have banked registers. The offset is | 50 | regions, used when the GIC doesn't have banked registers. The offset is |
51 | cpu-offset * cpu-nr. | 51 | cpu-offset * cpu-nr. |
52 | 52 | ||
53 | - arm,routable-irqs : Total number of gic irq inputs which are not directly | ||
54 | connected from the peripherals, but are routed dynamically | ||
55 | by a crossbar/multiplexer preceding the GIC. The GIC irq | ||
56 | input line is assigned dynamically when the corresponding | ||
57 | peripheral's crossbar line is mapped. | ||
53 | Example: | 58 | Example: |
54 | 59 | ||
55 | intc: interrupt-controller@fff11000 { | 60 | intc: interrupt-controller@fff11000 { |
@@ -57,6 +62,7 @@ Example: | |||
57 | #interrupt-cells = <3>; | 62 | #interrupt-cells = <3>; |
58 | #address-cells = <1>; | 63 | #address-cells = <1>; |
59 | interrupt-controller; | 64 | interrupt-controller; |
65 | arm,routable-irqs = <160>; | ||
60 | reg = <0xfff11000 0x1000>, | 66 | reg = <0xfff11000 0x1000>, |
61 | <0xfff10100 0x100>; | 67 | <0xfff10100 0x100>; |
62 | }; | 68 | }; |
diff --git a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt index 8c7a4653508d..df0a452b8526 100644 --- a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt +++ b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt | |||
@@ -30,3 +30,17 @@ Example: | |||
30 | resume-offset = <0x308>; | 30 | resume-offset = <0x308>; |
31 | reboot-offset = <0x4>; | 31 | reboot-offset = <0x4>; |
32 | }; | 32 | }; |
33 | |||
34 | PCTRL: Peripheral misc control register | ||
35 | |||
36 | Required Properties: | ||
37 | - compatible: "hisilicon,pctrl" | ||
38 | - reg: Address and size of pctrl. | ||
39 | |||
40 | Example: | ||
41 | |||
42 | /* for Hi3620 */ | ||
43 | pctrl: pctrl@fca09000 { | ||
44 | compatible = "hisilicon,pctrl"; | ||
45 | reg = <0xfca09000 0x1000>; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/keystone/keystone.txt b/Documentation/devicetree/bindings/arm/keystone/keystone.txt index 63c0e6ae5cf7..59d7a46f85eb 100644 --- a/Documentation/devicetree/bindings/arm/keystone/keystone.txt +++ b/Documentation/devicetree/bindings/arm/keystone/keystone.txt | |||
@@ -8,3 +8,13 @@ Required properties: | |||
8 | - compatible: All TI specific devices present in Keystone SOC should be in | 8 | - compatible: All TI specific devices present in Keystone SOC should be in |
9 | the form "ti,keystone-*". Generic devices like gic, arch_timers, ns16550 | 9 | the form "ti,keystone-*". Generic devices like gic, arch_timers, ns16550 |
10 | type UART should use the specified compatible for those devices. | 10 | type UART should use the specified compatible for those devices. |
11 | |||
12 | Boards: | ||
13 | - Keystone 2 Hawking/Kepler EVM | ||
14 | compatible = "ti,k2hk-evm","ti,keystone" | ||
15 | |||
16 | - Keystone 2 Lamarr EVM | ||
17 | compatible = "ti,k2l-evm","ti,keystone" | ||
18 | |||
19 | - Keystone 2 Edison EVM | ||
20 | compatible = "ti,k2e-evm","ti,keystone" | ||
diff --git a/Documentation/devicetree/bindings/arm/marvell,dove.txt b/Documentation/devicetree/bindings/arm/marvell,dove.txt new file mode 100644 index 000000000000..aaaf64c56e44 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/marvell,dove.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | Marvell Dove Platforms Device Tree Bindings | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | Boards with a Marvell Dove SoC shall have the following properties: | ||
5 | |||
6 | Required root node property: | ||
7 | - compatible: must contain "marvell,dove"; | ||
8 | |||
9 | * Global Configuration registers | ||
10 | |||
11 | Global Configuration registers of Dove SoC are shared by a syscon node. | ||
12 | |||
13 | Required properties: | ||
14 | - compatible: must contain "marvell,dove-global-config" and "syscon". | ||
15 | - reg: base address and size of the Global Configuration registers. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | gconf: global-config@e802c { | ||
20 | compatible = "marvell,dove-global-config", "syscon"; | ||
21 | reg = <0xe802c 0x14>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/mrvl/feroceon.txt b/Documentation/devicetree/bindings/arm/mrvl/feroceon.txt new file mode 100644 index 000000000000..0d244b999d10 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mrvl/feroceon.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | * Marvell Feroceon Cache | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be either "marvell,feroceon-cache" or | ||
5 | "marvell,kirkwood-cache". | ||
6 | |||
7 | Optional properties: | ||
8 | - reg : Address of the L2 cache control register. Mandatory for | ||
9 | "marvell,kirkwood-cache", not used by "marvell,feroceon-cache" | ||
10 | |||
11 | |||
12 | Example: | ||
13 | l2: l2-cache@20128 { | ||
14 | compatible = "marvell,kirkwood-cache"; | ||
15 | reg = <0x20128 0x4>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt new file mode 100644 index 000000000000..1333db9acfee --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) | ||
2 | |||
3 | The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. | ||
4 | There is one ACC register region per CPU within the KPSS remapped region as | ||
5 | well as an alias register region that remaps accesses to the ACC associated | ||
6 | with the CPU accessing the region. | ||
7 | |||
8 | PROPERTIES | ||
9 | |||
10 | - compatible: | ||
11 | Usage: required | ||
12 | Value type: <string> | ||
13 | Definition: should be one of: | ||
14 | "qcom,kpss-acc-v1" | ||
15 | "qcom,kpss-acc-v2" | ||
16 | |||
17 | - reg: | ||
18 | Usage: required | ||
19 | Value type: <prop-encoded-array> | ||
20 | Definition: the first element specifies the base address and size of | ||
21 | the register region. An optional second element specifies | ||
22 | the base address and size of the alias register region. | ||
23 | |||
24 | Example: | ||
25 | |||
26 | clock-controller@2088000 { | ||
27 | compatible = "qcom,kpss-acc-v2"; | ||
28 | reg = <0x02088000 0x1000>, | ||
29 | <0x02008000 0x1000>; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt new file mode 100644 index 000000000000..1505fb8e131a --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | SPM AVS Wrapper 2 (SAW2) | ||
2 | |||
3 | The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the | ||
4 | Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable | ||
5 | micro-controller that transitions a piece of hardware (like a processor or | ||
6 | subsystem) into and out of low power modes via a direct connection to | ||
7 | the PMIC. It can also be wired up to interact with other processors in the | ||
8 | system, notifying them when a low power state is entered or exited. | ||
9 | |||
10 | PROPERTIES | ||
11 | |||
12 | - compatible: | ||
13 | Usage: required | ||
14 | Value type: <string> | ||
15 | Definition: shall contain "qcom,saw2". A more specific value should be | ||
16 | one of: | ||
17 | "qcom,saw2-v1" | ||
18 | "qcom,saw2-v1.1" | ||
19 | "qcom,saw2-v2" | ||
20 | "qcom,saw2-v2.1" | ||
21 | |||
22 | - reg: | ||
23 | Usage: required | ||
24 | Value type: <prop-encoded-array> | ||
25 | Definition: the first element specifies the base address and size of | ||
26 | the register region. An optional second element specifies | ||
27 | the base address and size of the alias register region. | ||
28 | |||
29 | |||
30 | Example: | ||
31 | |||
32 | regulator@2099000 { | ||
33 | compatible = "qcom,saw2"; | ||
34 | reg = <0x02099000 0x1000>, <0x02009000 0x1000>; | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt b/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt index 081c6a786c8a..d24ab2ebf8a7 100644 --- a/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt +++ b/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt | |||
@@ -1,12 +1,13 @@ | |||
1 | MVEBU System Controller | 1 | MVEBU System Controller |
2 | ----------------------- | 2 | ----------------------- |
3 | MVEBU (Marvell SOCs: Armada 370/XP, Dove, mv78xx0, Kirkwood, Orion5x) | 3 | MVEBU (Marvell SOCs: Armada 370/375/XP, Dove, mv78xx0, Kirkwood, Orion5x) |
4 | 4 | ||
5 | Required properties: | 5 | Required properties: |
6 | 6 | ||
7 | - compatible: one of: | 7 | - compatible: one of: |
8 | - "marvell,orion-system-controller" | 8 | - "marvell,orion-system-controller" |
9 | - "marvell,armada-370-xp-system-controller" | 9 | - "marvell,armada-370-xp-system-controller" |
10 | - "marvell,armada-375-system-controller" | ||
10 | - reg: Should contain system controller registers location and length. | 11 | - reg: Should contain system controller registers location and length. |
11 | 12 | ||
12 | Example: | 13 | Example: |
diff --git a/Documentation/devicetree/bindings/arm/omap/crossbar.txt b/Documentation/devicetree/bindings/arm/omap/crossbar.txt new file mode 100644 index 000000000000..fb88585cfb93 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/crossbar.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Some socs have a large number of interrupts requests to service | ||
2 | the needs of its many peripherals and subsystems. All of the | ||
3 | interrupt lines from the subsystems are not needed at the same | ||
4 | time, so they have to be muxed to the irq-controller appropriately. | ||
5 | In such places a interrupt controllers are preceded by an CROSSBAR | ||
6 | that provides flexibility in muxing the device requests to the controller | ||
7 | inputs. | ||
8 | |||
9 | Required properties: | ||
10 | - compatible : Should be "ti,irq-crossbar" | ||
11 | - reg: Base address and the size of the crossbar registers. | ||
12 | - ti,max-irqs: Total number of irqs available at the interrupt controller. | ||
13 | - ti,reg-size: Size of a individual register in bytes. Every individual | ||
14 | register is assumed to be of same size. Valid sizes are 1, 2, 4. | ||
15 | - ti,irqs-reserved: List of the reserved irq lines that are not muxed using | ||
16 | crossbar. These interrupt lines are reserved in the soc, | ||
17 | so crossbar bar driver should not consider them as free | ||
18 | lines. | ||
19 | |||
20 | Examples: | ||
21 | crossbar_mpu: @4a020000 { | ||
22 | compatible = "ti,irq-crossbar"; | ||
23 | reg = <0x4a002a48 0x130>; | ||
24 | ti,max-irqs = <160>; | ||
25 | ti,reg-size = <2>; | ||
26 | ti,irqs-reserved = <0 1 2 3 5 6 131 132 139 140>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt new file mode 100644 index 000000000000..8bd6d0a238a8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | OMAP Dynamic Memory Manager (DMM) bindings | ||
2 | |||
3 | The dynamic memory manager (DMM) is a module located immediately in front of the | ||
4 | SDRAM controllers (called EMIFs on OMAP). DMM manages various aspects of memory | ||
5 | accesses such as priority generation amongst initiators, configuration of SDRAM | ||
6 | interleaving, optimizing transfer of 2D block objects, and provide MMU-like page | ||
7 | translation for initiators which need contiguous dma bus addresses. | ||
8 | |||
9 | Required properties: | ||
10 | - compatible: Should contain "ti,omap4-dmm" for OMAP4 family | ||
11 | Should contain "ti,omap5-dmm" for OMAP5 and DRA7x family | ||
12 | - reg: Contains DMM register address range (base address and length) | ||
13 | - interrupts: Should contain an interrupt-specifier for DMM_IRQ. | ||
14 | - ti,hwmods: Name of the hwmod associated to DMM, which is typically "dmm" | ||
15 | |||
16 | Example: | ||
17 | |||
18 | dmm@4e000000 { | ||
19 | compatible = "ti,omap4-dmm"; | ||
20 | reg = <0x4e000000 0x800>; | ||
21 | ti,hwmods = "dmm"; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index 34dc40cffdfd..36ede19a1630 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -91,7 +91,7 @@ Boards: | |||
91 | compatible = "ti,omap3-beagle", "ti,omap3" | 91 | compatible = "ti,omap3-beagle", "ti,omap3" |
92 | 92 | ||
93 | - OMAP3 Tobi with Overo : Commercial expansion board with daughter board | 93 | - OMAP3 Tobi with Overo : Commercial expansion board with daughter board |
94 | compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" | 94 | compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3" |
95 | 95 | ||
96 | - OMAP4 SDP : Software Development Board | 96 | - OMAP4 SDP : Software Development Board |
97 | compatible = "ti,omap4-sdp", "ti,omap4430" | 97 | compatible = "ti,omap4-sdp", "ti,omap4430" |
@@ -99,6 +99,9 @@ Boards: | |||
99 | - OMAP4 PandaBoard : Low cost community board | 99 | - OMAP4 PandaBoard : Low cost community board |
100 | compatible = "ti,omap4-panda", "ti,omap4430" | 100 | compatible = "ti,omap4-panda", "ti,omap4430" |
101 | 101 | ||
102 | - OMAP4 DuoVero with Parlor : Commercial expansion board with daughter board | ||
103 | compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4"; | ||
104 | |||
102 | - OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x | 105 | - OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x |
103 | compatible = "ti,omap3-evm", "ti,omap3" | 106 | compatible = "ti,omap3-evm", "ti,omap3" |
104 | 107 | ||
@@ -114,5 +117,8 @@ Boards: | |||
114 | - AM43x EPOS EVM | 117 | - AM43x EPOS EVM |
115 | compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43" | 118 | compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43" |
116 | 119 | ||
120 | - AM437x GP EVM | ||
121 | compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43" | ||
122 | |||
117 | - DRA7 EVM: Software Developement Board for DRA7XX | 123 | - DRA7 EVM: Software Developement Board for DRA7XX |
118 | compatible = "ti,dra7-evm", "ti,dra7" | 124 | compatible = "ti,dra7-evm", "ti,dra7" |
diff --git a/Documentation/devicetree/bindings/arm/pmu.txt b/Documentation/devicetree/bindings/arm/pmu.txt index 3e1e498fea96..fe5cef8976cb 100644 --- a/Documentation/devicetree/bindings/arm/pmu.txt +++ b/Documentation/devicetree/bindings/arm/pmu.txt | |||
@@ -9,6 +9,7 @@ Required properties: | |||
9 | - compatible : should be one of | 9 | - compatible : should be one of |
10 | "arm,armv8-pmuv3" | 10 | "arm,armv8-pmuv3" |
11 | "arm,cortex-a15-pmu" | 11 | "arm,cortex-a15-pmu" |
12 | "arm,cortex-a12-pmu" | ||
12 | "arm,cortex-a9-pmu" | 13 | "arm,cortex-a9-pmu" |
13 | "arm,cortex-a8-pmu" | 14 | "arm,cortex-a8-pmu" |
14 | "arm,cortex-a7-pmu" | 15 | "arm,cortex-a7-pmu" |
@@ -16,7 +17,14 @@ Required properties: | |||
16 | "arm,arm11mpcore-pmu" | 17 | "arm,arm11mpcore-pmu" |
17 | "arm,arm1176-pmu" | 18 | "arm,arm1176-pmu" |
18 | "arm,arm1136-pmu" | 19 | "arm,arm1136-pmu" |
19 | - interrupts : 1 combined interrupt or 1 per core. | 20 | "qcom,krait-pmu" |
21 | - interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu | ||
22 | interrupt (PPI) then 1 interrupt should be specified. | ||
23 | |||
24 | Optional properties: | ||
25 | |||
26 | - qcom,no-pc-write : Indicates that this PMU doesn't support the 0xc and 0xd | ||
27 | events. | ||
20 | 28 | ||
21 | Example: | 29 | Example: |
22 | 30 | ||
diff --git a/Documentation/devicetree/bindings/arm/rockchip/pmu.txt b/Documentation/devicetree/bindings/arm/rockchip/pmu.txt new file mode 100644 index 000000000000..3ee9b428b2f7 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/rockchip/pmu.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | Rockchip power-management-unit: | ||
2 | ------------------------------- | ||
3 | |||
4 | The pmu is used to turn off and on different power domains of the SoCs | ||
5 | This includes the power to the CPU cores. | ||
6 | |||
7 | Required node properties: | ||
8 | - compatible value : = "rockchip,rk3066-pmu"; | ||
9 | - reg : physical base address and the size of the registers window | ||
10 | |||
11 | Example: | ||
12 | |||
13 | pmu@20004000 { | ||
14 | compatible = "rockchip,rk3066-pmu"; | ||
15 | reg = <0x20004000 0x100>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt b/Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt new file mode 100644 index 000000000000..d9416fb8db6f --- /dev/null +++ b/Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Rockchip SRAM for smp bringup: | ||
2 | ------------------------------ | ||
3 | |||
4 | Rockchip's smp-capable SoCs use the first part of the sram for the bringup | ||
5 | of the cores. Once the core gets powered up it executes the code that is | ||
6 | residing at the very beginning of the sram. | ||
7 | |||
8 | Therefore a reserved section sub-node has to be added to the mmio-sram | ||
9 | declaration. | ||
10 | |||
11 | Required sub-node properties: | ||
12 | - compatible : should be "rockchip,rk3066-smp-sram" | ||
13 | |||
14 | The rest of the properties should follow the generic mmio-sram discription | ||
15 | found in ../../misc/sram.txt | ||
16 | |||
17 | Example: | ||
18 | |||
19 | sram: sram@10080000 { | ||
20 | compatible = "mmio-sram"; | ||
21 | reg = <0x10080000 0x10000>; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <1>; | ||
24 | ranges; | ||
25 | |||
26 | smp-sram@10080000 { | ||
27 | compatible = "rockchip,rk3066-smp-sram"; | ||
28 | reg = <0x10080000 0x50>; | ||
29 | }; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/samsung/pmu.txt b/Documentation/devicetree/bindings/arm/samsung/pmu.txt new file mode 100644 index 000000000000..f1f155255f28 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/samsung/pmu.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | SAMSUNG Exynos SoC series PMU Registers | ||
2 | |||
3 | Properties: | ||
4 | - compatible : should contain two values. First value must be one from following list: | ||
5 | - "samsung,exynos5250-pmu" - for Exynos5250 SoC, | ||
6 | - "samsung,exynos5420-pmu" - for Exynos5420 SoC. | ||
7 | second value must be always "syscon". | ||
8 | |||
9 | - reg : offset and length of the register set. | ||
10 | |||
11 | Example : | ||
12 | pmu_system_controller: system-controller@10040000 { | ||
13 | compatible = "samsung,exynos5250-pmu", "syscon"; | ||
14 | reg = <0x10040000 0x5000>; | ||
15 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/topology.txt b/Documentation/devicetree/bindings/arm/topology.txt index 4aa20e7a424e..1061faf5f602 100644 --- a/Documentation/devicetree/bindings/arm/topology.txt +++ b/Documentation/devicetree/bindings/arm/topology.txt | |||
@@ -75,9 +75,10 @@ The cpu-map node can only contain three types of child nodes: | |||
75 | 75 | ||
76 | whose bindings are described in paragraph 3. | 76 | whose bindings are described in paragraph 3. |
77 | 77 | ||
78 | The nodes describing the CPU topology (cluster/core/thread) can only be | 78 | The nodes describing the CPU topology (cluster/core/thread) can only |
79 | defined within the cpu-map node. | 79 | be defined within the cpu-map node and every core/thread in the system |
80 | Any other configuration is consider invalid and therefore must be ignored. | 80 | must be defined within the topology. Any other configuration is |
81 | invalid and therefore must be ignored. | ||
81 | 82 | ||
82 | =========================================== | 83 | =========================================== |
83 | 2.1 - cpu-map child nodes naming convention | 84 | 2.1 - cpu-map child nodes naming convention |
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index 89de1564950c..48b285ffa3a6 100644 --- a/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt | |||
@@ -4,17 +4,33 @@ SATA nodes are defined to describe on-chip Serial ATA controllers. | |||
4 | Each SATA controller should have its own node. | 4 | Each SATA controller should have its own node. |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible : compatible list, contains "snps,spear-ahci" | 7 | - compatible : compatible list, one of "snps,spear-ahci", |
8 | "snps,exynos5440-ahci", "ibm,476gtr-ahci", | ||
9 | "allwinner,sun4i-a10-ahci", "fsl,imx53-ahci" | ||
10 | "fsl,imx6q-ahci" or "snps,dwc-ahci" | ||
8 | - interrupts : <interrupt mapping for SATA IRQ> | 11 | - interrupts : <interrupt mapping for SATA IRQ> |
9 | - reg : <registers mapping> | 12 | - reg : <registers mapping> |
10 | 13 | ||
11 | Optional properties: | 14 | Optional properties: |
12 | - dma-coherent : Present if dma operations are coherent | 15 | - dma-coherent : Present if dma operations are coherent |
16 | - clocks : a list of phandle + clock specifier pairs | ||
17 | - target-supply : regulator for SATA target power | ||
13 | 18 | ||
14 | Example: | 19 | "fsl,imx53-ahci", "fsl,imx6q-ahci" required properties: |
20 | - clocks : must contain the sata, sata_ref and ahb clocks | ||
21 | - clock-names : must contain "ahb" for the ahb clock | ||
22 | |||
23 | Examples: | ||
15 | sata@ffe08000 { | 24 | sata@ffe08000 { |
16 | compatible = "snps,spear-ahci"; | 25 | compatible = "snps,spear-ahci"; |
17 | reg = <0xffe08000 0x1000>; | 26 | reg = <0xffe08000 0x1000>; |
18 | interrupts = <115>; | 27 | interrupts = <115>; |
19 | |||
20 | }; | 28 | }; |
29 | |||
30 | ahci: sata@01c18000 { | ||
31 | compatible = "allwinner,sun4i-a10-ahci"; | ||
32 | reg = <0x01c18000 0x1000>; | ||
33 | interrupts = <56>; | ||
34 | clocks = <&pll6 0>, <&ahb_gates 25>; | ||
35 | target-supply = <®_ahci_5v>; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/apm-xgene.txt b/Documentation/devicetree/bindings/ata/apm-xgene.txt new file mode 100644 index 000000000000..7bcfbf59810e --- /dev/null +++ b/Documentation/devicetree/bindings/ata/apm-xgene.txt | |||
@@ -0,0 +1,76 @@ | |||
1 | * APM X-Gene 6.0 Gb/s SATA host controller nodes | ||
2 | |||
3 | SATA host controller nodes are defined to describe on-chip Serial ATA | ||
4 | controllers. Each SATA controller (pair of ports) have its own node. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Shall contain: | ||
8 | * "apm,xgene-ahci" | ||
9 | - reg : First memory resource shall be the AHCI memory | ||
10 | resource. | ||
11 | Second memory resource shall be the host controller | ||
12 | core memory resource. | ||
13 | Third memory resource shall be the host controller | ||
14 | diagnostic memory resource. | ||
15 | 4th memory resource shall be the host controller | ||
16 | AXI memory resource. | ||
17 | 5th optional memory resource shall be the host | ||
18 | controller MUX memory resource if required. | ||
19 | - interrupts : Interrupt-specifier for SATA host controller IRQ. | ||
20 | - clocks : Reference to the clock entry. | ||
21 | - phys : A list of phandles + phy-specifiers, one for each | ||
22 | entry in phy-names. | ||
23 | - phy-names : Should contain: | ||
24 | * "sata-phy" for the SATA 6.0Gbps PHY | ||
25 | |||
26 | Optional properties: | ||
27 | - status : Shall be "ok" if enabled or "disabled" if disabled. | ||
28 | Default is "ok". | ||
29 | |||
30 | Example: | ||
31 | sataclk: sataclk { | ||
32 | compatible = "fixed-clock"; | ||
33 | #clock-cells = <1>; | ||
34 | clock-frequency = <100000000>; | ||
35 | clock-output-names = "sataclk"; | ||
36 | }; | ||
37 | |||
38 | phy2: phy@1f22a000 { | ||
39 | compatible = "apm,xgene-phy"; | ||
40 | reg = <0x0 0x1f22a000 0x0 0x100>; | ||
41 | #phy-cells = <1>; | ||
42 | }; | ||
43 | |||
44 | phy3: phy@1f23a000 { | ||
45 | compatible = "apm,xgene-phy"; | ||
46 | reg = <0x0 0x1f23a000 0x0 0x100>; | ||
47 | #phy-cells = <1>; | ||
48 | }; | ||
49 | |||
50 | sata2: sata@1a400000 { | ||
51 | compatible = "apm,xgene-ahci"; | ||
52 | reg = <0x0 0x1a400000 0x0 0x1000>, | ||
53 | <0x0 0x1f220000 0x0 0x1000>, | ||
54 | <0x0 0x1f22d000 0x0 0x1000>, | ||
55 | <0x0 0x1f22e000 0x0 0x1000>, | ||
56 | <0x0 0x1f227000 0x0 0x1000>; | ||
57 | interrupts = <0x0 0x87 0x4>; | ||
58 | status = "ok"; | ||
59 | clocks = <&sataclk 0>; | ||
60 | phys = <&phy2 0>; | ||
61 | phy-names = "sata-phy"; | ||
62 | }; | ||
63 | |||
64 | sata3: sata@1a800000 { | ||
65 | compatible = "apm,xgene-ahci-pcie"; | ||
66 | reg = <0x0 0x1a800000 0x0 0x1000>, | ||
67 | <0x0 0x1f230000 0x0 0x1000>, | ||
68 | <0x0 0x1f23d000 0x0 0x1000>, | ||
69 | <0x0 0x1f23e000 0x0 0x1000>, | ||
70 | <0x0 0x1f237000 0x0 0x1000>; | ||
71 | interrupts = <0x0 0x88 0x4>; | ||
72 | status = "ok"; | ||
73 | clocks = <&sataclk 0>; | ||
74 | phys = <&phy3 0>; | ||
75 | phy-names = "sata-phy"; | ||
76 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt b/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt deleted file mode 100644 index 37824fac688e..000000000000 --- a/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt +++ /dev/null | |||
@@ -1,14 +0,0 @@ | |||
1 | * Samsung SATA PHY Controller | ||
2 | |||
3 | SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers. | ||
4 | Each SATA PHY controller should have its own node. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : compatible list, contains "samsung,exynos5-sata-phy" | ||
8 | - reg : <registers mapping> | ||
9 | |||
10 | Example: | ||
11 | sata@ffe07000 { | ||
12 | compatible = "samsung,exynos5-sata-phy"; | ||
13 | reg = <0xffe07000 0x1000>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/exynos-sata.txt b/Documentation/devicetree/bindings/ata/exynos-sata.txt index 0849f1025e34..cb48448247ea 100644 --- a/Documentation/devicetree/bindings/ata/exynos-sata.txt +++ b/Documentation/devicetree/bindings/ata/exynos-sata.txt | |||
@@ -4,14 +4,27 @@ SATA nodes are defined to describe on-chip Serial ATA controllers. | |||
4 | Each SATA controller should have its own node. | 4 | Each SATA controller should have its own node. |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible : compatible list, contains "samsung,exynos5-sata" | 7 | - compatible : compatible list, contains "samsung,exynos5-sata" |
8 | - interrupts : <interrupt mapping for SATA IRQ> | 8 | - interrupts : <interrupt mapping for SATA IRQ> |
9 | - reg : <registers mapping> | 9 | - reg : <registers mapping> |
10 | - samsung,sata-freq : <frequency in MHz> | 10 | - samsung,sata-freq : <frequency in MHz> |
11 | - phys : Must contain exactly one entry as specified | ||
12 | in phy-bindings.txt | ||
13 | - phy-names : Must be "sata-phy" | ||
14 | |||
15 | Optional properties: | ||
16 | - clocks : Must contain an entry for each entry in clock-names. | ||
17 | - clock-names : Shall be "sata" for the external SATA bus clock, | ||
18 | and "sclk_sata" for the internal controller clock. | ||
11 | 19 | ||
12 | Example: | 20 | Example: |
13 | sata@ffe08000 { | 21 | sata@122f0000 { |
14 | compatible = "samsung,exynos5-sata"; | 22 | compatible = "snps,dwc-ahci"; |
15 | reg = <0xffe08000 0x1000>; | 23 | samsung,sata-freq = <66>; |
16 | interrupts = <115>; | 24 | reg = <0x122f0000 0x1ff>; |
17 | }; | 25 | interrupts = <0 115 0>; |
26 | clocks = <&clock 277>, <&clock 143>; | ||
27 | clock-names = "sata", "sclk_sata"; | ||
28 | phys = <&sata_phy>; | ||
29 | phy-names = "sata-phy"; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt index 0fd76c405208..6630d842c7a3 100644 --- a/Documentation/devicetree/bindings/bus/imx-weim.txt +++ b/Documentation/devicetree/bindings/bus/imx-weim.txt | |||
@@ -8,7 +8,12 @@ The actual devices are instantiated from the child nodes of a WEIM node. | |||
8 | 8 | ||
9 | Required properties: | 9 | Required properties: |
10 | 10 | ||
11 | - compatible: Should be set to "fsl,<soc>-weim" | 11 | - compatible: Should contain one of the following: |
12 | "fsl,imx1-weim" | ||
13 | "fsl,imx27-weim" | ||
14 | "fsl,imx51-weim" | ||
15 | "fsl,imx50-weim" | ||
16 | "fsl,imx6q-weim" | ||
12 | - reg: A resource specifier for the register space | 17 | - reg: A resource specifier for the register space |
13 | (see the example below) | 18 | (see the example below) |
14 | - clocks: the clock, see the example below. | 19 | - clocks: the clock, see the example below. |
@@ -19,6 +24,26 @@ Required properties: | |||
19 | 24 | ||
20 | <cs-number> 0 <physical address of mapping> <size> | 25 | <cs-number> 0 <physical address of mapping> <size> |
21 | 26 | ||
27 | Optional properties: | ||
28 | |||
29 | - fsl,weim-cs-gpr: For "fsl,imx50-weim" and "fsl,imx6q-weim" type of | ||
30 | devices, it should be the phandle to the system General | ||
31 | Purpose Register controller that contains WEIM CS GPR | ||
32 | register, e.g. IOMUXC_GPR1 on i.MX6Q. IOMUXC_GPR1[11:0] | ||
33 | should be set up as one of the following 4 possible | ||
34 | values depending on the CS space configuration. | ||
35 | |||
36 | IOMUXC_GPR1[11:0] CS0 CS1 CS2 CS3 | ||
37 | --------------------------------------------- | ||
38 | 05 128M 0M 0M 0M | ||
39 | 033 64M 64M 0M 0M | ||
40 | 0113 64M 32M 32M 0M | ||
41 | 01111 32M 32M 32M 32M | ||
42 | |||
43 | In case that the property is absent, the reset value or | ||
44 | what bootloader sets up in IOMUXC_GPR1[11:0] will be | ||
45 | used. | ||
46 | |||
22 | Timing property for child nodes. It is mandatory, not optional. | 47 | Timing property for child nodes. It is mandatory, not optional. |
23 | 48 | ||
24 | - fsl,weim-cs-timing: The timing array, contains timing values for the | 49 | - fsl,weim-cs-timing: The timing array, contains timing values for the |
@@ -43,6 +68,7 @@ Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM: | |||
43 | #address-cells = <2>; | 68 | #address-cells = <2>; |
44 | #size-cells = <1>; | 69 | #size-cells = <1>; |
45 | ranges = <0 0 0x08000000 0x08000000>; | 70 | ranges = <0 0 0x08000000 0x08000000>; |
71 | fsl,weim-cs-gpr = <&gpr>; | ||
46 | 72 | ||
47 | nor@0,0 { | 73 | nor@0,0 { |
48 | compatible = "cfi-flash"; | 74 | compatible = "cfi-flash"; |
diff --git a/Documentation/devicetree/bindings/clock/altr_socfpga.txt b/Documentation/devicetree/bindings/clock/altr_socfpga.txt index 0045433eae1f..5dfd145d3ccf 100644 --- a/Documentation/devicetree/bindings/clock/altr_socfpga.txt +++ b/Documentation/devicetree/bindings/clock/altr_socfpga.txt | |||
@@ -23,3 +23,8 @@ Optional properties: | |||
23 | and the bit index. | 23 | and the bit index. |
24 | - div-reg : For "socfpga-gate-clk", div-reg contains the divider register, bit shift, | 24 | - div-reg : For "socfpga-gate-clk", div-reg contains the divider register, bit shift, |
25 | and width. | 25 | and width. |
26 | - clk-phase : For the sdmmc_clk, contains the value of the clock phase that controls | ||
27 | the SDMMC CIU clock. The first value is the clk_sample(smpsel), and the second | ||
28 | value is the cclk_in_drv(drvsel). The clk-phase is used to enable the correct | ||
29 | hold/delay times that is needed for the SD/MMC CIU clock. The values of both | ||
30 | can be 0-315 degrees, in 45 degree increments. | ||
diff --git a/Documentation/devicetree/bindings/clock/arm-integrator.txt b/Documentation/devicetree/bindings/clock/arm-integrator.txt new file mode 100644 index 000000000000..652914b17b95 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/arm-integrator.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | Clock bindings for ARM Integrator Core Module clocks | ||
2 | |||
3 | Auxilary Oscillator Clock | ||
4 | |||
5 | This is a configurable clock fed from a 24 MHz chrystal, | ||
6 | used for generating e.g. video clocks. It is located on the | ||
7 | core module and there is only one of these. | ||
8 | |||
9 | This clock node *must* be a subnode of the core module, since | ||
10 | it obtains the base address for it's address range from its | ||
11 | parent node. | ||
12 | |||
13 | |||
14 | Required properties: | ||
15 | - compatible: must be "arm,integrator-cm-auxosc" | ||
16 | - #clock-cells: must be <0> | ||
17 | |||
18 | Optional properties: | ||
19 | - clocks: parent clock(s) | ||
20 | |||
21 | Example: | ||
22 | |||
23 | core-module@10000000 { | ||
24 | xtal24mhz: xtal24mhz@24M { | ||
25 | #clock-cells = <0>; | ||
26 | compatible = "fixed-clock"; | ||
27 | clock-frequency = <24000000>; | ||
28 | }; | ||
29 | auxosc: cm_aux_osc@25M { | ||
30 | #clock-cells = <0>; | ||
31 | compatible = "arm,integrator-cm-auxosc"; | ||
32 | clocks = <&xtal24mhz>; | ||
33 | }; | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/axi-clkgen.txt b/Documentation/devicetree/bindings/clock/axi-clkgen.txt index 028b493e97ff..20e1704e7df2 100644 --- a/Documentation/devicetree/bindings/clock/axi-clkgen.txt +++ b/Documentation/devicetree/bindings/clock/axi-clkgen.txt | |||
@@ -5,7 +5,7 @@ This binding uses the common clock binding[1]. | |||
5 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | 5 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt |
6 | 6 | ||
7 | Required properties: | 7 | Required properties: |
8 | - compatible : shall be "adi,axi-clkgen". | 8 | - compatible : shall be "adi,axi-clkgen-1.00.a" or "adi,axi-clkgen-2.00.a". |
9 | - #clock-cells : from common clock binding; Should always be set to 0. | 9 | - #clock-cells : from common clock binding; Should always be set to 0. |
10 | - reg : Address and length of the axi-clkgen register set. | 10 | - reg : Address and length of the axi-clkgen register set. |
11 | - clocks : Phandle and clock specifier for the parent clock. | 11 | - clocks : Phandle and clock specifier for the parent clock. |
diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt index 7c52c29d99fa..700e7aac3717 100644 --- a/Documentation/devicetree/bindings/clock/clock-bindings.txt +++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt | |||
@@ -44,6 +44,23 @@ For example: | |||
44 | clocks by index. The names should reflect the clock output signal | 44 | clocks by index. The names should reflect the clock output signal |
45 | names for the device. | 45 | names for the device. |
46 | 46 | ||
47 | clock-indices: If the identifyng number for the clocks in the node | ||
48 | is not linear from zero, then the this mapping allows | ||
49 | the mapping of identifiers into the clock-output-names | ||
50 | array. | ||
51 | |||
52 | For example, if we have two clocks <&oscillator 1> and <&oscillator 3>: | ||
53 | |||
54 | oscillator { | ||
55 | compatible = "myclocktype"; | ||
56 | #clock-cells = <1>; | ||
57 | clock-indices = <1>, <3>; | ||
58 | clock-output-names = "clka", "clkb"; | ||
59 | } | ||
60 | |||
61 | This ensures we do not have any empty nodes in clock-output-names | ||
62 | |||
63 | |||
47 | ==Clock consumers== | 64 | ==Clock consumers== |
48 | 65 | ||
49 | Required properties: | 66 | Required properties: |
diff --git a/Documentation/devicetree/bindings/clock/exynos4-clock.txt b/Documentation/devicetree/bindings/clock/exynos4-clock.txt index a2ac2d9ac71a..f5a5b19ed3b2 100644 --- a/Documentation/devicetree/bindings/clock/exynos4-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos4-clock.txt | |||
@@ -15,259 +15,12 @@ Required Properties: | |||
15 | 15 | ||
16 | - #clock-cells: should be 1. | 16 | - #clock-cells: should be 1. |
17 | 17 | ||
18 | The following is the list of clocks generated by the controller. Each clock is | 18 | Each clock is assigned an identifier and client nodes can use this identifier |
19 | assigned an identifier and client nodes use this identifier to specify the | 19 | to specify the clock which they consume. |
20 | clock which they consume. Some of the clocks are available only on a particular | ||
21 | Exynos4 SoC and this is specified where applicable. | ||
22 | |||
23 | |||
24 | [Core Clocks] | ||
25 | |||
26 | Clock ID SoC (if specific) | ||
27 | ----------------------------------------------- | ||
28 | |||
29 | xxti 1 | ||
30 | xusbxti 2 | ||
31 | fin_pll 3 | ||
32 | fout_apll 4 | ||
33 | fout_mpll 5 | ||
34 | fout_epll 6 | ||
35 | fout_vpll 7 | ||
36 | sclk_apll 8 | ||
37 | sclk_mpll 9 | ||
38 | sclk_epll 10 | ||
39 | sclk_vpll 11 | ||
40 | arm_clk 12 | ||
41 | aclk200 13 | ||
42 | aclk100 14 | ||
43 | aclk160 15 | ||
44 | aclk133 16 | ||
45 | mout_mpll_user_t 17 Exynos4x12 | ||
46 | mout_mpll_user_c 18 Exynos4x12 | ||
47 | mout_core 19 | ||
48 | mout_apll 20 | ||
49 | |||
50 | |||
51 | [Clock Gate for Special Clocks] | ||
52 | |||
53 | Clock ID SoC (if specific) | ||
54 | ----------------------------------------------- | ||
55 | |||
56 | sclk_fimc0 128 | ||
57 | sclk_fimc1 129 | ||
58 | sclk_fimc2 130 | ||
59 | sclk_fimc3 131 | ||
60 | sclk_cam0 132 | ||
61 | sclk_cam1 133 | ||
62 | sclk_csis0 134 | ||
63 | sclk_csis1 135 | ||
64 | sclk_hdmi 136 | ||
65 | sclk_mixer 137 | ||
66 | sclk_dac 138 | ||
67 | sclk_pixel 139 | ||
68 | sclk_fimd0 140 | ||
69 | sclk_mdnie0 141 Exynos4412 | ||
70 | sclk_mdnie_pwm0 12 142 Exynos4412 | ||
71 | sclk_mipi0 143 | ||
72 | sclk_audio0 144 | ||
73 | sclk_mmc0 145 | ||
74 | sclk_mmc1 146 | ||
75 | sclk_mmc2 147 | ||
76 | sclk_mmc3 148 | ||
77 | sclk_mmc4 149 | ||
78 | sclk_sata 150 Exynos4210 | ||
79 | sclk_uart0 151 | ||
80 | sclk_uart1 152 | ||
81 | sclk_uart2 153 | ||
82 | sclk_uart3 154 | ||
83 | sclk_uart4 155 | ||
84 | sclk_audio1 156 | ||
85 | sclk_audio2 157 | ||
86 | sclk_spdif 158 | ||
87 | sclk_spi0 159 | ||
88 | sclk_spi1 160 | ||
89 | sclk_spi2 161 | ||
90 | sclk_slimbus 162 | ||
91 | sclk_fimd1 163 Exynos4210 | ||
92 | sclk_mipi1 164 Exynos4210 | ||
93 | sclk_pcm1 165 | ||
94 | sclk_pcm2 166 | ||
95 | sclk_i2s1 167 | ||
96 | sclk_i2s2 168 | ||
97 | sclk_mipihsi 169 Exynos4412 | ||
98 | sclk_mfc 170 | ||
99 | sclk_pcm0 171 | ||
100 | sclk_g3d 172 | ||
101 | sclk_pwm_isp 173 Exynos4x12 | ||
102 | sclk_spi0_isp 174 Exynos4x12 | ||
103 | sclk_spi1_isp 175 Exynos4x12 | ||
104 | sclk_uart_isp 176 Exynos4x12 | ||
105 | sclk_fimg2d 177 | ||
106 | |||
107 | [Peripheral Clock Gates] | ||
108 | |||
109 | Clock ID SoC (if specific) | ||
110 | ----------------------------------------------- | ||
111 | |||
112 | fimc0 256 | ||
113 | fimc1 257 | ||
114 | fimc2 258 | ||
115 | fimc3 259 | ||
116 | csis0 260 | ||
117 | csis1 261 | ||
118 | jpeg 262 | ||
119 | smmu_fimc0 263 | ||
120 | smmu_fimc1 264 | ||
121 | smmu_fimc2 265 | ||
122 | smmu_fimc3 266 | ||
123 | smmu_jpeg 267 | ||
124 | vp 268 | ||
125 | mixer 269 | ||
126 | tvenc 270 Exynos4210 | ||
127 | hdmi 271 | ||
128 | smmu_tv 272 | ||
129 | mfc 273 | ||
130 | smmu_mfcl 274 | ||
131 | smmu_mfcr 275 | ||
132 | g3d 276 | ||
133 | g2d 277 | ||
134 | rotator 278 Exynos4210 | ||
135 | mdma 279 Exynos4210 | ||
136 | smmu_g2d 280 Exynos4210 | ||
137 | smmu_rotator 281 Exynos4210 | ||
138 | smmu_mdma 282 Exynos4210 | ||
139 | fimd0 283 | ||
140 | mie0 284 | ||
141 | mdnie0 285 Exynos4412 | ||
142 | dsim0 286 | ||
143 | smmu_fimd0 287 | ||
144 | fimd1 288 Exynos4210 | ||
145 | mie1 289 Exynos4210 | ||
146 | dsim1 290 Exynos4210 | ||
147 | smmu_fimd1 291 Exynos4210 | ||
148 | pdma0 292 | ||
149 | pdma1 293 | ||
150 | pcie_phy 294 | ||
151 | sata_phy 295 Exynos4210 | ||
152 | tsi 296 | ||
153 | sdmmc0 297 | ||
154 | sdmmc1 298 | ||
155 | sdmmc2 299 | ||
156 | sdmmc3 300 | ||
157 | sdmmc4 301 | ||
158 | sata 302 Exynos4210 | ||
159 | sromc 303 | ||
160 | usb_host 304 | ||
161 | usb_device 305 | ||
162 | pcie 306 | ||
163 | onenand 307 | ||
164 | nfcon 308 | ||
165 | smmu_pcie 309 | ||
166 | gps 310 | ||
167 | smmu_gps 311 | ||
168 | uart0 312 | ||
169 | uart1 313 | ||
170 | uart2 314 | ||
171 | uart3 315 | ||
172 | uart4 316 | ||
173 | i2c0 317 | ||
174 | i2c1 318 | ||
175 | i2c2 319 | ||
176 | i2c3 320 | ||
177 | i2c4 321 | ||
178 | i2c5 322 | ||
179 | i2c6 323 | ||
180 | i2c7 324 | ||
181 | i2c_hdmi 325 | ||
182 | tsadc 326 | ||
183 | spi0 327 | ||
184 | spi1 328 | ||
185 | spi2 329 | ||
186 | i2s1 330 | ||
187 | i2s2 331 | ||
188 | pcm0 332 | ||
189 | i2s0 333 | ||
190 | pcm1 334 | ||
191 | pcm2 335 | ||
192 | pwm 336 | ||
193 | slimbus 337 | ||
194 | spdif 338 | ||
195 | ac97 339 | ||
196 | modemif 340 | ||
197 | chipid 341 | ||
198 | sysreg 342 | ||
199 | hdmi_cec 343 | ||
200 | mct 344 | ||
201 | wdt 345 | ||
202 | rtc 346 | ||
203 | keyif 347 | ||
204 | audss 348 | ||
205 | mipi_hsi 349 Exynos4210 | ||
206 | mdma2 350 Exynos4210 | ||
207 | pixelasyncm0 351 | ||
208 | pixelasyncm1 352 | ||
209 | fimc_lite0 353 Exynos4x12 | ||
210 | fimc_lite1 354 Exynos4x12 | ||
211 | ppmuispx 355 Exynos4x12 | ||
212 | ppmuispmx 356 Exynos4x12 | ||
213 | fimc_isp 357 Exynos4x12 | ||
214 | fimc_drc 358 Exynos4x12 | ||
215 | fimc_fd 359 Exynos4x12 | ||
216 | mcuisp 360 Exynos4x12 | ||
217 | gicisp 361 Exynos4x12 | ||
218 | smmu_isp 362 Exynos4x12 | ||
219 | smmu_drc 363 Exynos4x12 | ||
220 | smmu_fd 364 Exynos4x12 | ||
221 | smmu_lite0 365 Exynos4x12 | ||
222 | smmu_lite1 366 Exynos4x12 | ||
223 | mcuctl_isp 367 Exynos4x12 | ||
224 | mpwm_isp 368 Exynos4x12 | ||
225 | i2c0_isp 369 Exynos4x12 | ||
226 | i2c1_isp 370 Exynos4x12 | ||
227 | mtcadc_isp 371 Exynos4x12 | ||
228 | pwm_isp 372 Exynos4x12 | ||
229 | wdt_isp 373 Exynos4x12 | ||
230 | uart_isp 374 Exynos4x12 | ||
231 | asyncaxim 375 Exynos4x12 | ||
232 | smmu_ispcx 376 Exynos4x12 | ||
233 | spi0_isp 377 Exynos4x12 | ||
234 | spi1_isp 378 Exynos4x12 | ||
235 | pwm_isp_sclk 379 Exynos4x12 | ||
236 | spi0_isp_sclk 380 Exynos4x12 | ||
237 | spi1_isp_sclk 381 Exynos4x12 | ||
238 | uart_isp_sclk 382 Exynos4x12 | ||
239 | tmu_apbif 383 | ||
240 | |||
241 | [Mux Clocks] | ||
242 | |||
243 | Clock ID SoC (if specific) | ||
244 | ----------------------------------------------- | ||
245 | |||
246 | mout_fimc0 384 | ||
247 | mout_fimc1 385 | ||
248 | mout_fimc2 386 | ||
249 | mout_fimc3 387 | ||
250 | mout_cam0 388 | ||
251 | mout_cam1 389 | ||
252 | mout_csis0 390 | ||
253 | mout_csis1 391 | ||
254 | mout_g3d0 392 | ||
255 | mout_g3d1 393 | ||
256 | mout_g3d 394 | ||
257 | aclk400_mcuisp 395 Exynos4x12 | ||
258 | |||
259 | [Div Clocks] | ||
260 | |||
261 | Clock ID SoC (if specific) | ||
262 | ----------------------------------------------- | ||
263 | |||
264 | div_isp0 450 Exynos4x12 | ||
265 | div_isp1 451 Exynos4x12 | ||
266 | div_mcuisp0 452 Exynos4x12 | ||
267 | div_mcuisp1 453 Exynos4x12 | ||
268 | div_aclk200 454 Exynos4x12 | ||
269 | div_aclk400_mcuisp 455 Exynos4x12 | ||
270 | 20 | ||
21 | All available clocks are defined as preprocessor macros in | ||
22 | dt-bindings/clock/exynos4.h header and can be used in device | ||
23 | tree sources. | ||
271 | 24 | ||
272 | Example 1: An example of a clock controller node is listed below. | 25 | Example 1: An example of a clock controller node is listed below. |
273 | 26 | ||
@@ -285,6 +38,6 @@ Example 2: UART controller node that consumes the clock generated by the clock | |||
285 | compatible = "samsung,exynos4210-uart"; | 38 | compatible = "samsung,exynos4210-uart"; |
286 | reg = <0x13820000 0x100>; | 39 | reg = <0x13820000 0x100>; |
287 | interrupts = <0 54 0>; | 40 | interrupts = <0 54 0>; |
288 | clocks = <&clock 314>, <&clock 153>; | 41 | clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>; |
289 | clock-names = "uart", "clk_uart_baud0"; | 42 | clock-names = "uart", "clk_uart_baud0"; |
290 | }; | 43 | }; |
diff --git a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt index 72ce617dea82..536eacd1063f 100644 --- a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt | |||
@@ -13,163 +13,12 @@ Required Properties: | |||
13 | 13 | ||
14 | - #clock-cells: should be 1. | 14 | - #clock-cells: should be 1. |
15 | 15 | ||
16 | The following is the list of clocks generated by the controller. Each clock is | 16 | Each clock is assigned an identifier and client nodes can use this identifier |
17 | assigned an identifier and client nodes use this identifier to specify the | 17 | to specify the clock which they consume. |
18 | clock which they consume. | ||
19 | |||
20 | |||
21 | [Core Clocks] | ||
22 | |||
23 | Clock ID | ||
24 | ---------------------------- | ||
25 | |||
26 | fin_pll 1 | ||
27 | |||
28 | [Clock Gate for Special Clocks] | ||
29 | |||
30 | Clock ID | ||
31 | ---------------------------- | ||
32 | |||
33 | sclk_cam_bayer 128 | ||
34 | sclk_cam0 129 | ||
35 | sclk_cam1 130 | ||
36 | sclk_gscl_wa 131 | ||
37 | sclk_gscl_wb 132 | ||
38 | sclk_fimd1 133 | ||
39 | sclk_mipi1 134 | ||
40 | sclk_dp 135 | ||
41 | sclk_hdmi 136 | ||
42 | sclk_pixel 137 | ||
43 | sclk_audio0 138 | ||
44 | sclk_mmc0 139 | ||
45 | sclk_mmc1 140 | ||
46 | sclk_mmc2 141 | ||
47 | sclk_mmc3 142 | ||
48 | sclk_sata 143 | ||
49 | sclk_usb3 144 | ||
50 | sclk_jpeg 145 | ||
51 | sclk_uart0 146 | ||
52 | sclk_uart1 147 | ||
53 | sclk_uart2 148 | ||
54 | sclk_uart3 149 | ||
55 | sclk_pwm 150 | ||
56 | sclk_audio1 151 | ||
57 | sclk_audio2 152 | ||
58 | sclk_spdif 153 | ||
59 | sclk_spi0 154 | ||
60 | sclk_spi1 155 | ||
61 | sclk_spi2 156 | ||
62 | div_i2s1 157 | ||
63 | div_i2s2 158 | ||
64 | sclk_hdmiphy 159 | ||
65 | div_pcm0 160 | ||
66 | |||
67 | |||
68 | [Peripheral Clock Gates] | ||
69 | |||
70 | Clock ID | ||
71 | ---------------------------- | ||
72 | |||
73 | gscl0 256 | ||
74 | gscl1 257 | ||
75 | gscl2 258 | ||
76 | gscl3 259 | ||
77 | gscl_wa 260 | ||
78 | gscl_wb 261 | ||
79 | smmu_gscl0 262 | ||
80 | smmu_gscl1 263 | ||
81 | smmu_gscl2 264 | ||
82 | smmu_gscl3 265 | ||
83 | mfc 266 | ||
84 | smmu_mfcl 267 | ||
85 | smmu_mfcr 268 | ||
86 | rotator 269 | ||
87 | jpeg 270 | ||
88 | mdma1 271 | ||
89 | smmu_rotator 272 | ||
90 | smmu_jpeg 273 | ||
91 | smmu_mdma1 274 | ||
92 | pdma0 275 | ||
93 | pdma1 276 | ||
94 | sata 277 | ||
95 | usbotg 278 | ||
96 | mipi_hsi 279 | ||
97 | sdmmc0 280 | ||
98 | sdmmc1 281 | ||
99 | sdmmc2 282 | ||
100 | sdmmc3 283 | ||
101 | sromc 284 | ||
102 | usb2 285 | ||
103 | usb3 286 | ||
104 | sata_phyctrl 287 | ||
105 | sata_phyi2c 288 | ||
106 | uart0 289 | ||
107 | uart1 290 | ||
108 | uart2 291 | ||
109 | uart3 292 | ||
110 | uart4 293 | ||
111 | i2c0 294 | ||
112 | i2c1 295 | ||
113 | i2c2 296 | ||
114 | i2c3 297 | ||
115 | i2c4 298 | ||
116 | i2c5 299 | ||
117 | i2c6 300 | ||
118 | i2c7 301 | ||
119 | i2c_hdmi 302 | ||
120 | adc 303 | ||
121 | spi0 304 | ||
122 | spi1 305 | ||
123 | spi2 306 | ||
124 | i2s1 307 | ||
125 | i2s2 308 | ||
126 | pcm1 309 | ||
127 | pcm2 310 | ||
128 | pwm 311 | ||
129 | spdif 312 | ||
130 | ac97 313 | ||
131 | hsi2c0 314 | ||
132 | hsi2c1 315 | ||
133 | hs12c2 316 | ||
134 | hs12c3 317 | ||
135 | chipid 318 | ||
136 | sysreg 319 | ||
137 | pmu 320 | ||
138 | cmu_top 321 | ||
139 | cmu_core 322 | ||
140 | cmu_mem 323 | ||
141 | tzpc0 324 | ||
142 | tzpc1 325 | ||
143 | tzpc2 326 | ||
144 | tzpc3 327 | ||
145 | tzpc4 328 | ||
146 | tzpc5 329 | ||
147 | tzpc6 330 | ||
148 | tzpc7 331 | ||
149 | tzpc8 332 | ||
150 | tzpc9 333 | ||
151 | hdmi_cec 334 | ||
152 | mct 335 | ||
153 | wdt 336 | ||
154 | rtc 337 | ||
155 | tmu 338 | ||
156 | fimd1 339 | ||
157 | mie1 340 | ||
158 | dsim0 341 | ||
159 | dp 342 | ||
160 | mixer 343 | ||
161 | hdmi 344 | ||
162 | g2d 345 | ||
163 | mdma0 346 | ||
164 | smmu_mdma0 347 | ||
165 | |||
166 | |||
167 | [Clock Muxes] | ||
168 | |||
169 | Clock ID | ||
170 | ---------------------------- | ||
171 | mout_hdmi 1024 | ||
172 | 18 | ||
19 | All available clocks are defined as preprocessor macros in | ||
20 | dt-bindings/clock/exynos5250.h header and can be used in device | ||
21 | tree sources. | ||
173 | 22 | ||
174 | Example 1: An example of a clock controller node is listed below. | 23 | Example 1: An example of a clock controller node is listed below. |
175 | 24 | ||
@@ -187,6 +36,6 @@ Example 2: UART controller node that consumes the clock generated by the clock | |||
187 | compatible = "samsung,exynos4210-uart"; | 36 | compatible = "samsung,exynos4210-uart"; |
188 | reg = <0x13820000 0x100>; | 37 | reg = <0x13820000 0x100>; |
189 | interrupts = <0 54 0>; | 38 | interrupts = <0 54 0>; |
190 | clocks = <&clock 314>, <&clock 153>; | 39 | clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>; |
191 | clock-names = "uart", "clk_uart_baud0"; | 40 | clock-names = "uart", "clk_uart_baud0"; |
192 | }; | 41 | }; |
diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt index 458f34789e5d..ca88c97a8562 100644 --- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt | |||
@@ -13,184 +13,12 @@ Required Properties: | |||
13 | 13 | ||
14 | - #clock-cells: should be 1. | 14 | - #clock-cells: should be 1. |
15 | 15 | ||
16 | The following is the list of clocks generated by the controller. Each clock is | 16 | Each clock is assigned an identifier and client nodes can use this identifier |
17 | assigned an identifier and client nodes use this identifier to specify the | 17 | to specify the clock which they consume. |
18 | clock which they consume. | ||
19 | 18 | ||
20 | 19 | All available clocks are defined as preprocessor macros in | |
21 | [Core Clocks] | 20 | dt-bindings/clock/exynos5420.h header and can be used in device |
22 | 21 | tree sources. | |
23 | Clock ID | ||
24 | ---------------------------- | ||
25 | |||
26 | fin_pll 1 | ||
27 | |||
28 | [Clock Gate for Special Clocks] | ||
29 | |||
30 | Clock ID | ||
31 | ---------------------------- | ||
32 | sclk_uart0 128 | ||
33 | sclk_uart1 129 | ||
34 | sclk_uart2 130 | ||
35 | sclk_uart3 131 | ||
36 | sclk_mmc0 132 | ||
37 | sclk_mmc1 133 | ||
38 | sclk_mmc2 134 | ||
39 | sclk_spi0 135 | ||
40 | sclk_spi1 136 | ||
41 | sclk_spi2 137 | ||
42 | sclk_i2s1 138 | ||
43 | sclk_i2s2 139 | ||
44 | sclk_pcm1 140 | ||
45 | sclk_pcm2 141 | ||
46 | sclk_spdif 142 | ||
47 | sclk_hdmi 143 | ||
48 | sclk_pixel 144 | ||
49 | sclk_dp1 145 | ||
50 | sclk_mipi1 146 | ||
51 | sclk_fimd1 147 | ||
52 | sclk_maudio0 148 | ||
53 | sclk_maupcm0 149 | ||
54 | sclk_usbd300 150 | ||
55 | sclk_usbd301 151 | ||
56 | sclk_usbphy300 152 | ||
57 | sclk_usbphy301 153 | ||
58 | sclk_unipro 154 | ||
59 | sclk_pwm 155 | ||
60 | sclk_gscl_wa 156 | ||
61 | sclk_gscl_wb 157 | ||
62 | sclk_hdmiphy 158 | ||
63 | |||
64 | [Peripheral Clock Gates] | ||
65 | |||
66 | Clock ID | ||
67 | ---------------------------- | ||
68 | |||
69 | aclk66_peric 256 | ||
70 | uart0 257 | ||
71 | uart1 258 | ||
72 | uart2 259 | ||
73 | uart3 260 | ||
74 | i2c0 261 | ||
75 | i2c1 262 | ||
76 | i2c2 263 | ||
77 | i2c3 264 | ||
78 | i2c4 265 | ||
79 | i2c5 266 | ||
80 | i2c6 267 | ||
81 | i2c7 268 | ||
82 | i2c_hdmi 269 | ||
83 | tsadc 270 | ||
84 | spi0 271 | ||
85 | spi1 272 | ||
86 | spi2 273 | ||
87 | keyif 274 | ||
88 | i2s1 275 | ||
89 | i2s2 276 | ||
90 | pcm1 277 | ||
91 | pcm2 278 | ||
92 | pwm 279 | ||
93 | spdif 280 | ||
94 | i2c8 281 | ||
95 | i2c9 282 | ||
96 | i2c10 283 | ||
97 | aclk66_psgen 300 | ||
98 | chipid 301 | ||
99 | sysreg 302 | ||
100 | tzpc0 303 | ||
101 | tzpc1 304 | ||
102 | tzpc2 305 | ||
103 | tzpc3 306 | ||
104 | tzpc4 307 | ||
105 | tzpc5 308 | ||
106 | tzpc6 309 | ||
107 | tzpc7 310 | ||
108 | tzpc8 311 | ||
109 | tzpc9 312 | ||
110 | hdmi_cec 313 | ||
111 | seckey 314 | ||
112 | mct 315 | ||
113 | wdt 316 | ||
114 | rtc 317 | ||
115 | tmu 318 | ||
116 | tmu_gpu 319 | ||
117 | pclk66_gpio 330 | ||
118 | aclk200_fsys2 350 | ||
119 | mmc0 351 | ||
120 | mmc1 352 | ||
121 | mmc2 353 | ||
122 | sromc 354 | ||
123 | ufs 355 | ||
124 | aclk200_fsys 360 | ||
125 | tsi 361 | ||
126 | pdma0 362 | ||
127 | pdma1 363 | ||
128 | rtic 364 | ||
129 | usbh20 365 | ||
130 | usbd300 366 | ||
131 | usbd301 377 | ||
132 | aclk400_mscl 380 | ||
133 | mscl0 381 | ||
134 | mscl1 382 | ||
135 | mscl2 383 | ||
136 | smmu_mscl0 384 | ||
137 | smmu_mscl1 385 | ||
138 | smmu_mscl2 386 | ||
139 | aclk333 400 | ||
140 | mfc 401 | ||
141 | smmu_mfcl 402 | ||
142 | smmu_mfcr 403 | ||
143 | aclk200_disp1 410 | ||
144 | dsim1 411 | ||
145 | dp1 412 | ||
146 | hdmi 413 | ||
147 | aclk300_disp1 420 | ||
148 | fimd1 421 | ||
149 | smmu_fimd1 422 | ||
150 | aclk166 430 | ||
151 | mixer 431 | ||
152 | aclk266 440 | ||
153 | rotator 441 | ||
154 | mdma1 442 | ||
155 | smmu_rotator 443 | ||
156 | smmu_mdma1 444 | ||
157 | aclk300_jpeg 450 | ||
158 | jpeg 451 | ||
159 | jpeg2 452 | ||
160 | smmu_jpeg 453 | ||
161 | aclk300_gscl 460 | ||
162 | smmu_gscl0 461 | ||
163 | smmu_gscl1 462 | ||
164 | gscl_wa 463 | ||
165 | gscl_wb 464 | ||
166 | gscl0 465 | ||
167 | gscl1 466 | ||
168 | clk_3aa 467 | ||
169 | aclk266_g2d 470 | ||
170 | sss 471 | ||
171 | slim_sss 472 | ||
172 | mdma0 473 | ||
173 | aclk333_g2d 480 | ||
174 | g2d 481 | ||
175 | aclk333_432_gscl 490 | ||
176 | smmu_3aa 491 | ||
177 | smmu_fimcl0 492 | ||
178 | smmu_fimcl1 493 | ||
179 | smmu_fimcl3 494 | ||
180 | fimc_lite3 495 | ||
181 | aclk_g3d 500 | ||
182 | g3d 501 | ||
183 | smmu_mixer 502 | ||
184 | |||
185 | Mux ID | ||
186 | ---------------------------- | ||
187 | |||
188 | mout_hdmi 640 | ||
189 | |||
190 | Divider ID | ||
191 | ---------------------------- | ||
192 | |||
193 | dout_pixel 768 | ||
194 | 22 | ||
195 | Example 1: An example of a clock controller node is listed below. | 23 | Example 1: An example of a clock controller node is listed below. |
196 | 24 | ||
@@ -208,6 +36,6 @@ Example 2: UART controller node that consumes the clock generated by the clock | |||
208 | compatible = "samsung,exynos4210-uart"; | 36 | compatible = "samsung,exynos4210-uart"; |
209 | reg = <0x13820000 0x100>; | 37 | reg = <0x13820000 0x100>; |
210 | interrupts = <0 54 0>; | 38 | interrupts = <0 54 0>; |
211 | clocks = <&clock 259>, <&clock 130>; | 39 | clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>; |
212 | clock-names = "uart", "clk_uart_baud0"; | 40 | clock-names = "uart", "clk_uart_baud0"; |
213 | }; | 41 | }; |
diff --git a/Documentation/devicetree/bindings/clock/exynos5440-clock.txt b/Documentation/devicetree/bindings/clock/exynos5440-clock.txt index 9955dc9c7d96..5f7005f73058 100644 --- a/Documentation/devicetree/bindings/clock/exynos5440-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos5440-clock.txt | |||
@@ -12,45 +12,12 @@ Required Properties: | |||
12 | 12 | ||
13 | - #clock-cells: should be 1. | 13 | - #clock-cells: should be 1. |
14 | 14 | ||
15 | The following is the list of clocks generated by the controller. Each clock is | 15 | Each clock is assigned an identifier and client nodes can use this identifier |
16 | assigned an identifier and client nodes use this identifier to specify the | 16 | to specify the clock which they consume. |
17 | clock which they consume. | 17 | |
18 | 18 | All available clocks are defined as preprocessor macros in | |
19 | 19 | dt-bindings/clock/exynos5440.h header and can be used in device | |
20 | [Core Clocks] | 20 | tree sources. |
21 | |||
22 | Clock ID | ||
23 | ---------------------------- | ||
24 | |||
25 | xtal 1 | ||
26 | arm_clk 2 | ||
27 | |||
28 | [Peripheral Clock Gates] | ||
29 | |||
30 | Clock ID | ||
31 | ---------------------------- | ||
32 | |||
33 | spi_baud 16 | ||
34 | pb0_250 17 | ||
35 | pr0_250 18 | ||
36 | pr1_250 19 | ||
37 | b_250 20 | ||
38 | b_125 21 | ||
39 | b_200 22 | ||
40 | sata 23 | ||
41 | usb 24 | ||
42 | gmac0 25 | ||
43 | cs250 26 | ||
44 | pb0_250_o 27 | ||
45 | pr0_250_o 28 | ||
46 | pr1_250_o 29 | ||
47 | b_250_o 30 | ||
48 | b_125_o 31 | ||
49 | b_200_o 32 | ||
50 | sata_o 33 | ||
51 | usb_o 34 | ||
52 | gmac0_o 35 | ||
53 | cs250_o 36 | ||
54 | 21 | ||
55 | Example: An example of a clock controller node is listed below. | 22 | Example: An example of a clock controller node is listed below. |
56 | 23 | ||
diff --git a/Documentation/devicetree/bindings/clock/hi3620-clock.txt b/Documentation/devicetree/bindings/clock/hi3620-clock.txt index 4b71ab41be53..dad6269f52c5 100644 --- a/Documentation/devicetree/bindings/clock/hi3620-clock.txt +++ b/Documentation/devicetree/bindings/clock/hi3620-clock.txt | |||
@@ -7,6 +7,7 @@ Required Properties: | |||
7 | 7 | ||
8 | - compatible: should be one of the following. | 8 | - compatible: should be one of the following. |
9 | - "hisilicon,hi3620-clock" - controller compatible with Hi3620 SoC. | 9 | - "hisilicon,hi3620-clock" - controller compatible with Hi3620 SoC. |
10 | - "hisilicon,hi3620-mmc-clock" - controller specific for Hi3620 mmc. | ||
10 | 11 | ||
11 | - reg: physical base address of the controller and length of memory mapped | 12 | - reg: physical base address of the controller and length of memory mapped |
12 | region. | 13 | region. |
diff --git a/Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt b/Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt new file mode 100644 index 000000000000..fedea84314a1 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | Device Tree Clock bindings for arch-moxart | ||
2 | |||
3 | This binding uses the common clock binding[1]. | ||
4 | |||
5 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
6 | |||
7 | MOXA ART SoCs allow to determine PLL output and APB frequencies | ||
8 | by reading registers holding multiplier and divisor information. | ||
9 | |||
10 | |||
11 | PLL: | ||
12 | |||
13 | Required properties: | ||
14 | - compatible : Must be "moxa,moxart-pll-clock" | ||
15 | - #clock-cells : Should be 0 | ||
16 | - reg : Should contain registers location and length | ||
17 | - clocks : Should contain phandle + clock-specifier for the parent clock | ||
18 | |||
19 | Optional properties: | ||
20 | - clock-output-names : Should contain clock name | ||
21 | |||
22 | |||
23 | APB: | ||
24 | |||
25 | Required properties: | ||
26 | - compatible : Must be "moxa,moxart-apb-clock" | ||
27 | - #clock-cells : Should be 0 | ||
28 | - reg : Should contain registers location and length | ||
29 | - clocks : Should contain phandle + clock-specifier for the parent clock | ||
30 | |||
31 | Optional properties: | ||
32 | - clock-output-names : Should contain clock name | ||
33 | |||
34 | |||
35 | For example: | ||
36 | |||
37 | clk_pll: clk_pll@98100000 { | ||
38 | compatible = "moxa,moxart-pll-clock"; | ||
39 | #clock-cells = <0>; | ||
40 | reg = <0x98100000 0x34>; | ||
41 | }; | ||
42 | |||
43 | clk_apb: clk_apb@98100000 { | ||
44 | compatible = "moxa,moxart-apb-clock"; | ||
45 | #clock-cells = <0>; | ||
46 | reg = <0x98100000 0x34>; | ||
47 | clocks = <&clk_pll>; | ||
48 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt b/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt index 1e662948661e..307a503c5db8 100644 --- a/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt +++ b/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt | |||
@@ -11,6 +11,18 @@ The following is a list of provided IDs and clock names on Armada 370/XP: | |||
11 | 3 = hclk (DRAM control clock) | 11 | 3 = hclk (DRAM control clock) |
12 | 4 = dramclk (DDR clock) | 12 | 4 = dramclk (DDR clock) |
13 | 13 | ||
14 | The following is a list of provided IDs and clock names on Armada 375: | ||
15 | 0 = tclk (Internal Bus clock) | ||
16 | 1 = cpuclk (CPU clock) | ||
17 | 2 = l2clk (L2 Cache clock) | ||
18 | 3 = ddrclk (DDR clock) | ||
19 | |||
20 | The following is a list of provided IDs and clock names on Armada 380/385: | ||
21 | 0 = tclk (Internal Bus clock) | ||
22 | 1 = cpuclk (CPU clock) | ||
23 | 2 = l2clk (L2 Cache clock) | ||
24 | 3 = ddrclk (DDR clock) | ||
25 | |||
14 | The following is a list of provided IDs and clock names on Kirkwood and Dove: | 26 | The following is a list of provided IDs and clock names on Kirkwood and Dove: |
15 | 0 = tclk (Internal Bus clock) | 27 | 0 = tclk (Internal Bus clock) |
16 | 1 = cpuclk (CPU0 clock) | 28 | 1 = cpuclk (CPU0 clock) |
@@ -20,6 +32,8 @@ The following is a list of provided IDs and clock names on Kirkwood and Dove: | |||
20 | Required properties: | 32 | Required properties: |
21 | - compatible : shall be one of the following: | 33 | - compatible : shall be one of the following: |
22 | "marvell,armada-370-core-clock" - For Armada 370 SoC core clocks | 34 | "marvell,armada-370-core-clock" - For Armada 370 SoC core clocks |
35 | "marvell,armada-375-core-clock" - For Armada 375 SoC core clocks | ||
36 | "marvell,armada-380-core-clock" - For Armada 380/385 SoC core clocks | ||
23 | "marvell,armada-xp-core-clock" - For Armada XP SoC core clocks | 37 | "marvell,armada-xp-core-clock" - For Armada XP SoC core clocks |
24 | "marvell,dove-core-clock" - for Dove SoC core clocks | 38 | "marvell,dove-core-clock" - for Dove SoC core clocks |
25 | "marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180) | 39 | "marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180) |
diff --git a/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt b/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt index c62391fc0e39..520562a7dc2a 100644 --- a/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt +++ b/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt | |||
@@ -4,7 +4,10 @@ The following is a list of provided IDs and clock names on Armada 370/XP: | |||
4 | 0 = nand (NAND clock) | 4 | 0 = nand (NAND clock) |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible : must be "marvell,armada-370-corediv-clock" | 7 | - compatible : must be "marvell,armada-370-corediv-clock", |
8 | "marvell,armada-375-corediv-clock", | ||
9 | "marvell,armada-380-corediv-clock", | ||
10 | |||
8 | - reg : must be the register address of Core Divider control register | 11 | - reg : must be the register address of Core Divider control register |
9 | - #clock-cells : from common clock binding; shall be set to 1 | 12 | - #clock-cells : from common clock binding; shall be set to 1 |
10 | - clocks : must be set to the parent's phandle | 13 | - clocks : must be set to the parent's phandle |
diff --git a/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt b/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt index fc2910fa7e45..76477be742b2 100644 --- a/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt +++ b/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt | |||
@@ -1,9 +1,10 @@ | |||
1 | * Gated Clock bindings for Marvell EBU SoCs | 1 | * Gated Clock bindings for Marvell EBU SoCs |
2 | 2 | ||
3 | Marvell Armada 370/XP, Dove and Kirkwood allow some peripheral clocks to be | 3 | Marvell Armada 370/375/380/385/XP, Dove and Kirkwood allow some |
4 | gated to save some power. The clock consumer should specify the desired clock | 4 | peripheral clocks to be gated to save some power. The clock consumer |
5 | by having the clock ID in its "clocks" phandle cell. The clock ID is directly | 5 | should specify the desired clock by having the clock ID in its |
6 | mapped to the corresponding clock gating control bit in HW to ease manual clock | 6 | "clocks" phandle cell. The clock ID is directly mapped to the |
7 | corresponding clock gating control bit in HW to ease manual clock | ||
7 | lookup in datasheet. | 8 | lookup in datasheet. |
8 | 9 | ||
9 | The following is a list of provided IDs for Armada 370: | 10 | The following is a list of provided IDs for Armada 370: |
@@ -22,6 +23,60 @@ ID Clock Peripheral | |||
22 | 28 ddr DDR Cntrl | 23 | 28 ddr DDR Cntrl |
23 | 30 sata1 SATA Host 0 | 24 | 30 sata1 SATA Host 0 |
24 | 25 | ||
26 | The following is a list of provided IDs for Armada 375: | ||
27 | ID Clock Peripheral | ||
28 | ----------------------------------- | ||
29 | 2 mu Management Unit | ||
30 | 3 pp Packet Processor | ||
31 | 4 ptp PTP | ||
32 | 5 pex0 PCIe 0 Clock out | ||
33 | 6 pex1 PCIe 1 Clock out | ||
34 | 8 audio Audio Cntrl | ||
35 | 11 nd_clk Nand Flash Cntrl | ||
36 | 14 sata0_link SATA 0 Link | ||
37 | 15 sata0_core SATA 0 Core | ||
38 | 16 usb3 USB3 Host | ||
39 | 17 sdio SDHCI Host | ||
40 | 18 usb USB Host | ||
41 | 19 gop Gigabit Ethernet MAC | ||
42 | 20 sata1_link SATA 1 Link | ||
43 | 21 sata1_core SATA 1 Core | ||
44 | 22 xor0 XOR DMA 0 | ||
45 | 23 xor1 XOR DMA 0 | ||
46 | 24 copro Coprocessor | ||
47 | 25 tdm Time Division Mplx | ||
48 | 28 crypto0_enc Cryptographic Unit Port 0 Encryption | ||
49 | 29 crypto0_core Cryptographic Unit Port 0 Core | ||
50 | 30 crypto1_enc Cryptographic Unit Port 1 Encryption | ||
51 | 31 crypto1_core Cryptographic Unit Port 1 Core | ||
52 | |||
53 | The following is a list of provided IDs for Armada 380/385: | ||
54 | ID Clock Peripheral | ||
55 | ----------------------------------- | ||
56 | 0 audio Audio | ||
57 | 2 ge2 Gigabit Ethernet 2 | ||
58 | 3 ge1 Gigabit Ethernet 1 | ||
59 | 4 ge0 Gigabit Ethernet 0 | ||
60 | 5 pex1 PCIe 1 | ||
61 | 6 pex2 PCIe 2 | ||
62 | 7 pex3 PCIe 3 | ||
63 | 8 pex0 PCIe 0 | ||
64 | 9 usb3h0 USB3 Host 0 | ||
65 | 10 usb3h1 USB3 Host 1 | ||
66 | 11 usb3d USB3 Device | ||
67 | 13 bm Buffer Management | ||
68 | 14 crypto0z Cryptographic 0 Z | ||
69 | 15 sata0 SATA 0 | ||
70 | 16 crypto1z Cryptographic 1 Z | ||
71 | 17 sdio SDIO | ||
72 | 18 usb2 USB 2 | ||
73 | 21 crypto1 Cryptographic 1 | ||
74 | 22 xor0 XOR 0 | ||
75 | 23 crypto0 Cryptographic 0 | ||
76 | 25 tdm Time Division Multiplexing | ||
77 | 28 xor1 XOR 1 | ||
78 | 30 sata1 SATA 1 | ||
79 | |||
25 | The following is a list of provided IDs for Armada XP: | 80 | The following is a list of provided IDs for Armada XP: |
26 | ID Clock Peripheral | 81 | ID Clock Peripheral |
27 | ----------------------------------- | 82 | ----------------------------------- |
@@ -95,6 +150,8 @@ ID Clock Peripheral | |||
95 | Required properties: | 150 | Required properties: |
96 | - compatible : shall be one of the following: | 151 | - compatible : shall be one of the following: |
97 | "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating | 152 | "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating |
153 | "marvell,armada-375-gating-clock" - for Armada 375 SoC clock gating | ||
154 | "marvell,armada-380-gating-clock" - for Armada 380/385 SoC clock gating | ||
98 | "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating | 155 | "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating |
99 | "marvell,dove-gating-clock" - for Dove SoC clock gating | 156 | "marvell,dove-gating-clock" - for Dove SoC clock gating |
100 | "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating | 157 | "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating |
diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt index a6a352c2771e..5992dceec7af 100644 --- a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt | |||
@@ -21,9 +21,9 @@ Required Properties: | |||
21 | must appear in the same order as the output clocks. | 21 | must appear in the same order as the output clocks. |
22 | - #clock-cells: Must be 1 | 22 | - #clock-cells: Must be 1 |
23 | - clock-output-names: The name of the clocks as free-form strings | 23 | - clock-output-names: The name of the clocks as free-form strings |
24 | - renesas,indices: Indices of the gate clocks into the group (0 to 31) | 24 | - renesas,clock-indices: Indices of the gate clocks into the group (0 to 31) |
25 | 25 | ||
26 | The clocks, clock-output-names and renesas,indices properties contain one | 26 | The clocks, clock-output-names and renesas,clock-indices properties contain one |
27 | entry per gate clock. The MSTP groups are sparsely populated. Unimplemented | 27 | entry per gate clock. The MSTP groups are sparsely populated. Unimplemented |
28 | gate clocks must not be declared. | 28 | gate clocks must not be declared. |
29 | 29 | ||
diff --git a/Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt new file mode 100644 index 000000000000..98a257492522 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | * Renesas RZ Clock Pulse Generator (CPG) | ||
2 | |||
3 | The CPG generates core clocks for the RZ SoCs. It includes the PLL, variable | ||
4 | CPU and GPU clocks, and several fixed ratio dividers. | ||
5 | |||
6 | Required Properties: | ||
7 | |||
8 | - compatible: Must be one of | ||
9 | - "renesas,r7s72100-cpg-clocks" for the r7s72100 CPG | ||
10 | - "renesas,rz-cpg-clocks" for the generic RZ CPG | ||
11 | - reg: Base address and length of the memory resource used by the CPG | ||
12 | - clocks: References to possible parent clocks. Order must match clock modes | ||
13 | in the datasheet. For the r7s72100, this is extal, usb_x1. | ||
14 | - #clock-cells: Must be 1 | ||
15 | - clock-output-names: The names of the clocks. Supported clocks are "pll", | ||
16 | "i", and "g" | ||
17 | |||
18 | |||
19 | Example | ||
20 | ------- | ||
21 | |||
22 | cpg_clocks: cpg_clocks@fcfe0000 { | ||
23 | #clock-cells = <1>; | ||
24 | compatible = "renesas,r7s72100-cpg-clocks", | ||
25 | "renesas,rz-cpg-clocks"; | ||
26 | reg = <0xfcfe0000 0x18>; | ||
27 | clocks = <&extal_clk>, <&usb_x1_clk>; | ||
28 | clock-output-names = "pll", "i", "g"; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt new file mode 100644 index 000000000000..ae56315fcec5 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | Binding for a ST divider and multiplexer clock driver. | ||
2 | |||
3 | This binding uses the common clock binding[1]. | ||
4 | Base address is located to the parent node. See clock binding[2] | ||
5 | |||
6 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
7 | [2] Documentation/devicetree/bindings/clock/st/st,clkgen.txt | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible : shall be: | ||
12 | "st,clkgena-divmux-c65-hs", "st,clkgena-divmux" | ||
13 | "st,clkgena-divmux-c65-ls", "st,clkgena-divmux" | ||
14 | "st,clkgena-divmux-c32-odf0", "st,clkgena-divmux" | ||
15 | "st,clkgena-divmux-c32-odf1", "st,clkgena-divmux" | ||
16 | "st,clkgena-divmux-c32-odf2", "st,clkgena-divmux" | ||
17 | "st,clkgena-divmux-c32-odf3", "st,clkgena-divmux" | ||
18 | |||
19 | - #clock-cells : From common clock binding; shall be set to 1. | ||
20 | |||
21 | - clocks : From common clock binding | ||
22 | |||
23 | - clock-output-names : From common clock binding. | ||
24 | |||
25 | Example: | ||
26 | |||
27 | clockgenA@fd345000 { | ||
28 | reg = <0xfd345000 0xb50>; | ||
29 | |||
30 | CLK_M_A1_DIV1: CLK_M_A1_DIV1 { | ||
31 | #clock-cells = <1>; | ||
32 | compatible = "st,clkgena-divmux-c32-odf1", | ||
33 | "st,clkgena-divmux"; | ||
34 | |||
35 | clocks = <&CLK_M_A1_OSC_PREDIV>, | ||
36 | <&CLK_M_A1_PLL0 1>, /* PLL0 PHI1 */ | ||
37 | <&CLK_M_A1_PLL1 1>; /* PLL1 PHI1 */ | ||
38 | |||
39 | clock-output-names = "CLK_M_RX_ICN_TS", | ||
40 | "CLK_M_RX_ICN_VDP_0", | ||
41 | "", /* Unused */ | ||
42 | "CLK_M_PRV_T1_BUS", | ||
43 | "CLK_M_ICN_REG_12", | ||
44 | "CLK_M_ICN_REG_10", | ||
45 | "", /* Unused */ | ||
46 | "CLK_M_ICN_ST231"; | ||
47 | }; | ||
48 | }; | ||
49 | |||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt new file mode 100644 index 000000000000..943e0808e212 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | Binding for a ST multiplexed clock driver. | ||
2 | |||
3 | This binding supports only simple indexed multiplexers, it does not | ||
4 | support table based parent index to hardware value translations. | ||
5 | |||
6 | This binding uses the common clock binding[1]. | ||
7 | |||
8 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
9 | |||
10 | Required properties: | ||
11 | |||
12 | - compatible : shall be: | ||
13 | "st,stih416-clkgenc-vcc-hd", "st,clkgen-mux" | ||
14 | "st,stih416-clkgenf-vcc-fvdp", "st,clkgen-mux" | ||
15 | "st,stih416-clkgenf-vcc-hva", "st,clkgen-mux" | ||
16 | "st,stih416-clkgenf-vcc-hd", "st,clkgen-mux" | ||
17 | "st,stih416-clkgenf-vcc-sd", "st,clkgen-mux" | ||
18 | "st,stih415-clkgen-a9-mux", "st,clkgen-mux" | ||
19 | "st,stih416-clkgen-a9-mux", "st,clkgen-mux" | ||
20 | |||
21 | |||
22 | - #clock-cells : from common clock binding; shall be set to 0. | ||
23 | |||
24 | - reg : A Base address and length of the register set. | ||
25 | |||
26 | - clocks : from common clock binding | ||
27 | |||
28 | Example: | ||
29 | |||
30 | CLK_M_HVA: CLK_M_HVA { | ||
31 | #clock-cells = <0>; | ||
32 | compatible = "st,stih416-clkgenf-vcc-hva", "st,clkgen-mux"; | ||
33 | reg = <0xfd690868 4>; | ||
34 | |||
35 | clocks = <&CLOCKGEN_F 1>, <&CLK_M_A1_DIV0 3>; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt new file mode 100644 index 000000000000..81eb3855ab92 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | Binding for a ST pll clock driver. | ||
2 | |||
3 | This binding uses the common clock binding[1]. | ||
4 | Base address is located to the parent node. See clock binding[2] | ||
5 | |||
6 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
7 | [2] Documentation/devicetree/bindings/clock/st/st,clkgen.txt | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible : shall be: | ||
12 | "st,clkgena-prediv-c65", "st,clkgena-prediv" | ||
13 | "st,clkgena-prediv-c32", "st,clkgena-prediv" | ||
14 | |||
15 | "st,clkgena-plls-c65" | ||
16 | "st,plls-c32-a1x-0", "st,clkgen-plls-c32" | ||
17 | "st,plls-c32-a1x-1", "st,clkgen-plls-c32" | ||
18 | "st,stih415-plls-c32-a9", "st,clkgen-plls-c32" | ||
19 | "st,stih415-plls-c32-ddr", "st,clkgen-plls-c32" | ||
20 | "st,stih416-plls-c32-a9", "st,clkgen-plls-c32" | ||
21 | "st,stih416-plls-c32-ddr", "st,clkgen-plls-c32" | ||
22 | |||
23 | "st,stih415-gpu-pll-c32", "st,clkgengpu-pll-c32" | ||
24 | "st,stih416-gpu-pll-c32", "st,clkgengpu-pll-c32" | ||
25 | |||
26 | |||
27 | - #clock-cells : From common clock binding; shall be set to 1. | ||
28 | |||
29 | - clocks : From common clock binding | ||
30 | |||
31 | - clock-output-names : From common clock binding. | ||
32 | |||
33 | Example: | ||
34 | |||
35 | clockgenA@fee62000 { | ||
36 | reg = <0xfee62000 0xb48>; | ||
37 | |||
38 | CLK_S_A0_PLL: CLK_S_A0_PLL { | ||
39 | #clock-cells = <1>; | ||
40 | compatible = "st,clkgena-plls-c65"; | ||
41 | |||
42 | clocks = <&CLK_SYSIN>; | ||
43 | |||
44 | clock-output-names = "CLK_S_A0_PLL0_HS", | ||
45 | "CLK_S_A0_PLL0_LS", | ||
46 | "CLK_S_A0_PLL1"; | ||
47 | }; | ||
48 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt new file mode 100644 index 000000000000..566c9d79ed32 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | Binding for a ST pre-divider clock driver. | ||
2 | |||
3 | This binding uses the common clock binding[1]. | ||
4 | Base address is located to the parent node. See clock binding[2] | ||
5 | |||
6 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
7 | [2] Documentation/devicetree/bindings/clock/st/st,clkgen.txt | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible : shall be: | ||
12 | "st,clkgena-prediv-c65", "st,clkgena-prediv" | ||
13 | "st,clkgena-prediv-c32", "st,clkgena-prediv" | ||
14 | |||
15 | - #clock-cells : From common clock binding; shall be set to 0. | ||
16 | |||
17 | - clocks : From common clock binding | ||
18 | |||
19 | - clock-output-names : From common clock binding. | ||
20 | |||
21 | Example: | ||
22 | |||
23 | clockgenA@fd345000 { | ||
24 | reg = <0xfd345000 0xb50>; | ||
25 | |||
26 | CLK_M_A2_OSC_PREDIV: CLK_M_A2_OSC_PREDIV { | ||
27 | #clock-cells = <0>; | ||
28 | compatible = "st,clkgena-prediv-c32", | ||
29 | "st,clkgena-prediv"; | ||
30 | |||
31 | clocks = <&CLK_SYSIN>; | ||
32 | |||
33 | clock-output-names = "CLK_M_A2_OSC_PREDIV"; | ||
34 | }; | ||
35 | }; | ||
36 | |||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt new file mode 100644 index 000000000000..4e3ff28b04c3 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | Binding for a type of STMicroelectronics clock crossbar (VCC). | ||
2 | |||
3 | The crossbar can take up to 4 input clocks and control up to 16 | ||
4 | output clocks. Not all inputs or outputs have to be in use in a | ||
5 | particular instantiation. Each output can be individually enabled, | ||
6 | select any of the input clocks and apply a divide (by 1,2,4 or 8) to | ||
7 | that selected clock. | ||
8 | |||
9 | This binding uses the common clock binding[1]. | ||
10 | |||
11 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
12 | |||
13 | Required properties: | ||
14 | |||
15 | - compatible : shall be: | ||
16 | "st,stih416-clkgenc", "st,vcc" | ||
17 | "st,stih416-clkgenf", "st,vcc" | ||
18 | |||
19 | - #clock-cells : from common clock binding; shall be set to 1. | ||
20 | |||
21 | - reg : A Base address and length of the register set. | ||
22 | |||
23 | - clocks : from common clock binding | ||
24 | |||
25 | - clock-output-names : From common clock binding. The block has 16 | ||
26 | clock outputs but not all of them in a specific instance | ||
27 | have to be used in the SoC. If a clock name is left as | ||
28 | an empty string then no clock will be created for the | ||
29 | output associated with that string index. If fewer than | ||
30 | 16 strings are provided then no clocks will be created | ||
31 | for the remaining outputs. | ||
32 | |||
33 | Example: | ||
34 | |||
35 | CLOCKGEN_C_VCC: CLOCKGEN_C_VCC { | ||
36 | #clock-cells = <1>; | ||
37 | compatible = "st,stih416-clkgenc", "st,clkgen-vcc"; | ||
38 | reg = <0xfe8308ac 12>; | ||
39 | |||
40 | clocks = <&CLK_S_VCC_HD>, <&CLOCKGEN_C 1>, | ||
41 | <&CLK_S_TMDS_FROMPHY>, <&CLOCKGEN_C 2>; | ||
42 | |||
43 | clock-output-names = | ||
44 | "CLK_S_PIX_HDMI", "CLK_S_PIX_DVO", | ||
45 | "CLK_S_OUT_DVO", "CLK_S_PIX_HD", | ||
46 | "CLK_S_HDDAC", "CLK_S_DENC", | ||
47 | "CLK_S_SDDAC", "CLK_S_PIX_MAIN", | ||
48 | "CLK_S_PIX_AUX", "CLK_S_STFE_FRC_0", | ||
49 | "CLK_S_REF_MCRU", "CLK_S_SLAVE_MCRU", | ||
50 | "CLK_S_TMDS_HDMI", "CLK_S_HDMI_REJECT_PLL", | ||
51 | "CLK_S_THSENS"; | ||
52 | }; | ||
53 | |||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen.txt new file mode 100644 index 000000000000..49ec5ae18b5b --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen.txt | |||
@@ -0,0 +1,83 @@ | |||
1 | Binding for a Clockgen hardware block found on | ||
2 | certain STMicroelectronics consumer electronics SoC devices. | ||
3 | |||
4 | A Clockgen node can contain pll, diviser or multiplexer nodes. | ||
5 | |||
6 | We will find only the base address of the Clockgen, this base | ||
7 | address is common of all subnode. | ||
8 | |||
9 | clockgen_node { | ||
10 | reg = <>; | ||
11 | |||
12 | pll_node { | ||
13 | ... | ||
14 | }; | ||
15 | |||
16 | prediv_node { | ||
17 | ... | ||
18 | }; | ||
19 | |||
20 | divmux_node { | ||
21 | ... | ||
22 | }; | ||
23 | |||
24 | quadfs_node { | ||
25 | ... | ||
26 | }; | ||
27 | ... | ||
28 | }; | ||
29 | |||
30 | This binding uses the common clock binding[1]. | ||
31 | Each subnode should use the binding discribe in [2]..[4] | ||
32 | |||
33 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
34 | [2] Documentation/devicetree/bindings/clock/st,quadfs.txt | ||
35 | [3] Documentation/devicetree/bindings/clock/st,quadfs.txt | ||
36 | [4] Documentation/devicetree/bindings/clock/st,quadfs.txt | ||
37 | |||
38 | Required properties: | ||
39 | - reg : A Base address and length of the register set. | ||
40 | |||
41 | Example: | ||
42 | |||
43 | clockgenA@fee62000 { | ||
44 | |||
45 | reg = <0xfee62000 0xb48>; | ||
46 | |||
47 | CLK_S_A0_PLL: CLK_S_A0_PLL { | ||
48 | #clock-cells = <1>; | ||
49 | compatible = "st,clkgena-plls-c65"; | ||
50 | |||
51 | clocks = <&CLK_SYSIN>; | ||
52 | |||
53 | clock-output-names = "CLK_S_A0_PLL0_HS", | ||
54 | "CLK_S_A0_PLL0_LS", | ||
55 | "CLK_S_A0_PLL1"; | ||
56 | }; | ||
57 | |||
58 | CLK_S_A0_OSC_PREDIV: CLK_S_A0_OSC_PREDIV { | ||
59 | #clock-cells = <0>; | ||
60 | compatible = "st,clkgena-prediv-c65", | ||
61 | "st,clkgena-prediv"; | ||
62 | |||
63 | clocks = <&CLK_SYSIN>; | ||
64 | |||
65 | clock-output-names = "CLK_S_A0_OSC_PREDIV"; | ||
66 | }; | ||
67 | |||
68 | CLK_S_A0_HS: CLK_S_A0_HS { | ||
69 | #clock-cells = <1>; | ||
70 | compatible = "st,clkgena-divmux-c65-hs", | ||
71 | "st,clkgena-divmux"; | ||
72 | |||
73 | clocks = <&CLK_S_A0_OSC_PREDIV>, | ||
74 | <&CLK_S_A0_PLL 0>, /* PLL0 HS */ | ||
75 | <&CLK_S_A0_PLL 2>; /* PLL1 */ | ||
76 | |||
77 | clock-output-names = "CLK_S_FDMA_0", | ||
78 | "CLK_S_FDMA_1", | ||
79 | ""; /* CLK_S_JIT_SENSE */ | ||
80 | /* Fourth output unused */ | ||
81 | }; | ||
82 | }; | ||
83 | |||
diff --git a/Documentation/devicetree/bindings/clock/st/st,quadfs.txt b/Documentation/devicetree/bindings/clock/st/st,quadfs.txt new file mode 100644 index 000000000000..ec86d62ca283 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,quadfs.txt | |||
@@ -0,0 +1,45 @@ | |||
1 | Binding for a type of quad channel digital frequency synthesizer found on | ||
2 | certain STMicroelectronics consumer electronics SoC devices. | ||
3 | |||
4 | This version contains a programmable PLL which can generate up to 216, 432 | ||
5 | or 660MHz (from a 30MHz oscillator input) as the input to the digital | ||
6 | synthesizers. | ||
7 | |||
8 | This binding uses the common clock binding[1]. | ||
9 | |||
10 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
11 | |||
12 | Required properties: | ||
13 | - compatible : shall be: | ||
14 | "st,stih416-quadfs216", "st,quadfs" | ||
15 | "st,stih416-quadfs432", "st,quadfs" | ||
16 | "st,stih416-quadfs660-E", "st,quadfs" | ||
17 | "st,stih416-quadfs660-F", "st,quadfs" | ||
18 | |||
19 | - #clock-cells : from common clock binding; shall be set to 1. | ||
20 | |||
21 | - reg : A Base address and length of the register set. | ||
22 | |||
23 | - clocks : from common clock binding | ||
24 | |||
25 | - clock-output-names : From common clock binding. The block has 4 | ||
26 | clock outputs but not all of them in a specific instance | ||
27 | have to be used in the SoC. If a clock name is left as | ||
28 | an empty string then no clock will be created for the | ||
29 | output associated with that string index. If fewer than | ||
30 | 4 strings are provided then no clocks will be created | ||
31 | for the remaining outputs. | ||
32 | |||
33 | Example: | ||
34 | |||
35 | CLOCKGEN_E: CLOCKGEN_E { | ||
36 | #clock-cells = <1>; | ||
37 | compatible = "st,stih416-quadfs660-E", "st,quadfs"; | ||
38 | reg = <0xfd3208bc 0xB0>; | ||
39 | |||
40 | clocks = <&CLK_SYSIN>; | ||
41 | clock-output-names = "CLK_M_PIX_MDTP_0", | ||
42 | "CLK_M_PIX_MDTP_1", | ||
43 | "CLK_M_PIX_MDTP_2", | ||
44 | "CLK_M_MPELPC"; | ||
45 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt index c2cb7621ad2d..a5160d8cbb5f 100644 --- a/Documentation/devicetree/bindings/clock/sunxi.txt +++ b/Documentation/devicetree/bindings/clock/sunxi.txt | |||
@@ -6,37 +6,41 @@ This binding uses the common clock binding[1]. | |||
6 | 6 | ||
7 | Required properties: | 7 | Required properties: |
8 | - compatible : shall be one of the following: | 8 | - compatible : shall be one of the following: |
9 | "allwinner,sun4i-osc-clk" - for a gatable oscillator | 9 | "allwinner,sun4i-a10-osc-clk" - for a gatable oscillator |
10 | "allwinner,sun4i-pll1-clk" - for the main PLL clock and PLL4 | 10 | "allwinner,sun4i-a10-pll1-clk" - for the main PLL clock and PLL4 |
11 | "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31 | 11 | "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31 |
12 | "allwinner,sun4i-pll5-clk" - for the PLL5 clock | 12 | "allwinner,sun4i-a10-pll5-clk" - for the PLL5 clock |
13 | "allwinner,sun4i-pll6-clk" - for the PLL6 clock | 13 | "allwinner,sun4i-a10-pll6-clk" - for the PLL6 clock |
14 | "allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock | 14 | "allwinner,sun6i-a31-pll6-clk" - for the PLL6 clock on A31 |
15 | "allwinner,sun4i-axi-clk" - for the AXI clock | 15 | "allwinner,sun4i-a10-cpu-clk" - for the CPU multiplexer clock |
16 | "allwinner,sun4i-axi-gates-clk" - for the AXI gates | 16 | "allwinner,sun4i-a10-axi-clk" - for the AXI clock |
17 | "allwinner,sun4i-ahb-clk" - for the AHB clock | 17 | "allwinner,sun4i-a10-axi-gates-clk" - for the AXI gates |
18 | "allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10 | 18 | "allwinner,sun4i-a10-ahb-clk" - for the AHB clock |
19 | "allwinner,sun4i-a10-ahb-gates-clk" - for the AHB gates on A10 | ||
19 | "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13 | 20 | "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13 |
20 | "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s | 21 | "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s |
21 | "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20 | 22 | "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20 |
22 | "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31 | 23 | "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31 |
23 | "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31 | 24 | "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31 |
24 | "allwinner,sun4i-apb0-clk" - for the APB0 clock | 25 | "allwinner,sun4i-a10-apb0-clk" - for the APB0 clock |
25 | "allwinner,sun4i-apb0-gates-clk" - for the APB0 gates on A10 | 26 | "allwinner,sun4i-a10-apb0-gates-clk" - for the APB0 gates on A10 |
26 | "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 | 27 | "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 |
27 | "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s | 28 | "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s |
28 | "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20 | 29 | "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20 |
29 | "allwinner,sun4i-apb1-clk" - for the APB1 clock | 30 | "allwinner,sun4i-a10-apb1-clk" - for the APB1 clock |
30 | "allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing | 31 | "allwinner,sun4i-a10-apb1-mux-clk" - for the APB1 clock muxing |
31 | "allwinner,sun4i-apb1-gates-clk" - for the APB1 gates on A10 | 32 | "allwinner,sun4i-a10-apb1-gates-clk" - for the APB1 gates on A10 |
32 | "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13 | 33 | "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13 |
33 | "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s | 34 | "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s |
34 | "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31 | 35 | "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31 |
35 | "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20 | 36 | "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20 |
36 | "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31 | 37 | "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31 |
37 | "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31 | 38 | "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31 |
38 | "allwinner,sun4i-mod0-clk" - for the module 0 family of clocks | 39 | "allwinner,sun4i-a10-mod0-clk" - for the module 0 family of clocks |
39 | "allwinner,sun7i-a20-out-clk" - for the external output clocks | 40 | "allwinner,sun7i-a20-out-clk" - for the external output clocks |
41 | "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31 | ||
42 | "allwinner,sun4i-a10-usb-clk" - for usb gates + resets on A10 / A20 | ||
43 | "allwinner,sun5i-a13-usb-clk" - for usb gates + resets on A13 | ||
40 | 44 | ||
41 | Required properties for all clocks: | 45 | Required properties for all clocks: |
42 | - reg : shall be the control register address for the clock. | 46 | - reg : shall be the control register address for the clock. |
@@ -44,10 +48,17 @@ Required properties for all clocks: | |||
44 | multiplexed clocks, the list order must match the hardware | 48 | multiplexed clocks, the list order must match the hardware |
45 | programming order. | 49 | programming order. |
46 | - #clock-cells : from common clock binding; shall be set to 0 except for | 50 | - #clock-cells : from common clock binding; shall be set to 0 except for |
47 | "allwinner,*-gates-clk" where it shall be set to 1 | 51 | "allwinner,*-gates-clk", "allwinner,sun4i-pll5-clk" and |
52 | "allwinner,sun4i-pll6-clk" where it shall be set to 1 | ||
53 | - clock-output-names : shall be the corresponding names of the outputs. | ||
54 | If the clock module only has one output, the name shall be the | ||
55 | module name. | ||
48 | 56 | ||
49 | Additionally, "allwinner,*-gates-clk" clocks require: | 57 | And "allwinner,*-usb-clk" clocks also require: |
50 | - clock-output-names : the corresponding gate names that the clock controls | 58 | - reset-cells : shall be set to 1 |
59 | |||
60 | For "allwinner,sun7i-a20-gmac-clk", the parent clocks shall be fixed rate | ||
61 | dummy clocks at 25 MHz and 125 MHz, respectively. See example. | ||
51 | 62 | ||
52 | Clock consumers should specify the desired clocks they use with a | 63 | Clock consumers should specify the desired clocks they use with a |
53 | "clocks" phandle cell. Consumers that are using a gated clock should | 64 | "clocks" phandle cell. Consumers that are using a gated clock should |
@@ -56,23 +67,68 @@ offset of the bit controlling this particular gate in the register. | |||
56 | 67 | ||
57 | For example: | 68 | For example: |
58 | 69 | ||
59 | osc24M: osc24M@01c20050 { | 70 | osc24M: clk@01c20050 { |
60 | #clock-cells = <0>; | 71 | #clock-cells = <0>; |
61 | compatible = "allwinner,sun4i-osc-clk"; | 72 | compatible = "allwinner,sun4i-a10-osc-clk"; |
62 | reg = <0x01c20050 0x4>; | 73 | reg = <0x01c20050 0x4>; |
63 | clocks = <&osc24M_fixed>; | 74 | clocks = <&osc24M_fixed>; |
75 | clock-output-names = "osc24M"; | ||
64 | }; | 76 | }; |
65 | 77 | ||
66 | pll1: pll1@01c20000 { | 78 | pll1: clk@01c20000 { |
67 | #clock-cells = <0>; | 79 | #clock-cells = <0>; |
68 | compatible = "allwinner,sun4i-pll1-clk"; | 80 | compatible = "allwinner,sun4i-a10-pll1-clk"; |
69 | reg = <0x01c20000 0x4>; | 81 | reg = <0x01c20000 0x4>; |
70 | clocks = <&osc24M>; | 82 | clocks = <&osc24M>; |
83 | clock-output-names = "pll1"; | ||
84 | }; | ||
85 | |||
86 | pll5: clk@01c20020 { | ||
87 | #clock-cells = <1>; | ||
88 | compatible = "allwinner,sun4i-pll5-clk"; | ||
89 | reg = <0x01c20020 0x4>; | ||
90 | clocks = <&osc24M>; | ||
91 | clock-output-names = "pll5_ddr", "pll5_other"; | ||
71 | }; | 92 | }; |
72 | 93 | ||
73 | cpu: cpu@01c20054 { | 94 | cpu: cpu@01c20054 { |
74 | #clock-cells = <0>; | 95 | #clock-cells = <0>; |
75 | compatible = "allwinner,sun4i-cpu-clk"; | 96 | compatible = "allwinner,sun4i-a10-cpu-clk"; |
76 | reg = <0x01c20054 0x4>; | 97 | reg = <0x01c20054 0x4>; |
77 | clocks = <&osc32k>, <&osc24M>, <&pll1>; | 98 | clocks = <&osc32k>, <&osc24M>, <&pll1>; |
99 | clock-output-names = "cpu"; | ||
100 | }; | ||
101 | |||
102 | mmc0_clk: clk@01c20088 { | ||
103 | #clock-cells = <0>; | ||
104 | compatible = "allwinner,sun4i-mod0-clk"; | ||
105 | reg = <0x01c20088 0x4>; | ||
106 | clocks = <&osc24M>, <&pll6 1>, <&pll5 1>; | ||
107 | clock-output-names = "mmc0"; | ||
108 | }; | ||
109 | |||
110 | mii_phy_tx_clk: clk@2 { | ||
111 | #clock-cells = <0>; | ||
112 | compatible = "fixed-clock"; | ||
113 | clock-frequency = <25000000>; | ||
114 | clock-output-names = "mii_phy_tx"; | ||
115 | }; | ||
116 | |||
117 | gmac_int_tx_clk: clk@3 { | ||
118 | #clock-cells = <0>; | ||
119 | compatible = "fixed-clock"; | ||
120 | clock-frequency = <125000000>; | ||
121 | clock-output-names = "gmac_int_tx"; | ||
122 | }; | ||
123 | |||
124 | gmac_clk: clk@01c20164 { | ||
125 | #clock-cells = <0>; | ||
126 | compatible = "allwinner,sun7i-a20-gmac-clk"; | ||
127 | reg = <0x01c20164 0x4>; | ||
128 | /* | ||
129 | * The first clock must be fixed at 25MHz; | ||
130 | * the second clock must be fixed at 125MHz | ||
131 | */ | ||
132 | clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>; | ||
133 | clock-output-names = "gmac"; | ||
78 | }; | 134 | }; |
diff --git a/Documentation/devicetree/bindings/clock/zynq-7000.txt b/Documentation/devicetree/bindings/clock/zynq-7000.txt index 17b4a94916d6..d93746cf2975 100644 --- a/Documentation/devicetree/bindings/clock/zynq-7000.txt +++ b/Documentation/devicetree/bindings/clock/zynq-7000.txt | |||
@@ -14,6 +14,7 @@ for all clock consumers of PS clocks. | |||
14 | Required properties: | 14 | Required properties: |
15 | - #clock-cells : Must be 1 | 15 | - #clock-cells : Must be 1 |
16 | - compatible : "xlnx,ps7-clkc" | 16 | - compatible : "xlnx,ps7-clkc" |
17 | - reg : SLCR offset and size taken via syscon < 0x100 0x100 > | ||
17 | - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ | 18 | - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ |
18 | (usually 33 MHz oscillators are used for Zynq platforms) | 19 | (usually 33 MHz oscillators are used for Zynq platforms) |
19 | - clock-output-names : List of strings used to name the clock outputs. Shall be | 20 | - clock-output-names : List of strings used to name the clock outputs. Shall be |
@@ -87,10 +88,11 @@ Clock outputs: | |||
87 | 47: dbg_apb | 88 | 47: dbg_apb |
88 | 89 | ||
89 | Example: | 90 | Example: |
90 | clkc: clkc { | 91 | clkc: clkc@100 { |
91 | #clock-cells = <1>; | 92 | #clock-cells = <1>; |
92 | compatible = "xlnx,ps7-clkc"; | 93 | compatible = "xlnx,ps7-clkc"; |
93 | ps-clk-frequency = <33333333>; | 94 | ps-clk-frequency = <33333333>; |
95 | reg = <0x100 0x100>; | ||
94 | clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", | 96 | clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", |
95 | "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", | 97 | "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", |
96 | "dci", "lqspi", "smc", "pcap", "gem0", "gem1", | 98 | "dci", "lqspi", "smc", "pcap", "gem0", "gem1", |
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt index 68b83ecc3850..ee9be9961524 100644 --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | |||
@@ -1,12 +1,16 @@ | |||
1 | * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX | 1 | * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : Should be "fsl,imx31-sdma", "fsl,imx31-to1-sdma", | 4 | - compatible : Should be one of |
5 | "fsl,imx31-to2-sdma", "fsl,imx35-sdma", "fsl,imx35-to1-sdma", | 5 | "fsl,imx25-sdma" |
6 | "fsl,imx35-to2-sdma", "fsl,imx51-sdma", "fsl,imx53-sdma" or | 6 | "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma" |
7 | "fsl,imx6q-sdma". The -to variants should be preferred since they | 7 | "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma" |
8 | allow to determnine the correct ROM script addresses needed for | 8 | "fsl,imx51-sdma" |
9 | the driver to work without additional firmware. | 9 | "fsl,imx53-sdma" |
10 | "fsl,imx6q-sdma" | ||
11 | The -to variants should be preferred since they allow to determnine the | ||
12 | correct ROM script addresses needed for the driver to work without additional | ||
13 | firmware. | ||
10 | - reg : Should contain SDMA registers location and length | 14 | - reg : Should contain SDMA registers location and length |
11 | - interrupts : Should contain SDMA interrupt | 15 | - interrupts : Should contain SDMA interrupt |
12 | - #dma-cells : Must be <3>. | 16 | - #dma-cells : Must be <3>. |
diff --git a/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt b/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt new file mode 100644 index 000000000000..52b93b2c6748 --- /dev/null +++ b/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | ptn3460 bridge bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "nxp,ptn3460" | ||
5 | - reg: i2c address of the bridge | ||
6 | - powerdown-gpio: OF device-tree gpio specification | ||
7 | - reset-gpio: OF device-tree gpio specification | ||
8 | - edid-emulation: The EDID emulation entry to use | ||
9 | +-------+------------+------------------+ | ||
10 | | Value | Resolution | Description | | ||
11 | | 0 | 1024x768 | NXP Generic | | ||
12 | | 1 | 1920x1080 | NXP Generic | | ||
13 | | 2 | 1920x1080 | NXP Generic | | ||
14 | | 3 | 1600x900 | Samsung LTM200KT | | ||
15 | | 4 | 1920x1080 | Samsung LTM230HT | | ||
16 | | 5 | 1366x768 | NXP Generic | | ||
17 | | 6 | 1600x900 | ChiMei M215HGE | | ||
18 | +-------+------------+------------------+ | ||
19 | |||
20 | Example: | ||
21 | lvds-bridge@20 { | ||
22 | compatible = "nxp,ptn3460"; | ||
23 | reg = <0x20>; | ||
24 | powerdown-gpio = <&gpy2 5 1 0 0>; | ||
25 | reset-gpio = <&gpx1 5 1 0 0>; | ||
26 | edid-emulation = <5>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/drm/i2c/tda998x.txt b/Documentation/devicetree/bindings/drm/i2c/tda998x.txt new file mode 100644 index 000000000000..d7df01c5bb3a --- /dev/null +++ b/Documentation/devicetree/bindings/drm/i2c/tda998x.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Device-Tree bindings for the NXP TDA998x HDMI transmitter | ||
2 | |||
3 | Required properties; | ||
4 | - compatible: must be "nxp,tda998x" | ||
5 | |||
6 | Optional properties: | ||
7 | - interrupts: interrupt number and trigger type | ||
8 | default: polling | ||
9 | |||
10 | - pinctrl-0: pin control group to be used for | ||
11 | screen plug/unplug interrupt. | ||
12 | |||
13 | - pinctrl-names: must contain a "default" entry. | ||
14 | |||
15 | - video-ports: 24 bits value which defines how the video controller | ||
16 | output is wired to the TDA998x input - default: <0x230145> | ||
17 | |||
18 | Example: | ||
19 | |||
20 | tda998x: hdmi-encoder { | ||
21 | compatible = "nxp,tda998x"; | ||
22 | reg = <0x70>; | ||
23 | interrupt-parent = <&gpio0>; | ||
24 | interrupts = <27 2>; /* falling edge */ | ||
25 | pinctrl-0 = <&pmx_camera>; | ||
26 | pinctrl-names = "default"; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt b/Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt new file mode 100644 index 000000000000..94ae9f82dcf8 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * ARM Cirrus Logic CLPS711X SYSFLG1 MCTRL GPIOs | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should contain "cirrus,clps711x-mctrl-gpio". | ||
5 | - gpio-controller: Marks the device node as a gpio controller. | ||
6 | - #gpio-cells: Should be two. The first cell is the pin number and | ||
7 | the second cell is used to specify the gpio polarity: | ||
8 | 0 = Active high, | ||
9 | 1 = Active low. | ||
10 | |||
11 | Example: | ||
12 | sysgpio: sysgpio { | ||
13 | compatible = "cirrus,ep7312-mctrl-gpio", | ||
14 | "cirrus,clps711x-mctrl-gpio"; | ||
15 | gpio-controller; | ||
16 | #gpio-cells = <2>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt index a2e839d6e338..5079ba7d6568 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt | |||
@@ -1,13 +1,17 @@ | |||
1 | Davinci GPIO controller bindings | 1 | Davinci/Keystone GPIO controller bindings |
2 | 2 | ||
3 | Required Properties: | 3 | Required Properties: |
4 | - compatible: should be "ti,dm6441-gpio" | 4 | - compatible: should be "ti,dm6441-gpio", "ti,keystone-gpio" |
5 | 5 | ||
6 | - reg: Physical base address of the controller and the size of memory mapped | 6 | - reg: Physical base address of the controller and the size of memory mapped |
7 | registers. | 7 | registers. |
8 | 8 | ||
9 | - gpio-controller : Marks the device node as a gpio controller. | 9 | - gpio-controller : Marks the device node as a gpio controller. |
10 | 10 | ||
11 | - #gpio-cells : Should be two. | ||
12 | - first cell is the pin number | ||
13 | - second cell is used to specify optional parameters (unused) | ||
14 | |||
11 | - interrupt-parent: phandle of the parent interrupt controller. | 15 | - interrupt-parent: phandle of the parent interrupt controller. |
12 | 16 | ||
13 | - interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are | 17 | - interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are |
@@ -27,6 +31,7 @@ Example: | |||
27 | gpio: gpio@1e26000 { | 31 | gpio: gpio@1e26000 { |
28 | compatible = "ti,dm6441-gpio"; | 32 | compatible = "ti,dm6441-gpio"; |
29 | gpio-controller; | 33 | gpio-controller; |
34 | #gpio-cells = <2>; | ||
30 | reg = <0x226000 0x1000>; | 35 | reg = <0x226000 0x1000>; |
31 | interrupt-parent = <&intc>; | 36 | interrupt-parent = <&intc>; |
32 | interrupts = <42 IRQ_TYPE_EDGE_BOTH 43 IRQ_TYPE_EDGE_BOTH | 37 | interrupts = <42 IRQ_TYPE_EDGE_BOTH 43 IRQ_TYPE_EDGE_BOTH |
@@ -39,3 +44,19 @@ gpio: gpio@1e26000 { | |||
39 | interrupt-controller; | 44 | interrupt-controller; |
40 | #interrupt-cells = <2>; | 45 | #interrupt-cells = <2>; |
41 | }; | 46 | }; |
47 | |||
48 | leds { | ||
49 | compatible = "gpio-leds"; | ||
50 | |||
51 | led1 { | ||
52 | label = "davinci:green:usr1"; | ||
53 | gpios = <&gpio 10 GPIO_ACTIVE_HIGH>; | ||
54 | ... | ||
55 | }; | ||
56 | |||
57 | led2 { | ||
58 | label = "davinci:red:debug1"; | ||
59 | gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; | ||
60 | ... | ||
61 | }; | ||
62 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-zevio.txt b/Documentation/devicetree/bindings/gpio/gpio-zevio.txt new file mode 100644 index 000000000000..a37bd9ae2730 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-zevio.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | Zevio GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "lsi,zevio-gpio" | ||
5 | - reg: Address and length of the register set for the device | ||
6 | - #gpio-cells: Should be two. The first cell is the pin number and the | ||
7 | second cell is used to specify optional parameters (currently unused). | ||
8 | - gpio-controller: Marks the device node as a GPIO controller. | ||
9 | |||
10 | Example: | ||
11 | gpio: gpio@90000000 { | ||
12 | compatible = "lsi,zevio-gpio"; | ||
13 | reg = <0x90000000 0x1000>; | ||
14 | gpio-controller; | ||
15 | #gpio-cells = <2>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt index 0c85bb6e3a80..3fb8f53071b8 100644 --- a/Documentation/devicetree/bindings/gpio/gpio.txt +++ b/Documentation/devicetree/bindings/gpio/gpio.txt | |||
@@ -13,11 +13,11 @@ 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". Exact | 16 | GPIO properties should be named "[<name>-]gpios". The exact |
17 | meaning of each gpios property must be documented in the device tree | 17 | meaning of each gpios property must be documented in the device tree |
18 | binding for each device. | 18 | binding for each device. |
19 | 19 | ||
20 | For example, the following could be used to describe gpios pins to use | 20 | For example, the following could be used to describe GPIO pins used |
21 | as chip select lines; with chip selects 0, 1 and 3 populated, and chip | 21 | as chip select lines; with chip selects 0, 1 and 3 populated, and chip |
22 | select 2 left empty: | 22 | select 2 left empty: |
23 | 23 | ||
@@ -44,35 +44,79 @@ whether pin is open-drain and whether pin is logically inverted. | |||
44 | Exact meaning of each specifier cell is controller specific, and must | 44 | Exact meaning of each specifier cell is controller specific, and must |
45 | be documented in the device tree binding for the device. | 45 | be documented in the device tree binding for the device. |
46 | 46 | ||
47 | Example of the node using GPIOs: | 47 | Example of a node using GPIOs: |
48 | 48 | ||
49 | node { | 49 | node { |
50 | gpios = <&qe_pio_e 18 0>; | 50 | gpios = <&qe_pio_e 18 0>; |
51 | }; | 51 | }; |
52 | 52 | ||
53 | In this example gpio-specifier is "18 0" and encodes GPIO pin number, | 53 | In this example gpio-specifier is "18 0" and encodes GPIO pin number, |
54 | and empty GPIO flags as accepted by the "qe_pio_e" gpio-controller. | 54 | and GPIO flags as accepted by the "qe_pio_e" gpio-controller. |
55 | |||
56 | 1.1) GPIO specifier best practices | ||
57 | ---------------------------------- | ||
58 | |||
59 | A gpio-specifier should contain a flag indicating the GPIO polarity; active- | ||
60 | high or active-low. If it does, the follow best practices should be followed: | ||
61 | |||
62 | The gpio-specifier's polarity flag should represent the physical level at the | ||
63 | GPIO controller that achieves (or represents, for inputs) a logically asserted | ||
64 | value at the device. The exact definition of logically asserted should be | ||
65 | defined by the binding for the device. If the board inverts the signal between | ||
66 | the GPIO controller and the device, then the gpio-specifier will represent the | ||
67 | opposite physical level than the signal at the device's pin. | ||
68 | |||
69 | When the device's signal polarity is configurable, the binding for the | ||
70 | device must either: | ||
71 | |||
72 | a) Define a single static polarity for the signal, with the expectation that | ||
73 | any software using that binding would statically program the device to use | ||
74 | that signal polarity. | ||
75 | |||
76 | The static choice of polarity may be either: | ||
77 | |||
78 | a1) (Preferred) Dictated by a binding-specific DT property. | ||
79 | |||
80 | or: | ||
81 | |||
82 | a2) Defined statically by the DT binding itself. | ||
83 | |||
84 | In particular, the polarity cannot be derived from the gpio-specifier, since | ||
85 | that would prevent the DT from separately representing the two orthogonal | ||
86 | concepts of configurable signal polarity in the device, and possible board- | ||
87 | level signal inversion. | ||
88 | |||
89 | or: | ||
90 | |||
91 | b) Pick a single option for device signal polarity, and document this choice | ||
92 | in the binding. The gpio-specifier should represent the polarity of the signal | ||
93 | (at the GPIO controller) assuming that the device is configured for this | ||
94 | particular signal polarity choice. If software chooses to program the device | ||
95 | to generate or receive a signal of the opposite polarity, software will be | ||
96 | responsible for correctly interpreting (inverting) the GPIO signal at the GPIO | ||
97 | controller. | ||
55 | 98 | ||
56 | 2) gpio-controller nodes | 99 | 2) gpio-controller nodes |
57 | ------------------------ | 100 | ------------------------ |
58 | 101 | ||
59 | Every GPIO controller node must both an empty "gpio-controller" | 102 | Every GPIO controller node must contain both an empty "gpio-controller" |
60 | property, and have #gpio-cells contain the size of the gpio-specifier. | 103 | property, and a #gpio-cells integer property, which indicates the number of |
104 | cells in a gpio-specifier. | ||
61 | 105 | ||
62 | Example of two SOC GPIO banks defined as gpio-controller nodes: | 106 | Example of two SOC GPIO banks defined as gpio-controller nodes: |
63 | 107 | ||
64 | qe_pio_a: gpio-controller@1400 { | 108 | qe_pio_a: gpio-controller@1400 { |
65 | #gpio-cells = <2>; | ||
66 | compatible = "fsl,qe-pario-bank-a", "fsl,qe-pario-bank"; | 109 | compatible = "fsl,qe-pario-bank-a", "fsl,qe-pario-bank"; |
67 | reg = <0x1400 0x18>; | 110 | reg = <0x1400 0x18>; |
68 | gpio-controller; | 111 | gpio-controller; |
112 | #gpio-cells = <2>; | ||
69 | }; | 113 | }; |
70 | 114 | ||
71 | qe_pio_e: gpio-controller@1460 { | 115 | qe_pio_e: gpio-controller@1460 { |
72 | #gpio-cells = <2>; | ||
73 | compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank"; | 116 | compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank"; |
74 | reg = <0x1460 0x18>; | 117 | reg = <0x1460 0x18>; |
75 | gpio-controller; | 118 | gpio-controller; |
119 | #gpio-cells = <2>; | ||
76 | }; | 120 | }; |
77 | 121 | ||
78 | 2.1) gpio- and pin-controller interaction | 122 | 2.1) gpio- and pin-controller interaction |
diff --git a/Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt b/Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt new file mode 100644 index 000000000000..dd5d2c0394b1 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | * Synopsys DesignWare APB GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should contain "snps,dw-apb-gpio" | ||
5 | - reg : Address and length of the register set for the device. | ||
6 | - #address-cells : should be 1 (for addressing port subnodes). | ||
7 | - #size-cells : should be 0 (port subnodes). | ||
8 | |||
9 | The GPIO controller has a configurable number of ports, each of which are | ||
10 | represented as child nodes with the following properties: | ||
11 | |||
12 | Required properties: | ||
13 | - compatible : "snps,dw-apb-gpio-port" | ||
14 | - gpio-controller : Marks the device node as a gpio controller. | ||
15 | - #gpio-cells : Should be two. The first cell is the pin number and | ||
16 | the second cell is used to specify the gpio polarity: | ||
17 | 0 = active high | ||
18 | 1 = active low | ||
19 | - reg : The integer port index of the port, a single cell. | ||
20 | |||
21 | Optional properties: | ||
22 | - interrupt-controller : The first port may be configured to be an interrupt | ||
23 | controller. | ||
24 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
25 | interrupt. Shall be set to 2. The first cell defines the interrupt number, | ||
26 | the second encodes the triger flags encoded as described in | ||
27 | Documentation/devicetree/bindings/interrupts.txt | ||
28 | - interrupt-parent : The parent interrupt controller. | ||
29 | - interrupts : The interrupt to the parent controller raised when GPIOs | ||
30 | generate the interrupts. | ||
31 | - snps,nr-gpios : The number of pins in the port, a single cell. | ||
32 | |||
33 | Example: | ||
34 | |||
35 | gpio: gpio@20000 { | ||
36 | compatible = "snps,dw-apb-gpio"; | ||
37 | reg = <0x20000 0x1000>; | ||
38 | #address-cells = <1>; | ||
39 | #size-cells = <0>; | ||
40 | |||
41 | porta: gpio-controller@0 { | ||
42 | compatible = "snps,dw-apb-gpio-port"; | ||
43 | gpio-controller; | ||
44 | #gpio-cells = <2>; | ||
45 | snps,nr-gpios = <8>; | ||
46 | reg = <0>; | ||
47 | interrupt-controller; | ||
48 | #interrupt-cells = <2>; | ||
49 | interrupt-parent = <&vic1>; | ||
50 | interrupts = <0>; | ||
51 | }; | ||
52 | |||
53 | portb: gpio-controller@1 { | ||
54 | compatible = "snps,dw-apb-gpio-port"; | ||
55 | gpio-controller; | ||
56 | #gpio-cells = <2>; | ||
57 | snps,nr-gpios = <8>; | ||
58 | reg = <1>; | ||
59 | }; | ||
60 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt index efaeec8961b6..efa8b8451f93 100644 --- a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt +++ b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt | |||
@@ -190,6 +190,48 @@ of the following host1x client modules: | |||
190 | - nvidia,edid: supplies a binary EDID blob | 190 | - nvidia,edid: supplies a binary EDID blob |
191 | - nvidia,panel: phandle of a display panel | 191 | - nvidia,panel: phandle of a display panel |
192 | 192 | ||
193 | - sor: serial output resource | ||
194 | |||
195 | Required properties: | ||
196 | - compatible: "nvidia,tegra124-sor" | ||
197 | - reg: Physical base address and length of the controller's registers. | ||
198 | - interrupts: The interrupt outputs from the controller. | ||
199 | - clocks: Must contain an entry for each entry in clock-names. | ||
200 | See ../clocks/clock-bindings.txt for details. | ||
201 | - clock-names: Must include the following entries: | ||
202 | - sor: clock input for the SOR hardware | ||
203 | - parent: input for the pixel clock | ||
204 | - dp: reference clock for the SOR clock | ||
205 | - safe: safe reference for the SOR clock during power up | ||
206 | - resets: Must contain an entry for each entry in reset-names. | ||
207 | See ../reset/reset.txt for details. | ||
208 | - reset-names: Must include the following entries: | ||
209 | - sor | ||
210 | |||
211 | Optional properties: | ||
212 | - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing | ||
213 | - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection | ||
214 | - nvidia,edid: supplies a binary EDID blob | ||
215 | - nvidia,panel: phandle of a display panel | ||
216 | |||
217 | Optional properties when driving an eDP output: | ||
218 | - nvidia,dpaux: phandle to a DispayPort AUX interface | ||
219 | |||
220 | - dpaux: DisplayPort AUX interface | ||
221 | - compatible: "nvidia,tegra124-dpaux" | ||
222 | - reg: Physical base address and length of the controller's registers. | ||
223 | - interrupts: The interrupt outputs from the controller. | ||
224 | - clocks: Must contain an entry for each entry in clock-names. | ||
225 | See ../clocks/clock-bindings.txt for details. | ||
226 | - clock-names: Must include the following entries: | ||
227 | - dpaux: clock input for the DPAUX hardware | ||
228 | - parent: reference clock | ||
229 | - resets: Must contain an entry for each entry in reset-names. | ||
230 | See ../reset/reset.txt for details. | ||
231 | - reset-names: Must include the following entries: | ||
232 | - dpaux | ||
233 | - vdd-supply: phandle of a supply that powers the DisplayPort link | ||
234 | |||
193 | Example: | 235 | Example: |
194 | 236 | ||
195 | / { | 237 | / { |
diff --git a/Documentation/devicetree/bindings/graph.txt b/Documentation/devicetree/bindings/graph.txt new file mode 100644 index 000000000000..1a69c078adf2 --- /dev/null +++ b/Documentation/devicetree/bindings/graph.txt | |||
@@ -0,0 +1,129 @@ | |||
1 | Common bindings for device graphs | ||
2 | |||
3 | General concept | ||
4 | --------------- | ||
5 | |||
6 | The hierarchical organisation of the device tree is well suited to describe | ||
7 | control flow to devices, but there can be more complex connections between | ||
8 | devices that work together to form a logical compound device, following an | ||
9 | arbitrarily complex graph. | ||
10 | There already is a simple directed graph between devices tree nodes using | ||
11 | phandle properties pointing to other nodes to describe connections that | ||
12 | can not be inferred from device tree parent-child relationships. The device | ||
13 | tree graph bindings described herein abstract more complex devices that can | ||
14 | have multiple specifiable ports, each of which can be linked to one or more | ||
15 | ports of other devices. | ||
16 | |||
17 | These common bindings do not contain any information about the direction or | ||
18 | type of the connections, they just map their existence. Specific properties | ||
19 | may be described by specialized bindings depending on the type of connection. | ||
20 | |||
21 | To see how this binding applies to video pipelines, for example, see | ||
22 | Documentation/device-tree/bindings/media/video-interfaces.txt. | ||
23 | Here the ports describe data interfaces, and the links between them are | ||
24 | the connecting data buses. A single port with multiple connections can | ||
25 | correspond to multiple devices being connected to the same physical bus. | ||
26 | |||
27 | Organisation of ports and endpoints | ||
28 | ----------------------------------- | ||
29 | |||
30 | Ports are described by child 'port' nodes contained in the device node. | ||
31 | Each port node contains an 'endpoint' subnode for each remote device port | ||
32 | connected to this port. If a single port is connected to more than one | ||
33 | remote device, an 'endpoint' child node must be provided for each link. | ||
34 | If more than one port is present in a device node or there is more than one | ||
35 | endpoint at a port, or a port node needs to be associated with a selected | ||
36 | hardware interface, a common scheme using '#address-cells', '#size-cells' | ||
37 | and 'reg' properties is used number the nodes. | ||
38 | |||
39 | device { | ||
40 | ... | ||
41 | #address-cells = <1>; | ||
42 | #size-cells = <0>; | ||
43 | |||
44 | port@0 { | ||
45 | #address-cells = <1>; | ||
46 | #size-cells = <0>; | ||
47 | reg = <0>; | ||
48 | |||
49 | endpoint@0 { | ||
50 | reg = <0>; | ||
51 | ... | ||
52 | }; | ||
53 | endpoint@1 { | ||
54 | reg = <1>; | ||
55 | ... | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | port@1 { | ||
60 | reg = <1>; | ||
61 | |||
62 | endpoint { ... }; | ||
63 | }; | ||
64 | }; | ||
65 | |||
66 | All 'port' nodes can be grouped under an optional 'ports' node, which | ||
67 | allows to specify #address-cells, #size-cells properties for the 'port' | ||
68 | nodes independently from any other child device nodes a device might | ||
69 | have. | ||
70 | |||
71 | device { | ||
72 | ... | ||
73 | ports { | ||
74 | #address-cells = <1>; | ||
75 | #size-cells = <0>; | ||
76 | |||
77 | port@0 { | ||
78 | ... | ||
79 | endpoint@0 { ... }; | ||
80 | endpoint@1 { ... }; | ||
81 | }; | ||
82 | |||
83 | port@1 { ... }; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | Links between endpoints | ||
88 | ----------------------- | ||
89 | |||
90 | Each endpoint should contain a 'remote-endpoint' phandle property that points | ||
91 | to the corresponding endpoint in the port of the remote device. In turn, the | ||
92 | remote endpoint should contain a 'remote-endpoint' property. If it has one, | ||
93 | it must not point to another than the local endpoint. Two endpoints with their | ||
94 | 'remote-endpoint' phandles pointing at each other form a link between the | ||
95 | containing ports. | ||
96 | |||
97 | device-1 { | ||
98 | port { | ||
99 | device_1_output: endpoint { | ||
100 | remote-endpoint = <&device_2_input>; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | device-2 { | ||
106 | port { | ||
107 | device_2_input: endpoint { | ||
108 | remote-endpoint = <&device_1_output>; | ||
109 | }; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | |||
114 | Required properties | ||
115 | ------------------- | ||
116 | |||
117 | If there is more than one 'port' or more than one 'endpoint' node or 'reg' | ||
118 | property is present in port and/or endpoint nodes the following properties | ||
119 | are required in a relevant parent node: | ||
120 | |||
121 | - #address-cells : number of cells required to define port/endpoint | ||
122 | identifier, should be 1. | ||
123 | - #size-cells : should be zero. | ||
124 | |||
125 | Optional endpoint properties | ||
126 | ---------------------------- | ||
127 | |||
128 | - remote-endpoint: phandle to an 'endpoint' subnode of a remote device node. | ||
129 | |||
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index 1a1ac2e560e9..71724d026ffa 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -18,6 +18,7 @@ atmel,24c02 i2c serial eeprom (24cxx) | |||
18 | atmel,at97sc3204t i2c trusted platform module (TPM) | 18 | atmel,at97sc3204t i2c trusted platform module (TPM) |
19 | capella,cm32181 CM32181: Ambient Light Sensor | 19 | capella,cm32181 CM32181: Ambient Light Sensor |
20 | catalyst,24c32 i2c serial eeprom | 20 | catalyst,24c32 i2c serial eeprom |
21 | cirrus,cs42l51 Cirrus Logic CS42L51 audio codec | ||
21 | dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock | 22 | dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock |
22 | dallas,ds1338 I2C RTC with 56-Byte NV RAM | 23 | dallas,ds1338 I2C RTC with 56-Byte NV RAM |
23 | dallas,ds1339 I2C Serial Real-Time Clock | 24 | dallas,ds1339 I2C Serial Real-Time Clock |
@@ -58,6 +59,7 @@ plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch | |||
58 | ramtron,24c64 i2c serial eeprom (24cxx) | 59 | ramtron,24c64 i2c serial eeprom (24cxx) |
59 | ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | 60 | ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC |
60 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) | 61 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) |
62 | sii,s35390a 2-wire CMOS real-time clock | ||
61 | st-micro,24c256 i2c serial eeprom (24cxx) | 63 | st-micro,24c256 i2c serial eeprom (24cxx) |
62 | stm,m41t00 Serial Access TIMEKEEPER | 64 | stm,m41t00 Serial Access TIMEKEEPER |
63 | stm,m41t62 Serial real-time clock (RTC) with alarm | 65 | stm,m41t62 Serial real-time clock (RTC) with alarm |
diff --git a/Documentation/devicetree/bindings/arm/atmel-adc.txt b/Documentation/devicetree/bindings/iio/adc/at91_adc.txt index d1061469f63d..0f813dec5e08 100644 --- a/Documentation/devicetree/bindings/arm/atmel-adc.txt +++ b/Documentation/devicetree/bindings/iio/adc/at91_adc.txt | |||
@@ -5,32 +5,35 @@ Required properties: | |||
5 | <chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5" | 5 | <chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5" |
6 | - reg: Should contain ADC registers location and length | 6 | - reg: Should contain ADC registers location and length |
7 | - interrupts: Should contain the IRQ line for the ADC | 7 | - interrupts: Should contain the IRQ line for the ADC |
8 | - atmel,adc-channels-used: Bitmask of the channels muxed and enable for this | 8 | - clock-names: tuple listing input clock names. |
9 | Required elements: "adc_clk", "adc_op_clk". | ||
10 | - clocks: phandles to input clocks. | ||
11 | - atmel,adc-channels-used: Bitmask of the channels muxed and enabled for this | ||
9 | device | 12 | device |
10 | - atmel,adc-startup-time: Startup Time of the ADC in microseconds as | 13 | - atmel,adc-startup-time: Startup Time of the ADC in microseconds as |
11 | defined in the datasheet | 14 | defined in the datasheet |
12 | - atmel,adc-vref: Reference voltage in millivolts for the conversions | 15 | - atmel,adc-vref: Reference voltage in millivolts for the conversions |
13 | - atmel,adc-res: List of resolution in bits supported by the ADC. List size | 16 | - atmel,adc-res: List of resolutions in bits supported by the ADC. List size |
14 | must be two at least. | 17 | must be two at least. |
15 | - atmel,adc-res-names: Contains one identifier string for each resolution | 18 | - atmel,adc-res-names: Contains one identifier string for each resolution |
16 | in atmel,adc-res property. "lowres" and "highres" | 19 | in atmel,adc-res property. "lowres" and "highres" |
17 | identifiers are required. | 20 | identifiers are required. |
18 | 21 | ||
19 | Optional properties: | 22 | Optional properties: |
20 | - atmel,adc-use-external: Boolean to enable of external triggers | 23 | - atmel,adc-use-external-triggers: Boolean to enable the external triggers |
21 | - atmel,adc-use-res: String corresponding to an identifier from | 24 | - atmel,adc-use-res: String corresponding to an identifier from |
22 | atmel,adc-res-names property. If not specified, the highest | 25 | atmel,adc-res-names property. If not specified, the highest |
23 | resolution will be used. | 26 | resolution will be used. |
24 | - atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion | 27 | - atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion |
25 | - atmel,adc-sample-hold-time: Sample and Hold Time in microseconds | 28 | - atmel,adc-sample-hold-time: Sample and Hold Time in microseconds |
26 | - atmel,adc-ts-wires: Number of touch screen wires. Should be 4 or 5. If this | 29 | - atmel,adc-ts-wires: Number of touchscreen wires. Should be 4 or 5. If this |
27 | value is set, then adc driver will enable touch screen | 30 | value is set, then the adc driver will enable touchscreen |
28 | support. | 31 | support. |
29 | NOTE: when adc touch screen enabled, the adc hardware trigger will be | 32 | NOTE: when adc touchscreen is enabled, the adc hardware trigger will be |
30 | disabled. Since touch screen will occupied the trigger register. | 33 | disabled. Since touchscreen will occupy the trigger register. |
31 | - atmel,adc-ts-pressure-threshold: a pressure threshold for touchscreen. It | 34 | - atmel,adc-ts-pressure-threshold: a pressure threshold for touchscreen. It |
32 | make touch detect more precision. | 35 | makes touch detection more precise. |
33 | 36 | ||
34 | Optional trigger Nodes: | 37 | Optional trigger Nodes: |
35 | - Required properties: | 38 | - Required properties: |
36 | * trigger-name: Name of the trigger exposed to the user | 39 | * trigger-name: Name of the trigger exposed to the user |
@@ -41,40 +44,43 @@ Optional trigger Nodes: | |||
41 | 44 | ||
42 | Examples: | 45 | Examples: |
43 | adc0: adc@fffb0000 { | 46 | adc0: adc@fffb0000 { |
47 | #address-cells = <1>; | ||
48 | #size-cells = <0>; | ||
44 | compatible = "atmel,at91sam9260-adc"; | 49 | compatible = "atmel,at91sam9260-adc"; |
45 | reg = <0xfffb0000 0x100>; | 50 | reg = <0xfffb0000 0x100>; |
46 | interrupts = <20 4>; | 51 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>; |
47 | atmel,adc-channel-base = <0x30>; | 52 | clocks = <&adc_clk>, <&adc_op_clk>; |
53 | clock-names = "adc_clk", "adc_op_clk"; | ||
48 | atmel,adc-channels-used = <0xff>; | 54 | atmel,adc-channels-used = <0xff>; |
49 | atmel,adc-drdy-mask = <0x10000>; | ||
50 | atmel,adc-num-channels = <8>; | ||
51 | atmel,adc-startup-time = <40>; | 55 | atmel,adc-startup-time = <40>; |
52 | atmel,adc-status-register = <0x1c>; | 56 | atmel,adc-use-external-triggers; |
53 | atmel,adc-trigger-register = <0x08>; | ||
54 | atmel,adc-use-external; | ||
55 | atmel,adc-vref = <3300>; | 57 | atmel,adc-vref = <3300>; |
56 | atmel,adc-res = <8 10>; | 58 | atmel,adc-res = <8 10>; |
57 | atmel,adc-res-names = "lowres", "highres"; | 59 | atmel,adc-res-names = "lowres", "highres"; |
58 | atmel,adc-use-res = "lowres"; | 60 | atmel,adc-use-res = "lowres"; |
59 | 61 | ||
60 | trigger@0 { | 62 | trigger@0 { |
63 | reg = <0>; | ||
61 | trigger-name = "external-rising"; | 64 | trigger-name = "external-rising"; |
62 | trigger-value = <0x1>; | 65 | trigger-value = <0x1>; |
63 | trigger-external; | 66 | trigger-external; |
64 | }; | 67 | }; |
65 | trigger@1 { | 68 | trigger@1 { |
69 | reg = <1>; | ||
66 | trigger-name = "external-falling"; | 70 | trigger-name = "external-falling"; |
67 | trigger-value = <0x2>; | 71 | trigger-value = <0x2>; |
68 | trigger-external; | 72 | trigger-external; |
69 | }; | 73 | }; |
70 | 74 | ||
71 | trigger@2 { | 75 | trigger@2 { |
76 | reg = <2>; | ||
72 | trigger-name = "external-any"; | 77 | trigger-name = "external-any"; |
73 | trigger-value = <0x3>; | 78 | trigger-value = <0x3>; |
74 | trigger-external; | 79 | trigger-external; |
75 | }; | 80 | }; |
76 | 81 | ||
77 | trigger@3 { | 82 | trigger@3 { |
83 | reg = <3>; | ||
78 | trigger-name = "continuous"; | 84 | trigger-name = "continuous"; |
79 | trigger-value = <0x6>; | 85 | trigger-value = <0x6>; |
80 | }; | 86 | }; |
diff --git a/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt b/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt new file mode 100644 index 000000000000..6bdd21404b57 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | * TWL4030 Monitoring Analog to Digital Converter (MADC) | ||
2 | |||
3 | The MADC subsystem in the TWL4030 consists of a 10-bit ADC | ||
4 | combined with a 16-input analog multiplexer. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: Should contain "ti,twl4030-madc". | ||
8 | - interrupts: IRQ line for the MADC submodule. | ||
9 | - #io-channel-cells: Should be set to <1>. | ||
10 | |||
11 | Optional properties: | ||
12 | - ti,system-uses-second-madc-irq: boolean, set if the second madc irq register | ||
13 | should be used, which is intended to be used | ||
14 | by Co-Processors (e.g. a modem). | ||
15 | |||
16 | Example: | ||
17 | |||
18 | &twl { | ||
19 | madc { | ||
20 | compatible = "ti,twl4030-madc"; | ||
21 | interrupts = <3>; | ||
22 | #io-channel-cells = <1>; | ||
23 | }; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/adc/vf610-adc.txt b/Documentation/devicetree/bindings/iio/adc/vf610-adc.txt new file mode 100644 index 000000000000..dcebff1928e1 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/vf610-adc.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | Freescale vf610 Analog to Digital Converter bindings | ||
2 | |||
3 | The devicetree bindings are for the new ADC driver written for | ||
4 | vf610/i.MX6slx and upward SoCs from Freescale. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: Should contain "fsl,vf610-adc" | ||
8 | - reg: Offset and length of the register set for the device | ||
9 | - interrupts: Should contain the interrupt for the device | ||
10 | - clocks: The clock is needed by the ADC controller, ADC clock source is ipg clock. | ||
11 | - clock-names: Must contain "adc", matching entry in the clocks property. | ||
12 | - vref-supply: The regulator supply ADC refrence voltage. | ||
13 | |||
14 | Example: | ||
15 | adc0: adc@4003b000 { | ||
16 | compatible = "fsl,vf610-adc"; | ||
17 | reg = <0x4003b000 0x1000>; | ||
18 | interrupts = <0 53 0x04>; | ||
19 | clocks = <&clks VF610_CLK_ADC0>; | ||
20 | clock-names = "adc"; | ||
21 | vref-supply = <®_vcc_3v3_mcu>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt b/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt new file mode 100644 index 000000000000..d9ee909d2b78 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt | |||
@@ -0,0 +1,113 @@ | |||
1 | Xilinx XADC device driver | ||
2 | |||
3 | This binding document describes the bindings for both of them since the | ||
4 | bindings are very similar. The Xilinx XADC is a ADC that can be found in the | ||
5 | series 7 FPGAs from Xilinx. The XADC has a DRP interface for communication. | ||
6 | Currently two different frontends for the DRP interface exist. One that is only | ||
7 | available on the ZYNQ family as a hardmacro in the SoC portion of the ZYNQ. The | ||
8 | other one is available on all series 7 platforms and is a softmacro with a AXI | ||
9 | interface. This binding document describes the bindings for both of them since | ||
10 | the bindings are very similar. | ||
11 | |||
12 | Required properties: | ||
13 | - compatible: Should be one of | ||
14 | * "xlnx,zynq-xadc-1.00.a": When using the ZYNQ device | ||
15 | configuration interface to interface to the XADC hardmacro. | ||
16 | * "xlnx,axi-xadc-1.00.a": When using the axi-xadc pcore to | ||
17 | interface to the XADC hardmacro. | ||
18 | - reg: Address and length of the register set for the device | ||
19 | - interrupts: Interrupt for the XADC control interface. | ||
20 | - clocks: When using the ZYNQ this must be the ZYNQ PCAP clock, | ||
21 | when using the AXI-XADC pcore this must be the clock that provides the | ||
22 | clock to the AXI bus interface of the core. | ||
23 | |||
24 | Optional properties: | ||
25 | - interrupt-parent: phandle to the parent interrupt controller | ||
26 | - xlnx,external-mux: | ||
27 | * "none": No external multiplexer is used, this is the default | ||
28 | if the property is omitted. | ||
29 | * "single": External multiplexer mode is used with one | ||
30 | multiplexer. | ||
31 | * "dual": External multiplexer mode is used with two | ||
32 | multiplexers for simultaneous sampling. | ||
33 | - xlnx,external-mux-channel: Configures which pair of pins is used to | ||
34 | sample data in external mux mode. | ||
35 | Valid values for single external multiplexer mode are: | ||
36 | 0: VP/VN | ||
37 | 1: VAUXP[0]/VAUXN[0] | ||
38 | 2: VAUXP[1]/VAUXN[1] | ||
39 | ... | ||
40 | 16: VAUXP[15]/VAUXN[15] | ||
41 | Valid values for dual external multiplexer mode are: | ||
42 | 1: VAUXP[0]/VAUXN[0] - VAUXP[8]/VAUXN[8] | ||
43 | 2: VAUXP[1]/VAUXN[1] - VAUXP[9]/VAUXN[9] | ||
44 | ... | ||
45 | 8: VAUXP[7]/VAUXN[7] - VAUXP[15]/VAUXN[15] | ||
46 | |||
47 | This property needs to be present if the device is configured for | ||
48 | external multiplexer mode (either single or dual). If the device is | ||
49 | not using external multiplexer mode the property is ignored. | ||
50 | - xnlx,channels: List of external channels that are connected to the ADC | ||
51 | Required properties: | ||
52 | * #address-cells: Should be 1. | ||
53 | * #size-cells: Should be 0. | ||
54 | |||
55 | The child nodes of this node represent the external channels which are | ||
56 | connected to the ADC. If the property is no present no external | ||
57 | channels will be assumed to be connected. | ||
58 | |||
59 | Each child node represents one channel and has the following | ||
60 | properties: | ||
61 | Required properties: | ||
62 | * reg: Pair of pins the the channel is connected to. | ||
63 | 0: VP/VN | ||
64 | 1: VAUXP[0]/VAUXN[0] | ||
65 | 2: VAUXP[1]/VAUXN[1] | ||
66 | ... | ||
67 | 16: VAUXP[15]/VAUXN[15] | ||
68 | Note each channel number should only be used at most | ||
69 | once. | ||
70 | Optional properties: | ||
71 | * xlnx,bipolar: If set the channel is used in bipolar | ||
72 | mode. | ||
73 | |||
74 | |||
75 | Examples: | ||
76 | xadc@f8007100 { | ||
77 | compatible = "xlnx,zynq-xadc-1.00.a"; | ||
78 | reg = <0xf8007100 0x20>; | ||
79 | interrupts = <0 7 4>; | ||
80 | interrupt-parent = <&gic>; | ||
81 | clocks = <&pcap_clk>; | ||
82 | |||
83 | xlnx,channels { | ||
84 | #address-cells = <1>; | ||
85 | #size-cells = <0>; | ||
86 | channel@0 { | ||
87 | reg = <0>; | ||
88 | }; | ||
89 | channel@1 { | ||
90 | reg = <1>; | ||
91 | }; | ||
92 | channel@8 { | ||
93 | reg = <8>; | ||
94 | }; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | xadc@43200000 { | ||
99 | compatible = "xlnx,axi-xadc-1.00.a"; | ||
100 | reg = <0x43200000 0x1000>; | ||
101 | interrupts = <0 53 4>; | ||
102 | interrupt-parent = <&gic>; | ||
103 | clocks = <&fpga1_clk>; | ||
104 | |||
105 | xlnx,channels { | ||
106 | #address-cells = <1>; | ||
107 | #size-cells = <0>; | ||
108 | channel@0 { | ||
109 | reg = <0>; | ||
110 | xlnx,bipolar; | ||
111 | }; | ||
112 | }; | ||
113 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/clps711x-keypad.txt b/Documentation/devicetree/bindings/input/clps711x-keypad.txt new file mode 100644 index 000000000000..e68d2bbc6c07 --- /dev/null +++ b/Documentation/devicetree/bindings/input/clps711x-keypad.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * Cirrus Logic CLPS711X matrix keypad device tree bindings | ||
2 | |||
3 | Required Properties: | ||
4 | - compatible: Shall contain "cirrus,clps711x-keypad". | ||
5 | - row-gpios: List of GPIOs used as row lines. | ||
6 | - poll-interval: Poll interval time in milliseconds. | ||
7 | - linux,keymap: The definition can be found at | ||
8 | bindings/input/matrix-keymap.txt. | ||
9 | |||
10 | Optional Properties: | ||
11 | - autorepeat: Enable autorepeat feature. | ||
12 | |||
13 | Example: | ||
14 | keypad { | ||
15 | compatible = "cirrus,ep7312-keypad", "cirrus,clps711x-keypad"; | ||
16 | autorepeat; | ||
17 | poll-interval = <120>; | ||
18 | row-gpios = <&porta 0 0>, | ||
19 | <&porta 1 0>; | ||
20 | |||
21 | linux,keymap = < | ||
22 | MATRIX_KEY(0, 0, KEY_UP) | ||
23 | MATRIX_KEY(0, 1, KEY_DOWN) | ||
24 | MATRIX_KEY(1, 0, KEY_LEFT) | ||
25 | MATRIX_KEY(1, 1, KEY_RIGHT) | ||
26 | >; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt new file mode 100644 index 000000000000..7d8cb92831d7 --- /dev/null +++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt | |||
@@ -0,0 +1,89 @@ | |||
1 | Qualcomm PM8xxx PMIC Keypad | ||
2 | |||
3 | PROPERTIES | ||
4 | |||
5 | - compatible: | ||
6 | Usage: required | ||
7 | Value type: <string> | ||
8 | Definition: must be one of: | ||
9 | "qcom,pm8058-keypad" | ||
10 | "qcom,pm8921-keypad" | ||
11 | |||
12 | - reg: | ||
13 | Usage: required | ||
14 | Value type: <prop-encoded-array> | ||
15 | Definition: address of keypad control register | ||
16 | |||
17 | - interrupts: | ||
18 | Usage: required | ||
19 | Value type: <prop-encoded-array> | ||
20 | Definition: the first interrupt specifies the key sense interrupt | ||
21 | and the second interrupt specifies the key stuck interrupt. | ||
22 | The format of the specifier is defined by the binding | ||
23 | document describing the node's interrupt parent. | ||
24 | |||
25 | - linux,keymap: | ||
26 | Usage: required | ||
27 | Value type: <prop-encoded-array> | ||
28 | Definition: the linux keymap. More information can be found in | ||
29 | input/matrix-keymap.txt. | ||
30 | |||
31 | - linux,keypad-no-autorepeat: | ||
32 | Usage: optional | ||
33 | Value type: <bool> | ||
34 | Definition: don't enable autorepeat feature. | ||
35 | |||
36 | - linux,keypad-wakeup: | ||
37 | Usage: optional | ||
38 | Value type: <bool> | ||
39 | Definition: use any event on keypad as wakeup event. | ||
40 | |||
41 | - keypad,num-rows: | ||
42 | Usage: required | ||
43 | Value type: <u32> | ||
44 | Definition: number of rows in the keymap. More information can be found | ||
45 | in input/matrix-keymap.txt. | ||
46 | |||
47 | - keypad,num-columns: | ||
48 | Usage: required | ||
49 | Value type: <u32> | ||
50 | Definition: number of columns in the keymap. More information can be | ||
51 | found in input/matrix-keymap.txt. | ||
52 | |||
53 | - debounce: | ||
54 | Usage: optional | ||
55 | Value type: <u32> | ||
56 | Definition: time in microseconds that key must be pressed or release | ||
57 | for key sense interrupt to trigger. | ||
58 | |||
59 | - scan-delay: | ||
60 | Usage: optional | ||
61 | Value type: <u32> | ||
62 | Definition: time in microseconds to pause between successive scans | ||
63 | of the matrix array. | ||
64 | |||
65 | - row-hold: | ||
66 | Usage: optional | ||
67 | Value type: <u32> | ||
68 | Definition: time in nanoseconds to pause between scans of each row in | ||
69 | the matrix array. | ||
70 | |||
71 | EXAMPLE | ||
72 | |||
73 | keypad@148 { | ||
74 | compatible = "qcom,pm8921-keypad"; | ||
75 | reg = <0x148>; | ||
76 | interrupt-parent = <&pmicintc>; | ||
77 | interrupts = <74 1>, <75 1>; | ||
78 | linux,keymap = < | ||
79 | MATRIX_KEY(0, 0, KEY_VOLUMEUP) | ||
80 | MATRIX_KEY(0, 1, KEY_VOLUMEDOWN) | ||
81 | MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS) | ||
82 | MATRIX_KEY(0, 3, KEY_CAMERA) | ||
83 | >; | ||
84 | keypad,num-rows = <1>; | ||
85 | keypad,num-columns = <5>; | ||
86 | debounce = <15>; | ||
87 | scan-delay = <32>; | ||
88 | row-hold = <91500>; | ||
89 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt new file mode 100644 index 000000000000..588536cc96ed --- /dev/null +++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | Qualcomm PM8xxx PMIC Power Key | ||
2 | |||
3 | PROPERTIES | ||
4 | |||
5 | - compatible: | ||
6 | Usage: required | ||
7 | Value type: <string> | ||
8 | Definition: must be one of: | ||
9 | "qcom,pm8058-pwrkey" | ||
10 | "qcom,pm8921-pwrkey" | ||
11 | |||
12 | - reg: | ||
13 | Usage: required | ||
14 | Value type: <prop-encoded-array> | ||
15 | Definition: address of power key control register | ||
16 | |||
17 | - interrupts: | ||
18 | Usage: required | ||
19 | Value type: <prop-encoded-array> | ||
20 | Definition: the first interrupt specifies the key release interrupt | ||
21 | and the second interrupt specifies the key press interrupt. | ||
22 | The format of the specifier is defined by the binding | ||
23 | document describing the node's interrupt parent. | ||
24 | |||
25 | - debounce: | ||
26 | Usage: optional | ||
27 | Value type: <u32> | ||
28 | Definition: time in microseconds that key must be pressed or release | ||
29 | for state change interrupt to trigger. | ||
30 | |||
31 | - pull-up: | ||
32 | Usage: optional | ||
33 | Value type: <empty> | ||
34 | Definition: presence of this property indicates that the KPDPWR_N pin | ||
35 | should be configured for pull up. | ||
36 | |||
37 | EXAMPLE | ||
38 | |||
39 | pwrkey@1c { | ||
40 | compatible = "qcom,pm8921-pwrkey"; | ||
41 | reg = <0x1c>; | ||
42 | interrupt-parent = <&pmicintc>; | ||
43 | interrupts = <50 1>, <51 1>; | ||
44 | debounce = <15625>; | ||
45 | pull-up; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt new file mode 100644 index 000000000000..4ed467b1e402 --- /dev/null +++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | Qualcomm PM8xxx PMIC Vibrator | ||
2 | |||
3 | PROPERTIES | ||
4 | |||
5 | - compatible: | ||
6 | Usage: required | ||
7 | Value type: <string> | ||
8 | Definition: must be one of: | ||
9 | "qcom,pm8058-vib" | ||
10 | "qcom,pm8921-vib" | ||
11 | |||
12 | - reg: | ||
13 | Usage: required | ||
14 | Value type: <prop-encoded-array> | ||
15 | Definition: address of vibration control register | ||
16 | |||
17 | EXAMPLE | ||
18 | |||
19 | vibrator@4a { | ||
20 | compatible = "qcom,pm8058-vib"; | ||
21 | reg = <0x4a>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt new file mode 100644 index 000000000000..76db96704a60 --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | FocalTech EDT-FT5x06 Polytouch driver | ||
2 | ===================================== | ||
3 | |||
4 | There are 3 variants of the chip for various touch panel sizes | ||
5 | FT5206GE1 2.8" .. 3.8" | ||
6 | FT5306DE4 4.3" .. 7" | ||
7 | FT5406EE8 7" .. 8.9" | ||
8 | |||
9 | The software interface is identical for all those chips, so that | ||
10 | currently there is no need for the driver to distinguish between the | ||
11 | different chips. Nevertheless distinct compatible strings are used so | ||
12 | that a distinction can be added if necessary without changing the DT | ||
13 | bindings. | ||
14 | |||
15 | |||
16 | Required properties: | ||
17 | - compatible: "edt,edt-ft5206" | ||
18 | or: "edt,edt-ft5306" | ||
19 | or: "edt,edt-ft5406" | ||
20 | |||
21 | - reg: I2C slave address of the chip (0x38) | ||
22 | - interrupt-parent: a phandle pointing to the interrupt controller | ||
23 | serving the interrupt for this chip | ||
24 | - interrupts: interrupt specification for the touchdetect | ||
25 | interrupt | ||
26 | |||
27 | Optional properties: | ||
28 | - reset-gpios: GPIO specification for the RESET input | ||
29 | - wake-gpios: GPIO specification for the WAKE input | ||
30 | |||
31 | - pinctrl-names: should be "default" | ||
32 | - pinctrl-0: a phandle pointing to the pin settings for the | ||
33 | control gpios | ||
34 | |||
35 | - threshold: allows setting the "click"-threshold in the range | ||
36 | from 20 to 80. | ||
37 | |||
38 | - gain: allows setting the sensitivity in the range from 0 to | ||
39 | 31. Note that lower values indicate higher | ||
40 | sensitivity. | ||
41 | |||
42 | - offset: allows setting the edge compensation in the range from | ||
43 | 0 to 31. | ||
44 | |||
45 | Example: | ||
46 | polytouch: edt-ft5x06@38 { | ||
47 | compatible = "edt,edt-ft5406", "edt,edt-ft5x06"; | ||
48 | reg = <0x38>; | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&edt_ft5x06_pins>; | ||
51 | interrupt-parent = <&gpio2>; | ||
52 | interrupts = <5 0>; | ||
53 | reset-gpios = <&gpio2 6 1>; | ||
54 | wake-gpios = <&gpio4 9 0>; | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt b/Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt new file mode 100644 index 000000000000..2faf1f1fa39e --- /dev/null +++ b/Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | * Neonode infrared touchscreen controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "neonode,zforce" | ||
5 | - reg: I2C address of the chip | ||
6 | - interrupts: interrupt to which the chip is connected | ||
7 | - gpios: gpios the chip is connected to | ||
8 | first one is the interrupt gpio and second one the reset gpio | ||
9 | - x-size: horizontal resolution of touchscreen | ||
10 | - y-size: vertical resolution of touchscreen | ||
11 | |||
12 | Example: | ||
13 | |||
14 | i2c@00000000 { | ||
15 | /* ... */ | ||
16 | |||
17 | zforce_ts@50 { | ||
18 | compatible = "neonode,zforce"; | ||
19 | reg = <0x50>; | ||
20 | interrupts = <2 0>; | ||
21 | |||
22 | gpios = <&gpio5 6 0>, /* INT */ | ||
23 | <&gpio5 9 0>; /* RST */ | ||
24 | |||
25 | x-size = <800>; | ||
26 | y-size = <600>; | ||
27 | }; | ||
28 | |||
29 | /* ... */ | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt index 32cec4b26cd0..b290ca150d30 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt | |||
@@ -2,7 +2,7 @@ Allwinner Sunxi Interrupt Controller | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | 4 | ||
5 | - compatible : should be "allwinner,sun4i-ic" | 5 | - compatible : should be "allwinner,sun4i-a10-ic" |
6 | - reg : Specifies base physical address and size of the registers. | 6 | - reg : Specifies base physical address and size of the registers. |
7 | - interrupt-controller : Identifies the node as an interrupt controller | 7 | - interrupt-controller : Identifies the node as an interrupt controller |
8 | - #interrupt-cells : Specifies the number of cells needed to encode an | 8 | - #interrupt-cells : Specifies the number of cells needed to encode an |
@@ -11,7 +11,7 @@ Required properties: | |||
11 | Example: | 11 | Example: |
12 | 12 | ||
13 | intc: interrupt-controller { | 13 | intc: interrupt-controller { |
14 | compatible = "allwinner,sun4i-ic"; | 14 | compatible = "allwinner,sun4i-a10-ic"; |
15 | reg = <0x01c20400 0x400>; | 15 | reg = <0x01c20400 0x400>; |
16 | interrupt-controller; | 16 | interrupt-controller; |
17 | #interrupt-cells = <1>; | 17 | #interrupt-cells = <1>; |
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt new file mode 100644 index 000000000000..d1c5cdabc3e0 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Allwinner Sunxi NMI Controller | ||
2 | ============================== | ||
3 | |||
4 | Required properties: | ||
5 | |||
6 | - compatible : should be "allwinner,sun7i-a20-sc-nmi" or | ||
7 | "allwinner,sun6i-a31-sc-nmi" | ||
8 | - reg : Specifies base physical address and size of the registers. | ||
9 | - interrupt-controller : Identifies the node as an interrupt controller | ||
10 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
11 | interrupt source. The value shall be 2. The first cell is the IRQ number, the | ||
12 | second cell the trigger type as defined in interrupt.txt in this directory. | ||
13 | - interrupt-parent: Specifies the parent interrupt controller. | ||
14 | - interrupts: Specifies the interrupt line (NMI) which is handled by | ||
15 | the interrupt controller in the parent controller's notation. This value | ||
16 | shall be the NMI. | ||
17 | |||
18 | Example: | ||
19 | |||
20 | sc-nmi-intc@01c00030 { | ||
21 | compatible = "allwinner,sun7i-a20-sc-nmi"; | ||
22 | interrupt-controller; | ||
23 | #interrupt-cells = <2>; | ||
24 | reg = <0x01c00030 0x0c>; | ||
25 | interrupt-parent = <&gic>; | ||
26 | interrupts = <0 0 4>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt new file mode 100644 index 000000000000..759339c34e4f --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | Cirrus Logic CLPS711X Interrupt Controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: Should be "cirrus,clps711x-intc". | ||
6 | - reg: Specifies base physical address of the registers set. | ||
7 | - interrupt-controller: Identifies the node as an interrupt controller. | ||
8 | - #interrupt-cells: Specifies the number of cells needed to encode an | ||
9 | interrupt source. The value shall be 1. | ||
10 | |||
11 | The interrupt sources are as follows: | ||
12 | ID Name Description | ||
13 | --------------------------- | ||
14 | 1: BLINT Battery low (FIQ) | ||
15 | 3: MCINT Media changed (FIQ) | ||
16 | 4: CSINT CODEC sound | ||
17 | 5: EINT1 External 1 | ||
18 | 6: EINT2 External 2 | ||
19 | 7: EINT3 External 3 | ||
20 | 8: TC1OI TC1 under flow | ||
21 | 9: TC2OI TC2 under flow | ||
22 | 10: RTCMI RTC compare match | ||
23 | 11: TINT 64Hz tick | ||
24 | 12: UTXINT1 UART1 transmit FIFO half empty | ||
25 | 13: URXINT1 UART1 receive FIFO half full | ||
26 | 14: UMSINT UART1 modem status changed | ||
27 | 15: SSEOTI SSI1 end of transfer | ||
28 | 16: KBDINT Keyboard | ||
29 | 17: SS2RX SSI2 receive FIFO half or greater full | ||
30 | 18: SS2TX SSI2 transmit FIFO less than half empty | ||
31 | 28: UTXINT2 UART2 transmit FIFO half empty | ||
32 | 29: URXINT2 UART2 receive FIFO half full | ||
33 | 32: DAIINT DAI interface (FIQ) | ||
34 | |||
35 | Example: | ||
36 | intc: interrupt-controller { | ||
37 | compatible = "cirrus,clps711x-intc"; | ||
38 | reg = <0x80000000 0x4000>; | ||
39 | interrupt-controller; | ||
40 | #interrupt-cells = <1>; | ||
41 | }; | ||
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt index e34c6cdd8ba8..f284b99402bc 100644 --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt | |||
@@ -48,6 +48,12 @@ conditions. | |||
48 | from the mmu-masters towards memory) node for this | 48 | from the mmu-masters towards memory) node for this |
49 | SMMU. | 49 | SMMU. |
50 | 50 | ||
51 | - calxeda,smmu-secure-config-access : Enable proper handling of buggy | ||
52 | implementations that always use secure access to | ||
53 | SMMU configuration registers. In this case non-secure | ||
54 | aliases of secure registers have to be used during | ||
55 | SMMU configuration. | ||
56 | |||
51 | Example: | 57 | Example: |
52 | 58 | ||
53 | smmu { | 59 | smmu { |
diff --git a/Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt b/Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt new file mode 100644 index 000000000000..42531dc387aa --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | OMAP2+ IOMMU | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be one of, | ||
5 | "ti,omap2-iommu" for OMAP2/OMAP3 IOMMU instances | ||
6 | "ti,omap4-iommu" for OMAP4/OMAP5 IOMMU instances | ||
7 | "ti,dra7-iommu" for DRA7xx IOMMU instances | ||
8 | - ti,hwmods : Name of the hwmod associated with the IOMMU instance | ||
9 | - reg : Address space for the configuration registers | ||
10 | - interrupts : Interrupt specifier for the IOMMU instance | ||
11 | |||
12 | Optional properties: | ||
13 | - ti,#tlb-entries : Number of entries in the translation look-aside buffer. | ||
14 | Should be either 8 or 32 (default: 32) | ||
15 | - ti,iommu-bus-err-back : Indicates the IOMMU instance supports throwing | ||
16 | back a bus error response on MMU faults. | ||
17 | |||
18 | Example: | ||
19 | /* OMAP3 ISP MMU */ | ||
20 | mmu_isp: mmu@480bd400 { | ||
21 | compatible = "ti,omap2-iommu"; | ||
22 | reg = <0x480bd400 0x80>; | ||
23 | interrupts = <24>; | ||
24 | ti,hwmods = "mmu_isp"; | ||
25 | ti,#tlb-entries = <8>; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/img-ir-rev1.txt b/Documentation/devicetree/bindings/media/img-ir-rev1.txt new file mode 100644 index 000000000000..5434ce61b925 --- /dev/null +++ b/Documentation/devicetree/bindings/media/img-ir-rev1.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | * ImgTec Infrared (IR) decoder version 1 | ||
2 | |||
3 | This binding is for Imagination Technologies' Infrared decoder block, | ||
4 | specifically major revision 1. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: Should be "img,ir-rev1" | ||
8 | - reg: Physical base address of the controller and length of | ||
9 | memory mapped region. | ||
10 | - interrupts: The interrupt specifier to the cpu. | ||
11 | |||
12 | Optional properties: | ||
13 | - clocks: List of clock specifiers as described in standard | ||
14 | clock bindings. | ||
15 | Up to 3 clocks may be specified in the following order: | ||
16 | 1st: Core clock (defaults to 32.768KHz if omitted). | ||
17 | 2nd: System side (fast) clock. | ||
18 | 3rd: Power modulation clock. | ||
19 | - clock-names: List of clock names corresponding to the clocks | ||
20 | specified in the clocks property. | ||
21 | Accepted clock names are: | ||
22 | "core": Core clock. | ||
23 | "sys": System clock. | ||
24 | "mod": Power modulation clock. | ||
25 | |||
26 | Example: | ||
27 | |||
28 | ir@02006200 { | ||
29 | compatible = "img,ir-rev1"; | ||
30 | reg = <0x02006200 0x100>; | ||
31 | interrupts = <29 4>; | ||
32 | clocks = <&clk_32khz>; | ||
33 | clock-names = "core"; | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt index 96312f6c4c26..922d6f8e74be 100644 --- a/Documentation/devicetree/bindings/media/samsung-fimc.txt +++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt | |||
@@ -15,11 +15,21 @@ Common 'camera' node | |||
15 | 15 | ||
16 | Required properties: | 16 | Required properties: |
17 | 17 | ||
18 | - compatible : must be "samsung,fimc", "simple-bus" | 18 | - compatible: must be "samsung,fimc", "simple-bus" |
19 | - clocks : list of clock specifiers, corresponding to entries in | 19 | - clocks: list of clock specifiers, corresponding to entries in |
20 | the clock-names property; | 20 | the clock-names property; |
21 | - clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", | 21 | - clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", |
22 | "pxl_async1" entries, matching entries in the clocks property. | 22 | "pxl_async1" entries, matching entries in the clocks property. |
23 | |||
24 | - #clock-cells: from the common clock bindings (../clock/clock-bindings.txt), | ||
25 | must be 1. A clock provider is associated with the 'camera' node and it should | ||
26 | be referenced by external sensors that use clocks provided by the SoC on | ||
27 | CAM_*_CLKOUT pins. The clock specifier cell stores an index of a clock. | ||
28 | The indices are 0, 1 for CAM_A_CLKOUT, CAM_B_CLKOUT clocks respectively. | ||
29 | |||
30 | - clock-output-names: from the common clock bindings, should contain names of | ||
31 | clocks registered by the camera subsystem corresponding to CAM_A_CLKOUT, | ||
32 | CAM_B_CLKOUT output clocks respectively. | ||
23 | 33 | ||
24 | The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used | 34 | The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used |
25 | to define a required pinctrl state named "default" and optional pinctrl states: | 35 | to define a required pinctrl state named "default" and optional pinctrl states: |
@@ -32,6 +42,7 @@ way around. | |||
32 | 42 | ||
33 | The 'camera' node must include at least one 'fimc' child node. | 43 | The 'camera' node must include at least one 'fimc' child node. |
34 | 44 | ||
45 | |||
35 | 'fimc' device nodes | 46 | 'fimc' device nodes |
36 | ------------------- | 47 | ------------------- |
37 | 48 | ||
@@ -88,8 +99,8 @@ port nodes specifies data input - 0, 1 indicates input A, B respectively. | |||
88 | 99 | ||
89 | Optional properties | 100 | Optional properties |
90 | 101 | ||
91 | - samsung,camclk-out : specifies clock output for remote sensor, | 102 | - samsung,camclk-out (deprecated) : specifies clock output for remote sensor, |
92 | 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; | 103 | 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; |
93 | 104 | ||
94 | Image sensor nodes | 105 | Image sensor nodes |
95 | ------------------ | 106 | ------------------ |
@@ -97,8 +108,6 @@ Image sensor nodes | |||
97 | The sensor device nodes should be added to their control bus controller (e.g. | 108 | The sensor device nodes should be added to their control bus controller (e.g. |
98 | I2C0) nodes and linked to a port node in the csis or the parallel-ports node, | 109 | I2C0) nodes and linked to a port node in the csis or the parallel-ports node, |
99 | using the common video interfaces bindings, defined in video-interfaces.txt. | 110 | using the common video interfaces bindings, defined in video-interfaces.txt. |
100 | The implementation of this bindings requires clock-frequency property to be | ||
101 | present in the sensor device nodes. | ||
102 | 111 | ||
103 | Example: | 112 | Example: |
104 | 113 | ||
@@ -114,7 +123,7 @@ Example: | |||
114 | vddio-supply = <...>; | 123 | vddio-supply = <...>; |
115 | 124 | ||
116 | clock-frequency = <24000000>; | 125 | clock-frequency = <24000000>; |
117 | clocks = <...>; | 126 | clocks = <&camera 1>; |
118 | clock-names = "mclk"; | 127 | clock-names = "mclk"; |
119 | 128 | ||
120 | port { | 129 | port { |
@@ -135,7 +144,7 @@ Example: | |||
135 | vddio-supply = <...>; | 144 | vddio-supply = <...>; |
136 | 145 | ||
137 | clock-frequency = <24000000>; | 146 | clock-frequency = <24000000>; |
138 | clocks = <...>; | 147 | clocks = <&camera 0>; |
139 | clock-names = "mclk"; | 148 | clock-names = "mclk"; |
140 | 149 | ||
141 | port { | 150 | port { |
@@ -149,12 +158,17 @@ Example: | |||
149 | 158 | ||
150 | camera { | 159 | camera { |
151 | compatible = "samsung,fimc", "simple-bus"; | 160 | compatible = "samsung,fimc", "simple-bus"; |
152 | #address-cells = <1>; | 161 | clocks = <&clock 132>, <&clock 133>, <&clock 351>, |
153 | #size-cells = <1>; | 162 | <&clock 352>; |
154 | status = "okay"; | 163 | clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", |
155 | 164 | "pxl_async1"; | |
165 | #clock-cells = <1>; | ||
166 | clock-output-names = "cam_a_clkout", "cam_b_clkout"; | ||
156 | pinctrl-names = "default"; | 167 | pinctrl-names = "default"; |
157 | pinctrl-0 = <&cam_port_a_clk_active>; | 168 | pinctrl-0 = <&cam_port_a_clk_active>; |
169 | status = "okay"; | ||
170 | #address-cells = <1>; | ||
171 | #size-cells = <1>; | ||
158 | 172 | ||
159 | /* parallel camera ports */ | 173 | /* parallel camera ports */ |
160 | parallel-ports { | 174 | parallel-ports { |
diff --git a/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt b/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt new file mode 100644 index 000000000000..2c85c4538a6d --- /dev/null +++ b/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt | |||
@@ -0,0 +1,97 @@ | |||
1 | Samsung S5C73M3 8Mp camera ISP | ||
2 | ------------------------------ | ||
3 | |||
4 | The S5C73M3 camera ISP supports MIPI CSI-2 and parallel (ITU-R BT.656) video | ||
5 | data busses. The I2C bus is the main control bus and additionally the SPI bus | ||
6 | is used, mostly for transferring the firmware to and from the device. Two | ||
7 | slave device nodes corresponding to these control bus interfaces are required | ||
8 | and should be placed under respective bus controller nodes. | ||
9 | |||
10 | I2C slave device node | ||
11 | --------------------- | ||
12 | |||
13 | Required properties: | ||
14 | |||
15 | - compatible : "samsung,s5c73m3"; | ||
16 | - reg : I2C slave address of the sensor; | ||
17 | - vdd-int-supply : digital power supply (1.2V); | ||
18 | - vdda-supply : analog power supply (1.2V); | ||
19 | - vdd-reg-supply : regulator input power supply (2.8V); | ||
20 | - vddio-host-supply : host I/O power supply (1.8V to 2.8V); | ||
21 | - vddio-cis-supply : CIS I/O power supply (1.2V to 1.8V); | ||
22 | - vdd-af-supply : lens power supply (2.8V); | ||
23 | - xshutdown-gpios : specifier of GPIO connected to the XSHUTDOWN pin; | ||
24 | - standby-gpios : specifier of GPIO connected to the STANDBY pin; | ||
25 | - clocks : should contain list of phandle and clock specifier pairs | ||
26 | according to common clock bindings for the clocks described | ||
27 | in the clock-names property; | ||
28 | - clock-names : should contain "cis_extclk" entry for the CIS_EXTCLK clock; | ||
29 | |||
30 | Optional properties: | ||
31 | |||
32 | - clock-frequency : the frequency at which the "cis_extclk" clock should be | ||
33 | configured to operate, in Hz; if this property is not | ||
34 | specified default 24 MHz value will be used. | ||
35 | |||
36 | The common video interfaces bindings (see video-interfaces.txt) should be used | ||
37 | to specify link from the S5C73M3 to an external image data receiver. The S5C73M3 | ||
38 | device node should contain one 'port' child node with an 'endpoint' subnode for | ||
39 | this purpose. The data link from a raw image sensor to the S5C73M3 can be | ||
40 | similarly specified, but it is optional since the S5C73M3 ISP and a raw image | ||
41 | sensor are usually inseparable and form a hybrid module. | ||
42 | |||
43 | Following properties are valid for the endpoint node(s): | ||
44 | |||
45 | endpoint subnode | ||
46 | ---------------- | ||
47 | |||
48 | - data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in | ||
49 | video-interfaces.txt. This sensor doesn't support data lane remapping | ||
50 | and physical lane indexes in subsequent elements of the array should | ||
51 | be only consecutive ascending values. | ||
52 | |||
53 | SPI device node | ||
54 | --------------- | ||
55 | |||
56 | Required properties: | ||
57 | |||
58 | - compatible : "samsung,s5c73m3"; | ||
59 | |||
60 | For more details see description of the SPI busses bindings | ||
61 | (../spi/spi-bus.txt) and bindings of a specific bus controller. | ||
62 | |||
63 | Example: | ||
64 | |||
65 | i2c@138A000000 { | ||
66 | ... | ||
67 | s5c73m3@3c { | ||
68 | compatible = "samsung,s5c73m3"; | ||
69 | reg = <0x3c>; | ||
70 | vdd-int-supply = <&buck9_reg>; | ||
71 | vdda-supply = <&ldo17_reg>; | ||
72 | vdd-reg-supply = <&cam_io_reg>; | ||
73 | vddio-host-supply = <&ldo18_reg>; | ||
74 | vddio-cis-supply = <&ldo9_reg>; | ||
75 | vdd-af-supply = <&cam_af_reg>; | ||
76 | clock-frequency = <24000000>; | ||
77 | clocks = <&clk 0>; | ||
78 | clock-names = "cis_extclk"; | ||
79 | reset-gpios = <&gpf1 3 1>; | ||
80 | standby-gpios = <&gpm0 1 1>; | ||
81 | port { | ||
82 | s5c73m3_ep: endpoint { | ||
83 | remote-endpoint = <&csis0_ep>; | ||
84 | data-lanes = <1 2 3 4>; | ||
85 | }; | ||
86 | }; | ||
87 | }; | ||
88 | }; | ||
89 | |||
90 | spi@1392000 { | ||
91 | ... | ||
92 | s5c73m3_spi: s5c73m3@0 { | ||
93 | compatible = "samsung,s5c73m3"; | ||
94 | reg = <0>; | ||
95 | ... | ||
96 | }; | ||
97 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/samsung-s5k6a3.txt b/Documentation/devicetree/bindings/media/samsung-s5k6a3.txt new file mode 100644 index 000000000000..cce01e82f3e3 --- /dev/null +++ b/Documentation/devicetree/bindings/media/samsung-s5k6a3.txt | |||
@@ -0,0 +1,33 @@ | |||
1 | Samsung S5K6A3(YX) raw image sensor | ||
2 | --------------------------------- | ||
3 | |||
4 | S5K6A3(YX) is a raw image sensor with MIPI CSI-2 and CCP2 image data interfaces | ||
5 | and CCI (I2C compatible) control bus. | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - compatible : "samsung,s5k6a3"; | ||
10 | - reg : I2C slave address of the sensor; | ||
11 | - svdda-supply : core voltage supply; | ||
12 | - svddio-supply : I/O voltage supply; | ||
13 | - afvdd-supply : AF (actuator) voltage supply; | ||
14 | - gpios : specifier of a GPIO connected to the RESET pin; | ||
15 | - clocks : should contain list of phandle and clock specifier pairs | ||
16 | according to common clock bindings for the clocks described | ||
17 | in the clock-names property; | ||
18 | - clock-names : should contain "extclk" entry for the sensor's EXTCLK clock; | ||
19 | |||
20 | Optional properties: | ||
21 | |||
22 | - clock-frequency : the frequency at which the "extclk" clock should be | ||
23 | configured to operate, in Hz; if this property is not | ||
24 | specified default 24 MHz value will be used. | ||
25 | |||
26 | The common video interfaces bindings (see video-interfaces.txt) should be | ||
27 | used to specify link to the image data receiver. The S5K6A3(YX) device | ||
28 | node should contain one 'port' child node with an 'endpoint' subnode. | ||
29 | |||
30 | Following properties are valid for the endpoint node: | ||
31 | |||
32 | - data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in | ||
33 | video-interfaces.txt. The sensor supports only one data lane. | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ifc.txt b/Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt index d5e370450ac0..d5e370450ac0 100644 --- a/Documentation/devicetree/bindings/powerpc/fsl/ifc.txt +++ b/Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt | |||
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt b/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt new file mode 100644 index 000000000000..9592717f483f --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt | |||
@@ -0,0 +1,210 @@ | |||
1 | * Device tree bindings for Texas instruments AEMIF controller | ||
2 | |||
3 | The Async External Memory Interface (EMIF16/AEMIF) controller is intended to | ||
4 | provide a glue-less interface to a variety of asynchronous memory devices like | ||
5 | ASRA M, NOR and NAND memory. A total of 256M bytes of any of these memories | ||
6 | can be accessed at any given time via four chip selects with 64M byte access | ||
7 | per chip select. Synchronous memories such as DDR1 SD RAM, SDR SDRAM | ||
8 | and Mobile SDR are not supported. | ||
9 | |||
10 | Documentation: | ||
11 | Davinci DM646x - http://www.ti.com/lit/ug/sprueq7c/sprueq7c.pdf | ||
12 | OMAP-L138 (DA850) - http://www.ti.com/lit/ug/spruh77a/spruh77a.pdf | ||
13 | Kestone - http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf | ||
14 | |||
15 | Required properties: | ||
16 | |||
17 | - compatible: "ti,davinci-aemif" | ||
18 | "ti,keystone-aemif" | ||
19 | "ti,da850-aemif" | ||
20 | |||
21 | - reg: contains offset/length value for AEMIF control registers | ||
22 | space. | ||
23 | |||
24 | - #address-cells: Must be 2. The partition number has to be encoded in the | ||
25 | first address cell and it may accept values 0..N-1 | ||
26 | (N - total number of partitions). It's recommended to | ||
27 | assign N-1 number for the control partition. The second | ||
28 | cell is the offset into the partition. | ||
29 | |||
30 | - #size-cells: Must be set to 1. | ||
31 | |||
32 | - ranges: Contains memory regions. There are two types of | ||
33 | ranges/partitions: | ||
34 | - CS-specific partition/range. If continuous, must be | ||
35 | set up to reflect the memory layout for 4 chipselects, | ||
36 | if not then additional range/partition can be added and | ||
37 | child device can select the proper one. | ||
38 | - control partition which is common for all CS | ||
39 | interfaces. | ||
40 | |||
41 | - clocks: the clock feeding the controller clock. Required only | ||
42 | if clock tree data present in device tree. | ||
43 | See clock-bindings.txt | ||
44 | |||
45 | - clock-names: clock name. It has to be "aemif". Required only if clock | ||
46 | tree data present in device tree, in another case don't | ||
47 | use it. | ||
48 | See clock-bindings.txt | ||
49 | |||
50 | - clock-ranges: Empty property indicating that child nodes can inherit | ||
51 | named clocks. Required only if clock tree data present | ||
52 | in device tree. | ||
53 | See clock-bindings.txt | ||
54 | |||
55 | |||
56 | Child chip-select (cs) nodes contain the memory devices nodes connected to | ||
57 | such as NOR (e.g. cfi-flash) and NAND (ti,davinci-nand, see davinci-nand.txt). | ||
58 | There might be board specific devices like FPGAs. | ||
59 | |||
60 | Required child cs node properties: | ||
61 | |||
62 | - #address-cells: Must be 2. | ||
63 | |||
64 | - #size-cells: Must be 1. | ||
65 | |||
66 | - ranges: Empty property indicating that child nodes can inherit | ||
67 | memory layout. | ||
68 | |||
69 | - clock-ranges: Empty property indicating that child nodes can inherit | ||
70 | named clocks. Required only if clock tree data present | ||
71 | in device tree. | ||
72 | |||
73 | - ti,cs-chipselect: number of chipselect. Indicates on the aemif driver | ||
74 | which chipselect is used for accessing the memory. For | ||
75 | compatibles "ti,davinci-aemif" and "ti,keystone-aemif" | ||
76 | it can be in range [0-3]. For compatible | ||
77 | "ti,da850-aemif" range is [2-5]. | ||
78 | |||
79 | Optional child cs node properties: | ||
80 | |||
81 | - ti,cs-bus-width: width of the asynchronous device's data bus | ||
82 | 8 or 16 if not preset 8 | ||
83 | |||
84 | - ti,cs-select-strobe-mode: enable/disable select strobe mode | ||
85 | In select strobe mode chip select behaves as | ||
86 | the strobe and is active only during the strobe | ||
87 | period. If present then enable. | ||
88 | |||
89 | - ti,cs-extended-wait-mode: enable/disable extended wait mode | ||
90 | if set, the controller monitors the EMIFWAIT pin | ||
91 | mapped to that chip select to determine if the | ||
92 | device wants to extend the strobe period. If | ||
93 | present then enable. | ||
94 | |||
95 | - ti,cs-min-turnaround-ns: minimum turn around time, ns | ||
96 | Time between the end of one asynchronous memory | ||
97 | access and the start of another asynchronous | ||
98 | memory access. This delay is not incurred | ||
99 | between a read followed by read or a write | ||
100 | followed by a write to same chip select. | ||
101 | |||
102 | - ti,cs-read-setup-ns: read setup width, ns | ||
103 | Time between the beginning of a memory cycle | ||
104 | and the activation of read strobe. | ||
105 | Minimum value is 1 (0 treated as 1). | ||
106 | |||
107 | - ti,cs-read-strobe-ns: read strobe width, ns | ||
108 | Time between the activation and deactivation of | ||
109 | the read strobe. | ||
110 | Minimum value is 1 (0 treated as 1). | ||
111 | |||
112 | - ti,cs-read-hold-ns: read hold width, ns | ||
113 | Time between the deactivation of the read | ||
114 | strobe and the end of the cycle (which may be | ||
115 | either an address change or the deactivation of | ||
116 | the chip select signal. | ||
117 | Minimum value is 1 (0 treated as 1). | ||
118 | |||
119 | - ti,cs-write-setup-ns: write setup width, ns | ||
120 | Time between the beginning of a memory cycle | ||
121 | and the activation of write strobe. | ||
122 | Minimum value is 1 (0 treated as 1). | ||
123 | |||
124 | - ti,cs-write-strobe-ns: write strobe width, ns | ||
125 | Time between the activation and deactivation of | ||
126 | the write strobe. | ||
127 | Minimum value is 1 (0 treated as 1). | ||
128 | |||
129 | - ti,cs-write-hold-ns: write hold width, ns | ||
130 | Time between the deactivation of the write | ||
131 | strobe and the end of the cycle (which may be | ||
132 | either an address change or the deactivation of | ||
133 | the chip select signal. | ||
134 | Minimum value is 1 (0 treated as 1). | ||
135 | |||
136 | If any of the above parameters are absent, current parameter value will be taken | ||
137 | from the corresponding HW reg. | ||
138 | |||
139 | Example for aemif, davinci nand and nor flash chip select shown below. | ||
140 | |||
141 | memory-controller@21000A00 { | ||
142 | compatible = "ti,davinci-aemif"; | ||
143 | #address-cells = <2>; | ||
144 | #size-cells = <1>; | ||
145 | clocks = <&clkaemif 0>; | ||
146 | clock-names = "aemif"; | ||
147 | clock-ranges; | ||
148 | reg = <0x21000A00 0x00000100>; | ||
149 | ranges = <0 0 0x70000000 0x10000000 | ||
150 | 1 0 0x21000A00 0x00000100>; | ||
151 | /* | ||
152 | * Partition0: CS-specific memory range which is | ||
153 | * implemented as continuous physical memory region | ||
154 | * Partition1: control memory range | ||
155 | */ | ||
156 | |||
157 | nand:cs2 { | ||
158 | #address-cells = <2>; | ||
159 | #size-cells = <1>; | ||
160 | clock-ranges; | ||
161 | ranges; | ||
162 | |||
163 | ti,cs-chipselect = <2>; | ||
164 | /* all timings in nanoseconds */ | ||
165 | ti,cs-min-turnaround-ns = <0>; | ||
166 | ti,cs-read-hold-ns = <7>; | ||
167 | ti,cs-read-strobe-ns = <42>; | ||
168 | ti,cs-read-setup-ns = <14>; | ||
169 | ti,cs-write-hold-ns = <7>; | ||
170 | ti,cs-write-strobe-ns = <42>; | ||
171 | ti,cs-write-setup-ns = <14>; | ||
172 | |||
173 | nand@0,0x8000000 { | ||
174 | compatible = "ti,davinci-nand"; | ||
175 | reg = <0 0x8000000 0x4000000 | ||
176 | 1 0x0000000 0x0000100>; | ||
177 | /* | ||
178 | * Partition0, offset 0x8000000, size 0x4000000 | ||
179 | * Partition1, offset 0x0000000, size 0x0000100 | ||
180 | */ | ||
181 | |||
182 | .. see davinci-nand.txt | ||
183 | }; | ||
184 | }; | ||
185 | |||
186 | nor:cs0 { | ||
187 | #address-cells = <2>; | ||
188 | #size-cells = <1>; | ||
189 | clock-ranges; | ||
190 | ranges; | ||
191 | |||
192 | ti,cs-chipselect = <0>; | ||
193 | /* all timings in nanoseconds */ | ||
194 | ti,cs-min-turnaround-ns = <0>; | ||
195 | ti,cs-read-hold-ns = <8>; | ||
196 | ti,cs-read-strobe-ns = <40>; | ||
197 | ti,cs-read-setup-ns = <14>; | ||
198 | ti,cs-write-hold-ns = <7>; | ||
199 | ti,cs-write-strobe-ns = <40>; | ||
200 | ti,cs-write-setup-ns = <14>; | ||
201 | ti,cs-bus-width = <16>; | ||
202 | |||
203 | flash@0,0x0000000 { | ||
204 | compatible = "cfi-flash"; | ||
205 | reg = <0 0x0000000 0x4000000>; | ||
206 | |||
207 | ... | ||
208 | }; | ||
209 | }; | ||
210 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt index 0e295c9d8937..36a0c3d8c726 100644 --- a/Documentation/devicetree/bindings/mfd/arizona.txt +++ b/Documentation/devicetree/bindings/mfd/arizona.txt | |||
@@ -5,9 +5,10 @@ of analogue I/O. | |||
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | 7 | ||
8 | - compatible : one of the following chip-specific strings: | 8 | - compatible : One of the following chip-specific strings: |
9 | "wlf,wm5102" | 9 | "wlf,wm5102" |
10 | "wlf,wm5110" | 10 | "wlf,wm5110" |
11 | "wlf,wm8997" | ||
11 | - reg : I2C slave address when connected using I2C, chip select number when | 12 | - reg : I2C slave address when connected using I2C, chip select number when |
12 | using SPI. | 13 | using SPI. |
13 | 14 | ||
@@ -25,8 +26,9 @@ Required properties: | |||
25 | - #gpio-cells : Must be 2. The first cell is the pin number and the | 26 | - #gpio-cells : Must be 2. The first cell is the pin number and the |
26 | second cell is used to specify optional parameters (currently unused). | 27 | second cell is used to specify optional parameters (currently unused). |
27 | 28 | ||
28 | - AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply, | 29 | - AVDD-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply (wm5102, wm5110), |
29 | SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered | 30 | CPVDD-supply, SPKVDDL-supply (wm5102, wm5110), SPKVDDR-supply (wm5102, |
31 | wm5110), SPKVDD-supply (wm8997) : Power supplies for the device, as covered | ||
30 | in Documentation/devicetree/bindings/regulator/regulator.txt | 32 | in Documentation/devicetree/bindings/regulator/regulator.txt |
31 | 33 | ||
32 | Optional properties: | 34 | Optional properties: |
@@ -46,6 +48,7 @@ codec: wm5102@1a { | |||
46 | compatible = "wlf,wm5102"; | 48 | compatible = "wlf,wm5102"; |
47 | reg = <0x1a>; | 49 | reg = <0x1a>; |
48 | interrupts = <347>; | 50 | interrupts = <347>; |
51 | interrupt-controller; | ||
49 | #interrupt-cells = <2>; | 52 | #interrupt-cells = <2>; |
50 | interrupt-parent = <&gic>; | 53 | interrupt-parent = <&gic>; |
51 | 54 | ||
@@ -53,10 +56,10 @@ codec: wm5102@1a { | |||
53 | #gpio-cells = <2>; | 56 | #gpio-cells = <2>; |
54 | 57 | ||
55 | wlf,gpio-defaults = < | 58 | wlf,gpio-defaults = < |
56 | 0x00000000, /* AIF1TXLRCLK */ | 59 | 0x00000000 /* AIF1TXLRCLK */ |
57 | 0xffffffff, | 60 | 0xffffffff |
58 | 0xffffffff, | 61 | 0xffffffff |
59 | 0xffffffff, | 62 | 0xffffffff |
60 | 0xffffffff, | 63 | 0xffffffff |
61 | >; | 64 | >; |
62 | }; | 65 | }; |
diff --git a/Documentation/devicetree/bindings/mfd/bcm590xx.txt b/Documentation/devicetree/bindings/mfd/bcm590xx.txt new file mode 100644 index 000000000000..1fe30e2b10da --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/bcm590xx.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | ------------------------------- | ||
2 | BCM590xx Power Management Units | ||
3 | ------------------------------- | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: "brcm,bcm59056" | ||
7 | - reg: I2C slave address | ||
8 | - interrupts: interrupt for the PMU. Generic interrupt client node bindings | ||
9 | are described in interrupt-controller/interrupts.txt | ||
10 | |||
11 | ------------------ | ||
12 | Voltage Regulators | ||
13 | ------------------ | ||
14 | |||
15 | Optional child nodes: | ||
16 | - regulators: container node for regulators following the generic | ||
17 | regulator binding in regulator/regulator.txt | ||
18 | |||
19 | The valid regulator node names for BCM59056 are: | ||
20 | rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo, | ||
21 | mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo, | ||
22 | csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr | ||
23 | |||
24 | Example: | ||
25 | pmu: bcm59056@8 { | ||
26 | compatible = "brcm,bcm59056"; | ||
27 | reg = <0x08>; | ||
28 | interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; | ||
29 | regulators { | ||
30 | rfldo_reg: rfldo { | ||
31 | regulator-min-microvolt = <1200000>; | ||
32 | regulator-max-microvolt = <3300000>; | ||
33 | }; | ||
34 | |||
35 | ... | ||
36 | }; | ||
37 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/da9055.txt b/Documentation/devicetree/bindings/mfd/da9055.txt new file mode 100644 index 000000000000..6dab34d34fce --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/da9055.txt | |||
@@ -0,0 +1,72 @@ | |||
1 | * Dialog DA9055 Power Management Integrated Circuit (PMIC) | ||
2 | |||
3 | DA9055 consists of a large and varied group of sub-devices (I2C Only): | ||
4 | |||
5 | Device Supply Names Description | ||
6 | ------ ------------ ----------- | ||
7 | da9055-gpio : : GPIOs | ||
8 | da9055-regulator : : Regulators | ||
9 | da9055-onkey : : On key | ||
10 | da9055-rtc : : RTC | ||
11 | da9055-hwmon : : ADC | ||
12 | da9055-watchdog : : Watchdog | ||
13 | |||
14 | The CODEC device in DA9055 has a separate, configurable I2C address and so | ||
15 | is instantiated separately from the PMIC. | ||
16 | |||
17 | For details on accompanying CODEC I2C device, see the following: | ||
18 | Documentation/devicetree/bindings/sound/da9055.txt | ||
19 | |||
20 | ====== | ||
21 | |||
22 | Required properties: | ||
23 | - compatible : Should be "dlg,da9055-pmic" | ||
24 | - reg: Specifies the I2C slave address (defaults to 0x5a but can be modified) | ||
25 | - interrupt-parent: Specifies the phandle of the interrupt controller to which | ||
26 | the IRQs from da9055 are delivered to. | ||
27 | - interrupts: IRQ line info for da9055 chip. | ||
28 | - interrupt-controller: da9055 has internal IRQs (has own IRQ domain). | ||
29 | - #interrupt-cells: Should be 1, is the local IRQ number for da9055. | ||
30 | |||
31 | Sub-nodes: | ||
32 | - regulators : Contain the regulator nodes. The DA9055 regulators are | ||
33 | bound using their names as listed below: | ||
34 | |||
35 | buck1 : regulator BUCK1 | ||
36 | buck2 : regulator BUCK2 | ||
37 | ldo1 : regulator LDO1 | ||
38 | ldo2 : regulator LDO2 | ||
39 | ldo3 : regulator LDO3 | ||
40 | ldo4 : regulator LDO4 | ||
41 | ldo5 : regulator LDO5 | ||
42 | ldo6 : regulator LDO6 | ||
43 | |||
44 | The bindings details of individual regulator device can be found in: | ||
45 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
46 | |||
47 | |||
48 | Example: | ||
49 | |||
50 | pmic: da9055-pmic@5a { | ||
51 | compatible = "dlg,da9055-pmic"; | ||
52 | reg = <0x5a>; | ||
53 | interrupt-parent = <&intc>; | ||
54 | interrupts = <5 IRQ_TYPE_LEVEL_LOW>; | ||
55 | interrupt-controller; | ||
56 | #interrupt-cells = <1>; | ||
57 | |||
58 | regulators { | ||
59 | buck1: BUCK1 { | ||
60 | regulator-min-microvolt = <725000>; | ||
61 | regulator-max-microvolt = <2075000>; | ||
62 | }; | ||
63 | buck2: BUCK2 { | ||
64 | regulator-min-microvolt = <925000>; | ||
65 | regulator-max-microvolt = <2500000>; | ||
66 | }; | ||
67 | ldo1: LDO1 { | ||
68 | regulator-min-microvolt = <900000>; | ||
69 | regulator-max-microvolt = <3300000>; | ||
70 | }; | ||
71 | }; | ||
72 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt index b381fa696bf9..4721b2d521e4 100644 --- a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt +++ b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt | |||
@@ -32,6 +32,29 @@ Optional properties: | |||
32 | - single-ulpi-bypass: Must be present if the controller contains a single | 32 | - single-ulpi-bypass: Must be present if the controller contains a single |
33 | ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 | 33 | ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 |
34 | 34 | ||
35 | - clocks: a list of phandles and clock-specifier pairs, one for each entry in | ||
36 | clock-names. | ||
37 | |||
38 | - clock-names: should include: | ||
39 | For OMAP3 | ||
40 | * "usbhost_120m_fck" - 120MHz Functional clock. | ||
41 | |||
42 | For OMAP4+ | ||
43 | * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux | ||
44 | * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux. | ||
45 | * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux | ||
46 | * "utmi_p1_gfclk" - Port 1 UTMI clock mux. | ||
47 | * "utmi_p2_gfclk" - Port 2 UTMI clock mux. | ||
48 | * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate. | ||
49 | * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate. | ||
50 | * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate. | ||
51 | * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate. | ||
52 | * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate. | ||
53 | * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate. | ||
54 | * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate. | ||
55 | * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate. | ||
56 | * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate. | ||
57 | |||
35 | Required properties if child node exists: | 58 | Required properties if child node exists: |
36 | 59 | ||
37 | - #address-cells: Must be 1 | 60 | - #address-cells: Must be 1 |
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt index 62fe69724e3b..c58d70437fce 100644 --- a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt +++ b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt | |||
@@ -7,6 +7,16 @@ Required properties: | |||
7 | - interrupts : should contain the TLL module's interrupt | 7 | - interrupts : should contain the TLL module's interrupt |
8 | - ti,hwmod : must contain "usb_tll_hs" | 8 | - ti,hwmod : must contain "usb_tll_hs" |
9 | 9 | ||
10 | Optional properties: | ||
11 | |||
12 | - clocks: a list of phandles and clock-specifier pairs, one for each entry in | ||
13 | clock-names. | ||
14 | |||
15 | - clock-names: should include: | ||
16 | * "usb_tll_hs_usb_ch0_clk" - USB TLL channel 0 clock | ||
17 | * "usb_tll_hs_usb_ch1_clk" - USB TLL channel 1 clock | ||
18 | * "usb_tll_hs_usb_ch2_clk" - USB TLL channel 2 clock | ||
19 | |||
10 | Example: | 20 | Example: |
11 | 21 | ||
12 | usbhstll: usbhstll@4a062000 { | 22 | usbhstll: usbhstll@4a062000 { |
diff --git a/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt b/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt new file mode 100644 index 000000000000..03518dc8b6bd --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt | |||
@@ -0,0 +1,96 @@ | |||
1 | Qualcomm PM8xxx PMIC multi-function devices | ||
2 | |||
3 | The PM8xxx family of Power Management ICs are used to provide regulated | ||
4 | voltages and other various functionality to Qualcomm SoCs. | ||
5 | |||
6 | = PROPERTIES | ||
7 | |||
8 | - compatible: | ||
9 | Usage: required | ||
10 | Value type: <string> | ||
11 | Definition: must be one of: | ||
12 | "qcom,pm8058" | ||
13 | "qcom,pm8921" | ||
14 | |||
15 | - #address-cells: | ||
16 | Usage: required | ||
17 | Value type: <u32> | ||
18 | Definition: must be 1 | ||
19 | |||
20 | - #size-cells: | ||
21 | Usage: required | ||
22 | Value type: <u32> | ||
23 | Definition: must be 0 | ||
24 | |||
25 | - interrupts: | ||
26 | Usage: required | ||
27 | Value type: <prop-encoded-array> | ||
28 | Definition: specifies the interrupt that indicates a subdevice | ||
29 | has generated an interrupt (summary interrupt). The | ||
30 | format of the specifier is defined by the binding document | ||
31 | describing the node's interrupt parent. | ||
32 | |||
33 | - #interrupt-cells: | ||
34 | Usage: required | ||
35 | Value type : <u32> | ||
36 | Definition: must be 2. Specifies the number of cells needed to encode | ||
37 | an interrupt source. The 1st cell contains the interrupt | ||
38 | number. The 2nd cell is the trigger type and level flags | ||
39 | encoded as follows: | ||
40 | |||
41 | 1 = low-to-high edge triggered | ||
42 | 2 = high-to-low edge triggered | ||
43 | 4 = active high level-sensitive | ||
44 | 8 = active low level-sensitive | ||
45 | |||
46 | - interrupt-controller: | ||
47 | Usage: required | ||
48 | Value type: <empty> | ||
49 | Definition: identifies this node as an interrupt controller | ||
50 | |||
51 | = SUBCOMPONENTS | ||
52 | |||
53 | The PMIC contains multiple independent functions, each described in a subnode. | ||
54 | The below bindings specify the set of valid subnodes. | ||
55 | |||
56 | == Real-Time Clock | ||
57 | |||
58 | - compatible: | ||
59 | Usage: required | ||
60 | Value type: <string> | ||
61 | Definition: must be one of: | ||
62 | "qcom,pm8058-rtc" | ||
63 | "qcom,pm8921-rtc" | ||
64 | |||
65 | - reg: | ||
66 | Usage: required | ||
67 | Value type: <prop-encoded-array> | ||
68 | Definition: single entry specifying the base address of the RTC registers | ||
69 | |||
70 | - interrupts: | ||
71 | Usage: required | ||
72 | Value type: <prop-encoded-array> | ||
73 | Definition: single entry specifying the RTC's alarm interrupt | ||
74 | |||
75 | - allow-set-time: | ||
76 | Usage: optional | ||
77 | Value type: <empty> | ||
78 | Definition: indicates that the setting of RTC time is allowed by | ||
79 | the host CPU | ||
80 | |||
81 | = EXAMPLE | ||
82 | |||
83 | pmicintc: pmic@0 { | ||
84 | compatible = "qcom,pm8921"; | ||
85 | interrupts = <104 8>; | ||
86 | #interrupt-cells = <2>; | ||
87 | interrupt-controller; | ||
88 | #address-cells = <1>; | ||
89 | #size-cells = <0>; | ||
90 | |||
91 | rtc@11d { | ||
92 | compatible = "qcom,pm8921-rtc"; | ||
93 | reg = <0x11d>; | ||
94 | interrupts = <0x27 0>; | ||
95 | }; | ||
96 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/s2mpa01.txt b/Documentation/devicetree/bindings/mfd/s2mpa01.txt new file mode 100644 index 000000000000..c13d3d8c3947 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/s2mpa01.txt | |||
@@ -0,0 +1,90 @@ | |||
1 | |||
2 | * Samsung S2MPA01 Voltage and Current Regulator | ||
3 | |||
4 | The Samsung S2MPA01 is a multi-function device which includes high | ||
5 | efficiency buck converters including Dual-Phase buck converter, various LDOs, | ||
6 | and an RTC. It is interfaced to the host controller using an I2C interface. | ||
7 | Each sub-block is addressed by the host system using different I2C slave | ||
8 | addresses. | ||
9 | |||
10 | Required properties: | ||
11 | - compatible: Should be "samsung,s2mpa01-pmic". | ||
12 | - reg: Specifies the I2C slave address of the PMIC block. It should be 0x66. | ||
13 | |||
14 | Optional properties: | ||
15 | - interrupt-parent: Specifies the phandle of the interrupt controller to which | ||
16 | the interrupts from s2mpa01 are delivered to. | ||
17 | - interrupts: An interrupt specifier for the sole interrupt generated by the | ||
18 | device. | ||
19 | |||
20 | Optional nodes: | ||
21 | - regulators: The regulators of s2mpa01 that have to be instantiated should be | ||
22 | included in a sub-node named 'regulators'. Regulator nodes and constraints | ||
23 | included in this sub-node use the standard regulator bindings which are | ||
24 | documented elsewhere. | ||
25 | |||
26 | Properties for BUCK regulator nodes: | ||
27 | - regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500 | ||
28 | (default), 25000, or 50000. May be 0 for disabling the ramp delay on | ||
29 | BUCK{1,2,3,4}. | ||
30 | |||
31 | In the absence of the regulator-ramp-delay property, the default ramp | ||
32 | delay will be used. | ||
33 | |||
34 | NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set | ||
35 | for a particular group of BUCKs. So provide same regulator-ramp-delay=<value>. | ||
36 | |||
37 | The following BUCKs share ramp settings: | ||
38 | * 1 and 6 | ||
39 | * 2 and 4 | ||
40 | * 8, 9, and 10 | ||
41 | |||
42 | The following are the names of the regulators that the s2mpa01 PMIC block | ||
43 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | ||
44 | as per the datasheet of s2mpa01. | ||
45 | |||
46 | - LDOn | ||
47 | - valid values for n are 1 to 26 | ||
48 | - Example: LDO1, LD02, LDO26 | ||
49 | - BUCKn | ||
50 | - valid values for n are 1 to 10. | ||
51 | - Example: BUCK1, BUCK2, BUCK9 | ||
52 | |||
53 | Example: | ||
54 | |||
55 | s2mpa01_pmic@66 { | ||
56 | compatible = "samsung,s2mpa01-pmic"; | ||
57 | reg = <0x66>; | ||
58 | |||
59 | regulators { | ||
60 | ldo1_reg: LDO1 { | ||
61 | regulator-name = "VDD_ALIVE"; | ||
62 | regulator-min-microvolt = <1000000>; | ||
63 | regulator-max-microvolt = <1000000>; | ||
64 | }; | ||
65 | |||
66 | ldo2_reg: LDO2 { | ||
67 | regulator-name = "VDDQ_MMC2"; | ||
68 | regulator-min-microvolt = <2800000>; | ||
69 | regulator-max-microvolt = <2800000>; | ||
70 | regulator-always-on; | ||
71 | }; | ||
72 | |||
73 | buck1_reg: BUCK1 { | ||
74 | regulator-name = "vdd_mif"; | ||
75 | regulator-min-microvolt = <950000>; | ||
76 | regulator-max-microvolt = <1350000>; | ||
77 | regulator-always-on; | ||
78 | regulator-boot-on; | ||
79 | }; | ||
80 | |||
81 | buck2_reg: BUCK2 { | ||
82 | regulator-name = "vdd_arm"; | ||
83 | regulator-min-microvolt = <950000>; | ||
84 | regulator-max-microvolt = <1350000>; | ||
85 | regulator-always-on; | ||
86 | regulator-boot-on; | ||
87 | regulator-ramp-delay = <50000>; | ||
88 | }; | ||
89 | }; | ||
90 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt index 15ee89c3cc7b..802e839b0829 100644 --- a/Documentation/devicetree/bindings/mfd/s2mps11.txt +++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt | |||
@@ -1,5 +1,5 @@ | |||
1 | 1 | ||
2 | * Samsung S2MPS11 Voltage and Current Regulator | 2 | * Samsung S2MPS11 and S2MPS14 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,7 +7,7 @@ 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". | 10 | - compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic". |
11 | - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. | 11 | - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. |
12 | 12 | ||
13 | Optional properties: | 13 | Optional properties: |
@@ -16,20 +16,25 @@ Optional properties: | |||
16 | - interrupts: Interrupt specifiers for interrupt sources. | 16 | - interrupts: Interrupt specifiers for interrupt sources. |
17 | 17 | ||
18 | Optional nodes: | 18 | Optional nodes: |
19 | - clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to | 19 | - clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz |
20 | register these as clocks with common clock framework instantiate a sub-node | 20 | outputs, so to register these as clocks with common clock framework |
21 | named "clocks". It uses the common clock binding documented in : | 21 | instantiate a sub-node named "clocks". It uses the common clock binding |
22 | documented in : | ||
22 | [Documentation/devicetree/bindings/clock/clock-bindings.txt] | 23 | [Documentation/devicetree/bindings/clock/clock-bindings.txt] |
24 | The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs. | ||
23 | - #clock-cells: should be 1. | 25 | - #clock-cells: should be 1. |
24 | 26 | ||
25 | - The following is the list of clocks generated by the controller. Each clock | 27 | - The following is the list of clocks generated by the controller. Each clock |
26 | is assigned an identifier and client nodes use this identifier to specify | 28 | is assigned an identifier and client nodes use this identifier to specify |
27 | the clock which they consume. | 29 | the clock which they consume. |
28 | Clock ID | 30 | Clock ID Devices |
29 | ---------------------- | 31 | ---------------------------------------------------------- |
30 | 32KhzAP 0 | 32 | 32KhzAP 0 S2MPS11, S2MPS14, S5M8767 |
31 | 32KhzCP 1 | 33 | 32KhzCP 1 S2MPS11, S5M8767 |
32 | 32KhzBT 2 | 34 | 32KhzBT 2 S2MPS11, S2MPS14, S5M8767 |
35 | |||
36 | - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk", | ||
37 | "samsung,s5m8767-clk" | ||
33 | 38 | ||
34 | - regulators: The regulators of s2mps11 that have to be instantiated should be | 39 | - regulators: The regulators of s2mps11 that have to be instantiated should be |
35 | included in a sub-node named 'regulators'. Regulator nodes included in this | 40 | included in a sub-node named 'regulators'. Regulator nodes included in this |
@@ -59,10 +64,14 @@ supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | |||
59 | as per the datasheet of s2mps11. | 64 | as per the datasheet of s2mps11. |
60 | 65 | ||
61 | - LDOn | 66 | - LDOn |
62 | - valid values for n are 1 to 38 | 67 | - valid values for n are: |
68 | - S2MPS11: 1 to 38 | ||
69 | - S2MPS14: 1 to 25 | ||
63 | - Example: LDO1, LD02, LDO28 | 70 | - Example: LDO1, LD02, LDO28 |
64 | - BUCKn | 71 | - BUCKn |
65 | - valid values for n are 1 to 10. | 72 | - valid values for n are: |
73 | - S2MPS11: 1 to 10 | ||
74 | - S2MPS14: 1 to 5 | ||
66 | - Example: BUCK1, BUCK2, BUCK9 | 75 | - Example: BUCK1, BUCK2, BUCK9 |
67 | 76 | ||
68 | Example: | 77 | Example: |
@@ -71,7 +80,8 @@ Example: | |||
71 | compatible = "samsung,s2mps11-pmic"; | 80 | compatible = "samsung,s2mps11-pmic"; |
72 | reg = <0x66>; | 81 | reg = <0x66>; |
73 | 82 | ||
74 | s2m_osc: clocks{ | 83 | s2m_osc: clocks { |
84 | compatible = "samsung,s2mps11-clk"; | ||
75 | #clock-cells = 1; | 85 | #clock-cells = 1; |
76 | clock-output-names = "xx", "yy", "zz"; | 86 | clock-output-names = "xx", "yy", "zz"; |
77 | }; | 87 | }; |
diff --git a/Documentation/devicetree/bindings/mfd/tps65910.txt b/Documentation/devicetree/bindings/mfd/tps65910.txt index b4bd98af1cc7..38833e63a59f 100644 --- a/Documentation/devicetree/bindings/mfd/tps65910.txt +++ b/Documentation/devicetree/bindings/mfd/tps65910.txt | |||
@@ -11,7 +11,7 @@ Required properties: | |||
11 | - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. | 11 | - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. |
12 | The first cell is the IRQ number. | 12 | The first cell is the IRQ number. |
13 | The second cell is the flags, encoded as the trigger masks from | 13 | The second cell is the flags, encoded as the trigger masks from |
14 | Documentation/devicetree/bindings/interrupts.txt | 14 | Documentation/devicetree/bindings/interrupt-controller/interrupts.txt |
15 | - regulators: This is the list of child nodes that specify the regulator | 15 | - regulators: This is the list of child nodes that specify the regulator |
16 | initialization data for defined regulators. Not all regulators for the given | 16 | initialization data for defined regulators. Not all regulators for the given |
17 | device need to be present. The definition for each of these nodes is defined | 17 | device need to be present. The definition for each of these nodes is defined |
diff --git a/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt b/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt index 68ba37295565..fabdf64a5737 100644 --- a/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt +++ b/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt | |||
@@ -1,12 +1,12 @@ | |||
1 | Allwinner sunxi-sid | 1 | Allwinner sunxi-sid |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: "allwinner,sun4i-sid" or "allwinner,sun7i-a20-sid". | 4 | - compatible: "allwinner,sun4i-a10-sid" or "allwinner,sun7i-a20-sid" |
5 | - reg: Should contain registers location and length | 5 | - reg: Should contain registers location and length |
6 | 6 | ||
7 | Example for sun4i: | 7 | Example for sun4i: |
8 | sid@01c23800 { | 8 | sid@01c23800 { |
9 | compatible = "allwinner,sun4i-sid"; | 9 | compatible = "allwinner,sun4i-a10-sid"; |
10 | reg = <0x01c23800 0x10> | 10 | reg = <0x01c23800 0x10> |
11 | }; | 11 | }; |
12 | 12 | ||
diff --git a/Documentation/devicetree/bindings/misc/atmel-ssc.txt b/Documentation/devicetree/bindings/misc/atmel-ssc.txt index 60960b2755f4..efc98ea1f23d 100644 --- a/Documentation/devicetree/bindings/misc/atmel-ssc.txt +++ b/Documentation/devicetree/bindings/misc/atmel-ssc.txt | |||
@@ -17,6 +17,14 @@ Required properties for devices compatible with "atmel,at91sam9g45-ssc": | |||
17 | See Documentation/devicetree/bindings/dma/atmel-dma.txt for details. | 17 | See Documentation/devicetree/bindings/dma/atmel-dma.txt for details. |
18 | - dma-names: Must be "tx", "rx". | 18 | - dma-names: Must be "tx", "rx". |
19 | 19 | ||
20 | Optional properties: | ||
21 | - atmel,clk-from-rk-pin: bool property. | ||
22 | - When SSC works in slave mode, according to the hardware design, the | ||
23 | clock can get from TK pin, and also can get from RK pin. So, add | ||
24 | this parameter to choose where the clock from. | ||
25 | - By default the clock is from TK pin, if the clock from RK pin, this | ||
26 | property is needed. | ||
27 | |||
20 | Examples: | 28 | Examples: |
21 | - PDC transfer: | 29 | - PDC transfer: |
22 | ssc0: ssc@fffbc000 { | 30 | ssc0: ssc@fffbc000 { |
diff --git a/Documentation/devicetree/bindings/misc/sram.txt b/Documentation/devicetree/bindings/misc/sram.txt index 4d0a00e453a8..36cbe5aea990 100644 --- a/Documentation/devicetree/bindings/misc/sram.txt +++ b/Documentation/devicetree/bindings/misc/sram.txt | |||
@@ -8,9 +8,44 @@ Required properties: | |||
8 | 8 | ||
9 | - reg : SRAM iomem address range | 9 | - reg : SRAM iomem address range |
10 | 10 | ||
11 | Reserving sram areas: | ||
12 | --------------------- | ||
13 | |||
14 | Each child of the sram node specifies a region of reserved memory. Each | ||
15 | child node should use a 'reg' property to specify a specific range of | ||
16 | reserved memory. | ||
17 | |||
18 | Following the generic-names recommended practice, node names should | ||
19 | reflect the purpose of the node. Unit address (@<address>) should be | ||
20 | appended to the name. | ||
21 | |||
22 | Required properties in the sram node: | ||
23 | |||
24 | - #address-cells, #size-cells : should use the same values as the root node | ||
25 | - ranges : standard definition, should translate from local addresses | ||
26 | within the sram to bus addresses | ||
27 | |||
28 | Required properties in the area nodes: | ||
29 | |||
30 | - reg : iomem address range, relative to the SRAM range | ||
31 | |||
32 | Optional properties in the area nodes: | ||
33 | |||
34 | - compatible : standard definition, should contain a vendor specific string | ||
35 | in the form <vendor>,[<device>-]<usage> | ||
36 | |||
11 | Example: | 37 | Example: |
12 | 38 | ||
13 | sram: sram@5c000000 { | 39 | sram: sram@5c000000 { |
14 | compatible = "mmio-sram"; | 40 | compatible = "mmio-sram"; |
15 | reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */ | 41 | reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */ |
42 | |||
43 | #adress-cells = <1>; | ||
44 | #size-cells = <1>; | ||
45 | ranges = <0 0x5c000000 0x40000>; | ||
46 | |||
47 | smp-sram@100 { | ||
48 | compatible = "socvendor,smp-sram"; | ||
49 | reg = <0x100 0x50>; | ||
50 | }; | ||
16 | }; | 51 | }; |
diff --git a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt index 0a85c70cd30a..07ad02075a93 100644 --- a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt +++ b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt | |||
@@ -13,6 +13,9 @@ Required properties: | |||
13 | - #address-cells: should be one. The cell is the slot id. | 13 | - #address-cells: should be one. The cell is the slot id. |
14 | - #size-cells: should be zero. | 14 | - #size-cells: should be zero. |
15 | - at least one slot node | 15 | - at least one slot node |
16 | - clock-names: tuple listing input clock names. | ||
17 | Required elements: "mci_clk" | ||
18 | - clocks: phandles to input clocks. | ||
16 | 19 | ||
17 | The node contains child nodes for each slot that the platform uses | 20 | The node contains child nodes for each slot that the platform uses |
18 | 21 | ||
@@ -24,6 +27,8 @@ mmc0: mmc@f0008000 { | |||
24 | interrupts = <12 4>; | 27 | interrupts = <12 4>; |
25 | #address-cells = <1>; | 28 | #address-cells = <1>; |
26 | #size-cells = <0>; | 29 | #size-cells = <0>; |
30 | clock-names = "mci_clk"; | ||
31 | clocks = <&mci0_clk>; | ||
27 | 32 | ||
28 | [ child node definitions...] | 33 | [ child node definitions...] |
29 | }; | 34 | }; |
diff --git a/Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt new file mode 100644 index 000000000000..4897bea7e3f8 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | * Altera SOCFPGA specific extensions to the Synopsys Designware Mobile | ||
2 | Storage 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 Altera SOCFPGA specific | ||
8 | extensions to the Synopsys Designware Mobile Storage Host Controller. | ||
9 | |||
10 | Required Properties: | ||
11 | |||
12 | * compatible: should be | ||
13 | - "altr,socfpga-dw-mshc": for Altera's SOCFPGA platform | ||
14 | |||
15 | Example: | ||
16 | |||
17 | mmc: dwmmc0@ff704000 { | ||
18 | compatible = "altr,socfpga-dw-mshc"; | ||
19 | reg = <0xff704000 0x1000>; | ||
20 | interrupts = <0 129 4>; | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/nand.txt b/Documentation/devicetree/bindings/mtd/nand.txt index 03855c8c492a..b53f92e252d4 100644 --- a/Documentation/devicetree/bindings/mtd/nand.txt +++ b/Documentation/devicetree/bindings/mtd/nand.txt | |||
@@ -5,3 +5,17 @@ | |||
5 | "soft_bch". | 5 | "soft_bch". |
6 | - nand-bus-width : 8 or 16 bus width if not present 8 | 6 | - nand-bus-width : 8 or 16 bus width if not present 8 |
7 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false | 7 | - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false |
8 | |||
9 | - nand-ecc-strength: integer representing the number of bits to correct | ||
10 | per ECC step. | ||
11 | |||
12 | - nand-ecc-step-size: integer representing the number of data bytes | ||
13 | that are covered by a single ECC step. | ||
14 | |||
15 | The ECC strength and ECC step size properties define the correction capability | ||
16 | of a controller. Together, they say a controller can correct "{strength} bit | ||
17 | errors per {size} bytes". | ||
18 | |||
19 | The interpretation of these parameters is implementation-defined, so not all | ||
20 | implementations must support all possible combinations. However, implementations | ||
21 | are encouraged to further specify the value(s) they support. | ||
diff --git a/Documentation/devicetree/bindings/mtd/st-fsm.txt b/Documentation/devicetree/bindings/mtd/st-fsm.txt new file mode 100644 index 000000000000..c2489391c437 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/st-fsm.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | * ST-Microelectronics SPI FSM Serial (NOR) Flash Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "st,spi-fsm" | ||
5 | - reg : Contains register's location and length. | ||
6 | - reg-names : Should contain the reg names "spi-fsm" | ||
7 | - interrupts : The interrupt number | ||
8 | - pinctrl-0 : Standard Pinctrl phandle (see: pinctrl/pinctrl-bindings.txt) | ||
9 | |||
10 | Optional properties: | ||
11 | - st,syscfg : Phandle to boot-device system configuration registers | ||
12 | - st,boot-device-reg : Address of the aforementioned boot-device register(s) | ||
13 | - st,boot-device-spi : Expected boot-device value if booted via this device | ||
14 | |||
15 | Example: | ||
16 | spifsm: spifsm@fe902000{ | ||
17 | compatible = "st,spi-fsm"; | ||
18 | reg = <0xfe902000 0x1000>; | ||
19 | reg-names = "spi-fsm"; | ||
20 | pinctrl-0 = <&pinctrl_fsm>; | ||
21 | st,syscfg = <&syscfg_rear>; | ||
22 | st,boot-device-reg = <0x958>; | ||
23 | st,boot-device-spi = <0x1a>; | ||
24 | status = "okay"; | ||
25 | }; | ||
26 | |||
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt b/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt index b90bfcd138ff..10640b17c866 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt +++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt | |||
@@ -1,20 +1,17 @@ | |||
1 | * Allwinner EMAC ethernet controller | 1 | * Allwinner EMAC ethernet controller |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: should be "allwinner,sun4i-emac". | 4 | - compatible: should be "allwinner,sun4i-a10-emac" (Deprecated: |
5 | "allwinner,sun4i-emac") | ||
5 | - reg: address and length of the register set for the device. | 6 | - reg: address and length of the register set for the device. |
6 | - interrupts: interrupt for the device | 7 | - interrupts: interrupt for the device |
7 | - phy: A phandle to a phy node defining the PHY address (as the reg | 8 | - phy: see ethernet.txt file in the same directory. |
8 | property, a single integer). | ||
9 | - clocks: A phandle to the reference clock for this device | 9 | - clocks: A phandle to the reference clock for this device |
10 | 10 | ||
11 | Optional properties: | ||
12 | - (local-)mac-address: mac address to be used by this driver | ||
13 | |||
14 | Example: | 11 | Example: |
15 | 12 | ||
16 | emac: ethernet@01c0b000 { | 13 | emac: ethernet@01c0b000 { |
17 | compatible = "allwinner,sun4i-emac"; | 14 | compatible = "allwinner,sun4i-a10-emac"; |
18 | reg = <0x01c0b000 0x1000>; | 15 | reg = <0x01c0b000 0x1000>; |
19 | interrupts = <55>; | 16 | interrupts = <55>; |
20 | clocks = <&ahb_gates 17>; | 17 | clocks = <&ahb_gates 17>; |
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt b/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt index 00b9f9a3ec1d..4ec56413779d 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt +++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt | |||
@@ -1,7 +1,8 @@ | |||
1 | * Allwinner A10 MDIO Ethernet Controller interface | 1 | * Allwinner A10 MDIO Ethernet Controller interface |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: should be "allwinner,sun4i-mdio". | 4 | - compatible: should be "allwinner,sun4i-a10-mdio" |
5 | (Deprecated: "allwinner,sun4i-mdio"). | ||
5 | - reg: address and length of the register set for the device. | 6 | - reg: address and length of the register set for the device. |
6 | 7 | ||
7 | Optional properties: | 8 | Optional properties: |
@@ -9,7 +10,7 @@ Optional properties: | |||
9 | 10 | ||
10 | Example at the SoC level: | 11 | Example at the SoC level: |
11 | mdio@01c0b080 { | 12 | mdio@01c0b080 { |
12 | compatible = "allwinner,sun4i-mdio"; | 13 | compatible = "allwinner,sun4i-a10-mdio"; |
13 | reg = <0x01c0b080 0x14>; | 14 | reg = <0x01c0b080 0x14>; |
14 | #address-cells = <1>; | 15 | #address-cells = <1>; |
15 | #size-cells = <0>; | 16 | #size-cells = <0>; |
diff --git a/Documentation/devicetree/bindings/net/altera_tse.txt b/Documentation/devicetree/bindings/net/altera_tse.txt new file mode 100644 index 000000000000..a706297998e9 --- /dev/null +++ b/Documentation/devicetree/bindings/net/altera_tse.txt | |||
@@ -0,0 +1,114 @@ | |||
1 | * Altera Triple-Speed Ethernet MAC driver (TSE) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "altr,tse-1.0" for legacy SGDMA based TSE, and should | ||
5 | be "altr,tse-msgdma-1.0" for the preferred MSGDMA based TSE. | ||
6 | ALTR is supported for legacy device trees, but is deprecated. | ||
7 | altr should be used for all new designs. | ||
8 | - reg: Address and length of the register set for the device. It contains | ||
9 | the information of registers in the same order as described by reg-names | ||
10 | - reg-names: Should contain the reg names | ||
11 | "control_port": MAC configuration space region | ||
12 | "tx_csr": xDMA Tx dispatcher control and status space region | ||
13 | "tx_desc": MSGDMA Tx dispatcher descriptor space region | ||
14 | "rx_csr" : xDMA Rx dispatcher control and status space region | ||
15 | "rx_desc": MSGDMA Rx dispatcher descriptor space region | ||
16 | "rx_resp": MSGDMA Rx dispatcher response space region | ||
17 | "s1": SGDMA descriptor memory | ||
18 | - interrupts: Should contain the TSE interrupts and it's mode. | ||
19 | - interrupt-names: Should contain the interrupt names | ||
20 | "rx_irq": xDMA Rx dispatcher interrupt | ||
21 | "tx_irq": xDMA Tx dispatcher interrupt | ||
22 | - rx-fifo-depth: MAC receive FIFO buffer depth in bytes | ||
23 | - tx-fifo-depth: MAC transmit FIFO buffer depth in bytes | ||
24 | - phy-mode: See ethernet.txt in the same directory. | ||
25 | - phy-handle: See ethernet.txt in the same directory. | ||
26 | - phy-addr: See ethernet.txt in the same directory. A configuration should | ||
27 | include phy-handle or phy-addr. | ||
28 | - altr,has-supplementary-unicast: | ||
29 | If present, TSE supports additional unicast addresses. | ||
30 | Otherwise additional unicast addresses are not supported. | ||
31 | - altr,has-hash-multicast-filter: | ||
32 | If present, TSE supports a hash based multicast filter. | ||
33 | Otherwise, hash-based multicast filtering is not supported. | ||
34 | |||
35 | - mdio device tree subnode: When the TSE has a phy connected to its local | ||
36 | mdio, there must be device tree subnode with the following | ||
37 | required properties: | ||
38 | |||
39 | - compatible: Must be "altr,tse-mdio". | ||
40 | - #address-cells: Must be <1>. | ||
41 | - #size-cells: Must be <0>. | ||
42 | |||
43 | For each phy on the mdio bus, there must be a node with the following | ||
44 | fields: | ||
45 | |||
46 | - reg: phy id used to communicate to phy. | ||
47 | - device_type: Must be "ethernet-phy". | ||
48 | |||
49 | Optional properties: | ||
50 | - local-mac-address: See ethernet.txt in the same directory. | ||
51 | - max-frame-size: See ethernet.txt in the same directory. | ||
52 | |||
53 | Example: | ||
54 | |||
55 | tse_sub_0_eth_tse_0: ethernet@0x1,00000000 { | ||
56 | compatible = "altr,tse-msgdma-1.0"; | ||
57 | reg = <0x00000001 0x00000000 0x00000400>, | ||
58 | <0x00000001 0x00000460 0x00000020>, | ||
59 | <0x00000001 0x00000480 0x00000020>, | ||
60 | <0x00000001 0x000004A0 0x00000008>, | ||
61 | <0x00000001 0x00000400 0x00000020>, | ||
62 | <0x00000001 0x00000420 0x00000020>; | ||
63 | reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc"; | ||
64 | interrupt-parent = <&hps_0_arm_gic_0>; | ||
65 | interrupts = <0 41 4>, <0 40 4>; | ||
66 | interrupt-names = "rx_irq", "tx_irq"; | ||
67 | rx-fifo-depth = <2048>; | ||
68 | tx-fifo-depth = <2048>; | ||
69 | address-bits = <48>; | ||
70 | max-frame-size = <1500>; | ||
71 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
72 | phy-mode = "gmii"; | ||
73 | altr,has-supplementary-unicast; | ||
74 | altr,has-hash-multicast-filter; | ||
75 | phy-handle = <&phy0>; | ||
76 | mdio { | ||
77 | compatible = "altr,tse-mdio"; | ||
78 | #address-cells = <1>; | ||
79 | #size-cells = <0>; | ||
80 | phy0: ethernet-phy@0 { | ||
81 | reg = <0x0>; | ||
82 | device_type = "ethernet-phy"; | ||
83 | }; | ||
84 | |||
85 | phy1: ethernet-phy@1 { | ||
86 | reg = <0x1>; | ||
87 | device_type = "ethernet-phy"; | ||
88 | }; | ||
89 | |||
90 | }; | ||
91 | }; | ||
92 | |||
93 | tse_sub_1_eth_tse_0: ethernet@0x1,00001000 { | ||
94 | compatible = "altr,tse-msgdma-1.0"; | ||
95 | reg = <0x00000001 0x00001000 0x00000400>, | ||
96 | <0x00000001 0x00001460 0x00000020>, | ||
97 | <0x00000001 0x00001480 0x00000020>, | ||
98 | <0x00000001 0x000014A0 0x00000008>, | ||
99 | <0x00000001 0x00001400 0x00000020>, | ||
100 | <0x00000001 0x00001420 0x00000020>; | ||
101 | reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc"; | ||
102 | interrupt-parent = <&hps_0_arm_gic_0>; | ||
103 | interrupts = <0 43 4>, <0 42 4>; | ||
104 | interrupt-names = "rx_irq", "tx_irq"; | ||
105 | rx-fifo-depth = <2048>; | ||
106 | tx-fifo-depth = <2048>; | ||
107 | address-bits = <48>; | ||
108 | max-frame-size = <1500>; | ||
109 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
110 | phy-mode = "gmii"; | ||
111 | altr,has-supplementary-unicast; | ||
112 | altr,has-hash-multicast-filter; | ||
113 | phy-handle = <&phy1>; | ||
114 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/arc_emac.txt b/Documentation/devicetree/bindings/net/arc_emac.txt index bcbc3f009158..7fbb027218a1 100644 --- a/Documentation/devicetree/bindings/net/arc_emac.txt +++ b/Documentation/devicetree/bindings/net/arc_emac.txt | |||
@@ -6,19 +6,12 @@ Required properties: | |||
6 | - interrupts: Should contain the EMAC interrupts | 6 | - interrupts: Should contain the EMAC interrupts |
7 | - clock-frequency: CPU frequency. It is needed to calculate and set polling | 7 | - clock-frequency: CPU frequency. It is needed to calculate and set polling |
8 | period of EMAC. | 8 | period of EMAC. |
9 | - max-speed: Maximum supported data-rate in Mbit/s. In some HW configurations | 9 | - max-speed: see ethernet.txt file in the same directory. |
10 | bandwidth of external memory controller might be a limiting factor. That's why | 10 | - phy: see ethernet.txt file in the same directory. |
11 | it's required to specify which data-rate is supported on current SoC or FPGA. | ||
12 | For example if only 10 Mbit/s is supported (10BASE-T) set "10". If 100 Mbit/s is | ||
13 | supported (100BASE-TX) set "100". | ||
14 | - phy: PHY device attached to the EMAC via MDIO bus | ||
15 | 11 | ||
16 | Child nodes of the driver are the individual PHY devices connected to the | 12 | Child nodes of the driver are the individual PHY devices connected to the |
17 | MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. | 13 | MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. |
18 | 14 | ||
19 | Optional properties: | ||
20 | - mac-address: 6 bytes, mac address | ||
21 | |||
22 | Examples: | 15 | Examples: |
23 | 16 | ||
24 | ethernet@c0fc2000 { | 17 | ethernet@c0fc2000 { |
diff --git a/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt b/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt new file mode 100644 index 000000000000..f2febb94550e --- /dev/null +++ b/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt | |||
@@ -0,0 +1,121 @@ | |||
1 | * Broadcom BCM7xxx Ethernet Controller (GENET) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2", | ||
5 | "brcm,genet-v3", "brcm,genet-v4". | ||
6 | - reg: address and length of the register set for the device | ||
7 | - interrupts: must be two cells, the first cell is the general purpose | ||
8 | interrupt line, while the second cell is the interrupt for the ring | ||
9 | RX and TX queues operating in ring mode | ||
10 | - phy-mode: see ethernet.txt file in the same directory | ||
11 | - #address-cells: should be 1 | ||
12 | - #size-cells: should be 1 | ||
13 | |||
14 | Optional properties: | ||
15 | - clocks: When provided, must be two phandles to the functional clocks nodes | ||
16 | of the GENET block. The first phandle is the main GENET clock used during | ||
17 | normal operation, while the second phandle is the Wake-on-LAN clock. | ||
18 | - clock-names: When provided, names of the functional clock phandles, first | ||
19 | name should be "enet" and second should be "enet-wol". | ||
20 | |||
21 | - phy-handle: See ethernet.txt file in the same directory; used to describe | ||
22 | configurations where a PHY (internal or external) is used. | ||
23 | |||
24 | - fixed-link: When the GENET interface is connected to a MoCA hardware block or | ||
25 | when operating in a RGMII to RGMII type of connection, or when the MDIO bus is | ||
26 | voluntarily disabled, this property should be used to describe the "fixed link". | ||
27 | See Documentation/devicetree/bindings/net/fsl-tsec-phy.txt for information on | ||
28 | the property specifics | ||
29 | |||
30 | Required child nodes: | ||
31 | |||
32 | - mdio bus node: this node should always be present regarless of the PHY | ||
33 | configuration of the GENET instance | ||
34 | |||
35 | MDIO bus node required properties: | ||
36 | |||
37 | - compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2" | ||
38 | "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", the version has to match the | ||
39 | parent node compatible property (e.g: brcm,genet-v4 pairs with | ||
40 | brcm,genet-mdio-v4) | ||
41 | - reg: address and length relative to the parent node base register address | ||
42 | - #address-cells: address cell for MDIO bus addressing, should be 1 | ||
43 | - #size-cells: size of the cells for MDIO bus addressing, should be 0 | ||
44 | |||
45 | Ethernet PHY node properties: | ||
46 | |||
47 | See Documentation/devicetree/bindings/net/phy.txt for the list of required and | ||
48 | optional properties. | ||
49 | |||
50 | Internal Gigabit PHY example: | ||
51 | |||
52 | ethernet@f0b60000 { | ||
53 | phy-mode = "internal"; | ||
54 | phy-handle = <&phy1>; | ||
55 | mac-address = [ 00 10 18 36 23 1a ]; | ||
56 | compatible = "brcm,genet-v4"; | ||
57 | #address-cells = <0x1>; | ||
58 | #size-cells = <0x1>; | ||
59 | reg = <0xf0b60000 0xfc4c>; | ||
60 | interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>; | ||
61 | |||
62 | mdio@e14 { | ||
63 | compatible = "brcm,genet-mdio-v4"; | ||
64 | #address-cells = <0x1>; | ||
65 | #size-cells = <0x0>; | ||
66 | reg = <0xe14 0x8>; | ||
67 | |||
68 | phy1: ethernet-phy@1 { | ||
69 | max-speed = <1000>; | ||
70 | reg = <0x1>; | ||
71 | compatible = "brcm,28nm-gphy", "ethernet-phy-ieee802.3-c22"; | ||
72 | }; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | MoCA interface / MAC to MAC example: | ||
77 | |||
78 | ethernet@f0b80000 { | ||
79 | phy-mode = "moca"; | ||
80 | fixed-link = <1 0 1000 0 0>; | ||
81 | mac-address = [ 00 10 18 36 24 1a ]; | ||
82 | compatible = "brcm,genet-v4"; | ||
83 | #address-cells = <0x1>; | ||
84 | #size-cells = <0x1>; | ||
85 | reg = <0xf0b80000 0xfc4c>; | ||
86 | interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>; | ||
87 | |||
88 | mdio@e14 { | ||
89 | compatible = "brcm,genet-mdio-v4"; | ||
90 | #address-cells = <0x1>; | ||
91 | #size-cells = <0x0>; | ||
92 | reg = <0xe14 0x8>; | ||
93 | }; | ||
94 | }; | ||
95 | |||
96 | |||
97 | External MDIO-connected Gigabit PHY/switch: | ||
98 | |||
99 | ethernet@f0ba0000 { | ||
100 | phy-mode = "rgmii"; | ||
101 | phy-handle = <&phy0>; | ||
102 | mac-address = [ 00 10 18 36 26 1a ]; | ||
103 | compatible = "brcm,genet-v4"; | ||
104 | #address-cells = <0x1>; | ||
105 | #size-cells = <0x1>; | ||
106 | reg = <0xf0ba0000 0xfc4c>; | ||
107 | interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>; | ||
108 | |||
109 | mdio@0e14 { | ||
110 | compatible = "brcm,genet-mdio-v4"; | ||
111 | #address-cells = <0x1>; | ||
112 | #size-cells = <0x0>; | ||
113 | reg = <0xe14 0x8>; | ||
114 | |||
115 | phy0: ethernet-phy@0 { | ||
116 | max-speed = <1000>; | ||
117 | reg = <0x0>; | ||
118 | compatible = "brcm,bcm53125", "ethernet-phy-ieee802.3-c22"; | ||
119 | }; | ||
120 | }; | ||
121 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/can/sja1000.txt b/Documentation/devicetree/bindings/net/can/sja1000.txt index f2105a47ec87..b4a6d53fb01a 100644 --- a/Documentation/devicetree/bindings/net/can/sja1000.txt +++ b/Documentation/devicetree/bindings/net/can/sja1000.txt | |||
@@ -12,6 +12,10 @@ Required properties: | |||
12 | 12 | ||
13 | Optional properties: | 13 | Optional properties: |
14 | 14 | ||
15 | - reg-io-width : Specify the size (in bytes) of the IO accesses that | ||
16 | should be performed on the device. Valid value is 1, 2 or 4. | ||
17 | Default to 1 (8 bits). | ||
18 | |||
15 | - nxp,external-clock-frequency : Frequency of the external oscillator | 19 | - nxp,external-clock-frequency : Frequency of the external oscillator |
16 | clock in Hz. Note that the internal clock frequency used by the | 20 | clock in Hz. Note that the internal clock frequency used by the |
17 | SJA1000 is half of that value. If not specified, a default value | 21 | SJA1000 is half of that value. If not specified, a default value |
diff --git a/Documentation/devicetree/bindings/net/cavium-mix.txt b/Documentation/devicetree/bindings/net/cavium-mix.txt index 5da628db68bf..8d7c3096390f 100644 --- a/Documentation/devicetree/bindings/net/cavium-mix.txt +++ b/Documentation/devicetree/bindings/net/cavium-mix.txt | |||
@@ -18,12 +18,7 @@ Properties: | |||
18 | - interrupts: Two interrupt specifiers. The first is the MIX | 18 | - interrupts: Two interrupt specifiers. The first is the MIX |
19 | interrupt routing and the second the routing for the AGL interrupts. | 19 | interrupt routing and the second the routing for the AGL interrupts. |
20 | 20 | ||
21 | - mac-address: Optional, the MAC address to assign to the device. | 21 | - phy-handle: Optional, see ethernet.txt file in the same directory. |
22 | |||
23 | - local-mac-address: Optional, the MAC address to assign to the device | ||
24 | if mac-address is not specified. | ||
25 | |||
26 | - phy-handle: Optional, a phandle for the PHY device connected to this device. | ||
27 | 22 | ||
28 | Example: | 23 | Example: |
29 | ethernet@1070000100800 { | 24 | ethernet@1070000100800 { |
diff --git a/Documentation/devicetree/bindings/net/cavium-pip.txt b/Documentation/devicetree/bindings/net/cavium-pip.txt index d4c53ba04b3b..7dbd158810d2 100644 --- a/Documentation/devicetree/bindings/net/cavium-pip.txt +++ b/Documentation/devicetree/bindings/net/cavium-pip.txt | |||
@@ -35,12 +35,7 @@ Properties for PIP port which is a child the PIP interface: | |||
35 | 35 | ||
36 | - reg: The port number within the interface group. | 36 | - reg: The port number within the interface group. |
37 | 37 | ||
38 | - mac-address: Optional, the MAC address to assign to the device. | 38 | - phy-handle: Optional, see ethernet.txt file in the same directory. |
39 | |||
40 | - local-mac-address: Optional, the MAC address to assign to the device | ||
41 | if mac-address is not specified. | ||
42 | |||
43 | - phy-handle: Optional, a phandle for the PHY device connected to this device. | ||
44 | 39 | ||
45 | Example: | 40 | Example: |
46 | 41 | ||
diff --git a/Documentation/devicetree/bindings/net/cdns-emac.txt b/Documentation/devicetree/bindings/net/cdns-emac.txt index 09055c2495f0..abd67c13d344 100644 --- a/Documentation/devicetree/bindings/net/cdns-emac.txt +++ b/Documentation/devicetree/bindings/net/cdns-emac.txt | |||
@@ -6,11 +6,7 @@ Required properties: | |||
6 | or the generic form: "cdns,emac". | 6 | or the generic form: "cdns,emac". |
7 | - reg: Address and length of the register set for the device | 7 | - reg: Address and length of the register set for the device |
8 | - interrupts: Should contain macb interrupt | 8 | - interrupts: Should contain macb interrupt |
9 | - phy-mode: String, operation mode of the PHY interface. | 9 | - phy-mode: see ethernet.txt file in the same directory. |
10 | Supported values are: "mii", "rmii". | ||
11 | |||
12 | Optional properties: | ||
13 | - local-mac-address: 6 bytes, mac address | ||
14 | 10 | ||
15 | Examples: | 11 | Examples: |
16 | 12 | ||
diff --git a/Documentation/devicetree/bindings/net/cpsw.txt b/Documentation/devicetree/bindings/net/cpsw.txt index 05d660e4ac64..ae2b8b7f9c38 100644 --- a/Documentation/devicetree/bindings/net/cpsw.txt +++ b/Documentation/devicetree/bindings/net/cpsw.txt | |||
@@ -28,9 +28,8 @@ Optional properties: | |||
28 | Slave Properties: | 28 | Slave Properties: |
29 | Required properties: | 29 | Required properties: |
30 | - phy_id : Specifies slave phy id | 30 | - phy_id : Specifies slave phy id |
31 | - phy-mode : The interface between the SoC and the PHY (a string | 31 | - phy-mode : See ethernet.txt file in the same directory |
32 | that of_get_phy_mode() can understand) | 32 | - mac-address : See ethernet.txt file in the same directory |
33 | - mac-address : Specifies slave MAC address | ||
34 | 33 | ||
35 | Optional properties: | 34 | Optional properties: |
36 | - dual_emac_res_vlan : Specifies VID to be used to segregate the ports | 35 | - dual_emac_res_vlan : Specifies VID to be used to segregate the ports |
diff --git a/Documentation/devicetree/bindings/net/davicom-dm9000.txt b/Documentation/devicetree/bindings/net/davicom-dm9000.txt index 2d39c990e641..28767ed7c1bd 100644 --- a/Documentation/devicetree/bindings/net/davicom-dm9000.txt +++ b/Documentation/devicetree/bindings/net/davicom-dm9000.txt | |||
@@ -9,8 +9,6 @@ Required properties: | |||
9 | - interrupts : interrupt specifier specific to interrupt controller | 9 | - interrupts : interrupt specifier specific to interrupt controller |
10 | 10 | ||
11 | Optional properties: | 11 | Optional properties: |
12 | - local-mac-address : A bytestring of 6 bytes specifying Ethernet MAC address | ||
13 | to use (from firmware or bootloader) | ||
14 | - davicom,no-eeprom : Configuration EEPROM is not available | 12 | - davicom,no-eeprom : Configuration EEPROM is not available |
15 | - davicom,ext-phy : Use external PHY | 13 | - davicom,ext-phy : Use external PHY |
16 | 14 | ||
diff --git a/Documentation/devicetree/bindings/net/davinci_emac.txt b/Documentation/devicetree/bindings/net/davinci_emac.txt index 6e356d15154a..032808843f90 100644 --- a/Documentation/devicetree/bindings/net/davinci_emac.txt +++ b/Documentation/devicetree/bindings/net/davinci_emac.txt | |||
@@ -17,9 +17,8 @@ Required properties: | |||
17 | Miscellaneous Interrupt> | 17 | Miscellaneous Interrupt> |
18 | 18 | ||
19 | Optional properties: | 19 | Optional properties: |
20 | - phy-handle: Contains a phandle to an Ethernet PHY. | 20 | - phy-handle: See ethernet.txt file in the same directory. |
21 | If absent, davinci_emac driver defaults to 100/FULL. | 21 | If absent, davinci_emac driver defaults to 100/FULL. |
22 | - local-mac-address : 6 bytes, mac address | ||
23 | - ti,davinci-rmii-en: 1 byte, 1 means use RMII | 22 | - ti,davinci-rmii-en: 1 byte, 1 means use RMII |
24 | - ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM? | 23 | - ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM? |
25 | 24 | ||
diff --git a/Documentation/devicetree/bindings/net/ethernet.txt b/Documentation/devicetree/bindings/net/ethernet.txt new file mode 100644 index 000000000000..9ecd43d8792c --- /dev/null +++ b/Documentation/devicetree/bindings/net/ethernet.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | The following properties are common to the Ethernet controllers: | ||
2 | |||
3 | - local-mac-address: array of 6 bytes, specifies the MAC address that was | ||
4 | assigned to the network device; | ||
5 | - mac-address: array of 6 bytes, specifies the MAC address that was last used by | ||
6 | the boot program; should be used in cases where the MAC address assigned to | ||
7 | the device by the boot program is different from the "local-mac-address" | ||
8 | property; | ||
9 | - max-speed: number, specifies maximum speed in Mbit/s supported by the device; | ||
10 | - max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than | ||
11 | the maximum frame size (there's contradiction in ePAPR). | ||
12 | - phy-mode: string, operation mode of the PHY interface; supported values are | ||
13 | "mii", "gmii", "sgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id", | ||
14 | "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto | ||
15 | standard property; | ||
16 | - phy-connection-type: the same as "phy-mode" property but described in ePAPR; | ||
17 | - phy-handle: phandle, specifies a reference to a node representing a PHY | ||
18 | device; this property is described in ePAPR and so preferred; | ||
19 | - phy: the same as "phy-handle" property, not recommended for new bindings. | ||
20 | - phy-device: the same as "phy-handle" property, not recommended for new | ||
21 | bindings. | ||
22 | |||
23 | Child nodes of the Ethernet controller are typically the individual PHY devices | ||
24 | connected via the MDIO bus (sometimes the MDIO bus controller is separate). | ||
25 | They are described in the phy.txt file in this same directory. | ||
diff --git a/Documentation/devicetree/bindings/net/fsl-fec.txt b/Documentation/devicetree/bindings/net/fsl-fec.txt index 845ff848d895..6bc84adb10c0 100644 --- a/Documentation/devicetree/bindings/net/fsl-fec.txt +++ b/Documentation/devicetree/bindings/net/fsl-fec.txt | |||
@@ -4,12 +4,9 @@ Required properties: | |||
4 | - compatible : Should be "fsl,<soc>-fec" | 4 | - compatible : Should be "fsl,<soc>-fec" |
5 | - reg : Address and length of the register set for the device | 5 | - reg : Address and length of the register set for the device |
6 | - interrupts : Should contain fec interrupt | 6 | - interrupts : Should contain fec interrupt |
7 | - phy-mode : String, operation mode of the PHY interface. | 7 | - phy-mode : See ethernet.txt file in the same directory |
8 | Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii", | ||
9 | "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii". | ||
10 | 8 | ||
11 | Optional properties: | 9 | Optional properties: |
12 | - local-mac-address : 6 bytes, mac address | ||
13 | - phy-reset-gpios : Should specify the gpio for phy reset | 10 | - phy-reset-gpios : Should specify the gpio for phy reset |
14 | - phy-reset-duration : Reset duration in milliseconds. Should present | 11 | - phy-reset-duration : Reset duration in milliseconds. Should present |
15 | only if property "phy-reset-gpios" is available. Missing the property | 12 | only if property "phy-reset-gpios" is available. Missing the property |
diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt index d2ea4605d078..737cdef4f903 100644 --- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt +++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt | |||
@@ -38,22 +38,17 @@ Properties: | |||
38 | - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" | 38 | - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" |
39 | - compatible : Should be "gianfar" | 39 | - compatible : Should be "gianfar" |
40 | - reg : Offset and length of the register set for the device | 40 | - reg : Offset and length of the register set for the device |
41 | - local-mac-address : List of bytes representing the ethernet address of | ||
42 | this controller | ||
43 | - interrupts : For FEC devices, the first interrupt is the device's | 41 | - interrupts : For FEC devices, the first interrupt is the device's |
44 | interrupt. For TSEC and eTSEC devices, the first interrupt is | 42 | interrupt. For TSEC and eTSEC devices, the first interrupt is |
45 | transmit, the second is receive, and the third is error. | 43 | transmit, the second is receive, and the third is error. |
46 | - phy-handle : The phandle for the PHY connected to this ethernet | 44 | - phy-handle : See ethernet.txt file in the same directory. |
47 | controller. | ||
48 | - fixed-link : <a b c d e> where a is emulated phy id - choose any, | 45 | - fixed-link : <a b c d e> where a is emulated phy id - choose any, |
49 | but unique to the all specified fixed-links, b is duplex - 0 half, | 46 | but unique to the all specified fixed-links, b is duplex - 0 half, |
50 | 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no | 47 | 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no |
51 | pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause. | 48 | pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause. |
52 | - phy-connection-type : a string naming the controller/PHY interface type, | 49 | - phy-connection-type : See ethernet.txt file in the same directory. |
53 | i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii", | 50 | This property is only really needed if the connection is of type |
54 | "tbi", or "rtbi". This property is only really needed if the connection | 51 | "rgmii-id", as all other connection types are detected by hardware. |
55 | is of type "rgmii-id", as all other connection types are detected by | ||
56 | hardware. | ||
57 | - fsl,magic-packet : If present, indicates that the hardware supports | 52 | - fsl,magic-packet : If present, indicates that the hardware supports |
58 | waking up via magic packet. | 53 | waking up via magic packet. |
59 | - bd-stash : If present, indicates that the hardware supports stashing | 54 | - bd-stash : If present, indicates that the hardware supports stashing |
diff --git a/Documentation/devicetree/bindings/net/lpc-eth.txt b/Documentation/devicetree/bindings/net/lpc-eth.txt index 585021acd178..b92e927808b6 100644 --- a/Documentation/devicetree/bindings/net/lpc-eth.txt +++ b/Documentation/devicetree/bindings/net/lpc-eth.txt | |||
@@ -6,10 +6,9 @@ Required properties: | |||
6 | - interrupts: Should contain ethernet controller interrupt | 6 | - interrupts: Should contain ethernet controller interrupt |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - phy-mode: String, operation mode of the PHY interface. | 9 | - phy-mode: See ethernet.txt file in the same directory. If the property is |
10 | Supported values are: "mii", "rmii" (default) | 10 | absent, "rmii" is assumed. |
11 | - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering | 11 | - use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering |
12 | - local-mac-address : 6 bytes, mac address | ||
13 | 12 | ||
14 | Example: | 13 | Example: |
15 | 14 | ||
diff --git a/Documentation/devicetree/bindings/net/macb.txt b/Documentation/devicetree/bindings/net/macb.txt index 70af2ec12b09..aaa696414f57 100644 --- a/Documentation/devicetree/bindings/net/macb.txt +++ b/Documentation/devicetree/bindings/net/macb.txt | |||
@@ -8,16 +8,12 @@ Required properties: | |||
8 | the Cadence GEM, or the generic form: "cdns,gem". | 8 | the Cadence GEM, or the generic form: "cdns,gem". |
9 | - reg: Address and length of the register set for the device | 9 | - reg: Address and length of the register set for the device |
10 | - interrupts: Should contain macb interrupt | 10 | - interrupts: Should contain macb interrupt |
11 | - phy-mode: String, operation mode of the PHY interface. | 11 | - phy-mode: See ethernet.txt file in the same directory. |
12 | Supported values are: "mii", "rmii", "gmii", "rgmii". | ||
13 | - clock-names: Tuple listing input clock names. | 12 | - clock-names: Tuple listing input clock names. |
14 | Required elements: 'pclk', 'hclk' | 13 | Required elements: 'pclk', 'hclk' |
15 | Optional elements: 'tx_clk' | 14 | Optional elements: 'tx_clk' |
16 | - clocks: Phandles to input clocks. | 15 | - clocks: Phandles to input clocks. |
17 | 16 | ||
18 | Optional properties: | ||
19 | - local-mac-address: 6 bytes, mac address | ||
20 | |||
21 | Examples: | 17 | Examples: |
22 | 18 | ||
23 | macb0: ethernet@fffc4000 { | 19 | macb0: ethernet@fffc4000 { |
diff --git a/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt b/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt index 859a6fa7569c..750d577e8083 100644 --- a/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt +++ b/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt | |||
@@ -4,10 +4,8 @@ Required properties: | |||
4 | - compatible: should be "marvell,armada-370-neta". | 4 | - compatible: should be "marvell,armada-370-neta". |
5 | - reg: address and length of the register set for the device. | 5 | - reg: address and length of the register set for the device. |
6 | - interrupts: interrupt for the device | 6 | - interrupts: interrupt for the device |
7 | - phy: A phandle to a phy node defining the PHY address (as the reg | 7 | - phy: See ethernet.txt file in the same directory. |
8 | property, a single integer). | 8 | - phy-mode: See ethernet.txt file in the same directory |
9 | - phy-mode: The interface between the SoC and the PHY (a string that | ||
10 | of_get_phy_mode() can understand) | ||
11 | - clocks: a pointer to the reference clock for this device. | 9 | - clocks: a pointer to the reference clock for this device. |
12 | 10 | ||
13 | Example: | 11 | Example: |
diff --git a/Documentation/devicetree/bindings/net/marvell-orion-net.txt b/Documentation/devicetree/bindings/net/marvell-orion-net.txt index c233b6114242..bce52b2ec55e 100644 --- a/Documentation/devicetree/bindings/net/marvell-orion-net.txt +++ b/Documentation/devicetree/bindings/net/marvell-orion-net.txt | |||
@@ -36,7 +36,7 @@ Required port properties: | |||
36 | "marvell,kirkwood-eth-port". | 36 | "marvell,kirkwood-eth-port". |
37 | - reg: port number relative to ethernet controller, shall be 0, 1, or 2. | 37 | - reg: port number relative to ethernet controller, shall be 0, 1, or 2. |
38 | - interrupts: port interrupt. | 38 | - interrupts: port interrupt. |
39 | - local-mac-address: 6 bytes MAC address. | 39 | - local-mac-address: See ethernet.txt file in the same directory. |
40 | 40 | ||
41 | Optional port properties: | 41 | Optional port properties: |
42 | - marvell,tx-queue-size: size of the transmit ring buffer. | 42 | - marvell,tx-queue-size: size of the transmit ring buffer. |
@@ -48,7 +48,7 @@ Optional port properties: | |||
48 | 48 | ||
49 | and | 49 | and |
50 | 50 | ||
51 | - phy-handle: phandle reference to ethernet PHY. | 51 | - phy-handle: See ethernet.txt file in the same directory. |
52 | 52 | ||
53 | or | 53 | or |
54 | 54 | ||
diff --git a/Documentation/devicetree/bindings/net/micrel-ks8851.txt b/Documentation/devicetree/bindings/net/micrel-ks8851.txt index 11ace3c3d805..d54d0cc79487 100644 --- a/Documentation/devicetree/bindings/net/micrel-ks8851.txt +++ b/Documentation/devicetree/bindings/net/micrel-ks8851.txt | |||
@@ -6,4 +6,4 @@ Required properties: | |||
6 | - interrupts : interrupt connection | 6 | - interrupts : interrupt connection |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - local-mac-address : Ethernet mac address to use | 9 | - vdd-supply: supply for Ethernet mac |
diff --git a/Documentation/devicetree/bindings/net/micrel.txt b/Documentation/devicetree/bindings/net/micrel.txt new file mode 100644 index 000000000000..98a3e61f9ee8 --- /dev/null +++ b/Documentation/devicetree/bindings/net/micrel.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | Micrel PHY properties. | ||
2 | |||
3 | These properties cover the base properties Micrel PHYs. | ||
4 | |||
5 | Optional properties: | ||
6 | |||
7 | - micrel,led-mode : LED mode value to set for PHYs with configurable LEDs. | ||
8 | |||
9 | Configure the LED mode with single value. The list of PHYs and | ||
10 | the bits that are currently supported: | ||
11 | |||
12 | KSZ8001: register 0x1e, bits 15..14 | ||
13 | KSZ8041: register 0x1e, bits 15..14 | ||
14 | KSZ8021: register 0x1f, bits 5..4 | ||
15 | KSZ8031: register 0x1f, bits 5..4 | ||
16 | KSZ8051: register 0x1f, bits 5..4 | ||
17 | |||
18 | See the respective PHY datasheet for the mode values. | ||
diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt new file mode 100644 index 000000000000..8dd3ef7bc56b --- /dev/null +++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | * Texas Instruments TRF7970A RFID/NFC/15693 Transceiver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "ti,trf7970a". | ||
5 | - spi-max-frequency: Maximum SPI frequency (<= 2000000). | ||
6 | - interrupt-parent: phandle of parent interrupt handler. | ||
7 | - interrupts: A single interrupt specifier. | ||
8 | - ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the | ||
9 | TRF7970A. | ||
10 | - vin-supply: Regulator for supply voltage to VIN pin | ||
11 | |||
12 | Optional SoC Specific Properties: | ||
13 | - pinctrl-names: Contains only one value - "default". | ||
14 | - pintctrl-0: Specifies the pin control groups used for this controller. | ||
15 | |||
16 | Example (for ARM-based BeagleBone with TRF7970A on SPI1): | ||
17 | |||
18 | &spi1 { | ||
19 | status = "okay"; | ||
20 | |||
21 | nfc@0 { | ||
22 | compatible = "ti,trf7970a"; | ||
23 | reg = <0>; | ||
24 | pinctrl-names = "default"; | ||
25 | pinctrl-0 = <&trf7970a_default>; | ||
26 | spi-max-frequency = <2000000>; | ||
27 | interrupt-parent = <&gpio2>; | ||
28 | interrupts = <14 0>; | ||
29 | ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>, | ||
30 | <&gpio2 5 GPIO_ACTIVE_LOW>; | ||
31 | vin-supply = <&ldo3_reg>; | ||
32 | status = "okay"; | ||
33 | }; | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/opencores-ethoc.txt b/Documentation/devicetree/bindings/net/opencores-ethoc.txt new file mode 100644 index 000000000000..2dc127c30d9b --- /dev/null +++ b/Documentation/devicetree/bindings/net/opencores-ethoc.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | * OpenCores MAC 10/100 Mbps | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "opencores,ethoc". | ||
5 | - reg: two memory regions (address and length), | ||
6 | first region is for the device registers and descriptor rings, | ||
7 | second is for the device packet memory. | ||
8 | - interrupts: interrupt for the device. | ||
9 | |||
10 | Optional properties: | ||
11 | - clocks: phandle to refer to the clk used as per | ||
12 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
13 | |||
14 | Examples: | ||
15 | |||
16 | enet0: ethoc@fd030000 { | ||
17 | compatible = "opencores,ethoc"; | ||
18 | reg = <0xfd030000 0x4000 0xfd800000 0x4000>; | ||
19 | interrupts = <1>; | ||
20 | local-mac-address = [00 50 c2 13 6f 00]; | ||
21 | clocks = <&osc>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt index 58307d0931c8..5b8c58903077 100644 --- a/Documentation/devicetree/bindings/net/phy.txt +++ b/Documentation/devicetree/bindings/net/phy.txt | |||
@@ -21,10 +21,18 @@ Optional Properties: | |||
21 | elements. | 21 | elements. |
22 | - max-speed: Maximum PHY supported speed (10, 100, 1000...) | 22 | - max-speed: Maximum PHY supported speed (10, 100, 1000...) |
23 | 23 | ||
24 | If the phy's identifier is known then the list may contain an entry | ||
25 | of the form: "ethernet-phy-idAAAA.BBBB" where | ||
26 | AAAA - The value of the 16 bit Phy Identifier 1 register as | ||
27 | 4 hex digits. This is the chip vendor OUI bits 3:18 | ||
28 | BBBB - The value of the 16 bit Phy Identifier 2 register as | ||
29 | 4 hex digits. This is the chip vendor OUI bits 19:24, | ||
30 | followed by 10 bits of a vendor specific ID. | ||
31 | |||
24 | Example: | 32 | Example: |
25 | 33 | ||
26 | ethernet-phy@0 { | 34 | ethernet-phy@0 { |
27 | compatible = "ethernet-phy-ieee802.3-c22"; | 35 | compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c22"; |
28 | interrupt-parent = <40000>; | 36 | interrupt-parent = <40000>; |
29 | interrupts = <35 1>; | 37 | interrupts = <35 1>; |
30 | reg = <0>; | 38 | reg = <0>; |
diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt new file mode 100644 index 000000000000..989f6c95cfd5 --- /dev/null +++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt | |||
@@ -0,0 +1,52 @@ | |||
1 | * Samsung 10G Ethernet driver (SXGBE) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "samsung,sxgbe-v2.0a" | ||
5 | - reg: Address and length of the register set for the device | ||
6 | - interrupt-parent: Should be the phandle for the interrupt controller | ||
7 | that services interrupts for this device | ||
8 | - interrupts: Should contain the SXGBE interrupts | ||
9 | These interrupts are ordered by fixed and follows variable | ||
10 | trasmit DMA interrupts, receive DMA interrupts and lpi interrupt. | ||
11 | index 0 - this is fixed common interrupt of SXGBE and it is always | ||
12 | available. | ||
13 | index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive interrupts | ||
14 | and 1 optional lpi interrupt. | ||
15 | - phy-mode: String, operation mode of the PHY interface. | ||
16 | Supported values are: "sgmii", "xgmii". | ||
17 | - samsung,pbl: Integer, Programmable Burst Length. | ||
18 | Supported values are 1, 2, 4, 8, 16, or 32. | ||
19 | - samsung,burst-map: Integer, Program the possible bursts supported by sxgbe | ||
20 | This is an interger and represents allowable DMA bursts when fixed burst. | ||
21 | Allowable range is 0x01-0x3F. When this field is set fixed burst is enabled. | ||
22 | When fixed length is needed for burst mode, it can be set within allowable | ||
23 | range. | ||
24 | |||
25 | Optional properties: | ||
26 | - mac-address: 6 bytes, mac address | ||
27 | - max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather | ||
28 | than the maximum frame size. | ||
29 | |||
30 | Example: | ||
31 | |||
32 | aliases { | ||
33 | ethernet0 = <&sxgbe0>; | ||
34 | }; | ||
35 | |||
36 | sxgbe0: ethernet@1a040000 { | ||
37 | compatible = "samsung,sxgbe-v2.0a"; | ||
38 | reg = <0 0x1a040000 0 0x10000>; | ||
39 | interrupt-parent = <&gic>; | ||
40 | interrupts = <0 209 4>, <0 185 4>, <0 186 4>, <0 187 4>, | ||
41 | <0 188 4>, <0 189 4>, <0 190 4>, <0 191 4>, | ||
42 | <0 192 4>, <0 193 4>, <0 194 4>, <0 195 4>, | ||
43 | <0 196 4>, <0 197 4>, <0 198 4>, <0 199 4>, | ||
44 | <0 200 4>, <0 201 4>, <0 202 4>, <0 203 4>, | ||
45 | <0 204 4>, <0 205 4>, <0 206 4>, <0 207 4>, | ||
46 | <0 208 4>, <0 210 4>; | ||
47 | samsung,pbl = <0x08> | ||
48 | samsung,burst-map = <0x20> | ||
49 | mac-address = [ 00 11 22 33 44 55 ]; /* Filled in by U-Boot */ | ||
50 | max-frame-size = <9000>; | ||
51 | phy-mode = "xgmii"; | ||
52 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/sh_eth.txt b/Documentation/devicetree/bindings/net/sh_eth.txt new file mode 100644 index 000000000000..e7106b50dbdc --- /dev/null +++ b/Documentation/devicetree/bindings/net/sh_eth.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | * Renesas Electronics SH EtherMAC | ||
2 | |||
3 | This file provides information on what the device node for the SH EtherMAC | ||
4 | interface contains. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "renesas,gether-r8a7740" if the device is a part of R8A7740 SoC. | ||
8 | "renesas,ether-r8a7778" if the device is a part of R8A7778 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. | ||
11 | "renesas,ether-r8a7791" if the device is a part of R8A7791 SoC. | ||
12 | "renesas,ether-r7s72100" if the device is a part of R7S72100 SoC. | ||
13 | - reg: offset and length of (1) the E-DMAC/feLic register block (required), | ||
14 | (2) the TSU register block (optional). | ||
15 | - interrupts: interrupt specifier for the sole interrupt. | ||
16 | - phy-mode: see ethernet.txt file in the same directory. | ||
17 | - phy-handle: see ethernet.txt file in the same directory. | ||
18 | - #address-cells: number of address cells for the MDIO bus, must be equal to 1. | ||
19 | - #size-cells: number of size cells on the MDIO bus, must be equal to 0. | ||
20 | - clocks: clock phandle and specifier pair. | ||
21 | - pinctrl-0: phandle, referring to a default pin configuration node. | ||
22 | |||
23 | Optional properties: | ||
24 | - interrupt-parent: the phandle for the interrupt controller that services | ||
25 | interrupts for this device. | ||
26 | - pinctrl-names: pin configuration state name ("default"). | ||
27 | - renesas,no-ether-link: boolean, specify when a board does not provide a proper | ||
28 | Ether LINK signal. | ||
29 | - renesas,ether-link-active-low: boolean, specify when the Ether LINK signal is | ||
30 | active-low instead of normal active-high. | ||
31 | |||
32 | Example (Lager board): | ||
33 | |||
34 | ethernet@ee700000 { | ||
35 | compatible = "renesas,ether-r8a7790"; | ||
36 | reg = <0 0xee700000 0 0x400>; | ||
37 | interrupt-parent = <&gic>; | ||
38 | interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>; | ||
39 | clocks = <&mstp8_clks R8A7790_CLK_ETHER>; | ||
40 | phy-mode = "rmii"; | ||
41 | phy-handle = <&phy1>; | ||
42 | pinctrl-0 = <ðer_pins>; | ||
43 | pinctrl-names = "default"; | ||
44 | renesas,ether-link-active-low; | ||
45 | #address-cells = <1>; | ||
46 | #size-cells = <0>; | ||
47 | |||
48 | phy1: ethernet-phy@1 { | ||
49 | reg = <1>; | ||
50 | interrupt-parent = <&irqc0>; | ||
51 | interrupts = <0 IRQ_TYPE_LEVEL_LOW>; | ||
52 | pinctrl-0 = <&phy1_pins>; | ||
53 | pinctrl-names = "default"; | ||
54 | }; | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/smsc-lan91c111.txt b/Documentation/devicetree/bindings/net/smsc-lan91c111.txt index 5a41a8658daa..0f8487b88822 100644 --- a/Documentation/devicetree/bindings/net/smsc-lan91c111.txt +++ b/Documentation/devicetree/bindings/net/smsc-lan91c111.txt | |||
@@ -6,8 +6,7 @@ Required properties: | |||
6 | - interrupts : interrupt connection | 6 | - interrupts : interrupt connection |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - phy-device : phandle to Ethernet phy | 9 | - phy-device : see ethernet.txt file in the same directory |
10 | - local-mac-address : Ethernet mac address to use | ||
11 | - reg-io-width : Mask of sizes (in bytes) of the IO accesses that | 10 | - reg-io-width : Mask of sizes (in bytes) of the IO accesses that |
12 | are supported on the device. Valid value for SMSC LAN91c111 are | 11 | are supported on the device. Valid value for SMSC LAN91c111 are |
13 | 1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning | 12 | 1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning |
diff --git a/Documentation/devicetree/bindings/net/smsc911x.txt b/Documentation/devicetree/bindings/net/smsc911x.txt index adb5b5744ecd..3fed3c124411 100644 --- a/Documentation/devicetree/bindings/net/smsc911x.txt +++ b/Documentation/devicetree/bindings/net/smsc911x.txt | |||
@@ -6,9 +6,7 @@ Required properties: | |||
6 | - interrupts : Should contain SMSC LAN interrupt line | 6 | - interrupts : Should contain SMSC LAN interrupt line |
7 | - interrupt-parent : Should be the phandle for the interrupt controller | 7 | - interrupt-parent : Should be the phandle for the interrupt controller |
8 | that services interrupts for this device | 8 | that services interrupts for this device |
9 | - phy-mode : String, operation mode of the PHY interface. | 9 | - phy-mode : See ethernet.txt file in the same directory |
10 | Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii", | ||
11 | "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii". | ||
12 | 10 | ||
13 | Optional properties: | 11 | Optional properties: |
14 | - reg-shift : Specify the quantity to shift the register offsets by | 12 | - reg-shift : Specify the quantity to shift the register offsets by |
@@ -23,7 +21,6 @@ Optional properties: | |||
23 | external PHY | 21 | external PHY |
24 | - smsc,save-mac-address : Indicates that mac address needs to be saved | 22 | - smsc,save-mac-address : Indicates that mac address needs to be saved |
25 | before resetting the controller | 23 | before resetting the controller |
26 | - local-mac-address : 6 bytes, mac address | ||
27 | 24 | ||
28 | Examples: | 25 | Examples: |
29 | 26 | ||
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt new file mode 100644 index 000000000000..636f0ac4e223 --- /dev/null +++ b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Altera SOCFPGA SoC DWMAC controller | ||
2 | |||
3 | This is a variant of the dwmac/stmmac driver an inherits all descriptions | ||
4 | present in Documentation/devicetree/bindings/net/stmmac.txt. | ||
5 | |||
6 | The device node has additional properties: | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Should contain "altr,socfpga-stmmac" along with | ||
10 | "snps,dwmac" and any applicable more detailed | ||
11 | designware version numbers documented in stmmac.txt | ||
12 | - altr,sysmgr-syscon : Should be the phandle to the system manager node that | ||
13 | encompasses the glue register, the register offset, and the register shift. | ||
14 | |||
15 | Example: | ||
16 | |||
17 | gmac0: ethernet@ff700000 { | ||
18 | compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; | ||
19 | altr,sysmgr-syscon = <&sysmgr 0x60 0>; | ||
20 | status = "disabled"; | ||
21 | reg = <0xff700000 0x2000>; | ||
22 | interrupts = <0 115 4>; | ||
23 | interrupt-names = "macirq"; | ||
24 | mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | ||
25 | clocks = <&emac_0_clk>; | ||
26 | clocks-names = "stmmaceth"; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt new file mode 100644 index 000000000000..3dd3d0bf112f --- /dev/null +++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt | |||
@@ -0,0 +1,58 @@ | |||
1 | STMicroelectronics SoC DWMAC glue layer controller | ||
2 | |||
3 | The device node has following properties. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac" or | ||
7 | "st,stid127-dwmac". | ||
8 | - reg : Offset of the glue configuration register map in system | ||
9 | configuration regmap pointed by st,syscon property and size. | ||
10 | |||
11 | - reg-names : Should be "sti-ethconf". | ||
12 | |||
13 | - st,syscon : Should be phandle to system configuration node which | ||
14 | encompases this glue registers. | ||
15 | |||
16 | - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be | ||
17 | wired up in from different sources. One via TXCLK pin and other via CLK_125 | ||
18 | pin. This wiring is totally board dependent. However the retiming glue | ||
19 | logic should be configured accordingly. Possible values for this property | ||
20 | |||
21 | "txclk" - if 125Mhz clock is wired up via txclk line. | ||
22 | "clk_125" - if 125Mhz clock is wired up via clk_125 line. | ||
23 | |||
24 | This property is only valid for Giga bit setup( GMII, RGMII), and it is | ||
25 | un-used for non-giga bit (MII and RMII) setups. Also note that internal | ||
26 | clockgen can not generate stable 125Mhz clock. | ||
27 | |||
28 | - st,ext-phyclk: This boolean property indicates who is generating the clock | ||
29 | for tx and rx. This property is only valid for RMII case where the clock can | ||
30 | be generated from the MAC or PHY. | ||
31 | |||
32 | - clock-names: should be "sti-ethclk". | ||
33 | - clocks: Should point to ethernet clockgen which can generate phyclk. | ||
34 | |||
35 | |||
36 | Example: | ||
37 | |||
38 | ethernet0: dwmac@fe810000 { | ||
39 | device_type = "network"; | ||
40 | compatible = "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710"; | ||
41 | reg = <0xfe810000 0x8000>, <0x8bc 0x4>; | ||
42 | reg-names = "stmmaceth", "sti-ethconf"; | ||
43 | interrupts = <0 133 0>, <0 134 0>, <0 135 0>; | ||
44 | interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; | ||
45 | phy-mode = "mii"; | ||
46 | |||
47 | st,syscon = <&syscfg_rear>; | ||
48 | |||
49 | snps,pbl = <32>; | ||
50 | snps,mixed-burst; | ||
51 | |||
52 | resets = <&softreset STIH416_ETH0_SOFTRESET>; | ||
53 | reset-names = "stmmaceth"; | ||
54 | pinctrl-0 = <&pinctrl_mii0>; | ||
55 | pinctrl-names = "default"; | ||
56 | clocks = <&CLK_S_GMAC0_PHY>; | ||
57 | clock-names = "stmmaceth"; | ||
58 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt index 9d92d42140f2..80c1fb8bfbb8 100644 --- a/Documentation/devicetree/bindings/net/stmmac.txt +++ b/Documentation/devicetree/bindings/net/stmmac.txt | |||
@@ -10,8 +10,7 @@ Required properties: | |||
10 | - interrupt-names: Should contain the interrupt names "macirq" | 10 | - interrupt-names: Should contain the interrupt names "macirq" |
11 | "eth_wake_irq" if this interrupt is supported in the "interrupts" | 11 | "eth_wake_irq" if this interrupt is supported in the "interrupts" |
12 | property | 12 | property |
13 | - phy-mode: String, operation mode of the PHY interface. | 13 | - phy-mode: See ethernet.txt file in the same directory. |
14 | Supported values are: "mii", "rmii", "gmii", "rgmii". | ||
15 | - snps,reset-gpio gpio number for phy reset. | 14 | - snps,reset-gpio gpio number for phy reset. |
16 | - snps,reset-active-low boolean flag to indicate if phy reset is active low. | 15 | - snps,reset-active-low boolean flag to indicate if phy reset is active low. |
17 | - snps,reset-delays-us is triplet of delays | 16 | - snps,reset-delays-us is triplet of delays |
@@ -28,12 +27,14 @@ Required properties: | |||
28 | ignored if force_thresh_dma_mode is set. | 27 | ignored if force_thresh_dma_mode is set. |
29 | 28 | ||
30 | Optional properties: | 29 | Optional properties: |
31 | - mac-address: 6 bytes, mac address | ||
32 | - resets: Should contain a phandle to the STMMAC reset signal, if any | 30 | - resets: Should contain a phandle to the STMMAC reset signal, if any |
33 | - reset-names: Should contain the reset signal name "stmmaceth", if a | 31 | - reset-names: Should contain the reset signal name "stmmaceth", if a |
34 | reset phandle is given | 32 | reset phandle is given |
35 | - max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather | 33 | - max-frame-size: See ethernet.txt file in the same directory |
36 | than the maximum frame size. | 34 | - clocks: If present, the first clock should be the GMAC main clock, |
35 | further clocks may be specified in derived bindings. | ||
36 | - clocks-names: One name for each entry in the clocks property, the | ||
37 | first one should be "stmmaceth". | ||
37 | 38 | ||
38 | Examples: | 39 | Examples: |
39 | 40 | ||
@@ -46,4 +47,6 @@ Examples: | |||
46 | mac-address = [000000000000]; /* Filled in by U-Boot */ | 47 | mac-address = [000000000000]; /* Filled in by U-Boot */ |
47 | max-frame-size = <3800>; | 48 | max-frame-size = <3800>; |
48 | phy-mode = "gmii"; | 49 | phy-mode = "gmii"; |
50 | clocks = <&clock>; | ||
51 | clock-names = "stmmaceth">; | ||
49 | }; | 52 | }; |
diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt b/Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt new file mode 100644 index 000000000000..189ae5cad8f7 --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt | |||
@@ -0,0 +1,39 @@ | |||
1 | * Texas Instruments wl1251 wireless lan controller | ||
2 | |||
3 | The wl1251 chip can be connected via SPI or via SDIO. This | ||
4 | document describes the binding for the SPI connected chip. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Should be "ti,wl1251" | ||
8 | - reg : Chip select address of device | ||
9 | - spi-max-frequency : Maximum SPI clocking speed of device in Hz | ||
10 | - interrupts : Should contain interrupt line | ||
11 | - interrupt-parent : Should be the phandle for the interrupt controller | ||
12 | that services interrupts for this device | ||
13 | - vio-supply : phandle to regulator providing VIO | ||
14 | - ti,power-gpio : GPIO connected to chip's PMEN pin | ||
15 | |||
16 | Optional properties: | ||
17 | - ti,wl1251-has-eeprom : boolean, the wl1251 has an eeprom connected, which | ||
18 | provides configuration data (calibration, MAC, ...) | ||
19 | - Please consult Documentation/devicetree/bindings/spi/spi-bus.txt | ||
20 | for optional SPI connection related properties, | ||
21 | |||
22 | Examples: | ||
23 | |||
24 | &spi1 { | ||
25 | wl1251@0 { | ||
26 | compatible = "ti,wl1251"; | ||
27 | |||
28 | reg = <0>; | ||
29 | spi-max-frequency = <48000000>; | ||
30 | spi-cpol; | ||
31 | spi-cpha; | ||
32 | |||
33 | interrupt-parent = <&gpio2>; | ||
34 | interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */ | ||
35 | |||
36 | vio-supply = <&vio>; | ||
37 | ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */ | ||
38 | }; | ||
39 | }; | ||
diff --git a/Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt b/Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt new file mode 100644 index 000000000000..5e649cb9aa1a --- /dev/null +++ b/Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | LG Corporation 7" WXGA TFT LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "lg,ld070wx3-sl01" | ||
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/lg,lh500wx1-sd03.txt b/Documentation/devicetree/bindings/panel/lg,lh500wx1-sd03.txt new file mode 100644 index 000000000000..a04fd2b2e73d --- /dev/null +++ b/Documentation/devicetree/bindings/panel/lg,lh500wx1-sd03.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | LG Corporation 5" HD TFT LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "lg,lh500wx1-sd03" | ||
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/lg,lp129qe.txt b/Documentation/devicetree/bindings/panel/lg,lp129qe.txt new file mode 100644 index 000000000000..9f262e0c5a2e --- /dev/null +++ b/Documentation/devicetree/bindings/panel/lg,lp129qe.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | LG 12.9" (2560x1700 pixels) TFT LCD panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "lg,lp129qe" | ||
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/samsung,ld9040.txt b/Documentation/devicetree/bindings/panel/samsung,ld9040.txt new file mode 100644 index 000000000000..07c36c3f7b52 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/samsung,ld9040.txt | |||
@@ -0,0 +1,66 @@ | |||
1 | Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "samsung,ld9040" | ||
5 | - reg: address of the panel on SPI bus | ||
6 | - vdd3-supply: core voltage supply | ||
7 | - vci-supply: voltage supply for analog circuits | ||
8 | - reset-gpios: a GPIO spec for the reset pin | ||
9 | - display-timings: timings for the connected panel according to [1] | ||
10 | |||
11 | The panel must obey rules for SPI slave device specified in document [2]. | ||
12 | |||
13 | Optional properties: | ||
14 | - power-on-delay: delay after turning regulators on [ms] | ||
15 | - reset-delay: delay after reset sequence [ms] | ||
16 | - panel-width-mm: physical panel width [mm] | ||
17 | - panel-height-mm: physical panel height [mm] | ||
18 | |||
19 | The device node can contain one 'port' child node with one child | ||
20 | 'endpoint' node, according to the bindings defined in [3]. This | ||
21 | node should describe panel's video bus. | ||
22 | |||
23 | [1]: Documentation/devicetree/bindings/video/display-timing.txt | ||
24 | [2]: Documentation/devicetree/bindings/spi/spi-bus.txt | ||
25 | [3]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
26 | |||
27 | Example: | ||
28 | |||
29 | lcd@0 { | ||
30 | compatible = "samsung,ld9040"; | ||
31 | reg = <0>; | ||
32 | vdd3-supply = <&ldo7_reg>; | ||
33 | vci-supply = <&ldo17_reg>; | ||
34 | reset-gpios = <&gpy4 5 0>; | ||
35 | spi-max-frequency = <1200000>; | ||
36 | spi-cpol; | ||
37 | spi-cpha; | ||
38 | power-on-delay = <10>; | ||
39 | reset-delay = <10>; | ||
40 | panel-width-mm = <90>; | ||
41 | panel-height-mm = <154>; | ||
42 | |||
43 | display-timings { | ||
44 | timing { | ||
45 | clock-frequency = <23492370>; | ||
46 | hactive = <480>; | ||
47 | vactive = <800>; | ||
48 | hback-porch = <16>; | ||
49 | hfront-porch = <16>; | ||
50 | vback-porch = <2>; | ||
51 | vfront-porch = <28>; | ||
52 | hsync-len = <2>; | ||
53 | vsync-len = <1>; | ||
54 | hsync-active = <0>; | ||
55 | vsync-active = <0>; | ||
56 | de-active = <0>; | ||
57 | pixelclk-active = <0>; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | port { | ||
62 | lcd_ep: endpoint { | ||
63 | remote-endpoint = <&fimd_dpi_ep>; | ||
64 | }; | ||
65 | }; | ||
66 | }; | ||
diff --git a/Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt b/Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt new file mode 100644 index 000000000000..e7ee988e3156 --- /dev/null +++ b/Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt | |||
@@ -0,0 +1,56 @@ | |||
1 | Samsung S6E8AA0 AMOLED LCD 5.3 inch panel | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "samsung,s6e8aa0" | ||
5 | - reg: the virtual channel number of a DSI peripheral | ||
6 | - vdd3-supply: core voltage supply | ||
7 | - vci-supply: voltage supply for analog circuits | ||
8 | - reset-gpios: a GPIO spec for the reset pin | ||
9 | - display-timings: timings for the connected panel as described by [1] | ||
10 | |||
11 | Optional properties: | ||
12 | - power-on-delay: delay after turning regulators on [ms] | ||
13 | - reset-delay: delay after reset sequence [ms] | ||
14 | - init-delay: delay after initialization sequence [ms] | ||
15 | - panel-width-mm: physical panel width [mm] | ||
16 | - panel-height-mm: physical panel height [mm] | ||
17 | - flip-horizontal: boolean to flip image horizontally | ||
18 | - flip-vertical: boolean to flip image vertically | ||
19 | |||
20 | The device node can contain one 'port' child node with one child | ||
21 | 'endpoint' node, according to the bindings defined in [2]. This | ||
22 | node should describe panel's video bus. | ||
23 | |||
24 | [1]: Documentation/devicetree/bindings/video/display-timing.txt | ||
25 | [2]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
26 | |||
27 | Example: | ||
28 | |||
29 | panel { | ||
30 | compatible = "samsung,s6e8aa0"; | ||
31 | reg = <0>; | ||
32 | vdd3-supply = <&vcclcd_reg>; | ||
33 | vci-supply = <&vlcd_reg>; | ||
34 | reset-gpios = <&gpy4 5 0>; | ||
35 | power-on-delay= <50>; | ||
36 | reset-delay = <100>; | ||
37 | init-delay = <100>; | ||
38 | panel-width-mm = <58>; | ||
39 | panel-height-mm = <103>; | ||
40 | flip-horizontal; | ||
41 | flip-vertical; | ||
42 | |||
43 | display-timings { | ||
44 | timing0: timing-0 { | ||
45 | clock-frequency = <57153600>; | ||
46 | hactive = <720>; | ||
47 | vactive = <1280>; | ||
48 | hfront-porch = <5>; | ||
49 | hback-porch = <5>; | ||
50 | hsync-len = <5>; | ||
51 | vfront-porch = <13>; | ||
52 | vback-porch = <1>; | ||
53 | vsync-len = <2>; | ||
54 | }; | ||
55 | }; | ||
56 | }; | ||
diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt index 24cee06915c9..c300391e8d3e 100644 --- a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt +++ b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt | |||
@@ -42,6 +42,10 @@ Required properties: | |||
42 | - 0xc2000000: prefetchable memory region | 42 | - 0xc2000000: prefetchable memory region |
43 | Please refer to the standard PCI bus binding document for a more detailed | 43 | Please refer to the standard PCI bus binding document for a more detailed |
44 | explanation. | 44 | explanation. |
45 | - #interrupt-cells: Size representation for interrupts (must be 1) | ||
46 | - interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties | ||
47 | Please refer to the standard PCI bus binding document for a more detailed | ||
48 | explanation. | ||
45 | - clocks: Must contain an entry for each entry in clock-names. | 49 | - clocks: Must contain an entry for each entry in clock-names. |
46 | See ../clocks/clock-bindings.txt for details. | 50 | See ../clocks/clock-bindings.txt for details. |
47 | - clock-names: Must include the following entries: | 51 | - clock-names: Must include the following entries: |
@@ -86,6 +90,10 @@ SoC DTSI: | |||
86 | 0 99 0x04>; /* MSI interrupt */ | 90 | 0 99 0x04>; /* MSI interrupt */ |
87 | interrupt-names = "intr", "msi"; | 91 | interrupt-names = "intr", "msi"; |
88 | 92 | ||
93 | #interrupt-cells = <1>; | ||
94 | interrupt-map-mask = <0 0 0 0>; | ||
95 | interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; | ||
96 | |||
89 | bus-range = <0x00 0xff>; | 97 | bus-range = <0x00 0xff>; |
90 | #address-cells = <3>; | 98 | #address-cells = <3>; |
91 | #size-cells = <2>; | 99 | #size-cells = <2>; |
diff --git a/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt b/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt new file mode 100644 index 000000000000..5f3a65a9dd88 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt | |||
@@ -0,0 +1,79 @@ | |||
1 | * APM X-Gene 15Gbps Multi-purpose PHY nodes | ||
2 | |||
3 | PHY nodes are defined to describe on-chip 15Gbps Multi-purpose PHY. Each | ||
4 | PHY (pair of lanes) has its own node. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Shall be "apm,xgene-phy". | ||
8 | - reg : PHY memory resource is the SDS PHY access resource. | ||
9 | - #phy-cells : Shall be 1 as it expects one argument for setting | ||
10 | the mode of the PHY. Possible values are 0 (SATA), | ||
11 | 1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI). | ||
12 | |||
13 | Optional properties: | ||
14 | - status : Shall be "ok" if enabled or "disabled" if disabled. | ||
15 | Default is "ok". | ||
16 | - clocks : Reference to the clock entry. | ||
17 | - apm,tx-eye-tuning : Manual control to fine tune the capture of the serial | ||
18 | bit lines from the automatic calibrated position. | ||
19 | Two set of 3-tuple setting for each (up to 3) | ||
20 | supported link speed on the host. Range from 0 to | ||
21 | 127 in unit of one bit period. Default is 10. | ||
22 | - apm,tx-eye-direction : Eye tuning manual control direction. 0 means sample | ||
23 | data earlier than the nominal sampling point. 1 means | ||
24 | sample data later than the nominal sampling point. | ||
25 | Two set of 3-tuple setting for each (up to 3) | ||
26 | supported link speed on the host. Default is 0. | ||
27 | - apm,tx-boost-gain : Frequency boost AC (LSB 3-bit) and DC (2-bit) | ||
28 | gain control. Two set of 3-tuple setting for each | ||
29 | (up to 3) supported link speed on the host. Range is | ||
30 | between 0 to 31 in unit of dB. Default is 3. | ||
31 | - apm,tx-amplitude : Amplitude control. Two set of 3-tuple setting for | ||
32 | each (up to 3) supported link speed on the host. | ||
33 | Range is between 0 to 199500 in unit of uV. | ||
34 | Default is 199500 uV. | ||
35 | - apm,tx-pre-cursor1 : 1st pre-cursor emphasis taps control. Two set of | ||
36 | 3-tuple setting for each (up to 3) supported link | ||
37 | speed on the host. Range is 0 to 273000 in unit of | ||
38 | uV. Default is 0. | ||
39 | - apm,tx-pre-cursor2 : 2st pre-cursor emphasis taps control. Two set of | ||
40 | 3-tuple setting for each (up to 3) supported link | ||
41 | speed on the host. Range is 0 to 127400 in unit uV. | ||
42 | Default is 0x0. | ||
43 | - apm,tx-post-cursor : Post-cursor emphasis taps control. Two set of | ||
44 | 3-tuple setting for Gen1, Gen2, and Gen3. Range is | ||
45 | between 0 to 0x1f in unit of 18.2mV. Default is 0xf. | ||
46 | - apm,tx-speed : Tx operating speed. One set of 3-tuple for each | ||
47 | supported link speed on the host. | ||
48 | 0 = 1-2Gbps | ||
49 | 1 = 2-4Gbps (1st tuple default) | ||
50 | 2 = 4-8Gbps | ||
51 | 3 = 8-15Gbps (2nd tuple default) | ||
52 | 4 = 2.5-4Gbps | ||
53 | 5 = 4-5Gbps | ||
54 | 6 = 5-6Gbps | ||
55 | 7 = 6-16Gbps (3rd tuple default) | ||
56 | |||
57 | NOTE: PHY override parameters are board specific setting. | ||
58 | |||
59 | Example: | ||
60 | phy1: phy@1f21a000 { | ||
61 | compatible = "apm,xgene-phy"; | ||
62 | reg = <0x0 0x1f21a000 0x0 0x100>; | ||
63 | #phy-cells = <1>; | ||
64 | status = "disabled"; | ||
65 | }; | ||
66 | |||
67 | phy2: phy@1f22a000 { | ||
68 | compatible = "apm,xgene-phy"; | ||
69 | reg = <0x0 0x1f22a000 0x0 0x100>; | ||
70 | #phy-cells = <1>; | ||
71 | status = "ok"; | ||
72 | }; | ||
73 | |||
74 | phy3: phy@1f23a000 { | ||
75 | compatible = "apm,xgene-phy"; | ||
76 | reg = <0x0 0x1f23a000 0x0 0x100>; | ||
77 | #phy-cells = <1>; | ||
78 | status = "ok"; | ||
79 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt index c0fccaa1671e..b422e38946d7 100644 --- a/Documentation/devicetree/bindings/phy/samsung-phy.txt +++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt | |||
@@ -20,3 +20,97 @@ Required properties: | |||
20 | - compatible : should be "samsung,exynos5250-dp-video-phy"; | 20 | - compatible : should be "samsung,exynos5250-dp-video-phy"; |
21 | - reg : offset and length of the Display Port PHY register set; | 21 | - reg : offset and length of the Display Port PHY register set; |
22 | - #phy-cells : from the generic PHY bindings, must be 0; | 22 | - #phy-cells : from the generic PHY bindings, must be 0; |
23 | |||
24 | Samsung S5P/EXYNOS SoC series USB PHY | ||
25 | ------------------------------------------------- | ||
26 | |||
27 | Required properties: | ||
28 | - compatible : should be one of the listed compatibles: | ||
29 | - "samsung,exynos4210-usb2-phy" | ||
30 | - "samsung,exynos4x12-usb2-phy" | ||
31 | - "samsung,exynos5250-usb2-phy" | ||
32 | - reg : a list of registers used by phy driver | ||
33 | - first and obligatory is the location of phy modules registers | ||
34 | - samsung,sysreg-phandle - handle to syscon used to control the system registers | ||
35 | - samsung,pmureg-phandle - handle to syscon used to control PMU registers | ||
36 | - #phy-cells : from the generic phy bindings, must be 1; | ||
37 | - clocks and clock-names: | ||
38 | - the "phy" clock is required by the phy module, used as a gate | ||
39 | - the "ref" clock is used to get the rate of the clock provided to the | ||
40 | PHY module | ||
41 | |||
42 | The first phandle argument in the PHY specifier identifies the PHY, its | ||
43 | meaning is compatible dependent. For the currently supported SoCs (Exynos 4210 | ||
44 | and Exynos 4212) it is as follows: | ||
45 | 0 - USB device ("device"), | ||
46 | 1 - USB host ("host"), | ||
47 | 2 - HSIC0 ("hsic0"), | ||
48 | 3 - HSIC1 ("hsic1"), | ||
49 | |||
50 | Exynos 4210 and Exynos 4212 use mode switching and require that mode switch | ||
51 | register is supplied. | ||
52 | |||
53 | Example: | ||
54 | |||
55 | For Exynos 4412 (compatible with Exynos 4212): | ||
56 | |||
57 | usbphy: phy@125b0000 { | ||
58 | compatible = "samsung,exynos4x12-usb2-phy"; | ||
59 | reg = <0x125b0000 0x100>; | ||
60 | clocks = <&clock 305>, <&clock 2>; | ||
61 | clock-names = "phy", "ref"; | ||
62 | status = "okay"; | ||
63 | #phy-cells = <1>; | ||
64 | samsung,sysreg-phandle = <&sys_reg>; | ||
65 | samsung,pmureg-phandle = <&pmu_reg>; | ||
66 | }; | ||
67 | |||
68 | Then the PHY can be used in other nodes such as: | ||
69 | |||
70 | phy-consumer@12340000 { | ||
71 | phys = <&usbphy 2>; | ||
72 | phy-names = "phy"; | ||
73 | }; | ||
74 | |||
75 | Refer to DT bindings documentation of particular PHY consumer devices for more | ||
76 | information about required PHYs and the way of specification. | ||
77 | |||
78 | Samsung SATA PHY Controller | ||
79 | --------------------------- | ||
80 | |||
81 | SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers. | ||
82 | Each SATA PHY controller should have its own node. | ||
83 | |||
84 | Required properties: | ||
85 | - compatible : compatible list, contains "samsung,exynos5250-sata-phy" | ||
86 | - reg : offset and length of the SATA PHY register set; | ||
87 | - #phy-cells : must be zero | ||
88 | - clocks : must be exactly one entry | ||
89 | - clock-names : must be "sata_phyctrl" | ||
90 | - samsung,exynos-sataphy-i2c-phandle : a phandle to the I2C device, no arguments | ||
91 | - samsung,syscon-phandle : a phandle to the PMU system controller, no arguments | ||
92 | |||
93 | Example: | ||
94 | sata_phy: sata-phy@12170000 { | ||
95 | compatible = "samsung,exynos5250-sata-phy"; | ||
96 | reg = <0x12170000 0x1ff>; | ||
97 | clocks = <&clock 287>; | ||
98 | clock-names = "sata_phyctrl"; | ||
99 | #phy-cells = <0>; | ||
100 | samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; | ||
101 | samsung,syscon-phandle = <&pmu_syscon>; | ||
102 | }; | ||
103 | |||
104 | Device-Tree bindings for sataphy i2c client driver | ||
105 | -------------------------------------------------- | ||
106 | |||
107 | Required properties: | ||
108 | compatible: Should be "samsung,exynos-sataphy-i2c" | ||
109 | - reg: I2C address of the sataphy i2c device. | ||
110 | |||
111 | Example: | ||
112 | |||
113 | sata_phy_i2c:sata-phy@38 { | ||
114 | compatible = "samsung,exynos-sataphy-i2c"; | ||
115 | reg = <0x38>; | ||
116 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt new file mode 100644 index 000000000000..a82361b62015 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | Allwinner sun4i USB PHY | ||
2 | ----------------------- | ||
3 | |||
4 | Required properties: | ||
5 | - compatible : should be one of "allwinner,sun4i-a10-usb-phy", | ||
6 | "allwinner,sun5i-a13-usb-phy" or "allwinner,sun7i-a20-usb-phy" | ||
7 | - reg : a list of offset + length pairs | ||
8 | - reg-names : "phy_ctrl", "pmu1" and for sun4i or sun7i "pmu2" | ||
9 | - #phy-cells : from the generic phy bindings, must be 1 | ||
10 | - clocks : phandle + clock specifier for the phy clock | ||
11 | - clock-names : "usb_phy" | ||
12 | - resets : a list of phandle + reset specifier pairs | ||
13 | - reset-names : "usb0_reset", "usb1_reset" and for sun4i or sun7i "usb2_reset" | ||
14 | |||
15 | Example: | ||
16 | usbphy: phy@0x01c13400 { | ||
17 | #phy-cells = <1>; | ||
18 | compatible = "allwinner,sun4i-a10-usb-phy"; | ||
19 | /* phy base regs, phy1 pmu reg, phy2 pmu reg */ | ||
20 | reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; | ||
21 | reg-names = "phy_ctrl", "pmu1", "pmu2"; | ||
22 | clocks = <&usb_clk 8>; | ||
23 | clock-names = "usb_phy"; | ||
24 | resets = <&usb_clk 1>, <&usb_clk 2>; | ||
25 | reset-names = "usb1_reset", "usb2_reset"; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/ti-phy.txt b/Documentation/devicetree/bindings/phy/ti-phy.txt new file mode 100644 index 000000000000..788fb0fa3762 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/ti-phy.txt | |||
@@ -0,0 +1,86 @@ | |||
1 | TI PHY: DT DOCUMENTATION FOR PHYs in TI PLATFORMs | ||
2 | |||
3 | OMAP CONTROL PHY | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: Should be one of | ||
7 | "ti,control-phy-otghs" - if it has otghs_control mailbox register as on OMAP4. | ||
8 | "ti,control-phy-usb2" - if it has Power down bit in control_dev_conf register | ||
9 | e.g. USB2_PHY on OMAP5. | ||
10 | "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control | ||
11 | e.g. USB3 PHY and SATA PHY on OMAP5. | ||
12 | "ti,control-phy-usb2-dra7" - if it has power down register like USB2 PHY on | ||
13 | DRA7 platform. | ||
14 | "ti,control-phy-usb2-am437" - if it has power down register like USB2 PHY on | ||
15 | AM437 platform. | ||
16 | - reg : Address and length of the register set for the device. It contains | ||
17 | the address of "otghs_control" for control-phy-otghs or "power" register | ||
18 | for other types. | ||
19 | - reg-names: should be "otghs_control" control-phy-otghs and "power" for | ||
20 | other types. | ||
21 | |||
22 | omap_control_usb: omap-control-usb@4a002300 { | ||
23 | compatible = "ti,control-phy-otghs"; | ||
24 | reg = <0x4a00233c 0x4>; | ||
25 | reg-names = "otghs_control"; | ||
26 | }; | ||
27 | |||
28 | OMAP USB2 PHY | ||
29 | |||
30 | Required properties: | ||
31 | - compatible: Should be "ti,omap-usb2" | ||
32 | - reg : Address and length of the register set for the device. | ||
33 | - #phy-cells: determine the number of cells that should be given in the | ||
34 | phandle while referencing this phy. | ||
35 | |||
36 | Optional properties: | ||
37 | - ctrl-module : phandle of the control module used by PHY driver to power on | ||
38 | the PHY. | ||
39 | |||
40 | This is usually a subnode of ocp2scp to which it is connected. | ||
41 | |||
42 | usb2phy@4a0ad080 { | ||
43 | compatible = "ti,omap-usb2"; | ||
44 | reg = <0x4a0ad080 0x58>; | ||
45 | ctrl-module = <&omap_control_usb>; | ||
46 | #phy-cells = <0>; | ||
47 | }; | ||
48 | |||
49 | TI PIPE3 PHY | ||
50 | |||
51 | Required properties: | ||
52 | - compatible: Should be "ti,phy-usb3" or "ti,phy-pipe3-sata". | ||
53 | "ti,omap-usb3" is deprecated. | ||
54 | - reg : Address and length of the register set for the device. | ||
55 | - reg-names: The names of the register addresses corresponding to the registers | ||
56 | filled in "reg". | ||
57 | - #phy-cells: determine the number of cells that should be given in the | ||
58 | phandle while referencing this phy. | ||
59 | - clocks: a list of phandles and clock-specifier pairs, one for each entry in | ||
60 | clock-names. | ||
61 | - clock-names: should include: | ||
62 | * "wkupclk" - wakeup clock. | ||
63 | * "sysclk" - system clock. | ||
64 | * "refclk" - reference clock. | ||
65 | |||
66 | Optional properties: | ||
67 | - ctrl-module : phandle of the control module used by PHY driver to power on | ||
68 | the PHY. | ||
69 | |||
70 | This is usually a subnode of ocp2scp to which it is connected. | ||
71 | |||
72 | usb3phy@4a084400 { | ||
73 | compatible = "ti,phy-usb3"; | ||
74 | reg = <0x4a084400 0x80>, | ||
75 | <0x4a084800 0x64>, | ||
76 | <0x4a084c00 0x40>; | ||
77 | reg-names = "phy_rx", "phy_tx", "pll_ctrl"; | ||
78 | ctrl-module = <&omap_control_usb>; | ||
79 | #phy-cells = <0>; | ||
80 | clocks = <&usb_phy_cm_clk32k>, | ||
81 | <&sys_clkin>, | ||
82 | <&usb_otg_ss_refclk960m>; | ||
83 | clock-names = "wkupclk", | ||
84 | "sysclk", | ||
85 | "refclk"; | ||
86 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt index 9e9e9ef9f852..c119debe6bab 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt | |||
@@ -1,4 +1,4 @@ | |||
1 | Broadcom Capri Pin Controller | 1 | Broadcom BCM281xx Pin Controller |
2 | 2 | ||
3 | This is a pin controller for the Broadcom BCM281xx SoC family, which includes | 3 | This is a pin controller for the Broadcom BCM281xx SoC family, which includes |
4 | BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. | 4 | BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. |
@@ -7,14 +7,14 @@ BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. | |||
7 | 7 | ||
8 | Required Properties: | 8 | Required Properties: |
9 | 9 | ||
10 | - compatible: Must be "brcm,capri-pinctrl". | 10 | - compatible: Must be "brcm,bcm11351-pinctrl" |
11 | - reg: Base address of the PAD Controller register block and the size | 11 | - reg: Base address of the PAD Controller register block and the size |
12 | of the block. | 12 | of the block. |
13 | 13 | ||
14 | For example, the following is the bare minimum node: | 14 | For example, the following is the bare minimum node: |
15 | 15 | ||
16 | pinctrl@35004800 { | 16 | pinctrl@35004800 { |
17 | compatible = "brcm,capri-pinctrl"; | 17 | compatible = "brcm,bcm11351-pinctrl"; |
18 | reg = <0x35004800 0x430>; | 18 | reg = <0x35004800 0x430>; |
19 | }; | 19 | }; |
20 | 20 | ||
@@ -119,7 +119,7 @@ Optional Properties (for HDMI pins): | |||
119 | Example: | 119 | Example: |
120 | // pin controller node | 120 | // pin controller node |
121 | pinctrl@35004800 { | 121 | pinctrl@35004800 { |
122 | compatible = "brcm,capri-pinctrl"; | 122 | compatible = "brcmbcm11351-pinctrl"; |
123 | reg = <0x35004800 0x430>; | 123 | reg = <0x35004800 0x430>; |
124 | 124 | ||
125 | // pin configuration node | 125 | // pin configuration node |
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt index 01ef408e205f..adda2a8d1d52 100644 --- a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt | |||
@@ -5,6 +5,7 @@ part and usage. | |||
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible: "marvell,88f6710-pinctrl" | 7 | - compatible: "marvell,88f6710-pinctrl" |
8 | - reg: register specifier of MPP registers | ||
8 | 9 | ||
9 | Available mpp pins/groups and functions: | 10 | Available mpp pins/groups and functions: |
10 | Note: brackets (x) are not part of the mpp name for marvell,function and given | 11 | Note: brackets (x) are not part of the mpp name for marvell,function and given |
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt new file mode 100644 index 000000000000..7de0cda4a379 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt | |||
@@ -0,0 +1,82 @@ | |||
1 | * Marvell Armada 375 SoC pinctrl driver for mpp | ||
2 | |||
3 | Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding | ||
4 | part and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "marvell,88f6720-pinctrl" | ||
8 | - reg: register specifier of MPP registers | ||
9 | |||
10 | Available mpp pins/groups and functions: | ||
11 | Note: brackets (x) are not part of the mpp name for marvell,function and given | ||
12 | only for more detailed description in this document. | ||
13 | |||
14 | name pins functions | ||
15 | ================================================================================ | ||
16 | mpp0 0 gpio, dev(ad2), spi0(cs1), spi1(cs1) | ||
17 | mpp1 1 gpio, dev(ad3), spi0(mosi), spi1(mosi) | ||
18 | mpp2 2 gpio, dev(ad4), ptp(eventreq), led(c0), audio(sdi) | ||
19 | mpp3 3 gpio, dev(ad5), ptp(triggen), led(p3), audio(mclk) | ||
20 | mpp4 4 gpio, dev(ad6), spi0(miso), spi1(miso) | ||
21 | mpp5 5 gpio, dev(ad7), spi0(cs2), spi1(cs2) | ||
22 | mpp6 6 gpio, dev(ad0), led(p1), audio(rclk) | ||
23 | mpp7 7 gpio, dev(ad1), ptp(clk), led(p2), audio(extclk) | ||
24 | mpp8 8 gpio, dev (bootcs), spi0(cs0), spi1(cs0) | ||
25 | mpp9 9 gpio, nf(wen), spi0(sck), spi1(sck) | ||
26 | mpp10 10 gpio, nf(ren), dram(vttctrl), led(c1) | ||
27 | mpp11 11 gpio, dev(a0), led(c2), audio(sdo) | ||
28 | mpp12 12 gpio, dev(a1), audio(bclk) | ||
29 | mpp13 13 gpio, dev(readyn), pcie0(rstoutn), pcie1(rstoutn) | ||
30 | mpp14 14 gpio, i2c0(sda), uart1(txd) | ||
31 | mpp15 15 gpio, i2c0(sck), uart1(rxd) | ||
32 | mpp16 16 gpio, uart0(txd) | ||
33 | mpp17 17 gpio, uart0(rxd) | ||
34 | mpp18 18 gpio, tdm(intn) | ||
35 | mpp19 19 gpio, tdm(rstn) | ||
36 | mpp20 20 gpio, tdm(pclk) | ||
37 | mpp21 21 gpio, tdm(fsync) | ||
38 | mpp22 22 gpio, tdm(drx) | ||
39 | mpp23 23 gpio, tdm(dtx) | ||
40 | mpp24 24 gpio, led(p0), ge1(rxd0), sd(cmd), uart0(rts) | ||
41 | mpp25 25 gpio, led(p2), ge1(rxd1), sd(d0), uart0(cts) | ||
42 | mpp26 26 gpio, pcie0(clkreq), ge1(rxd2), sd(d2), uart1(rts) | ||
43 | mpp27 27 gpio, pcie1(clkreq), ge1(rxd3), sd(d1), uart1(cts) | ||
44 | mpp28 28 gpio, led(p3), ge1(txctl), sd(clk) | ||
45 | mpp29 29 gpio, pcie1(clkreq), ge1(rxclk), sd(d3) | ||
46 | mpp30 30 gpio, ge1(txd0), spi1(cs0) | ||
47 | mpp31 31 gpio, ge1(txd1), spi1(mosi) | ||
48 | mpp32 32 gpio, ge1(txd2), spi1(sck), ptp(triggen) | ||
49 | mpp33 33 gpio, ge1(txd3), spi1(miso) | ||
50 | mpp34 34 gpio, ge1(txclkout), spi1(sck) | ||
51 | mpp35 35 gpio, ge1(rxctl), spi1(cs1), spi0(cs2) | ||
52 | mpp36 36 gpio, pcie0(clkreq) | ||
53 | mpp37 37 gpio, pcie0(clkreq), tdm(intn), ge(mdc) | ||
54 | mpp38 38 gpio, pcie1(clkreq), ge(mdio) | ||
55 | mpp39 39 gpio, ref(clkout) | ||
56 | mpp40 40 gpio, uart1(txd) | ||
57 | mpp41 41 gpio, uart1(rxd) | ||
58 | mpp42 42 gpio, spi1(cs2), led(c0) | ||
59 | mpp43 43 gpio, sata0(prsnt), dram(vttctrl) | ||
60 | mpp44 44 gpio, sata0(prsnt) | ||
61 | mpp45 45 gpio, spi0(cs2), pcie0(rstoutn) | ||
62 | mpp46 46 gpio, led(p0), ge0(txd0), ge1(txd0) | ||
63 | mpp47 47 gpio, led(p1), ge0(txd1), ge1(txd1) | ||
64 | mpp48 48 gpio, led(p2), ge0(txd2), ge1(txd2) | ||
65 | mpp49 49 gpio, led(p3), ge0(txd3), ge1(txd3) | ||
66 | mpp50 50 gpio, led(c0), ge0(rxd0), ge1(rxd0) | ||
67 | mpp51 51 gpio, led(c1), ge0(rxd1), ge1(rxd1) | ||
68 | mpp52 52 gpio, led(c2), ge0(rxd2), ge1(rxd2) | ||
69 | mpp53 53 gpio, pcie1(rstoutn), ge0(rxd3), ge1(rxd3) | ||
70 | mpp54 54 gpio, pcie0(rstoutn), ge0(rxctl), ge1(rxctl) | ||
71 | mpp55 55 gpio, ge0(rxclk), ge1(rxclk) | ||
72 | mpp56 56 gpio, ge0(txclkout), ge1(txclkout) | ||
73 | mpp57 57 gpio, ge0(txctl), ge1(txctl) | ||
74 | mpp58 58 gpio, led(c0) | ||
75 | mpp59 59 gpio, led(c1) | ||
76 | mpp60 60 gpio, uart1(txd), led(c2) | ||
77 | mpp61 61 gpio, i2c1(sda), uart1(rxd), spi1(cs2), led(p0) | ||
78 | mpp62 62 gpio, i2c1(sck), led(p1) | ||
79 | mpp63 63 gpio, ptp(triggen), led(p2) | ||
80 | mpp64 64 gpio, dram(vttctrl), led(p3) | ||
81 | mpp65 65 gpio, sata1(prsnt) | ||
82 | mpp66 66 gpio, ptp(eventreq), spi1(cs3) | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt new file mode 100644 index 000000000000..b17c96849fc9 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt | |||
@@ -0,0 +1,80 @@ | |||
1 | * Marvell Armada 380/385 SoC pinctrl driver for mpp | ||
2 | |||
3 | Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding | ||
4 | part and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "marvell,88f6810-pinctrl", "marvell,88f6820-pinctrl" or | ||
8 | "marvell,88f6828-pinctrl" depending on the specific variant of the | ||
9 | SoC being used. | ||
10 | - reg: register specifier of MPP registers | ||
11 | |||
12 | Available mpp pins/groups and functions: | ||
13 | Note: brackets (x) are not part of the mpp name for marvell,function and given | ||
14 | only for more detailed description in this document. | ||
15 | |||
16 | name pins functions | ||
17 | ================================================================================ | ||
18 | mpp0 0 gpio, ua0(rxd) | ||
19 | mpp1 1 gpio, ua0(txd) | ||
20 | mpp2 2 gpio, i2c0(sck) | ||
21 | mpp3 3 gpio, i2c0(sda) | ||
22 | mpp4 4 gpio, ge(mdc), ua1(txd), ua0(rts) | ||
23 | mpp5 5 gpio, ge(mdio), ua1(rxd), ua0(cts) | ||
24 | mpp6 6 gpio, ge0(txclkout), ge0(crs), dev(cs3) | ||
25 | mpp7 7 gpio, ge0(txd0), dev(ad9) | ||
26 | mpp8 8 gpio, ge0(txd1), dev(ad10) | ||
27 | mpp9 9 gpio, ge0(txd2), dev(ad11) | ||
28 | mpp10 10 gpio, ge0(txd3), dev(ad12) | ||
29 | mpp11 11 gpio, ge0(txctl), dev(ad13) | ||
30 | mpp12 12 gpio, ge0(rxd0), pcie0(rstout), pcie1(rstout) [1], spi0(cs1), dev(ad14) | ||
31 | mpp13 13 gpio, ge0(rxd1), pcie0(clkreq), pcie1(clkreq) [1], spi0(cs2), dev(ad15) | ||
32 | mpp14 14 gpio, ge0(rxd2), ptp(clk), m(vtt_ctrl), spi0(cs3), dev(wen1) | ||
33 | mpp15 15 gpio, ge0(rxd3), ge(mdc slave), pcie0(rstout), spi0(mosi), pcie1(rstout) [1] | ||
34 | mpp16 16 gpio, ge0(rxctl), ge(mdio slave), m(decc_err), spi0(miso), pcie0(clkreq) | ||
35 | mpp17 17 gpio, ge0(rxclk), ptp(clk), ua1(rxd), spi0(sck), sata1(prsnt) | ||
36 | mpp18 18 gpio, ge0(rxerr), ptp(trig_gen), ua1(txd), spi0(cs0), pcie1(rstout) [1] | ||
37 | mpp19 19 gpio, ge0(col), ptp(event_req), pcie0(clkreq), sata1(prsnt), ua0(cts) | ||
38 | mpp20 20 gpio, ge0(txclk), ptp(clk), pcie1(rstout) [1], sata0(prsnt), ua0(rts) | ||
39 | mpp21 21 gpio, spi0(cs1), ge1(rxd0), sata0(prsnt), sd0(cmd), dev(bootcs) | ||
40 | mpp22 22 gpio, spi0(mosi), dev(ad0) | ||
41 | mpp23 23 gpio, spi0(sck), dev(ad2) | ||
42 | mpp24 24 gpio, spi0(miso), ua0(cts), ua1(rxd), sd0(d4), dev(ready) | ||
43 | mpp25 25 gpio, spi0(cs0), ua0(rts), ua1(txd), sd0(d5), dev(cs0) | ||
44 | mpp26 26 gpio, spi0(cs2), i2c1(sck), sd0(d6), dev(cs1) | ||
45 | mpp27 27 gpio, spi0(cs3), ge1(txclkout), i2c1(sda), sd0(d7), dev(cs2) | ||
46 | mpp28 28 gpio, ge1(txd0), sd0(clk), dev(ad5) | ||
47 | mpp29 29 gpio, ge1(txd1), dev(ale0) | ||
48 | mpp30 30 gpio, ge1(txd2), dev(oen) | ||
49 | mpp31 31 gpio, ge1(txd3), dev(ale1) | ||
50 | mpp32 32 gpio, ge1(txctl), dev(wen0) | ||
51 | mpp33 33 gpio, m(decc_err), dev(ad3) | ||
52 | mpp34 34 gpio, dev(ad1) | ||
53 | mpp35 35 gpio, ref(clk_out1), dev(a1) | ||
54 | mpp36 36 gpio, ptp(trig_gen), dev(a0) | ||
55 | mpp37 37 gpio, ptp(clk), ge1(rxclk), sd0(d3), dev(ad8) | ||
56 | mpp38 38 gpio, ptp(event_req), ge1(rxd1), ref(clk_out0), sd0(d0), dev(ad4) | ||
57 | mpp39 39 gpio, i2c1(sck), ge1(rxd2), ua0(cts), sd0(d1), dev(a2) | ||
58 | mpp40 40 gpio, i2c1(sda), ge1(rxd3), ua0(rts), sd0(d2), dev(ad6) | ||
59 | mpp41 41 gpio, ua1(rxd), ge1(rxctl), ua0(cts), spi1(cs3), dev(burst/last) | ||
60 | mpp42 42 gpio, ua1(txd), ua0(rts), dev(ad7) | ||
61 | mpp43 43 gpio, pcie0(clkreq), m(vtt_ctrl), m(decc_err), pcie0(rstout), dev(clkout) | ||
62 | mpp44 44 gpio, sata0(prsnt), sata1(prsnt), sata2(prsnt) [2], sata3(prsnt) [3], pcie0(rstout) | ||
63 | mpp45 45 gpio, ref(clk_out0), pcie0(rstout), pcie1(rstout) [1], pcie2(rstout), pcie3(rstout) | ||
64 | mpp46 46 gpio, ref(clk_out1), pcie0(rstout), pcie1(rstout) [1], pcie2(rstout), pcie3(rstout) | ||
65 | mpp47 47 gpio, sata0(prsnt), sata1(prsnt), sata2(prsnt) [2], spi1(cs2), sata3(prsnt) [2] | ||
66 | mpp48 48 gpio, sata0(prsnt), m(vtt_ctrl), tdm2c(pclk), audio(mclk), sd0(d4) | ||
67 | mpp49 49 gpio, sata2(prsnt) [2], sata3(prsnt) [2], tdm2c(fsync), audio(lrclk), sd0(d5) | ||
68 | mpp50 50 gpio, pcie0(rstout), pcie1(rstout) [1], tdm2c(drx), audio(extclk), sd0(cmd) | ||
69 | mpp51 51 gpio, tdm2c(dtx), audio(sdo), m(decc_err) | ||
70 | mpp52 52 gpio, pcie0(rstout), pcie1(rstout) [1], tdm2c(intn), audio(sdi), sd0(d6) | ||
71 | mpp53 53 gpio, sata1(prsnt), sata0(prsnt), tdm2c(rstn), audio(bclk), sd0(d7) | ||
72 | mpp54 54 gpio, sata0(prsnt), sata1(prsnt), pcie0(rstout), pcie1(rstout) [1], sd0(d3) | ||
73 | mpp55 55 gpio, ua1(cts), ge(mdio), pcie1(clkreq) [1], spi1(cs1), sd0(d0) | ||
74 | mpp56 56 gpio, ua1(rts), ge(mdc), m(decc_err), spi1(mosi) | ||
75 | mpp57 57 gpio, spi1(sck), sd0(clk) | ||
76 | mpp58 58 gpio, pcie1(clkreq) [1], i2c1(sck), pcie2(clkreq), spi1(miso), sd0(d1) | ||
77 | mpp59 59 gpio, pcie0(rstout), i2c1(sda), pcie1(rstout) [1], spi1(cs0), sd0(d2) | ||
78 | |||
79 | [1]: only available on 88F6820 and 88F6828 | ||
80 | [2]: only available on 88F6828 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt index bfa0a2e5e0cb..373dbccd7ab0 100644 --- a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt | |||
@@ -6,6 +6,7 @@ part and usage. | |||
6 | Required properties: | 6 | Required properties: |
7 | - compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl", | 7 | - compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl", |
8 | "marvell,mv78460-pinctrl" | 8 | "marvell,mv78460-pinctrl" |
9 | - reg: register specifier of MPP registers | ||
9 | 10 | ||
10 | This driver supports all Armada XP variants, i.e. mv78230, mv78260, and mv78460. | 11 | This driver supports all Armada XP variants, i.e. mv78230, mv78260, and mv78460. |
11 | 12 | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt index 50ec3512a292..cf52477cc7ee 100644 --- a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt | |||
@@ -6,6 +6,7 @@ part and usage. | |||
6 | Required properties: | 6 | Required properties: |
7 | - compatible: "marvell,dove-pinctrl" | 7 | - compatible: "marvell,dove-pinctrl" |
8 | - clocks: (optional) phandle of pdma clock | 8 | - clocks: (optional) phandle of pdma clock |
9 | - reg: register specifiers of MPP, MPP4, and PMU MPP registers | ||
9 | 10 | ||
10 | Available mpp pins/groups and functions: | 11 | Available mpp pins/groups and functions: |
11 | Note: brackets (x) are not part of the mpp name for marvell,function and given | 12 | Note: brackets (x) are not part of the mpp name for marvell,function and given |
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt index 95daf6335c37..730444a9a4de 100644 --- a/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt | |||
@@ -8,6 +8,7 @@ Required properties: | |||
8 | "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl", | 8 | "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl", |
9 | "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl" | 9 | "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl" |
10 | "marvell,98dx4122-pinctrl" | 10 | "marvell,98dx4122-pinctrl" |
11 | - reg: register specifier of MPP registers | ||
11 | 12 | ||
12 | This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x. | 13 | This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x. |
13 | It also support the 88f6281-based variant in the 98dx412x Bobcat SoCs. | 14 | It also support the 88f6281-based variant in the 98dx412x Bobcat SoCs. |
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt index 0a26c3aa4e6d..0c09f4eb2af0 100644 --- a/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt | |||
@@ -37,7 +37,7 @@ uart1: serial@12100 { | |||
37 | 37 | ||
38 | pinctrl: pinctrl@d0200 { | 38 | pinctrl: pinctrl@d0200 { |
39 | compatible = "marvell,dove-pinctrl"; | 39 | compatible = "marvell,dove-pinctrl"; |
40 | reg = <0xd0200 0x20>; | 40 | reg = <0xd0200 0x14>, <0xd0440 0x04>, <0xd802c 0x08>; |
41 | 41 | ||
42 | pmx_uart1_sw: pmx-uart1-sw { | 42 | pmx_uart1_sw: pmx-uart1-sw { |
43 | marvell,pins = "mpp_uart1"; | 43 | marvell,pins = "mpp_uart1"; |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt index bc0dfdfdb148..66dcaa9efd74 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt | |||
@@ -63,6 +63,13 @@ Optional properties: | |||
63 | /* input, enable bits, disable bits, mask */ | 63 | /* input, enable bits, disable bits, mask */ |
64 | pinctrl-single,input-schmitt-enable = <0x30 0x40 0 0x70>; | 64 | pinctrl-single,input-schmitt-enable = <0x30 0x40 0 0x70>; |
65 | 65 | ||
66 | - pinctrl-single,low-power-mode : array of value that are used to configure | ||
67 | low power mode of this pin. For some silicons, the low power mode will | ||
68 | control the output of the pin when the pad including the pin enter low | ||
69 | power mode. | ||
70 | /* low power mode value, mask */ | ||
71 | pinctrl-single,low-power-mode = <0x288 0x388>; | ||
72 | |||
66 | - pinctrl-single,gpio-range : list of value that are used to configure a GPIO | 73 | - pinctrl-single,gpio-range : list of value that are used to configure a GPIO |
67 | range. They're value of subnode phandle, pin base in pinctrl device, pin | 74 | range. They're value of subnode phandle, pin base in pinctrl device, pin |
68 | number in this range, GPIO function value of this GPIO range. | 75 | number in this range, GPIO function value of this GPIO range. |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt index 05bf82a07dfd..4bd5be0e5e7d 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt | |||
@@ -11,18 +11,68 @@ Pull Up (PU) are driven by the related PIO block. | |||
11 | ST pinctrl driver controls PIO multiplexing block and also interacts with | 11 | ST pinctrl driver controls PIO multiplexing block and also interacts with |
12 | gpio driver to configure a pin. | 12 | gpio driver to configure a pin. |
13 | 13 | ||
14 | Required properties: (PIO multiplexing block) | 14 | GPIO bank can have one of the two possible types of interrupt-wirings. |
15 | |||
16 | First type is via irqmux, single interrupt is used by multiple gpio banks. This | ||
17 | reduces number of overall interrupts numbers required. All these banks belong to | ||
18 | a single pincontroller. | ||
19 | _________ | ||
20 | | |----> [gpio-bank (n) ] | ||
21 | | |----> [gpio-bank (n + 1)] | ||
22 | [irqN]-- | irq-mux |----> [gpio-bank (n + 2)] | ||
23 | | |----> [gpio-bank (... )] | ||
24 | |_________|----> [gpio-bank (n + 7)] | ||
25 | |||
26 | Second type has a dedicated interrupt per gpio bank. | ||
27 | |||
28 | [irqN]----> [gpio-bank (n)] | ||
29 | |||
30 | |||
31 | Pin controller node: | ||
32 | Required properties: | ||
15 | - compatible : should be "st,<SOC>-<pio-block>-pinctrl" | 33 | - compatible : should be "st,<SOC>-<pio-block>-pinctrl" |
16 | like st,stih415-sbc-pinctrl, st,stih415-front-pinctrl and so on. | 34 | like st,stih415-sbc-pinctrl, st,stih415-front-pinctrl and so on. |
17 | - gpio-controller : Indicates this device is a GPIO controller | 35 | - st,syscfg : Should be a phandle of the syscfg node. |
18 | - #gpio-cells : Should be one. The first cell is the pin number. | ||
19 | - st,retime-pin-mask : Should be mask to specify which pins can be retimed. | 36 | - st,retime-pin-mask : Should be mask to specify which pins can be retimed. |
20 | If the property is not present, it is assumed that all the pins in the | 37 | If the property is not present, it is assumed that all the pins in the |
21 | bank are capable of retiming. Retiming is mainly used to improve the | 38 | bank are capable of retiming. Retiming is mainly used to improve the |
22 | IO timing margins of external synchronous interfaces. | 39 | IO timing margins of external synchronous interfaces. |
23 | - st,bank-name : Should be a name string for this bank as | 40 | - ranges : defines mapping between pin controller node (parent) to gpio-bank |
24 | specified in datasheet. | 41 | node (children). |
25 | - st,syscfg : Should be a phandle of the syscfg node. | 42 | |
43 | Optional properties: | ||
44 | - interrupts : Interrupt number of the irqmux. If the interrupt is shared | ||
45 | with other gpio banks via irqmux. | ||
46 | a irqline and gpio banks. | ||
47 | - reg : irqmux memory resource. If irqmux is present. | ||
48 | - reg-names : irqmux resource should be named as "irqmux". | ||
49 | |||
50 | GPIO controller/bank node. | ||
51 | Required properties: | ||
52 | - gpio-controller : Indicates this device is a GPIO controller | ||
53 | - #gpio-cells : Should be one. The first cell is the pin number. | ||
54 | - st,bank-name : Should be a name string for this bank as specified in | ||
55 | datasheet. | ||
56 | |||
57 | Optional properties: | ||
58 | - interrupts : Interrupt number for this gpio bank. If there is a dedicated | ||
59 | interrupt wired up for this gpio bank. | ||
60 | |||
61 | - interrupt-controller : Indicates this device is a interrupt controller. GPIO | ||
62 | bank can be an interrupt controller iff one of the interrupt type either via | ||
63 | irqmux or a dedicated interrupt per bank is specified. | ||
64 | |||
65 | - #interrupt-cells: the value of this property should be 2. | ||
66 | - First Cell: represents the external gpio interrupt number local to the | ||
67 | gpio interrupt space of the controller. | ||
68 | - Second Cell: flags to identify the type of the interrupt | ||
69 | - 1 = rising edge triggered | ||
70 | - 2 = falling edge triggered | ||
71 | - 3 = rising and falling edge triggered | ||
72 | - 4 = high level triggered | ||
73 | - 8 = low level triggered | ||
74 | for related macros look in: | ||
75 | include/dt-bindings/interrupt-controller/irq.h | ||
26 | 76 | ||
27 | Example: | 77 | Example: |
28 | pin-controller-sbc { | 78 | pin-controller-sbc { |
@@ -30,10 +80,17 @@ Example: | |||
30 | #size-cells = <1>; | 80 | #size-cells = <1>; |
31 | compatible = "st,stih415-sbc-pinctrl"; | 81 | compatible = "st,stih415-sbc-pinctrl"; |
32 | st,syscfg = <&syscfg_sbc>; | 82 | st,syscfg = <&syscfg_sbc>; |
83 | reg = <0xfe61f080 0x4>; | ||
84 | reg-names = "irqmux"; | ||
85 | interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; | ||
86 | interrupts-names = "irqmux"; | ||
33 | ranges = <0 0xfe610000 0x5000>; | 87 | ranges = <0 0xfe610000 0x5000>; |
88 | |||
34 | PIO0: gpio@fe610000 { | 89 | PIO0: gpio@fe610000 { |
35 | gpio-controller; | 90 | gpio-controller; |
36 | #gpio-cells = <1>; | 91 | #gpio-cells = <1>; |
92 | interrupt-controller; | ||
93 | #interrupt-cells = <2>; | ||
37 | reg = <0 0x100>; | 94 | reg = <0 0x100>; |
38 | st,bank-name = "PIO0"; | 95 | st,bank-name = "PIO0"; |
39 | }; | 96 | }; |
@@ -105,6 +162,10 @@ pin-controller { | |||
105 | 162 | ||
106 | sdhci0:sdhci@fe810000{ | 163 | sdhci0:sdhci@fe810000{ |
107 | ... | 164 | ... |
165 | interrupt-parent = <&PIO3>; | ||
166 | #interrupt-cells = <2>; | ||
167 | interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; /* Interrupt line via PIO3-3 */ | ||
168 | interrupts-names = "card-detect"; | ||
108 | pinctrl-names = "default"; | 169 | pinctrl-names = "default"; |
109 | pinctrl-0 = <&pinctrl_mmc>; | 170 | pinctrl-0 = <&pinctrl_mmc>; |
110 | }; | 171 | }; |
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt index 4c352be5dd61..9fb89e3f61ea 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | Qualcomm MSM8974 TLMM block | 1 | Qualcomm MSM8974 TLMM block |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: "qcom,msm8x74-pinctrl" | 4 | - compatible: "qcom,msm8974-pinctrl" |
5 | - reg: Should be the base address and length of the TLMM block. | 5 | - reg: Should be the base address and length of the TLMM block. |
6 | - interrupts: Should be the parent IRQ of the TLMM block. | 6 | - interrupts: Should be the parent IRQ of the TLMM block. |
7 | - interrupt-controller: Marks the device node as an interrupt controller. | 7 | - interrupt-controller: Marks the device node as an interrupt controller. |
@@ -42,14 +42,14 @@ Non-empty subnodes must specify the 'pins' property. | |||
42 | Note that not all properties are valid for all pins. | 42 | Note that not all properties are valid for all pins. |
43 | 43 | ||
44 | 44 | ||
45 | Valid values for qcom,pins are: | 45 | Valid values for pins are: |
46 | gpio0-gpio145 | 46 | gpio0-gpio145 |
47 | Supports mux, bias and drive-strength | 47 | Supports mux, bias and drive-strength |
48 | 48 | ||
49 | sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data | 49 | sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data |
50 | Supports bias and drive-strength | 50 | Supports bias and drive-strength |
51 | 51 | ||
52 | Valid values for qcom,function are: | 52 | Valid values for function are: |
53 | blsp_i2c2, blsp_i2c6, blsp_i2c11, blsp_spi1, blsp_uart2, blsp_uart8, slimbus | 53 | blsp_i2c2, blsp_i2c6, blsp_i2c11, blsp_spi1, blsp_uart2, blsp_uart8, slimbus |
54 | 54 | ||
55 | (Note that this is not yet the complete list of functions) | 55 | (Note that this is not yet the complete list of functions) |
@@ -73,18 +73,18 @@ Example: | |||
73 | 73 | ||
74 | uart2_default: uart2_default { | 74 | uart2_default: uart2_default { |
75 | mux { | 75 | mux { |
76 | qcom,pins = "gpio4", "gpio5"; | 76 | pins = "gpio4", "gpio5"; |
77 | qcom,function = "blsp_uart2"; | 77 | function = "blsp_uart2"; |
78 | }; | 78 | }; |
79 | 79 | ||
80 | tx { | 80 | tx { |
81 | qcom,pins = "gpio4"; | 81 | pins = "gpio4"; |
82 | drive-strength = <4>; | 82 | drive-strength = <4>; |
83 | bias-disable; | 83 | bias-disable; |
84 | }; | 84 | }; |
85 | 85 | ||
86 | rx { | 86 | rx { |
87 | qcom,pins = "gpio5"; | 87 | pins = "gpio5"; |
88 | drive-strength = <2>; | 88 | drive-strength = <2>; |
89 | bias-pull-up; | 89 | bias-pull-up; |
90 | }; | 90 | }; |
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index 257677de3e6b..2b32783ba821 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt | |||
@@ -16,6 +16,7 @@ Required Properties: | |||
16 | - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. | 16 | - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. |
17 | - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. | 17 | - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. |
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,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. | 20 | - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. |
20 | 21 | ||
21 | - reg: Base address of the pin controller hardware module and length of | 22 | - reg: Base address of the pin controller hardware module and length of |
diff --git a/Documentation/devicetree/bindings/power/bq2415x.txt b/Documentation/devicetree/bindings/power/bq2415x.txt new file mode 100644 index 000000000000..d0327f0b59ad --- /dev/null +++ b/Documentation/devicetree/bindings/power/bq2415x.txt | |||
@@ -0,0 +1,47 @@ | |||
1 | Binding for TI bq2415x Li-Ion Charger | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should contain one of the following: | ||
5 | * "ti,bq24150" | ||
6 | * "ti,bq24150" | ||
7 | * "ti,bq24150a" | ||
8 | * "ti,bq24151" | ||
9 | * "ti,bq24151a" | ||
10 | * "ti,bq24152" | ||
11 | * "ti,bq24153" | ||
12 | * "ti,bq24153a" | ||
13 | * "ti,bq24155" | ||
14 | * "ti,bq24156" | ||
15 | * "ti,bq24156a" | ||
16 | * "ti,bq24158" | ||
17 | - reg: integer, i2c address of the device. | ||
18 | - ti,current-limit: integer, initial maximum current charger can pull | ||
19 | from power supply in mA. | ||
20 | - ti,weak-battery-voltage: integer, weak battery voltage threshold in mV. | ||
21 | The chip will use slow precharge if battery voltage | ||
22 | is below this value. | ||
23 | - ti,battery-regulation-voltage: integer, maximum charging voltage in mV. | ||
24 | - ti,charge-current: integer, maximum charging current in mA. | ||
25 | - ti,termination-current: integer, charge will be terminated when current in | ||
26 | constant-voltage phase drops below this value (in mA). | ||
27 | - ti,resistor-sense: integer, value of sensing resistor in milliohm. | ||
28 | |||
29 | Optional properties: | ||
30 | - ti,usb-charger-detection: phandle to usb charger detection device. | ||
31 | (required for auto mode) | ||
32 | |||
33 | Example from Nokia N900: | ||
34 | |||
35 | bq24150a { | ||
36 | compatible = "ti,bq24150a"; | ||
37 | reg = <0x6b>; | ||
38 | |||
39 | ti,current-limit = <100>; | ||
40 | ti,weak-battery-voltage = <3400>; | ||
41 | ti,battery-regulation-voltage = <4200>; | ||
42 | ti,charge-current = <650>; | ||
43 | ti,termination-current = <100>; | ||
44 | ti,resistor-sense = <68>; | ||
45 | |||
46 | ti,usb-charger-detection = <&isp1704>; | ||
47 | }; | ||
diff --git a/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt b/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt index 0347d8350d94..af25e77c0e0c 100644 --- a/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt +++ b/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt | |||
@@ -6,8 +6,11 @@ Orion5x SoCs. Sending the character 'A', at 19200 baud, tells the | |||
6 | microcontroller to turn the power off. This driver adds a handler to | 6 | microcontroller to turn the power off. This driver adds a handler to |
7 | pm_power_off which is called to turn the power off. | 7 | pm_power_off which is called to turn the power off. |
8 | 8 | ||
9 | Synology NAS devices use a similar scheme, but a different baud rate, | ||
10 | 9600, and a different character, '1'. | ||
11 | |||
9 | Required Properties: | 12 | Required Properties: |
10 | - compatible: Should be "qnap,power-off" | 13 | - compatible: Should be "qnap,power-off" or "synology,power-off" |
11 | 14 | ||
12 | - reg: Address and length of the register set for UART1 | 15 | - reg: Address and length of the register set for UART1 |
13 | - clocks: tclk clock | 16 | - clocks: tclk clock |
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt b/Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt new file mode 100644 index 000000000000..c41b2187eaa8 --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Freescale L2 Cache Controller | ||
2 | |||
3 | L2 cache is present in Freescale's QorIQ and QorIQ Qonverge platforms. | ||
4 | The cache bindings explained below are ePAPR compliant | ||
5 | |||
6 | Required Properties: | ||
7 | |||
8 | - compatible : Should include "fsl,chip-l2-cache-controller" and "cache" | ||
9 | where chip is the processor (bsc9132, npc8572 etc.) | ||
10 | - reg : Address and size of L2 cache controller registers | ||
11 | - cache-size : Size of the entire L2 cache | ||
12 | - interrupts : Error interrupt of L2 controller | ||
13 | - cache-line-size : Size of L2 cache lines | ||
14 | |||
15 | Example: | ||
16 | |||
17 | L2: l2-cache-controller@20000 { | ||
18 | compatible = "fsl,bsc9132-l2-cache-controller", "cache"; | ||
19 | reg = <0x20000 0x1000>; | ||
20 | cache-line-size = <32>; // 32 bytes | ||
21 | cache-size = <0x40000>; // L2,256K | ||
22 | interrupts = <16 2 1 0>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt b/Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt new file mode 100644 index 000000000000..f87856faf1ab --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Freescale DDR memory controller | ||
2 | |||
3 | Properties: | ||
4 | |||
5 | - compatible : Should include "fsl,chip-memory-controller" where | ||
6 | chip is the processor (bsc9132, mpc8572 etc.), or | ||
7 | "fsl,qoriq-memory-controller". | ||
8 | - reg : Address and size of DDR controller registers | ||
9 | - interrupts : Error interrupt of DDR controller | ||
10 | |||
11 | Example 1: | ||
12 | |||
13 | memory-controller@2000 { | ||
14 | compatible = "fsl,bsc9132-memory-controller"; | ||
15 | reg = <0x2000 0x1000>; | ||
16 | interrupts = <16 2 1 8>; | ||
17 | }; | ||
18 | |||
19 | |||
20 | Example 2: | ||
21 | |||
22 | ddr1: memory-controller@8000 { | ||
23 | compatible = "fsl,qoriq-memory-controller-v4.7", | ||
24 | "fsl,qoriq-memory-controller"; | ||
25 | reg = <0x8000 0x1000>; | ||
26 | interrupts = <16 2 1 23>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt b/Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt new file mode 100644 index 000000000000..a183db48f910 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | * Cirris Logic CLPS711X PWM controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Shall contain "cirrus,clps711x-pwm". | ||
5 | - reg: Physical base address and length of the controller's registers. | ||
6 | - clocks: phandle + clock specifier pair of the PWM reference clock. | ||
7 | - #pwm-cells: Should be 1. The cell specifies the index of the channel. | ||
8 | |||
9 | Example: | ||
10 | pwm: pwm@80000400 { | ||
11 | compatible = "cirrus,ep7312-pwm", | ||
12 | "cirrus,clps711x-pwm"; | ||
13 | reg = <0x80000400 0x4>; | ||
14 | clocks = <&clks 8>; | ||
15 | #pwm-cells = <1>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt new file mode 100644 index 000000000000..0bda229a6171 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | Freescale FlexTimer Module (FTM) PWM controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,vf610-ftm-pwm". | ||
5 | - reg: Physical base address and length of the controller's registers | ||
6 | - #pwm-cells: Should be 3. See pwm.txt in this directory for a description of | ||
7 | the cells format. | ||
8 | - clock-names: Should include the following module clock source entries: | ||
9 | "ftm_sys" (module clock, also can be used as counter clock), | ||
10 | "ftm_ext" (external counter clock), | ||
11 | "ftm_fix" (fixed counter clock), | ||
12 | "ftm_cnt_clk_en" (external and fixed counter clock enable/disable). | ||
13 | - clocks: Must contain a phandle and clock specifier for each entry in | ||
14 | clock-names, please see clock/clock-bindings.txt for details of the property | ||
15 | values. | ||
16 | - pinctrl-names: Must contain a "default" entry. | ||
17 | - pinctrl-NNN: One property must exist for each entry in pinctrl-names. | ||
18 | See pinctrl/pinctrl-bindings.txt for details of the property values. | ||
19 | |||
20 | |||
21 | Example: | ||
22 | |||
23 | pwm0: pwm@40038000 { | ||
24 | compatible = "fsl,vf610-ftm-pwm"; | ||
25 | reg = <0x40038000 0x1000>; | ||
26 | #pwm-cells = <3>; | ||
27 | clock-names = "ftm_sys", "ftm_ext", | ||
28 | "ftm_fix", "ftm_cnt_clk_en"; | ||
29 | clocks = <&clks VF610_CLK_FTM0>, | ||
30 | <&clks VF610_CLK_FTM0_EXT_SEL>, | ||
31 | <&clks VF610_CLK_FTM0_FIX_SEL>, | ||
32 | <&clks VF610_CLK_FTM0_EXT_FIX_EN>; | ||
33 | pinctrl-names = "default"; | ||
34 | pinctrl-0 = <&pinctrl_pwm0_1>; | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/gpio-regulator.txt b/Documentation/devicetree/bindings/regulator/gpio-regulator.txt index 63c659800c03..e5cac1e0ca8a 100644 --- a/Documentation/devicetree/bindings/regulator/gpio-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/gpio-regulator.txt | |||
@@ -8,8 +8,12 @@ Required properties: | |||
8 | Optional properties: | 8 | Optional properties: |
9 | - enable-gpio : GPIO to use to enable/disable the regulator. | 9 | - enable-gpio : GPIO to use to enable/disable the regulator. |
10 | - gpios : GPIO group used to control voltage. | 10 | - gpios : GPIO group used to control voltage. |
11 | - gpios-states : gpios pin's initial states array. 0: LOW, 1: HIGH. | ||
12 | defualt is LOW if nothing is specified. | ||
11 | - startup-delay-us : Startup time in microseconds. | 13 | - startup-delay-us : Startup time in microseconds. |
12 | - enable-active-high : Polarity of GPIO is active high (default is low). | 14 | - enable-active-high : Polarity of GPIO is active high (default is low). |
15 | - regulator-type : Specifies what is being regulated, must be either | ||
16 | "voltage" or "current", defaults to current. | ||
13 | 17 | ||
14 | Any property defined as part of the core regulator binding defined in | 18 | Any property defined as part of the core regulator binding defined in |
15 | regulator.txt can also be used. | 19 | regulator.txt can also be used. |
diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt index fc989b2e8057..34ef5d16d0f1 100644 --- a/Documentation/devicetree/bindings/regulator/pfuze100.txt +++ b/Documentation/devicetree/bindings/regulator/pfuze100.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | PFUZE100 family of regulators | 1 | PFUZE100 family of regulators |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: "fsl,pfuze100" | 4 | - compatible: "fsl,pfuze100" or "fsl,pfuze200" |
5 | - reg: I2C slave address | 5 | - reg: I2C slave address |
6 | 6 | ||
7 | Required child node: | 7 | Required child node: |
@@ -10,11 +10,14 @@ Required child node: | |||
10 | Documentation/devicetree/bindings/regulator/regulator.txt. | 10 | Documentation/devicetree/bindings/regulator/regulator.txt. |
11 | 11 | ||
12 | The valid names for regulators are: | 12 | The valid names for regulators are: |
13 | --PFUZE100 | ||
13 | sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 | 14 | sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 |
15 | --PFUZE200 | ||
16 | sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6 | ||
14 | 17 | ||
15 | Each regulator is defined using the standard binding for regulators. | 18 | Each regulator is defined using the standard binding for regulators. |
16 | 19 | ||
17 | Example: | 20 | Example 1: PFUZE100 |
18 | 21 | ||
19 | pmic: pfuze100@08 { | 22 | pmic: pfuze100@08 { |
20 | compatible = "fsl,pfuze100"; | 23 | compatible = "fsl,pfuze100"; |
@@ -113,3 +116,92 @@ Example: | |||
113 | }; | 116 | }; |
114 | }; | 117 | }; |
115 | }; | 118 | }; |
119 | |||
120 | |||
121 | Example 2: PFUZE200 | ||
122 | |||
123 | pmic: pfuze200@08 { | ||
124 | compatible = "fsl,pfuze200"; | ||
125 | reg = <0x08>; | ||
126 | |||
127 | regulators { | ||
128 | sw1a_reg: sw1ab { | ||
129 | regulator-min-microvolt = <300000>; | ||
130 | regulator-max-microvolt = <1875000>; | ||
131 | regulator-boot-on; | ||
132 | regulator-always-on; | ||
133 | regulator-ramp-delay = <6250>; | ||
134 | }; | ||
135 | |||
136 | sw2_reg: sw2 { | ||
137 | regulator-min-microvolt = <800000>; | ||
138 | regulator-max-microvolt = <3300000>; | ||
139 | regulator-boot-on; | ||
140 | regulator-always-on; | ||
141 | }; | ||
142 | |||
143 | sw3a_reg: sw3a { | ||
144 | regulator-min-microvolt = <400000>; | ||
145 | regulator-max-microvolt = <1975000>; | ||
146 | regulator-boot-on; | ||
147 | regulator-always-on; | ||
148 | }; | ||
149 | |||
150 | sw3b_reg: sw3b { | ||
151 | regulator-min-microvolt = <400000>; | ||
152 | regulator-max-microvolt = <1975000>; | ||
153 | regulator-boot-on; | ||
154 | regulator-always-on; | ||
155 | }; | ||
156 | |||
157 | swbst_reg: swbst { | ||
158 | regulator-min-microvolt = <5000000>; | ||
159 | regulator-max-microvolt = <5150000>; | ||
160 | }; | ||
161 | |||
162 | snvs_reg: vsnvs { | ||
163 | regulator-min-microvolt = <1000000>; | ||
164 | regulator-max-microvolt = <3000000>; | ||
165 | regulator-boot-on; | ||
166 | regulator-always-on; | ||
167 | }; | ||
168 | |||
169 | vref_reg: vrefddr { | ||
170 | regulator-boot-on; | ||
171 | regulator-always-on; | ||
172 | }; | ||
173 | |||
174 | vgen1_reg: vgen1 { | ||
175 | regulator-min-microvolt = <800000>; | ||
176 | regulator-max-microvolt = <1550000>; | ||
177 | }; | ||
178 | |||
179 | vgen2_reg: vgen2 { | ||
180 | regulator-min-microvolt = <800000>; | ||
181 | regulator-max-microvolt = <1550000>; | ||
182 | }; | ||
183 | |||
184 | vgen3_reg: vgen3 { | ||
185 | regulator-min-microvolt = <1800000>; | ||
186 | regulator-max-microvolt = <3300000>; | ||
187 | }; | ||
188 | |||
189 | vgen4_reg: vgen4 { | ||
190 | regulator-min-microvolt = <1800000>; | ||
191 | regulator-max-microvolt = <3300000>; | ||
192 | regulator-always-on; | ||
193 | }; | ||
194 | |||
195 | vgen5_reg: vgen5 { | ||
196 | regulator-min-microvolt = <1800000>; | ||
197 | regulator-max-microvolt = <3300000>; | ||
198 | regulator-always-on; | ||
199 | }; | ||
200 | |||
201 | vgen6_reg: vgen6 { | ||
202 | regulator-min-microvolt = <1800000>; | ||
203 | regulator-max-microvolt = <3300000>; | ||
204 | regulator-always-on; | ||
205 | }; | ||
206 | }; | ||
207 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt index fc6b38f035bd..d290988ed975 100644 --- a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt | |||
@@ -69,13 +69,16 @@ sub-node should be of the format as listed below. | |||
69 | }; | 69 | }; |
70 | }; | 70 | }; |
71 | The above regulator entries are defined in regulator bindings documentation | 71 | The above regulator entries are defined in regulator bindings documentation |
72 | except op_mode description. | 72 | except these properties: |
73 | - op_mode: describes the different operating modes of the LDO's with | 73 | - op_mode: describes the different operating modes of the LDO's with |
74 | power mode change in SOC. The different possible values are, | 74 | power mode change in SOC. The different possible values are, |
75 | 0 - always off mode | 75 | 0 - always off mode |
76 | 1 - on in normal mode | 76 | 1 - on in normal mode |
77 | 2 - low power mode | 77 | 2 - low power mode |
78 | 3 - suspend mode | 78 | 3 - suspend mode |
79 | - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one | ||
80 | GPIO controlling this regulator (enable/disable); This is | ||
81 | valid only for buck9. | ||
79 | 82 | ||
80 | The following are the names of the regulators that the s5m8767 pmic block | 83 | The following are the names of the regulators that the s5m8767 pmic block |
81 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | 84 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number |
@@ -148,5 +151,13 @@ Example: | |||
148 | regulator-always-on; | 151 | regulator-always-on; |
149 | regulator-boot-on; | 152 | regulator-boot-on; |
150 | }; | 153 | }; |
154 | |||
155 | vemmc_reg: BUCK9 { | ||
156 | regulator-name = "VMEM_VDD_2.8V"; | ||
157 | regulator-min-microvolt = <2800000>; | ||
158 | regulator-max-microvolt = <2800000>; | ||
159 | op_mode = <3>; /* Standby Mode */ | ||
160 | s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>; | ||
161 | }; | ||
151 | }; | 162 | }; |
152 | }; | 163 | }; |
diff --git a/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt index 2e57a33e9029..c58db75f959e 100644 --- a/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt | |||
@@ -4,10 +4,14 @@ Required Properties: | |||
4 | - compatible: Should be one of: | 4 | - compatible: Should be one of: |
5 | - "ti,abb-v1" for older SoCs like OMAP3 | 5 | - "ti,abb-v1" for older SoCs like OMAP3 |
6 | - "ti,abb-v2" for newer SoCs like OMAP4, OMAP5 | 6 | - "ti,abb-v2" for newer SoCs like OMAP4, OMAP5 |
7 | - "ti,abb-v3" for a generic definition where setup and control registers are | ||
8 | provided (example: DRA7) | ||
7 | - reg: Address and length of the register set for the device. It contains | 9 | - reg: Address and length of the register set for the device. It contains |
8 | the information of registers in the same order as described by reg-names | 10 | the information of registers in the same order as described by reg-names |
9 | - reg-names: Should contain the reg names | 11 | - reg-names: Should contain the reg names |
10 | - "base-address" - contains base address of ABB module | 12 | - "base-address" - contains base address of ABB module (ti,abb-v1,ti,abb-v2) |
13 | - "control-address" - contains control register address of ABB module (ti,abb-v3) | ||
14 | - "setup-address" - contains setup register address of ABB module (ti,abb-v3) | ||
11 | - "int-address" - contains address of interrupt register for ABB module | 15 | - "int-address" - contains address of interrupt register for ABB module |
12 | (also see Optional properties) | 16 | (also see Optional properties) |
13 | - #address-cell: should be 0 | 17 | - #address-cell: should be 0 |
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt new file mode 100644 index 000000000000..3da0ebdba8d9 --- /dev/null +++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt | |||
@@ -0,0 +1,133 @@ | |||
1 | *** Reserved memory regions *** | ||
2 | |||
3 | Reserved memory is specified as a node under the /reserved-memory node. | ||
4 | The operating system shall exclude reserved memory from normal usage | ||
5 | one can create child nodes describing particular reserved (excluded from | ||
6 | normal use) memory regions. Such memory regions are usually designed for | ||
7 | the special usage by various device drivers. | ||
8 | |||
9 | Parameters for each memory region can be encoded into the device tree | ||
10 | with the following nodes: | ||
11 | |||
12 | /reserved-memory node | ||
13 | --------------------- | ||
14 | #address-cells, #size-cells (required) - standard definition | ||
15 | - Should use the same values as the root node | ||
16 | ranges (required) - standard definition | ||
17 | - Should be empty | ||
18 | |||
19 | /reserved-memory/ child nodes | ||
20 | ----------------------------- | ||
21 | Each child of the reserved-memory node specifies one or more regions of | ||
22 | reserved memory. Each child node may either use a 'reg' property to | ||
23 | specify a specific range of reserved memory, or a 'size' property with | ||
24 | optional constraints to request a dynamically allocated block of memory. | ||
25 | |||
26 | Following the generic-names recommended practice, node names should | ||
27 | reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit | ||
28 | address (@<address>) should be appended to the name if the node is a | ||
29 | static allocation. | ||
30 | |||
31 | Properties: | ||
32 | Requires either a) or b) below. | ||
33 | a) static allocation | ||
34 | reg (required) - standard definition | ||
35 | b) dynamic allocation | ||
36 | size (required) - length based on parent's #size-cells | ||
37 | - Size in bytes of memory to reserve. | ||
38 | alignment (optional) - length based on parent's #size-cells | ||
39 | - Address boundary for alignment of allocation. | ||
40 | alloc-ranges (optional) - prop-encoded-array (address, length pairs). | ||
41 | - Specifies regions of memory that are | ||
42 | acceptable to allocate from. | ||
43 | |||
44 | If both reg and size are present, then the reg property takes precedence | ||
45 | and size is ignored. | ||
46 | |||
47 | Additional properties: | ||
48 | compatible (optional) - standard definition | ||
49 | - may contain the following strings: | ||
50 | - shared-dma-pool: This indicates a region of memory meant to be | ||
51 | used as a shared pool of DMA buffers for a set of devices. It can | ||
52 | be used by an operating system to instanciate the necessary pool | ||
53 | management subsystem if necessary. | ||
54 | - vendor specific string in the form <vendor>,[<device>-]<usage> | ||
55 | no-map (optional) - empty property | ||
56 | - Indicates the operating system must not create a virtual mapping | ||
57 | of the region as part of its standard mapping of system memory, | ||
58 | nor permit speculative access to it under any circumstances other | ||
59 | than under the control of the device driver using the region. | ||
60 | reusable (optional) - empty property | ||
61 | - The operating system can use the memory in this region with the | ||
62 | limitation that the device driver(s) owning the region need to be | ||
63 | able to reclaim it back. Typically that means that the operating | ||
64 | system can use that region to store volatile or cached data that | ||
65 | can be otherwise regenerated or migrated elsewhere. | ||
66 | |||
67 | Linux implementation note: | ||
68 | - If a "linux,cma-default" property is present, then Linux will use the | ||
69 | region for the default pool of the contiguous memory allocator. | ||
70 | |||
71 | Device node references to reserved memory | ||
72 | ----------------------------------------- | ||
73 | Regions in the /reserved-memory node may be referenced by other device | ||
74 | nodes by adding a memory-region property to the device node. | ||
75 | |||
76 | memory-region (optional) - phandle, specifier pairs to children of /reserved-memory | ||
77 | |||
78 | Example | ||
79 | ------- | ||
80 | This example defines 3 contiguous regions are defined for Linux kernel: | ||
81 | one default of all device drivers (named linux,cma@72000000 and 64MiB in size), | ||
82 | one dedicated to the framebuffer device (named framebuffer@78000000, 8MiB), and | ||
83 | one for multimedia processing (named multimedia-memory@77000000, 64MiB). | ||
84 | |||
85 | / { | ||
86 | #address-cells = <1>; | ||
87 | #size-cells = <1>; | ||
88 | |||
89 | memory { | ||
90 | reg = <0x40000000 0x40000000>; | ||
91 | }; | ||
92 | |||
93 | reserved-memory { | ||
94 | #address-cells = <1>; | ||
95 | #size-cells = <1>; | ||
96 | ranges; | ||
97 | |||
98 | /* global autoconfigured region for contiguous allocations */ | ||
99 | linux,cma { | ||
100 | compatible = "shared-dma-pool"; | ||
101 | reusable; | ||
102 | size = <0x4000000>; | ||
103 | alignment = <0x2000>; | ||
104 | linux,cma-default; | ||
105 | }; | ||
106 | |||
107 | display_reserved: framebuffer@78000000 { | ||
108 | reg = <0x78000000 0x800000>; | ||
109 | }; | ||
110 | |||
111 | multimedia_reserved: multimedia@77000000 { | ||
112 | compatible = "acme,multimedia-memory"; | ||
113 | reg = <0x77000000 0x4000000>; | ||
114 | }; | ||
115 | }; | ||
116 | |||
117 | /* ... */ | ||
118 | |||
119 | fb0: video@12300000 { | ||
120 | memory-region = <&display_reserved>; | ||
121 | /* ... */ | ||
122 | }; | ||
123 | |||
124 | scaler: scaler@12500000 { | ||
125 | memory-region = <&multimedia_reserved>; | ||
126 | /* ... */ | ||
127 | }; | ||
128 | |||
129 | codec: codec@12600000 { | ||
130 | memory-region = <&multimedia_reserved>; | ||
131 | /* ... */ | ||
132 | }; | ||
133 | }; | ||
diff --git a/Documentation/devicetree/bindings/reset/sirf,rstc.txt b/Documentation/devicetree/bindings/reset/sirf,rstc.txt new file mode 100644 index 000000000000..0505de742d30 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/sirf,rstc.txt | |||
@@ -0,0 +1,42 @@ | |||
1 | CSR SiRFSoC Reset Controller | ||
2 | ====================================== | ||
3 | |||
4 | Please also refer to reset.txt in this directory for common reset | ||
5 | controller binding usage. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: Should be "sirf,prima2-rstc" or "sirf,marco-rstc" | ||
9 | - reg: should be register base and length as documented in the | ||
10 | datasheet | ||
11 | - #reset-cells: 1, see below | ||
12 | |||
13 | example: | ||
14 | |||
15 | rstc: reset-controller@88010000 { | ||
16 | compatible = "sirf,prima2-rstc"; | ||
17 | reg = <0x88010000 0x1000>; | ||
18 | #reset-cells = <1>; | ||
19 | }; | ||
20 | |||
21 | Specifying reset lines connected to IP modules | ||
22 | ============================================== | ||
23 | |||
24 | The reset controller(rstc) manages various reset sources. This module provides | ||
25 | reset signals for most blocks in system. Those device nodes should specify the | ||
26 | reset line on the rstc in their resets property, containing a phandle to the | ||
27 | rstc device node and a RESET_INDEX specifying which module to reset, as described | ||
28 | in reset.txt. | ||
29 | |||
30 | For SiRFSoC, RESET_INDEX is just reset_bit defined in SW_RST0 and SW_RST1 registers. | ||
31 | For modules whose rest_bit is in SW_RST0, its RESET_INDEX is 0~31. For modules whose | ||
32 | rest_bit is in SW_RST1, its RESET_INDEX is 32~63. | ||
33 | |||
34 | example: | ||
35 | |||
36 | vpp@90020000 { | ||
37 | compatible = "sirf,prima2-vpp"; | ||
38 | reg = <0x90020000 0x10000>; | ||
39 | interrupts = <31>; | ||
40 | clocks = <&clks 35>; | ||
41 | resets = <&rstc 6>; | ||
42 | }; | ||
diff --git a/Documentation/devicetree/bindings/reset/st,sti-powerdown.txt b/Documentation/devicetree/bindings/reset/st,sti-powerdown.txt new file mode 100644 index 000000000000..5ab26b7e9d35 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/st,sti-powerdown.txt | |||
@@ -0,0 +1,47 @@ | |||
1 | STMicroelectronics STi family Sysconfig Peripheral Powerdown Reset Controller | ||
2 | ============================================================================= | ||
3 | |||
4 | This binding describes a reset controller device that is used to enable and | ||
5 | disable on-chip peripheral controllers such as USB and SATA, using | ||
6 | "powerdown" control bits found in the STi family SoC system configuration | ||
7 | registers. These have been grouped together into a single reset controller | ||
8 | device for convenience. | ||
9 | |||
10 | The actual action taken when powerdown is asserted is hardware dependent. | ||
11 | However, when asserted it may not be possible to access the hardware's | ||
12 | registers and after an assert/deassert sequence the hardware's previous state | ||
13 | may no longer be valid. | ||
14 | |||
15 | Please refer to reset.txt in this directory for common reset | ||
16 | controller binding usage. | ||
17 | |||
18 | Required properties: | ||
19 | - compatible: Should be "st,<chip>-powerdown" | ||
20 | ex: "st,stih415-powerdown", "st,stih416-powerdown" | ||
21 | - #reset-cells: 1, see below | ||
22 | |||
23 | example: | ||
24 | |||
25 | powerdown: powerdown-controller { | ||
26 | #reset-cells = <1>; | ||
27 | compatible = "st,stih415-powerdown"; | ||
28 | }; | ||
29 | |||
30 | |||
31 | Specifying powerdown control of devices | ||
32 | ======================================= | ||
33 | |||
34 | Device nodes should specify the reset channel required in their "resets" | ||
35 | property, containing a phandle to the powerdown device node and an | ||
36 | index specifying which channel to use, as described in reset.txt | ||
37 | |||
38 | example: | ||
39 | |||
40 | usb1: usb@fe200000 { | ||
41 | resets = <&powerdown STIH41X_USB1_POWERDOWN>; | ||
42 | }; | ||
43 | |||
44 | Macro definitions for the supported reset channels can be found in: | ||
45 | |||
46 | include/dt-bindings/reset-controller/stih415-resets.h | ||
47 | include/dt-bindings/reset-controller/stih416-resets.h | ||
diff --git a/Documentation/devicetree/bindings/reset/st,sti-softreset.txt b/Documentation/devicetree/bindings/reset/st,sti-softreset.txt new file mode 100644 index 000000000000..a8d3d3c25ca2 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/st,sti-softreset.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | STMicroelectronics STi family Sysconfig Peripheral SoftReset Controller | ||
2 | ============================================================================= | ||
3 | |||
4 | This binding describes a reset controller device that is used to enable and | ||
5 | disable on-chip peripheral controllers such as USB and SATA, using | ||
6 | "softreset" control bits found in the STi family SoC system configuration | ||
7 | registers. | ||
8 | |||
9 | The actual action taken when softreset is asserted is hardware dependent. | ||
10 | However, when asserted it may not be possible to access the hardware's | ||
11 | registers and after an assert/deassert sequence the hardware's previous state | ||
12 | may no longer be valid. | ||
13 | |||
14 | Please refer to reset.txt in this directory for common reset | ||
15 | controller binding usage. | ||
16 | |||
17 | Required properties: | ||
18 | - compatible: Should be "st,<chip>-softreset" example: | ||
19 | "st,stih415-softreset" or "st,stih416-softreset"; | ||
20 | - #reset-cells: 1, see below | ||
21 | |||
22 | example: | ||
23 | |||
24 | softreset: softreset-controller { | ||
25 | #reset-cells = <1>; | ||
26 | compatible = "st,stih415-softreset"; | ||
27 | }; | ||
28 | |||
29 | |||
30 | Specifying softreset control of devices | ||
31 | ======================================= | ||
32 | |||
33 | Device nodes should specify the reset channel required in their "resets" | ||
34 | property, containing a phandle to the softreset device node and an | ||
35 | index specifying which channel to use, as described in reset.txt | ||
36 | |||
37 | example: | ||
38 | |||
39 | ethernet0{ | ||
40 | resets = <&softreset STIH415_ETH0_SOFTRESET>; | ||
41 | }; | ||
42 | |||
43 | Macro definitions for the supported reset channels can be found in: | ||
44 | |||
45 | include/dt-bindings/reset-controller/stih415-resets.h | ||
46 | include/dt-bindings/reset-controller/stih416-resets.h | ||
diff --git a/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt b/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt index 7cb9dbf34878..6983aad376c3 100644 --- a/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt +++ b/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt | |||
@@ -3,7 +3,7 @@ | |||
3 | RTC controller for the Allwinner A10/A20 | 3 | RTC controller for the Allwinner A10/A20 |
4 | 4 | ||
5 | Required properties: | 5 | Required properties: |
6 | - compatible : Should be "allwinner,sun4i-rtc" or "allwinner,sun7i-a20-rtc" | 6 | - compatible : Should be "allwinner,sun4i-a10-rtc" or "allwinner,sun7i-a20-rtc" |
7 | - reg: physical base address of the controller and length of memory mapped | 7 | - reg: physical base address of the controller and length of memory mapped |
8 | region. | 8 | region. |
9 | - interrupts: IRQ line for the RTC. | 9 | - interrupts: IRQ line for the RTC. |
@@ -11,7 +11,7 @@ Required properties: | |||
11 | Example: | 11 | Example: |
12 | 12 | ||
13 | rtc: rtc@01c20d00 { | 13 | rtc: rtc@01c20d00 { |
14 | compatible = "allwinner,sun4i-rtc"; | 14 | compatible = "allwinner,sun4i-a10-rtc"; |
15 | reg = <0x01c20d00 0x20>; | 15 | reg = <0x01c20d00 0x20>; |
16 | interrupts = <24>; | 16 | interrupts = <24>; |
17 | }; | 17 | }; |
diff --git a/Documentation/devicetree/bindings/serial/atmel-usart.txt b/Documentation/devicetree/bindings/serial/atmel-usart.txt index 9c5d19ac935c..17c1042b2df8 100644 --- a/Documentation/devicetree/bindings/serial/atmel-usart.txt +++ b/Documentation/devicetree/bindings/serial/atmel-usart.txt | |||
@@ -13,6 +13,8 @@ Required properties: | |||
13 | Optional properties: | 13 | Optional properties: |
14 | - atmel,use-dma-rx: use of PDC or DMA for receiving data | 14 | - atmel,use-dma-rx: use of PDC or DMA for receiving data |
15 | - atmel,use-dma-tx: use of PDC or DMA for transmitting data | 15 | - atmel,use-dma-tx: use of PDC or DMA for transmitting data |
16 | - rts-gpios: specify a GPIO for RTS line. It will use specified PIO instead of the peripheral | ||
17 | function pin for the USART RTS feature. If unsure, don't specify this property. | ||
16 | - add dma bindings for dma transfer: | 18 | - add dma bindings for dma transfer: |
17 | - dmas: DMA specifier, consisting of a phandle to DMA controller node, | 19 | - dmas: DMA specifier, consisting of a phandle to DMA controller node, |
18 | memory peripheral interface and USART DMA channel ID, FIFO configuration. | 20 | memory peripheral interface and USART DMA channel ID, FIFO configuration. |
@@ -33,6 +35,7 @@ Example: | |||
33 | clock-names = "usart"; | 35 | clock-names = "usart"; |
34 | atmel,use-dma-rx; | 36 | atmel,use-dma-rx; |
35 | atmel,use-dma-tx; | 37 | atmel,use-dma-tx; |
38 | rts-gpios = <&pioD 15 0>; | ||
36 | }; | 39 | }; |
37 | 40 | ||
38 | - use DMA: | 41 | - use DMA: |
diff --git a/Documentation/devicetree/bindings/serial/efm32-uart.txt b/Documentation/devicetree/bindings/serial/efm32-uart.txt index 8e080b893b49..1984bdfbd545 100644 --- a/Documentation/devicetree/bindings/serial/efm32-uart.txt +++ b/Documentation/devicetree/bindings/serial/efm32-uart.txt | |||
@@ -6,7 +6,7 @@ Required properties: | |||
6 | - interrupts : Should contain uart interrupt | 6 | - interrupts : Should contain uart interrupt |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - location : Decides the location of the USART I/O pins. | 9 | - efm32,location : Decides the location of the USART I/O pins. |
10 | Allowed range : [0 .. 5] | 10 | Allowed range : [0 .. 5] |
11 | Default: 0 | 11 | Default: 0 |
12 | 12 | ||
@@ -16,5 +16,5 @@ uart@0x4000c400 { | |||
16 | compatible = "efm32,uart"; | 16 | compatible = "efm32,uart"; |
17 | reg = <0x4000c400 0x400>; | 17 | reg = <0x4000c400 0x400>; |
18 | interrupts = <15>; | 18 | interrupts = <15>; |
19 | location = <0>; | 19 | efm32,location = <0>; |
20 | }; | 20 | }; |
diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt index 6fd1dd1638dd..a1d1205d8185 100644 --- a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt +++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt | |||
@@ -4,11 +4,24 @@ Required properties: | |||
4 | - compatible : Should be "fsl,<soc>-lpuart" | 4 | - compatible : Should be "fsl,<soc>-lpuart" |
5 | - reg : Address and length of the register set for the device | 5 | - reg : Address and length of the register set for the device |
6 | - interrupts : Should contain uart interrupt | 6 | - interrupts : Should contain uart interrupt |
7 | - clocks : phandle + clock specifier pairs, one for each entry in clock-names | ||
8 | - clock-names : should contain: "ipg" - the uart clock | ||
9 | |||
10 | Optional properties: | ||
11 | - dmas: A list of two dma specifiers, one for each entry in dma-names. | ||
12 | - dma-names: should contain "tx" and "rx". | ||
13 | |||
14 | Note: Optional properties for DMA support. Write them both or both not. | ||
7 | 15 | ||
8 | Example: | 16 | Example: |
9 | 17 | ||
10 | uart0: serial@40027000 { | 18 | uart0: serial@40027000 { |
11 | compatible = "fsl,vf610-lpuart"; | 19 | compatible = "fsl,vf610-lpuart"; |
12 | reg = <0x40027000 0x1000>; | 20 | reg = <0x40027000 0x1000>; |
13 | interrupts = <0 61 0x00>; | 21 | interrupts = <0 61 0x00>; |
14 | }; | 22 | clocks = <&clks VF610_CLK_UART0>; |
23 | clock-names = "ipg"; | ||
24 | dmas = <&edma0 0 2>, | ||
25 | <&edma0 0 3>; | ||
26 | dma-names = "rx","tx"; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/maxim,max310x.txt b/Documentation/devicetree/bindings/serial/maxim,max310x.txt new file mode 100644 index 000000000000..83a919c241b0 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/maxim,max310x.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | * Maxim MAX310X advanced Universal Asynchronous Receiver-Transmitter (UART) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be one of the following: | ||
5 | - "maxim,max3107" for Maxim MAX3107, | ||
6 | - "maxim,max3108" for Maxim MAX3108, | ||
7 | - "maxim,max3109" for Maxim MAX3109, | ||
8 | - "maxim,max14830" for Maxim MAX14830. | ||
9 | - reg: SPI chip select number. | ||
10 | - interrupt-parent: The phandle for the interrupt controller that | ||
11 | services interrupts for this IC. | ||
12 | - interrupts: Specifies the interrupt source of the parent interrupt | ||
13 | controller. The format of the interrupt specifier depends on the | ||
14 | parent interrupt controller. | ||
15 | - clocks: phandle to the IC source clock. | ||
16 | - clock-names: Should be "xtal" if clock is an external crystal or | ||
17 | "osc" if an external clock source is used. | ||
18 | |||
19 | Optional properties: | ||
20 | - gpio-controller: Marks the device node as a GPIO controller. | ||
21 | - #gpio-cells: Should be two. The first cell is the GPIO number and | ||
22 | the second cell is used to specify the GPIO polarity: | ||
23 | 0 = active high, | ||
24 | 1 = active low. | ||
25 | |||
26 | Example: | ||
27 | max14830: max14830@0 { | ||
28 | compatible = "maxim,max14830"; | ||
29 | reg = <0>; | ||
30 | clocks = <&clk20m>; | ||
31 | clock-names = "osc"; | ||
32 | interrupt-parent = <&gpio3>; | ||
33 | interrupts = <7 IRQ_TYPE_EDGE_FALLING>; | ||
34 | gpio-controller; | ||
35 | #gpio-cells = <2>; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt index f372cf29068d..53e6c175db6c 100644 --- a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt +++ b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt | |||
@@ -37,7 +37,7 @@ Example: | |||
37 | }; | 37 | }; |
38 | 38 | ||
39 | scifa0: serial@e6c40000 { | 39 | scifa0: serial@e6c40000 { |
40 | compatible = "renesas,scifa-r8a7790", "renesas,scifa-generic"; | 40 | compatible = "renesas,scifa-r8a7790", "renesas,scifa"; |
41 | reg = <0 0xe6c40000 0 64>; | 41 | reg = <0 0xe6c40000 0 64>; |
42 | interrupt-parent = <&gic>; | 42 | interrupt-parent = <&gic>; |
43 | interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>; | 43 | interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>; |
diff --git a/Documentation/devicetree/bindings/sound/armada-370db-audio.txt b/Documentation/devicetree/bindings/sound/armada-370db-audio.txt new file mode 100644 index 000000000000..bf984d238620 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/armada-370db-audio.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | Device Tree bindings for the Armada 370 DB audio | ||
2 | ================================================ | ||
3 | |||
4 | These Device Tree bindings are used to describe the audio complex | ||
5 | found on the Armada 370 DB platform. | ||
6 | |||
7 | Mandatory properties: | ||
8 | |||
9 | * compatible: must be "marvell,a370db-audio" | ||
10 | |||
11 | * marvell,audio-controller: a phandle that points to the audio | ||
12 | controller of the Armada 370 SoC. | ||
13 | |||
14 | * marvell,audio-codec: a set of three phandles that points to: | ||
15 | |||
16 | 1/ the analog audio codec connected to the Armada 370 SoC | ||
17 | 2/ the S/PDIF transceiver | ||
18 | 3/ the S/PDIF receiver | ||
19 | |||
20 | Example: | ||
21 | |||
22 | sound { | ||
23 | compatible = "marvell,a370db-audio"; | ||
24 | marvell,audio-controller = <&audio_controller>; | ||
25 | marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>; | ||
26 | status = "okay"; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/cs42xx8.txt b/Documentation/devicetree/bindings/sound/cs42xx8.txt new file mode 100644 index 000000000000..f631fbca6284 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/cs42xx8.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | CS42448/CS42888 audio CODEC | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : must contain one of "cirrus,cs42448" and "cirrus,cs42888" | ||
6 | |||
7 | - reg : the I2C address of the device for I2C | ||
8 | |||
9 | - clocks : a list of phandles + clock-specifiers, one for each entry in | ||
10 | clock-names | ||
11 | |||
12 | - clock-names : must contain "mclk" | ||
13 | |||
14 | - VA-supply, VD-supply, VLS-supply, VLC-supply: power supplies for the device, | ||
15 | as covered in Documentation/devicetree/bindings/regulator/regulator.txt | ||
16 | |||
17 | Example: | ||
18 | |||
19 | codec: cs42888@48 { | ||
20 | compatible = "cirrus,cs42888"; | ||
21 | reg = <0x48>; | ||
22 | clocks = <&codec_mclk 0>; | ||
23 | clock-names = "mclk"; | ||
24 | VA-supply = <®_audio>; | ||
25 | VD-supply = <®_audio>; | ||
26 | VLS-supply = <®_audio>; | ||
27 | VLC-supply = <®_audio>; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/da9055.txt b/Documentation/devicetree/bindings/sound/da9055.txt new file mode 100644 index 000000000000..ed1b7cc6f249 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/da9055.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | * Dialog DA9055 Audio CODEC | ||
2 | |||
3 | DA9055 provides Audio CODEC support (I2C only). | ||
4 | |||
5 | The Audio CODEC device in DA9055 has it's own I2C address which is configurable, | ||
6 | so the device is instantiated separately from the PMIC (MFD) device. | ||
7 | |||
8 | For details on accompanying PMIC I2C device, see the following: | ||
9 | Documentation/devicetree/bindings/mfd/da9055.txt | ||
10 | |||
11 | Required properties: | ||
12 | |||
13 | - compatible: "dlg,da9055-codec" | ||
14 | - reg: Specifies the I2C slave address | ||
15 | |||
16 | |||
17 | Example: | ||
18 | |||
19 | codec: da9055-codec@1a { | ||
20 | compatible = "dlg,da9055-codec"; | ||
21 | reg = <0x1a>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt index 865178d5cdf3..963e100514c2 100644 --- a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt +++ b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt | |||
@@ -5,12 +5,19 @@ Required properties: | |||
5 | - ti,model : The user-visible name of this sound complex. | 5 | - ti,model : The user-visible name of this sound complex. |
6 | - ti,audio-codec : The phandle of the TLV320AIC3x audio codec | 6 | - ti,audio-codec : The phandle of the TLV320AIC3x audio codec |
7 | - ti,mcasp-controller : The phandle of the McASP controller | 7 | - ti,mcasp-controller : The phandle of the McASP controller |
8 | - ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec | ||
9 | - ti,audio-routing : A list of the connections between audio components. | 8 | - ti,audio-routing : A list of the connections between audio components. |
10 | Each entry is a pair of strings, the first being the connection's sink, | 9 | Each entry is a pair of strings, the first being the connection's sink, |
11 | the second being the connection's source. Valid names for sources and | 10 | the second being the connection's source. Valid names for sources and |
12 | sinks are the codec's pins, and the jacks on the board: | 11 | sinks are the codec's pins, and the jacks on the board: |
13 | 12 | ||
13 | Optional properties: | ||
14 | - ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec. | ||
15 | - clocks : Reference to the master clock | ||
16 | - clock-names : The clock should be named "mclk" | ||
17 | - Either codec-clock-rate or the codec-clock reference has to be defined. If | ||
18 | the both are defined the driver attempts to set referenced clock to the | ||
19 | defined rate and takes the rate from the clock reference. | ||
20 | |||
14 | Board connectors: | 21 | Board connectors: |
15 | 22 | ||
16 | * Headphone Jack | 23 | * Headphone Jack |
diff --git a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt new file mode 100644 index 000000000000..0d7985c864af --- /dev/null +++ b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | Audio complex for Eukrea boards with tlv320aic23 codec. | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "eukrea,asoc-tlv320" | ||
5 | - eukrea,model : The user-visible name of this sound complex. | ||
6 | - ssi-controller : The phandle of the SSI controller. | ||
7 | - fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX). | ||
8 | - fsl,mux-ext-port : The external port of the i.MX audio muxer. | ||
9 | |||
10 | Note: The AUDMUX port numbering should start at 1, which is consistent with | ||
11 | hardware manual. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | sound { | ||
16 | compatible = "eukrea,asoc-tlv320"; | ||
17 | eukrea,model = "imx51-eukrea-tlv320aic23"; | ||
18 | ssi-controller = <&ssi2>; | ||
19 | fsl,mux-int-port = <2>; | ||
20 | fsl,mux-ext-port = <3>; | ||
21 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.txt b/Documentation/devicetree/bindings/sound/fsl,esai.txt index d7b99fa637b5..aeb8c4a0b88d 100644 --- a/Documentation/devicetree/bindings/sound/fsl,esai.txt +++ b/Documentation/devicetree/bindings/sound/fsl,esai.txt | |||
@@ -34,6 +34,10 @@ Required properties: | |||
34 | that ESAI would work in the synchronous mode, which means all the settings | 34 | that ESAI would work in the synchronous mode, which means all the settings |
35 | for Receiving would be duplicated from Transmition related registers. | 35 | for Receiving would be duplicated from Transmition related registers. |
36 | 36 | ||
37 | - big-endian : If this property is absent, the native endian mode will | ||
38 | be in use as default, or the big endian mode will be in use for all the | ||
39 | device registers. | ||
40 | |||
37 | Example: | 41 | Example: |
38 | 42 | ||
39 | esai: esai@02024000 { | 43 | esai: esai@02024000 { |
@@ -46,5 +50,6 @@ esai: esai@02024000 { | |||
46 | dma-names = "rx", "tx"; | 50 | dma-names = "rx", "tx"; |
47 | fsl,fifo-depth = <128>; | 51 | fsl,fifo-depth = <128>; |
48 | fsl,esai-synchronous; | 52 | fsl,esai-synchronous; |
53 | big-endian; | ||
49 | status = "disabled"; | 54 | status = "disabled"; |
50 | }; | 55 | }; |
diff --git a/Documentation/devicetree/bindings/sound/fsl,spdif.txt b/Documentation/devicetree/bindings/sound/fsl,spdif.txt index f2ae335670f5..3e9e82c8eab3 100644 --- a/Documentation/devicetree/bindings/sound/fsl,spdif.txt +++ b/Documentation/devicetree/bindings/sound/fsl,spdif.txt | |||
@@ -29,6 +29,10 @@ Required properties: | |||
29 | can also be referred to TxClk_Source | 29 | can also be referred to TxClk_Source |
30 | bit of register SPDIF_STC. | 30 | bit of register SPDIF_STC. |
31 | 31 | ||
32 | - big-endian : If this property is absent, the native endian mode will | ||
33 | be in use as default, or the big endian mode will be in use for all the | ||
34 | device registers. | ||
35 | |||
32 | Example: | 36 | Example: |
33 | 37 | ||
34 | spdif: spdif@02004000 { | 38 | spdif: spdif@02004000 { |
@@ -50,5 +54,6 @@ spdif: spdif@02004000 { | |||
50 | "rxtx5", "rxtx6", | 54 | "rxtx5", "rxtx6", |
51 | "rxtx7"; | 55 | "rxtx7"; |
52 | 56 | ||
57 | big-endian; | ||
53 | status = "okay"; | 58 | status = "okay"; |
54 | }; | 59 | }; |
diff --git a/Documentation/devicetree/bindings/sound/mvebu-audio.txt b/Documentation/devicetree/bindings/sound/mvebu-audio.txt index f0062c5871b4..cb8c07c81ce4 100644 --- a/Documentation/devicetree/bindings/sound/mvebu-audio.txt +++ b/Documentation/devicetree/bindings/sound/mvebu-audio.txt | |||
@@ -5,6 +5,7 @@ Required properties: | |||
5 | - compatible: | 5 | - compatible: |
6 | "marvell,kirkwood-audio" for Kirkwood platforms | 6 | "marvell,kirkwood-audio" for Kirkwood platforms |
7 | "marvell,dove-audio" for Dove platforms | 7 | "marvell,dove-audio" for Dove platforms |
8 | "marvell,armada370-audio" for Armada 370 platforms | ||
8 | 9 | ||
9 | - reg: physical base address of the controller and length of memory mapped | 10 | - reg: physical base address of the controller and length of memory mapped |
10 | region. | 11 | region. |
diff --git a/Documentation/devicetree/bindings/sound/pcm512x.txt b/Documentation/devicetree/bindings/sound/pcm512x.txt new file mode 100644 index 000000000000..faff75e64573 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/pcm512x.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | PCM512x audio CODECs | ||
2 | |||
3 | These devices support both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : One of "ti,pcm5121" or "ti,pcm5122" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | - AVDD-supply, DVDD-supply, and CPVDD-supply : power supplies for the | ||
14 | device, as covered in bindings/regulator/regulator.txt | ||
15 | |||
16 | Optional properties: | ||
17 | |||
18 | - clocks : A clock specifier for the clock connected as SCLK. If this | ||
19 | is absent the device will be configured to clock from BCLK. | ||
20 | |||
21 | Example: | ||
22 | |||
23 | pcm5122: pcm5122@4c { | ||
24 | compatible = "ti,pcm5122"; | ||
25 | reg = <0x4c>; | ||
26 | |||
27 | AVDD-supply = <®_3v3_analog>; | ||
28 | DVDD-supply = <®_1v8>; | ||
29 | CPVDD-supply = <®_3v3>; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt new file mode 100644 index 000000000000..a44e9179faf5 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt | |||
@@ -0,0 +1,105 @@ | |||
1 | Renesas R-Car sound | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "renesas,rcar_sound-gen1" if generation1 | ||
5 | "renesas,rcar_sound-gen2" if generation2 | ||
6 | - reg : Should contain the register physical address. | ||
7 | required register is | ||
8 | SRU/ADG/SSI if generation1 | ||
9 | SRU/ADG/SSIU/SSI if generation2 | ||
10 | - rcar_sound,ssi : Should contain SSI feature. | ||
11 | The number of SSI subnode should be same as HW. | ||
12 | see below for detail. | ||
13 | - rcar_sound,src : Should contain SRC feature. | ||
14 | The number of SRC subnode should be same as HW. | ||
15 | see below for detail. | ||
16 | - rcar_sound,dai : DAI contents. | ||
17 | The number of DAI subnode should be same as HW. | ||
18 | see below for detail. | ||
19 | |||
20 | SSI subnode properties: | ||
21 | - interrupts : Should contain SSI interrupt for PIO transfer | ||
22 | - shared-pin : if shared clock pin | ||
23 | |||
24 | SRC subnode properties: | ||
25 | no properties at this point | ||
26 | |||
27 | DAI subnode properties: | ||
28 | - playback : list of playback modules | ||
29 | - capture : list of capture modules | ||
30 | |||
31 | Example: | ||
32 | |||
33 | rcar_sound: rcar_sound@0xffd90000 { | ||
34 | #sound-dai-cells = <1>; | ||
35 | compatible = "renesas,rcar_sound-gen2"; | ||
36 | reg = <0 0xec500000 0 0x1000>, /* SCU */ | ||
37 | <0 0xec5a0000 0 0x100>, /* ADG */ | ||
38 | <0 0xec540000 0 0x1000>, /* SSIU */ | ||
39 | <0 0xec541000 0 0x1280>; /* SSI */ | ||
40 | |||
41 | rcar_sound,src { | ||
42 | src0: src@0 { }; | ||
43 | src1: src@1 { }; | ||
44 | src2: src@2 { }; | ||
45 | src3: src@3 { }; | ||
46 | src4: src@4 { }; | ||
47 | src5: src@5 { }; | ||
48 | src6: src@6 { }; | ||
49 | src7: src@7 { }; | ||
50 | src8: src@8 { }; | ||
51 | src9: src@9 { }; | ||
52 | }; | ||
53 | |||
54 | rcar_sound,ssi { | ||
55 | ssi0: ssi@0 { | ||
56 | interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>; | ||
57 | }; | ||
58 | ssi1: ssi@1 { | ||
59 | interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>; | ||
60 | }; | ||
61 | ssi2: ssi@2 { | ||
62 | interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>; | ||
63 | }; | ||
64 | ssi3: ssi@3 { | ||
65 | interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>; | ||
66 | }; | ||
67 | ssi4: ssi@4 { | ||
68 | interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>; | ||
69 | }; | ||
70 | ssi5: ssi@5 { | ||
71 | interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>; | ||
72 | }; | ||
73 | ssi6: ssi@6 { | ||
74 | interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>; | ||
75 | }; | ||
76 | ssi7: ssi@7 { | ||
77 | interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>; | ||
78 | }; | ||
79 | ssi8: ssi@8 { | ||
80 | interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>; | ||
81 | }; | ||
82 | ssi9: ssi@9 { | ||
83 | interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>; | ||
84 | }; | ||
85 | }; | ||
86 | |||
87 | rcar_sound,dai { | ||
88 | dai0 { | ||
89 | playback = <&ssi5 &src5>; | ||
90 | capture = <&ssi6>; | ||
91 | }; | ||
92 | dai1 { | ||
93 | playback = <&ssi3>; | ||
94 | }; | ||
95 | dai2 { | ||
96 | capture = <&ssi4>; | ||
97 | }; | ||
98 | dai3 { | ||
99 | playback = <&ssi7>; | ||
100 | }; | ||
101 | dai4 { | ||
102 | capture = <&ssi8>; | ||
103 | }; | ||
104 | }; | ||
105 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt index 19c84df5fffa..131aa2ad7f1a 100644 --- a/Documentation/devicetree/bindings/sound/simple-card.txt +++ b/Documentation/devicetree/bindings/sound/simple-card.txt | |||
@@ -8,16 +8,26 @@ Required properties: | |||
8 | 8 | ||
9 | Optional properties: | 9 | Optional properties: |
10 | 10 | ||
11 | - simple-audio-card,name : User specified audio sound card name, one string | ||
12 | property. | ||
11 | - simple-audio-card,format : CPU/CODEC common audio format. | 13 | - simple-audio-card,format : CPU/CODEC common audio format. |
12 | "i2s", "right_j", "left_j" , "dsp_a" | 14 | "i2s", "right_j", "left_j" , "dsp_a" |
13 | "dsp_b", "ac97", "pdm", "msb", "lsb" | 15 | "dsp_b", "ac97", "pdm", "msb", "lsb" |
16 | - simple-audio-card,widgets : Please refer to widgets.txt. | ||
14 | - simple-audio-card,routing : A list of the connections between audio components. | 17 | - simple-audio-card,routing : A list of the connections between audio components. |
15 | Each entry is a pair of strings, the first being the | 18 | Each entry is a pair of strings, the first being the |
16 | connection's sink, the second being the connection's | 19 | connection's sink, the second being the connection's |
17 | source. | 20 | source. |
21 | - dai-tdm-slot-num : Please refer to tdm-slot.txt. | ||
22 | - dai-tdm-slot-width : Please refer to tdm-slot.txt. | ||
18 | 23 | ||
19 | Required subnodes: | 24 | Required subnodes: |
20 | 25 | ||
26 | - simple-audio-card,dai-link : container for the CPU and CODEC sub-nodes | ||
27 | This container may be omitted when the | ||
28 | card has only one DAI link. | ||
29 | See the examples. | ||
30 | |||
21 | - simple-audio-card,cpu : CPU sub-node | 31 | - simple-audio-card,cpu : CPU sub-node |
22 | - simple-audio-card,codec : CODEC sub-node | 32 | - simple-audio-card,codec : CODEC sub-node |
23 | 33 | ||
@@ -38,15 +48,29 @@ Optional CPU/CODEC subnodes properties: | |||
38 | clock node (= common clock), or "system-clock-frequency" | 48 | clock node (= common clock), or "system-clock-frequency" |
39 | (if system doens't support common clock) | 49 | (if system doens't support common clock) |
40 | 50 | ||
41 | Example: | 51 | Note: |
52 | * For 'format', 'frame-master', 'bitclock-master', 'bitclock-inversion' and | ||
53 | 'frame-inversion', the simple card will use the settings of CODEC for both | ||
54 | CPU and CODEC sides as we need to keep the settings identical for both ends | ||
55 | of the link. | ||
56 | |||
57 | Example 1 - single DAI link: | ||
42 | 58 | ||
43 | sound { | 59 | sound { |
44 | compatible = "simple-audio-card"; | 60 | compatible = "simple-audio-card"; |
61 | simple-audio-card,name = "VF610-Tower-Sound-Card"; | ||
45 | simple-audio-card,format = "left_j"; | 62 | simple-audio-card,format = "left_j"; |
63 | simple-audio-card,widgets = | ||
64 | "Microphone", "Microphone Jack", | ||
65 | "Headphone", "Headphone Jack", | ||
66 | "Speaker", "External Speaker"; | ||
46 | simple-audio-card,routing = | 67 | simple-audio-card,routing = |
47 | "MIC_IN", "Mic Jack", | 68 | "MIC_IN", "Microphone Jack", |
48 | "Headphone Jack", "HP_OUT", | 69 | "Headphone Jack", "HP_OUT", |
49 | "Ext Spk", "LINE_OUT"; | 70 | "External Speaker", "LINE_OUT"; |
71 | |||
72 | dai-tdm-slot-num = <2>; | ||
73 | dai-tdm-slot-width = <8>; | ||
50 | 74 | ||
51 | simple-audio-card,cpu { | 75 | simple-audio-card,cpu { |
52 | sound-dai = <&sh_fsi2 0>; | 76 | sound-dai = <&sh_fsi2 0>; |
@@ -75,3 +99,38 @@ sh_fsi2: sh_fsi2@ec230000 { | |||
75 | interrupt-parent = <&gic>; | 99 | interrupt-parent = <&gic>; |
76 | interrupts = <0 146 0x4>; | 100 | interrupts = <0 146 0x4>; |
77 | }; | 101 | }; |
102 | |||
103 | Example 2 - many DAI links: | ||
104 | |||
105 | sound { | ||
106 | compatible = "simple-audio-card"; | ||
107 | simple-audio-card,name = "Cubox Audio"; | ||
108 | simple-audio-card,format = "i2s"; | ||
109 | |||
110 | simple-audio-card,dai-link@0 { /* I2S - HDMI */ | ||
111 | simple-audio-card,cpu { | ||
112 | sound-dai = <&audio1 0>; | ||
113 | }; | ||
114 | simple-audio-card,codec { | ||
115 | sound-dai = <&tda998x 0>; | ||
116 | }; | ||
117 | }; | ||
118 | |||
119 | simple-audio-card,dai-link@1 { /* S/PDIF - HDMI */ | ||
120 | simple-audio-card,cpu { | ||
121 | sound-dai = <&audio1 1>; | ||
122 | }; | ||
123 | simple-audio-card,codec { | ||
124 | sound-dai = <&tda998x 1>; | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | simple-audio-card,dai-link@2 { /* S/PDIF - S/PDIF */ | ||
129 | simple-audio-card,cpu { | ||
130 | sound-dai = <&audio1 1>; | ||
131 | }; | ||
132 | simple-audio-card,codec { | ||
133 | sound-dai = <&spdif_codec>; | ||
134 | }; | ||
135 | }; | ||
136 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt b/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt new file mode 100644 index 000000000000..062f5ec36f9b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | SiRF internal audio CODEC | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : "sirf,atlas6-audio-codec" or "sirf,prima2-audio-codec" | ||
6 | |||
7 | - reg : the register address of the device. | ||
8 | |||
9 | - clocks: the clock of SiRF internal audio codec | ||
10 | |||
11 | Example: | ||
12 | |||
13 | audiocodec: audiocodec@b0040000 { | ||
14 | compatible = "sirf,atlas6-audio-codec"; | ||
15 | reg = <0xb0040000 0x10000>; | ||
16 | clocks = <&clks 27>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-port.txt b/Documentation/devicetree/bindings/sound/sirf-audio-port.txt new file mode 100644 index 000000000000..1f66de3c8f00 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/sirf-audio-port.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | * SiRF SoC audio port | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "sirf,audio-port" | ||
5 | - reg: Base address and size entries: | ||
6 | - dmas: List of DMA controller phandle and DMA request line ordered pairs. | ||
7 | - dma-names: Identifier string for each DMA request line in the dmas property. | ||
8 | These strings correspond 1:1 with the ordered pairs in dmas. | ||
9 | |||
10 | One of the DMA channels will be responsible for transmission (should be | ||
11 | named "tx") and one for reception (should be named "rx"). | ||
12 | |||
13 | Example: | ||
14 | |||
15 | audioport: audioport@b0040000 { | ||
16 | compatible = "sirf,audio-port"; | ||
17 | reg = <0xb0040000 0x10000>; | ||
18 | dmas = <&dmac1 3>, <&dmac1 8>; | ||
19 | dma-names = "rx", "tx"; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio.txt b/Documentation/devicetree/bindings/sound/sirf-audio.txt new file mode 100644 index 000000000000..c88882ca3704 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/sirf-audio.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | * SiRF atlas6 and prima2 internal audio codec and port based audio setups | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "sirf,sirf-audio-card" | ||
5 | - sirf,audio-platform: phandle for the platform node | ||
6 | - sirf,audio-codec: phandle for the SiRF internal codec node | ||
7 | |||
8 | Optional properties: | ||
9 | - hp-pa-gpios: Need to be present if the board need control external | ||
10 | headphone amplifier. | ||
11 | - spk-pa-gpios: Need to be present if the board need control external | ||
12 | speaker amplifier. | ||
13 | - hp-switch-gpios: Need to be present if the board capable to detect jack | ||
14 | insertion, removal. | ||
15 | |||
16 | Available audio endpoints for the audio-routing table: | ||
17 | |||
18 | Board connectors: | ||
19 | * Headset Stereophone | ||
20 | * Ext Spk | ||
21 | * Line In | ||
22 | * Mic | ||
23 | |||
24 | SiRF internal audio codec pins: | ||
25 | * HPOUTL | ||
26 | * HPOUTR | ||
27 | * SPKOUT | ||
28 | * Ext Mic | ||
29 | * Mic Bias | ||
30 | |||
31 | Example: | ||
32 | |||
33 | sound { | ||
34 | compatible = "sirf,sirf-audio-card"; | ||
35 | sirf,audio-codec = <&audiocodec>; | ||
36 | sirf,audio-platform = <&audioport>; | ||
37 | hp-pa-gpios = <&gpio 44 0>; | ||
38 | spk-pa-gpios = <&gpio 46 0>; | ||
39 | hp-switch-gpios = <&gpio 45 0>; | ||
40 | }; | ||
41 | |||
diff --git a/Documentation/devicetree/bindings/sound/tdm-slot.txt b/Documentation/devicetree/bindings/sound/tdm-slot.txt new file mode 100644 index 000000000000..6a2c84247f91 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tdm-slot.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | TDM slot: | ||
2 | |||
3 | This specifies audio DAI's TDM slot. | ||
4 | |||
5 | TDM slot properties: | ||
6 | dai-tdm-slot-num : Number of slots in use. | ||
7 | dai-tdm-slot-width : Width in bits for each slot. | ||
8 | |||
9 | For instance: | ||
10 | dai-tdm-slot-num = <2>; | ||
11 | dai-tdm-slot-width = <8>; | ||
12 | |||
13 | And for each spcified driver, there could be one .of_xlate_tdm_slot_mask() | ||
14 | to specify a explicit mapping of the channels and the slots. If it's absent | ||
15 | the default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the | ||
16 | tx and rx masks. | ||
17 | |||
18 | For snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit | ||
19 | for an active slot as default, and the default active bits are at the LSB of | ||
20 | the masks. | ||
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt new file mode 100644 index 000000000000..74c66dee3e14 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | Texas Instruments - tlv320aic31xx Codec module | ||
2 | |||
3 | The tlv320aic31xx serial control bus communicates through I2C protocols | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible - "string" - One of: | ||
8 | "ti,tlv320aic310x" - Generic TLV320AIC31xx with mono speaker amp | ||
9 | "ti,tlv320aic311x" - Generic TLV320AIC31xx with stereo speaker amp | ||
10 | "ti,tlv320aic3100" - TLV320AIC3100 (mono speaker amp, no MiniDSP) | ||
11 | "ti,tlv320aic3110" - TLV320AIC3110 (stereo speaker amp, no MiniDSP) | ||
12 | "ti,tlv320aic3120" - TLV320AIC3120 (mono speaker amp, MiniDSP) | ||
13 | "ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP) | ||
14 | |||
15 | - reg - <int> - I2C slave address | ||
16 | |||
17 | |||
18 | Optional properties: | ||
19 | |||
20 | - gpio-reset - gpio pin number used for codec reset | ||
21 | - ai31xx-micbias-vg - MicBias Voltage setting | ||
22 | 1 or MICBIAS_2_0V - MICBIAS output is powered to 2.0V | ||
23 | 2 or MICBIAS_2_5V - MICBIAS output is powered to 2.5V | ||
24 | 3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD | ||
25 | If this node is not mentioned or if the value is unknown, then | ||
26 | micbias is set to 2.0V. | ||
27 | - HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply, | ||
28 | DVDD-supply : power supplies for the device as covered in | ||
29 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
30 | |||
31 | CODEC output pins: | ||
32 | * HPL | ||
33 | * HPR | ||
34 | * SPL, devices with stereo speaker amp | ||
35 | * SPR, devices with stereo speaker amp | ||
36 | * SPK, devices with mono speaker amp | ||
37 | * MICBIAS | ||
38 | |||
39 | CODEC input pins: | ||
40 | * MIC1LP | ||
41 | * MIC1RP | ||
42 | * MIC1LM | ||
43 | |||
44 | The pins can be used in referring sound node's audio-routing property. | ||
45 | |||
46 | Example: | ||
47 | #include <dt-bindings/sound/tlv320aic31xx-micbias.h> | ||
48 | |||
49 | tlv320aic31xx: tlv320aic31xx@18 { | ||
50 | compatible = "ti,tlv320aic311x"; | ||
51 | reg = <0x18>; | ||
52 | |||
53 | ai31xx-micbias-vg = <MICBIAS_OFF>; | ||
54 | |||
55 | HPVDD-supply = <®ulator>; | ||
56 | SPRVDD-supply = <®ulator>; | ||
57 | SPLVDD-supply = <®ulator>; | ||
58 | AVDD-supply = <®ulator>; | ||
59 | IOVDD-supply = <®ulator>; | ||
60 | DVDD-supply = <®ulator>; | ||
61 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt new file mode 100644 index 000000000000..5e2741af27be --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Texas Instruments - tlv320aic32x4 Codec module | ||
2 | |||
3 | The tlv320aic32x4 serial control bus communicates through I2C protocols | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: Should be "ti,tlv320aic32x4" | ||
7 | - reg: I2C slave address | ||
8 | - supply-*: Required supply regulators are: | ||
9 | "iov" - digital IO power supply | ||
10 | "ldoin" - LDO power supply | ||
11 | "dv" - Digital core power supply | ||
12 | "av" - Analog core power supply | ||
13 | If you supply ldoin, dv and av are optional. Otherwise they are required | ||
14 | See regulator/regulator.txt for more information about the detailed binding | ||
15 | format. | ||
16 | |||
17 | Optional properties: | ||
18 | - reset-gpios: Reset-GPIO phandle with args as described in gpio/gpio.txt | ||
19 | - clocks/clock-names: Clock named 'mclk' for the master clock of the codec. | ||
20 | See clock/clock-bindings.txt for information about the detailed format. | ||
21 | |||
22 | |||
23 | Example: | ||
24 | |||
25 | codec: tlv320aic32x4@18 { | ||
26 | compatible = "ti,tlv320aic32x4"; | ||
27 | reg = <0x18>; | ||
28 | clocks = <&clks 201>; | ||
29 | clock-names = "mclk"; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt index 9d8ea14db490..5e6040c2c2e9 100644 --- a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt +++ b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt | |||
@@ -6,7 +6,6 @@ Required properties: | |||
6 | 6 | ||
7 | - compatible - "string" - One of: | 7 | - compatible - "string" - One of: |
8 | "ti,tlv320aic3x" - Generic TLV320AIC3x device | 8 | "ti,tlv320aic3x" - Generic TLV320AIC3x device |
9 | "ti,tlv320aic32x4" - TLV320AIC32x4 | ||
10 | "ti,tlv320aic33" - TLV320AIC33 | 9 | "ti,tlv320aic33" - TLV320AIC33 |
11 | "ti,tlv320aic3007" - TLV320AIC3007 | 10 | "ti,tlv320aic3007" - TLV320AIC3007 |
12 | "ti,tlv320aic3106" - TLV320AIC3106 | 11 | "ti,tlv320aic3106" - TLV320AIC3106 |
diff --git a/Documentation/devicetree/bindings/sound/widgets.txt b/Documentation/devicetree/bindings/sound/widgets.txt new file mode 100644 index 000000000000..b6de5ba3b2de --- /dev/null +++ b/Documentation/devicetree/bindings/sound/widgets.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | Widgets: | ||
2 | |||
3 | This mainly specifies audio off-codec DAPM widgets. | ||
4 | |||
5 | Each entry is a pair of strings in DT: | ||
6 | |||
7 | "template-wname", "user-supplied-wname" | ||
8 | |||
9 | The "template-wname" being the template widget name and currently includes: | ||
10 | "Microphone", "Line", "Headphone" and "Speaker". | ||
11 | |||
12 | The "user-supplied-wname" being the user specified widget name. | ||
13 | |||
14 | For instance: | ||
15 | simple-audio-widgets = | ||
16 | "Microphone", "Microphone Jack", | ||
17 | "Line", "Line In Jack", | ||
18 | "Line", "Line Out Jack", | ||
19 | "Headphone", "Headphone Jack", | ||
20 | "Speaker", "Speaker External"; | ||
diff --git a/Documentation/devicetree/bindings/spi/efm32-spi.txt b/Documentation/devicetree/bindings/spi/efm32-spi.txt index a590ca51be75..8f081c96a4fa 100644 --- a/Documentation/devicetree/bindings/spi/efm32-spi.txt +++ b/Documentation/devicetree/bindings/spi/efm32-spi.txt | |||
@@ -3,24 +3,24 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - #address-cells: see spi-bus.txt | 4 | - #address-cells: see spi-bus.txt |
5 | - #size-cells: see spi-bus.txt | 5 | - #size-cells: see spi-bus.txt |
6 | - compatible: should be "efm32,spi" | 6 | - compatible: should be "energymicro,efm32-spi" |
7 | - reg: Offset and length of the register set for the controller | 7 | - reg: Offset and length of the register set for the controller |
8 | - interrupts: pair specifying rx and tx irq | 8 | - interrupts: pair specifying rx and tx irq |
9 | - clocks: phandle to the spi clock | 9 | - clocks: phandle to the spi clock |
10 | - cs-gpios: see spi-bus.txt | 10 | - cs-gpios: see spi-bus.txt |
11 | - location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values. | 11 | - efm32,location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values. |
12 | 12 | ||
13 | Example: | 13 | Example: |
14 | 14 | ||
15 | spi1: spi@0x4000c400 { /* USART1 */ | 15 | spi1: spi@0x4000c400 { /* USART1 */ |
16 | #address-cells = <1>; | 16 | #address-cells = <1>; |
17 | #size-cells = <0>; | 17 | #size-cells = <0>; |
18 | compatible = "efm32,spi"; | 18 | compatible = "energymicro,efm32-spi"; |
19 | reg = <0x4000c400 0x400>; | 19 | reg = <0x4000c400 0x400>; |
20 | interrupts = <15 16>; | 20 | interrupts = <15 16>; |
21 | clocks = <&cmu 20>; | 21 | clocks = <&cmu 20>; |
22 | cs-gpios = <&gpio 51 1>; // D3 | 22 | cs-gpios = <&gpio 51 1>; // D3 |
23 | location = <1>; | 23 | efm32,location = <1>; |
24 | status = "ok"; | 24 | status = "ok"; |
25 | 25 | ||
26 | ks8851@0 { | 26 | ks8851@0 { |
diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt new file mode 100644 index 000000000000..b82a268f1bd4 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt | |||
@@ -0,0 +1,85 @@ | |||
1 | Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI) | ||
2 | |||
3 | The QUP core is an AHB slave that provides a common data path (an output FIFO | ||
4 | and an input FIFO) for serial peripheral interface (SPI) mini-core. | ||
5 | |||
6 | SPI in master mode supports up to 50MHz, up to four chip selects, programmable | ||
7 | data path from 4 bits to 32 bits and numerous protocol variants. | ||
8 | |||
9 | Required properties: | ||
10 | - compatible: Should contain "qcom,spi-qup-v2.1.1" or "qcom,spi-qup-v2.2.1" | ||
11 | - reg: Should contain base register location and length | ||
12 | - interrupts: Interrupt number used by this controller | ||
13 | |||
14 | - clocks: Should contain the core clock and the AHB clock. | ||
15 | - clock-names: Should be "core" for the core clock and "iface" for the | ||
16 | AHB clock. | ||
17 | |||
18 | - #address-cells: Number of cells required to define a chip select | ||
19 | address on the SPI bus. Should be set to 1. | ||
20 | - #size-cells: Should be zero. | ||
21 | |||
22 | Optional properties: | ||
23 | - spi-max-frequency: Specifies maximum SPI clock frequency, | ||
24 | Units - Hz. Definition as per | ||
25 | Documentation/devicetree/bindings/spi/spi-bus.txt | ||
26 | |||
27 | SPI slave nodes must be children of the SPI master node and can contain | ||
28 | properties described in Documentation/devicetree/bindings/spi/spi-bus.txt | ||
29 | |||
30 | Example: | ||
31 | |||
32 | spi_8: spi@f9964000 { /* BLSP2 QUP2 */ | ||
33 | |||
34 | compatible = "qcom,spi-qup-v2"; | ||
35 | #address-cells = <1>; | ||
36 | #size-cells = <0>; | ||
37 | reg = <0xf9964000 0x1000>; | ||
38 | interrupts = <0 102 0>; | ||
39 | spi-max-frequency = <19200000>; | ||
40 | |||
41 | clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; | ||
42 | clock-names = "core", "iface"; | ||
43 | |||
44 | pinctrl-names = "default"; | ||
45 | pinctrl-0 = <&spi8_default>; | ||
46 | |||
47 | device@0 { | ||
48 | compatible = "arm,pl022-dummy"; | ||
49 | #address-cells = <1>; | ||
50 | #size-cells = <1>; | ||
51 | reg = <0>; /* Chip select 0 */ | ||
52 | spi-max-frequency = <19200000>; | ||
53 | spi-cpol; | ||
54 | }; | ||
55 | |||
56 | device@1 { | ||
57 | compatible = "arm,pl022-dummy"; | ||
58 | #address-cells = <1>; | ||
59 | #size-cells = <1>; | ||
60 | reg = <1>; /* Chip select 1 */ | ||
61 | spi-max-frequency = <9600000>; | ||
62 | spi-cpha; | ||
63 | }; | ||
64 | |||
65 | device@2 { | ||
66 | compatible = "arm,pl022-dummy"; | ||
67 | #address-cells = <1>; | ||
68 | #size-cells = <1>; | ||
69 | reg = <2>; /* Chip select 2 */ | ||
70 | spi-max-frequency = <19200000>; | ||
71 | spi-cpol; | ||
72 | spi-cpha; | ||
73 | }; | ||
74 | |||
75 | device@3 { | ||
76 | compatible = "arm,pl022-dummy"; | ||
77 | #address-cells = <1>; | ||
78 | #size-cells = <1>; | ||
79 | reg = <3>; /* Chip select 3 */ | ||
80 | spi-max-frequency = <19200000>; | ||
81 | spi-cpol; | ||
82 | spi-cpha; | ||
83 | spi-cs-high; | ||
84 | }; | ||
85 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/sh-hspi.txt b/Documentation/devicetree/bindings/spi/sh-hspi.txt index 30b57b1c8a13..319bad4af875 100644 --- a/Documentation/devicetree/bindings/spi/sh-hspi.txt +++ b/Documentation/devicetree/bindings/spi/sh-hspi.txt | |||
@@ -1,7 +1,29 @@ | |||
1 | Renesas HSPI. | 1 | Renesas HSPI. |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "renesas,hspi" | 4 | - compatible : "renesas,hspi-<soctype>", "renesas,hspi" as fallback. |
5 | - reg : Offset and length of the register set for the device | 5 | Examples with soctypes are: |
6 | - interrupts : interrupt line used by HSPI | 6 | - "renesas,hspi-r8a7778" (R-Car M1) |
7 | - "renesas,hspi-r8a7779" (R-Car H1) | ||
8 | - reg : Offset and length of the register set for the device | ||
9 | - interrupt-parent : The phandle for the interrupt controller that | ||
10 | services interrupts for this device | ||
11 | - interrupts : Interrupt specifier | ||
12 | - #address-cells : Must be <1> | ||
13 | - #size-cells : Must be <0> | ||
14 | |||
15 | Pinctrl properties might be needed, too. See | ||
16 | Documentation/devicetree/bindings/pinctrl/renesas,*. | ||
17 | |||
18 | Example: | ||
19 | |||
20 | hspi0: spi@fffc7000 { | ||
21 | compatible = "renesas,hspi-r8a7778", "renesas,hspi"; | ||
22 | reg = <0xfffc7000 0x18>; | ||
23 | interrupt-parent = <&gic>; | ||
24 | interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>; | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | status = "disabled"; | ||
28 | }; | ||
7 | 29 | ||
diff --git a/Documentation/devicetree/bindings/spi/sh-msiof.txt b/Documentation/devicetree/bindings/spi/sh-msiof.txt index e6222106ca36..f24baf3b6cc1 100644 --- a/Documentation/devicetree/bindings/spi/sh-msiof.txt +++ b/Documentation/devicetree/bindings/spi/sh-msiof.txt | |||
@@ -1,12 +1,40 @@ | |||
1 | Renesas MSIOF spi controller | 1 | Renesas MSIOF spi controller |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "renesas,sh-msiof" for SuperH or | 4 | - compatible : "renesas,msiof-<soctype>" for SoCs, |
5 | "renesas,sh-mobile-msiof" for SH Mobile series | 5 | "renesas,sh-msiof" for SuperH, or |
6 | - reg : Offset and length of the register set for the device | 6 | "renesas,sh-mobile-msiof" for SH Mobile series. |
7 | - interrupts : interrupt line used by MSIOF | 7 | Examples with soctypes are: |
8 | "renesas,msiof-r8a7790" (R-Car H2) | ||
9 | "renesas,msiof-r8a7791" (R-Car M2) | ||
10 | - reg : Offset and length of the register set for the device | ||
11 | - interrupt-parent : The phandle for the interrupt controller that | ||
12 | services interrupts for this device | ||
13 | - interrupts : Interrupt specifier | ||
14 | - #address-cells : Must be <1> | ||
15 | - #size-cells : Must be <0> | ||
8 | 16 | ||
9 | Optional properties: | 17 | Optional properties: |
10 | - num-cs : total number of chip-selects | 18 | - clocks : Must contain a reference to the functional clock. |
11 | - renesas,tx-fifo-size : Overrides the default tx fifo size given in words | 19 | - num-cs : Total number of chip-selects (default is 1) |
12 | - renesas,rx-fifo-size : Overrides the default rx fifo size given in words | 20 | |
21 | Optional properties, deprecated for soctype-specific bindings: | ||
22 | - renesas,tx-fifo-size : Overrides the default tx fifo size given in words | ||
23 | (default is 64) | ||
24 | - renesas,rx-fifo-size : Overrides the default rx fifo size given in words | ||
25 | (default is 64, or 256 on R-Car H2 and M2) | ||
26 | |||
27 | Pinctrl properties might be needed, too. See | ||
28 | Documentation/devicetree/bindings/pinctrl/renesas,*. | ||
29 | |||
30 | Example: | ||
31 | |||
32 | msiof0: spi@e6e20000 { | ||
33 | compatible = "renesas,msiof-r8a7791"; | ||
34 | reg = <0 0xe6e20000 0 0x0064>; | ||
35 | interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>; | ||
36 | clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>; | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | status = "disabled"; | ||
40 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt index a1fb3035a42b..5376de40f10b 100644 --- a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt +++ b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt | |||
@@ -10,6 +10,7 @@ Required properties: | |||
10 | - pinctrl-names: must contain a "default" entry. | 10 | - pinctrl-names: must contain a "default" entry. |
11 | - spi-num-chipselects : the number of the chipselect signals. | 11 | - spi-num-chipselects : the number of the chipselect signals. |
12 | - bus-num : the slave chip chipselect signal number. | 12 | - bus-num : the slave chip chipselect signal number. |
13 | - big-endian : if DSPI modudle is big endian, the bool will be set in node. | ||
13 | Example: | 14 | Example: |
14 | 15 | ||
15 | dspi0@4002c000 { | 16 | dspi0@4002c000 { |
@@ -24,6 +25,7 @@ dspi0@4002c000 { | |||
24 | bus-num = <0>; | 25 | bus-num = <0>; |
25 | pinctrl-names = "default"; | 26 | pinctrl-names = "default"; |
26 | pinctrl-0 = <&pinctrl_dspi0_1>; | 27 | pinctrl-0 = <&pinctrl_dspi0_1>; |
28 | big-endian; | ||
27 | status = "okay"; | 29 | status = "okay"; |
28 | 30 | ||
29 | sflash: at26df081a@0 { | 31 | sflash: at26df081a@0 { |
diff --git a/Documentation/devicetree/bindings/spi/spi-rspi.txt b/Documentation/devicetree/bindings/spi/spi-rspi.txt new file mode 100644 index 000000000000..d57d82a74054 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-rspi.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | Device tree configuration for Renesas RSPI/QSPI driver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : For Renesas Serial Peripheral Interface on legacy SH: | ||
5 | "renesas,rspi-<soctype>", "renesas,rspi" as fallback. | ||
6 | For Renesas Serial Peripheral Interface on RZ/A1H: | ||
7 | "renesas,rspi-<soctype>", "renesas,rspi-rz" as fallback. | ||
8 | For Quad Serial Peripheral Interface on R-Car Gen2: | ||
9 | "renesas,qspi-<soctype>", "renesas,qspi" as fallback. | ||
10 | Examples with soctypes are: | ||
11 | - "renesas,rspi-sh7757" (SH) | ||
12 | - "renesas,rspi-r7s72100" (RZ/A1H) | ||
13 | - "renesas,qspi-r8a7790" (R-Car H2) | ||
14 | - "renesas,qspi-r8a7791" (R-Car M2) | ||
15 | - reg : Address start and address range size of the device | ||
16 | - interrupts : A list of interrupt-specifiers, one for each entry in | ||
17 | interrupt-names. | ||
18 | If interrupt-names is not present, an interrupt specifier | ||
19 | for a single muxed interrupt. | ||
20 | - interrupt-names : A list of interrupt names. Should contain (if present): | ||
21 | - "error" for SPEI, | ||
22 | - "rx" for SPRI, | ||
23 | - "tx" to SPTI, | ||
24 | - "mux" for a single muxed interrupt. | ||
25 | - interrupt-parent : The phandle for the interrupt controller that | ||
26 | services interrupts for this device. | ||
27 | - num-cs : Number of chip selects. Some RSPI cores have more than 1. | ||
28 | - #address-cells : Must be <1> | ||
29 | - #size-cells : Must be <0> | ||
30 | |||
31 | Optional properties: | ||
32 | - clocks : Must contain a reference to the functional clock. | ||
33 | |||
34 | Pinctrl properties might be needed, too. See | ||
35 | Documentation/devicetree/bindings/pinctrl/renesas,*. | ||
36 | |||
37 | Examples: | ||
38 | |||
39 | spi0: spi@e800c800 { | ||
40 | compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz"; | ||
41 | reg = <0xe800c800 0x24>; | ||
42 | interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>, | ||
43 | <0 239 IRQ_TYPE_LEVEL_HIGH>, | ||
44 | <0 240 IRQ_TYPE_LEVEL_HIGH>; | ||
45 | interrupt-names = "error", "rx", "tx"; | ||
46 | interrupt-parent = <&gic>; | ||
47 | num-cs = <1>; | ||
48 | #address-cells = <1>; | ||
49 | #size-cells = <0>; | ||
50 | }; | ||
51 | |||
52 | spi: spi@e6b10000 { | ||
53 | compatible = "renesas,qspi-r8a7791", "renesas,qspi"; | ||
54 | reg = <0 0xe6b10000 0 0x2c>; | ||
55 | interrupt-parent = <&gic>; | ||
56 | interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>; | ||
57 | clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>; | ||
58 | num-cs = <1>; | ||
59 | #address-cells = <1>; | ||
60 | #size-cells = <0>; | ||
61 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-sun4i.txt b/Documentation/devicetree/bindings/spi/spi-sun4i.txt new file mode 100644 index 000000000000..de827f5a301e --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-sun4i.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | Allwinner A10 SPI controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "allwinner,sun4-a10-spi". | ||
5 | - reg: Should contain register location and length. | ||
6 | - interrupts: Should contain interrupt. | ||
7 | - clocks: phandle to the clocks feeding the SPI controller. Two are | ||
8 | needed: | ||
9 | - "ahb": the gated AHB parent clock | ||
10 | - "mod": the parent module clock | ||
11 | - clock-names: Must contain the clock names described just above | ||
12 | |||
13 | Example: | ||
14 | |||
15 | spi1: spi@01c06000 { | ||
16 | compatible = "allwinner,sun4i-a10-spi"; | ||
17 | reg = <0x01c06000 0x1000>; | ||
18 | interrupts = <11>; | ||
19 | clocks = <&ahb_gates 21>, <&spi1_clk>; | ||
20 | clock-names = "ahb", "mod"; | ||
21 | status = "disabled"; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-sun6i.txt b/Documentation/devicetree/bindings/spi/spi-sun6i.txt new file mode 100644 index 000000000000..21de73db6a05 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-sun6i.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | Allwinner A31 SPI controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "allwinner,sun6i-a31-spi". | ||
5 | - reg: Should contain register location and length. | ||
6 | - interrupts: Should contain interrupt. | ||
7 | - clocks: phandle to the clocks feeding the SPI controller. Two are | ||
8 | needed: | ||
9 | - "ahb": the gated AHB parent clock | ||
10 | - "mod": the parent module clock | ||
11 | - clock-names: Must contain the clock names described just above | ||
12 | - resets: phandle to the reset controller asserting this device in | ||
13 | reset | ||
14 | |||
15 | Example: | ||
16 | |||
17 | spi1: spi@01c69000 { | ||
18 | compatible = "allwinner,sun6i-a31-spi"; | ||
19 | reg = <0x01c69000 0x1000>; | ||
20 | interrupts = <0 66 4>; | ||
21 | clocks = <&ahb1_gates 21>, <&spi1_clk>; | ||
22 | clock-names = "ahb", "mod"; | ||
23 | resets = <&ahb1_rst 21>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt b/Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt new file mode 100644 index 000000000000..b6ebe2bc7041 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | Cadence Xtensa XTFPGA platform SPI controller. | ||
2 | |||
3 | This simple SPI master controller is built into xtfpga bitstreams and is used | ||
4 | to control daughterboard audio codec. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should be "cdns,xtfpga-spi". | ||
8 | - reg: physical base address of the controller and length of memory mapped | ||
9 | region. | ||
diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt index 07e04cdc0c9e..4f8184d069cb 100644 --- a/Documentation/devicetree/bindings/spi/spi_atmel.txt +++ b/Documentation/devicetree/bindings/spi/spi_atmel.txt | |||
@@ -5,6 +5,9 @@ Required properties: | |||
5 | - reg: Address and length of the register set for the device | 5 | - reg: Address and length of the register set for the device |
6 | - interrupts: Should contain spi interrupt | 6 | - interrupts: Should contain spi interrupt |
7 | - cs-gpios: chipselects | 7 | - cs-gpios: chipselects |
8 | - clock-names: tuple listing input clock names. | ||
9 | Required elements: "spi_clk" | ||
10 | - clocks: phandles to input clocks. | ||
8 | 11 | ||
9 | Example: | 12 | Example: |
10 | 13 | ||
@@ -14,6 +17,8 @@ spi1: spi@fffcc000 { | |||
14 | interrupts = <13 4 5>; | 17 | interrupts = <13 4 5>; |
15 | #address-cells = <1>; | 18 | #address-cells = <1>; |
16 | #size-cells = <0>; | 19 | #size-cells = <0>; |
20 | clocks = <&spi1_clk>; | ||
21 | clock-names = "spi_clk"; | ||
17 | cs-gpios = <&pioB 3 0>; | 22 | cs-gpios = <&pioB 3 0>; |
18 | status = "okay"; | 23 | status = "okay"; |
19 | 24 | ||
diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt new file mode 100644 index 000000000000..715d0998af8e --- /dev/null +++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | Qualcomm SPMI Controller (PMIC Arbiter) | ||
2 | |||
3 | The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI | ||
4 | controller with wrapping arbitration logic to allow for multiple on-chip | ||
5 | devices to control a single SPMI master. | ||
6 | |||
7 | The PMIC Arbiter can also act as an interrupt controller, providing interrupts | ||
8 | to slave devices. | ||
9 | |||
10 | See spmi.txt for the generic SPMI controller binding requirements for child | ||
11 | nodes. | ||
12 | |||
13 | See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for | ||
14 | generic interrupt controller binding documentation. | ||
15 | |||
16 | Required properties: | ||
17 | - compatible : should be "qcom,spmi-pmic-arb". | ||
18 | - reg-names : must contain: | ||
19 | "core" - core registers | ||
20 | "intr" - interrupt controller registers | ||
21 | "cnfg" - configuration registers | ||
22 | - reg : address + size pairs describing the PMIC arb register sets; order must | ||
23 | correspond with the order of entries in reg-names | ||
24 | - #address-cells : must be set to 2 | ||
25 | - #size-cells : must be set to 0 | ||
26 | - qcom,ee : indicates the active Execution Environment identifier (0-5) | ||
27 | - qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5) | ||
28 | - interrupts : interrupt list for the PMIC Arb controller, must contain a | ||
29 | single interrupt entry for the peripheral interrupt | ||
30 | - interrupt-names : corresponding interrupt names for the interrupts | ||
31 | listed in the 'interrupts' property, must contain: | ||
32 | "periph_irq" - summary interrupt for PMIC peripherals | ||
33 | - interrupt-controller : boolean indicator that the PMIC arbiter is an interrupt controller | ||
34 | - #interrupt-cells : must be set to 4. Interrupts are specified as a 4-tuple: | ||
35 | cell 1: slave ID for the requested interrupt (0-15) | ||
36 | cell 2: peripheral ID for requested interrupt (0-255) | ||
37 | cell 3: the requested peripheral interrupt (0-7) | ||
38 | cell 4: interrupt flags indicating level-sense information, as defined in | ||
39 | dt-bindings/interrupt-controller/irq.h | ||
40 | |||
41 | Example: | ||
42 | |||
43 | spmi { | ||
44 | compatible = "qcom,spmi-pmic-arb"; | ||
45 | reg-names = "core", "intr", "cnfg"; | ||
46 | reg = <0xfc4cf000 0x1000>, | ||
47 | <0xfc4cb000 0x1000>, | ||
48 | <0xfc4ca000 0x1000>; | ||
49 | |||
50 | interrupt-names = "periph_irq"; | ||
51 | interrupts = <0 190 0>; | ||
52 | |||
53 | qcom,ee = <0>; | ||
54 | qcom,channel = <0>; | ||
55 | |||
56 | #address-cells = <2>; | ||
57 | #size-cells = <0>; | ||
58 | |||
59 | interrupt-controller; | ||
60 | #interrupt-cells = <4>; | ||
61 | }; | ||
diff --git a/Documentation/devicetree/bindings/spmi/spmi.txt b/Documentation/devicetree/bindings/spmi/spmi.txt new file mode 100644 index 000000000000..462a42fb3a1e --- /dev/null +++ b/Documentation/devicetree/bindings/spmi/spmi.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | System Power Management Interface (SPMI) Controller | ||
2 | |||
3 | This document defines a generic set of bindings for use by SPMI controllers. A | ||
4 | controller is modelled in device tree as a node with zero or more child nodes, | ||
5 | each representing a unique slave on the bus. | ||
6 | |||
7 | Required properties: | ||
8 | - #address-cells : must be set to 2 | ||
9 | - #size-cells : must be set to 0 | ||
10 | |||
11 | Child nodes: | ||
12 | |||
13 | An SPMI controller node can contain zero or more child nodes representing slave | ||
14 | devices on the bus. Child 'reg' properties are specified as an address, type | ||
15 | pair. The address must be in the range 0-15 (4 bits). The type must be one of | ||
16 | SPMI_USID (0) or SPMI_GSID (1) for Unique Slave ID or Group Slave ID respectively. | ||
17 | These are the identifiers "statically assigned by the system integrator", as | ||
18 | per the SPMI spec. | ||
19 | |||
20 | Each child node must have one and only one 'reg' entry of type SPMI_USID. | ||
21 | |||
22 | #include <dt-bindings/spmi/spmi.h> | ||
23 | |||
24 | spmi@.. { | ||
25 | compatible = "..."; | ||
26 | reg = <...>; | ||
27 | |||
28 | #address-cells = <2>; | ||
29 | #size-cells <0>; | ||
30 | |||
31 | child@0 { | ||
32 | compatible = "..."; | ||
33 | reg = <0 SPMI_USID>; | ||
34 | }; | ||
35 | |||
36 | child@7 { | ||
37 | compatible = "..."; | ||
38 | reg = <7 SPMI_USID | ||
39 | 3 SPMI_GSID>; | ||
40 | }; | ||
41 | }; | ||
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt b/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt index b876d4925a57..3be5ce7a9654 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt +++ b/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt | |||
@@ -1,3 +1,22 @@ | |||
1 | Freescale i.MX DRM master device | ||
2 | ================================ | ||
3 | |||
4 | The freescale i.MX DRM master device is a virtual device needed to list all | ||
5 | IPU or other display interface nodes that comprise the graphics subsystem. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: Should be "fsl,imx-display-subsystem" | ||
9 | - ports: Should contain a list of phandles pointing to display interface ports | ||
10 | of IPU devices | ||
11 | |||
12 | example: | ||
13 | |||
14 | display-subsystem { | ||
15 | compatible = "fsl,display-subsystem"; | ||
16 | ports = <&ipu_di0>; | ||
17 | }; | ||
18 | |||
19 | |||
1 | Freescale i.MX IPUv3 | 20 | Freescale i.MX IPUv3 |
2 | ==================== | 21 | ==================== |
3 | 22 | ||
@@ -7,18 +26,31 @@ Required properties: | |||
7 | datasheet | 26 | datasheet |
8 | - interrupts: Should contain sync interrupt and error interrupt, | 27 | - interrupts: Should contain sync interrupt and error interrupt, |
9 | in this order. | 28 | in this order. |
10 | - #crtc-cells: 1, See below | ||
11 | - resets: phandle pointing to the system reset controller and | 29 | - resets: phandle pointing to the system reset controller and |
12 | reset line index, see reset/fsl,imx-src.txt for details | 30 | reset line index, see reset/fsl,imx-src.txt for details |
31 | Optional properties: | ||
32 | - port@[0-3]: Port nodes with endpoint definitions as defined in | ||
33 | Documentation/devicetree/bindings/media/video-interfaces.txt. | ||
34 | Ports 0 and 1 should correspond to CSI0 and CSI1, | ||
35 | ports 2 and 3 should correspond to DI0 and DI1, respectively. | ||
13 | 36 | ||
14 | example: | 37 | example: |
15 | 38 | ||
16 | ipu: ipu@18000000 { | 39 | ipu: ipu@18000000 { |
17 | #crtc-cells = <1>; | 40 | #address-cells = <1>; |
41 | #size-cells = <0>; | ||
18 | compatible = "fsl,imx53-ipu"; | 42 | compatible = "fsl,imx53-ipu"; |
19 | reg = <0x18000000 0x080000000>; | 43 | reg = <0x18000000 0x080000000>; |
20 | interrupts = <11 10>; | 44 | interrupts = <11 10>; |
21 | resets = <&src 2>; | 45 | resets = <&src 2>; |
46 | |||
47 | ipu_di0: port@2 { | ||
48 | reg = <2>; | ||
49 | |||
50 | ipu_di0_disp0: endpoint { | ||
51 | remote-endpoint = <&display_in>; | ||
52 | }; | ||
53 | }; | ||
22 | }; | 54 | }; |
23 | 55 | ||
24 | Parallel display support | 56 | Parallel display support |
@@ -26,19 +58,25 @@ Parallel display support | |||
26 | 58 | ||
27 | Required properties: | 59 | Required properties: |
28 | - compatible: Should be "fsl,imx-parallel-display" | 60 | - compatible: Should be "fsl,imx-parallel-display" |
29 | - crtc: the crtc this display is connected to, see below | ||
30 | Optional properties: | 61 | Optional properties: |
31 | - interface_pix_fmt: How this display is connected to the | 62 | - interface_pix_fmt: How this display is connected to the |
32 | crtc. Currently supported types: "rgb24", "rgb565", "bgr666" | 63 | display interface. Currently supported types: "rgb24", "rgb565", "bgr666" |
33 | - edid: verbatim EDID data block describing attached display. | 64 | - edid: verbatim EDID data block describing attached display. |
34 | - ddc: phandle describing the i2c bus handling the display data | 65 | - ddc: phandle describing the i2c bus handling the display data |
35 | channel | 66 | channel |
67 | - port: A port node with endpoint definitions as defined in | ||
68 | Documentation/devicetree/bindings/media/video-interfaces.txt. | ||
36 | 69 | ||
37 | example: | 70 | example: |
38 | 71 | ||
39 | display@di0 { | 72 | display@di0 { |
40 | compatible = "fsl,imx-parallel-display"; | 73 | compatible = "fsl,imx-parallel-display"; |
41 | edid = [edid-data]; | 74 | edid = [edid-data]; |
42 | crtc = <&ipu 0>; | ||
43 | interface-pix-fmt = "rgb24"; | 75 | interface-pix-fmt = "rgb24"; |
76 | |||
77 | port { | ||
78 | display_in: endpoint { | ||
79 | remote-endpoint = <&ipu_di0_disp0>; | ||
80 | }; | ||
81 | }; | ||
44 | }; | 82 | }; |
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt b/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt new file mode 100644 index 000000000000..1b756cf9afb0 --- /dev/null +++ b/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt | |||
@@ -0,0 +1,58 @@ | |||
1 | Device-Tree bindings for HDMI Transmitter | ||
2 | |||
3 | HDMI Transmitter | ||
4 | ================ | ||
5 | |||
6 | The HDMI Transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP | ||
7 | with accompanying PHY IP. | ||
8 | |||
9 | Required properties: | ||
10 | - #address-cells : should be <1> | ||
11 | - #size-cells : should be <0> | ||
12 | - compatible : should be "fsl,imx6q-hdmi" or "fsl,imx6dl-hdmi". | ||
13 | - gpr : should be <&gpr>. | ||
14 | The phandle points to the iomuxc-gpr region containing the HDMI | ||
15 | multiplexer control register. | ||
16 | - clocks, clock-names : phandles to the HDMI iahb and isrf clocks, as described | ||
17 | in Documentation/devicetree/bindings/clock/clock-bindings.txt and | ||
18 | Documentation/devicetree/bindings/clock/imx6q-clock.txt. | ||
19 | - port@[0-4]: Up to four port nodes with endpoint definitions as defined in | ||
20 | Documentation/devicetree/bindings/media/video-interfaces.txt, | ||
21 | corresponding to the four inputs to the HDMI multiplexer. | ||
22 | |||
23 | Optional properties: | ||
24 | - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing | ||
25 | |||
26 | example: | ||
27 | |||
28 | gpr: iomuxc-gpr@020e0000 { | ||
29 | /* ... */ | ||
30 | }; | ||
31 | |||
32 | hdmi: hdmi@0120000 { | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | compatible = "fsl,imx6q-hdmi"; | ||
36 | reg = <0x00120000 0x9000>; | ||
37 | interrupts = <0 115 0x04>; | ||
38 | gpr = <&gpr>; | ||
39 | clocks = <&clks 123>, <&clks 124>; | ||
40 | clock-names = "iahb", "isfr"; | ||
41 | ddc-i2c-bus = <&i2c2>; | ||
42 | |||
43 | port@0 { | ||
44 | reg = <0>; | ||
45 | |||
46 | hdmi_mux_0: endpoint { | ||
47 | remote-endpoint = <&ipu1_di0_hdmi>; | ||
48 | }; | ||
49 | }; | ||
50 | |||
51 | port@1 { | ||
52 | reg = <1>; | ||
53 | |||
54 | hdmi_mux_1: endpoint { | ||
55 | remote-endpoint = <&ipu1_di1_hdmi>; | ||
56 | }; | ||
57 | }; | ||
58 | }; | ||
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt index ed9377811ee2..578a1fca366e 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt +++ b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt | |||
@@ -50,12 +50,14 @@ have a look at Documentation/devicetree/bindings/video/display-timing.txt. | |||
50 | 50 | ||
51 | Required properties: | 51 | Required properties: |
52 | - reg : should be <0> or <1> | 52 | - reg : should be <0> or <1> |
53 | - crtcs : a list of phandles with index pointing to the IPU display interfaces | ||
54 | that can be used as video source for this channel. | ||
55 | - fsl,data-mapping : should be "spwg" or "jeida" | 53 | - fsl,data-mapping : should be "spwg" or "jeida" |
56 | This describes how the color bits are laid out in the | 54 | This describes how the color bits are laid out in the |
57 | serialized LVDS signal. | 55 | serialized LVDS signal. |
58 | - fsl,data-width : should be <18> or <24> | 56 | - fsl,data-width : should be <18> or <24> |
57 | - port: A port node with endpoint definitions as defined in | ||
58 | Documentation/devicetree/bindings/media/video-interfaces.txt. | ||
59 | On i.MX6, there should be four ports (port@[0-3]) that correspond | ||
60 | to the four LVDS multiplexer inputs. | ||
59 | 61 | ||
60 | example: | 62 | example: |
61 | 63 | ||
@@ -77,23 +79,33 @@ ldb: ldb@53fa8008 { | |||
77 | 79 | ||
78 | lvds-channel@0 { | 80 | lvds-channel@0 { |
79 | reg = <0>; | 81 | reg = <0>; |
80 | crtcs = <&ipu 0>; | ||
81 | fsl,data-mapping = "spwg"; | 82 | fsl,data-mapping = "spwg"; |
82 | fsl,data-width = <24>; | 83 | fsl,data-width = <24>; |
83 | 84 | ||
84 | display-timings { | 85 | display-timings { |
85 | /* ... */ | 86 | /* ... */ |
86 | }; | 87 | }; |
88 | |||
89 | port { | ||
90 | lvds0_in: endpoint { | ||
91 | remote-endpoint = <&ipu_di0_lvds0>; | ||
92 | }; | ||
93 | }; | ||
87 | }; | 94 | }; |
88 | 95 | ||
89 | lvds-channel@1 { | 96 | lvds-channel@1 { |
90 | reg = <1>; | 97 | reg = <1>; |
91 | crtcs = <&ipu 1>; | ||
92 | fsl,data-mapping = "spwg"; | 98 | fsl,data-mapping = "spwg"; |
93 | fsl,data-width = <24>; | 99 | fsl,data-width = <24>; |
94 | 100 | ||
95 | display-timings { | 101 | display-timings { |
96 | /* ... */ | 102 | /* ... */ |
97 | }; | 103 | }; |
104 | |||
105 | port { | ||
106 | lvds1_in: endpoint { | ||
107 | remote-endpoint = <&ipu_di1_lvds1>; | ||
108 | }; | ||
109 | }; | ||
98 | }; | 110 | }; |
99 | }; | 111 | }; |
diff --git a/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt b/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt index 48aeb7884ed3..5c2e23574ca0 100644 --- a/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt +++ b/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt | |||
@@ -2,7 +2,7 @@ Allwinner A1X SoCs Timer Controller | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | 4 | ||
5 | - compatible : should be "allwinner,sun4i-timer" | 5 | - compatible : should be "allwinner,sun4i-a10-timer" |
6 | - reg : Specifies base physical address and size of the registers. | 6 | - reg : Specifies base physical address and size of the registers. |
7 | - interrupts : The interrupt of the first timer | 7 | - interrupts : The interrupt of the first timer |
8 | - clocks: phandle to the source clock (usually a 24 MHz fixed clock) | 8 | - clocks: phandle to the source clock (usually a 24 MHz fixed clock) |
@@ -10,7 +10,7 @@ Required properties: | |||
10 | Example: | 10 | Example: |
11 | 11 | ||
12 | timer { | 12 | timer { |
13 | compatible = "allwinner,sun4i-timer"; | 13 | compatible = "allwinner,sun4i-a10-timer"; |
14 | reg = <0x01c20c00 0x400>; | 14 | reg = <0x01c20c00 0x400>; |
15 | interrupts = <22>; | 15 | interrupts = <22>; |
16 | clocks = <&osc>; | 16 | clocks = <&osc>; |
diff --git a/Documentation/devicetree/bindings/timer/ti,keystone-timer.txt b/Documentation/devicetree/bindings/timer/ti,keystone-timer.txt new file mode 100644 index 000000000000..5fbe361252b4 --- /dev/null +++ b/Documentation/devicetree/bindings/timer/ti,keystone-timer.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | * Device tree bindings for Texas instruments Keystone timer | ||
2 | |||
3 | This document provides bindings for the 64-bit timer in the KeyStone | ||
4 | architecture devices. The timer can be configured as a general-purpose 64-bit | ||
5 | timer, dual general-purpose 32-bit timers. When configured as dual 32-bit | ||
6 | timers, each half can operate in conjunction (chain mode) or independently | ||
7 | (unchained mode) of each other. | ||
8 | |||
9 | It is global timer is a free running up-counter and can generate interrupt | ||
10 | when the counter reaches preset counter values. | ||
11 | |||
12 | Documentation: | ||
13 | http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf | ||
14 | |||
15 | Required properties: | ||
16 | |||
17 | - compatible : should be "ti,keystone-timer". | ||
18 | - reg : specifies base physical address and count of the registers. | ||
19 | - interrupts : interrupt generated by the timer. | ||
20 | - clocks : the clock feeding the timer clock. | ||
21 | |||
22 | Example: | ||
23 | |||
24 | timer@22f0000 { | ||
25 | compatible = "ti,keystone-timer"; | ||
26 | reg = <0x022f0000 0x80>; | ||
27 | interrupts = <GIC_SPI 110 IRQ_TYPE_EDGE_RISING>; | ||
28 | clocks = <&clktimer15>; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt index 55f51af08bc7..bc2222ca3f2a 100644 --- a/Documentation/devicetree/bindings/usb/atmel-usb.txt +++ b/Documentation/devicetree/bindings/usb/atmel-usb.txt | |||
@@ -57,8 +57,8 @@ Required properties: | |||
57 | - ep childnode: To specify the number of endpoints and their properties. | 57 | - ep childnode: To specify the number of endpoints and their properties. |
58 | 58 | ||
59 | Optional properties: | 59 | Optional properties: |
60 | - atmel,vbus-gpio: If present, specifies a gpio that needs to be | 60 | - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether |
61 | activated for the bus to be powered. | 61 | vbus is present (USB is connected). |
62 | 62 | ||
63 | Required child node properties: | 63 | Required child node properties: |
64 | - name: Name of the endpoint. | 64 | - name: Name of the endpoint. |
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt index b4b5b7906c88..a6a32cb7f777 100644 --- a/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt | |||
@@ -18,6 +18,7 @@ Optional properties: | |||
18 | - vbus-supply: regulator for vbus | 18 | - vbus-supply: regulator for vbus |
19 | - disable-over-current: disable over current detect | 19 | - disable-over-current: disable over current detect |
20 | - external-vbus-divider: enables off-chip resistor divider for Vbus | 20 | - external-vbus-divider: enables off-chip resistor divider for Vbus |
21 | - maximum-speed: limit the maximum connection speed to "full-speed". | ||
21 | 22 | ||
22 | Examples: | 23 | Examples: |
23 | usb@02184000 { /* USB OTG */ | 24 | usb@02184000 { /* USB OTG */ |
@@ -28,4 +29,5 @@ usb@02184000 { /* USB OTG */ | |||
28 | fsl,usbmisc = <&usbmisc 0>; | 29 | fsl,usbmisc = <&usbmisc 0>; |
29 | disable-over-current; | 30 | disable-over-current; |
30 | external-vbus-divider; | 31 | external-vbus-divider; |
32 | maximum-speed = "full-speed"; | ||
31 | }; | 33 | }; |
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt new file mode 100644 index 000000000000..abbcb2aea38c --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * LSI Zevio USB OTG Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "lsi,zevio-usb" | ||
5 | - reg: Should contain registers location and length | ||
6 | - interrupts: Should contain controller interrupt | ||
7 | |||
8 | Optional properties: | ||
9 | - vbus-supply: regulator for vbus | ||
10 | |||
11 | Examples: | ||
12 | usb0: usb@b0000000 { | ||
13 | reg = <0xb0000000 0x1000>; | ||
14 | compatible = "lsi,zevio-usb"; | ||
15 | interrupts = <8>; | ||
16 | vbus-supply = <&vbus_reg>; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt index e807635f9e1c..471366d6a129 100644 --- a/Documentation/devicetree/bindings/usb/dwc3.txt +++ b/Documentation/devicetree/bindings/usb/dwc3.txt | |||
@@ -6,11 +6,13 @@ Required properties: | |||
6 | - compatible: must be "snps,dwc3" | 6 | - compatible: must be "snps,dwc3" |
7 | - reg : Address and length of the register set for the device | 7 | - reg : Address and length of the register set for the device |
8 | - interrupts: Interrupts used by the dwc3 controller. | 8 | - interrupts: Interrupts used by the dwc3 controller. |
9 | |||
10 | Optional properties: | ||
9 | - usb-phy : array of phandle for the PHY device. The first element | 11 | - usb-phy : array of phandle for the PHY device. The first element |
10 | in the array is expected to be a handle to the USB2/HS PHY and | 12 | in the array is expected to be a handle to the USB2/HS PHY and |
11 | the second element is expected to be a handle to the USB3/SS PHY | 13 | the second element is expected to be a handle to the USB3/SS PHY |
12 | 14 | - phys: from the *Generic PHY* bindings | |
13 | Optional properties: | 15 | - phy-names: from the *Generic PHY* bindings |
14 | - tx-fifo-resize: determines if the FIFO *has* to be reallocated. | 16 | - tx-fifo-resize: determines if the FIFO *has* to be reallocated. |
15 | 17 | ||
16 | This is usually a subnode to DWC3 glue to which it is connected. | 18 | This is usually a subnode to DWC3 glue to which it is connected. |
diff --git a/Documentation/devicetree/bindings/usb/ehci-omap.txt b/Documentation/devicetree/bindings/usb/ehci-omap.txt index 485a9a1efa7a..3dc231c832b0 100644 --- a/Documentation/devicetree/bindings/usb/ehci-omap.txt +++ b/Documentation/devicetree/bindings/usb/ehci-omap.txt | |||
@@ -21,7 +21,7 @@ Documentation/devicetree/bindings/mfd/omap-usb-host.txt | |||
21 | Example for OMAP4: | 21 | Example for OMAP4: |
22 | 22 | ||
23 | usbhsehci: ehci@4a064c00 { | 23 | usbhsehci: ehci@4a064c00 { |
24 | compatible = "ti,ehci-omap", "usb-ehci"; | 24 | compatible = "ti,ehci-omap"; |
25 | reg = <0x4a064c00 0x400>; | 25 | reg = <0x4a064c00 0x400>; |
26 | interrupts = <0 77 0x4>; | 26 | interrupts = <0 77 0x4>; |
27 | }; | 27 | }; |
diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.txt b/Documentation/devicetree/bindings/usb/fsl-usb.txt index bd5723f0b67e..4779c029b675 100644 --- a/Documentation/devicetree/bindings/usb/fsl-usb.txt +++ b/Documentation/devicetree/bindings/usb/fsl-usb.txt | |||
@@ -8,7 +8,9 @@ and additions : | |||
8 | Required properties : | 8 | Required properties : |
9 | - compatible : Should be "fsl-usb2-mph" for multi port host USB | 9 | - compatible : Should be "fsl-usb2-mph" for multi port host USB |
10 | controllers, or "fsl-usb2-dr" for dual role USB controllers | 10 | controllers, or "fsl-usb2-dr" for dual role USB controllers |
11 | or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121 | 11 | or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121. |
12 | Wherever applicable, the IP version of the USB controller should | ||
13 | also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132). | ||
12 | - phy_type : For multi port host USB controllers, should be one of | 14 | - phy_type : For multi port host USB controllers, should be one of |
13 | "ulpi", or "serial". For dual role USB controllers, should be | 15 | "ulpi", or "serial". For dual role USB controllers, should be |
14 | one of "ulpi", "utmi", "utmi_wide", or "serial". | 16 | one of "ulpi", "utmi", "utmi_wide", or "serial". |
diff --git a/Documentation/devicetree/bindings/usb/mxs-phy.txt b/Documentation/devicetree/bindings/usb/mxs-phy.txt index 5835b27146ea..cef181a9d8bd 100644 --- a/Documentation/devicetree/bindings/usb/mxs-phy.txt +++ b/Documentation/devicetree/bindings/usb/mxs-phy.txt | |||
@@ -1,13 +1,19 @@ | |||
1 | * Freescale MXS USB Phy Device | 1 | * Freescale MXS USB Phy Device |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: Should be "fsl,imx23-usbphy" | 4 | - compatible: should contain: |
5 | * "fsl,imx23-usbphy" for imx23 and imx28 | ||
6 | * "fsl,imx6q-usbphy" for imx6dq and imx6dl | ||
7 | * "fsl,imx6sl-usbphy" for imx6sl | ||
8 | "fsl,imx23-usbphy" is still a fallback for other strings | ||
5 | - reg: Should contain registers location and length | 9 | - reg: Should contain registers location and length |
6 | - interrupts: Should contain phy interrupt | 10 | - interrupts: Should contain phy interrupt |
11 | - fsl,anatop: phandle for anatop register, it is only for imx6 SoC series | ||
7 | 12 | ||
8 | Example: | 13 | Example: |
9 | usbphy1: usbphy@020c9000 { | 14 | usbphy1: usbphy@020c9000 { |
10 | compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; | 15 | compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; |
11 | reg = <0x020c9000 0x1000>; | 16 | reg = <0x020c9000 0x1000>; |
12 | interrupts = <0 44 0x04>; | 17 | interrupts = <0 44 0x04>; |
18 | fsl,anatop = <&anatop>; | ||
13 | }; | 19 | }; |
diff --git a/Documentation/devicetree/bindings/usb/ohci-omap3.txt b/Documentation/devicetree/bindings/usb/ohci-omap3.txt index 14ab42812a8e..ce8c47cff6d0 100644 --- a/Documentation/devicetree/bindings/usb/ohci-omap3.txt +++ b/Documentation/devicetree/bindings/usb/ohci-omap3.txt | |||
@@ -9,7 +9,7 @@ Required properties: | |||
9 | Example for OMAP4: | 9 | Example for OMAP4: |
10 | 10 | ||
11 | usbhsohci: ohci@4a064800 { | 11 | usbhsohci: ohci@4a064800 { |
12 | compatible = "ti,ohci-omap3", "usb-ohci"; | 12 | compatible = "ti,ohci-omap3"; |
13 | reg = <0x4a064800 0x400>; | 13 | reg = <0x4a064800 0x400>; |
14 | interrupts = <0 76 0x4>; | 14 | interrupts = <0 76 0x4>; |
15 | }; | 15 | }; |
diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt b/Documentation/devicetree/bindings/usb/omap-usb.txt index c495135115cb..38b2faec4199 100644 --- a/Documentation/devicetree/bindings/usb/omap-usb.txt +++ b/Documentation/devicetree/bindings/usb/omap-usb.txt | |||
@@ -76,27 +76,3 @@ omap_dwc3 { | |||
76 | ranges; | 76 | ranges; |
77 | }; | 77 | }; |
78 | 78 | ||
79 | OMAP CONTROL USB | ||
80 | |||
81 | Required properties: | ||
82 | - compatible: Should be one of | ||
83 | "ti,control-phy-otghs" - if it has otghs_control mailbox register as on OMAP4. | ||
84 | "ti,control-phy-usb2" - if it has Power down bit in control_dev_conf register | ||
85 | e.g. USB2_PHY on OMAP5. | ||
86 | "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control | ||
87 | e.g. USB3 PHY and SATA PHY on OMAP5. | ||
88 | "ti,control-phy-dra7usb2" - if it has power down register like USB2 PHY on | ||
89 | DRA7 platform. | ||
90 | "ti,control-phy-am437usb2" - if it has power down register like USB2 PHY on | ||
91 | AM437 platform. | ||
92 | - reg : Address and length of the register set for the device. It contains | ||
93 | the address of "otghs_control" for control-phy-otghs or "power" register | ||
94 | for other types. | ||
95 | - reg-names: should be "otghs_control" control-phy-otghs and "power" for | ||
96 | other types. | ||
97 | |||
98 | omap_control_usb: omap-control-usb@4a002300 { | ||
99 | compatible = "ti,control-phy-otghs"; | ||
100 | reg = <0x4a00233c 0x4>; | ||
101 | reg-names = "otghs_control"; | ||
102 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt index fa18612f757b..ff151ec084c4 100644 --- a/Documentation/devicetree/bindings/usb/usb-ehci.txt +++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt | |||
@@ -1,19 +1,20 @@ | |||
1 | USB EHCI controllers | 1 | USB EHCI controllers |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : should be "usb-ehci". | 4 | - compatible : should be "generic-ehci". |
5 | - reg : should contain at least address and length of the standard EHCI | 5 | - reg : should contain at least address and length of the standard EHCI |
6 | register set for the device. Optional platform-dependent registers | 6 | register set for the device. Optional platform-dependent registers |
7 | (debug-port or other) can be also specified here, but only after | 7 | (debug-port or other) can be also specified here, but only after |
8 | definition of standard EHCI registers. | 8 | definition of standard EHCI registers. |
9 | - interrupts : one EHCI interrupt should be described here. | 9 | - interrupts : one EHCI interrupt should be described here. |
10 | If device registers are implemented in big endian mode, the device | 10 | |
11 | node should have "big-endian-regs" property. | 11 | Optional properties: |
12 | If controller implementation operates with big endian descriptors, | 12 | - big-endian-regs : boolean, set this for hcds with big-endian registers |
13 | "big-endian-desc" property should be specified. | 13 | - big-endian-desc : boolean, set this for hcds with big-endian descriptors |
14 | If both big endian registers and descriptors are used by the controller | 14 | - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc |
15 | implementation, "big-endian" property can be specified instead of having | 15 | - clocks : a list of phandle + clock specifier pairs |
16 | both "big-endian-regs" and "big-endian-desc". | 16 | - phys : phandle + phy specifier pair |
17 | - phy-names : "usb" | ||
17 | 18 | ||
18 | Example (Sequoia 440EPx): | 19 | Example (Sequoia 440EPx): |
19 | ehci@e0000300 { | 20 | ehci@e0000300 { |
@@ -23,3 +24,13 @@ Example (Sequoia 440EPx): | |||
23 | reg = <0 e0000300 90 0 e0000390 70>; | 24 | reg = <0 e0000300 90 0 e0000390 70>; |
24 | big-endian; | 25 | big-endian; |
25 | }; | 26 | }; |
27 | |||
28 | Example (Allwinner sun4i A10 SoC): | ||
29 | ehci0: usb@01c14000 { | ||
30 | compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; | ||
31 | reg = <0x01c14000 0x100>; | ||
32 | interrupts = <39>; | ||
33 | clocks = <&ahb_gates 1>; | ||
34 | phys = <&usbphy 1>; | ||
35 | phy-names = "usb"; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt new file mode 100644 index 000000000000..45f67d91e888 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | USB OHCI controllers | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "generic-ohci" | ||
5 | - reg : ohci controller register range (address and length) | ||
6 | - interrupts : ohci controller interrupt | ||
7 | |||
8 | Optional properties: | ||
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 | ||
11 | - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc | ||
12 | - clocks : a list of phandle + clock specifier pairs | ||
13 | - phys : phandle + phy specifier pair | ||
14 | - phy-names : "usb" | ||
15 | |||
16 | Example: | ||
17 | |||
18 | ohci0: usb@01c14400 { | ||
19 | compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; | ||
20 | reg = <0x01c14400 0x100>; | ||
21 | interrupts = <64>; | ||
22 | clocks = <&usb_clk 6>, <&ahb_gates 2>; | ||
23 | phys = <&usbphy 1>; | ||
24 | phy-names = "usb"; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/usb-phy.txt b/Documentation/devicetree/bindings/usb/usb-phy.txt deleted file mode 100644 index c0245c888982..000000000000 --- a/Documentation/devicetree/bindings/usb/usb-phy.txt +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | USB PHY | ||
2 | |||
3 | OMAP USB2 PHY | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: Should be "ti,omap-usb2" | ||
7 | - reg : Address and length of the register set for the device. | ||
8 | - #phy-cells: determine the number of cells that should be given in the | ||
9 | phandle while referencing this phy. | ||
10 | |||
11 | Optional properties: | ||
12 | - ctrl-module : phandle of the control module used by PHY driver to power on | ||
13 | the PHY. | ||
14 | |||
15 | This is usually a subnode of ocp2scp to which it is connected. | ||
16 | |||
17 | usb2phy@4a0ad080 { | ||
18 | compatible = "ti,omap-usb2"; | ||
19 | reg = <0x4a0ad080 0x58>; | ||
20 | ctrl-module = <&omap_control_usb>; | ||
21 | #phy-cells = <0>; | ||
22 | }; | ||
23 | |||
24 | OMAP USB3 PHY | ||
25 | |||
26 | Required properties: | ||
27 | - compatible: Should be "ti,omap-usb3" | ||
28 | - reg : Address and length of the register set for the device. | ||
29 | - reg-names: The names of the register addresses corresponding to the registers | ||
30 | filled in "reg". | ||
31 | - #phy-cells: determine the number of cells that should be given in the | ||
32 | phandle while referencing this phy. | ||
33 | |||
34 | Optional properties: | ||
35 | - ctrl-module : phandle of the control module used by PHY driver to power on | ||
36 | the PHY. | ||
37 | |||
38 | This is usually a subnode of ocp2scp to which it is connected. | ||
39 | |||
40 | usb3phy@4a084400 { | ||
41 | compatible = "ti,omap-usb3"; | ||
42 | reg = <0x4a084400 0x80>, | ||
43 | <0x4a084800 0x64>, | ||
44 | <0x4a084c00 0x40>; | ||
45 | reg-names = "phy_rx", "phy_tx", "pll_ctrl"; | ||
46 | ctrl-module = <&omap_control_usb>; | ||
47 | #phy-cells = <0>; | ||
48 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/platform-uhci.txt b/Documentation/devicetree/bindings/usb/usb-uhci.txt index a4fb0719d157..298133416c97 100644 --- a/Documentation/devicetree/bindings/usb/platform-uhci.txt +++ b/Documentation/devicetree/bindings/usb/usb-uhci.txt | |||
@@ -2,14 +2,14 @@ Generic Platform UHCI Controller | |||
2 | ----------------------------------------------------- | 2 | ----------------------------------------------------- |
3 | 3 | ||
4 | Required properties: | 4 | Required properties: |
5 | - compatible : "platform-uhci" | 5 | - compatible : "generic-uhci" (deprecated: "platform-uhci") |
6 | - reg : Should contain 1 register ranges(address and length) | 6 | - reg : Should contain 1 register ranges(address and length) |
7 | - interrupts : UHCI controller interrupt | 7 | - interrupts : UHCI controller interrupt |
8 | 8 | ||
9 | Example: | 9 | Example: |
10 | 10 | ||
11 | uhci@d8007b00 { | 11 | uhci@d8007b00 { |
12 | compatible = "platform-uhci"; | 12 | compatible = "generic-uhci"; |
13 | reg = <0xd8007b00 0x200>; | 13 | reg = <0xd8007b00 0x200>; |
14 | interrupts = <43>; | 14 | interrupts = <43>; |
15 | }; | 15 | }; |
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt index 5752df0e17a2..90f8f607d125 100644 --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt | |||
@@ -1,14 +1,14 @@ | |||
1 | USB xHCI controllers | 1 | USB xHCI controllers |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: should be "xhci-platform". | 4 | - compatible: should be "generic-xhci" (deprecated: "xhci-platform"). |
5 | - reg: should contain address and length of the standard XHCI | 5 | - reg: should contain address and length of the standard XHCI |
6 | register set for the device. | 6 | register set for the device. |
7 | - interrupts: one XHCI interrupt should be described here. | 7 | - interrupts: one XHCI interrupt should be described here. |
8 | 8 | ||
9 | Example: | 9 | Example: |
10 | usb@f0931000 { | 10 | usb@f0931000 { |
11 | compatible = "xhci-platform"; | 11 | compatible = "generic-xhci"; |
12 | reg = <0xf0931000 0x8c8>; | 12 | reg = <0xf0931000 0x8c8>; |
13 | interrupts = <0x0 0x4e 0x0>; | 13 | interrupts = <0x0 0x4e 0x0>; |
14 | }; | 14 | }; |
diff --git a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt deleted file mode 100644 index 17b3ad1d97e7..000000000000 --- a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt +++ /dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | VIA/Wondermedia VT8500 EHCI Controller | ||
2 | ----------------------------------------------------- | ||
3 | |||
4 | Required properties: | ||
5 | - compatible : "via,vt8500-ehci" | ||
6 | - reg : Should contain 1 register ranges(address and length) | ||
7 | - interrupts : ehci controller interrupt | ||
8 | |||
9 | Example: | ||
10 | |||
11 | ehci@d8007900 { | ||
12 | compatible = "via,vt8500-ehci"; | ||
13 | reg = <0xd8007900 0x200>; | ||
14 | interrupts = <43>; | ||
15 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/vt8500-ehci.txt deleted file mode 100644 index 5fb8fd6e250c..000000000000 --- a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt +++ /dev/null | |||
@@ -1,12 +0,0 @@ | |||
1 | VIA VT8500 and Wondermedia WM8xxx SoC USB controllers. | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "via,vt8500-ehci" or "wm,prizm-ehci". | ||
5 | - reg: Address range of the ehci registers. size should be 0x200 | ||
6 | - interrupts: Should contain the ehci interrupt. | ||
7 | |||
8 | usb: ehci@D8007100 { | ||
9 | compatible = "wm,prizm-ehci", "usb-ehci"; | ||
10 | reg = <0xD8007100 0x200>; | ||
11 | interrupts = <1>; | ||
12 | }; | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 3f900cd51bf0..0f01c9bf19c8 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -3,21 +3,26 @@ Device tree binding vendor prefix registry. Keep list in alphabetical order. | |||
3 | This isn't an exhaustive list, but you should add new prefixes to it before | 3 | This isn't an exhaustive list, but you should add new prefixes to it before |
4 | using them to avoid name-space collisions. | 4 | using them to avoid name-space collisions. |
5 | 5 | ||
6 | abilis Abilis Systems | ||
6 | active-semi Active-Semi International Inc | 7 | active-semi Active-Semi International Inc |
7 | ad Avionic Design GmbH | 8 | ad Avionic Design GmbH |
8 | adi Analog Devices, Inc. | 9 | adi Analog Devices, Inc. |
9 | aeroflexgaisler Aeroflex Gaisler AB | 10 | aeroflexgaisler Aeroflex Gaisler AB |
10 | ak Asahi Kasei Corp. | 11 | ak Asahi Kasei Corp. |
12 | allwinner Allwinner Technology Co., Ltd. | ||
11 | altr Altera Corp. | 13 | altr Altera Corp. |
12 | amcc Applied Micro Circuits Corporation (APM, formally AMCC) | 14 | amcc Applied Micro Circuits Corporation (APM, formally AMCC) |
15 | amd Advanced Micro Devices (AMD), Inc. | ||
13 | amstaos AMS-Taos Inc. | 16 | amstaos AMS-Taos Inc. |
14 | apm Applied Micro Circuits Corporation (APM) | 17 | apm Applied Micro Circuits Corporation (APM) |
15 | arm ARM Ltd. | 18 | arm ARM Ltd. |
19 | armadeus ARMadeus Systems SARL | ||
16 | atmel Atmel Corporation | 20 | atmel Atmel Corporation |
17 | auo AU Optronics Corporation | 21 | auo AU Optronics Corporation |
18 | avago Avago Technologies | 22 | avago Avago Technologies |
19 | bosch Bosch Sensortec GmbH | 23 | bosch Bosch Sensortec GmbH |
20 | brcm Broadcom Corporation | 24 | brcm Broadcom Corporation |
25 | calxeda Calxeda | ||
21 | capella Capella Microsystems, Inc | 26 | capella Capella Microsystems, Inc |
22 | cavium Cavium, Inc. | 27 | cavium Cavium, Inc. |
23 | cdns Cadence Design Systems Inc. | 28 | cdns Cadence Design Systems Inc. |
@@ -25,28 +30,38 @@ chrp Common Hardware Reference Platform | |||
25 | chunghwa Chunghwa Picture Tubes Ltd. | 30 | chunghwa Chunghwa Picture Tubes Ltd. |
26 | cirrus Cirrus Logic, Inc. | 31 | cirrus Cirrus Logic, Inc. |
27 | cortina Cortina Systems, Inc. | 32 | cortina Cortina Systems, Inc. |
33 | crystalfontz Crystalfontz America, Inc. | ||
28 | dallas Maxim Integrated Products (formerly Dallas Semiconductor) | 34 | dallas Maxim Integrated Products (formerly Dallas Semiconductor) |
29 | davicom DAVICOM Semiconductor, Inc. | 35 | davicom DAVICOM Semiconductor, Inc. |
36 | dlink D-Link Systems, Inc. | ||
30 | denx Denx Software Engineering | 37 | denx Denx Software Engineering |
38 | dmo Data Modul AG | ||
31 | edt Emerging Display Technologies | 39 | edt Emerging Display Technologies |
32 | emmicro EM Microelectronic | 40 | emmicro EM Microelectronic |
33 | epfl Ecole Polytechnique Fédérale de Lausanne | 41 | epfl Ecole Polytechnique Fédérale de Lausanne |
34 | epson Seiko Epson Corp. | 42 | epson Seiko Epson Corp. |
35 | est ESTeem Wireless Modems | 43 | est ESTeem Wireless Modems |
44 | eukrea Eukréa Electromatique | ||
36 | fsl Freescale Semiconductor | 45 | fsl Freescale Semiconductor |
37 | GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc. | 46 | GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc. |
38 | gef GE Fanuc Intelligent Platforms Embedded Systems, Inc. | 47 | gef GE Fanuc Intelligent Platforms Embedded Systems, Inc. |
48 | globalscale Globalscale Technologies, Inc. | ||
39 | gmt Global Mixed-mode Technology, Inc. | 49 | gmt Global Mixed-mode Technology, Inc. |
50 | google Google, Inc. | ||
40 | gumstix Gumstix, Inc. | 51 | gumstix Gumstix, Inc. |
41 | haoyu Haoyu Microelectronic Co. Ltd. | 52 | haoyu Haoyu Microelectronic Co. Ltd. |
42 | hisilicon Hisilicon Limited. | 53 | hisilicon Hisilicon Limited. |
54 | honeywell Honeywell | ||
43 | hp Hewlett Packard | 55 | hp Hewlett Packard |
44 | ibm International Business Machines (IBM) | 56 | ibm International Business Machines (IBM) |
45 | idt Integrated Device Technologies, Inc. | 57 | idt Integrated Device Technologies, Inc. |
46 | img Imagination Technologies Ltd. | 58 | img Imagination Technologies Ltd. |
59 | intel Intel Corporation | ||
47 | intercontrol Inter Control Group | 60 | intercontrol Inter Control Group |
48 | isl Intersil | 61 | isl Intersil |
49 | karo Ka-Ro electronics GmbH | 62 | karo Ka-Ro electronics GmbH |
63 | lacie LaCie | ||
64 | lantiq Lantiq Semiconductor | ||
50 | lg LG Corporation | 65 | lg LG Corporation |
51 | linux Linux-specific binding | 66 | linux Linux-specific binding |
52 | lsi LSI Corp. (LSI Logic) | 67 | lsi LSI Corp. (LSI Logic) |
@@ -54,21 +69,28 @@ marvell Marvell Technology Group Ltd. | |||
54 | maxim Maxim Integrated Products | 69 | maxim Maxim Integrated Products |
55 | microchip Microchip Technology Inc. | 70 | microchip Microchip Technology Inc. |
56 | mosaixtech Mosaix Technologies, Inc. | 71 | mosaixtech Mosaix Technologies, Inc. |
72 | moxa Moxa | ||
57 | national National Semiconductor | 73 | national National Semiconductor |
74 | neonode Neonode Inc. | ||
75 | netgear NETGEAR | ||
58 | nintendo Nintendo | 76 | nintendo Nintendo |
77 | nokia Nokia | ||
59 | nvidia NVIDIA | 78 | nvidia NVIDIA |
60 | nxp NXP Semiconductors | 79 | nxp NXP Semiconductors |
61 | onnn ON Semiconductor Corp. | 80 | onnn ON Semiconductor Corp. |
81 | opencores OpenCores.org | ||
62 | panasonic Panasonic Corporation | 82 | panasonic Panasonic Corporation |
63 | phytec PHYTEC Messtechnik GmbH | 83 | phytec PHYTEC Messtechnik GmbH |
64 | picochip Picochip Ltd | 84 | picochip Picochip Ltd |
65 | powervr PowerVR (deprecated, use img) | 85 | powervr PowerVR (deprecated, use img) |
66 | qca Qualcomm Atheros, Inc. | 86 | qca Qualcomm Atheros, Inc. |
67 | qcom Qualcomm, Inc. | 87 | qcom Qualcomm Technologies, Inc |
88 | qnap QNAP Systems, Inc. | ||
68 | ralink Mediatek/Ralink Technology Corp. | 89 | ralink Mediatek/Ralink Technology Corp. |
69 | ramtron Ramtron International | 90 | ramtron Ramtron International |
70 | realtek Realtek Semiconductor Corp. | 91 | realtek Realtek Semiconductor Corp. |
71 | renesas Renesas Electronics Corporation | 92 | renesas Renesas Electronics Corporation |
93 | ricoh Ricoh Co. Ltd. | ||
72 | rockchip Fuzhou Rockchip Electronics Co., Ltd | 94 | rockchip Fuzhou Rockchip Electronics Co., Ltd |
73 | samsung Samsung Semiconductor | 95 | samsung Samsung Semiconductor |
74 | sbs Smart Battery System | 96 | sbs Smart Battery System |
@@ -76,18 +98,24 @@ schindler Schindler | |||
76 | sil Silicon Image | 98 | sil Silicon Image |
77 | silabs Silicon Laboratories | 99 | silabs Silicon Laboratories |
78 | simtek | 100 | simtek |
101 | sii Seiko Instruments, Inc. | ||
79 | sirf SiRF Technology, Inc. | 102 | sirf SiRF Technology, Inc. |
103 | smsc Standard Microsystems Corporation | ||
80 | snps Synopsys, Inc. | 104 | snps Synopsys, Inc. |
105 | spansion Spansion Inc. | ||
81 | st STMicroelectronics | 106 | st STMicroelectronics |
82 | ste ST-Ericsson | 107 | ste ST-Ericsson |
83 | stericsson ST-Ericsson | 108 | stericsson ST-Ericsson |
109 | synology Synology, Inc. | ||
84 | ti Texas Instruments | 110 | ti Texas Instruments |
85 | tlm Trusted Logic Mobility | 111 | tlm Trusted Logic Mobility |
86 | toshiba Toshiba Corporation | 112 | toshiba Toshiba Corporation |
87 | toumaz Toumaz | 113 | toumaz Toumaz |
88 | v3 V3 Semiconductor | 114 | v3 V3 Semiconductor |
89 | via VIA Technologies, Inc. | 115 | via VIA Technologies, Inc. |
116 | voipac Voipac Technologies s.r.o. | ||
90 | winbond Winbond Electronics corp. | 117 | winbond Winbond Electronics corp. |
91 | wlf Wolfson Microelectronics | 118 | wlf Wolfson Microelectronics |
92 | wm Wondermedia Technologies, Inc. | 119 | wm Wondermedia Technologies, Inc. |
120 | xes Extreme Engineering Solutions (X-ES) | ||
93 | xlnx Xilinx | 121 | xlnx Xilinx |
diff --git a/Documentation/devicetree/bindings/video/analog-tv-connector.txt b/Documentation/devicetree/bindings/video/analog-tv-connector.txt new file mode 100644 index 000000000000..0218fcdc1299 --- /dev/null +++ b/Documentation/devicetree/bindings/video/analog-tv-connector.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | Analog TV Connector | ||
2 | =================== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "composite-connector" or "svideo-connector" | ||
6 | |||
7 | Optional properties: | ||
8 | - label: a symbolic name for the connector | ||
9 | |||
10 | Required nodes: | ||
11 | - Video port for TV input | ||
12 | |||
13 | Example | ||
14 | ------- | ||
15 | |||
16 | tv: connector { | ||
17 | compatible = "composite-connector"; | ||
18 | label = "tv"; | ||
19 | |||
20 | port { | ||
21 | tv_connector_in: endpoint { | ||
22 | remote-endpoint = <&venc_out>; | ||
23 | }; | ||
24 | }; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/dvi-connector.txt b/Documentation/devicetree/bindings/video/dvi-connector.txt new file mode 100644 index 000000000000..fc53f7c60bc6 --- /dev/null +++ b/Documentation/devicetree/bindings/video/dvi-connector.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | DVI Connector | ||
2 | ============== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "dvi-connector" | ||
6 | |||
7 | Optional properties: | ||
8 | - label: a symbolic name for the connector | ||
9 | - ddc-i2c-bus: phandle to the i2c bus that is connected to DVI DDC | ||
10 | - analog: the connector has DVI analog pins | ||
11 | - digital: the connector has DVI digital pins | ||
12 | - dual-link: the connector has pins for DVI dual-link | ||
13 | |||
14 | Required nodes: | ||
15 | - Video port for DVI input | ||
16 | |||
17 | Note: One (or both) of 'analog' or 'digital' must be set. | ||
18 | |||
19 | Example | ||
20 | ------- | ||
21 | |||
22 | dvi0: connector@0 { | ||
23 | compatible = "dvi-connector"; | ||
24 | label = "dvi"; | ||
25 | |||
26 | digital; | ||
27 | |||
28 | ddc-i2c-bus = <&i2c3>; | ||
29 | |||
30 | port { | ||
31 | dvi_connector_in: endpoint { | ||
32 | remote-endpoint = <&tfp410_out>; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/exynos_dp.txt b/Documentation/devicetree/bindings/video/exynos_dp.txt index 3289d76a21d0..57ccdde02c3a 100644 --- a/Documentation/devicetree/bindings/video/exynos_dp.txt +++ b/Documentation/devicetree/bindings/video/exynos_dp.txt | |||
@@ -49,6 +49,8 @@ Required properties for dp-controller: | |||
49 | -samsung,lane-count: | 49 | -samsung,lane-count: |
50 | number of lanes supported by the panel. | 50 | number of lanes supported by the panel. |
51 | LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4 | 51 | LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4 |
52 | - display-timings: timings for the connected panel as described by | ||
53 | Documentation/devicetree/bindings/video/display-timing.txt | ||
52 | 54 | ||
53 | Optional properties for dp-controller: | 55 | Optional properties for dp-controller: |
54 | -interlaced: | 56 | -interlaced: |
@@ -84,4 +86,19 @@ Board Specific portion: | |||
84 | samsung,color-depth = <1>; | 86 | samsung,color-depth = <1>; |
85 | samsung,link-rate = <0x0a>; | 87 | samsung,link-rate = <0x0a>; |
86 | samsung,lane-count = <4>; | 88 | samsung,lane-count = <4>; |
89 | |||
90 | display-timings { | ||
91 | native-mode = <&lcd_timing>; | ||
92 | lcd_timing: 1366x768 { | ||
93 | clock-frequency = <70589280>; | ||
94 | hactive = <1366>; | ||
95 | vactive = <768>; | ||
96 | hfront-porch = <40>; | ||
97 | hback-porch = <40>; | ||
98 | hsync-len = <32>; | ||
99 | vback-porch = <10>; | ||
100 | vfront-porch = <12>; | ||
101 | vsync-len = <6>; | ||
102 | }; | ||
103 | }; | ||
87 | }; | 104 | }; |
diff --git a/Documentation/devicetree/bindings/video/exynos_dsim.txt b/Documentation/devicetree/bindings/video/exynos_dsim.txt new file mode 100644 index 000000000000..33b5730d07ba --- /dev/null +++ b/Documentation/devicetree/bindings/video/exynos_dsim.txt | |||
@@ -0,0 +1,80 @@ | |||
1 | Exynos MIPI DSI Master | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "samsung,exynos4210-mipi-dsi" | ||
5 | - reg: physical base address and length of the registers set for the device | ||
6 | - interrupts: should contain DSI interrupt | ||
7 | - clocks: list of clock specifiers, must contain an entry for each required | ||
8 | entry in clock-names | ||
9 | - clock-names: should include "bus_clk"and "pll_clk" entries | ||
10 | - phys: list of phy specifiers, must contain an entry for each required | ||
11 | entry in phy-names | ||
12 | - phy-names: should include "dsim" entry | ||
13 | - vddcore-supply: MIPI DSIM Core voltage supply (e.g. 1.1V) | ||
14 | - vddio-supply: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V) | ||
15 | - samsung,pll-clock-frequency: specifies frequency of the "pll_clk" clock | ||
16 | - #address-cells, #size-cells: should be set respectively to <1> and <0> | ||
17 | according to DSI host bindings (see MIPI DSI bindings [1]) | ||
18 | |||
19 | Optional properties: | ||
20 | - samsung,power-domain: a phandle to DSIM power domain node | ||
21 | |||
22 | Child nodes: | ||
23 | Should contain DSI peripheral nodes (see MIPI DSI bindings [1]). | ||
24 | |||
25 | Video interfaces: | ||
26 | Device node can contain video interface port nodes according to [2]. | ||
27 | The following are properties specific to those nodes: | ||
28 | |||
29 | port node: | ||
30 | - reg: (required) can be 0 for input RGB/I80 port or 1 for DSI port; | ||
31 | |||
32 | endpoint node of DSI port (reg = 1): | ||
33 | - samsung,burst-clock-frequency: specifies DSI frequency in high-speed burst | ||
34 | mode | ||
35 | - samsung,esc-clock-frequency: specifies DSI frequency in escape mode | ||
36 | |||
37 | [1]: Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt | ||
38 | [2]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
39 | |||
40 | Example: | ||
41 | |||
42 | dsi@11C80000 { | ||
43 | compatible = "samsung,exynos4210-mipi-dsi"; | ||
44 | reg = <0x11C80000 0x10000>; | ||
45 | interrupts = <0 79 0>; | ||
46 | clocks = <&clock 286>, <&clock 143>; | ||
47 | clock-names = "bus_clk", "pll_clk"; | ||
48 | phys = <&mipi_phy 1>; | ||
49 | phy-names = "dsim"; | ||
50 | vddcore-supply = <&vusb_reg>; | ||
51 | vddio-supply = <&vmipi_reg>; | ||
52 | samsung,power-domain = <&pd_lcd0>; | ||
53 | #address-cells = <1>; | ||
54 | #size-cells = <0>; | ||
55 | samsung,pll-clock-frequency = <24000000>; | ||
56 | |||
57 | panel@1 { | ||
58 | reg = <0>; | ||
59 | ... | ||
60 | port { | ||
61 | panel_ep: endpoint { | ||
62 | remote-endpoint = <&dsi_ep>; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | ports { | ||
68 | #address-cells = <1>; | ||
69 | #size-cells = <0>; | ||
70 | |||
71 | port@1 { | ||
72 | dsi_ep: endpoint { | ||
73 | reg = <0>; | ||
74 | samsung,burst-clock-frequency = <500000000>; | ||
75 | samsung,esc-clock-frequency = <20000000>; | ||
76 | remote-endpoint = <&panel_ep>; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/exynos_hdmi.txt b/Documentation/devicetree/bindings/video/exynos_hdmi.txt index 50decf8e1b90..f9187a259259 100644 --- a/Documentation/devicetree/bindings/video/exynos_hdmi.txt +++ b/Documentation/devicetree/bindings/video/exynos_hdmi.txt | |||
@@ -25,6 +25,9 @@ Required properties: | |||
25 | sclk_pixel. | 25 | sclk_pixel. |
26 | - clock-names: aliases as per driver requirements for above clock IDs: | 26 | - clock-names: aliases as per driver requirements for above clock IDs: |
27 | "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi". | 27 | "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi". |
28 | - ddc: phandle to the hdmi ddc node | ||
29 | - phy: phandle to the hdmi phy node | ||
30 | |||
28 | Example: | 31 | Example: |
29 | 32 | ||
30 | hdmi { | 33 | hdmi { |
@@ -32,4 +35,6 @@ Example: | |||
32 | reg = <0x14530000 0x100000>; | 35 | reg = <0x14530000 0x100000>; |
33 | interrupts = <0 95 0>; | 36 | interrupts = <0 95 0>; |
34 | hpd-gpio = <&gpx3 7 1>; | 37 | hpd-gpio = <&gpx3 7 1>; |
38 | ddc = <&hdmi_ddc_node>; | ||
39 | phy = <&hdmi_phy_node>; | ||
35 | }; | 40 | }; |
diff --git a/Documentation/devicetree/bindings/video/fsl,imx-fb.txt b/Documentation/devicetree/bindings/video/fsl,imx-fb.txt index 46da08db186a..0329f60d431e 100644 --- a/Documentation/devicetree/bindings/video/fsl,imx-fb.txt +++ b/Documentation/devicetree/bindings/video/fsl,imx-fb.txt | |||
@@ -15,8 +15,12 @@ Required nodes: | |||
15 | - fsl,pcr: LCDC PCR value | 15 | - fsl,pcr: LCDC PCR value |
16 | 16 | ||
17 | Optional properties: | 17 | Optional properties: |
18 | - lcd-supply: Regulator for LCD supply voltage. | ||
18 | - fsl,dmacr: DMA Control Register value. This is optional. By default, the | 19 | - fsl,dmacr: DMA Control Register value. This is optional. By default, the |
19 | register is not modified as recommended by the datasheet. | 20 | register is not modified as recommended by the datasheet. |
21 | - fsl,lpccr: Contrast Control Register value. This property provides the | ||
22 | default value for the contrast control register. | ||
23 | If that property is ommited, the register is zeroed. | ||
20 | - fsl,lscr1: LCDC Sharp Configuration Register value. | 24 | - fsl,lscr1: LCDC Sharp Configuration Register value. |
21 | 25 | ||
22 | Example: | 26 | Example: |
diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt new file mode 100644 index 000000000000..ccccc19e2573 --- /dev/null +++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | HDMI Connector | ||
2 | ============== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "hdmi-connector" | ||
6 | - type: the HDMI connector type: "a", "b", "c", "d" or "e" | ||
7 | |||
8 | Optional properties: | ||
9 | - label: a symbolic name for the connector | ||
10 | |||
11 | Required nodes: | ||
12 | - Video port for HDMI input | ||
13 | |||
14 | Example | ||
15 | ------- | ||
16 | |||
17 | hdmi0: connector@1 { | ||
18 | compatible = "hdmi-connector"; | ||
19 | label = "hdmi"; | ||
20 | |||
21 | type = "a"; | ||
22 | |||
23 | port { | ||
24 | hdmi_connector_in: endpoint { | ||
25 | remote-endpoint = <&tpd12s015_out>; | ||
26 | }; | ||
27 | }; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/panel-dsi-cm.txt b/Documentation/devicetree/bindings/video/panel-dsi-cm.txt new file mode 100644 index 000000000000..dce48eb9db57 --- /dev/null +++ b/Documentation/devicetree/bindings/video/panel-dsi-cm.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | Generic MIPI DSI Command Mode Panel | ||
2 | =================================== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "panel-dsi-cm" | ||
6 | |||
7 | Optional properties: | ||
8 | - label: a symbolic name for the panel | ||
9 | - reset-gpios: panel reset gpio | ||
10 | - te-gpios: panel TE gpio | ||
11 | |||
12 | Required nodes: | ||
13 | - Video port for DSI input | ||
14 | |||
15 | Example | ||
16 | ------- | ||
17 | |||
18 | lcd0: display { | ||
19 | compatible = "tpo,taal", "panel-dsi-cm"; | ||
20 | label = "lcd0"; | ||
21 | |||
22 | reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; | ||
23 | |||
24 | port { | ||
25 | lcd0_in: endpoint { | ||
26 | remote-endpoint = <&dsi1_out_ep>; | ||
27 | }; | ||
28 | }; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/samsung-fimd.txt b/Documentation/devicetree/bindings/video/samsung-fimd.txt index 778838a0336a..2dad41b689af 100644 --- a/Documentation/devicetree/bindings/video/samsung-fimd.txt +++ b/Documentation/devicetree/bindings/video/samsung-fimd.txt | |||
@@ -39,6 +39,23 @@ Required properties: | |||
39 | 39 | ||
40 | Optional Properties: | 40 | Optional Properties: |
41 | - samsung,power-domain: a phandle to FIMD power domain node. | 41 | - samsung,power-domain: a phandle to FIMD power domain node. |
42 | - samsung,invert-vden: video enable signal is inverted | ||
43 | - samsung,invert-vclk: video clock signal is inverted | ||
44 | - display-timings: timing settings for FIMD, as described in document [1]. | ||
45 | Can be used in case timings cannot be provided otherwise | ||
46 | or to override timings provided by the panel. | ||
47 | |||
48 | The device node can contain 'port' child nodes according to the bindings defined | ||
49 | in [2]. The following are properties specific to those nodes: | ||
50 | - reg: (required) port index, can be: | ||
51 | 0 - for CAMIF0 input, | ||
52 | 1 - for CAMIF1 input, | ||
53 | 2 - for CAMIF2 input, | ||
54 | 3 - for parallel output, | ||
55 | 4 - for write-back interface | ||
56 | |||
57 | [1]: Documentation/devicetree/bindings/video/display-timing.txt | ||
58 | [2]: Documentation/devicetree/bindings/media/video-interfaces.txt | ||
42 | 59 | ||
43 | Example: | 60 | Example: |
44 | 61 | ||
diff --git a/Documentation/devicetree/bindings/video/sony,acx565akm.txt b/Documentation/devicetree/bindings/video/sony,acx565akm.txt new file mode 100644 index 000000000000..e12333280749 --- /dev/null +++ b/Documentation/devicetree/bindings/video/sony,acx565akm.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Sony ACX565AKM SDI Panel | ||
2 | ======================== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "sony,acx565akm" | ||
6 | |||
7 | Optional properties: | ||
8 | - label: a symbolic name for the panel | ||
9 | - reset-gpios: panel reset gpio | ||
10 | |||
11 | Required nodes: | ||
12 | - Video port for SDI input | ||
13 | |||
14 | Example | ||
15 | ------- | ||
16 | |||
17 | acx565akm@2 { | ||
18 | compatible = "sony,acx565akm"; | ||
19 | spi-max-frequency = <6000000>; | ||
20 | reg = <2>; | ||
21 | |||
22 | label = "lcd"; | ||
23 | reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */ | ||
24 | |||
25 | port { | ||
26 | lcd_in: endpoint { | ||
27 | remote-endpoint = <&sdi_out>; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/ti,omap-dss.txt b/Documentation/devicetree/bindings/video/ti,omap-dss.txt new file mode 100644 index 000000000000..d5f1a3fe3109 --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,omap-dss.txt | |||
@@ -0,0 +1,211 @@ | |||
1 | Texas Instruments OMAP Display Subsystem | ||
2 | ======================================== | ||
3 | |||
4 | Generic Description | ||
5 | ------------------- | ||
6 | |||
7 | This document is a generic description of the OMAP Display Subsystem bindings. | ||
8 | Binding details for each OMAP SoC version are described in respective binding | ||
9 | documentation. | ||
10 | |||
11 | The OMAP Display Subsystem (DSS) hardware consists of DSS Core, DISPC module and | ||
12 | a number of encoder modules. All DSS versions contain DSS Core and DISPC, but | ||
13 | the encoder modules vary. | ||
14 | |||
15 | The DSS Core is the parent of the other DSS modules, and manages clock routing, | ||
16 | integration to the SoC, etc. | ||
17 | |||
18 | DISPC is the display controller, which reads pixels from the memory and outputs | ||
19 | a RGB pixel stream to encoders. | ||
20 | |||
21 | The encoder modules encode the received RGB pixel stream to a video output like | ||
22 | HDMI, MIPI DPI, etc. | ||
23 | |||
24 | Video Ports | ||
25 | ----------- | ||
26 | |||
27 | The DSS Core and the encoders have video port outputs. The structure of the | ||
28 | video ports is described in Documentation/devicetree/bindings/video/video- | ||
29 | ports.txt, and the properties for the ports and endpoints for each encoder are | ||
30 | described in the SoC's DSS binding documentation. | ||
31 | |||
32 | The video ports are used to describe the connections to external hardware, like | ||
33 | panels or external encoders. | ||
34 | |||
35 | Aliases | ||
36 | ------- | ||
37 | |||
38 | The board dts file may define aliases for displays to assign "displayX" style | ||
39 | name for each display. If no aliases are defined, a semi-random number is used | ||
40 | for the display. | ||
41 | |||
42 | Example | ||
43 | ------- | ||
44 | |||
45 | A shortened example of the DSS description for OMAP4, with non-relevant parts | ||
46 | removed, defined in omap4.dtsi: | ||
47 | |||
48 | dss: dss@58000000 { | ||
49 | compatible = "ti,omap4-dss"; | ||
50 | reg = <0x58000000 0x80>; | ||
51 | status = "disabled"; | ||
52 | ti,hwmods = "dss_core"; | ||
53 | clocks = <&dss_dss_clk>; | ||
54 | clock-names = "fck"; | ||
55 | #address-cells = <1>; | ||
56 | #size-cells = <1>; | ||
57 | ranges; | ||
58 | |||
59 | dispc@58001000 { | ||
60 | compatible = "ti,omap4-dispc"; | ||
61 | reg = <0x58001000 0x1000>; | ||
62 | interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; | ||
63 | ti,hwmods = "dss_dispc"; | ||
64 | clocks = <&dss_dss_clk>; | ||
65 | clock-names = "fck"; | ||
66 | }; | ||
67 | |||
68 | hdmi: encoder@58006000 { | ||
69 | compatible = "ti,omap4-hdmi"; | ||
70 | reg = <0x58006000 0x200>, | ||
71 | <0x58006200 0x100>, | ||
72 | <0x58006300 0x100>, | ||
73 | <0x58006400 0x1000>; | ||
74 | reg-names = "wp", "pll", "phy", "core"; | ||
75 | interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; | ||
76 | status = "disabled"; | ||
77 | ti,hwmods = "dss_hdmi"; | ||
78 | clocks = <&dss_48mhz_clk>, <&dss_sys_clk>; | ||
79 | clock-names = "fck", "sys_clk"; | ||
80 | }; | ||
81 | }; | ||
82 | |||
83 | A shortened example of the board description for OMAP4 Panda board, defined in | ||
84 | omap4-panda.dts. | ||
85 | |||
86 | The Panda board has a DVI and a HDMI connector, and the board contains a TFP410 | ||
87 | chip (MIPI DPI to DVI encoder) and a TPD12S015 chip (HDMI ESD protection & level | ||
88 | shifter). The video pipelines for the connectors are formed as follows: | ||
89 | |||
90 | DSS Core --(MIPI DPI)--> TFP410 --(DVI)--> DVI Connector | ||
91 | OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI Connector | ||
92 | |||
93 | / { | ||
94 | aliases { | ||
95 | display0 = &dvi0; | ||
96 | display1 = &hdmi0; | ||
97 | }; | ||
98 | |||
99 | tfp410: encoder@0 { | ||
100 | compatible = "ti,tfp410"; | ||
101 | gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; /* 0, power-down */ | ||
102 | |||
103 | pinctrl-names = "default"; | ||
104 | pinctrl-0 = <&tfp410_pins>; | ||
105 | |||
106 | ports { | ||
107 | #address-cells = <1>; | ||
108 | #size-cells = <0>; | ||
109 | |||
110 | port@0 { | ||
111 | reg = <0>; | ||
112 | |||
113 | tfp410_in: endpoint@0 { | ||
114 | remote-endpoint = <&dpi_out>; | ||
115 | }; | ||
116 | }; | ||
117 | |||
118 | port@1 { | ||
119 | reg = <1>; | ||
120 | |||
121 | tfp410_out: endpoint@0 { | ||
122 | remote-endpoint = <&dvi_connector_in>; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | dvi0: connector@0 { | ||
129 | compatible = "dvi-connector"; | ||
130 | label = "dvi"; | ||
131 | |||
132 | i2c-bus = <&i2c3>; | ||
133 | |||
134 | port { | ||
135 | dvi_connector_in: endpoint { | ||
136 | remote-endpoint = <&tfp410_out>; | ||
137 | }; | ||
138 | }; | ||
139 | }; | ||
140 | |||
141 | tpd12s015: encoder@1 { | ||
142 | compatible = "ti,tpd12s015"; | ||
143 | |||
144 | pinctrl-names = "default"; | ||
145 | pinctrl-0 = <&tpd12s015_pins>; | ||
146 | |||
147 | gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ | ||
148 | <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ | ||
149 | <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ | ||
150 | |||
151 | ports { | ||
152 | #address-cells = <1>; | ||
153 | #size-cells = <0>; | ||
154 | |||
155 | port@0 { | ||
156 | reg = <0>; | ||
157 | |||
158 | tpd12s015_in: endpoint@0 { | ||
159 | remote-endpoint = <&hdmi_out>; | ||
160 | }; | ||
161 | }; | ||
162 | |||
163 | port@1 { | ||
164 | reg = <1>; | ||
165 | |||
166 | tpd12s015_out: endpoint@0 { | ||
167 | remote-endpoint = <&hdmi_connector_in>; | ||
168 | }; | ||
169 | }; | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | hdmi0: connector@1 { | ||
174 | compatible = "hdmi-connector"; | ||
175 | label = "hdmi"; | ||
176 | |||
177 | port { | ||
178 | hdmi_connector_in: endpoint { | ||
179 | remote-endpoint = <&tpd12s015_out>; | ||
180 | }; | ||
181 | }; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | &dss { | ||
186 | status = "ok"; | ||
187 | |||
188 | pinctrl-names = "default"; | ||
189 | pinctrl-0 = <&dss_dpi_pins>; | ||
190 | |||
191 | port { | ||
192 | dpi_out: endpoint { | ||
193 | remote-endpoint = <&tfp410_in>; | ||
194 | data-lines = <24>; | ||
195 | }; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | &hdmi { | ||
200 | status = "ok"; | ||
201 | vdda-supply = <&vdac>; | ||
202 | |||
203 | pinctrl-names = "default"; | ||
204 | pinctrl-0 = <&dss_hdmi_pins>; | ||
205 | |||
206 | port { | ||
207 | hdmi_out: endpoint { | ||
208 | remote-endpoint = <&tpd12s015_in>; | ||
209 | }; | ||
210 | }; | ||
211 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/ti,omap2-dss.txt b/Documentation/devicetree/bindings/video/ti,omap2-dss.txt new file mode 100644 index 000000000000..fa8bb2ed1170 --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,omap2-dss.txt | |||
@@ -0,0 +1,54 @@ | |||
1 | Texas Instruments OMAP2 Display Subsystem | ||
2 | ========================================= | ||
3 | |||
4 | See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic | ||
5 | description about OMAP Display Subsystem bindings. | ||
6 | |||
7 | DSS Core | ||
8 | -------- | ||
9 | |||
10 | Required properties: | ||
11 | - compatible: "ti,omap2-dss" | ||
12 | - reg: address and length of the register space | ||
13 | - ti,hwmods: "dss_core" | ||
14 | |||
15 | Optional nodes: | ||
16 | - Video port for DPI output | ||
17 | |||
18 | DPI Endpoint required properties: | ||
19 | - data-lines: number of lines used | ||
20 | |||
21 | |||
22 | DISPC | ||
23 | ----- | ||
24 | |||
25 | Required properties: | ||
26 | - compatible: "ti,omap2-dispc" | ||
27 | - reg: address and length of the register space | ||
28 | - ti,hwmods: "dss_dispc" | ||
29 | - interrupts: the DISPC interrupt | ||
30 | |||
31 | |||
32 | RFBI | ||
33 | ---- | ||
34 | |||
35 | Required properties: | ||
36 | - compatible: "ti,omap2-rfbi" | ||
37 | - reg: address and length of the register space | ||
38 | - ti,hwmods: "dss_rfbi" | ||
39 | |||
40 | |||
41 | VENC | ||
42 | ---- | ||
43 | |||
44 | Required properties: | ||
45 | - compatible: "ti,omap2-venc" | ||
46 | - reg: address and length of the register space | ||
47 | - ti,hwmods: "dss_venc" | ||
48 | - vdda-supply: power supply for DAC | ||
49 | |||
50 | VENC Endpoint required properties: | ||
51 | |||
52 | Required properties: | ||
53 | - ti,invert-polarity: invert the polarity of the video signal | ||
54 | - ti,channels: 1 for composite, 2 for s-video | ||
diff --git a/Documentation/devicetree/bindings/video/ti,omap3-dss.txt b/Documentation/devicetree/bindings/video/ti,omap3-dss.txt new file mode 100644 index 000000000000..0023fa4b1328 --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,omap3-dss.txt | |||
@@ -0,0 +1,83 @@ | |||
1 | Texas Instruments OMAP3 Display Subsystem | ||
2 | ========================================= | ||
3 | |||
4 | See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic | ||
5 | description about OMAP Display Subsystem bindings. | ||
6 | |||
7 | DSS Core | ||
8 | -------- | ||
9 | |||
10 | Required properties: | ||
11 | - compatible: "ti,omap3-dss" | ||
12 | - reg: address and length of the register space | ||
13 | - ti,hwmods: "dss_core" | ||
14 | - clocks: handle to fclk | ||
15 | - clock-names: "fck" | ||
16 | |||
17 | Optional nodes: | ||
18 | - Video ports: | ||
19 | - Port 0: DPI output | ||
20 | - Port 1: SDI output | ||
21 | |||
22 | DPI Endpoint required properties: | ||
23 | - data-lines: number of lines used | ||
24 | |||
25 | SDI Endpoint required properties: | ||
26 | - datapairs: number of datapairs used | ||
27 | |||
28 | |||
29 | DISPC | ||
30 | ----- | ||
31 | |||
32 | Required properties: | ||
33 | - compatible: "ti,omap3-dispc" | ||
34 | - reg: address and length of the register space | ||
35 | - ti,hwmods: "dss_dispc" | ||
36 | - interrupts: the DISPC interrupt | ||
37 | - clocks: handle to fclk | ||
38 | - clock-names: "fck" | ||
39 | |||
40 | |||
41 | RFBI | ||
42 | ---- | ||
43 | |||
44 | Required properties: | ||
45 | - compatible: "ti,omap3-rfbi" | ||
46 | - reg: address and length of the register space | ||
47 | - ti,hwmods: "dss_rfbi" | ||
48 | - clocks: handles to fclk and iclk | ||
49 | - clock-names: "fck", "ick" | ||
50 | |||
51 | |||
52 | VENC | ||
53 | ---- | ||
54 | |||
55 | Required properties: | ||
56 | - compatible: "ti,omap3-venc" | ||
57 | - reg: address and length of the register space | ||
58 | - ti,hwmods: "dss_venc" | ||
59 | - vdda-supply: power supply for DAC | ||
60 | - clocks: handle to fclk | ||
61 | - clock-names: "fck" | ||
62 | |||
63 | VENC Endpoint required properties: | ||
64 | - ti,invert-polarity: invert the polarity of the video signal | ||
65 | - ti,channels: 1 for composite, 2 for s-video | ||
66 | |||
67 | |||
68 | DSI | ||
69 | --- | ||
70 | |||
71 | Required properties: | ||
72 | - compatible: "ti,omap3-dsi" | ||
73 | - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' | ||
74 | - reg-names: "proto", "phy", "pll" | ||
75 | - interrupts: the DSI interrupt line | ||
76 | - ti,hwmods: "dss_dsi1" | ||
77 | - vdd-supply: power supply for DSI | ||
78 | - clocks: handles to fclk and pll clock | ||
79 | - clock-names: "fck", "sys_clk" | ||
80 | |||
81 | DSI Endpoint required properties: | ||
82 | - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, | ||
83 | DATA1+, DATA1-, ... | ||
diff --git a/Documentation/devicetree/bindings/video/ti,omap4-dss.txt b/Documentation/devicetree/bindings/video/ti,omap4-dss.txt new file mode 100644 index 000000000000..f85d6fcfa705 --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,omap4-dss.txt | |||
@@ -0,0 +1,111 @@ | |||
1 | Texas Instruments OMAP4 Display Subsystem | ||
2 | ========================================= | ||
3 | |||
4 | See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic | ||
5 | description about OMAP Display Subsystem bindings. | ||
6 | |||
7 | DSS Core | ||
8 | -------- | ||
9 | |||
10 | Required properties: | ||
11 | - compatible: "ti,omap4-dss" | ||
12 | - reg: address and length of the register space | ||
13 | - ti,hwmods: "dss_core" | ||
14 | - clocks: handle to fclk | ||
15 | - clock-names: "fck" | ||
16 | |||
17 | Required nodes: | ||
18 | - DISPC | ||
19 | |||
20 | Optional nodes: | ||
21 | - DSS Submodules: RFBI, VENC, DSI, HDMI | ||
22 | - Video port for DPI output | ||
23 | |||
24 | DPI Endpoint required properties: | ||
25 | - data-lines: number of lines used | ||
26 | |||
27 | |||
28 | DISPC | ||
29 | ----- | ||
30 | |||
31 | Required properties: | ||
32 | - compatible: "ti,omap4-dispc" | ||
33 | - reg: address and length of the register space | ||
34 | - ti,hwmods: "dss_dispc" | ||
35 | - interrupts: the DISPC interrupt | ||
36 | - clocks: handle to fclk | ||
37 | - clock-names: "fck" | ||
38 | |||
39 | |||
40 | RFBI | ||
41 | ---- | ||
42 | |||
43 | Required properties: | ||
44 | - compatible: "ti,omap4-rfbi" | ||
45 | - reg: address and length of the register space | ||
46 | - ti,hwmods: "dss_rfbi" | ||
47 | - clocks: handles to fclk and iclk | ||
48 | - clock-names: "fck", "ick" | ||
49 | |||
50 | Optional nodes: | ||
51 | - Video port for RFBI output | ||
52 | - RFBI controlled peripherals | ||
53 | |||
54 | |||
55 | VENC | ||
56 | ---- | ||
57 | |||
58 | Required properties: | ||
59 | - compatible: "ti,omap4-venc" | ||
60 | - reg: address and length of the register space | ||
61 | - ti,hwmods: "dss_venc" | ||
62 | - vdda-supply: power supply for DAC | ||
63 | - clocks: handle to fclk | ||
64 | - clock-names: "fck" | ||
65 | |||
66 | Optional nodes: | ||
67 | - Video port for VENC output | ||
68 | |||
69 | VENC Endpoint required properties: | ||
70 | - ti,invert-polarity: invert the polarity of the video signal | ||
71 | - ti,channels: 1 for composite, 2 for s-video | ||
72 | |||
73 | |||
74 | DSI | ||
75 | --- | ||
76 | |||
77 | Required properties: | ||
78 | - compatible: "ti,omap4-dsi" | ||
79 | - reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll' | ||
80 | - reg-names: "proto", "phy", "pll" | ||
81 | - interrupts: the DSI interrupt line | ||
82 | - ti,hwmods: "dss_dsi1" or "dss_dsi2" | ||
83 | - vdd-supply: power supply for DSI | ||
84 | - clocks: handles to fclk and pll clock | ||
85 | - clock-names: "fck", "sys_clk" | ||
86 | |||
87 | Optional nodes: | ||
88 | - Video port for DSI output | ||
89 | - DSI controlled peripherals | ||
90 | |||
91 | DSI Endpoint required properties: | ||
92 | - lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-, | ||
93 | DATA1+, DATA1-, ... | ||
94 | |||
95 | |||
96 | HDMI | ||
97 | ---- | ||
98 | |||
99 | Required properties: | ||
100 | - compatible: "ti,omap4-hdmi" | ||
101 | - reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy', | ||
102 | 'core' | ||
103 | - reg-names: "wp", "pll", "phy", "core" | ||
104 | - interrupts: the HDMI interrupt line | ||
105 | - ti,hwmods: "dss_hdmi" | ||
106 | - vdda-supply: vdda power supply | ||
107 | - clocks: handles to fclk and pll clock | ||
108 | - clock-names: "fck", "sys_clk" | ||
109 | |||
110 | Optional nodes: | ||
111 | - Video port for HDMI output | ||
diff --git a/Documentation/devicetree/bindings/video/ti,tfp410.txt b/Documentation/devicetree/bindings/video/ti,tfp410.txt new file mode 100644 index 000000000000..2cbe32a3d0bb --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,tfp410.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | TFP410 DPI to DVI encoder | ||
2 | ========================= | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "ti,tfp410" | ||
6 | |||
7 | Optional properties: | ||
8 | - powerdown-gpios: power-down gpio | ||
9 | |||
10 | Required nodes: | ||
11 | - Video port 0 for DPI input | ||
12 | - Video port 1 for DVI output | ||
13 | |||
14 | Example | ||
15 | ------- | ||
16 | |||
17 | tfp410: encoder@0 { | ||
18 | compatible = "ti,tfp410"; | ||
19 | powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>; | ||
20 | |||
21 | ports { | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | |||
25 | port@0 { | ||
26 | reg = <0>; | ||
27 | |||
28 | tfp410_in: endpoint@0 { | ||
29 | remote-endpoint = <&dpi_out>; | ||
30 | }; | ||
31 | }; | ||
32 | |||
33 | port@1 { | ||
34 | reg = <1>; | ||
35 | |||
36 | tfp410_out: endpoint@0 { | ||
37 | remote-endpoint = <&dvi_connector_in>; | ||
38 | }; | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
diff --git a/Documentation/devicetree/bindings/video/ti,tpd12s015.txt b/Documentation/devicetree/bindings/video/ti,tpd12s015.txt new file mode 100644 index 000000000000..26e6d32e3f20 --- /dev/null +++ b/Documentation/devicetree/bindings/video/ti,tpd12s015.txt | |||
@@ -0,0 +1,44 @@ | |||
1 | TPD12S015 HDMI level shifter and ESD protection chip | ||
2 | ==================================================== | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: "ti,tpd12s015" | ||
6 | |||
7 | Optional properties: | ||
8 | - gpios: CT CP HPD, LS OE and HPD gpios | ||
9 | |||
10 | Required nodes: | ||
11 | - Video port 0 for HDMI input | ||
12 | - Video port 1 for HDMI output | ||
13 | |||
14 | Example | ||
15 | ------- | ||
16 | |||
17 | tpd12s015: encoder@1 { | ||
18 | compatible = "ti,tpd12s015"; | ||
19 | |||
20 | gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ | ||
21 | <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ | ||
22 | <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ | ||
23 | |||
24 | ports { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | port@0 { | ||
29 | reg = <0>; | ||
30 | |||
31 | tpd12s015_in: endpoint@0 { | ||
32 | remote-endpoint = <&hdmi_out>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | port@1 { | ||
37 | reg = <1>; | ||
38 | |||
39 | tpd12s015_out: endpoint@0 { | ||
40 | remote-endpoint = <&hdmi_connector_in>; | ||
41 | }; | ||
42 | }; | ||
43 | }; | ||
44 | }; | ||
diff --git a/Documentation/devicetree/bindings/watchdog/marvel.txt b/Documentation/devicetree/bindings/watchdog/marvel.txt index 5dc8d30061ce..de11eb4c121f 100644 --- a/Documentation/devicetree/bindings/watchdog/marvel.txt +++ b/Documentation/devicetree/bindings/watchdog/marvel.txt | |||
@@ -3,17 +3,24 @@ | |||
3 | Required Properties: | 3 | Required Properties: |
4 | 4 | ||
5 | - Compatibility : "marvell,orion-wdt" | 5 | - Compatibility : "marvell,orion-wdt" |
6 | - reg : Address of the timer registers | 6 | "marvell,armada-370-wdt" |
7 | "marvell,armada-xp-wdt" | ||
8 | |||
9 | - reg : Should contain two entries: first one with the | ||
10 | timer control address, second one with the | ||
11 | rstout enable address. | ||
7 | 12 | ||
8 | Optional properties: | 13 | Optional properties: |
9 | 14 | ||
15 | - interrupts : Contains the IRQ for watchdog expiration | ||
10 | - timeout-sec : Contains the watchdog timeout in seconds | 16 | - timeout-sec : Contains the watchdog timeout in seconds |
11 | 17 | ||
12 | Example: | 18 | Example: |
13 | 19 | ||
14 | wdt@20300 { | 20 | wdt@20300 { |
15 | compatible = "marvell,orion-wdt"; | 21 | compatible = "marvell,orion-wdt"; |
16 | reg = <0x20300 0x28>; | 22 | reg = <0x20300 0x28>, <0x20108 0x4>; |
23 | interrupts = <3>; | ||
17 | timeout-sec = <10>; | 24 | timeout-sec = <10>; |
18 | status = "okay"; | 25 | status = "okay"; |
19 | }; | 26 | }; |
diff --git a/Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt b/Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt new file mode 100644 index 000000000000..6d63782a7378 --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Xilinx AXI/PLB soft-core watchdog Device Tree Bindings | ||
2 | --------------------------------------------------------- | ||
3 | |||
4 | Required properties: | ||
5 | - compatible : Should be "xlnx,xps-timebase-wdt-1.00.a" or | ||
6 | "xlnx,xps-timebase-wdt-1.01.a". | ||
7 | - reg : Physical base address and size | ||
8 | |||
9 | Optional properties: | ||
10 | - clock-frequency : Frequency of clock in Hz | ||
11 | - xlnx,wdt-enable-once : 0 - Watchdog can be restarted | ||
12 | 1 - Watchdog can be enabled just once | ||
13 | - xlnx,wdt-interval : Watchdog timeout interval in 2^<val> clock cycles, | ||
14 | <val> is integer from 8 to 31. | ||
15 | |||
16 | Example: | ||
17 | axi-timebase-wdt@40100000 { | ||
18 | clock-frequency = <50000000>; | ||
19 | compatible = "xlnx,xps-timebase-wdt-1.00.a"; | ||
20 | reg = <0x40100000 0x10000>; | ||
21 | xlnx,wdt-enable-once = <0x0>; | ||
22 | xlnx,wdt-interval = <0x1b>; | ||
23 | } ; | ||
diff --git a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt index e39cb266c8f4..b8f75c51453a 100644 --- a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt +++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt | |||
@@ -2,13 +2,13 @@ Allwinner SoCs Watchdog timer | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | 4 | ||
5 | - compatible : should be "allwinner,<soc-family>-wdt", the currently supported | 5 | - compatible : should be either "allwinner,sun4i-a10-wdt" or |
6 | SoC families being sun4i and sun6i | 6 | "allwinner,sun6i-a31-wdt" |
7 | - reg : Specifies base physical address and size of the registers. | 7 | - reg : Specifies base physical address and size of the registers. |
8 | 8 | ||
9 | Example: | 9 | Example: |
10 | 10 | ||
11 | wdt: watchdog@01c20c90 { | 11 | wdt: watchdog@01c20c90 { |
12 | compatible = "allwinner,sun4i-wdt"; | 12 | compatible = "allwinner,sun4i-a10-wdt"; |
13 | reg = <0x01c20c90 0x10>; | 13 | reg = <0x01c20c90 0x10>; |
14 | }; | 14 | }; |