diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/arm/atmel-aic.txt | 38 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/atmel-at91.txt | 32 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/fsl.txt | 22 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/mrvl.txt | 6 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/omap/intc.txt | 27 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/arm/vexpress.txt | 146 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/gpio/gpio_atmel.txt | 20 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/gpio/mrvl-gpio.txt | 23 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/i2c/mrvl-i2c.txt | 37 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/rtc/sa1100-rtc.txt | 17 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/serial/mrvl-serial.txt | 4 |
11 files changed, 372 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/arm/atmel-aic.txt b/Documentation/devicetree/bindings/arm/atmel-aic.txt new file mode 100644 index 000000000000..aabca4f83402 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/atmel-aic.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | * Advanced Interrupt Controller (AIC) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "atmel,<chip>-aic" | ||
5 | - interrupt-controller: Identifies the node as an interrupt controller. | ||
6 | - interrupt-parent: For single AIC system, it is an empty property. | ||
7 | - #interrupt-cells: The number of cells to define the interrupts. It sould be 2. | ||
8 | The first cell is the IRQ number (aka "Peripheral IDentifier" on datasheet). | ||
9 | The second cell is used to specify flags: | ||
10 | bits[3:0] trigger type and level flags: | ||
11 | 1 = low-to-high edge triggered. | ||
12 | 2 = high-to-low edge triggered. | ||
13 | 4 = active high level-sensitive. | ||
14 | 8 = active low level-sensitive. | ||
15 | Valid combinations are 1, 2, 3, 4, 8. | ||
16 | Default flag for internal sources should be set to 4 (active high). | ||
17 | - reg: Should contain AIC registers location and length | ||
18 | |||
19 | Examples: | ||
20 | /* | ||
21 | * AIC | ||
22 | */ | ||
23 | aic: interrupt-controller@fffff000 { | ||
24 | compatible = "atmel,at91rm9200-aic"; | ||
25 | interrupt-controller; | ||
26 | interrupt-parent; | ||
27 | #interrupt-cells = <2>; | ||
28 | reg = <0xfffff000 0x200>; | ||
29 | }; | ||
30 | |||
31 | /* | ||
32 | * An interrupt generating device that is wired to an AIC. | ||
33 | */ | ||
34 | dma: dma-controller@ffffec00 { | ||
35 | compatible = "atmel,at91sam9g45-dma"; | ||
36 | reg = <0xffffec00 0x200>; | ||
37 | interrupts = <21 4>; | ||
38 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.txt b/Documentation/devicetree/bindings/arm/atmel-at91.txt new file mode 100644 index 000000000000..1aeaf6f2a1ba --- /dev/null +++ b/Documentation/devicetree/bindings/arm/atmel-at91.txt | |||
@@ -0,0 +1,32 @@ | |||
1 | Atmel AT91 device tree bindings. | ||
2 | ================================ | ||
3 | |||
4 | PIT Timer required properties: | ||
5 | - compatible: Should be "atmel,at91sam9260-pit" | ||
6 | - reg: Should contain registers location and length | ||
7 | - interrupts: Should contain interrupt for the PIT which is the IRQ line | ||
8 | shared across all System Controller members. | ||
9 | |||
10 | TC/TCLIB Timer required properties: | ||
11 | - compatible: Should be "atmel,<chip>-pit". | ||
12 | <chip> can be "at91rm9200" or "at91sam9x5" | ||
13 | - reg: Should contain registers location and length | ||
14 | - interrupts: Should contain all interrupts for the TC block | ||
15 | Note that you can specify several interrupt cells if the TC | ||
16 | block has one interrupt per channel. | ||
17 | |||
18 | Examples: | ||
19 | |||
20 | One interrupt per TC block: | ||
21 | tcb0: timer@fff7c000 { | ||
22 | compatible = "atmel,at91rm9200-tcb"; | ||
23 | reg = <0xfff7c000 0x100>; | ||
24 | interrupts = <18 4>; | ||
25 | }; | ||
26 | |||
27 | One interrupt per TC channel in a TC block: | ||
28 | tcb1: timer@fffdc000 { | ||
29 | compatible = "atmel,at91rm9200-tcb"; | ||
30 | reg = <0xfffdc000 0x100>; | ||
31 | interrupts = <26 4 27 4 28 4>; | ||
32 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt index 54bdddadf1cf..bfbc771a65f8 100644 --- a/Documentation/devicetree/bindings/arm/fsl.txt +++ b/Documentation/devicetree/bindings/arm/fsl.txt | |||
@@ -28,3 +28,25 @@ Required root node properties: | |||
28 | i.MX6 Quad SABRE Lite Board | 28 | i.MX6 Quad SABRE Lite Board |
29 | Required root node properties: | 29 | Required root node properties: |
30 | - compatible = "fsl,imx6q-sabrelite", "fsl,imx6q"; | 30 | - compatible = "fsl,imx6q-sabrelite", "fsl,imx6q"; |
31 | |||
32 | Generic i.MX boards | ||
33 | ------------------- | ||
34 | |||
35 | No iomux setup is done for these boards, so this must have been configured | ||
36 | by the bootloader for boards to work with the generic bindings. | ||
37 | |||
38 | i.MX27 generic board | ||
39 | Required root node properties: | ||
40 | - compatible = "fsl,imx27"; | ||
41 | |||
42 | i.MX51 generic board | ||
43 | Required root node properties: | ||
44 | - compatible = "fsl,imx51"; | ||
45 | |||
46 | i.MX53 generic board | ||
47 | Required root node properties: | ||
48 | - compatible = "fsl,imx53"; | ||
49 | |||
50 | i.MX6q generic board | ||
51 | Required root node properties: | ||
52 | - compatible = "fsl,imx6q"; | ||
diff --git a/Documentation/devicetree/bindings/arm/mrvl.txt b/Documentation/devicetree/bindings/arm/mrvl.txt new file mode 100644 index 000000000000..d8de933e9d81 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/mrvl.txt | |||
@@ -0,0 +1,6 @@ | |||
1 | Marvell Platforms Device Tree Bindings | ||
2 | ---------------------------------------------------- | ||
3 | |||
4 | PXA168 Aspenite Board | ||
5 | Required root node properties: | ||
6 | - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168"; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/intc.txt b/Documentation/devicetree/bindings/arm/omap/intc.txt new file mode 100644 index 000000000000..f2583e6ec060 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/intc.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * OMAP Interrupt Controller | ||
2 | |||
3 | OMAP2/3 are using a TI interrupt controller that can support several | ||
4 | configurable number of interrupts. | ||
5 | |||
6 | Main node required properties: | ||
7 | |||
8 | - compatible : should be: | ||
9 | "ti,omap2-intc" | ||
10 | - interrupt-controller : Identifies the node as an interrupt controller | ||
11 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
12 | interrupt source. The type shall be a <u32> and the value shall be 1. | ||
13 | |||
14 | The cell contains the interrupt number in the range [0-128]. | ||
15 | - ti,intc-size: Number of interrupts handled by the interrupt controller. | ||
16 | - reg: physical base address and size of the intc registers map. | ||
17 | |||
18 | Example: | ||
19 | |||
20 | intc: interrupt-controller@1 { | ||
21 | compatible = "ti,omap2-intc"; | ||
22 | interrupt-controller; | ||
23 | #interrupt-cells = <1>; | ||
24 | ti,intc-size = <96>; | ||
25 | reg = <0x48200000 0x1000>; | ||
26 | }; | ||
27 | |||
diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt b/Documentation/devicetree/bindings/arm/vexpress.txt new file mode 100644 index 000000000000..ec8b50cbb2e8 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/vexpress.txt | |||
@@ -0,0 +1,146 @@ | |||
1 | ARM Versatile Express boards family | ||
2 | ----------------------------------- | ||
3 | |||
4 | ARM's Versatile Express platform consists of a motherboard and one | ||
5 | or more daughterboards (tiles). The motherboard provides a set of | ||
6 | peripherals. Processor and RAM "live" on the tiles. | ||
7 | |||
8 | The motherboard and each core tile should be described by a separate | ||
9 | Device Tree source file, with the tile's description including | ||
10 | the motherboard file using a /include/ directive. As the motherboard | ||
11 | can be initialized in one of two different configurations ("memory | ||
12 | maps"), care must be taken to include the correct one. | ||
13 | |||
14 | Required properties in the root node: | ||
15 | - compatible value: | ||
16 | compatible = "arm,vexpress,<model>", "arm,vexpress"; | ||
17 | where <model> is the full tile model name (as used in the tile's | ||
18 | Technical Reference Manual), eg.: | ||
19 | - for Coretile Express A5x2 (V2P-CA5s): | ||
20 | compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress"; | ||
21 | - for Coretile Express A9x4 (V2P-CA9): | ||
22 | compatible = "arm,vexpress,v2p-ca9", "arm,vexpress"; | ||
23 | If a tile comes in several variants or can be used in more then one | ||
24 | configuration, the compatible value should be: | ||
25 | compatible = "arm,vexpress,<model>,<variant>", \ | ||
26 | "arm,vexpress,<model>", "arm,vexpress"; | ||
27 | eg: | ||
28 | - Coretile Express A15x2 (V2P-CA15) with Tech Chip 1: | ||
29 | compatible = "arm,vexpress,v2p-ca15,tc1", \ | ||
30 | "arm,vexpress,v2p-ca15", "arm,vexpress"; | ||
31 | - LogicTile Express 13MG (V2F-2XV6) running Cortex-A7 (3 cores) SMM: | ||
32 | compatible = "arm,vexpress,v2f-2xv6,ca7x3", \ | ||
33 | "arm,vexpress,v2f-2xv6", "arm,vexpress"; | ||
34 | |||
35 | Optional properties in the root node: | ||
36 | - tile model name (use name from the tile's Technical Reference | ||
37 | Manual, eg. "V2P-CA5s") | ||
38 | model = "<model>"; | ||
39 | - tile's HBI number (unique ARM's board model ID, visible on the | ||
40 | PCB's silkscreen) in hexadecimal transcription: | ||
41 | arm,hbi = <0xhbi> | ||
42 | eg: | ||
43 | - for Coretile Express A5x2 (V2P-CA5s) HBI-0191: | ||
44 | arm,hbi = <0x191>; | ||
45 | - Coretile Express A9x4 (V2P-CA9) HBI-0225: | ||
46 | arm,hbi = <0x225>; | ||
47 | |||
48 | Top-level standard "cpus" node is required. It must contain a node | ||
49 | with device_type = "cpu" property for every available core, eg.: | ||
50 | |||
51 | cpus { | ||
52 | #address-cells = <1>; | ||
53 | #size-cells = <0>; | ||
54 | |||
55 | cpu@0 { | ||
56 | device_type = "cpu"; | ||
57 | compatible = "arm,cortex-a5"; | ||
58 | reg = <0>; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | The motherboard description file provides a single "motherboard" node | ||
63 | using 2 address cells corresponding to the Static Memory Bus used | ||
64 | between the motherboard and the tile. The first cell defines the Chip | ||
65 | Select (CS) line number, the second cell address offset within the CS. | ||
66 | All interrupt lines between the motherboard and the tile are active | ||
67 | high and are described using single cell. | ||
68 | |||
69 | Optional properties of the "motherboard" node: | ||
70 | - motherboard's memory map variant: | ||
71 | arm,v2m-memory-map = "<name>"; | ||
72 | where name is one of: | ||
73 | - "rs1" - for RS1 map (i.a. peripherals on CS3); this map is also | ||
74 | referred to as "ARM Cortex-A Series memory map": | ||
75 | arm,v2m-memory-map = "rs1"; | ||
76 | When this property is missing, the motherboard is using the original | ||
77 | memory map (also known as the "Legacy memory map", primarily used | ||
78 | with the original CoreTile Express A9x4) with peripherals on CS7. | ||
79 | |||
80 | Motherboard .dtsi files provide a set of labelled peripherals that | ||
81 | can be used to obtain required phandle in the tile's "aliases" node: | ||
82 | - UARTs, note that the numbers correspond to the physical connectors | ||
83 | on the motherboard's back panel: | ||
84 | v2m_serial0, v2m_serial1, v2m_serial2 and v2m_serial3 | ||
85 | - I2C controllers: | ||
86 | v2m_i2c_dvi and v2m_i2c_pcie | ||
87 | - SP804 timers: | ||
88 | v2m_timer01 and v2m_timer23 | ||
89 | |||
90 | Current Linux implementation requires a "arm,v2m_timer" alias | ||
91 | pointing at one of the motherboard's SP804 timers, if it is to be | ||
92 | used as the system timer. This alias should be defined in the | ||
93 | motherboard files. | ||
94 | |||
95 | The tile description must define "ranges", "interrupt-map-mask" and | ||
96 | "interrupt-map" properties to translate the motherboard's address | ||
97 | and interrupt space into one used by the tile's processor. | ||
98 | |||
99 | Abbreviated example: | ||
100 | |||
101 | /dts-v1/; | ||
102 | |||
103 | / { | ||
104 | model = "V2P-CA5s"; | ||
105 | arm,hbi = <0x225>; | ||
106 | compatible = "arm,vexpress-v2p-ca5s", "arm,vexpress"; | ||
107 | interrupt-parent = <&gic>; | ||
108 | #address-cells = <1>; | ||
109 | #size-cells = <1>; | ||
110 | |||
111 | chosen { }; | ||
112 | |||
113 | aliases { | ||
114 | serial0 = &v2m_serial0; | ||
115 | }; | ||
116 | |||
117 | cpus { | ||
118 | #address-cells = <1>; | ||
119 | #size-cells = <0>; | ||
120 | |||
121 | cpu@0 { | ||
122 | device_type = "cpu"; | ||
123 | compatible = "arm,cortex-a5"; | ||
124 | reg = <0>; | ||
125 | }; | ||
126 | }; | ||
127 | |||
128 | gic: interrupt-controller@2c001000 { | ||
129 | compatible = "arm,cortex-a9-gic"; | ||
130 | #interrupt-cells = <3>; | ||
131 | #address-cells = <0>; | ||
132 | interrupt-controller; | ||
133 | reg = <0x2c001000 0x1000>, | ||
134 | <0x2c000100 0x100>; | ||
135 | }; | ||
136 | |||
137 | motherboard { | ||
138 | /* CS0 is visible at 0x08000000 */ | ||
139 | ranges = <0 0 0x08000000 0x04000000>; | ||
140 | interrupt-map-mask = <0 0 63>; | ||
141 | /* Active high IRQ 0 is connected to GIC's SPI0 */ | ||
142 | interrupt-map = <0 0 0 &gic 0 0 4>; | ||
143 | }; | ||
144 | }; | ||
145 | |||
146 | /include/ "vexpress-v2m-rs1.dtsi" | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio_atmel.txt b/Documentation/devicetree/bindings/gpio/gpio_atmel.txt new file mode 100644 index 000000000000..66efc804806a --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio_atmel.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | * Atmel GPIO controller (PIO) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "atmel,<chip>-gpio", where <chip> is at91rm9200 or at91sam9x5. | ||
5 | - reg: Should contain GPIO controller registers location and length | ||
6 | - interrupts: Should be the port interrupt shared by all the pins. | ||
7 | - #gpio-cells: Should be two. The first cell is the pin number and | ||
8 | the second cell is used to specify optional parameters (currently | ||
9 | unused). | ||
10 | - gpio-controller: Marks the device node as a GPIO controller. | ||
11 | |||
12 | Example: | ||
13 | pioA: gpio@fffff200 { | ||
14 | compatible = "atmel,at91rm9200-gpio"; | ||
15 | reg = <0xfffff200 0x100>; | ||
16 | interrupts = <2 4>; | ||
17 | #gpio-cells = <2>; | ||
18 | gpio-controller; | ||
19 | }; | ||
20 | |||
diff --git a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt new file mode 100644 index 000000000000..1e34cfe5ebea --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | * Marvell PXA GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-gpio" | ||
5 | - reg : Address and length of the register set for the device | ||
6 | - interrupts : Should be the port interrupt shared by all gpio pins, if | ||
7 | - interrupt-name : Should be the name of irq resource. | ||
8 | one number. | ||
9 | - gpio-controller : Marks the device node as a gpio controller. | ||
10 | - #gpio-cells : Should be one. It is the pin number. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | gpio: gpio@d4019000 { | ||
15 | compatible = "mrvl,mmp-gpio", "mrvl,pxa-gpio"; | ||
16 | reg = <0xd4019000 0x1000>; | ||
17 | interrupts = <49>, <17>, <18>; | ||
18 | interrupt-name = "gpio_mux", "gpio0", "gpio1"; | ||
19 | gpio-controller; | ||
20 | #gpio-cells = <1>; | ||
21 | interrupt-controller; | ||
22 | #interrupt-cells = <1>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt b/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt new file mode 100644 index 000000000000..071eb3caae91 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/mrvl-i2c.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | * I2C | ||
2 | |||
3 | Required properties : | ||
4 | |||
5 | - reg : Offset and length of the register set for the device | ||
6 | - compatible : should be "mrvl,mmp-twsi" where CHIP is the name of a | ||
7 | compatible processor, e.g. pxa168, pxa910, mmp2, mmp3. | ||
8 | For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required | ||
9 | as shown in the example below. | ||
10 | |||
11 | Recommended properties : | ||
12 | |||
13 | - interrupts : <a b> where a is the interrupt number and b is a | ||
14 | field that represents an encoding of the sense and level | ||
15 | information for the interrupt. This should be encoded based on | ||
16 | the information in section 2) depending on the type of interrupt | ||
17 | controller you have. | ||
18 | - interrupt-parent : the phandle for the interrupt controller that | ||
19 | services interrupts for this device. | ||
20 | - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling | ||
21 | status register of i2c controller instead. | ||
22 | - mrvl,i2c-fast-mode : Enable fast mode of i2c controller. | ||
23 | |||
24 | Examples: | ||
25 | twsi1: i2c@d4011000 { | ||
26 | compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c"; | ||
27 | reg = <0xd4011000 0x1000>; | ||
28 | interrupts = <7>; | ||
29 | mrvl,i2c-fast-mode; | ||
30 | }; | ||
31 | |||
32 | twsi2: i2c@d4025000 { | ||
33 | compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c"; | ||
34 | reg = <0xd4025000 0x1000>; | ||
35 | interrupts = <58>; | ||
36 | }; | ||
37 | |||
diff --git a/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt new file mode 100644 index 000000000000..0cda19ad4859 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/sa1100-rtc.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * Marvell Real Time Clock controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "mrvl,sa1100-rtc" | ||
5 | - reg: physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: Should be two. The first interrupt number is the rtc alarm | ||
8 | interrupt and the second interrupt number is the rtc hz interrupt. | ||
9 | - interrupt-names: Assign name of irq resource. | ||
10 | |||
11 | Example: | ||
12 | rtc: rtc@d4010000 { | ||
13 | compatible = "mrvl,mmp-rtc"; | ||
14 | reg = <0xd4010000 0x1000>; | ||
15 | interrupts = <5>, <6>; | ||
16 | interrupt-name = "rtc 1Hz", "rtc alarm"; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt new file mode 100644 index 000000000000..d744340de887 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/mrvl-serial.txt | |||
@@ -0,0 +1,4 @@ | |||
1 | PXA UART controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart". | ||