diff options
Diffstat (limited to 'Documentation/devicetree/bindings')
13 files changed, 244 insertions, 19 deletions
diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards index 5fac246a9530..3509707f9320 100644 --- a/Documentation/devicetree/bindings/arm/arm-boards +++ b/Documentation/devicetree/bindings/arm/arm-boards | |||
@@ -14,6 +14,9 @@ Required nodes: | |||
14 | - core-module: the root node to the Integrator platforms must have | 14 | - core-module: the root node to the Integrator platforms must have |
15 | a core-module with regs and the compatible string | 15 | a core-module with regs and the compatible string |
16 | "arm,core-module-integrator" | 16 | "arm,core-module-integrator" |
17 | - external-bus-interface: the root node to the Integrator platforms | ||
18 | must have an external bus interface with regs and the | ||
19 | compatible-string "arm,external-bus-interface" | ||
17 | 20 | ||
18 | Required properties for the core module: | 21 | Required properties for the core module: |
19 | - regs: the location and size of the core module registers, one | 22 | - regs: the location and size of the core module registers, one |
@@ -48,6 +51,11 @@ Required nodes: | |||
48 | reg = <0x10000000 0x200>; | 51 | reg = <0x10000000 0x200>; |
49 | }; | 52 | }; |
50 | 53 | ||
54 | ebi@12000000 { | ||
55 | compatible = "arm,external-bus-interface"; | ||
56 | reg = <0x12000000 0x100>; | ||
57 | }; | ||
58 | |||
51 | syscon { | 59 | syscon { |
52 | compatible = "arm,integrator-ap-syscon"; | 60 | compatible = "arm,integrator-ap-syscon"; |
53 | reg = <0x11000000 0x100>; | 61 | reg = <0x11000000 0x100>; |
diff --git a/Documentation/devicetree/bindings/arm/atmel-aic.txt b/Documentation/devicetree/bindings/arm/atmel-aic.txt index ad031211b5b8..2742e9cfd6b1 100644 --- a/Documentation/devicetree/bindings/arm/atmel-aic.txt +++ b/Documentation/devicetree/bindings/arm/atmel-aic.txt | |||
@@ -2,6 +2,7 @@ | |||
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: Should be "atmel,<chip>-aic" | 4 | - compatible: Should be "atmel,<chip>-aic" |
5 | <chip> can be "at91rm9200" or "sama5d3" | ||
5 | - interrupt-controller: Identifies the node as an interrupt controller. | 6 | - interrupt-controller: Identifies the node as an interrupt controller. |
6 | - interrupt-parent: For single AIC system, it is an empty property. | 7 | - interrupt-parent: For single AIC system, it is an empty property. |
7 | - #interrupt-cells: The number of cells to define the interrupts. It should be 3. | 8 | - #interrupt-cells: The number of cells to define the interrupts. It should be 3. |
diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.txt b/Documentation/devicetree/bindings/arm/atmel-at91.txt index 78530e621a1e..16f60b41c147 100644 --- a/Documentation/devicetree/bindings/arm/atmel-at91.txt +++ b/Documentation/devicetree/bindings/arm/atmel-at91.txt | |||
@@ -58,7 +58,8 @@ Example: | |||
58 | }; | 58 | }; |
59 | 59 | ||
60 | RAMC SDRAM/DDR Controller required properties: | 60 | RAMC SDRAM/DDR Controller required properties: |
61 | - compatible: Should be "atmel,at91sam9260-sdramc", | 61 | - compatible: Should be "atmel,at91rm9200-sdramc", |
62 | "atmel,at91sam9260-sdramc", | ||
62 | "atmel,at91sam9g45-ddramc", | 63 | "atmel,at91sam9g45-ddramc", |
63 | - reg: Should contain registers location and length | 64 | - reg: Should contain registers location and length |
64 | For at91sam9263 and at91sam9g45 you must specify 2 entries. | 65 | For at91sam9263 and at91sam9g45 you must specify 2 entries. |
diff --git a/Documentation/devicetree/bindings/arm/moxart.txt b/Documentation/devicetree/bindings/arm/moxart.txt new file mode 100644 index 000000000000..11087edb0658 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/moxart.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | MOXA ART device tree bindings | ||
2 | |||
3 | Boards with the MOXA ART SoC shall have the following properties: | ||
4 | |||
5 | Required root node property: | ||
6 | |||
7 | compatible = "moxa,moxart"; | ||
8 | |||
9 | Boards: | ||
10 | |||
11 | - UC-7112-LX: embedded computer | ||
12 | compatible = "moxa,moxart-uc-7112-lx", "moxa,moxart" | ||
diff --git a/Documentation/devicetree/bindings/arm/samsung/sysreg.txt b/Documentation/devicetree/bindings/arm/samsung/sysreg.txt index 5039c0a12f55..0ab3251a6ec2 100644 --- a/Documentation/devicetree/bindings/arm/samsung/sysreg.txt +++ b/Documentation/devicetree/bindings/arm/samsung/sysreg.txt | |||
@@ -1,7 +1,12 @@ | |||
1 | SAMSUNG S5P/Exynos SoC series System Registers (SYSREG) | 1 | SAMSUNG S5P/Exynos SoC series System Registers (SYSREG) |
2 | 2 | ||
3 | Properties: | 3 | Properties: |
4 | - name : should be 'sysreg'; | ||
5 | - compatible : should contain "samsung,<chip name>-sysreg", "syscon"; | 4 | - compatible : should contain "samsung,<chip name>-sysreg", "syscon"; |
6 | For Exynos4 SoC series it should be "samsung,exynos4-sysreg", "syscon"; | 5 | For Exynos4 SoC series it should be "samsung,exynos4-sysreg", "syscon"; |
7 | - reg : offset and length of the register set. | 6 | - reg : offset and length of the register set. |
7 | |||
8 | Example: | ||
9 | syscon@10010000 { | ||
10 | compatible = "samsung,exynos4-sysreg", "syscon"; | ||
11 | reg = <0x10010000 0x400>; | ||
12 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-div6-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-div6-clocks.txt new file mode 100644 index 000000000000..952e373178d2 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-div6-clocks.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | * Renesas CPG DIV6 Clock | ||
2 | |||
3 | The CPG DIV6 clocks are variable factor clocks provided by the Clock Pulse | ||
4 | Generator (CPG). They clock input is divided by a configurable factor from 1 | ||
5 | to 64. | ||
6 | |||
7 | Required Properties: | ||
8 | |||
9 | - compatible: Must be one of the following | ||
10 | - "renesas,r8a7790-div6-clock" for R8A7790 (R-Car H2) DIV6 clocks | ||
11 | - "renesas,r8a7791-div6-clock" for R8A7791 (R-Car M2) DIV6 clocks | ||
12 | - "renesas,cpg-div6-clock" for generic DIV6 clocks | ||
13 | - reg: Base address and length of the memory resource used by the DIV6 clock | ||
14 | - clocks: Reference to the parent clock | ||
15 | - #clock-cells: Must be 0 | ||
16 | - clock-output-names: The name of the clock as a free-form string | ||
17 | |||
18 | |||
19 | Example | ||
20 | ------- | ||
21 | |||
22 | sd2_clk: sd2_clk@e6150078 { | ||
23 | compatible = "renesas,r8a7790-div6-clock", "renesas,cpg-div6-clock"; | ||
24 | reg = <0 0xe6150078 0 4>; | ||
25 | clocks = <&pll1_div2_clk>; | ||
26 | #clock-cells = <0>; | ||
27 | clock-output-names = "sd2"; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt new file mode 100644 index 000000000000..a6a352c2771e --- /dev/null +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt | |||
@@ -0,0 +1,51 @@ | |||
1 | * Renesas CPG Module Stop (MSTP) Clocks | ||
2 | |||
3 | The CPG can gate SoC device clocks. The gates are organized in groups of up to | ||
4 | 32 gates. | ||
5 | |||
6 | This device tree binding describes a single 32 gate clocks group per node. | ||
7 | Clocks are referenced by user nodes by the MSTP node phandle and the clock | ||
8 | index in the group, from 0 to 31. | ||
9 | |||
10 | Required Properties: | ||
11 | |||
12 | - compatible: Must be one of the following | ||
13 | - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks | ||
14 | - "renesas,r8a7791-mstp-clocks" for R8A7791 (R-Car M2) MSTP gate clocks | ||
15 | - "renesas,cpg-mstp-clock" for generic MSTP gate clocks | ||
16 | - reg: Base address and length of the I/O mapped registers used by the MSTP | ||
17 | clocks. The first register is the clock control register and is mandatory. | ||
18 | The second register is the clock status register and is optional when not | ||
19 | implemented in hardware. | ||
20 | - clocks: Reference to the parent clocks, one per output clock. The parents | ||
21 | must appear in the same order as the output clocks. | ||
22 | - #clock-cells: Must be 1 | ||
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) | ||
25 | |||
26 | The clocks, clock-output-names and renesas,indices properties contain one | ||
27 | entry per gate clock. The MSTP groups are sparsely populated. Unimplemented | ||
28 | gate clocks must not be declared. | ||
29 | |||
30 | |||
31 | Example | ||
32 | ------- | ||
33 | |||
34 | #include <dt-bindings/clock/r8a7790-clock.h> | ||
35 | |||
36 | mstp3_clks: mstp3_clks@e615013c { | ||
37 | compatible = "renesas,r8a7790-mstp-clocks", "renesas,cpg-mstp-clocks"; | ||
38 | reg = <0 0xe615013c 0 4>, <0 0xe6150048 0 4>; | ||
39 | clocks = <&cp_clk>, <&mmc1_clk>, <&sd3_clk>, <&sd2_clk>, | ||
40 | <&cpg_clocks R8A7790_CLK_SD1>, <&cpg_clocks R8A7790_CLK_SD0>, | ||
41 | <&mmc0_clk>; | ||
42 | #clock-cells = <1>; | ||
43 | clock-output-names = | ||
44 | "tpu0", "mmcif1", "sdhi3", "sdhi2", | ||
45 | "sdhi1", "sdhi0", "mmcif0"; | ||
46 | renesas,clock-indices = < | ||
47 | R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3 | ||
48 | R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0 | ||
49 | R8A7790_CLK_MMCIF0 | ||
50 | >; | ||
51 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt new file mode 100644 index 000000000000..7b41c2fe54db --- /dev/null +++ b/Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt | |||
@@ -0,0 +1,32 @@ | |||
1 | * Renesas R-Car Gen2 Clock Pulse Generator (CPG) | ||
2 | |||
3 | The CPG generates core clocks for the R-Car Gen2 SoCs. It includes three PLLs | ||
4 | and several fixed ratio dividers. | ||
5 | |||
6 | Required Properties: | ||
7 | |||
8 | - compatible: Must be one of | ||
9 | - "renesas,r8a7790-cpg-clocks" for the r8a7790 CPG | ||
10 | - "renesas,r8a7791-cpg-clocks" for the r8a7791 CPG | ||
11 | - "renesas,rcar-gen2-cpg-clocks" for the generic R-Car Gen2 CPG | ||
12 | |||
13 | - reg: Base address and length of the memory resource used by the CPG | ||
14 | |||
15 | - clocks: Reference to the parent clock | ||
16 | - #clock-cells: Must be 1 | ||
17 | - clock-output-names: The names of the clocks. Supported clocks are "main", | ||
18 | "pll0", "pll1", "pll3", "lb", "qspi", "sdh", "sd0", "sd1" and "z" | ||
19 | |||
20 | |||
21 | Example | ||
22 | ------- | ||
23 | |||
24 | cpg_clocks: cpg_clocks@e6150000 { | ||
25 | compatible = "renesas,r8a7790-cpg-clocks", | ||
26 | "renesas,rcar-gen2-cpg-clocks"; | ||
27 | reg = <0 0xe6150000 0 0x1000>; | ||
28 | clocks = <&extal_clk>; | ||
29 | #clock-cells = <1>; | ||
30 | clock-output-names = "main", "pll0, "pll1", "pll3", | ||
31 | "lb", "qspi", "sdh", "sd0", "sd1", "z"; | ||
32 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/ste-dma40.txt b/Documentation/devicetree/bindings/dma/ste-dma40.txt index a8c21c256baa..1f5729f10621 100644 --- a/Documentation/devicetree/bindings/dma/ste-dma40.txt +++ b/Documentation/devicetree/bindings/dma/ste-dma40.txt | |||
@@ -50,6 +50,9 @@ Each dmas request consists of 4 cells: | |||
50 | 0x00000008: Use fixed channel: | 50 | 0x00000008: Use fixed channel: |
51 | Use automatic channel selection when unset | 51 | Use automatic channel selection when unset |
52 | Use DMA request line number when set | 52 | Use DMA request line number when set |
53 | 0x00000010: Set channel as high priority: | ||
54 | Normal priority when unset | ||
55 | High priority when set | ||
53 | 56 | ||
54 | Example: | 57 | Example: |
55 | 58 | ||
diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt index c67b975c8906..532b1d440abc 100644 --- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt | |||
@@ -16,6 +16,8 @@ Required Properties: | |||
16 | specific extensions. | 16 | specific extensions. |
17 | - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250 | 17 | - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250 |
18 | specific extensions. | 18 | specific extensions. |
19 | - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420 | ||
20 | specific extensions. | ||
19 | 21 | ||
20 | * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface | 22 | * samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface |
21 | unit (ciu) clock. This property is applicable only for Exynos5 SoC's and | 23 | unit (ciu) clock. This property is applicable only for Exynos5 SoC's and |
diff --git a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt index b5a86d20ee36..167d5dab9f64 100644 --- a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt +++ b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt | |||
@@ -31,38 +31,58 @@ Required properties: | |||
31 | 7: .. | 31 | 7: .. |
32 | i: Local Timer Interrupt n | 32 | i: Local Timer Interrupt n |
33 | 33 | ||
34 | Example 1: In this example, the system uses only the first global timer | 34 | For MCT block that uses a per-processor interrupt for local timers, such |
35 | interrupt generated by MCT and the remaining three global timer | 35 | as ones compatible with "samsung,exynos4412-mct", only one local timer |
36 | interrupts are unused. Two local timer interrupts have been | 36 | interrupt might be specified, meaning that all local timers use the same |
37 | specified. | 37 | per processor interrupt. |
38 | |||
39 | Example 1: In this example, the IP contains two local timers, using separate | ||
40 | interrupts, so two local timer interrupts have been specified, | ||
41 | in addition to four global timer interrupts. | ||
38 | 42 | ||
39 | mct@10050000 { | 43 | mct@10050000 { |
40 | compatible = "samsung,exynos4210-mct"; | 44 | compatible = "samsung,exynos4210-mct"; |
41 | reg = <0x10050000 0x800>; | 45 | reg = <0x10050000 0x800>; |
42 | interrupts = <0 57 0>, <0 0 0>, <0 0 0>, <0 0 0>, | 46 | interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>, |
43 | <0 42 0>, <0 48 0>; | 47 | <0 42 0>, <0 48 0>; |
44 | }; | 48 | }; |
45 | 49 | ||
46 | Example 2: In this example, the MCT global and local timer interrupts are | 50 | Example 2: In this example, the timer interrupts are connected to two separate |
47 | connected to two separate interrupt controllers. Hence, an | 51 | interrupt controllers. Hence, an interrupt-map is created to map |
48 | interrupt-map is created to map the interrupts to the respective | 52 | the interrupts to the respective interrupt controllers. |
49 | interrupt controllers. | ||
50 | 53 | ||
51 | mct@101C0000 { | 54 | mct@101C0000 { |
52 | compatible = "samsung,exynos4210-mct"; | 55 | compatible = "samsung,exynos4210-mct"; |
53 | reg = <0x101C0000 0x800>; | 56 | reg = <0x101C0000 0x800>; |
54 | interrupt-controller; | ||
55 | #interrups-cells = <2>; | ||
56 | interrupt-parent = <&mct_map>; | 57 | interrupt-parent = <&mct_map>; |
57 | interrupts = <0 0>, <1 0>, <2 0>, <3 0>, | 58 | interrupts = <0>, <1>, <2>, <3>, <4>, <5>; |
58 | <4 0>, <5 0>; | ||
59 | 59 | ||
60 | mct_map: mct-map { | 60 | mct_map: mct-map { |
61 | #interrupt-cells = <2>; | 61 | #interrupt-cells = <1>; |
62 | #address-cells = <0>; | 62 | #address-cells = <0>; |
63 | #size-cells = <0>; | 63 | #size-cells = <0>; |
64 | interrupt-map = <0x0 0 &combiner 23 3>, | 64 | interrupt-map = <0 &gic 0 57 0>, |
65 | <0x4 0 &gic 0 120 0>, | 65 | <1 &gic 0 69 0>, |
66 | <0x5 0 &gic 0 121 0>; | 66 | <2 &combiner 12 6>, |
67 | <3 &combiner 12 7>, | ||
68 | <4 &gic 0 42 0>, | ||
69 | <5 &gic 0 48 0>; | ||
67 | }; | 70 | }; |
68 | }; | 71 | }; |
72 | |||
73 | Example 3: In this example, the IP contains four local timers, but using | ||
74 | a per-processor interrupt to handle them. Either all the local | ||
75 | timer interrupts can be specified, with the same interrupt specifier | ||
76 | value or just the first one. | ||
77 | |||
78 | mct@10050000 { | ||
79 | compatible = "samsung,exynos4412-mct"; | ||
80 | reg = <0x10050000 0x800>; | ||
81 | |||
82 | /* Both ways are possible in this case. Either: */ | ||
83 | interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>, | ||
84 | <0 42 0>; | ||
85 | /* or: */ | ||
86 | interrupts = <0 57 0>, <0 69 0>, <0 70 0>, <0 71 0>, | ||
87 | <0 42 0>, <0 42 0>, <0 42 0>, <0 42 0>; | ||
88 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/keystone-phy.txt b/Documentation/devicetree/bindings/usb/keystone-phy.txt new file mode 100644 index 000000000000..f37b3a86341d --- /dev/null +++ b/Documentation/devicetree/bindings/usb/keystone-phy.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | TI Keystone USB PHY | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "ti,keystone-usbphy". | ||
5 | - #address-cells, #size-cells : should be '1' if the device has sub-nodes | ||
6 | with 'reg' property. | ||
7 | - reg : Address and length of the usb phy control register set. | ||
8 | |||
9 | The main purpose of this PHY driver is to enable the USB PHY reference clock | ||
10 | gate on the Keystone SOC for both the USB2 and USB3 PHY. Otherwise it is just | ||
11 | an NOP PHY driver. Hence this node is referenced as both the usb2 and usb3 | ||
12 | phy node in the USB Glue layer driver node. | ||
13 | |||
14 | usb_phy: usb_phy@2620738 { | ||
15 | compatible = "ti,keystone-usbphy"; | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <1>; | ||
18 | reg = <0x2620738 32>; | ||
19 | status = "disabled"; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/keystone-usb.txt b/Documentation/devicetree/bindings/usb/keystone-usb.txt new file mode 100644 index 000000000000..60527d335b58 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/keystone-usb.txt | |||
@@ -0,0 +1,42 @@ | |||
1 | TI Keystone Soc USB Controller | ||
2 | |||
3 | DWC3 GLUE | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: should be "ti,keystone-dwc3". | ||
7 | - #address-cells, #size-cells : should be '1' if the device has sub-nodes | ||
8 | with 'reg' property. | ||
9 | - reg : Address and length of the register set for the USB subsystem on | ||
10 | the SOC. | ||
11 | - interrupts : The irq number of this device that is used to interrupt the | ||
12 | MPU. | ||
13 | - ranges: allows valid 1:1 translation between child's address space and | ||
14 | parent's address space. | ||
15 | - clocks: Clock IDs array as required by the controller. | ||
16 | - clock-names: names of clocks correseponding to IDs in the clock property. | ||
17 | |||
18 | Sub-nodes: | ||
19 | The dwc3 core should be added as subnode to Keystone DWC3 glue. | ||
20 | - dwc3 : | ||
21 | The binding details of dwc3 can be found in: | ||
22 | Documentation/devicetree/bindings/usb/dwc3.txt | ||
23 | |||
24 | Example: | ||
25 | usb: usb@2680000 { | ||
26 | compatible = "ti,keystone-dwc3"; | ||
27 | #address-cells = <1>; | ||
28 | #size-cells = <1>; | ||
29 | reg = <0x2680000 0x10000>; | ||
30 | clocks = <&clkusb>; | ||
31 | clock-names = "usb"; | ||
32 | interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>; | ||
33 | ranges; | ||
34 | status = "disabled"; | ||
35 | |||
36 | dwc3@2690000 { | ||
37 | compatible = "synopsys,dwc3"; | ||
38 | reg = <0x2690000 0x70000>; | ||
39 | interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>; | ||
40 | usb-phy = <&usb_phy>, <&usb_phy>; | ||
41 | }; | ||
42 | }; | ||