diff options
Diffstat (limited to 'Documentation/devicetree/bindings')
86 files changed, 3022 insertions, 64 deletions
diff --git a/Documentation/devicetree/bindings/arm/calxeda.txt b/Documentation/devicetree/bindings/arm/calxeda.txt new file mode 100644 index 000000000000..4755caaccba6 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/calxeda.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | Calxeda Highbank Platforms Device Tree Bindings | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | Boards with Calxeda Cortex-A9 based Highbank SOC shall have the following | ||
5 | properties. | ||
6 | |||
7 | Required root node properties: | ||
8 | - compatible = "calxeda,highbank"; | ||
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt new file mode 100644 index 000000000000..54bdddadf1cf --- /dev/null +++ b/Documentation/devicetree/bindings/arm/fsl.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Freescale i.MX Platforms Device Tree Bindings | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | i.MX51 Babbage Board | ||
5 | Required root node properties: | ||
6 | - compatible = "fsl,imx51-babbage", "fsl,imx51"; | ||
7 | |||
8 | i.MX53 Automotive Reference Design Board | ||
9 | Required root node properties: | ||
10 | - compatible = "fsl,imx53-ard", "fsl,imx53"; | ||
11 | |||
12 | i.MX53 Evaluation Kit | ||
13 | Required root node properties: | ||
14 | - compatible = "fsl,imx53-evk", "fsl,imx53"; | ||
15 | |||
16 | i.MX53 Quick Start Board | ||
17 | Required root node properties: | ||
18 | - compatible = "fsl,imx53-qsb", "fsl,imx53"; | ||
19 | |||
20 | i.MX53 Smart Mobile Reference Design Board | ||
21 | Required root node properties: | ||
22 | - compatible = "fsl,imx53-smd", "fsl,imx53"; | ||
23 | |||
24 | i.MX6 Quad Armadillo2 Board | ||
25 | Required root node properties: | ||
26 | - compatible = "fsl,imx6q-arm2", "fsl,imx6q"; | ||
27 | |||
28 | i.MX6 Quad SABRE Lite Board | ||
29 | Required root node properties: | ||
30 | - compatible = "fsl,imx6q-sabrelite", "fsl,imx6q"; | ||
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt new file mode 100644 index 000000000000..9b4b82a721b6 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/gic.txt | |||
@@ -0,0 +1,59 @@ | |||
1 | * ARM Generic Interrupt Controller | ||
2 | |||
3 | ARM SMP cores are often associated with a GIC, providing per processor | ||
4 | interrupts (PPI), shared processor interrupts (SPI) and software | ||
5 | generated interrupts (SGI). | ||
6 | |||
7 | Primary GIC is attached directly to the CPU and typically has PPIs and SGIs. | ||
8 | Secondary GICs are cascaded into the upward interrupt controller and do not | ||
9 | have PPIs or SGIs. | ||
10 | |||
11 | Main node required properties: | ||
12 | |||
13 | - compatible : should be one of: | ||
14 | "arm,cortex-a9-gic" | ||
15 | "arm,arm11mp-gic" | ||
16 | - interrupt-controller : Identifies the node as an interrupt controller | ||
17 | - #interrupt-cells : Specifies the number of cells needed to encode an | ||
18 | interrupt source. The type shall be a <u32> and the value shall be 3. | ||
19 | |||
20 | The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI | ||
21 | interrupts. | ||
22 | |||
23 | The 2nd cell contains the interrupt number for the interrupt type. | ||
24 | SPI interrupts are in the range [0-987]. PPI interrupts are in the | ||
25 | range [0-15]. | ||
26 | |||
27 | The 3rd cell is the flags, encoded as follows: | ||
28 | bits[3:0] trigger type and level flags. | ||
29 | 1 = low-to-high edge triggered | ||
30 | 2 = high-to-low edge triggered | ||
31 | 4 = active high level-sensitive | ||
32 | 8 = active low level-sensitive | ||
33 | bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of | ||
34 | the 8 possible cpus attached to the GIC. A bit set to '1' indicated | ||
35 | the interrupt is wired to that CPU. Only valid for PPI interrupts. | ||
36 | |||
37 | - reg : Specifies base physical address(s) and size of the GIC registers. The | ||
38 | first region is the GIC distributor register base and size. The 2nd region is | ||
39 | the GIC cpu interface register base and size. | ||
40 | |||
41 | Optional | ||
42 | - interrupts : Interrupt source of the parent interrupt controller. Only | ||
43 | present on secondary GICs. | ||
44 | |||
45 | - cpu-offset : per-cpu offset within the distributor and cpu interface | ||
46 | regions, used when the GIC doesn't have banked registers. The offset is | ||
47 | cpu-offset * cpu-nr. | ||
48 | |||
49 | Example: | ||
50 | |||
51 | intc: interrupt-controller@fff11000 { | ||
52 | compatible = "arm,cortex-a9-gic"; | ||
53 | #interrupt-cells = <3>; | ||
54 | #address-cells = <1>; | ||
55 | interrupt-controller; | ||
56 | reg = <0xfff11000 0x1000>, | ||
57 | <0xfff10100 0x100>; | ||
58 | }; | ||
59 | |||
diff --git a/Documentation/devicetree/bindings/arm/insignal-boards.txt b/Documentation/devicetree/bindings/arm/insignal-boards.txt new file mode 100644 index 000000000000..524c3dc5d808 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/insignal-boards.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | * Insignal's Exynos4210 based Origen evaluation board | ||
2 | |||
3 | Origen low-cost evaluation board is based on Samsung's Exynos4210 SoC. | ||
4 | |||
5 | Required root node properties: | ||
6 | - compatible = should be one or more of the following. | ||
7 | (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. | ||
8 | (b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. | ||
diff --git a/Documentation/devicetree/bindings/arm/l2cc.txt b/Documentation/devicetree/bindings/arm/l2cc.txt new file mode 100644 index 000000000000..7ca52161e7ab --- /dev/null +++ b/Documentation/devicetree/bindings/arm/l2cc.txt | |||
@@ -0,0 +1,44 @@ | |||
1 | * ARM L2 Cache Controller | ||
2 | |||
3 | ARM cores often have a separate level 2 cache controller. There are various | ||
4 | implementations of the L2 cache controller with compatible programming models. | ||
5 | The ARM L2 cache representation in the device tree should be done as follows: | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - compatible : should be one of: | ||
10 | "arm,pl310-cache" | ||
11 | "arm,l220-cache" | ||
12 | "arm,l210-cache" | ||
13 | - cache-unified : Specifies the cache is a unified cache. | ||
14 | - cache-level : Should be set to 2 for a level 2 cache. | ||
15 | - reg : Physical base address and size of cache controller's memory mapped | ||
16 | registers. | ||
17 | |||
18 | Optional properties: | ||
19 | |||
20 | - arm,data-latency : Cycles of latency for Data RAM accesses. Specifies 3 cells of | ||
21 | read, write and setup latencies. Minimum valid values are 1. Controllers | ||
22 | without setup latency control should use a value of 0. | ||
23 | - arm,tag-latency : Cycles of latency for Tag RAM accesses. Specifies 3 cells of | ||
24 | read, write and setup latencies. Controllers without setup latency control | ||
25 | should use 0. Controllers without separate read and write Tag RAM latency | ||
26 | values should only use the first cell. | ||
27 | - arm,dirty-latency : Cycles of latency for Dirty RAMs. This is a single cell. | ||
28 | - arm,filter-ranges : <start length> Starting address and length of window to | ||
29 | filter. Addresses in the filter window are directed to the M1 port. Other | ||
30 | addresses will go to the M0 port. | ||
31 | - interrupts : 1 combined interrupt. | ||
32 | |||
33 | Example: | ||
34 | |||
35 | L2: cache-controller { | ||
36 | compatible = "arm,pl310-cache"; | ||
37 | reg = <0xfff12000 0x1000>; | ||
38 | arm,data-latency = <1 1 1>; | ||
39 | arm,tag-latency = <2 2 2>; | ||
40 | arm,filter-latency = <0x80000000 0x8000000>; | ||
41 | cache-unified; | ||
42 | cache-level = <2>; | ||
43 | interrupts = <45>; | ||
44 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/dsp.txt b/Documentation/devicetree/bindings/arm/omap/dsp.txt new file mode 100644 index 000000000000..d3830a32ce08 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/dsp.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * TI - DSP (Digital Signal Processor) | ||
2 | |||
3 | TI DSP included in OMAP SoC | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Should be "ti,omap3-c64" for OMAP3 & 4 | ||
7 | - ti,hwmods: "dsp" | ||
8 | |||
9 | Examples: | ||
10 | |||
11 | dsp { | ||
12 | compatible = "ti,omap3-c64"; | ||
13 | ti,hwmods = "dsp"; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/iva.txt b/Documentation/devicetree/bindings/arm/omap/iva.txt new file mode 100644 index 000000000000..6d6295171358 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/iva.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | * TI - IVA (Imaging and Video Accelerator) subsystem | ||
2 | |||
3 | The IVA contain various audio, video or imaging HW accelerator | ||
4 | depending of the version. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Should be: | ||
8 | - "ti,ivahd" for OMAP4 | ||
9 | - "ti,iva2.2" for OMAP3 | ||
10 | - "ti,iva2.1" for OMAP2430 | ||
11 | - "ti,iva1" for OMAP2420 | ||
12 | - ti,hwmods: "iva" | ||
13 | |||
14 | Examples: | ||
15 | |||
16 | iva { | ||
17 | compatible = "ti,ivahd", "ti,iva"; | ||
18 | ti,hwmods = "iva"; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/l3-noc.txt b/Documentation/devicetree/bindings/arm/omap/l3-noc.txt new file mode 100644 index 000000000000..6888a5efc860 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/l3-noc.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | * TI - L3 Network On Chip (NoC) | ||
2 | |||
3 | This version is an implementation of the generic NoC IP | ||
4 | provided by Arteris. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Should be "ti,omap3-l3-smx" for OMAP3 family | ||
8 | Should be "ti,omap4-l3-noc" for OMAP4 family | ||
9 | - ti,hwmods: "l3_main_1", ... One hwmod for each noc domain. | ||
10 | |||
11 | Examples: | ||
12 | |||
13 | ocp { | ||
14 | compatible = "ti,omap4-l3-noc", "simple-bus"; | ||
15 | #address-cells = <1>; | ||
16 | #size-cells = <1>; | ||
17 | ranges; | ||
18 | ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/mpu.txt b/Documentation/devicetree/bindings/arm/omap/mpu.txt new file mode 100644 index 000000000000..1a5a42ce21bb --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/mpu.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * TI - MPU (Main Processor Unit) subsystem | ||
2 | |||
3 | The MPU subsystem contain one or several ARM cores | ||
4 | depending of the version. | ||
5 | The MPU contain CPUs, GIC, L2 cache and a local PRCM. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible : Should be "ti,omap3-mpu" for OMAP3 | ||
9 | Should be "ti,omap4-mpu" for OMAP4 | ||
10 | - ti,hwmods: "mpu" | ||
11 | |||
12 | Examples: | ||
13 | |||
14 | - For an OMAP4 SMP system: | ||
15 | |||
16 | mpu { | ||
17 | compatible = "ti,omap4-mpu"; | ||
18 | ti,hwmods = "mpu"; | ||
19 | }; | ||
20 | |||
21 | |||
22 | - For an OMAP3 monocore system: | ||
23 | |||
24 | mpu { | ||
25 | compatible = "ti,omap3-mpu"; | ||
26 | ti,hwmods = "mpu"; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt new file mode 100644 index 000000000000..dbdab40ed3a6 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -0,0 +1,43 @@ | |||
1 | * Texas Instruments OMAP | ||
2 | |||
3 | OMAP is currently using a static file per SoC family to describe the | ||
4 | IPs present in the SoC. | ||
5 | On top of that an omap_device is created to extend the platform_device | ||
6 | capabilities and to allow binding with one or several hwmods. | ||
7 | The hwmods will contain all the information to build the device: | ||
8 | adresse range, irq lines, dma lines, interconnect, PRCM register, | ||
9 | clock domain, input clocks. | ||
10 | For the moment just point to the existing hwmod, the next step will be | ||
11 | to move data from hwmod to device-tree representation. | ||
12 | |||
13 | |||
14 | Required properties: | ||
15 | - compatible: Every devices present in OMAP SoC should be in the | ||
16 | form: "ti,XXX" | ||
17 | - ti,hwmods: list of hwmod names (ascii strings), that comes from the OMAP | ||
18 | HW documentation, attached to a device. Must contain at least | ||
19 | one hwmod. | ||
20 | |||
21 | Optional properties: | ||
22 | - ti,no_idle_on_suspend: When present, it prevents the PM to idle the module | ||
23 | during suspend. | ||
24 | |||
25 | |||
26 | Example: | ||
27 | |||
28 | spinlock@1 { | ||
29 | compatible = "ti,omap4-spinlock"; | ||
30 | ti,hwmods = "spinlock"; | ||
31 | }; | ||
32 | |||
33 | |||
34 | Boards: | ||
35 | |||
36 | - OMAP3 BeagleBoard : Low cost community board | ||
37 | compatible = "ti,omap3-beagle", "ti,omap3" | ||
38 | |||
39 | - OMAP4 SDP : Software Developement Board | ||
40 | compatible = "ti,omap4-sdp", "ti,omap4430" | ||
41 | |||
42 | - OMAP4 PandaBoard : Low cost community board | ||
43 | compatible = "ti,omap4-panda", "ti,omap4430" | ||
diff --git a/Documentation/devicetree/bindings/arm/picoxcell.txt b/Documentation/devicetree/bindings/arm/picoxcell.txt new file mode 100644 index 000000000000..e75c0ef51e69 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/picoxcell.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | Picochip picoXcell device tree bindings. | ||
2 | ======================================== | ||
3 | |||
4 | Required root node properties: | ||
5 | - compatible: | ||
6 | - "picochip,pc7302-pc3x3" : PC7302 development board with PC3X3 device. | ||
7 | - "picochip,pc7302-pc3x2" : PC7302 development board with PC3X2 device. | ||
8 | - "picochip,pc3x3" : picoXcell PC3X3 device based board. | ||
9 | - "picochip,pc3x2" : picoXcell PC3X2 device based board. | ||
10 | |||
11 | Timers required properties: | ||
12 | - compatible = "picochip,pc3x2-timer" | ||
13 | - interrupts : The single IRQ line for the timer. | ||
14 | - clock-freq : The frequency in HZ of the timer. | ||
15 | - reg : The register bank for the timer. | ||
16 | |||
17 | Note: two timers are required - one for the scheduler clock and one for the | ||
18 | event tick/NOHZ. | ||
19 | |||
20 | VIC required properties: | ||
21 | - compatible = "arm,pl192-vic". | ||
22 | - interrupt-controller. | ||
23 | - reg : The register bank for the device. | ||
24 | - #interrupt-cells : Must be 1. | ||
diff --git a/Documentation/devicetree/bindings/arm/primecell.txt b/Documentation/devicetree/bindings/arm/primecell.txt index 1d5d7a870ec7..951ca46789d4 100644 --- a/Documentation/devicetree/bindings/arm/primecell.txt +++ b/Documentation/devicetree/bindings/arm/primecell.txt | |||
@@ -6,7 +6,9 @@ driver matching. | |||
6 | 6 | ||
7 | Required properties: | 7 | Required properties: |
8 | 8 | ||
9 | - compatible : should be a specific value for peripheral and "arm,primecell" | 9 | - compatible : should be a specific name for the peripheral and |
10 | "arm,primecell". The specific name will match the ARM | ||
11 | engineering name for the logic block in the form: "arm,pl???" | ||
10 | 12 | ||
11 | Optional properties: | 13 | Optional properties: |
12 | 14 | ||
diff --git a/Documentation/devicetree/bindings/arm/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung-boards.txt new file mode 100644 index 000000000000..0bf68be56fd1 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/samsung-boards.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | * Samsung's Exynos4210 based SMDKV310 evaluation board | ||
2 | |||
3 | SMDKV310 evaluation board is based on Samsung's Exynos4210 SoC. | ||
4 | |||
5 | Required root node properties: | ||
6 | - compatible = should be one or more of the following. | ||
7 | (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. | ||
8 | (b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. | ||
diff --git a/Documentation/devicetree/bindings/arm/tegra.txt b/Documentation/devicetree/bindings/arm/tegra.txt new file mode 100644 index 000000000000..6e69d2e5e766 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/tegra.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | NVIDIA Tegra device tree bindings | ||
2 | ------------------------------------------- | ||
3 | |||
4 | Boards with the tegra20 SoC shall have the following properties: | ||
5 | |||
6 | Required root node property: | ||
7 | |||
8 | compatible = "nvidia,tegra20"; | ||
9 | |||
10 | Boards with the tegra30 SoC shall have the following properties: | ||
11 | |||
12 | Required root node property: | ||
13 | |||
14 | compatible = "nvidia,tegra30"; | ||
diff --git a/Documentation/devicetree/bindings/arm/vic.txt b/Documentation/devicetree/bindings/arm/vic.txt new file mode 100644 index 000000000000..266716b23437 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/vic.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | * ARM Vectored Interrupt Controller | ||
2 | |||
3 | One or more Vectored Interrupt Controllers (VIC's) can be connected in an ARM | ||
4 | system for interrupt routing. For multiple controllers they can either be | ||
5 | nested or have the outputs wire-OR'd together. | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - compatible : should be one of | ||
10 | "arm,pl190-vic" | ||
11 | "arm,pl192-vic" | ||
12 | - interrupt-controller : Identifies the node as an interrupt controller | ||
13 | - #interrupt-cells : The number of cells to define the interrupts. Must be 1 as | ||
14 | the VIC has no configuration options for interrupt sources. The cell is a u32 | ||
15 | and defines the interrupt number. | ||
16 | - reg : The register bank for the VIC. | ||
17 | |||
18 | Optional properties: | ||
19 | |||
20 | - interrupts : Interrupt source for parent controllers if the VIC is nested. | ||
21 | |||
22 | Example: | ||
23 | |||
24 | vic0: interrupt-controller@60000 { | ||
25 | compatible = "arm,pl192-vic"; | ||
26 | interrupt-controller; | ||
27 | #interrupt-cells = <1>; | ||
28 | reg = <0x60000 0x1000>; | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/calxeda-sata.txt b/Documentation/devicetree/bindings/ata/calxeda-sata.txt new file mode 100644 index 000000000000..79caa5651f53 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/calxeda-sata.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * Calxeda SATA Controller | ||
2 | |||
3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | ||
4 | Each SATA controller should have its own node. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : compatible list, contains "calxeda,hb-ahci" | ||
8 | - interrupts : <interrupt mapping for SATA IRQ> | ||
9 | - reg : <registers mapping> | ||
10 | |||
11 | Example: | ||
12 | sata@ffe08000 { | ||
13 | compatible = "calxeda,hb-ahci"; | ||
14 | reg = <0xffe08000 0x1000>; | ||
15 | interrupts = <115>; | ||
16 | }; | ||
17 | |||
diff --git a/Documentation/devicetree/bindings/c6x/clocks.txt b/Documentation/devicetree/bindings/c6x/clocks.txt new file mode 100644 index 000000000000..a04f5fd30122 --- /dev/null +++ b/Documentation/devicetree/bindings/c6x/clocks.txt | |||
@@ -0,0 +1,40 @@ | |||
1 | C6X PLL Clock Controllers | ||
2 | ------------------------- | ||
3 | |||
4 | This is a first-cut support for the SoC clock controllers. This is still | ||
5 | under development and will probably change as the common device tree | ||
6 | clock support is added to the kernel. | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | - compatible: "ti,c64x+pll" | ||
11 | May also have SoC-specific value to support SoC-specific initialization | ||
12 | in the driver. One of: | ||
13 | "ti,c6455-pll" | ||
14 | "ti,c6457-pll" | ||
15 | "ti,c6472-pll" | ||
16 | "ti,c6474-pll" | ||
17 | |||
18 | - reg: base address and size of register area | ||
19 | - clock-frequency: input clock frequency in hz | ||
20 | |||
21 | |||
22 | Optional properties: | ||
23 | |||
24 | - ti,c64x+pll-bypass-delay: CPU cycles to delay when entering bypass mode | ||
25 | |||
26 | - ti,c64x+pll-reset-delay: CPU cycles to delay after PLL reset | ||
27 | |||
28 | - ti,c64x+pll-lock-delay: CPU cycles to delay after PLL frequency change | ||
29 | |||
30 | Example: | ||
31 | |||
32 | clock-controller@29a0000 { | ||
33 | compatible = "ti,c6472-pll", "ti,c64x+pll"; | ||
34 | reg = <0x029a0000 0x200>; | ||
35 | clock-frequency = <25000000>; | ||
36 | |||
37 | ti,c64x+pll-bypass-delay = <200>; | ||
38 | ti,c64x+pll-reset-delay = <12000>; | ||
39 | ti,c64x+pll-lock-delay = <80000>; | ||
40 | }; | ||
diff --git a/Documentation/devicetree/bindings/c6x/dscr.txt b/Documentation/devicetree/bindings/c6x/dscr.txt new file mode 100644 index 000000000000..d847758f2b20 --- /dev/null +++ b/Documentation/devicetree/bindings/c6x/dscr.txt | |||
@@ -0,0 +1,127 @@ | |||
1 | Device State Configuration Registers | ||
2 | ------------------------------------ | ||
3 | |||
4 | TI C6X SoCs contain a region of miscellaneous registers which provide various | ||
5 | function for SoC control or status. Details vary considerably among from SoC | ||
6 | to SoC with no two being alike. | ||
7 | |||
8 | In general, the Device State Configuraion Registers (DSCR) will provide one or | ||
9 | more configuration registers often protected by a lock register where one or | ||
10 | more key values must be written to a lock register in order to unlock the | ||
11 | configuration register for writes. These configuration register may be used to | ||
12 | enable (and disable in some cases) SoC pin drivers, select peripheral clock | ||
13 | sources (internal or pin), etc. In some cases, a configuration register is | ||
14 | write once or the individual bits are write once. In addition to device config, | ||
15 | the DSCR block may provide registers which which are used to reset peripherals, | ||
16 | provide device ID information, provide ethernet MAC addresses, as well as other | ||
17 | miscellaneous functions. | ||
18 | |||
19 | For device state control (enable/disable), each device control is assigned an | ||
20 | id which is used by individual device drivers to control the state as needed. | ||
21 | |||
22 | Required properties: | ||
23 | |||
24 | - compatible: must be "ti,c64x+dscr" | ||
25 | - reg: register area base and size | ||
26 | |||
27 | Optional properties: | ||
28 | |||
29 | NOTE: These are optional in that not all SoCs will have all properties. For | ||
30 | SoCs which do support a given property, leaving the property out of the | ||
31 | device tree will result in reduced functionality or possibly driver | ||
32 | failure. | ||
33 | |||
34 | - ti,dscr-devstat | ||
35 | offset of the devstat register | ||
36 | |||
37 | - ti,dscr-silicon-rev | ||
38 | offset, start bit, and bitsize of silicon revision field | ||
39 | |||
40 | - ti,dscr-rmii-resets | ||
41 | offset and bitmask of RMII reset field. May have multiple tuples if more | ||
42 | than one ethernet port is available. | ||
43 | |||
44 | - ti,dscr-locked-regs | ||
45 | possibly multiple tuples describing registers which are write protected by | ||
46 | a lock register. Each tuple consists of the register offset, lock register | ||
47 | offsset, and the key value used to unlock the register. | ||
48 | |||
49 | - ti,dscr-kick-regs | ||
50 | offset and key values of two "kick" registers used to write protect other | ||
51 | registers in DSCR. On SoCs using kick registers, the first key must be | ||
52 | written to the first kick register and the second key must be written to | ||
53 | the second register before other registers in the area are write-enabled. | ||
54 | |||
55 | - ti,dscr-mac-fuse-regs | ||
56 | MAC addresses are contained in two registers. Each element of a MAC address | ||
57 | is contained in a single byte. This property has two tuples. Each tuple has | ||
58 | a register offset and four cells representing bytes in the register from | ||
59 | most significant to least. The value of these four cells is the MAC byte | ||
60 | index (1-6) of the byte within the register. A value of 0 means the byte | ||
61 | is unused in the MAC address. | ||
62 | |||
63 | - ti,dscr-devstate-ctl-regs | ||
64 | This property describes the bitfields used to control the state of devices. | ||
65 | Each tuple describes a range of identical bitfields used to control one or | ||
66 | more devices (one bitfield per device). The layout of each tuple is: | ||
67 | |||
68 | start_id num_ids reg enable disable start_bit nbits | ||
69 | |||
70 | Where: | ||
71 | start_id is device id for the first device control in the range | ||
72 | num_ids is the number of device controls in the range | ||
73 | reg is the offset of the register holding the control bits | ||
74 | enable is the value to enable a device | ||
75 | disable is the value to disable a device (0xffffffff if cannot disable) | ||
76 | start_bit is the bit number of the first bit in the range | ||
77 | nbits is the number of bits per device control | ||
78 | |||
79 | - ti,dscr-devstate-stat-regs | ||
80 | This property describes the bitfields used to provide device state status | ||
81 | for device states controlled by the DSCR. Each tuple describes a range of | ||
82 | identical bitfields used to provide status for one or more devices (one | ||
83 | bitfield per device). The layout of each tuple is: | ||
84 | |||
85 | start_id num_ids reg enable disable start_bit nbits | ||
86 | |||
87 | Where: | ||
88 | start_id is device id for the first device status in the range | ||
89 | num_ids is the number of devices covered by the range | ||
90 | reg is the offset of the register holding the status bits | ||
91 | enable is the value indicating device is enabled | ||
92 | disable is the value indicating device is disabled | ||
93 | start_bit is the bit number of the first bit in the range | ||
94 | nbits is the number of bits per device status | ||
95 | |||
96 | - ti,dscr-privperm | ||
97 | Offset and default value for register used to set access privilege for | ||
98 | some SoC devices. | ||
99 | |||
100 | |||
101 | Example: | ||
102 | |||
103 | device-state-config-regs@2a80000 { | ||
104 | compatible = "ti,c64x+dscr"; | ||
105 | reg = <0x02a80000 0x41000>; | ||
106 | |||
107 | ti,dscr-devstat = <0>; | ||
108 | ti,dscr-silicon-rev = <8 28 0xf>; | ||
109 | ti,dscr-rmii-resets = <0x40020 0x00040000>; | ||
110 | |||
111 | ti,dscr-locked-regs = <0x40008 0x40004 0x0f0a0b00>; | ||
112 | ti,dscr-devstate-ctl-regs = | ||
113 | <0 12 0x40008 1 0 0 2 | ||
114 | 12 1 0x40008 3 0 30 2 | ||
115 | 13 2 0x4002c 1 0xffffffff 0 1>; | ||
116 | ti,dscr-devstate-stat-regs = | ||
117 | <0 10 0x40014 1 0 0 3 | ||
118 | 10 2 0x40018 1 0 0 3>; | ||
119 | |||
120 | ti,dscr-mac-fuse-regs = <0x700 1 2 3 4 | ||
121 | 0x704 5 6 0 0>; | ||
122 | |||
123 | ti,dscr-privperm = <0x41c 0xaaaaaaaa>; | ||
124 | |||
125 | ti,dscr-kick-regs = <0x38 0x83E70B13 | ||
126 | 0x3c 0x95A4F1E0>; | ||
127 | }; | ||
diff --git a/Documentation/devicetree/bindings/c6x/emifa.txt b/Documentation/devicetree/bindings/c6x/emifa.txt new file mode 100644 index 000000000000..0ff6e9b9a13f --- /dev/null +++ b/Documentation/devicetree/bindings/c6x/emifa.txt | |||
@@ -0,0 +1,62 @@ | |||
1 | External Memory Interface | ||
2 | ------------------------- | ||
3 | |||
4 | The emifa node describes a simple external bus controller found on some C6X | ||
5 | SoCs. This interface provides external busses with a number of chip selects. | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - compatible: must be "ti,c64x+emifa", "simple-bus" | ||
10 | - reg: register area base and size | ||
11 | - #address-cells: must be 2 (chip-select + offset) | ||
12 | - #size-cells: must be 1 | ||
13 | - ranges: mapping from EMIFA space to parent space | ||
14 | |||
15 | |||
16 | Optional properties: | ||
17 | |||
18 | - ti,dscr-dev-enable: Device ID if EMIF is enabled/disabled from DSCR | ||
19 | |||
20 | - ti,emifa-burst-priority: | ||
21 | Number of memory transfers after which the EMIF will elevate the priority | ||
22 | of the oldest command in the command FIFO. Setting this field to 255 | ||
23 | disables this feature, thereby allowing old commands to stay in the FIFO | ||
24 | indefinitely. | ||
25 | |||
26 | - ti,emifa-ce-config: | ||
27 | Configuration values for each of the supported chip selects. | ||
28 | |||
29 | Example: | ||
30 | |||
31 | emifa@70000000 { | ||
32 | compatible = "ti,c64x+emifa", "simple-bus"; | ||
33 | #address-cells = <2>; | ||
34 | #size-cells = <1>; | ||
35 | reg = <0x70000000 0x100>; | ||
36 | ranges = <0x2 0x0 0xa0000000 0x00000008 | ||
37 | 0x3 0x0 0xb0000000 0x00400000 | ||
38 | 0x4 0x0 0xc0000000 0x10000000 | ||
39 | 0x5 0x0 0xD0000000 0x10000000>; | ||
40 | |||
41 | ti,dscr-dev-enable = <13>; | ||
42 | ti,emifa-burst-priority = <255>; | ||
43 | ti,emifa-ce-config = <0x00240120 | ||
44 | 0x00240120 | ||
45 | 0x00240122 | ||
46 | 0x00240122>; | ||
47 | |||
48 | flash@3,0 { | ||
49 | #address-cells = <1>; | ||
50 | #size-cells = <1>; | ||
51 | compatible = "cfi-flash"; | ||
52 | reg = <0x3 0x0 0x400000>; | ||
53 | bank-width = <1>; | ||
54 | device-width = <1>; | ||
55 | partition@0 { | ||
56 | reg = <0x0 0x400000>; | ||
57 | label = "NOR"; | ||
58 | }; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | This shows a flash chip attached to chip select 3. | ||
diff --git a/Documentation/devicetree/bindings/c6x/interrupt.txt b/Documentation/devicetree/bindings/c6x/interrupt.txt new file mode 100644 index 000000000000..42bb796cc4ad --- /dev/null +++ b/Documentation/devicetree/bindings/c6x/interrupt.txt | |||
@@ -0,0 +1,104 @@ | |||
1 | C6X Interrupt Chips | ||
2 | ------------------- | ||
3 | |||
4 | * C64X+ Core Interrupt Controller | ||
5 | |||
6 | The core interrupt controller provides 16 prioritized interrupts to the | ||
7 | C64X+ core. Priority 0 and 1 are used for reset and NMI respectively. | ||
8 | Priority 2 and 3 are reserved. Priority 4-15 are used for interrupt | ||
9 | sources coming from outside the core. | ||
10 | |||
11 | Required properties: | ||
12 | -------------------- | ||
13 | - compatible: Should be "ti,c64x+core-pic"; | ||
14 | - #interrupt-cells: <1> | ||
15 | |||
16 | Interrupt Specifier Definition | ||
17 | ------------------------------ | ||
18 | Single cell specifying the core interrupt priority level (4-15) where | ||
19 | 4 is highest priority and 15 is lowest priority. | ||
20 | |||
21 | Example | ||
22 | ------- | ||
23 | core_pic: interrupt-controller@0 { | ||
24 | interrupt-controller; | ||
25 | #interrupt-cells = <1>; | ||
26 | compatible = "ti,c64x+core-pic"; | ||
27 | }; | ||
28 | |||
29 | |||
30 | |||
31 | * C64x+ Megamodule Interrupt Controller | ||
32 | |||
33 | The megamodule PIC consists of four interrupt mupliplexers each of which | ||
34 | combine up to 32 interrupt inputs into a single interrupt output which | ||
35 | may be cascaded into the core interrupt controller. The megamodule PIC | ||
36 | has a total of 12 outputs cascading into the core interrupt controller. | ||
37 | One for each core interrupt priority level. In addition to the combined | ||
38 | interrupt sources, individual megamodule interrupts may be cascaded to | ||
39 | the core interrupt controller. When an individual interrupt is cascaded, | ||
40 | it is no longer handled through a megamodule interrupt combiner and is | ||
41 | considered to have the core interrupt controller as the parent. | ||
42 | |||
43 | Required properties: | ||
44 | -------------------- | ||
45 | - compatible: "ti,c64x+megamod-pic" | ||
46 | - interrupt-controller | ||
47 | - #interrupt-cells: <1> | ||
48 | - reg: base address and size of register area | ||
49 | - interrupt-parent: must be core interrupt controller | ||
50 | - interrupts: This should have four cells; one for each interrupt combiner. | ||
51 | The cells contain the core priority interrupt to which the | ||
52 | corresponding combiner output is wired. | ||
53 | |||
54 | Optional properties: | ||
55 | -------------------- | ||
56 | - ti,c64x+megamod-pic-mux: Array of 12 cells correspnding to the 12 core | ||
57 | priority interrupts. The first cell corresponds to | ||
58 | core priority 4 and the last cell corresponds to | ||
59 | core priority 15. The value of each cell is the | ||
60 | megamodule interrupt source which is MUXed to | ||
61 | the core interrupt corresponding to the cell | ||
62 | position. Allowed values are 4 - 127. Mapping for | ||
63 | interrupts 0 - 3 (combined interrupt sources) are | ||
64 | ignored. | ||
65 | |||
66 | Interrupt Specifier Definition | ||
67 | ------------------------------ | ||
68 | Single cell specifying the megamodule interrupt source (4-127). Note that | ||
69 | interrupts mapped directly to the core with "ti,c64x+megamod-pic-mux" will | ||
70 | use the core interrupt controller as their parent and the specifier will | ||
71 | be the core priority level, not the megamodule interrupt number. | ||
72 | |||
73 | Examples | ||
74 | -------- | ||
75 | megamod_pic: interrupt-controller@1800000 { | ||
76 | compatible = "ti,c64x+megamod-pic"; | ||
77 | interrupt-controller; | ||
78 | #interrupt-cells = <1>; | ||
79 | reg = <0x1800000 0x1000>; | ||
80 | interrupt-parent = <&core_pic>; | ||
81 | interrupts = < 12 13 14 15 >; | ||
82 | }; | ||
83 | |||
84 | This is a minimal example where all individual interrupts go through a | ||
85 | combiner. Combiner-0 is mapped to core interrupt 12, combiner-1 is mapped | ||
86 | to interrupt 13, etc. | ||
87 | |||
88 | |||
89 | megamod_pic: interrupt-controller@1800000 { | ||
90 | compatible = "ti,c64x+megamod-pic"; | ||
91 | interrupt-controller; | ||
92 | #interrupt-cells = <1>; | ||
93 | reg = <0x1800000 0x1000>; | ||
94 | interrupt-parent = <&core_pic>; | ||
95 | interrupts = < 12 13 14 15 >; | ||
96 | ti,c64x+megamod-pic-mux = < 0 0 0 0 | ||
97 | 32 0 0 0 | ||
98 | 0 0 0 0 >; | ||
99 | }; | ||
100 | |||
101 | This the same as the first example except that megamodule interrupt 32 is | ||
102 | mapped directly to core priority interrupt 8. The node using this interrupt | ||
103 | must set the core controller as its interrupt parent and use 8 in the | ||
104 | interrupt specifier value. | ||
diff --git a/Documentation/devicetree/bindings/c6x/soc.txt b/Documentation/devicetree/bindings/c6x/soc.txt new file mode 100644 index 000000000000..b1e4973b5769 --- /dev/null +++ b/Documentation/devicetree/bindings/c6x/soc.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | C6X System-on-Chip | ||
2 | ------------------ | ||
3 | |||
4 | Required properties: | ||
5 | |||
6 | - compatible: "simple-bus" | ||
7 | - #address-cells: must be 1 | ||
8 | - #size-cells: must be 1 | ||
9 | - ranges | ||
10 | |||
11 | Optional properties: | ||
12 | |||
13 | - model: specific SoC model | ||
14 | |||
15 | - nodes for IP blocks within SoC | ||
16 | |||
17 | |||
18 | Example: | ||
19 | |||
20 | soc { | ||
21 | compatible = "simple-bus"; | ||
22 | model = "tms320c6455"; | ||
23 | #address-cells = <1>; | ||
24 | #size-cells = <1>; | ||
25 | ranges; | ||
26 | |||
27 | ... | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/c6x/timer64.txt b/Documentation/devicetree/bindings/c6x/timer64.txt new file mode 100644 index 000000000000..95911fe70224 --- /dev/null +++ b/Documentation/devicetree/bindings/c6x/timer64.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | Timer64 | ||
2 | ------- | ||
3 | |||
4 | The timer64 node describes C6X event timers. | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible: must be "ti,c64x+timer64" | ||
9 | - reg: base address and size of register region | ||
10 | - interrupt-parent: interrupt controller | ||
11 | - interrupts: interrupt id | ||
12 | |||
13 | Optional properties: | ||
14 | |||
15 | - ti,dscr-dev-enable: Device ID used to enable timer IP through DSCR interface. | ||
16 | |||
17 | - ti,core-mask: on multi-core SoCs, bitmask of cores allowed to use this timer. | ||
18 | |||
19 | Example: | ||
20 | timer0: timer@25e0000 { | ||
21 | compatible = "ti,c64x+timer64"; | ||
22 | ti,core-mask = < 0x01 >; | ||
23 | reg = <0x25e0000 0x40>; | ||
24 | interrupt-parent = <&megamod_pic>; | ||
25 | interrupts = < 16 >; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/crypto/picochip-spacc.txt b/Documentation/devicetree/bindings/crypto/picochip-spacc.txt new file mode 100644 index 000000000000..d8609ece1f4c --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/picochip-spacc.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Picochip picoXcell SPAcc (Security Protocol Accelerator) bindings | ||
2 | |||
3 | Picochip picoXcell devices contain crypto offload engines that may be used for | ||
4 | IPSEC and femtocell layer 2 ciphering. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : "picochip,spacc-ipsec" for the IPSEC offload engine | ||
8 | "picochip,spacc-l2" for the femtocell layer 2 ciphering engine. | ||
9 | - reg : Offset and length of the register set for this device | ||
10 | - interrupt-parent : The interrupt controller that controls the SPAcc | ||
11 | interrupt. | ||
12 | - interrupts : The interrupt line from the SPAcc. | ||
13 | - ref-clock : The input clock that drives the SPAcc. | ||
14 | |||
15 | Example SPAcc node: | ||
16 | |||
17 | spacc@10000 { | ||
18 | compatible = "picochip,spacc-ipsec"; | ||
19 | reg = <0x100000 0x10000>; | ||
20 | interrupt-parent = <&vic0>; | ||
21 | interrupts = <24>; | ||
22 | ref-clock = <&ipsec_clk>, "ref"; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/arm-pl330.txt b/Documentation/devicetree/bindings/dma/arm-pl330.txt new file mode 100644 index 000000000000..a4cd273b2a67 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/arm-pl330.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | * ARM PrimeCell PL330 DMA Controller | ||
2 | |||
3 | The ARM PrimeCell PL330 DMA controller can move blocks of memory contents | ||
4 | between memory and peripherals or memory to memory. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should include both "arm,pl330" and "arm,primecell". | ||
8 | - reg: physical base address of the controller and length of memory mapped | ||
9 | region. | ||
10 | - interrupts: interrupt number to the cpu. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | pdma0: pdma@12680000 { | ||
15 | compatible = "arm,pl330", "arm,primecell"; | ||
16 | reg = <0x12680000 0x1000>; | ||
17 | interrupts = <99>; | ||
18 | }; | ||
19 | |||
20 | Client drivers (device nodes requiring dma transfers from dev-to-mem or | ||
21 | mem-to-dev) should specify the DMA channel numbers using a two-value pair | ||
22 | as shown below. | ||
23 | |||
24 | [property name] = <[phandle of the dma controller] [dma request id]>; | ||
25 | |||
26 | where 'dma request id' is the dma request number which is connected | ||
27 | to the client controller. The 'property name' is recommended to be | ||
28 | of the form <name>-dma-channel. | ||
29 | |||
30 | Example: tx-dma-channel = <&pdma0 12>; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt new file mode 100644 index 000000000000..8f50fe5e6c42 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt | |||
@@ -0,0 +1,40 @@ | |||
1 | Samsung Exynos4 GPIO Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Compatible property value should be "samsung,exynos4-gpio>". | ||
5 | |||
6 | - reg: Physical base address of the controller and length of memory mapped | ||
7 | region. | ||
8 | |||
9 | - #gpio-cells: Should be 4. The syntax of the gpio specifier used by client nodes | ||
10 | should be the following with values derived from the SoC user manual. | ||
11 | <[phandle of the gpio controller node] | ||
12 | [pin number within the gpio controller] | ||
13 | [mux function] | ||
14 | [pull up/down] | ||
15 | [drive strength]> | ||
16 | |||
17 | Values for gpio specifier: | ||
18 | - Pin number: is a value between 0 to 7. | ||
19 | - Pull Up/Down: 0 - Pull Up/Down Disabled. | ||
20 | 1 - Pull Down Enabled. | ||
21 | 3 - Pull Up Enabled. | ||
22 | - Drive Strength: 0 - 1x, | ||
23 | 1 - 3x, | ||
24 | 2 - 2x, | ||
25 | 3 - 4x | ||
26 | |||
27 | - gpio-controller: Specifies that the node is a gpio controller. | ||
28 | - #address-cells: should be 1. | ||
29 | - #size-cells: should be 1. | ||
30 | |||
31 | Example: | ||
32 | |||
33 | gpa0: gpio-controller@11400000 { | ||
34 | #address-cells = <1>; | ||
35 | #size-cells = <1>; | ||
36 | compatible = "samsung,exynos4-gpio"; | ||
37 | reg = <0x11400000 0x20>; | ||
38 | #gpio-cells = <4>; | ||
39 | gpio-controller; | ||
40 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/led.txt b/Documentation/devicetree/bindings/gpio/led.txt index 064db928c3c1..141087cf3107 100644 --- a/Documentation/devicetree/bindings/gpio/led.txt +++ b/Documentation/devicetree/bindings/gpio/led.txt | |||
@@ -8,7 +8,7 @@ node's name represents the name of the corresponding LED. | |||
8 | 8 | ||
9 | LED sub-node properties: | 9 | LED sub-node properties: |
10 | - gpios : Should specify the LED's GPIO, see "Specifying GPIO information | 10 | - gpios : Should specify the LED's GPIO, see "Specifying GPIO information |
11 | for devices" in Documentation/powerpc/booting-without-of.txt. Active | 11 | for devices" in Documentation/devicetree/booting-without-of.txt. Active |
12 | low LEDs should be indicated using flags in the GPIO specifier. | 12 | low LEDs should be indicated using flags in the GPIO specifier. |
13 | - label : (optional) The label for this LED. If omitted, the label is | 13 | - label : (optional) The label for this LED. If omitted, the label is |
14 | taken from the node name (excluding the unit address). | 14 | taken from the node name (excluding the unit address). |
diff --git a/Documentation/devicetree/bindings/gpio/pl061-gpio.txt b/Documentation/devicetree/bindings/gpio/pl061-gpio.txt new file mode 100644 index 000000000000..a2c416bcbccc --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/pl061-gpio.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | ARM PL061 GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "arm,pl061", "arm,primecell" | ||
5 | - #gpio-cells : Should be two. The first cell is the pin number and the | ||
6 | second cell is used to specify optional parameters: | ||
7 | - bit 0 specifies polarity (0 for normal, 1 for inverted) | ||
8 | - gpio-controller : Marks the device node as a GPIO controller. | ||
9 | - interrupts : Interrupt mapping for GPIO IRQ. | ||
10 | |||
diff --git a/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt b/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt new file mode 100644 index 000000000000..f3cf43b66f7e --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | * Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "fsl,<chip>-i2c" | ||
5 | - reg : Should contain I2C/HS-I2C registers location and length | ||
6 | - interrupts : Should contain I2C/HS-I2C interrupt | ||
7 | |||
8 | Optional properties: | ||
9 | - clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. | ||
10 | The absence of the propoerty indicates the default frequency 100 kHz. | ||
11 | |||
12 | Examples: | ||
13 | |||
14 | i2c@83fc4000 { /* I2C2 on i.MX51 */ | ||
15 | compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; | ||
16 | reg = <0x83fc4000 0x4000>; | ||
17 | interrupts = <63>; | ||
18 | }; | ||
19 | |||
20 | i2c@70038000 { /* HS-I2C on i.MX51 */ | ||
21 | compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; | ||
22 | reg = <0x70038000 0x4000>; | ||
23 | interrupts = <64>; | ||
24 | clock-frequency = <400000>; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-designware.txt b/Documentation/devicetree/bindings/i2c/i2c-designware.txt new file mode 100644 index 000000000000..e42a2ee233e6 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-designware.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | * Synopsys DesignWare I2C | ||
2 | |||
3 | Required properties : | ||
4 | |||
5 | - compatible : should be "snps,designware-i2c" | ||
6 | - reg : Offset and length of the register set for the device | ||
7 | - interrupts : <IRQ> where IRQ is the interrupt number. | ||
8 | |||
9 | Recommended properties : | ||
10 | |||
11 | - clock-frequency : desired I2C bus clock frequency in Hz. | ||
12 | |||
13 | Example : | ||
14 | |||
15 | i2c@f0000 { | ||
16 | #address-cells = <1>; | ||
17 | #size-cells = <0>; | ||
18 | compatible = "snps,designware-i2c"; | ||
19 | reg = <0xf0000 0x1000>; | ||
20 | interrupts = <11>; | ||
21 | clock-frequency = <400000>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/samsung-i2c.txt b/Documentation/devicetree/bindings/i2c/samsung-i2c.txt new file mode 100644 index 000000000000..38832c712919 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/samsung-i2c.txt | |||
@@ -0,0 +1,39 @@ | |||
1 | * Samsung's I2C controller | ||
2 | |||
3 | The Samsung's I2C controller is used to interface with I2C devices. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: value should be either of the following. | ||
7 | (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c. | ||
8 | (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c. | ||
9 | - reg: physical base address of the controller and length of memory mapped | ||
10 | region. | ||
11 | - interrupts: interrupt number to the cpu. | ||
12 | - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges. | ||
13 | - gpios: The order of the gpios should be the following: <SDA, SCL>. | ||
14 | The gpio specifier depends on the gpio controller. | ||
15 | |||
16 | Optional properties: | ||
17 | - samsung,i2c-slave-addr: Slave address in multi-master enviroment. If not | ||
18 | specified, default value is 0. | ||
19 | - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not | ||
20 | specified, the default value in Hz is 100000. | ||
21 | |||
22 | Example: | ||
23 | |||
24 | i2c@13870000 { | ||
25 | compatible = "samsung,s3c2440-i2c"; | ||
26 | reg = <0x13870000 0x100>; | ||
27 | interrupts = <345>; | ||
28 | samsung,i2c-sda-delay = <100>; | ||
29 | samsung,i2c-max-bus-freq = <100000>; | ||
30 | gpios = <&gpd1 2 0 /* SDA */ | ||
31 | &gpd1 3 0 /* SCL */>; | ||
32 | #address-cells = <1>; | ||
33 | #size-cells = <0>; | ||
34 | |||
35 | wm8994@1a { | ||
36 | compatible = "wlf,wm8994"; | ||
37 | reg = <0x1a>; | ||
38 | }; | ||
39 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt new file mode 100644 index 000000000000..1a85f986961b --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -0,0 +1,58 @@ | |||
1 | This is a list of trivial i2c devices that have simple device tree | ||
2 | bindings, consisting only of a compatible field, an address and | ||
3 | possibly an interrupt line. | ||
4 | |||
5 | If a device needs more specific bindings, such as properties to | ||
6 | describe some aspect of it, there needs to be a specific binding | ||
7 | document for it just like any other devices. | ||
8 | |||
9 | |||
10 | Compatible Vendor / Chip | ||
11 | ========== ============= | ||
12 | ad,ad7414 SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin | ||
13 | ad,adm9240 ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems | ||
14 | adi,adt7461 +/-1C TDM Extended Temp Range I.C | ||
15 | adt7461 +/-1C TDM Extended Temp Range I.C | ||
16 | at,24c08 i2c serial eeprom (24cxx) | ||
17 | atmel,24c02 i2c serial eeprom (24cxx) | ||
18 | catalyst,24c32 i2c serial eeprom | ||
19 | dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock | ||
20 | dallas,ds1338 I2C RTC with 56-Byte NV RAM | ||
21 | dallas,ds1339 I2C Serial Real-Time Clock | ||
22 | dallas,ds1340 I2C RTC with Trickle Charger | ||
23 | dallas,ds1374 I2C, 32-Bit Binary Counter Watchdog RTC with Trickle Charger and Reset Input/Output | ||
24 | dallas,ds1631 High-Precision Digital Thermometer | ||
25 | dallas,ds1682 Total-Elapsed-Time Recorder with Alarm | ||
26 | dallas,ds1775 Tiny Digital Thermometer and Thermostat | ||
27 | dallas,ds3232 Extremely Accurate I²C RTC with Integrated Crystal and SRAM | ||
28 | dallas,ds4510 CPU Supervisor with Nonvolatile Memory and Programmable I/O | ||
29 | dallas,ds75 Digital Thermometer and Thermostat | ||
30 | dialog,da9053 DA9053: flexible system level PMIC with multicore support | ||
31 | epson,rx8025 High-Stability. I2C-Bus INTERFACE REAL TIME CLOCK MODULE | ||
32 | epson,rx8581 I2C-BUS INTERFACE REAL TIME CLOCK MODULE | ||
33 | fsl,mag3110 MAG3110: Xtrinsic High Accuracy, 3D Magnetometer | ||
34 | fsl,mc13892 MC13892: Power Management Integrated Circuit (PMIC) for i.MX35/51 | ||
35 | fsl,mma8450 MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer | ||
36 | fsl,mpr121 MPR121: Proximity Capacitive Touch Sensor Controller | ||
37 | fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec | ||
38 | maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator | ||
39 | maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs | ||
40 | maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface | ||
41 | mc,rv3029c2 Real Time Clock Module with I2C-Bus | ||
42 | national,lm75 I2C TEMP SENSOR | ||
43 | national,lm80 Serial Interface ACPI-Compatible Microprocessor System Hardware Monitor | ||
44 | national,lm92 ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator with Two-Wire Interface | ||
45 | nxp,pca9556 Octal SMBus and I2C registered interface | ||
46 | nxp,pca9557 8-bit I2C-bus and SMBus I/O port with reset | ||
47 | nxp,pcf8563 Real-time clock/calendar | ||
48 | ovti,ov5642 OV5642: Color CMOS QSXGA (5-megapixel) Image Sensor with OmniBSI and Embedded TrueFocus | ||
49 | pericom,pt7c4338 Real-time Clock Module | ||
50 | plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch | ||
51 | ramtron,24c64 i2c serial eeprom (24cxx) | ||
52 | ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC | ||
53 | samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) | ||
54 | st-micro,24c256 i2c serial eeprom (24cxx) | ||
55 | stm,m41t00 Serial Access TIMEKEEPER | ||
56 | stm,m41t62 Serial real-time clock (RTC) with alarm | ||
57 | stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS | ||
58 | ti,tsc2003 I2C Touch-Screen Controller | ||
diff --git a/Documentation/devicetree/bindings/input/samsung-keypad.txt b/Documentation/devicetree/bindings/input/samsung-keypad.txt new file mode 100644 index 000000000000..ce3e394c0e64 --- /dev/null +++ b/Documentation/devicetree/bindings/input/samsung-keypad.txt | |||
@@ -0,0 +1,88 @@ | |||
1 | * Samsung's Keypad Controller device tree bindings | ||
2 | |||
3 | Samsung's Keypad controller is used to interface a SoC with a matrix-type | ||
4 | keypad device. The keypad controller supports multiple row and column lines. | ||
5 | A key can be placed at each intersection of a unique row and a unique column. | ||
6 | The keypad controller can sense a key-press and key-release and report the | ||
7 | event using a interrupt to the cpu. | ||
8 | |||
9 | Required SoC Specific Properties: | ||
10 | - compatible: should be one of the following | ||
11 | - "samsung,s3c6410-keypad": For controllers compatible with s3c6410 keypad | ||
12 | controller. | ||
13 | - "samsung,s5pv210-keypad": For controllers compatible with s5pv210 keypad | ||
14 | controller. | ||
15 | |||
16 | - reg: physical base address of the controller and length of memory mapped | ||
17 | region. | ||
18 | |||
19 | - interrupts: The interrupt number to the cpu. | ||
20 | |||
21 | Required Board Specific Properties: | ||
22 | - samsung,keypad-num-rows: Number of row lines connected to the keypad | ||
23 | controller. | ||
24 | |||
25 | - samsung,keypad-num-columns: Number of column lines connected to the | ||
26 | keypad controller. | ||
27 | |||
28 | - row-gpios: List of gpios used as row lines. The gpio specifier for | ||
29 | this property depends on the gpio controller to which these row lines | ||
30 | are connected. | ||
31 | |||
32 | - col-gpios: List of gpios used as column lines. The gpio specifier for | ||
33 | this property depends on the gpio controller to which these column | ||
34 | lines are connected. | ||
35 | |||
36 | - Keys represented as child nodes: Each key connected to the keypad | ||
37 | controller is represented as a child node to the keypad controller | ||
38 | device node and should include the following properties. | ||
39 | - keypad,row: the row number to which the key is connected. | ||
40 | - keypad,column: the column number to which the key is connected. | ||
41 | - linux,code: the key-code to be reported when the key is pressed | ||
42 | and released. | ||
43 | |||
44 | Optional Properties specific to linux: | ||
45 | - linux,keypad-no-autorepeat: do no enable autorepeat feature. | ||
46 | - linux,keypad-wakeup: use any event on keypad as wakeup event. | ||
47 | |||
48 | |||
49 | Example: | ||
50 | keypad@100A0000 { | ||
51 | compatible = "samsung,s5pv210-keypad"; | ||
52 | reg = <0x100A0000 0x100>; | ||
53 | interrupts = <173>; | ||
54 | samsung,keypad-num-rows = <2>; | ||
55 | samsung,keypad-num-columns = <8>; | ||
56 | linux,input-no-autorepeat; | ||
57 | linux,input-wakeup; | ||
58 | |||
59 | row-gpios = <&gpx2 0 3 3 0 | ||
60 | &gpx2 1 3 3 0>; | ||
61 | |||
62 | col-gpios = <&gpx1 0 3 0 0 | ||
63 | &gpx1 1 3 0 0 | ||
64 | &gpx1 2 3 0 0 | ||
65 | &gpx1 3 3 0 0 | ||
66 | &gpx1 4 3 0 0 | ||
67 | &gpx1 5 3 0 0 | ||
68 | &gpx1 6 3 0 0 | ||
69 | &gpx1 7 3 0 0>; | ||
70 | |||
71 | key_1 { | ||
72 | keypad,row = <0>; | ||
73 | keypad,column = <3>; | ||
74 | linux,code = <2>; | ||
75 | }; | ||
76 | |||
77 | key_2 { | ||
78 | keypad,row = <0>; | ||
79 | keypad,column = <4>; | ||
80 | linux,code = <3>; | ||
81 | }; | ||
82 | |||
83 | key_3 { | ||
84 | keypad,row = <0>; | ||
85 | keypad,column = <5>; | ||
86 | linux,code = <4>; | ||
87 | }; | ||
88 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/tegra-kbc.txt b/Documentation/devicetree/bindings/input/tegra-kbc.txt new file mode 100644 index 000000000000..5ecfa99089b4 --- /dev/null +++ b/Documentation/devicetree/bindings/input/tegra-kbc.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | * Tegra keyboard controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "nvidia,tegra20-kbc" | ||
5 | |||
6 | Optional properties: | ||
7 | - debounce-delay: delay in milliseconds per row scan for debouncing | ||
8 | - repeat-delay: delay in milliseconds before repeat starts | ||
9 | - ghost-filter: enable ghost filtering for this device | ||
10 | - wakeup-source: configure keyboard as a wakeup source for suspend/resume | ||
11 | |||
12 | Example: | ||
13 | |||
14 | keyboard: keyboard { | ||
15 | compatible = "nvidia,tegra20-kbc"; | ||
16 | reg = <0x7000e200 0x100>; | ||
17 | ghost-filter; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/mc13xxx.txt b/Documentation/devicetree/bindings/mfd/mc13xxx.txt new file mode 100644 index 000000000000..19f6af47a792 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/mc13xxx.txt | |||
@@ -0,0 +1,78 @@ | |||
1 | * Freescale MC13783/MC13892 Power Management Integrated Circuit (PMIC) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "fsl,mc13783" or "fsl,mc13892" | ||
5 | |||
6 | Optional properties: | ||
7 | - fsl,mc13xxx-uses-adc : Indicate the ADC is being used | ||
8 | - fsl,mc13xxx-uses-codec : Indicate the Audio Codec is being used | ||
9 | - fsl,mc13xxx-uses-rtc : Indicate the RTC is being used | ||
10 | - fsl,mc13xxx-uses-touch : Indicate the touchscreen controller is being used | ||
11 | |||
12 | Sub-nodes: | ||
13 | - regulators : Contain the regulator nodes. The MC13892 regulators are | ||
14 | bound using their names as listed below with their registers and bits | ||
15 | for enabling. | ||
16 | |||
17 | vcoincell : regulator VCOINCELL (register 13, bit 23) | ||
18 | sw1 : regulator SW1 (register 24, bit 0) | ||
19 | sw2 : regulator SW2 (register 25, bit 0) | ||
20 | sw3 : regulator SW3 (register 26, bit 0) | ||
21 | sw4 : regulator SW4 (register 27, bit 0) | ||
22 | swbst : regulator SWBST (register 29, bit 20) | ||
23 | vgen1 : regulator VGEN1 (register 32, bit 0) | ||
24 | viohi : regulator VIOHI (register 32, bit 3) | ||
25 | vdig : regulator VDIG (register 32, bit 9) | ||
26 | vgen2 : regulator VGEN2 (register 32, bit 12) | ||
27 | vpll : regulator VPLL (register 32, bit 15) | ||
28 | vusb2 : regulator VUSB2 (register 32, bit 18) | ||
29 | vgen3 : regulator VGEN3 (register 33, bit 0) | ||
30 | vcam : regulator VCAM (register 33, bit 6) | ||
31 | vvideo : regulator VVIDEO (register 33, bit 12) | ||
32 | vaudio : regulator VAUDIO (register 33, bit 15) | ||
33 | vsd : regulator VSD (register 33, bit 18) | ||
34 | gpo1 : regulator GPO1 (register 34, bit 6) | ||
35 | gpo2 : regulator GPO2 (register 34, bit 8) | ||
36 | gpo3 : regulator GPO3 (register 34, bit 10) | ||
37 | gpo4 : regulator GPO4 (register 34, bit 12) | ||
38 | pwgt1spi : regulator PWGT1SPI (register 34, bit 15) | ||
39 | pwgt2spi : regulator PWGT2SPI (register 34, bit 16) | ||
40 | vusb : regulator VUSB (register 50, bit 3) | ||
41 | |||
42 | The bindings details of individual regulator device can be found in: | ||
43 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
44 | |||
45 | Examples: | ||
46 | |||
47 | ecspi@70010000 { /* ECSPI1 */ | ||
48 | fsl,spi-num-chipselects = <2>; | ||
49 | cs-gpios = <&gpio3 24 0>, /* GPIO4_24 */ | ||
50 | <&gpio3 25 0>; /* GPIO4_25 */ | ||
51 | status = "okay"; | ||
52 | |||
53 | pmic: mc13892@0 { | ||
54 | #address-cells = <1>; | ||
55 | #size-cells = <0>; | ||
56 | compatible = "fsl,mc13892"; | ||
57 | spi-max-frequency = <6000000>; | ||
58 | reg = <0>; | ||
59 | interrupt-parent = <&gpio0>; | ||
60 | interrupts = <8>; | ||
61 | |||
62 | regulators { | ||
63 | sw1_reg: mc13892__sw1 { | ||
64 | regulator-min-microvolt = <600000>; | ||
65 | regulator-max-microvolt = <1375000>; | ||
66 | regulator-boot-on; | ||
67 | regulator-always-on; | ||
68 | }; | ||
69 | |||
70 | sw2_reg: mc13892__sw2 { | ||
71 | regulator-min-microvolt = <900000>; | ||
72 | regulator-max-microvolt = <1850000>; | ||
73 | regulator-boot-on; | ||
74 | regulator-always-on; | ||
75 | }; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/twl-familly.txt b/Documentation/devicetree/bindings/mfd/twl-familly.txt new file mode 100644 index 000000000000..a66fcf946759 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/twl-familly.txt | |||
@@ -0,0 +1,47 @@ | |||
1 | Texas Instruments TWL family | ||
2 | |||
3 | The TWLs are Integrated Power Management Chips. | ||
4 | Some version might contain much more analog function like | ||
5 | USB transceiver or Audio amplifier. | ||
6 | These chips are connected to an i2c bus. | ||
7 | |||
8 | |||
9 | Required properties: | ||
10 | - compatible : Must be "ti,twl4030"; | ||
11 | For Integrated power-management/audio CODEC device used in OMAP3 | ||
12 | based boards | ||
13 | - compatible : Must be "ti,twl6030"; | ||
14 | For Integrated power-management used in OMAP4 based boards | ||
15 | - interrupts : This i2c device has an IRQ line connected to the main SoC | ||
16 | - interrupt-controller : Since the twl support several interrupts internally, | ||
17 | it is considered as an interrupt controller cascaded to the SoC one. | ||
18 | - #interrupt-cells = <1>; | ||
19 | - interrupt-parent : The parent interrupt controller. | ||
20 | |||
21 | Optional node: | ||
22 | - Child nodes contain in the twl. The twl family is made of several variants | ||
23 | that support a different number of features. | ||
24 | The children nodes will thus depend of the capability of the variant. | ||
25 | |||
26 | |||
27 | Example: | ||
28 | /* | ||
29 | * Integrated Power Management Chip | ||
30 | * http://www.ti.com/lit/ds/symlink/twl6030.pdf | ||
31 | */ | ||
32 | twl@48 { | ||
33 | compatible = "ti,twl6030"; | ||
34 | reg = <0x48>; | ||
35 | interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */ | ||
36 | interrupt-controller; | ||
37 | #interrupt-cells = <1>; | ||
38 | interrupt-parent = <&gic>; | ||
39 | #address-cells = <1>; | ||
40 | #size-cells = <0>; | ||
41 | |||
42 | twl_rtc { | ||
43 | compatible = "ti,twl_rtc"; | ||
44 | interrupts = <11>; | ||
45 | reg = <0>; | ||
46 | }; | ||
47 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt b/Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt new file mode 100644 index 000000000000..7e51154679a6 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * NVIDIA Tegra Secure Digital Host Controller | ||
2 | |||
3 | This controller on Tegra family SoCs provides an interface for MMC, SD, | ||
4 | and SDIO types of memory cards. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Should be "nvidia,<chip>-sdhci" | ||
8 | - reg : Should contain SD/MMC registers location and length | ||
9 | - interrupts : Should contain SD/MMC interrupt | ||
10 | |||
11 | Optional properties: | ||
12 | - cd-gpios : Specify GPIOs for card detection | ||
13 | - wp-gpios : Specify GPIOs for write protection | ||
14 | - power-gpios : Specify GPIOs for power control | ||
15 | - support-8bit : Boolean, indicates if 8-bit mode should be used. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | sdhci@c8000200 { | ||
20 | compatible = "nvidia,tegra20-sdhci"; | ||
21 | reg = <0xc8000200 0x200>; | ||
22 | interrupts = <47>; | ||
23 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | ||
24 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | ||
25 | power-gpios = <&gpio 155 0>; /* gpio PT3 */ | ||
26 | support-8bit; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/atmel-dataflash.txt b/Documentation/devicetree/bindings/mtd/atmel-dataflash.txt new file mode 100644 index 000000000000..ef66ddd01da0 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/atmel-dataflash.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * Atmel Data Flash | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "atmel,<model>", "atmel,<series>", "atmel,dataflash". | ||
5 | |||
6 | Example: | ||
7 | |||
8 | flash@1 { | ||
9 | #address-cells = <1>; | ||
10 | #size-cells = <1>; | ||
11 | compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash"; | ||
12 | spi-max-frequency = <25000000>; | ||
13 | reg = <1>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt new file mode 100644 index 000000000000..719f4dc58df7 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt | |||
@@ -0,0 +1,44 @@ | |||
1 | GPIO assisted NAND flash | ||
2 | |||
3 | The GPIO assisted NAND flash uses a memory mapped interface to | ||
4 | read/write the NAND commands and data and GPIO pins for the control | ||
5 | signals. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible : "gpio-control-nand" | ||
9 | - reg : should specify localbus chip select and size used for the chip. The | ||
10 | resource describes the data bus connected to the NAND flash and all accesses | ||
11 | are made in native endianness. | ||
12 | - #address-cells, #size-cells : Must be present if the device has sub-nodes | ||
13 | representing partitions. | ||
14 | - gpios : specifies the gpio pins to control the NAND device. nwp is an | ||
15 | optional gpio and may be set to 0 if not present. | ||
16 | |||
17 | Optional properties: | ||
18 | - bank-width : Width (in bytes) of the device. If not present, the width | ||
19 | defaults to 1 byte. | ||
20 | - chip-delay : chip dependent delay for transferring data from array to | ||
21 | read registers (tR). If not present then a default of 20us is used. | ||
22 | - gpio-control-nand,io-sync-reg : A 64-bit physical address for a read | ||
23 | location used to guard against bus reordering with regards to accesses to | ||
24 | the GPIO's and the NAND flash data bus. If present, then after changing | ||
25 | GPIO state and before and after command byte writes, this register will be | ||
26 | read to ensure that the GPIO accesses have completed. | ||
27 | |||
28 | Examples: | ||
29 | |||
30 | gpio-nand@1,0 { | ||
31 | compatible = "gpio-control-nand"; | ||
32 | reg = <1 0x0000 0x2>; | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <1>; | ||
35 | gpios = <&banka 1 0 /* rdy */ | ||
36 | &banka 2 0 /* nce */ | ||
37 | &banka 3 0 /* ale */ | ||
38 | &banka 4 0 /* cle */ | ||
39 | 0 /* nwp */>; | ||
40 | |||
41 | partition@0 { | ||
42 | ... | ||
43 | }; | ||
44 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/calxeda-xgmac.txt b/Documentation/devicetree/bindings/net/calxeda-xgmac.txt new file mode 100644 index 000000000000..411727a3f82d --- /dev/null +++ b/Documentation/devicetree/bindings/net/calxeda-xgmac.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | * Calxeda Highbank 10Gb XGMAC Ethernet | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "calxeda,hb-xgmac" | ||
5 | - reg : Address and length of the register set for the device | ||
6 | - interrupts : Should contain 3 xgmac interrupts. The 1st is main interrupt. | ||
7 | The 2nd is pwr mgt interrupt. The 3rd is low power state interrupt. | ||
8 | |||
9 | Example: | ||
10 | |||
11 | ethernet@fff50000 { | ||
12 | compatible = "calxeda,hb-xgmac"; | ||
13 | reg = <0xfff50000 0x1000>; | ||
14 | interrupts = <0 77 4 0 78 4 0 79 4>; | ||
15 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/can/cc770.txt b/Documentation/devicetree/bindings/net/can/cc770.txt new file mode 100644 index 000000000000..77027bf6460a --- /dev/null +++ b/Documentation/devicetree/bindings/net/can/cc770.txt | |||
@@ -0,0 +1,53 @@ | |||
1 | Memory mapped Bosch CC770 and Intel AN82527 CAN controller | ||
2 | |||
3 | Note: The CC770 is a CAN controller from Bosch, which is 100% | ||
4 | compatible with the old AN82527 from Intel, but with "bugs" being fixed. | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : should be "bosch,cc770" for the CC770 and "intc,82527" | ||
9 | for the AN82527. | ||
10 | |||
11 | - reg : should specify the chip select, address offset and size required | ||
12 | to map the registers of the controller. The size is usually 0x80. | ||
13 | |||
14 | - interrupts : property with a value describing the interrupt source | ||
15 | (number and sensitivity) required for the controller. | ||
16 | |||
17 | Optional properties: | ||
18 | |||
19 | - bosch,external-clock-frequency : frequency of the external oscillator | ||
20 | clock in Hz. Note that the internal clock frequency used by the | ||
21 | controller is half of that value. If not specified, a default | ||
22 | value of 16000000 (16 MHz) is used. | ||
23 | |||
24 | - bosch,clock-out-frequency : slock frequency in Hz on the CLKOUT pin. | ||
25 | If not specified or if the specified value is 0, the CLKOUT pin | ||
26 | will be disabled. | ||
27 | |||
28 | - bosch,slew-rate : slew rate of the CLKOUT signal. If not specified, | ||
29 | a resonable value will be calculated. | ||
30 | |||
31 | - bosch,disconnect-rx0-input : see data sheet. | ||
32 | |||
33 | - bosch,disconnect-rx1-input : see data sheet. | ||
34 | |||
35 | - bosch,disconnect-tx1-output : see data sheet. | ||
36 | |||
37 | - bosch,polarity-dominant : see data sheet. | ||
38 | |||
39 | - bosch,divide-memory-clock : see data sheet. | ||
40 | |||
41 | - bosch,iso-low-speed-mux : see data sheet. | ||
42 | |||
43 | For further information, please have a look to the CC770 or AN82527. | ||
44 | |||
45 | Examples: | ||
46 | |||
47 | can@3,100 { | ||
48 | compatible = "bosch,cc770"; | ||
49 | reg = <3 0x100 0x80>; | ||
50 | interrupts = <2 0>; | ||
51 | interrupt-parent = <&mpic>; | ||
52 | bosch,external-clock-frequency = <16000000>; | ||
53 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt b/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt index 1a729f089866..1ad80d5865a9 100644 --- a/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt +++ b/Documentation/devicetree/bindings/net/can/fsl-flexcan.txt | |||
@@ -1,61 +1,24 @@ | |||
1 | CAN Device Tree Bindings | 1 | Flexcan CAN contoller on Freescale's ARM and PowerPC system-on-a-chip (SOC). |
2 | ------------------------ | ||
3 | 2011 Freescale Semiconductor, Inc. | ||
4 | 2 | ||
5 | fsl,flexcan-v1.0 nodes | 3 | Required properties: |
6 | ----------------------- | ||
7 | In addition to the required compatible-, reg- and interrupt-properties, you can | ||
8 | also specify which clock source shall be used for the controller. | ||
9 | 4 | ||
10 | CPI Clock- Can Protocol Interface Clock | 5 | - compatible : Should be "fsl,<processor>-flexcan" |
11 | This CLK_SRC bit of CTRL(control register) selects the clock source to | ||
12 | the CAN Protocol Interface(CPI) to be either the peripheral clock | ||
13 | (driven by the PLL) or the crystal oscillator clock. The selected clock | ||
14 | is the one fed to the prescaler to generate the Serial Clock (Sclock). | ||
15 | The PRESDIV field of CTRL(control register) controls a prescaler that | ||
16 | generates the Serial Clock (Sclock), whose period defines the | ||
17 | time quantum used to compose the CAN waveform. | ||
18 | 6 | ||
19 | Can Engine Clock Source | 7 | An implementation should also claim any of the following compatibles |
20 | There are two sources for CAN clock | 8 | that it is fully backwards compatible with: |
21 | - Platform Clock It represents the bus clock | ||
22 | - Oscillator Clock | ||
23 | 9 | ||
24 | Peripheral Clock (PLL) | 10 | - fsl,p1010-flexcan |
25 | -------------- | ||
26 | | | ||
27 | --------- ------------- | ||
28 | | |CPI Clock | Prescaler | Sclock | ||
29 | | |---------------->| (1.. 256) |------------> | ||
30 | --------- ------------- | ||
31 | | | | ||
32 | -------------- ---------------------CLK_SRC | ||
33 | Oscillator Clock | ||
34 | 11 | ||
35 | - fsl,flexcan-clock-source : CAN Engine Clock Source.This property selects | 12 | - reg : Offset and length of the register set for this device |
36 | the peripheral clock. PLL clock is fed to the | 13 | - interrupts : Interrupt tuple for this device |
37 | prescaler to generate the Serial Clock (Sclock). | 14 | - clock-frequency : The oscillator frequency driving the flexcan device |
38 | Valid values are "oscillator" and "platform" | ||
39 | "oscillator": CAN engine clock source is oscillator clock. | ||
40 | "platform" The CAN engine clock source is the bus clock | ||
41 | (platform clock). | ||
42 | 15 | ||
43 | - fsl,flexcan-clock-divider : for the reference and system clock, an additional | 16 | Example: |
44 | clock divider can be specified. | ||
45 | - clock-frequency: frequency required to calculate the bitrate for FlexCAN. | ||
46 | 17 | ||
47 | Note: | 18 | can@1c000 { |
48 | - v1.0 of flexcan-v1.0 represent the IP block version for P1010 SOC. | 19 | compatible = "fsl,p1010-flexcan"; |
49 | - P1010 does not have oscillator as the Clock Source.So the default | ||
50 | Clock Source is platform clock. | ||
51 | Examples: | ||
52 | |||
53 | can0@1c000 { | ||
54 | compatible = "fsl,flexcan-v1.0"; | ||
55 | reg = <0x1c000 0x1000>; | 20 | reg = <0x1c000 0x1000>; |
56 | interrupts = <48 0x2>; | 21 | interrupts = <48 0x2>; |
57 | interrupt-parent = <&mpic>; | 22 | interrupt-parent = <&mpic>; |
58 | fsl,flexcan-clock-source = "platform"; | 23 | clock-frequency = <200000000>; // filled in by bootloader |
59 | fsl,flexcan-clock-divider = <2>; | ||
60 | clock-frequency = <fixed by u-boot>; | ||
61 | }; | 24 | }; |
diff --git a/Documentation/devicetree/bindings/net/macb.txt b/Documentation/devicetree/bindings/net/macb.txt new file mode 100644 index 000000000000..44afa0e5057d --- /dev/null +++ b/Documentation/devicetree/bindings/net/macb.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | * Cadence MACB/GEM Ethernet controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "cdns,[<chip>-]{macb|gem}" | ||
5 | Use "cdns,at91sam9260-macb" Atmel at91sam9260 and at91sam9263 SoCs. | ||
6 | Use "cdns,at32ap7000-macb" for other 10/100 usage or use the generic form: "cdns,macb". | ||
7 | Use "cnds,pc302-gem" for Picochip picoXcell pc302 and later devices based on | ||
8 | the Cadence GEM, or the generic form: "cdns,gem". | ||
9 | - reg: Address and length of the register set for the device | ||
10 | - interrupts: Should contain macb interrupt | ||
11 | - phy-mode: String, operation mode of the PHY interface. | ||
12 | Supported values are: "mii", "rmii", "gmii", "rgmii". | ||
13 | |||
14 | Optional properties: | ||
15 | - local-mac-address: 6 bytes, mac address | ||
16 | |||
17 | Examples: | ||
18 | |||
19 | macb0: ethernet@fffc4000 { | ||
20 | compatible = "cdns,at32ap7000-macb"; | ||
21 | reg = <0xfffc4000 0x4000>; | ||
22 | interrupts = <21>; | ||
23 | phy-mode = "rmii"; | ||
24 | local-mac-address = [3a 0e 03 04 05 06]; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/smsc911x.txt b/Documentation/devicetree/bindings/net/smsc911x.txt new file mode 100644 index 000000000000..adb5b5744ecd --- /dev/null +++ b/Documentation/devicetree/bindings/net/smsc911x.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | * Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "smsc,lan<model>", "smsc,lan9115" | ||
5 | - reg : Address and length of the io space for SMSC LAN | ||
6 | - interrupts : Should contain SMSC LAN interrupt line | ||
7 | - interrupt-parent : Should be the phandle for the interrupt controller | ||
8 | that services interrupts for this device | ||
9 | - phy-mode : String, operation mode of the PHY interface. | ||
10 | Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii", | ||
11 | "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii". | ||
12 | |||
13 | Optional properties: | ||
14 | - reg-shift : Specify the quantity to shift the register offsets by | ||
15 | - reg-io-width : Specify the size (in bytes) of the IO accesses that | ||
16 | should be performed on the device. Valid value for SMSC LAN is | ||
17 | 2 or 4. If it's omitted or invalid, the size would be 2. | ||
18 | - smsc,irq-active-high : Indicates the IRQ polarity is active-high | ||
19 | - smsc,irq-push-pull : Indicates the IRQ type is push-pull | ||
20 | - smsc,force-internal-phy : Forces SMSC LAN controller to use | ||
21 | internal PHY | ||
22 | - smsc,force-external-phy : Forces SMSC LAN controller to use | ||
23 | external PHY | ||
24 | - smsc,save-mac-address : Indicates that mac address needs to be saved | ||
25 | before resetting the controller | ||
26 | - local-mac-address : 6 bytes, mac address | ||
27 | |||
28 | Examples: | ||
29 | |||
30 | lan9220@f4000000 { | ||
31 | compatible = "smsc,lan9220", "smsc,lan9115"; | ||
32 | reg = <0xf4000000 0x2000000>; | ||
33 | phy-mode = "mii"; | ||
34 | interrupt-parent = <&gpio1>; | ||
35 | interrupts = <31>; | ||
36 | reg-io-width = <4>; | ||
37 | smsc,irq-push-pull; | ||
38 | }; | ||
diff --git a/Documentation/devicetree/bindings/nvec/nvec_nvidia.txt b/Documentation/devicetree/bindings/nvec/nvec_nvidia.txt new file mode 100644 index 000000000000..5aeee53ff9f4 --- /dev/null +++ b/Documentation/devicetree/bindings/nvec/nvec_nvidia.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | NVIDIA compliant embedded controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be "nvidia,nvec". | ||
5 | - reg : the iomem of the i2c slave controller | ||
6 | - interrupts : the interrupt line of the i2c slave controller | ||
7 | - clock-frequency : the frequency of the i2c bus | ||
8 | - gpios : the gpio used for ec request | ||
9 | - slave-addr: the i2c address of the slave controller | ||
diff --git a/Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt b/Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt new file mode 100644 index 000000000000..36f82dbdd14d --- /dev/null +++ b/Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | NVIDIA Tegra 2 pinmux controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra20-pinmux" | ||
5 | |||
diff --git a/Documentation/devicetree/bindings/power_supply/olpc_battery.txt b/Documentation/devicetree/bindings/power_supply/olpc_battery.txt new file mode 100644 index 000000000000..c8901b3992d9 --- /dev/null +++ b/Documentation/devicetree/bindings/power_supply/olpc_battery.txt | |||
@@ -0,0 +1,5 @@ | |||
1 | OLPC battery | ||
2 | ~~~~~~~~~~~~ | ||
3 | |||
4 | Required properties: | ||
5 | - compatible : "olpc,xo1-battery" | ||
diff --git a/Documentation/devicetree/bindings/power_supply/sbs_sbs-battery.txt b/Documentation/devicetree/bindings/power_supply/sbs_sbs-battery.txt new file mode 100644 index 000000000000..c40e8926facf --- /dev/null +++ b/Documentation/devicetree/bindings/power_supply/sbs_sbs-battery.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | SBS sbs-battery | ||
2 | ~~~~~~~~~~ | ||
3 | |||
4 | Required properties : | ||
5 | - compatible : "sbs,sbs-battery" | ||
6 | |||
7 | Optional properties : | ||
8 | - sbs,i2c-retry-count : The number of times to retry i2c transactions on i2c | ||
9 | IO failure. | ||
10 | - sbs,poll-retry-count : The number of times to try looking for new status | ||
11 | after an external change notification. | ||
12 | - sbs,battery-detect-gpios : The gpio which signals battery detection and | ||
13 | a flag specifying its polarity. | ||
14 | |||
15 | Example: | ||
16 | |||
17 | bq20z75@b { | ||
18 | compatible = "sbs,sbs-battery"; | ||
19 | reg = < 0xb >; | ||
20 | sbs,i2c-retry-count = <2>; | ||
21 | sbs,poll-retry-count = <10>; | ||
22 | sbs,battery-detect-gpios = <&gpio-controller 122 1>; | ||
23 | } | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/board.txt b/Documentation/devicetree/bindings/powerpc/fsl/board.txt index 39e941515a36..380914e965e0 100644 --- a/Documentation/devicetree/bindings/powerpc/fsl/board.txt +++ b/Documentation/devicetree/bindings/powerpc/fsl/board.txt | |||
@@ -1,3 +1,8 @@ | |||
1 | Freescale Reference Board Bindings | ||
2 | |||
3 | This document describes device tree bindings for various devices that | ||
4 | exist on some Freescale reference boards. | ||
5 | |||
1 | * Board Control and Status (BCSR) | 6 | * Board Control and Status (BCSR) |
2 | 7 | ||
3 | Required properties: | 8 | Required properties: |
@@ -12,25 +17,26 @@ Example: | |||
12 | reg = <f8000000 8000>; | 17 | reg = <f8000000 8000>; |
13 | }; | 18 | }; |
14 | 19 | ||
15 | * Freescale on board FPGA | 20 | * Freescale on-board FPGA |
16 | 21 | ||
17 | This is the memory-mapped registers for on board FPGA. | 22 | This is the memory-mapped registers for on board FPGA. |
18 | 23 | ||
19 | Required properities: | 24 | Required properities: |
20 | - compatible : should be "fsl,fpga-pixis". | 25 | - compatible: should be a board-specific string followed by a string |
21 | - reg : should contain the address and the length of the FPPGA register | 26 | indicating the type of FPGA. Example: |
22 | set. | 27 | "fsl,<board>-fpga", "fsl,fpga-pixis" |
28 | - reg: should contain the address and the length of the FPGA register set. | ||
23 | - interrupt-parent: should specify phandle for the interrupt controller. | 29 | - interrupt-parent: should specify phandle for the interrupt controller. |
24 | - interrupts : should specify event (wakeup) IRQ. | 30 | - interrupts: should specify event (wakeup) IRQ. |
25 | 31 | ||
26 | Example (MPC8610HPCD): | 32 | Example (P1022DS): |
27 | 33 | ||
28 | board-control@e8000000 { | 34 | board-control@3,0 { |
29 | compatible = "fsl,fpga-pixis"; | 35 | compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis"; |
30 | reg = <0xe8000000 32>; | 36 | reg = <3 0 0x30>; |
31 | interrupt-parent = <&mpic>; | 37 | interrupt-parent = <&mpic>; |
32 | interrupts = <8 8>; | 38 | interrupts = <8 8 0 0>; |
33 | }; | 39 | }; |
34 | 40 | ||
35 | * Freescale BCSR GPIO banks | 41 | * Freescale BCSR GPIO banks |
36 | 42 | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt b/Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt new file mode 100644 index 000000000000..9d54eb5a295f --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt | |||
@@ -0,0 +1,395 @@ | |||
1 | =================================================================== | ||
2 | Debug Control and Status Register (DCSR) Binding | ||
3 | Copyright 2011 Freescale Semiconductor Inc. | ||
4 | |||
5 | NOTE: The bindings described in this document are preliminary and subject | ||
6 | to change. Some of the compatible strings that contain only generic names | ||
7 | may turn out to be inappropriate, or need additional properties to describe | ||
8 | the integration of the block with the rest of the chip. | ||
9 | |||
10 | ===================================================================== | ||
11 | Debug Control and Status Register Memory Map | ||
12 | |||
13 | Description | ||
14 | |||
15 | This node defines the base address and range for the | ||
16 | defined DCSR Memory Map. Child nodes will describe the individual | ||
17 | debug blocks defined within this memory space. | ||
18 | |||
19 | PROPERTIES | ||
20 | |||
21 | - compatible | ||
22 | Usage: required | ||
23 | Value type: <string> | ||
24 | Definition: Must include "fsl,dcsr" and "simple-bus". | ||
25 | The DCSR space exists in the memory-mapped bus. | ||
26 | |||
27 | - #address-cells | ||
28 | Usage: required | ||
29 | Value type: <u32> | ||
30 | Definition: A standard property. Defines the number of cells | ||
31 | or representing physical addresses in child nodes. | ||
32 | |||
33 | - #size-cells | ||
34 | Usage: required | ||
35 | Value type: <u32> | ||
36 | Definition: A standard property. Defines the number of cells | ||
37 | or representing the size of physical addresses in | ||
38 | child nodes. | ||
39 | |||
40 | - ranges | ||
41 | Usage: required | ||
42 | Value type: <prop-encoded-array> | ||
43 | Definition: A standard property. Specifies the physical address | ||
44 | range of the DCSR space. | ||
45 | |||
46 | EXAMPLE | ||
47 | dcsr: dcsr@f00000000 { | ||
48 | #address-cells = <1>; | ||
49 | #size-cells = <1>; | ||
50 | compatible = "fsl,dcsr", "simple-bus"; | ||
51 | ranges = <0x00000000 0xf 0x00000000 0x01008000>; | ||
52 | }; | ||
53 | |||
54 | ===================================================================== | ||
55 | Event Processing Unit | ||
56 | |||
57 | This node represents the region of DCSR space allocated to the EPU | ||
58 | |||
59 | PROPERTIES | ||
60 | |||
61 | - compatible | ||
62 | Usage: required | ||
63 | Value type: <string> | ||
64 | Definition: Must include "fsl,dcsr-epu" | ||
65 | |||
66 | - interrupts | ||
67 | Usage: required | ||
68 | Value type: <prop_encoded-array> | ||
69 | Definition: Specifies the interrupts generated by the EPU. | ||
70 | The value of the interrupts property consists of three | ||
71 | interrupt specifiers. The format of the specifier is defined | ||
72 | by the binding document describing the node's interrupt parent. | ||
73 | |||
74 | The EPU counters can be configured to assert the performance | ||
75 | monitor interrupt signal based on either counter overflow or value | ||
76 | match. Which counter asserted the interrupt is captured in an EPU | ||
77 | Counter Interrupt Status Register (EPCPUISR). | ||
78 | |||
79 | The EPU unit can also be configured to assert either or both of | ||
80 | two interrupt signals based on debug event sources within the SoC. | ||
81 | The interrupt signals are epu_xt_int0 and epu_xt_int1. | ||
82 | Which event source asserted the interrupt is captured in an EPU | ||
83 | Interrupt Status Register (EPISR0,EPISR1). | ||
84 | |||
85 | Interrupt numbers are lised in order (perfmon, event0, event1). | ||
86 | |||
87 | - interrupt-parent | ||
88 | Usage: required | ||
89 | Value type: <phandle> | ||
90 | Definition: A single <phandle> value that points | ||
91 | to the interrupt parent to which the child domain | ||
92 | is being mapped. Value must be "&mpic" | ||
93 | |||
94 | - reg | ||
95 | Usage: required | ||
96 | Value type: <prop-encoded-array> | ||
97 | Definition: A standard property. Specifies the physical address | ||
98 | offset and length of the DCSR space registers of the device | ||
99 | configuration block. | ||
100 | |||
101 | EXAMPLE | ||
102 | dcsr-epu@0 { | ||
103 | compatible = "fsl,dcsr-epu"; | ||
104 | interrupts = <52 2 0 0 | ||
105 | 84 2 0 0 | ||
106 | 85 2 0 0>; | ||
107 | interrupt-parent = <&mpic>; | ||
108 | reg = <0x0 0x1000>; | ||
109 | }; | ||
110 | |||
111 | ======================================================================= | ||
112 | Nexus Port Controller | ||
113 | |||
114 | This node represents the region of DCSR space allocated to the NPC | ||
115 | |||
116 | PROPERTIES | ||
117 | |||
118 | - compatible | ||
119 | Usage: required | ||
120 | Value type: <string> | ||
121 | Definition: Must include "fsl,dcsr-npc" | ||
122 | |||
123 | - reg | ||
124 | Usage: required | ||
125 | Value type: <prop-encoded-array> | ||
126 | Definition: A standard property. Specifies the physical address | ||
127 | offset and length of the DCSR space registers of the device | ||
128 | configuration block. | ||
129 | The Nexus Port controller occupies two regions in the DCSR space | ||
130 | with distinct functionality. | ||
131 | |||
132 | The first register range describes the Nexus Port Controller | ||
133 | control and status registers. | ||
134 | |||
135 | The second register range describes the Nexus Port Controller | ||
136 | internal trace buffer. The NPC trace buffer is a small memory buffer | ||
137 | which stages the nexus trace data for transmission via the Aurora port | ||
138 | or to a DDR based trace buffer. In some configurations the NPC trace | ||
139 | buffer can be the only trace buffer used. | ||
140 | |||
141 | |||
142 | EXAMPLE | ||
143 | dcsr-npc { | ||
144 | compatible = "fsl,dcsr-npc"; | ||
145 | reg = <0x1000 0x1000 0x1000000 0x8000>; | ||
146 | }; | ||
147 | |||
148 | ======================================================================= | ||
149 | Nexus Concentrator | ||
150 | |||
151 | This node represents the region of DCSR space allocated to the NXC | ||
152 | |||
153 | PROPERTIES | ||
154 | |||
155 | - compatible | ||
156 | Usage: required | ||
157 | Value type: <string> | ||
158 | Definition: Must include "fsl,dcsr-nxc" | ||
159 | |||
160 | - reg | ||
161 | Usage: required | ||
162 | Value type: <prop-encoded-array> | ||
163 | Definition: A standard property. Specifies the physical address | ||
164 | offset and length of the DCSR space registers of the device | ||
165 | configuration block. | ||
166 | |||
167 | EXAMPLE | ||
168 | dcsr-nxc@2000 { | ||
169 | compatible = "fsl,dcsr-nxc"; | ||
170 | reg = <0x2000 0x1000>; | ||
171 | }; | ||
172 | ======================================================================= | ||
173 | CoreNet Debug Controller | ||
174 | |||
175 | This node represents the region of DCSR space allocated to | ||
176 | the CoreNet Debug controller. | ||
177 | |||
178 | PROPERTIES | ||
179 | |||
180 | - compatible | ||
181 | Usage: required | ||
182 | Value type: <string> | ||
183 | Definition: Must include "fsl,dcsr-corenet" | ||
184 | |||
185 | - reg | ||
186 | Usage: required | ||
187 | Value type: <prop-encoded-array> | ||
188 | Definition: A standard property. Specifies the physical address | ||
189 | offset and length of the DCSR space registers of the device | ||
190 | configuration block. | ||
191 | The CoreNet Debug controller occupies two regions in the DCSR space | ||
192 | with distinct functionality. | ||
193 | |||
194 | The first register range describes the CoreNet Debug Controller | ||
195 | functionalty to perform transaction and transaction attribute matches. | ||
196 | |||
197 | The second register range describes the CoreNet Debug Controller | ||
198 | functionalty to trigger event notifications and debug traces. | ||
199 | |||
200 | EXAMPLE | ||
201 | dcsr-corenet { | ||
202 | compatible = "fsl,dcsr-corenet"; | ||
203 | reg = <0x8000 0x1000 0xB0000 0x1000>; | ||
204 | }; | ||
205 | |||
206 | ======================================================================= | ||
207 | Data Path Debug controller | ||
208 | |||
209 | This node represents the region of DCSR space allocated to | ||
210 | the DPAA Debug Controller. This controller controls debug configuration | ||
211 | for the QMAN and FMAN blocks. | ||
212 | |||
213 | PROPERTIES | ||
214 | |||
215 | - compatible | ||
216 | Usage: required | ||
217 | Value type: <string> | ||
218 | Definition: Must include both an identifier specific to the SoC | ||
219 | or Debug IP of the form "fsl,<soc>-dcsr-dpaa" in addition to the | ||
220 | generic compatible string "fsl,dcsr-dpaa". | ||
221 | |||
222 | - reg | ||
223 | Usage: required | ||
224 | Value type: <prop-encoded-array> | ||
225 | Definition: A standard property. Specifies the physical address | ||
226 | offset and length of the DCSR space registers of the device | ||
227 | configuration block. | ||
228 | |||
229 | EXAMPLE | ||
230 | dcsr-dpaa@9000 { | ||
231 | compatible = "fsl,p4080-dcsr-dpaa", "fsl,dcsr-dpaa"; | ||
232 | reg = <0x9000 0x1000>; | ||
233 | }; | ||
234 | |||
235 | ======================================================================= | ||
236 | OCeaN Debug controller | ||
237 | |||
238 | This node represents the region of DCSR space allocated to | ||
239 | the OCN Debug Controller. | ||
240 | |||
241 | PROPERTIES | ||
242 | |||
243 | - compatible | ||
244 | Usage: required | ||
245 | Value type: <string> | ||
246 | Definition: Must include both an identifier specific to the SoC | ||
247 | or Debug IP of the form "fsl,<soc>-dcsr-ocn" in addition to the | ||
248 | generic compatible string "fsl,dcsr-ocn". | ||
249 | |||
250 | - reg | ||
251 | Usage: required | ||
252 | Value type: <prop-encoded-array> | ||
253 | Definition: A standard property. Specifies the physical address | ||
254 | offset and length of the DCSR space registers of the device | ||
255 | configuration block. | ||
256 | |||
257 | EXAMPLE | ||
258 | dcsr-ocn@11000 { | ||
259 | compatible = "fsl,p4080-dcsr-ocn", "fsl,dcsr-ocn"; | ||
260 | reg = <0x11000 0x1000>; | ||
261 | }; | ||
262 | |||
263 | ======================================================================= | ||
264 | DDR Controller Debug controller | ||
265 | |||
266 | This node represents the region of DCSR space allocated to | ||
267 | the OCN Debug Controller. | ||
268 | |||
269 | PROPERTIES | ||
270 | |||
271 | - compatible | ||
272 | Usage: required | ||
273 | Value type: <string> | ||
274 | Definition: Must include "fsl,dcsr-ddr" | ||
275 | |||
276 | - dev-handle | ||
277 | Usage: required | ||
278 | Definition: A phandle to associate this debug node with its | ||
279 | component controller. | ||
280 | |||
281 | - reg | ||
282 | Usage: required | ||
283 | Value type: <prop-encoded-array> | ||
284 | Definition: A standard property. Specifies the physical address | ||
285 | offset and length of the DCSR space registers of the device | ||
286 | configuration block. | ||
287 | |||
288 | EXAMPLE | ||
289 | dcsr-ddr@12000 { | ||
290 | compatible = "fsl,dcsr-ddr"; | ||
291 | dev-handle = <&ddr1>; | ||
292 | reg = <0x12000 0x1000>; | ||
293 | }; | ||
294 | |||
295 | ======================================================================= | ||
296 | Nexus Aurora Link Controller | ||
297 | |||
298 | This node represents the region of DCSR space allocated to | ||
299 | the NAL Controller. | ||
300 | |||
301 | PROPERTIES | ||
302 | |||
303 | - compatible | ||
304 | Usage: required | ||
305 | Value type: <string> | ||
306 | Definition: Must include both an identifier specific to the SoC | ||
307 | or Debug IP of the form "fsl,<soc>-dcsr-nal" in addition to the | ||
308 | generic compatible string "fsl,dcsr-nal". | ||
309 | |||
310 | - reg | ||
311 | Usage: required | ||
312 | Value type: <prop-encoded-array> | ||
313 | Definition: A standard property. Specifies the physical address | ||
314 | offset and length of the DCSR space registers of the device | ||
315 | configuration block. | ||
316 | |||
317 | EXAMPLE | ||
318 | dcsr-nal@18000 { | ||
319 | compatible = "fsl,p4080-dcsr-nal", "fsl,dcsr-nal"; | ||
320 | reg = <0x18000 0x1000>; | ||
321 | }; | ||
322 | |||
323 | |||
324 | ======================================================================= | ||
325 | Run Control and Power Management | ||
326 | |||
327 | This node represents the region of DCSR space allocated to | ||
328 | the RCPM Debug Controller. This functionlity is limited to the | ||
329 | control the debug operations of the SoC and cores. | ||
330 | |||
331 | PROPERTIES | ||
332 | |||
333 | - compatible | ||
334 | Usage: required | ||
335 | Value type: <string> | ||
336 | Definition: Must include both an identifier specific to the SoC | ||
337 | or Debug IP of the form "fsl,<soc>-dcsr-rcpm" in addition to the | ||
338 | generic compatible string "fsl,dcsr-rcpm". | ||
339 | |||
340 | - reg | ||
341 | Usage: required | ||
342 | Value type: <prop-encoded-array> | ||
343 | Definition: A standard property. Specifies the physical address | ||
344 | offset and length of the DCSR space registers of the device | ||
345 | configuration block. | ||
346 | |||
347 | EXAMPLE | ||
348 | dcsr-rcpm@22000 { | ||
349 | compatible = "fsl,p4080-dcsr-rcpm", "fsl,dcsr-rcpm"; | ||
350 | reg = <0x22000 0x1000>; | ||
351 | }; | ||
352 | |||
353 | ======================================================================= | ||
354 | Core Service Bridge Proxy | ||
355 | |||
356 | This node represents the region of DCSR space allocated to | ||
357 | the Core Service Bridge Proxies. | ||
358 | There is one Core Service Bridge Proxy device for each CPU in the system. | ||
359 | This functionlity provides access to the debug operations of the CPU. | ||
360 | |||
361 | PROPERTIES | ||
362 | |||
363 | - compatible | ||
364 | Usage: required | ||
365 | Value type: <string> | ||
366 | Definition: Must include both an identifier specific to the cpu | ||
367 | of the form "fsl,dcsr-<cpu>-sb-proxy" in addition to the | ||
368 | generic compatible string "fsl,dcsr-cpu-sb-proxy". | ||
369 | |||
370 | - cpu-handle | ||
371 | Usage: required | ||
372 | Definition: A phandle to associate this debug node with its cpu. | ||
373 | |||
374 | - reg | ||
375 | Usage: required | ||
376 | Value type: <prop-encoded-array> | ||
377 | Definition: A standard property. Specifies the physical address | ||
378 | offset and length of the DCSR space registers of the device | ||
379 | configuration block. | ||
380 | |||
381 | EXAMPLE | ||
382 | dcsr-cpu-sb-proxy@40000 { | ||
383 | compatible = "fsl,dcsr-e500mc-sb-proxy", | ||
384 | "fsl,dcsr-cpu-sb-proxy"; | ||
385 | cpu-handle = <&cpu0>; | ||
386 | reg = <0x40000 0x1000>; | ||
387 | }; | ||
388 | dcsr-cpu-sb-proxy@41000 { | ||
389 | compatible = "fsl,dcsr-e500mc-sb-proxy", | ||
390 | "fsl,dcsr-cpu-sb-proxy"; | ||
391 | cpu-handle = <&cpu1>; | ||
392 | reg = <0x41000 0x1000>; | ||
393 | }; | ||
394 | |||
395 | ======================================================================= | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt b/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt index 70558c3f3682..5d586e1ccaf5 100644 --- a/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt +++ b/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt | |||
@@ -25,6 +25,16 @@ Required properties: | |||
25 | are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed | 25 | are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed |
26 | to MPIC. | 26 | to MPIC. |
27 | 27 | ||
28 | Optional properties: | ||
29 | - msi-address-64: 64-bit PCI address of the MSIIR register. The MSIIR register | ||
30 | is used for MSI messaging. The address of MSIIR in PCI address space is | ||
31 | the MSI message address. | ||
32 | |||
33 | This property may be used in virtualized environments where the hypervisor | ||
34 | has created an alternate mapping for the MSIR block. See below for an | ||
35 | explanation. | ||
36 | |||
37 | |||
28 | Example: | 38 | Example: |
29 | msi@41600 { | 39 | msi@41600 { |
30 | compatible = "fsl,mpc8610-msi", "fsl,mpic-msi"; | 40 | compatible = "fsl,mpc8610-msi", "fsl,mpic-msi"; |
@@ -41,3 +51,35 @@ Example: | |||
41 | 0xe7 0>; | 51 | 0xe7 0>; |
42 | interrupt-parent = <&mpic>; | 52 | interrupt-parent = <&mpic>; |
43 | }; | 53 | }; |
54 | |||
55 | The Freescale hypervisor and msi-address-64 | ||
56 | ------------------------------------------- | ||
57 | Normally, PCI devices have access to all of CCSR via an ATMU mapping. The | ||
58 | Freescale MSI driver calculates the address of MSIIR (in the MSI register | ||
59 | block) and sets that address as the MSI message address. | ||
60 | |||
61 | In a virtualized environment, the hypervisor may need to create an IOMMU | ||
62 | mapping for MSIIR. The Freescale ePAPR hypervisor has this requirement | ||
63 | because of hardware limitations of the Peripheral Access Management Unit | ||
64 | (PAMU), which is currently the only IOMMU that the hypervisor supports. | ||
65 | The ATMU is programmed with the guest physical address, and the PAMU | ||
66 | intercepts transactions and reroutes them to the true physical address. | ||
67 | |||
68 | In the PAMU, each PCI controller is given only one primary window. The | ||
69 | PAMU restricts DMA operations so that they can only occur within a window. | ||
70 | Because PCI devices must be able to DMA to memory, the primary window must | ||
71 | be used to cover all of the guest's memory space. | ||
72 | |||
73 | PAMU primary windows can be divided into 256 subwindows, and each | ||
74 | subwindow can have its own address mapping ("guest physical" to "true | ||
75 | physical"). However, each subwindow has to have the same alignment, which | ||
76 | means they cannot be located at just any address. Because of these | ||
77 | restrictions, it is usually impossible to create a 4KB subwindow that | ||
78 | covers MSIIR where it's normally located. | ||
79 | |||
80 | Therefore, the hypervisor has to create a subwindow inside the same | ||
81 | primary window used for memory, but mapped to the MSIR block (where MSIIR | ||
82 | lives). The first subwindow after the end of guest memory is used for | ||
83 | this. The address specified in the msi-address-64 property is the PCI | ||
84 | address of MSIIR. The hypervisor configures the PAMU to map that address to | ||
85 | the true physical address of MSIIR. | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/srio-rmu.txt b/Documentation/devicetree/bindings/powerpc/fsl/srio-rmu.txt new file mode 100644 index 000000000000..b9a8a2bcfae7 --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/srio-rmu.txt | |||
@@ -0,0 +1,163 @@ | |||
1 | Message unit node: | ||
2 | |||
3 | For SRIO controllers that implement the message unit as part of the controller | ||
4 | this node is required. For devices with RMAN this node should NOT exist. The | ||
5 | node is composed of three types of sub-nodes ("fsl-srio-msg-unit", | ||
6 | "fsl-srio-dbell-unit" and "fsl-srio-port-write-unit"). | ||
7 | |||
8 | See srio.txt for more details about generic SRIO controller details. | ||
9 | |||
10 | - compatible | ||
11 | Usage: required | ||
12 | Value type: <string> | ||
13 | Definition: Must include "fsl,srio-rmu-vX.Y", "fsl,srio-rmu". | ||
14 | |||
15 | The version X.Y should match the general SRIO controller's IP Block | ||
16 | revision register's Major(X) and Minor (Y) value. | ||
17 | |||
18 | - reg | ||
19 | Usage: required | ||
20 | Value type: <prop-encoded-array> | ||
21 | Definition: A standard property. Specifies the physical address and | ||
22 | length of the SRIO configuration registers for message units | ||
23 | and doorbell units. | ||
24 | |||
25 | - fsl,liodn | ||
26 | Usage: optional-but-recommended (for devices with PAMU) | ||
27 | Value type: <prop-encoded-array> | ||
28 | Definition: The logical I/O device number for the PAMU (IOMMU) to be | ||
29 | correctly configured for SRIO accesses. The property should | ||
30 | not exist on devices that do not support PAMU. | ||
31 | |||
32 | The LIODN value is associated with all RMU transactions | ||
33 | (msg-unit, doorbell, port-write). | ||
34 | |||
35 | Sub-Nodes for RMU: The RMU node is composed of multiple sub-nodes that | ||
36 | correspond to the actual sub-controllers in the RMU. The manual for a given | ||
37 | SoC will detail which and how many of these sub-controllers are implemented. | ||
38 | |||
39 | Message Unit: | ||
40 | |||
41 | - compatible | ||
42 | Usage: required | ||
43 | Value type: <string> | ||
44 | Definition: Must include "fsl,srio-msg-unit-vX.Y", "fsl,srio-msg-unit". | ||
45 | |||
46 | The version X.Y should match the general SRIO controller's IP Block | ||
47 | revision register's Major(X) and Minor (Y) value. | ||
48 | |||
49 | - reg | ||
50 | Usage: required | ||
51 | Value type: <prop-encoded-array> | ||
52 | Definition: A standard property. Specifies the physical address and | ||
53 | length of the SRIO configuration registers for message units | ||
54 | and doorbell units. | ||
55 | |||
56 | - interrupts | ||
57 | Usage: required | ||
58 | Value type: <prop_encoded-array> | ||
59 | Definition: Specifies the interrupts generated by this device. The | ||
60 | value of the interrupts property consists of one interrupt | ||
61 | specifier. The format of the specifier is defined by the | ||
62 | binding document describing the node's interrupt parent. | ||
63 | |||
64 | A pair of IRQs are specified in this property. The first | ||
65 | element is associated with the transmit (TX) interrupt and the | ||
66 | second element is associated with the receive (RX) interrupt. | ||
67 | |||
68 | Doorbell Unit: | ||
69 | |||
70 | - compatible | ||
71 | Usage: required | ||
72 | Value type: <string> | ||
73 | Definition: Must include: | ||
74 | "fsl,srio-dbell-unit-vX.Y", "fsl,srio-dbell-unit" | ||
75 | |||
76 | The version X.Y should match the general SRIO controller's IP Block | ||
77 | revision register's Major(X) and Minor (Y) value. | ||
78 | |||
79 | - reg | ||
80 | Usage: required | ||
81 | Value type: <prop-encoded-array> | ||
82 | Definition: A standard property. Specifies the physical address and | ||
83 | length of the SRIO configuration registers for message units | ||
84 | and doorbell units. | ||
85 | |||
86 | - interrupts | ||
87 | Usage: required | ||
88 | Value type: <prop_encoded-array> | ||
89 | Definition: Specifies the interrupts generated by this device. The | ||
90 | value of the interrupts property consists of one interrupt | ||
91 | specifier. The format of the specifier is defined by the | ||
92 | binding document describing the node's interrupt parent. | ||
93 | |||
94 | A pair of IRQs are specified in this property. The first | ||
95 | element is associated with the transmit (TX) interrupt and the | ||
96 | second element is associated with the receive (RX) interrupt. | ||
97 | |||
98 | Port-Write Unit: | ||
99 | |||
100 | - compatible | ||
101 | Usage: required | ||
102 | Value type: <string> | ||
103 | Definition: Must include: | ||
104 | "fsl,srio-port-write-unit-vX.Y", "fsl,srio-port-write-unit" | ||
105 | |||
106 | The version X.Y should match the general SRIO controller's IP Block | ||
107 | revision register's Major(X) and Minor (Y) value. | ||
108 | |||
109 | - reg | ||
110 | Usage: required | ||
111 | Value type: <prop-encoded-array> | ||
112 | Definition: A standard property. Specifies the physical address and | ||
113 | length of the SRIO configuration registers for message units | ||
114 | and doorbell units. | ||
115 | |||
116 | - interrupts | ||
117 | Usage: required | ||
118 | Value type: <prop_encoded-array> | ||
119 | Definition: Specifies the interrupts generated by this device. The | ||
120 | value of the interrupts property consists of one interrupt | ||
121 | specifier. The format of the specifier is defined by the | ||
122 | binding document describing the node's interrupt parent. | ||
123 | |||
124 | A single IRQ that handles port-write conditions is | ||
125 | specified by this property. (Typically shared with error). | ||
126 | |||
127 | Note: All other standard properties (see the ePAPR) are allowed | ||
128 | but are optional. | ||
129 | |||
130 | Example: | ||
131 | rmu: rmu@d3000 { | ||
132 | compatible = "fsl,srio-rmu"; | ||
133 | reg = <0xd3000 0x400>; | ||
134 | ranges = <0x0 0xd3000 0x400>; | ||
135 | fsl,liodn = <0xc8>; | ||
136 | |||
137 | message-unit@0 { | ||
138 | compatible = "fsl,srio-msg-unit"; | ||
139 | reg = <0x0 0x100>; | ||
140 | interrupts = < | ||
141 | 60 2 0 0 /* msg1_tx_irq */ | ||
142 | 61 2 0 0>;/* msg1_rx_irq */ | ||
143 | }; | ||
144 | message-unit@100 { | ||
145 | compatible = "fsl,srio-msg-unit"; | ||
146 | reg = <0x100 0x100>; | ||
147 | interrupts = < | ||
148 | 62 2 0 0 /* msg2_tx_irq */ | ||
149 | 63 2 0 0>;/* msg2_rx_irq */ | ||
150 | }; | ||
151 | doorbell-unit@400 { | ||
152 | compatible = "fsl,srio-dbell-unit"; | ||
153 | reg = <0x400 0x80>; | ||
154 | interrupts = < | ||
155 | 56 2 0 0 /* bell_outb_irq */ | ||
156 | 57 2 0 0>;/* bell_inb_irq */ | ||
157 | }; | ||
158 | port-write-unit@4e0 { | ||
159 | compatible = "fsl,srio-port-write-unit"; | ||
160 | reg = <0x4e0 0x20>; | ||
161 | interrupts = <16 2 1 11>; | ||
162 | }; | ||
163 | }; | ||
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/srio.txt b/Documentation/devicetree/bindings/powerpc/fsl/srio.txt new file mode 100644 index 000000000000..b039bcbee134 --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/srio.txt | |||
@@ -0,0 +1,103 @@ | |||
1 | * Freescale Serial RapidIO (SRIO) Controller | ||
2 | |||
3 | RapidIO port node: | ||
4 | Properties: | ||
5 | - compatible | ||
6 | Usage: required | ||
7 | Value type: <string> | ||
8 | Definition: Must include "fsl,srio" for IP blocks with IP Block | ||
9 | Revision Register (SRIO IPBRR1) Major ID equal to 0x01c0. | ||
10 | |||
11 | Optionally, a compatiable string of "fsl,srio-vX.Y" where X is Major | ||
12 | version in IP Block Revision Register and Y is Minor version. If this | ||
13 | compatiable is provided it should be ordered before "fsl,srio". | ||
14 | |||
15 | - reg | ||
16 | Usage: required | ||
17 | Value type: <prop-encoded-array> | ||
18 | Definition: A standard property. Specifies the physical address and | ||
19 | length of the SRIO configuration registers. The size should | ||
20 | be set to 0x11000. | ||
21 | |||
22 | - interrupts | ||
23 | Usage: required | ||
24 | Value type: <prop_encoded-array> | ||
25 | Definition: Specifies the interrupts generated by this device. The | ||
26 | value of the interrupts property consists of one interrupt | ||
27 | specifier. The format of the specifier is defined by the | ||
28 | binding document describing the node's interrupt parent. | ||
29 | |||
30 | A single IRQ that handles error conditions is specified by this | ||
31 | property. (Typically shared with port-write). | ||
32 | |||
33 | - fsl,srio-rmu-handle: | ||
34 | Usage: required if rmu node is defined | ||
35 | Value type: <phandle> | ||
36 | Definition: A single <phandle> value that points to the RMU. | ||
37 | (See srio-rmu.txt for more details on RMU node binding) | ||
38 | |||
39 | Port Child Nodes: There should a port child node for each port that exists in | ||
40 | the controller. The ports are numbered starting at one (1) and should have | ||
41 | the following properties: | ||
42 | |||
43 | - cell-index | ||
44 | Usage: required | ||
45 | Value type: <u32> | ||
46 | Definition: A standard property. Matches the port id. | ||
47 | |||
48 | - ranges | ||
49 | Usage: required if local access windows preset | ||
50 | Value type: <prop-encoded-array> | ||
51 | Definition: A standard property. Utilized to describe the memory mapped | ||
52 | IO space utilized by the controller. This corresponds to the | ||
53 | setting of the local access windows that are targeted to this | ||
54 | SRIO port. | ||
55 | |||
56 | - fsl,liodn | ||
57 | Usage: optional-but-recommended (for devices with PAMU) | ||
58 | Value type: <prop-encoded-array> | ||
59 | Definition: The logical I/O device number for the PAMU (IOMMU) to be | ||
60 | correctly configured for SRIO accesses. The property should | ||
61 | not exist on devices that do not support PAMU. | ||
62 | |||
63 | For HW (ie, the P4080) that only supports a LIODN for both | ||
64 | memory and maintenance transactions then a single LIODN is | ||
65 | represented in the property for both transactions. | ||
66 | |||
67 | For HW (ie, the P304x/P5020, etc) that supports an LIODN for | ||
68 | memory transactions and a unique LIODN for maintenance | ||
69 | transactions then a pair of LIODNs are represented in the | ||
70 | property. Within the pair, the first element represents the | ||
71 | LIODN associated with memory transactions and the second element | ||
72 | represents the LIODN associated with maintenance transactions | ||
73 | for the port. | ||
74 | |||
75 | Note: All other standard properties (see ePAPR) are allowed but are optional. | ||
76 | |||
77 | Example: | ||
78 | |||
79 | rapidio: rapidio@ffe0c0000 { | ||
80 | #address-cells = <2>; | ||
81 | #size-cells = <2>; | ||
82 | reg = <0xf 0xfe0c0000 0 0x11000>; | ||
83 | compatible = "fsl,srio"; | ||
84 | interrupts = <16 2 1 11>; /* err_irq */ | ||
85 | fsl,srio-rmu-handle = <&rmu>; | ||
86 | ranges; | ||
87 | |||
88 | port1 { | ||
89 | cell-index = <1>; | ||
90 | #address-cells = <2>; | ||
91 | #size-cells = <2>; | ||
92 | fsl,liodn = <34>; | ||
93 | ranges = <0 0 0xc 0x20000000 0 0x10000000>; | ||
94 | }; | ||
95 | |||
96 | port2 { | ||
97 | cell-index = <2>; | ||
98 | #address-cells = <2>; | ||
99 | #size-cells = <2>; | ||
100 | fsl,liodn = <48>; | ||
101 | ranges = <0 0 0xc 0x30000000 0 0x10000000>; | ||
102 | }; | ||
103 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/fixed-regulator.txt b/Documentation/devicetree/bindings/regulator/fixed-regulator.txt new file mode 100644 index 000000000000..9cf57fd042d2 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/fixed-regulator.txt | |||
@@ -0,0 +1,29 @@ | |||
1 | Fixed Voltage regulators | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be "regulator-fixed"; | ||
5 | |||
6 | Optional properties: | ||
7 | - gpio: gpio to use for enable control | ||
8 | - startup-delay-us: startup time in microseconds | ||
9 | - enable-active-high: Polarity of GPIO is Active high | ||
10 | If this property is missing, the default assumed is Active low. | ||
11 | |||
12 | Any property defined as part of the core regulator | ||
13 | binding, defined in regulator.txt, can also be used. | ||
14 | However a fixed voltage regulator is expected to have the | ||
15 | regulator-min-microvolt and regulator-max-microvolt | ||
16 | to be the same. | ||
17 | |||
18 | Example: | ||
19 | |||
20 | abc: fixedregulator@0 { | ||
21 | compatible = "regulator-fixed"; | ||
22 | regulator-name = "fixed-supply"; | ||
23 | regulator-min-microvolt = <1800000>; | ||
24 | regulator-max-microvolt = <1800000>; | ||
25 | gpio = <&gpio1 16 0>; | ||
26 | startup-delay-us = <70000>; | ||
27 | enable-active-high; | ||
28 | regulator-boot-on | ||
29 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt new file mode 100644 index 000000000000..5b7a408acdaa --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/regulator.txt | |||
@@ -0,0 +1,54 @@ | |||
1 | Voltage/Current Regulators | ||
2 | |||
3 | Optional properties: | ||
4 | - regulator-name: A string used as a descriptive name for regulator outputs | ||
5 | - regulator-min-microvolt: smallest voltage consumers may set | ||
6 | - regulator-max-microvolt: largest voltage consumers may set | ||
7 | - regulator-microvolt-offset: Offset applied to voltages to compensate for voltage drops | ||
8 | - regulator-min-microamp: smallest current consumers may set | ||
9 | - regulator-max-microamp: largest current consumers may set | ||
10 | - regulator-always-on: boolean, regulator should never be disabled | ||
11 | - regulator-boot-on: bootloader/firmware enabled regulator | ||
12 | - <name>-supply: phandle to the parent supply/regulator node | ||
13 | |||
14 | Example: | ||
15 | |||
16 | xyzreg: regulator@0 { | ||
17 | regulator-min-microvolt = <1000000>; | ||
18 | regulator-max-microvolt = <2500000>; | ||
19 | regulator-always-on; | ||
20 | vin-supply = <&vin>; | ||
21 | }; | ||
22 | |||
23 | Regulator Consumers: | ||
24 | Consumer nodes can reference one or more of its supplies/ | ||
25 | regulators using the below bindings. | ||
26 | |||
27 | - <name>-supply: phandle to the regulator node | ||
28 | |||
29 | These are the same bindings that a regulator in the above | ||
30 | example used to reference its own supply, in which case | ||
31 | its just seen as a special case of a regulator being a | ||
32 | consumer itself. | ||
33 | |||
34 | Example of a consumer device node (mmc) referencing two | ||
35 | regulators (twl_reg1 and twl_reg2), | ||
36 | |||
37 | twl_reg1: regulator@0 { | ||
38 | ... | ||
39 | ... | ||
40 | ... | ||
41 | }; | ||
42 | |||
43 | twl_reg2: regulator@1 { | ||
44 | ... | ||
45 | ... | ||
46 | ... | ||
47 | }; | ||
48 | |||
49 | mmc: mmc@0x0 { | ||
50 | ... | ||
51 | ... | ||
52 | vmmc-supply = <&twl_reg1>; | ||
53 | vmmcaux-supply = <&twl_reg2>; | ||
54 | }; | ||
diff --git a/Documentation/devicetree/bindings/resource-names.txt b/Documentation/devicetree/bindings/resource-names.txt new file mode 100644 index 000000000000..e280fef6f265 --- /dev/null +++ b/Documentation/devicetree/bindings/resource-names.txt | |||
@@ -0,0 +1,54 @@ | |||
1 | Some properties contain an ordered list of 1 or more datum which are | ||
2 | normally accessed by index. However, some devices will have multiple | ||
3 | values which are more naturally accessed by name. Device nodes can | ||
4 | include a supplemental property for assigning names to each of the list | ||
5 | items. The names property consists of a list of strings in the same | ||
6 | order as the data in the resource property. | ||
7 | |||
8 | The following supplemental names properties are defined. | ||
9 | |||
10 | Resource Property Supplemental Names Property | ||
11 | ----------------- --------------------------- | ||
12 | reg reg-names | ||
13 | clocks clock-names | ||
14 | interrupts interrupt-names | ||
15 | |||
16 | Usage: | ||
17 | |||
18 | The -names property must be used in conjunction with the normal resource | ||
19 | property. If not it will be ignored. | ||
20 | |||
21 | Examples: | ||
22 | |||
23 | l4-abe { | ||
24 | compatible = "simple-bus"; | ||
25 | #address-cells = <2>; | ||
26 | #size-cells = <1>; | ||
27 | ranges = <0 0 0x48000000 0x00001000>, /* MPU path */ | ||
28 | <1 0 0x49000000 0x00001000>; /* L3 path */ | ||
29 | mcasp { | ||
30 | compatible = "ti,mcasp"; | ||
31 | reg = <0 0x10 0x10>, <0 0x20 0x10>, | ||
32 | <1 0x10 0x10>, <1 0x20 0x10>; | ||
33 | reg-names = "mpu", "dat", | ||
34 | "dma", "dma_dat"; | ||
35 | interrupts = <11>, <12>; | ||
36 | interrupt-names = "rx", "tx"; | ||
37 | }; | ||
38 | |||
39 | timer { | ||
40 | compatible = "ti,timer"; | ||
41 | reg = <0 0x40 0x10>, <1 0x40 0x10>; | ||
42 | reg-names = "mpu", "dma"; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | |||
47 | usb { | ||
48 | compatible = "ti,usb-host"; | ||
49 | reg = <0x4a064000 0x800>, <0x4a064800 0x200>, | ||
50 | <0x4a064c00 0x200>; | ||
51 | reg-names = "config", "ohci", "ehci"; | ||
52 | interrupts = <14>, <15>; | ||
53 | interrupt-names = "ohci", "ehci"; | ||
54 | }; | ||
diff --git a/Documentation/devicetree/bindings/rtc/s3c-rtc.txt b/Documentation/devicetree/bindings/rtc/s3c-rtc.txt new file mode 100644 index 000000000000..90ec45fd33ec --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/s3c-rtc.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | * Samsung's S3C Real Time Clock controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be one of the following. | ||
5 | * "samsung,s3c2410-rtc" - for controllers compatible with s3c2410 rtc. | ||
6 | * "samsung,s3c6410-rtc" - for controllers compatible with s3c6410 rtc. | ||
7 | - reg: physical base address of the controller and length of memory mapped | ||
8 | region. | ||
9 | - interrupts: Two interrupt numbers to the cpu should be specified. First | ||
10 | interrupt number is the rtc alarm interupt and second interrupt number | ||
11 | is the rtc tick interrupt. The number of cells representing a interrupt | ||
12 | depends on the parent interrupt controller. | ||
13 | |||
14 | Example: | ||
15 | |||
16 | rtc@10070000 { | ||
17 | compatible = "samsung,s3c6410-rtc"; | ||
18 | reg = <0x10070000 0x100>; | ||
19 | interrupts = <44 0 45 0>; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/rtc/twl-rtc.txt b/Documentation/devicetree/bindings/rtc/twl-rtc.txt new file mode 100644 index 000000000000..596e0c97be7a --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/twl-rtc.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | * TI twl RTC | ||
2 | |||
3 | The TWL family (twl4030/6030) contains a RTC. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Should be twl4030-rtc | ||
7 | |||
8 | Examples: | ||
9 | |||
10 | rtc@0 { | ||
11 | compatible = "ti,twl4030-rtc"; | ||
12 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/omap_serial.txt b/Documentation/devicetree/bindings/serial/omap_serial.txt new file mode 100644 index 000000000000..342eedd10050 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/omap_serial.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | OMAP UART controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : should be "ti,omap2-uart" for OMAP2 controllers | ||
5 | - compatible : should be "ti,omap3-uart" for OMAP3 controllers | ||
6 | - compatible : should be "ti,omap4-uart" for OMAP4 controllers | ||
7 | - ti,hwmods : Must be "uart<n>", n being the instance number (1-based) | ||
8 | |||
9 | Optional properties: | ||
10 | - clock-frequency : frequency of the clock input to the UART | ||
diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt new file mode 100644 index 000000000000..1e753c69fc83 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/rs485.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | * RS485 serial communications | ||
2 | |||
3 | The RTS signal is capable of automatically controlling line direction for | ||
4 | the built-in half-duplex mode. | ||
5 | The properties described hereafter shall be given to a half-duplex capable | ||
6 | UART node. | ||
7 | |||
8 | Required properties: | ||
9 | - rs485-rts-delay: prop-encoded-array <a b> where: | ||
10 | * a is the delay beteween rts signal and beginning of data sent in milliseconds. | ||
11 | it corresponds to the delay before sending data. | ||
12 | * b is the delay between end of data sent and rts signal in milliseconds | ||
13 | it corresponds to the delay after sending data and actual release of the line. | ||
14 | |||
15 | Optional properties: | ||
16 | - linux,rs485-enabled-at-boot-time: empty property telling to enable the rs485 | ||
17 | feature at boot time. It can be disabled later with proper ioctl. | ||
18 | - rs485-rx-during-tx: empty property that enables the receiving of data even | ||
19 | whilst sending data. | ||
20 | |||
21 | RS485 example for Atmel USART: | ||
22 | usart0: serial@fff8c000 { | ||
23 | compatible = "atmel,at91sam9260-usart"; | ||
24 | reg = <0xfff8c000 0x4000>; | ||
25 | interrupts = <7>; | ||
26 | atmel,use-dma-rx; | ||
27 | atmel,use-dma-tx; | ||
28 | linux,rs485-enabled-at-boot-time; | ||
29 | rs485-rts-delay = <0 200>; // in milliseconds | ||
30 | }; | ||
31 | |||
diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.txt b/Documentation/devicetree/bindings/serial/samsung_uart.txt new file mode 100644 index 000000000000..2c8a17cf5cb5 --- /dev/null +++ b/Documentation/devicetree/bindings/serial/samsung_uart.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * Samsung's UART Controller | ||
2 | |||
3 | The Samsung's UART controller is used for interfacing SoC with serial communicaion | ||
4 | devices. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should be | ||
8 | - "samsung,exynos4210-uart", for UART's compatible with Exynos4210 uart ports. | ||
9 | |||
10 | - reg: base physical address of the controller and length of memory mapped | ||
11 | region. | ||
12 | |||
13 | - interrupts: interrupt number to the cpu. The interrupt specifier format depends | ||
14 | on the interrupt controller parent. | ||
diff --git a/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt b/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt new file mode 100644 index 000000000000..2c3cd413f042 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | * Freescale SGTL5000 Stereo Codec | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "fsl,sgtl5000". | ||
5 | |||
6 | Example: | ||
7 | |||
8 | codec: sgtl5000@0a { | ||
9 | compatible = "fsl,sgtl5000"; | ||
10 | reg = <0x0a>; | ||
11 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt b/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt new file mode 100644 index 000000000000..d5b0da8bf1d8 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tegra-audio-wm8903.txt | |||
@@ -0,0 +1,71 @@ | |||
1 | NVIDIA Tegra audio complex | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra-audio-wm8903" | ||
5 | - nvidia,model : The user-visible name of this sound complex. | ||
6 | - nvidia,audio-routing : A list of the connections between audio components. | ||
7 | Each entry is a pair of strings, the first being the connection's sink, | ||
8 | the second being the connection's source. Valid names for sources and | ||
9 | sinks are the WM8903's pins, and the jacks on the board: | ||
10 | |||
11 | WM8903 pins: | ||
12 | |||
13 | * IN1L | ||
14 | * IN1R | ||
15 | * IN2L | ||
16 | * IN2R | ||
17 | * IN3L | ||
18 | * IN3R | ||
19 | * DMICDAT | ||
20 | * HPOUTL | ||
21 | * HPOUTR | ||
22 | * LINEOUTL | ||
23 | * LINEOUTR | ||
24 | * LOP | ||
25 | * LON | ||
26 | * ROP | ||
27 | * RON | ||
28 | * MICBIAS | ||
29 | |||
30 | Board connectors: | ||
31 | |||
32 | * Headphone Jack | ||
33 | * Int Spk | ||
34 | * Mic Jack | ||
35 | |||
36 | - nvidia,i2s-controller : The phandle of the Tegra I2S1 controller | ||
37 | - nvidia,audio-codec : The phandle of the WM8903 audio codec | ||
38 | |||
39 | Optional properties: | ||
40 | - nvidia,spkr-en-gpios : The GPIO that enables the speakers | ||
41 | - nvidia,hp-mute-gpios : The GPIO that mutes the headphones | ||
42 | - nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in | ||
43 | - nvidia,int-mic-en-gpios : The GPIO that enables the internal microphone | ||
44 | - nvidia,ext-mic-en-gpios : The GPIO that enables the external microphone | ||
45 | |||
46 | Example: | ||
47 | |||
48 | sound { | ||
49 | compatible = "nvidia,tegra-audio-wm8903-harmony", | ||
50 | "nvidia,tegra-audio-wm8903" | ||
51 | nvidia,model = "tegra-wm8903-harmony"; | ||
52 | |||
53 | nvidia,audio-routing = | ||
54 | "Headphone Jack", "HPOUTR", | ||
55 | "Headphone Jack", "HPOUTL", | ||
56 | "Int Spk", "ROP", | ||
57 | "Int Spk", "RON", | ||
58 | "Int Spk", "LOP", | ||
59 | "Int Spk", "LON", | ||
60 | "Mic Jack", "MICBIAS", | ||
61 | "IN1L", "Mic Jack"; | ||
62 | |||
63 | nvidia,i2s-controller = <&i2s1>; | ||
64 | nvidia,audio-codec = <&wm8903>; | ||
65 | |||
66 | nvidia,spkr-en-gpios = <&codec 2 0>; | ||
67 | nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */ | ||
68 | nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */ | ||
69 | nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */ | ||
70 | }; | ||
71 | |||
diff --git a/Documentation/devicetree/bindings/sound/tegra20-das.txt b/Documentation/devicetree/bindings/sound/tegra20-das.txt new file mode 100644 index 000000000000..6de3a7ee4efb --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tegra20-das.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | NVIDIA Tegra 20 DAS (Digital Audio Switch) controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra20-das" | ||
5 | - reg : Should contain DAS registers location and length | ||
6 | |||
7 | Example: | ||
8 | |||
9 | das@70000c00 { | ||
10 | compatible = "nvidia,tegra20-das"; | ||
11 | reg = <0x70000c00 0x80>; | ||
12 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/tegra20-i2s.txt b/Documentation/devicetree/bindings/sound/tegra20-i2s.txt new file mode 100644 index 000000000000..0df2b5c816e3 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/tegra20-i2s.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | NVIDIA Tegra 20 I2S controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra20-i2s" | ||
5 | - reg : Should contain I2S registers location and length | ||
6 | - interrupts : Should contain I2S interrupt | ||
7 | - nvidia,dma-request-selector : The Tegra DMA controller's phandle and | ||
8 | request selector for this I2S controller | ||
9 | |||
10 | Example: | ||
11 | |||
12 | i2s@70002800 { | ||
13 | compatible = "nvidia,tegra20-i2s"; | ||
14 | reg = <0x70002800 0x200>; | ||
15 | interrupts = < 45 >; | ||
16 | nvidia,dma-request-selector = < &apbdma 2 >; | ||
17 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8510.txt b/Documentation/devicetree/bindings/sound/wm8510.txt new file mode 100644 index 000000000000..fa1a32b85577 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8510.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8510 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8510" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8510@1a { | ||
16 | compatible = "wlf,wm8510"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8523.txt b/Documentation/devicetree/bindings/sound/wm8523.txt new file mode 100644 index 000000000000..04746186b283 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8523.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8523 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8523" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8523@1a { | ||
14 | compatible = "wlf,wm8523"; | ||
15 | reg = <0x1a>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8580.txt b/Documentation/devicetree/bindings/sound/wm8580.txt new file mode 100644 index 000000000000..7d9821f348da --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8580.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8580 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8580" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8580@1a { | ||
14 | compatible = "wlf,wm8580"; | ||
15 | reg = <0x1a>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8711.txt b/Documentation/devicetree/bindings/sound/wm8711.txt new file mode 100644 index 000000000000..8ed9998cd23c --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8711.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8711 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8711" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8711@1a { | ||
16 | compatible = "wlf,wm8711"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8728.txt b/Documentation/devicetree/bindings/sound/wm8728.txt new file mode 100644 index 000000000000..a8b5c3668e60 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8728.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8728 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8728" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8728@1a { | ||
16 | compatible = "wlf,wm8728"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8731.txt b/Documentation/devicetree/bindings/sound/wm8731.txt new file mode 100644 index 000000000000..15f70048469b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8731.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8731 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8731" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8731@1a { | ||
16 | compatible = "wlf,wm8731"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8737.txt b/Documentation/devicetree/bindings/sound/wm8737.txt new file mode 100644 index 000000000000..4bc2cea3b140 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8737.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8737 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8737" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8737@1a { | ||
16 | compatible = "wlf,wm8737"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8741.txt b/Documentation/devicetree/bindings/sound/wm8741.txt new file mode 100644 index 000000000000..74bda58c1bcf --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8741.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8741 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8741" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8741@1a { | ||
16 | compatible = "wlf,wm8741"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8750.txt b/Documentation/devicetree/bindings/sound/wm8750.txt new file mode 100644 index 000000000000..8db239fd5ecd --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8750.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8750 and WM8987 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 : "wlf,wm8750" or "wlf,wm8987" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8750@1a { | ||
16 | compatible = "wlf,wm8750"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8753.txt b/Documentation/devicetree/bindings/sound/wm8753.txt new file mode 100644 index 000000000000..e65277a0fb60 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8753.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8753 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8753" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8737@1a { | ||
16 | compatible = "wlf,wm8753"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8770.txt b/Documentation/devicetree/bindings/sound/wm8770.txt new file mode 100644 index 000000000000..866e00ca150b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8770.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8770 audio CODEC | ||
2 | |||
3 | This device supports SPI. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8770" | ||
8 | |||
9 | - reg : the chip select number. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8770@1 { | ||
14 | compatible = "wlf,wm8770"; | ||
15 | reg = <1>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8776.txt b/Documentation/devicetree/bindings/sound/wm8776.txt new file mode 100644 index 000000000000..3b9ca49abc2b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8776.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8776 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8776" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8776@1a { | ||
16 | compatible = "wlf,wm8776"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8804.txt b/Documentation/devicetree/bindings/sound/wm8804.txt new file mode 100644 index 000000000000..4d3a56f38adc --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8804.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8804 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8804" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8804@1a { | ||
16 | compatible = "wlf,wm8804"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8903.txt b/Documentation/devicetree/bindings/sound/wm8903.txt new file mode 100644 index 000000000000..f102cbc42694 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8903.txt | |||
@@ -0,0 +1,50 @@ | |||
1 | WM8903 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8903" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | - gpio-controller : Indicates this device is a GPIO controller. | ||
12 | |||
13 | - #gpio-cells : Should be two. The first cell is the pin number and the | ||
14 | second cell is used to specify optional parameters (currently unused). | ||
15 | |||
16 | Optional properties: | ||
17 | |||
18 | - interrupts : The interrupt line the codec is connected to. | ||
19 | |||
20 | - micdet-cfg : Default register value for R6 (Mic Bias). If absent, the | ||
21 | default is 0. | ||
22 | |||
23 | - micdet-delay : The debounce delay for microphone detection in mS. If | ||
24 | absent, the default is 100. | ||
25 | |||
26 | - gpio-cfg : A list of GPIO configuration register values. The list must | ||
27 | be 5 entries long. If absent, no configuration of these registers is | ||
28 | performed. If any entry has the value 0xffffffff, that GPIO's | ||
29 | configuration will not be modified. | ||
30 | |||
31 | Example: | ||
32 | |||
33 | codec: wm8903@1a { | ||
34 | compatible = "wlf,wm8903"; | ||
35 | reg = <0x1a>; | ||
36 | interrupts = < 347 >; | ||
37 | |||
38 | gpio-controller; | ||
39 | #gpio-cells = <2>; | ||
40 | |||
41 | micdet-cfg = <0>; | ||
42 | micdet-delay = <100>; | ||
43 | gpio-cfg = < | ||
44 | 0x0600 /* DMIC_LR, output */ | ||
45 | 0x0680 /* DMIC_DAT, input */ | ||
46 | 0x0000 /* GPIO, output, low */ | ||
47 | 0x0200 /* Interrupt, output */ | ||
48 | 0x01a0 /* BCLK, input, active high */ | ||
49 | >; | ||
50 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8994.txt b/Documentation/devicetree/bindings/sound/wm8994.txt new file mode 100644 index 000000000000..7a7eb1e7bda6 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8994.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM1811/WM8994/WM8958 audio CODEC | ||
2 | |||
3 | These devices support both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm1811", "wlf,wm8994", "wlf,wm8958" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8994@1a { | ||
16 | compatible = "wlf,wm8994"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi_pl022.txt b/Documentation/devicetree/bindings/spi/spi_pl022.txt new file mode 100644 index 000000000000..306ec3ff3c0e --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi_pl022.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | ARM PL022 SPI controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "arm,pl022", "arm,primecell" | ||
5 | - reg : Offset and length of the register set for the device | ||
6 | - interrupts : Should contain SPI controller interrupt | ||
7 | |||
8 | Optional properties: | ||
9 | - cs-gpios : should specify GPIOs used for chipselects. | ||
10 | The gpios will be referred to as reg = <index> in the SPI child nodes. | ||
11 | If unspecified, a single SPI device without a chip select can be used. | ||
12 | |||
diff --git a/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt b/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt new file mode 100644 index 000000000000..a49d9a1d4ccf --- /dev/null +++ b/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "atmel,<chip>-usart" | ||
5 | The compatible <chip> indicated will be the first SoC to support an | ||
6 | additional mode or an USART new feature. | ||
7 | - reg: Should contain registers location and length | ||
8 | - interrupts: Should contain interrupt | ||
9 | |||
10 | Optional properties: | ||
11 | - atmel,use-dma-rx: use of PDC or DMA for receiving data | ||
12 | - atmel,use-dma-tx: use of PDC or DMA for transmitting data | ||
13 | |||
14 | <chip> compatible description: | ||
15 | - at91rm9200: legacy USART support | ||
16 | - at91sam9260: generic USART implementation for SAM9 SoCs | ||
17 | |||
18 | Example: | ||
19 | |||
20 | usart0: serial@fff8c000 { | ||
21 | compatible = "atmel,at91sam9260-usart"; | ||
22 | reg = <0xfff8c000 0x4000>; | ||
23 | interrupts = <7>; | ||
24 | atmel,use-dma-rx; | ||
25 | atmel,use-dma-tx; | ||
26 | }; | ||
27 | |||
diff --git a/Documentation/devicetree/bindings/tty/serial/msm_serial.txt b/Documentation/devicetree/bindings/tty/serial/msm_serial.txt new file mode 100644 index 000000000000..aef383eb8876 --- /dev/null +++ b/Documentation/devicetree/bindings/tty/serial/msm_serial.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * Qualcomm MSM UART | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : | ||
5 | - "qcom,msm-uart", and one of "qcom,msm-hsuart" or | ||
6 | "qcom,msm-lsuart". | ||
7 | - reg : offset and length of the register set for the device | ||
8 | for the hsuart operating in compatible mode, there should be a | ||
9 | second pair describing the gsbi registers. | ||
10 | - interrupts : should contain the uart interrupt. | ||
11 | |||
12 | There are two different UART blocks used in MSM devices, | ||
13 | "qcom,msm-hsuart" and "qcom,msm-lsuart". The msm-serial driver is | ||
14 | able to handle both of these, and matches against the "qcom,msm-uart" | ||
15 | as the compatibility. | ||
16 | |||
17 | The registers for the "qcom,msm-hsuart" device need to specify both | ||
18 | register blocks, even for the common driver. | ||
19 | |||
20 | Example: | ||
21 | |||
22 | uart@19c400000 { | ||
23 | compatible = "qcom,msm-hsuart", "qcom,msm-uart"; | ||
24 | reg = <0x19c40000 0x1000>, | ||
25 | <0x19c00000 0x1000>; | ||
26 | interrupts = <195>; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt b/Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt new file mode 100644 index 000000000000..f13f1c5be91c --- /dev/null +++ b/Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | * Synopsys DesignWare ABP UART | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "snps,dw-apb-uart" | ||
5 | - reg : offset and length of the register set for the device. | ||
6 | - interrupts : should contain uart interrupt. | ||
7 | - clock-frequency : the input clock frequency for the UART. | ||
8 | |||
9 | Optional properties: | ||
10 | - reg-shift : quantity to shift the register offsets by. If this property is | ||
11 | not present then the register offsets are not shifted. | ||
12 | - reg-io-width : the size (in bytes) of the IO accesses that should be | ||
13 | performed on the device. If this property is not present then single byte | ||
14 | accesses are used. | ||
15 | |||
16 | Example: | ||
17 | |||
18 | uart@80230000 { | ||
19 | compatible = "snps,dw-apb-uart"; | ||
20 | reg = <0x80230000 0x100>; | ||
21 | clock-frequency = <3686400>; | ||
22 | interrupts = <10>; | ||
23 | reg-shift = <2>; | ||
24 | reg-io-width = <4>; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/tegra-usb.txt b/Documentation/devicetree/bindings/usb/tegra-usb.txt new file mode 100644 index 000000000000..035d63d5646d --- /dev/null +++ b/Documentation/devicetree/bindings/usb/tegra-usb.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | Tegra SOC USB controllers | ||
2 | |||
3 | The device node for a USB controller that is part of a Tegra | ||
4 | SOC is as described in the document "Open Firmware Recommended | ||
5 | Practice : Universal Serial Bus" with the following modifications | ||
6 | and additions : | ||
7 | |||
8 | Required properties : | ||
9 | - compatible : Should be "nvidia,tegra20-ehci" for USB controllers | ||
10 | used in host mode. | ||
11 | - phy_type : Should be one of "ulpi" or "utmi". | ||
12 | - nvidia,vbus-gpio : If present, specifies a gpio that needs to be | ||
13 | activated for the bus to be powered. | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt new file mode 100644 index 000000000000..ecc6a6cd26c1 --- /dev/null +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | Device tree binding vendor prefix registry. Keep list in alphabetical order. | ||
2 | |||
3 | This isn't an exhaustive list, but you should add new prefixes to it before | ||
4 | using them to avoid name-space collisions. | ||
5 | |||
6 | adi Analog Devices, Inc. | ||
7 | amcc Applied Micro Circuits Corporation (APM, formally AMCC) | ||
8 | apm Applied Micro Circuits Corporation (APM) | ||
9 | arm ARM Ltd. | ||
10 | atmel Atmel Corporation | ||
11 | cavium Cavium, Inc. | ||
12 | chrp Common Hardware Reference Platform | ||
13 | cortina Cortina Systems, Inc. | ||
14 | dallas Maxim Integrated Products (formerly Dallas Semiconductor) | ||
15 | denx Denx Software Engineering | ||
16 | epson Seiko Epson Corp. | ||
17 | est ESTeem Wireless Modems | ||
18 | fsl Freescale Semiconductor | ||
19 | GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc. | ||
20 | gef GE Fanuc Intelligent Platforms Embedded Systems, Inc. | ||
21 | hp Hewlett Packard | ||
22 | ibm International Business Machines (IBM) | ||
23 | idt Integrated Device Technologies, Inc. | ||
24 | intercontrol Inter Control Group | ||
25 | linux Linux-specific binding | ||
26 | marvell Marvell Technology Group Ltd. | ||
27 | maxim Maxim Integrated Products | ||
28 | mosaixtech Mosaix Technologies, Inc. | ||
29 | national National Semiconductor | ||
30 | nintendo Nintendo | ||
31 | nvidia NVIDIA | ||
32 | nxp NXP Semiconductors | ||
33 | powervr Imagination Technologies | ||
34 | qcom Qualcomm, Inc. | ||
35 | ramtron Ramtron International | ||
36 | samsung Samsung Semiconductor | ||
37 | sbs Smart Battery System | ||
38 | schindler Schindler | ||
39 | sil Silicon Image | ||
40 | simtek | ||
41 | sirf SiRF Technology, Inc. | ||
42 | st STMicroelectronics | ||
43 | stericsson ST-Ericsson | ||
44 | ti Texas Instruments | ||
45 | wlf Wolfson Microelectronics | ||
46 | xlnx Xilinx | ||
diff --git a/Documentation/devicetree/bindings/virtio/mmio.txt b/Documentation/devicetree/bindings/virtio/mmio.txt new file mode 100644 index 000000000000..5069c1b8e193 --- /dev/null +++ b/Documentation/devicetree/bindings/virtio/mmio.txt | |||
@@ -0,0 +1,17 @@ | |||
1 | * virtio memory mapped device | ||
2 | |||
3 | See http://ozlabs.org/~rusty/virtio-spec/ for more details. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible: "virtio,mmio" compatibility string | ||
8 | - reg: control registers base address and size including configuration space | ||
9 | - interrupts: interrupt generated by the device | ||
10 | |||
11 | Example: | ||
12 | |||
13 | virtio_block@3000 { | ||
14 | compatible = "virtio,mmio"; | ||
15 | reg = <0x3000 0x100>; | ||
16 | interrupts = <41>; | ||
17 | } | ||