diff options
Diffstat (limited to 'Documentation/devicetree')
134 files changed, 5717 insertions, 992 deletions
diff --git a/Documentation/devicetree/bindings/arm/cci.txt b/Documentation/devicetree/bindings/arm/cci.txt new file mode 100644 index 000000000000..92d36e2aa877 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/cci.txt | |||
@@ -0,0 +1,172 @@ | |||
1 | ======================================================= | ||
2 | ARM CCI cache coherent interconnect binding description | ||
3 | ======================================================= | ||
4 | |||
5 | ARM multi-cluster systems maintain intra-cluster coherency through a | ||
6 | cache coherent interconnect (CCI) that is capable of monitoring bus | ||
7 | transactions and manage coherency, TLB invalidations and memory barriers. | ||
8 | |||
9 | It allows snooping and distributed virtual memory message broadcast across | ||
10 | clusters, through memory mapped interface, with a global control register | ||
11 | space and multiple sets of interface control registers, one per slave | ||
12 | interface. | ||
13 | |||
14 | Bindings for the CCI node follow the ePAPR standard, available from: | ||
15 | |||
16 | www.power.org/documentation/epapr-version-1-1/ | ||
17 | |||
18 | with the addition of the bindings described in this document which are | ||
19 | specific to ARM. | ||
20 | |||
21 | * CCI interconnect node | ||
22 | |||
23 | Description: Describes a CCI cache coherent Interconnect component | ||
24 | |||
25 | Node name must be "cci". | ||
26 | Node's parent must be the root node /, and the address space visible | ||
27 | through the CCI interconnect is the same as the one seen from the | ||
28 | root node (ie from CPUs perspective as per DT standard). | ||
29 | Every CCI node has to define the following properties: | ||
30 | |||
31 | - compatible | ||
32 | Usage: required | ||
33 | Value type: <string> | ||
34 | Definition: must be set to | ||
35 | "arm,cci-400" | ||
36 | |||
37 | - reg | ||
38 | Usage: required | ||
39 | Value type: <prop-encoded-array> | ||
40 | Definition: A standard property. Specifies base physical | ||
41 | address of CCI control registers common to all | ||
42 | interfaces. | ||
43 | |||
44 | - ranges: | ||
45 | Usage: required | ||
46 | Value type: <prop-encoded-array> | ||
47 | Definition: A standard property. Follow rules in the ePAPR for | ||
48 | hierarchical bus addressing. CCI interfaces | ||
49 | addresses refer to the parent node addressing | ||
50 | scheme to declare their register bases. | ||
51 | |||
52 | CCI interconnect node can define the following child nodes: | ||
53 | |||
54 | - CCI control interface nodes | ||
55 | |||
56 | Node name must be "slave-if". | ||
57 | Parent node must be CCI interconnect node. | ||
58 | |||
59 | A CCI control interface node must contain the following | ||
60 | properties: | ||
61 | |||
62 | - compatible | ||
63 | Usage: required | ||
64 | Value type: <string> | ||
65 | Definition: must be set to | ||
66 | "arm,cci-400-ctrl-if" | ||
67 | |||
68 | - interface-type: | ||
69 | Usage: required | ||
70 | Value type: <string> | ||
71 | Definition: must be set to one of {"ace", "ace-lite"} | ||
72 | depending on the interface type the node | ||
73 | represents. | ||
74 | |||
75 | - reg: | ||
76 | Usage: required | ||
77 | Value type: <prop-encoded-array> | ||
78 | Definition: the base address and size of the | ||
79 | corresponding interface programming | ||
80 | registers. | ||
81 | |||
82 | * CCI interconnect bus masters | ||
83 | |||
84 | Description: masters in the device tree connected to a CCI port | ||
85 | (inclusive of CPUs and their cpu nodes). | ||
86 | |||
87 | A CCI interconnect bus master node must contain the following | ||
88 | properties: | ||
89 | |||
90 | - cci-control-port: | ||
91 | Usage: required | ||
92 | Value type: <phandle> | ||
93 | Definition: a phandle containing the CCI control interface node | ||
94 | the master is connected to. | ||
95 | |||
96 | Example: | ||
97 | |||
98 | cpus { | ||
99 | #size-cells = <0>; | ||
100 | #address-cells = <1>; | ||
101 | |||
102 | CPU0: cpu@0 { | ||
103 | device_type = "cpu"; | ||
104 | compatible = "arm,cortex-a15"; | ||
105 | cci-control-port = <&cci_control1>; | ||
106 | reg = <0x0>; | ||
107 | }; | ||
108 | |||
109 | CPU1: cpu@1 { | ||
110 | device_type = "cpu"; | ||
111 | compatible = "arm,cortex-a15"; | ||
112 | cci-control-port = <&cci_control1>; | ||
113 | reg = <0x1>; | ||
114 | }; | ||
115 | |||
116 | CPU2: cpu@100 { | ||
117 | device_type = "cpu"; | ||
118 | compatible = "arm,cortex-a7"; | ||
119 | cci-control-port = <&cci_control2>; | ||
120 | reg = <0x100>; | ||
121 | }; | ||
122 | |||
123 | CPU3: cpu@101 { | ||
124 | device_type = "cpu"; | ||
125 | compatible = "arm,cortex-a7"; | ||
126 | cci-control-port = <&cci_control2>; | ||
127 | reg = <0x101>; | ||
128 | }; | ||
129 | |||
130 | }; | ||
131 | |||
132 | dma0: dma@3000000 { | ||
133 | compatible = "arm,pl330", "arm,primecell"; | ||
134 | cci-control-port = <&cci_control0>; | ||
135 | reg = <0x0 0x3000000 0x0 0x1000>; | ||
136 | interrupts = <10>; | ||
137 | #dma-cells = <1>; | ||
138 | #dma-channels = <8>; | ||
139 | #dma-requests = <32>; | ||
140 | }; | ||
141 | |||
142 | cci@2c090000 { | ||
143 | compatible = "arm,cci-400"; | ||
144 | #address-cells = <1>; | ||
145 | #size-cells = <1>; | ||
146 | reg = <0x0 0x2c090000 0 0x1000>; | ||
147 | ranges = <0x0 0x0 0x2c090000 0x6000>; | ||
148 | |||
149 | cci_control0: slave-if@1000 { | ||
150 | compatible = "arm,cci-400-ctrl-if"; | ||
151 | interface-type = "ace-lite"; | ||
152 | reg = <0x1000 0x1000>; | ||
153 | }; | ||
154 | |||
155 | cci_control1: slave-if@4000 { | ||
156 | compatible = "arm,cci-400-ctrl-if"; | ||
157 | interface-type = "ace"; | ||
158 | reg = <0x4000 0x1000>; | ||
159 | }; | ||
160 | |||
161 | cci_control2: slave-if@5000 { | ||
162 | compatible = "arm,cci-400-ctrl-if"; | ||
163 | interface-type = "ace"; | ||
164 | reg = <0x5000 0x1000>; | ||
165 | }; | ||
166 | }; | ||
167 | |||
168 | This CCI node corresponds to a CCI component whose control registers sits | ||
169 | at address 0x000000002c090000. | ||
170 | CCI slave interface @0x000000002c091000 is connected to dma controller dma0. | ||
171 | CCI slave interface @0x000000002c094000 is connected to CPUs {CPU0, CPU1}; | ||
172 | CCI slave interface @0x000000002c095000 is connected to CPUs {CPU2, CPU3}; | ||
diff --git a/Documentation/devicetree/bindings/arm/keystone/keystone.txt b/Documentation/devicetree/bindings/arm/keystone/keystone.txt new file mode 100644 index 000000000000..63c0e6ae5cf7 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/keystone/keystone.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | TI Keystone Platforms Device Tree Bindings | ||
2 | ----------------------------------------------- | ||
3 | |||
4 | Boards with Keystone2 based devices (TCI66xxK2H) SOC shall have the | ||
5 | following properties. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: All TI specific devices present in Keystone SOC should be in | ||
9 | the form "ti,keystone-*". Generic devices like gic, arch_timers, ns16550 | ||
10 | type UART should use the specified compatible for those devices. | ||
diff --git a/Documentation/devicetree/bindings/arm/l2cc.txt b/Documentation/devicetree/bindings/arm/l2cc.txt index cbef09b5c8a7..69ddf9fad2dc 100644 --- a/Documentation/devicetree/bindings/arm/l2cc.txt +++ b/Documentation/devicetree/bindings/arm/l2cc.txt | |||
@@ -16,6 +16,9 @@ Required properties: | |||
16 | performs the same operation). | 16 | performs the same operation). |
17 | "marvell,"aurora-outer-cache: Marvell Controller designed to be | 17 | "marvell,"aurora-outer-cache: Marvell Controller designed to be |
18 | compatible with the ARM one with outer cache mode. | 18 | compatible with the ARM one with outer cache mode. |
19 | "bcm,bcm11351-a2-pl310-cache": For Broadcom bcm11351 chipset where an | ||
20 | offset needs to be added to the address before passing down to the L2 | ||
21 | cache controller | ||
19 | - cache-unified : Specifies the cache is a unified cache. | 22 | - cache-unified : Specifies the cache is a unified cache. |
20 | - cache-level : Should be set to 2 for a level 2 cache. | 23 | - cache-level : Should be set to 2 for a level 2 cache. |
21 | - reg : Physical base address and size of cache controller's memory mapped | 24 | - reg : Physical base address and size of cache controller's memory mapped |
diff --git a/Documentation/devicetree/bindings/arm/nspire.txt b/Documentation/devicetree/bindings/arm/nspire.txt new file mode 100644 index 000000000000..4d08518bd176 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/nspire.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | TI-NSPIRE calculators | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Compatible property value should contain "ti,nspire". | ||
5 | CX models should have "ti,nspire-cx" | ||
6 | Touchpad models should have "ti,nspire-tp" | ||
7 | Clickpad models should have "ti,nspire-clp" | ||
8 | |||
9 | Example: | ||
10 | |||
11 | / { | ||
12 | model = "TI-NSPIRE CX"; | ||
13 | compatible = "ti,nspire-cx"; | ||
14 | ... | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index f8288ea1b530..6d498c758b45 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
@@ -56,3 +56,6 @@ Boards: | |||
56 | 56 | ||
57 | - OMAP5 EVM : Evaluation Module | 57 | - OMAP5 EVM : Evaluation Module |
58 | compatible = "ti,omap5-evm", "ti,omap5" | 58 | compatible = "ti,omap5-evm", "ti,omap5" |
59 | |||
60 | - AM43x EPOS EVM | ||
61 | compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43" | ||
diff --git a/Documentation/devicetree/bindings/arm/rtsm-dcscb.txt b/Documentation/devicetree/bindings/arm/rtsm-dcscb.txt new file mode 100644 index 000000000000..3b8fbf3c00c5 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/rtsm-dcscb.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | ARM Dual Cluster System Configuration Block | ||
2 | ------------------------------------------- | ||
3 | |||
4 | The Dual Cluster System Configuration Block (DCSCB) provides basic | ||
5 | functionality for controlling clocks, resets and configuration pins in | ||
6 | the Dual Cluster System implemented by the Real-Time System Model (RTSM). | ||
7 | |||
8 | Required properties: | ||
9 | |||
10 | - compatible : should be "arm,rtsm,dcscb" | ||
11 | |||
12 | - reg : physical base address and the size of the registers window | ||
13 | |||
14 | Example: | ||
15 | |||
16 | dcscb@60000000 { | ||
17 | compatible = "arm,rtsm,dcscb"; | ||
18 | reg = <0x60000000 0x1000>; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt b/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt index f2f2171e530e..9e5f73412cd7 100644 --- a/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt +++ b/Documentation/devicetree/bindings/arm/samsung/interrupt-combiner.txt | |||
@@ -5,7 +5,7 @@ can combine interrupt sources as a group and provide a single interrupt request | |||
5 | for the group. The interrupt request from each group are connected to a parent | 5 | for the group. The interrupt request from each group are connected to a parent |
6 | interrupt controller, such as GIC in case of Exynos4210. | 6 | interrupt controller, such as GIC in case of Exynos4210. |
7 | 7 | ||
8 | The interrupt combiner controller consists of multiple combiners. Upto eight | 8 | The interrupt combiner controller consists of multiple combiners. Up to eight |
9 | interrupt sources can be connected to a combiner. The combiner outputs one | 9 | interrupt sources can be connected to a combiner. The combiner outputs one |
10 | combined interrupt for its eight interrupt sources. The combined interrupt | 10 | combined interrupt for its eight interrupt sources. The combined interrupt |
11 | is usually connected to a parent interrupt controller. | 11 | is usually connected to a parent interrupt controller. |
@@ -14,8 +14,8 @@ A single node in the device tree is used to describe the interrupt combiner | |||
14 | controller module (which includes multiple combiners). A combiner in the | 14 | controller module (which includes multiple combiners). A combiner in the |
15 | interrupt controller module shares config/control registers with other | 15 | interrupt controller module shares config/control registers with other |
16 | combiners. For example, a 32-bit interrupt enable/disable config register | 16 | combiners. For example, a 32-bit interrupt enable/disable config register |
17 | can accommodate upto 4 interrupt combiners (with each combiner supporting | 17 | can accommodate up to 4 interrupt combiners (with each combiner supporting |
18 | upto 8 interrupt sources). | 18 | up to 8 interrupt sources). |
19 | 19 | ||
20 | Required properties: | 20 | Required properties: |
21 | - compatible: should be "samsung,exynos4210-combiner". | 21 | - compatible: should be "samsung,exynos4210-combiner". |
diff --git a/Documentation/devicetree/bindings/arm/spear/shirq.txt b/Documentation/devicetree/bindings/arm/spear/shirq.txt index 13fbb8866bd6..715a013ed4bd 100644 --- a/Documentation/devicetree/bindings/arm/spear/shirq.txt +++ b/Documentation/devicetree/bindings/arm/spear/shirq.txt | |||
@@ -14,7 +14,7 @@ A single node in the device tree is used to describe the shared | |||
14 | interrupt multiplexor (one node for all groups). A group in the | 14 | interrupt multiplexor (one node for all groups). A group in the |
15 | interrupt controller shares config/control registers with other groups. | 15 | interrupt controller shares config/control registers with other groups. |
16 | For example, a 32-bit interrupt enable/disable config register can | 16 | For example, a 32-bit interrupt enable/disable config register can |
17 | accommodate upto 4 interrupt groups. | 17 | accommodate up to 4 interrupt groups. |
18 | 18 | ||
19 | Required properties: | 19 | Required properties: |
20 | - compatible: should be, either of | 20 | - compatible: should be, either of |
diff --git a/Documentation/devicetree/bindings/arm/ste-nomadik.txt b/Documentation/devicetree/bindings/arm/ste-nomadik.txt index 19bca04b81c9..6256ec31666d 100644 --- a/Documentation/devicetree/bindings/arm/ste-nomadik.txt +++ b/Documentation/devicetree/bindings/arm/ste-nomadik.txt | |||
@@ -3,6 +3,11 @@ ST-Ericsson Nomadik Device Tree Bindings | |||
3 | For various board the "board" node may contain specific properties | 3 | For various board the "board" node may contain specific properties |
4 | that pertain to this particular board, such as board-specific GPIOs. | 4 | that pertain to this particular board, such as board-specific GPIOs. |
5 | 5 | ||
6 | Required root node property: src | ||
7 | - Nomadik System and reset controller used for basic chip control, clock | ||
8 | and reset line control. | ||
9 | - compatible: must be "stericsson,nomadik,src" | ||
10 | |||
6 | Boards with the Nomadik SoC include: | 11 | Boards with the Nomadik SoC include: |
7 | 12 | ||
8 | S8815 "MiniKit" manufactured by Calao Systems: | 13 | S8815 "MiniKit" manufactured by Calao Systems: |
diff --git a/Documentation/devicetree/bindings/arm/ste-u300.txt b/Documentation/devicetree/bindings/arm/ste-u300.txt new file mode 100644 index 000000000000..69b5ab0b5f4b --- /dev/null +++ b/Documentation/devicetree/bindings/arm/ste-u300.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | ST-Ericsson U300 Device Tree Bindings | ||
2 | |||
3 | For various board the "board" node may contain specific properties | ||
4 | that pertain to this particular board, such as board-specific GPIOs | ||
5 | or board power regulator supplies. | ||
6 | |||
7 | Required root node property: | ||
8 | |||
9 | compatible="stericsson,u300"; | ||
10 | |||
11 | Required node: syscon | ||
12 | This contains the system controller. | ||
13 | - compatible: must be "stericsson,u300-syscon". | ||
14 | - reg: the base address and size of the system controller. | ||
15 | |||
16 | Boards with the U300 SoC include: | ||
17 | |||
18 | S365 "Small Board U365": | ||
19 | |||
20 | Required node: s365 | ||
21 | This contains the board-specific information. | ||
22 | - compatible: must be "stericsson,s365". | ||
23 | - vana15-supply: the regulator supplying the 1.5V to drive the | ||
24 | board. | ||
25 | - syscon: a pointer to the syscon node so we can acccess the | ||
26 | syscon registers to set the board as self-powered. | ||
27 | |||
28 | Example: | ||
29 | |||
30 | / { | ||
31 | model = "ST-Ericsson U300"; | ||
32 | compatible = "stericsson,u300"; | ||
33 | #address-cells = <1>; | ||
34 | #size-cells = <1>; | ||
35 | |||
36 | s365 { | ||
37 | compatible = "stericsson,s365"; | ||
38 | vana15-supply = <&ab3100_ldo_d_reg>; | ||
39 | syscon = <&syscon>; | ||
40 | }; | ||
41 | |||
42 | syscon: syscon@c0011000 { | ||
43 | compatible = "stericsson,u300-syscon"; | ||
44 | reg = <0xc0011000 0x1000>; | ||
45 | }; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index b519f9b699c3..3ec0c5c4f0e9 100644 --- a/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt | |||
@@ -12,6 +12,11 @@ Optional properties: | |||
12 | - calxeda,port-phys: phandle-combophy and lane assignment, which maps each | 12 | - calxeda,port-phys: phandle-combophy and lane assignment, which maps each |
13 | SATA port to a combophy and a lane within that | 13 | SATA port to a combophy and a lane within that |
14 | combophy | 14 | combophy |
15 | - calxeda,sgpio-gpio: phandle-gpio bank, bit offset, and default on or off, | ||
16 | which indicates that the driver supports SGPIO | ||
17 | indicator lights using the indicated GPIOs | ||
18 | - calxeda,led-order : a u32 array that map port numbers to offsets within the | ||
19 | SGPIO bitstream. | ||
15 | - dma-coherent : Present if dma operations are coherent | 20 | - dma-coherent : Present if dma operations are coherent |
16 | 21 | ||
17 | Example: | 22 | Example: |
diff --git a/Documentation/devicetree/bindings/ata/atmel-at91_cf.txt b/Documentation/devicetree/bindings/ata/atmel-at91_cf.txt new file mode 100644 index 000000000000..c1d22b3ae134 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/atmel-at91_cf.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | Atmel AT91RM9200 CompactFlash | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "atmel,at91rm9200-cf". | ||
5 | - reg : should specify localbus address and size used. | ||
6 | - gpios : specifies the gpio pins to control the CF device. Detect | ||
7 | and reset gpio's are mandatory while irq and vcc gpio's are | ||
8 | optional and may be set to 0 if not present. | ||
9 | |||
10 | Example: | ||
11 | compact-flash@50000000 { | ||
12 | compatible = "atmel,at91rm9200-cf"; | ||
13 | reg = <0x50000000 0x30000000>; | ||
14 | gpios = <&pioC 13 0 /* irq */ | ||
15 | &pioC 15 0 /* detect */ | ||
16 | 0 /* vcc */ | ||
17 | &pioC 5 0 /* reset */ | ||
18 | >; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt new file mode 100644 index 000000000000..cedc2a9c4785 --- /dev/null +++ b/Documentation/devicetree/bindings/bus/imx-weim.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | Device tree bindings for i.MX Wireless External Interface Module (WEIM) | ||
2 | |||
3 | The term "wireless" does not imply that the WEIM is literally an interface | ||
4 | without wires. It simply means that this module was originally designed for | ||
5 | wireless and mobile applications that use low-power technology. | ||
6 | |||
7 | The actual devices are instantiated from the child nodes of a WEIM node. | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible: Should be set to "fsl,imx6q-weim" | ||
12 | - reg: A resource specifier for the register space | ||
13 | (see the example below) | ||
14 | - clocks: the clock, see the example below. | ||
15 | - #address-cells: Must be set to 2 to allow memory address translation | ||
16 | - #size-cells: Must be set to 1 to allow CS address passing | ||
17 | - ranges: Must be set up to reflect the memory layout with four | ||
18 | integer values for each chip-select line in use: | ||
19 | |||
20 | <cs-number> 0 <physical address of mapping> <size> | ||
21 | |||
22 | Timing property for child nodes. It is mandatory, not optional. | ||
23 | |||
24 | - fsl,weim-cs-timing: The timing array, contains 6 timing values for the | ||
25 | child node. We can get the CS index from the child | ||
26 | node's "reg" property. This property contains the values | ||
27 | for the registers EIM_CSnGCR1, EIM_CSnGCR2, EIM_CSnRCR1, | ||
28 | EIM_CSnRCR2, EIM_CSnWCR1, EIM_CSnWCR2 in this order. | ||
29 | |||
30 | Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM: | ||
31 | |||
32 | weim: weim@021b8000 { | ||
33 | compatible = "fsl,imx6q-weim"; | ||
34 | reg = <0x021b8000 0x4000>; | ||
35 | clocks = <&clks 196>; | ||
36 | #address-cells = <2>; | ||
37 | #size-cells = <1>; | ||
38 | ranges = <0 0 0x08000000 0x08000000>; | ||
39 | |||
40 | nor@0,0 { | ||
41 | compatible = "cfi-flash"; | ||
42 | reg = <0 0 0x02000000>; | ||
43 | #address-cells = <1>; | ||
44 | #size-cells = <1>; | ||
45 | bank-width = <2>; | ||
46 | fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000 | ||
47 | 0x0000c000 0x1404a38e 0x00000000>; | ||
48 | }; | ||
49 | }; | ||
diff --git a/Documentation/devicetree/bindings/bus/ti-gpmc.txt b/Documentation/devicetree/bindings/bus/ti-gpmc.txt index 4b87ea1194e3..704be9306c9f 100644 --- a/Documentation/devicetree/bindings/bus/ti-gpmc.txt +++ b/Documentation/devicetree/bindings/bus/ti-gpmc.txt | |||
@@ -95,7 +95,6 @@ GPMC chip-select settings properties for child nodes. All are optional. | |||
95 | - gpmc,burst-wrap Enables wrap bursting | 95 | - gpmc,burst-wrap Enables wrap bursting |
96 | - gpmc,burst-read Enables read page/burst mode | 96 | - gpmc,burst-read Enables read page/burst mode |
97 | - gpmc,burst-write Enables write page/burst mode | 97 | - gpmc,burst-write Enables write page/burst mode |
98 | - gpmc,device-nand Device is NAND | ||
99 | - gpmc,device-width Total width of device(s) connected to a GPMC | 98 | - gpmc,device-width Total width of device(s) connected to a GPMC |
100 | chip-select in bytes. The GPMC supports 8-bit | 99 | chip-select in bytes. The GPMC supports 8-bit |
101 | and 16-bit devices and so this property must be | 100 | and 16-bit devices and so this property must be |
diff --git a/Documentation/devicetree/bindings/clock/altr_socfpga.txt b/Documentation/devicetree/bindings/clock/altr_socfpga.txt index bd0c8416a5c8..0045433eae1f 100644 --- a/Documentation/devicetree/bindings/clock/altr_socfpga.txt +++ b/Documentation/devicetree/bindings/clock/altr_socfpga.txt | |||
@@ -9,6 +9,9 @@ Required properties: | |||
9 | "altr,socfpga-pll-clock" - for a PLL clock | 9 | "altr,socfpga-pll-clock" - for a PLL clock |
10 | "altr,socfpga-perip-clock" - The peripheral clock divided from the | 10 | "altr,socfpga-perip-clock" - The peripheral clock divided from the |
11 | PLL clock. | 11 | PLL clock. |
12 | "altr,socfpga-gate-clk" - Clocks that directly feed peripherals and | ||
13 | can get gated. | ||
14 | |||
12 | - reg : shall be the control register offset from CLOCK_MANAGER's base for the clock. | 15 | - reg : shall be the control register offset from CLOCK_MANAGER's base for the clock. |
13 | - clocks : shall be the input parent clock phandle for the clock. This is | 16 | - clocks : shall be the input parent clock phandle for the clock. This is |
14 | either an oscillator or a pll output. | 17 | either an oscillator or a pll output. |
@@ -16,3 +19,7 @@ Required properties: | |||
16 | 19 | ||
17 | Optional properties: | 20 | Optional properties: |
18 | - fixed-divider : If clocks have a fixed divider value, use this property. | 21 | - fixed-divider : If clocks have a fixed divider value, use this property. |
22 | - clk-gate : For "socfpga-gate-clk", clk-gate contains the gating register | ||
23 | and the bit index. | ||
24 | - div-reg : For "socfpga-gate-clk", div-reg contains the divider register, bit shift, | ||
25 | and width. | ||
diff --git a/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt b/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt new file mode 100644 index 000000000000..a1201802f90d --- /dev/null +++ b/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt | |||
@@ -0,0 +1,64 @@ | |||
1 | * Samsung Audio Subsystem Clock Controller | ||
2 | |||
3 | The Samsung Audio Subsystem clock controller generates and supplies clocks | ||
4 | to Audio Subsystem block available in the S5PV210 and Exynos SoCs. The clock | ||
5 | binding described here is applicable to all SoC's in Exynos family. | ||
6 | |||
7 | Required Properties: | ||
8 | |||
9 | - compatible: should be one of the following: | ||
10 | - "samsung,exynos4210-audss-clock" - controller compatible with all Exynos4 SoCs. | ||
11 | - "samsung,exynos5250-audss-clock" - controller compatible with all Exynos5 SoCs. | ||
12 | |||
13 | - reg: physical base address and length of the controller's register set. | ||
14 | |||
15 | - #clock-cells: should be 1. | ||
16 | |||
17 | The following is the list of clocks generated by the controller. Each clock is | ||
18 | assigned an identifier and client nodes use this identifier to specify the | ||
19 | clock which they consume. Some of the clocks are available only on a particular | ||
20 | Exynos4 SoC and this is specified where applicable. | ||
21 | |||
22 | Provided clocks: | ||
23 | |||
24 | Clock ID SoC (if specific) | ||
25 | ----------------------------------------------- | ||
26 | |||
27 | mout_audss 0 | ||
28 | mout_i2s 1 | ||
29 | dout_srp 2 | ||
30 | dout_aud_bus 3 | ||
31 | dout_i2s 4 | ||
32 | srp_clk 5 | ||
33 | i2s_bus 6 | ||
34 | sclk_i2s 7 | ||
35 | pcm_bus 8 | ||
36 | sclk_pcm 9 | ||
37 | |||
38 | Example 1: An example of a clock controller node is listed below. | ||
39 | |||
40 | clock_audss: audss-clock-controller@3810000 { | ||
41 | compatible = "samsung,exynos5250-audss-clock"; | ||
42 | reg = <0x03810000 0x0C>; | ||
43 | #clock-cells = <1>; | ||
44 | }; | ||
45 | |||
46 | Example 2: I2S controller node that consumes the clock generated by the clock | ||
47 | controller. Refer to the standard clock bindings for information | ||
48 | about 'clocks' and 'clock-names' property. | ||
49 | |||
50 | i2s0: i2s@03830000 { | ||
51 | compatible = "samsung,i2s-v5"; | ||
52 | reg = <0x03830000 0x100>; | ||
53 | dmas = <&pdma0 10 | ||
54 | &pdma0 9 | ||
55 | &pdma0 8>; | ||
56 | dma-names = "tx", "rx", "tx-sec"; | ||
57 | clocks = <&clock_audss EXYNOS_I2S_BUS>, | ||
58 | <&clock_audss EXYNOS_I2S_BUS>, | ||
59 | <&clock_audss EXYNOS_SCLK_I2S>, | ||
60 | <&clock_audss EXYNOS_MOUT_AUDSS>, | ||
61 | <&clock_audss EXYNOS_MOUT_I2S>; | ||
62 | clock-names = "iis", "i2s_opclk0", "i2s_opclk1", | ||
63 | "mout_audss", "mout_i2s"; | ||
64 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/exynos4-clock.txt b/Documentation/devicetree/bindings/clock/exynos4-clock.txt index ea5e26f16aec..14d5c2af26f4 100644 --- a/Documentation/devicetree/bindings/clock/exynos4-clock.txt +++ b/Documentation/devicetree/bindings/clock/exynos4-clock.txt | |||
@@ -102,6 +102,7 @@ Exynos4 SoC and this is specified where applicable. | |||
102 | sclk_spi0_isp 174 Exynos4x12 | 102 | sclk_spi0_isp 174 Exynos4x12 |
103 | sclk_spi1_isp 175 Exynos4x12 | 103 | sclk_spi1_isp 175 Exynos4x12 |
104 | sclk_uart_isp 176 Exynos4x12 | 104 | sclk_uart_isp 176 Exynos4x12 |
105 | sclk_fimg2d 177 | ||
105 | 106 | ||
106 | [Peripheral Clock Gates] | 107 | [Peripheral Clock Gates] |
107 | 108 | ||
@@ -129,7 +130,7 @@ Exynos4 SoC and this is specified where applicable. | |||
129 | smmu_mfcl 274 | 130 | smmu_mfcl 274 |
130 | smmu_mfcr 275 | 131 | smmu_mfcr 275 |
131 | g3d 276 | 132 | g3d 276 |
132 | g2d 277 Exynos4210 | 133 | g2d 277 |
133 | rotator 278 Exynos4210 | 134 | rotator 278 Exynos4210 |
134 | mdma 279 Exynos4210 | 135 | mdma 279 Exynos4210 |
135 | smmu_g2d 280 Exynos4210 | 136 | smmu_g2d 280 Exynos4210 |
diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt new file mode 100644 index 000000000000..9bcc4b1bff51 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt | |||
@@ -0,0 +1,201 @@ | |||
1 | * Samsung Exynos5420 Clock Controller | ||
2 | |||
3 | The Exynos5420 clock controller generates and supplies clock to various | ||
4 | controllers within the Exynos5420 SoC. | ||
5 | |||
6 | Required Properties: | ||
7 | |||
8 | - comptible: should be one of the following. | ||
9 | - "samsung,exynos5420-clock" - controller compatible with Exynos5420 SoC. | ||
10 | |||
11 | - reg: physical base address of the controller and length of memory mapped | ||
12 | region. | ||
13 | |||
14 | - #clock-cells: should be 1. | ||
15 | |||
16 | The following is the list of clocks generated by the controller. Each clock is | ||
17 | assigned an identifier and client nodes use this identifier to specify the | ||
18 | clock which they consume. | ||
19 | |||
20 | |||
21 | [Core Clocks] | ||
22 | |||
23 | Clock ID | ||
24 | ---------------------------- | ||
25 | |||
26 | fin_pll 1 | ||
27 | |||
28 | [Clock Gate for Special Clocks] | ||
29 | |||
30 | Clock ID | ||
31 | ---------------------------- | ||
32 | sclk_uart0 128 | ||
33 | sclk_uart1 129 | ||
34 | sclk_uart2 130 | ||
35 | sclk_uart3 131 | ||
36 | sclk_mmc0 132 | ||
37 | sclk_mmc1 133 | ||
38 | sclk_mmc2 134 | ||
39 | sclk_spi0 135 | ||
40 | sclk_spi1 136 | ||
41 | sclk_spi2 137 | ||
42 | sclk_i2s1 138 | ||
43 | sclk_i2s2 139 | ||
44 | sclk_pcm1 140 | ||
45 | sclk_pcm2 141 | ||
46 | sclk_spdif 142 | ||
47 | sclk_hdmi 143 | ||
48 | sclk_pixel 144 | ||
49 | sclk_dp1 145 | ||
50 | sclk_mipi1 146 | ||
51 | sclk_fimd1 147 | ||
52 | sclk_maudio0 148 | ||
53 | sclk_maupcm0 149 | ||
54 | sclk_usbd300 150 | ||
55 | sclk_usbd301 151 | ||
56 | sclk_usbphy300 152 | ||
57 | sclk_usbphy301 153 | ||
58 | sclk_unipro 154 | ||
59 | sclk_pwm 155 | ||
60 | sclk_gscl_wa 156 | ||
61 | sclk_gscl_wb 157 | ||
62 | |||
63 | [Peripheral Clock Gates] | ||
64 | |||
65 | Clock ID | ||
66 | ---------------------------- | ||
67 | |||
68 | aclk66_peric 256 | ||
69 | uart0 257 | ||
70 | uart1 258 | ||
71 | uart2 259 | ||
72 | uart3 260 | ||
73 | i2c0 261 | ||
74 | i2c1 262 | ||
75 | i2c2 263 | ||
76 | i2c3 264 | ||
77 | i2c4 265 | ||
78 | i2c5 266 | ||
79 | i2c6 267 | ||
80 | i2c7 268 | ||
81 | i2c_hdmi 269 | ||
82 | tsadc 270 | ||
83 | spi0 271 | ||
84 | spi1 272 | ||
85 | spi2 273 | ||
86 | keyif 274 | ||
87 | i2s1 275 | ||
88 | i2s2 276 | ||
89 | pcm1 277 | ||
90 | pcm2 278 | ||
91 | pwm 279 | ||
92 | spdif 280 | ||
93 | i2c8 281 | ||
94 | i2c9 282 | ||
95 | i2c10 283 | ||
96 | aclk66_psgen 300 | ||
97 | chipid 301 | ||
98 | sysreg 302 | ||
99 | tzpc0 303 | ||
100 | tzpc1 304 | ||
101 | tzpc2 305 | ||
102 | tzpc3 306 | ||
103 | tzpc4 307 | ||
104 | tzpc5 308 | ||
105 | tzpc6 309 | ||
106 | tzpc7 310 | ||
107 | tzpc8 311 | ||
108 | tzpc9 312 | ||
109 | hdmi_cec 313 | ||
110 | seckey 314 | ||
111 | mct 315 | ||
112 | wdt 316 | ||
113 | rtc 317 | ||
114 | tmu 318 | ||
115 | tmu_gpu 319 | ||
116 | pclk66_gpio 330 | ||
117 | aclk200_fsys2 350 | ||
118 | mmc0 351 | ||
119 | mmc1 352 | ||
120 | mmc2 353 | ||
121 | sromc 354 | ||
122 | ufs 355 | ||
123 | aclk200_fsys 360 | ||
124 | tsi 361 | ||
125 | pdma0 362 | ||
126 | pdma1 363 | ||
127 | rtic 364 | ||
128 | usbh20 365 | ||
129 | usbd300 366 | ||
130 | usbd301 377 | ||
131 | aclk400_mscl 380 | ||
132 | mscl0 381 | ||
133 | mscl1 382 | ||
134 | mscl2 383 | ||
135 | smmu_mscl0 384 | ||
136 | smmu_mscl1 385 | ||
137 | smmu_mscl2 386 | ||
138 | aclk333 400 | ||
139 | mfc 401 | ||
140 | smmu_mfcl 402 | ||
141 | smmu_mfcr 403 | ||
142 | aclk200_disp1 410 | ||
143 | dsim1 411 | ||
144 | dp1 412 | ||
145 | hdmi 413 | ||
146 | aclk300_disp1 420 | ||
147 | fimd1 421 | ||
148 | smmu_fimd1 422 | ||
149 | aclk166 430 | ||
150 | mixer 431 | ||
151 | aclk266 440 | ||
152 | rotator 441 | ||
153 | mdma1 442 | ||
154 | smmu_rotator 443 | ||
155 | smmu_mdma1 444 | ||
156 | aclk300_jpeg 450 | ||
157 | jpeg 451 | ||
158 | jpeg2 452 | ||
159 | smmu_jpeg 453 | ||
160 | aclk300_gscl 460 | ||
161 | smmu_gscl0 461 | ||
162 | smmu_gscl1 462 | ||
163 | gscl_wa 463 | ||
164 | gscl_wb 464 | ||
165 | gscl0 465 | ||
166 | gscl1 466 | ||
167 | clk_3aa 467 | ||
168 | aclk266_g2d 470 | ||
169 | sss 471 | ||
170 | slim_sss 472 | ||
171 | mdma0 473 | ||
172 | aclk333_g2d 480 | ||
173 | g2d 481 | ||
174 | aclk333_432_gscl 490 | ||
175 | smmu_3aa 491 | ||
176 | smmu_fimcl0 492 | ||
177 | smmu_fimcl1 493 | ||
178 | smmu_fimcl3 494 | ||
179 | fimc_lite3 495 | ||
180 | aclk_g3d 500 | ||
181 | g3d 501 | ||
182 | |||
183 | Example 1: An example of a clock controller node is listed below. | ||
184 | |||
185 | clock: clock-controller@0x10010000 { | ||
186 | compatible = "samsung,exynos5420-clock"; | ||
187 | reg = <0x10010000 0x30000>; | ||
188 | #clock-cells = <1>; | ||
189 | }; | ||
190 | |||
191 | Example 2: UART controller node that consumes the clock generated by the clock | ||
192 | controller. Refer to the standard clock bindings for information | ||
193 | about 'clocks' and 'clock-names' property. | ||
194 | |||
195 | serial@13820000 { | ||
196 | compatible = "samsung,exynos4210-uart"; | ||
197 | reg = <0x13820000 0x100>; | ||
198 | interrupts = <0 54 0>; | ||
199 | clocks = <&clock 259>, <&clock 130>; | ||
200 | clock-names = "uart", "clk_uart_baud0"; | ||
201 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/imx5-clock.txt b/Documentation/devicetree/bindings/clock/imx5-clock.txt index d71b4b2c077d..f46f5625d8ad 100644 --- a/Documentation/devicetree/bindings/clock/imx5-clock.txt +++ b/Documentation/devicetree/bindings/clock/imx5-clock.txt | |||
@@ -184,6 +184,19 @@ clocks and IDs. | |||
184 | cko2 170 | 184 | cko2 170 |
185 | srtc_gate 171 | 185 | srtc_gate 171 |
186 | pata_gate 172 | 186 | pata_gate 172 |
187 | sata_gate 173 | ||
188 | spdif_xtal_sel 174 | ||
189 | spdif0_sel 175 | ||
190 | spdif1_sel 176 | ||
191 | spdif0_pred 177 | ||
192 | spdif0_podf 178 | ||
193 | spdif1_pred 179 | ||
194 | spdif1_podf 180 | ||
195 | spdif0_com_sel 181 | ||
196 | spdif1_com_sel 182 | ||
197 | spdif0_gate 183 | ||
198 | spdif1_gate 184 | ||
199 | spdif_ipg_gate 185 | ||
187 | 200 | ||
188 | Examples (for mx53): | 201 | Examples (for mx53): |
189 | 202 | ||
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt index 6deb6fd1c7cd..a0e104f0527e 100644 --- a/Documentation/devicetree/bindings/clock/imx6q-clock.txt +++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt | |||
@@ -208,6 +208,7 @@ clocks and IDs. | |||
208 | pll4_post_div 193 | 208 | pll4_post_div 193 |
209 | pll5_post_div 194 | 209 | pll5_post_div 194 |
210 | pll5_video_div 195 | 210 | pll5_video_div 195 |
211 | eim_slow 196 | ||
211 | 212 | ||
212 | Examples: | 213 | Examples: |
213 | 214 | ||
diff --git a/Documentation/devicetree/bindings/clock/imx6sl-clock.txt b/Documentation/devicetree/bindings/clock/imx6sl-clock.txt new file mode 100644 index 000000000000..15e40bdf147d --- /dev/null +++ b/Documentation/devicetree/bindings/clock/imx6sl-clock.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | * Clock bindings for Freescale i.MX6 SoloLite | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,imx6sl-ccm" | ||
5 | - reg: Address and length of the register set | ||
6 | - #clock-cells: Should be <1> | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx6sl-clock.h | ||
10 | for the full list of i.MX6 SoloLite clock IDs. | ||
diff --git a/Documentation/devicetree/bindings/clock/nspire-clock.txt b/Documentation/devicetree/bindings/clock/nspire-clock.txt new file mode 100644 index 000000000000..7c3bc8bb5b9f --- /dev/null +++ b/Documentation/devicetree/bindings/clock/nspire-clock.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | TI-NSPIRE Clocks | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Valid compatible properties include: | ||
5 | "lsi,nspire-cx-ahb-divider" for the AHB divider in the CX model | ||
6 | "lsi,nspire-classic-ahb-divider" for the AHB divider in the older model | ||
7 | "lsi,nspire-cx-clock" for the base clock in the CX model | ||
8 | "lsi,nspire-classic-clock" for the base clock in the older model | ||
9 | |||
10 | - reg: Physical base address of the controller and length of memory mapped | ||
11 | region. | ||
12 | |||
13 | Optional: | ||
14 | - clocks: For the "nspire-*-ahb-divider" compatible clocks, this is the parent | ||
15 | clock where it divides the rate from. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | ahb_clk { | ||
20 | #clock-cells = <0>; | ||
21 | compatible = "lsi,nspire-cx-clock"; | ||
22 | reg = <0x900B0000 0x4>; | ||
23 | clocks = <&base_clk>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt b/Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt index d6cb083b90a2..0c80c2677104 100644 --- a/Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt +++ b/Documentation/devicetree/bindings/clock/nvidia,tegra114-car.txt | |||
@@ -12,253 +12,9 @@ Required properties : | |||
12 | - clocks : Should contain phandle and clock specifiers for two clocks: | 12 | - clocks : Should contain phandle and clock specifiers for two clocks: |
13 | the 32 KHz "32k_in", and the board-specific oscillator "osc". | 13 | the 32 KHz "32k_in", and the board-specific oscillator "osc". |
14 | - #clock-cells : Should be 1. | 14 | - #clock-cells : Should be 1. |
15 | In clock consumers, this cell represents the clock ID exposed by the CAR. | 15 | In clock consumers, this cell represents the clock ID exposed by the |
16 | 16 | CAR. The assignments may be found in header file | |
17 | The first 160 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB | 17 | <dt-bindings/clock/tegra114-car.h>. |
18 | registers. These IDs often match those in the CAR's RST_DEVICES registers, | ||
19 | but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In | ||
20 | this case, those clocks are assigned IDs above 160 in order to highlight | ||
21 | this issue. Implementations that interpret these clock IDs as bit values | ||
22 | within the CLK_OUT_ENB or RST_DEVICES registers should be careful to | ||
23 | explicitly handle these special cases. | ||
24 | |||
25 | The balance of the clocks controlled by the CAR are assigned IDs of 160 and | ||
26 | above. | ||
27 | |||
28 | 0 unassigned | ||
29 | 1 unassigned | ||
30 | 2 unassigned | ||
31 | 3 unassigned | ||
32 | 4 rtc | ||
33 | 5 timer | ||
34 | 6 uarta | ||
35 | 7 unassigned (register bit affects uartb and vfir) | ||
36 | 8 unassigned | ||
37 | 9 sdmmc2 | ||
38 | 10 unassigned (register bit affects spdif_in and spdif_out) | ||
39 | 11 i2s1 | ||
40 | 12 i2c1 | ||
41 | 13 ndflash | ||
42 | 14 sdmmc1 | ||
43 | 15 sdmmc4 | ||
44 | 16 unassigned | ||
45 | 17 pwm | ||
46 | 18 i2s2 | ||
47 | 19 epp | ||
48 | 20 unassigned (register bit affects vi and vi_sensor) | ||
49 | 21 2d | ||
50 | 22 usbd | ||
51 | 23 isp | ||
52 | 24 3d | ||
53 | 25 unassigned | ||
54 | 26 disp2 | ||
55 | 27 disp1 | ||
56 | 28 host1x | ||
57 | 29 vcp | ||
58 | 30 i2s0 | ||
59 | 31 unassigned | ||
60 | |||
61 | 32 unassigned | ||
62 | 33 unassigned | ||
63 | 34 apbdma | ||
64 | 35 unassigned | ||
65 | 36 kbc | ||
66 | 37 unassigned | ||
67 | 38 unassigned | ||
68 | 39 unassigned (register bit affects fuse and fuse_burn) | ||
69 | 40 kfuse | ||
70 | 41 sbc1 | ||
71 | 42 nor | ||
72 | 43 unassigned | ||
73 | 44 sbc2 | ||
74 | 45 unassigned | ||
75 | 46 sbc3 | ||
76 | 47 i2c5 | ||
77 | 48 dsia | ||
78 | 49 unassigned | ||
79 | 50 mipi | ||
80 | 51 hdmi | ||
81 | 52 csi | ||
82 | 53 unassigned | ||
83 | 54 i2c2 | ||
84 | 55 uartc | ||
85 | 56 mipi-cal | ||
86 | 57 emc | ||
87 | 58 usb2 | ||
88 | 59 usb3 | ||
89 | 60 msenc | ||
90 | 61 vde | ||
91 | 62 bsea | ||
92 | 63 bsev | ||
93 | |||
94 | 64 unassigned | ||
95 | 65 uartd | ||
96 | 66 unassigned | ||
97 | 67 i2c3 | ||
98 | 68 sbc4 | ||
99 | 69 sdmmc3 | ||
100 | 70 unassigned | ||
101 | 71 owr | ||
102 | 72 afi | ||
103 | 73 csite | ||
104 | 74 unassigned | ||
105 | 75 unassigned | ||
106 | 76 la | ||
107 | 77 trace | ||
108 | 78 soc_therm | ||
109 | 79 dtv | ||
110 | 80 ndspeed | ||
111 | 81 i2cslow | ||
112 | 82 dsib | ||
113 | 83 tsec | ||
114 | 84 unassigned | ||
115 | 85 unassigned | ||
116 | 86 unassigned | ||
117 | 87 unassigned | ||
118 | 88 unassigned | ||
119 | 89 xusb_host | ||
120 | 90 unassigned | ||
121 | 91 msenc | ||
122 | 92 csus | ||
123 | 93 unassigned | ||
124 | 94 unassigned | ||
125 | 95 unassigned (bit affects xusb_dev and xusb_dev_src) | ||
126 | |||
127 | 96 unassigned | ||
128 | 97 unassigned | ||
129 | 98 unassigned | ||
130 | 99 mselect | ||
131 | 100 tsensor | ||
132 | 101 i2s3 | ||
133 | 102 i2s4 | ||
134 | 103 i2c4 | ||
135 | 104 sbc5 | ||
136 | 105 sbc6 | ||
137 | 106 d_audio | ||
138 | 107 apbif | ||
139 | 108 dam0 | ||
140 | 109 dam1 | ||
141 | 110 dam2 | ||
142 | 111 hda2codec_2x | ||
143 | 112 unassigned | ||
144 | 113 audio0_2x | ||
145 | 114 audio1_2x | ||
146 | 115 audio2_2x | ||
147 | 116 audio3_2x | ||
148 | 117 audio4_2x | ||
149 | 118 spdif_2x | ||
150 | 119 actmon | ||
151 | 120 extern1 | ||
152 | 121 extern2 | ||
153 | 122 extern3 | ||
154 | 123 unassigned | ||
155 | 124 unassigned | ||
156 | 125 hda | ||
157 | 126 unassigned | ||
158 | 127 se | ||
159 | |||
160 | 128 hda2hdmi | ||
161 | 129 unassigned | ||
162 | 130 unassigned | ||
163 | 131 unassigned | ||
164 | 132 unassigned | ||
165 | 133 unassigned | ||
166 | 134 unassigned | ||
167 | 135 unassigned | ||
168 | 136 unassigned | ||
169 | 137 unassigned | ||
170 | 138 unassigned | ||
171 | 139 unassigned | ||
172 | 140 unassigned | ||
173 | 141 unassigned | ||
174 | 142 unassigned | ||
175 | 143 unassigned (bit affects xusb_falcon_src, xusb_fs_src, | ||
176 | xusb_host_src and xusb_ss_src) | ||
177 | 144 cilab | ||
178 | 145 cilcd | ||
179 | 146 cile | ||
180 | 147 dsialp | ||
181 | 148 dsiblp | ||
182 | 149 unassigned | ||
183 | 150 dds | ||
184 | 151 unassigned | ||
185 | 152 dp2 | ||
186 | 153 amx | ||
187 | 154 adx | ||
188 | 155 unassigned (bit affects dfll_ref and dfll_soc) | ||
189 | 156 xusb_ss | ||
190 | |||
191 | 192 uartb | ||
192 | 193 vfir | ||
193 | 194 spdif_in | ||
194 | 195 spdif_out | ||
195 | 196 vi | ||
196 | 197 vi_sensor | ||
197 | 198 fuse | ||
198 | 199 fuse_burn | ||
199 | 200 clk_32k | ||
200 | 201 clk_m | ||
201 | 202 clk_m_div2 | ||
202 | 203 clk_m_div4 | ||
203 | 204 pll_ref | ||
204 | 205 pll_c | ||
205 | 206 pll_c_out1 | ||
206 | 207 pll_c2 | ||
207 | 208 pll_c3 | ||
208 | 209 pll_m | ||
209 | 210 pll_m_out1 | ||
210 | 211 pll_p | ||
211 | 212 pll_p_out1 | ||
212 | 213 pll_p_out2 | ||
213 | 214 pll_p_out3 | ||
214 | 215 pll_p_out4 | ||
215 | 216 pll_a | ||
216 | 217 pll_a_out0 | ||
217 | 218 pll_d | ||
218 | 219 pll_d_out0 | ||
219 | 220 pll_d2 | ||
220 | 221 pll_d2_out0 | ||
221 | 222 pll_u | ||
222 | 223 pll_u_480M | ||
223 | 224 pll_u_60M | ||
224 | 225 pll_u_48M | ||
225 | 226 pll_u_12M | ||
226 | 227 pll_x | ||
227 | 228 pll_x_out0 | ||
228 | 229 pll_re_vco | ||
229 | 230 pll_re_out | ||
230 | 231 pll_e_out0 | ||
231 | 232 spdif_in_sync | ||
232 | 233 i2s0_sync | ||
233 | 234 i2s1_sync | ||
234 | 235 i2s2_sync | ||
235 | 236 i2s3_sync | ||
236 | 237 i2s4_sync | ||
237 | 238 vimclk_sync | ||
238 | 239 audio0 | ||
239 | 240 audio1 | ||
240 | 241 audio2 | ||
241 | 242 audio3 | ||
242 | 243 audio4 | ||
243 | 244 spdif | ||
244 | 245 clk_out_1 | ||
245 | 246 clk_out_2 | ||
246 | 247 clk_out_3 | ||
247 | 248 blink | ||
248 | 252 xusb_host_src | ||
249 | 253 xusb_falcon_src | ||
250 | 254 xusb_fs_src | ||
251 | 255 xusb_ss_src | ||
252 | 256 xusb_dev_src | ||
253 | 257 xusb_dev | ||
254 | 258 xusb_hs_src | ||
255 | 259 sclk | ||
256 | 260 hclk | ||
257 | 261 pclk | ||
258 | 262 cclk_g | ||
259 | 263 cclk_lp | ||
260 | 264 dfll_ref | ||
261 | 265 dfll_soc | ||
262 | 18 | ||
263 | Example SoC include file: | 19 | Example SoC include file: |
264 | 20 | ||
@@ -270,7 +26,7 @@ Example SoC include file: | |||
270 | }; | 26 | }; |
271 | 27 | ||
272 | usb@c5004000 { | 28 | usb@c5004000 { |
273 | clocks = <&tegra_car 58>; /* usb2 */ | 29 | clocks = <&tegra_car TEGRA114_CLK_USB2>; |
274 | }; | 30 | }; |
275 | }; | 31 | }; |
276 | 32 | ||
diff --git a/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt b/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt index e885680f6b45..fcfed5bf73fb 100644 --- a/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt +++ b/Documentation/devicetree/bindings/clock/nvidia,tegra20-car.txt | |||
@@ -12,155 +12,9 @@ Required properties : | |||
12 | - clocks : Should contain phandle and clock specifiers for two clocks: | 12 | - clocks : Should contain phandle and clock specifiers for two clocks: |
13 | the 32 KHz "32k_in", and the board-specific oscillator "osc". | 13 | the 32 KHz "32k_in", and the board-specific oscillator "osc". |
14 | - #clock-cells : Should be 1. | 14 | - #clock-cells : Should be 1. |
15 | In clock consumers, this cell represents the clock ID exposed by the CAR. | 15 | In clock consumers, this cell represents the clock ID exposed by the |
16 | 16 | CAR. The assignments may be found in header file | |
17 | The first 96 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB | 17 | <dt-bindings/clock/tegra20-car.h>. |
18 | registers. These IDs often match those in the CAR's RST_DEVICES registers, | ||
19 | but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In | ||
20 | this case, those clocks are assigned IDs above 95 in order to highlight | ||
21 | this issue. Implementations that interpret these clock IDs as bit values | ||
22 | within the CLK_OUT_ENB or RST_DEVICES registers should be careful to | ||
23 | explicitly handle these special cases. | ||
24 | |||
25 | The balance of the clocks controlled by the CAR are assigned IDs of 96 and | ||
26 | above. | ||
27 | |||
28 | 0 cpu | ||
29 | 1 unassigned | ||
30 | 2 unassigned | ||
31 | 3 ac97 | ||
32 | 4 rtc | ||
33 | 5 tmr | ||
34 | 6 uart1 | ||
35 | 7 unassigned (register bit affects uart2 and vfir) | ||
36 | 8 gpio | ||
37 | 9 sdmmc2 | ||
38 | 10 unassigned (register bit affects spdif_in and spdif_out) | ||
39 | 11 i2s1 | ||
40 | 12 i2c1 | ||
41 | 13 ndflash | ||
42 | 14 sdmmc1 | ||
43 | 15 sdmmc4 | ||
44 | 16 twc | ||
45 | 17 pwm | ||
46 | 18 i2s2 | ||
47 | 19 epp | ||
48 | 20 unassigned (register bit affects vi and vi_sensor) | ||
49 | 21 2d | ||
50 | 22 usbd | ||
51 | 23 isp | ||
52 | 24 3d | ||
53 | 25 ide | ||
54 | 26 disp2 | ||
55 | 27 disp1 | ||
56 | 28 host1x | ||
57 | 29 vcp | ||
58 | 30 unassigned | ||
59 | 31 cache2 | ||
60 | |||
61 | 32 mem | ||
62 | 33 ahbdma | ||
63 | 34 apbdma | ||
64 | 35 unassigned | ||
65 | 36 kbc | ||
66 | 37 stat_mon | ||
67 | 38 pmc | ||
68 | 39 fuse | ||
69 | 40 kfuse | ||
70 | 41 sbc1 | ||
71 | 42 snor | ||
72 | 43 spi1 | ||
73 | 44 sbc2 | ||
74 | 45 xio | ||
75 | 46 sbc3 | ||
76 | 47 dvc | ||
77 | 48 dsi | ||
78 | 49 unassigned (register bit affects tvo and cve) | ||
79 | 50 mipi | ||
80 | 51 hdmi | ||
81 | 52 csi | ||
82 | 53 tvdac | ||
83 | 54 i2c2 | ||
84 | 55 uart3 | ||
85 | 56 unassigned | ||
86 | 57 emc | ||
87 | 58 usb2 | ||
88 | 59 usb3 | ||
89 | 60 mpe | ||
90 | 61 vde | ||
91 | 62 bsea | ||
92 | 63 bsev | ||
93 | |||
94 | 64 speedo | ||
95 | 65 uart4 | ||
96 | 66 uart5 | ||
97 | 67 i2c3 | ||
98 | 68 sbc4 | ||
99 | 69 sdmmc3 | ||
100 | 70 pcie | ||
101 | 71 owr | ||
102 | 72 afi | ||
103 | 73 csite | ||
104 | 74 unassigned | ||
105 | 75 avpucq | ||
106 | 76 la | ||
107 | 77 unassigned | ||
108 | 78 unassigned | ||
109 | 79 unassigned | ||
110 | 80 unassigned | ||
111 | 81 unassigned | ||
112 | 82 unassigned | ||
113 | 83 unassigned | ||
114 | 84 irama | ||
115 | 85 iramb | ||
116 | 86 iramc | ||
117 | 87 iramd | ||
118 | 88 cram2 | ||
119 | 89 audio_2x a/k/a audio_2x_sync_clk | ||
120 | 90 clk_d | ||
121 | 91 unassigned | ||
122 | 92 sus | ||
123 | 93 cdev2 | ||
124 | 94 cdev1 | ||
125 | 95 unassigned | ||
126 | |||
127 | 96 uart2 | ||
128 | 97 vfir | ||
129 | 98 spdif_in | ||
130 | 99 spdif_out | ||
131 | 100 vi | ||
132 | 101 vi_sensor | ||
133 | 102 tvo | ||
134 | 103 cve | ||
135 | 104 osc | ||
136 | 105 clk_32k a/k/a clk_s | ||
137 | 106 clk_m | ||
138 | 107 sclk | ||
139 | 108 cclk | ||
140 | 109 hclk | ||
141 | 110 pclk | ||
142 | 111 blink | ||
143 | 112 pll_a | ||
144 | 113 pll_a_out0 | ||
145 | 114 pll_c | ||
146 | 115 pll_c_out1 | ||
147 | 116 pll_d | ||
148 | 117 pll_d_out0 | ||
149 | 118 pll_e | ||
150 | 119 pll_m | ||
151 | 120 pll_m_out1 | ||
152 | 121 pll_p | ||
153 | 122 pll_p_out1 | ||
154 | 123 pll_p_out2 | ||
155 | 124 pll_p_out3 | ||
156 | 125 pll_p_out4 | ||
157 | 126 pll_s | ||
158 | 127 pll_u | ||
159 | 128 pll_x | ||
160 | 129 cop a/k/a avp | ||
161 | 130 audio a/k/a audio_sync_clk | ||
162 | 131 pll_ref | ||
163 | 132 twd | ||
164 | 18 | ||
165 | Example SoC include file: | 19 | Example SoC include file: |
166 | 20 | ||
@@ -172,7 +26,7 @@ Example SoC include file: | |||
172 | }; | 26 | }; |
173 | 27 | ||
174 | usb@c5004000 { | 28 | usb@c5004000 { |
175 | clocks = <&tegra_car 58>; /* usb2 */ | 29 | clocks = <&tegra_car TEGRA20_CLK_USB2>; |
176 | }; | 30 | }; |
177 | }; | 31 | }; |
178 | 32 | ||
diff --git a/Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt b/Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt index f3da3be5fcad..0f714081e986 100644 --- a/Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt +++ b/Documentation/devicetree/bindings/clock/nvidia,tegra30-car.txt | |||
@@ -12,212 +12,9 @@ Required properties : | |||
12 | - clocks : Should contain phandle and clock specifiers for two clocks: | 12 | - clocks : Should contain phandle and clock specifiers for two clocks: |
13 | the 32 KHz "32k_in", and the board-specific oscillator "osc". | 13 | the 32 KHz "32k_in", and the board-specific oscillator "osc". |
14 | - #clock-cells : Should be 1. | 14 | - #clock-cells : Should be 1. |
15 | In clock consumers, this cell represents the clock ID exposed by the CAR. | 15 | In clock consumers, this cell represents the clock ID exposed by the |
16 | 16 | CAR. The assignments may be found in header file | |
17 | The first 130 clocks are numbered to match the bits in the CAR's CLK_OUT_ENB | 17 | <dt-bindings/clock/tegra30-car.h>. |
18 | registers. These IDs often match those in the CAR's RST_DEVICES registers, | ||
19 | but not in all cases. Some bits in CLK_OUT_ENB affect multiple clocks. In | ||
20 | this case, those clocks are assigned IDs above 160 in order to highlight | ||
21 | this issue. Implementations that interpret these clock IDs as bit values | ||
22 | within the CLK_OUT_ENB or RST_DEVICES registers should be careful to | ||
23 | explicitly handle these special cases. | ||
24 | |||
25 | The balance of the clocks controlled by the CAR are assigned IDs of 160 and | ||
26 | above. | ||
27 | |||
28 | 0 cpu | ||
29 | 1 unassigned | ||
30 | 2 unassigned | ||
31 | 3 unassigned | ||
32 | 4 rtc | ||
33 | 5 timer | ||
34 | 6 uarta | ||
35 | 7 unassigned (register bit affects uartb and vfir) | ||
36 | 8 gpio | ||
37 | 9 sdmmc2 | ||
38 | 10 unassigned (register bit affects spdif_in and spdif_out) | ||
39 | 11 i2s1 | ||
40 | 12 i2c1 | ||
41 | 13 ndflash | ||
42 | 14 sdmmc1 | ||
43 | 15 sdmmc4 | ||
44 | 16 unassigned | ||
45 | 17 pwm | ||
46 | 18 i2s2 | ||
47 | 19 epp | ||
48 | 20 unassigned (register bit affects vi and vi_sensor) | ||
49 | 21 2d | ||
50 | 22 usbd | ||
51 | 23 isp | ||
52 | 24 3d | ||
53 | 25 unassigned | ||
54 | 26 disp2 | ||
55 | 27 disp1 | ||
56 | 28 host1x | ||
57 | 29 vcp | ||
58 | 30 i2s0 | ||
59 | 31 cop_cache | ||
60 | |||
61 | 32 mc | ||
62 | 33 ahbdma | ||
63 | 34 apbdma | ||
64 | 35 unassigned | ||
65 | 36 kbc | ||
66 | 37 statmon | ||
67 | 38 pmc | ||
68 | 39 unassigned (register bit affects fuse and fuse_burn) | ||
69 | 40 kfuse | ||
70 | 41 sbc1 | ||
71 | 42 nor | ||
72 | 43 unassigned | ||
73 | 44 sbc2 | ||
74 | 45 unassigned | ||
75 | 46 sbc3 | ||
76 | 47 i2c5 | ||
77 | 48 dsia | ||
78 | 49 unassigned (register bit affects cve and tvo) | ||
79 | 50 mipi | ||
80 | 51 hdmi | ||
81 | 52 csi | ||
82 | 53 tvdac | ||
83 | 54 i2c2 | ||
84 | 55 uartc | ||
85 | 56 unassigned | ||
86 | 57 emc | ||
87 | 58 usb2 | ||
88 | 59 usb3 | ||
89 | 60 mpe | ||
90 | 61 vde | ||
91 | 62 bsea | ||
92 | 63 bsev | ||
93 | |||
94 | 64 speedo | ||
95 | 65 uartd | ||
96 | 66 uarte | ||
97 | 67 i2c3 | ||
98 | 68 sbc4 | ||
99 | 69 sdmmc3 | ||
100 | 70 pcie | ||
101 | 71 owr | ||
102 | 72 afi | ||
103 | 73 csite | ||
104 | 74 pciex | ||
105 | 75 avpucq | ||
106 | 76 la | ||
107 | 77 unassigned | ||
108 | 78 unassigned | ||
109 | 79 dtv | ||
110 | 80 ndspeed | ||
111 | 81 i2cslow | ||
112 | 82 dsib | ||
113 | 83 unassigned | ||
114 | 84 irama | ||
115 | 85 iramb | ||
116 | 86 iramc | ||
117 | 87 iramd | ||
118 | 88 cram2 | ||
119 | 89 unassigned | ||
120 | 90 audio_2x a/k/a audio_2x_sync_clk | ||
121 | 91 unassigned | ||
122 | 92 csus | ||
123 | 93 cdev2 | ||
124 | 94 cdev1 | ||
125 | 95 unassigned | ||
126 | |||
127 | 96 cpu_g | ||
128 | 97 cpu_lp | ||
129 | 98 3d2 | ||
130 | 99 mselect | ||
131 | 100 tsensor | ||
132 | 101 i2s3 | ||
133 | 102 i2s4 | ||
134 | 103 i2c4 | ||
135 | 104 sbc5 | ||
136 | 105 sbc6 | ||
137 | 106 d_audio | ||
138 | 107 apbif | ||
139 | 108 dam0 | ||
140 | 109 dam1 | ||
141 | 110 dam2 | ||
142 | 111 hda2codec_2x | ||
143 | 112 atomics | ||
144 | 113 audio0_2x | ||
145 | 114 audio1_2x | ||
146 | 115 audio2_2x | ||
147 | 116 audio3_2x | ||
148 | 117 audio4_2x | ||
149 | 118 audio5_2x | ||
150 | 119 actmon | ||
151 | 120 extern1 | ||
152 | 121 extern2 | ||
153 | 122 extern3 | ||
154 | 123 sata_oob | ||
155 | 124 sata | ||
156 | 125 hda | ||
157 | 127 se | ||
158 | 128 hda2hdmi | ||
159 | 129 sata_cold | ||
160 | |||
161 | 160 uartb | ||
162 | 161 vfir | ||
163 | 162 spdif_in | ||
164 | 163 spdif_out | ||
165 | 164 vi | ||
166 | 165 vi_sensor | ||
167 | 166 fuse | ||
168 | 167 fuse_burn | ||
169 | 168 cve | ||
170 | 169 tvo | ||
171 | |||
172 | 170 clk_32k | ||
173 | 171 clk_m | ||
174 | 172 clk_m_div2 | ||
175 | 173 clk_m_div4 | ||
176 | 174 pll_ref | ||
177 | 175 pll_c | ||
178 | 176 pll_c_out1 | ||
179 | 177 pll_m | ||
180 | 178 pll_m_out1 | ||
181 | 179 pll_p | ||
182 | 180 pll_p_out1 | ||
183 | 181 pll_p_out2 | ||
184 | 182 pll_p_out3 | ||
185 | 183 pll_p_out4 | ||
186 | 184 pll_a | ||
187 | 185 pll_a_out0 | ||
188 | 186 pll_d | ||
189 | 187 pll_d_out0 | ||
190 | 188 pll_d2 | ||
191 | 189 pll_d2_out0 | ||
192 | 190 pll_u | ||
193 | 191 pll_x | ||
194 | 192 pll_x_out0 | ||
195 | 193 pll_e | ||
196 | 194 spdif_in_sync | ||
197 | 195 i2s0_sync | ||
198 | 196 i2s1_sync | ||
199 | 197 i2s2_sync | ||
200 | 198 i2s3_sync | ||
201 | 199 i2s4_sync | ||
202 | 200 vimclk | ||
203 | 201 audio0 | ||
204 | 202 audio1 | ||
205 | 203 audio2 | ||
206 | 204 audio3 | ||
207 | 205 audio4 | ||
208 | 206 audio5 | ||
209 | 207 clk_out_1 (extern1) | ||
210 | 208 clk_out_2 (extern2) | ||
211 | 209 clk_out_3 (extern3) | ||
212 | 210 sclk | ||
213 | 211 blink | ||
214 | 212 cclk_g | ||
215 | 213 cclk_lp | ||
216 | 214 twd | ||
217 | 215 cml0 | ||
218 | 216 cml1 | ||
219 | 217 hclk | ||
220 | 218 pclk | ||
221 | 18 | ||
222 | Example SoC include file: | 19 | Example SoC include file: |
223 | 20 | ||
@@ -229,7 +26,7 @@ Example SoC include file: | |||
229 | }; | 26 | }; |
230 | 27 | ||
231 | usb@c5004000 { | 28 | usb@c5004000 { |
232 | clocks = <&tegra_car 58>; /* usb2 */ | 29 | clocks = <&tegra_car TEGRA30_CLK_USB2>; |
233 | }; | 30 | }; |
234 | }; | 31 | }; |
235 | 32 | ||
diff --git a/Documentation/devicetree/bindings/clock/rockchip.txt b/Documentation/devicetree/bindings/clock/rockchip.txt new file mode 100644 index 000000000000..a891c823ed44 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/rockchip.txt | |||
@@ -0,0 +1,74 @@ | |||
1 | Device Tree Clock bindings for arch-rockchip | ||
2 | |||
3 | This binding uses the common clock binding[1]. | ||
4 | |||
5 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
6 | |||
7 | == Gate clocks == | ||
8 | |||
9 | The gate registers form a continuos block which makes the dt node | ||
10 | structure a matter of taste, as either all gates can be put into | ||
11 | one gate clock spanning all registers or they can be divided into | ||
12 | the 10 individual gates containing 16 clocks each. | ||
13 | The code supports both approaches. | ||
14 | |||
15 | Required properties: | ||
16 | - compatible : "rockchip,rk2928-gate-clk" | ||
17 | - reg : shall be the control register address(es) for the clock. | ||
18 | - #clock-cells : from common clock binding; shall be set to 1 | ||
19 | - clock-output-names : the corresponding gate names that the clock controls | ||
20 | - clocks : should contain the parent clock for each individual gate, | ||
21 | therefore the number of clocks elements should match the number of | ||
22 | clock-output-names | ||
23 | |||
24 | Example using multiple gate clocks: | ||
25 | |||
26 | clk_gates0: gate-clk@200000d0 { | ||
27 | compatible = "rockchip,rk2928-gate-clk"; | ||
28 | reg = <0x200000d0 0x4>; | ||
29 | clocks = <&dummy>, <&dummy>, | ||
30 | <&dummy>, <&dummy>, | ||
31 | <&dummy>, <&dummy>, | ||
32 | <&dummy>, <&dummy>, | ||
33 | <&dummy>, <&dummy>, | ||
34 | <&dummy>, <&dummy>, | ||
35 | <&dummy>, <&dummy>, | ||
36 | <&dummy>, <&dummy>; | ||
37 | |||
38 | clock-output-names = | ||
39 | "gate_core_periph", "gate_cpu_gpll", | ||
40 | "gate_ddrphy", "gate_aclk_cpu", | ||
41 | "gate_hclk_cpu", "gate_pclk_cpu", | ||
42 | "gate_atclk_cpu", "gate_i2s0", | ||
43 | "gate_i2s0_frac", "gate_i2s1", | ||
44 | "gate_i2s1_frac", "gate_i2s2", | ||
45 | "gate_i2s2_frac", "gate_spdif", | ||
46 | "gate_spdif_frac", "gate_testclk"; | ||
47 | |||
48 | #clock-cells = <1>; | ||
49 | }; | ||
50 | |||
51 | clk_gates1: gate-clk@200000d4 { | ||
52 | compatible = "rockchip,rk2928-gate-clk"; | ||
53 | reg = <0x200000d4 0x4>; | ||
54 | clocks = <&xin24m>, <&xin24m>, | ||
55 | <&xin24m>, <&dummy>, | ||
56 | <&dummy>, <&xin24m>, | ||
57 | <&xin24m>, <&dummy>, | ||
58 | <&xin24m>, <&dummy>, | ||
59 | <&xin24m>, <&dummy>, | ||
60 | <&xin24m>, <&dummy>, | ||
61 | <&xin24m>, <&dummy>; | ||
62 | |||
63 | clock-output-names = | ||
64 | "gate_timer0", "gate_timer1", | ||
65 | "gate_timer2", "gate_jtag", | ||
66 | "gate_aclk_lcdc1_src", "gate_otgphy0", | ||
67 | "gate_otgphy1", "gate_ddr_gpll", | ||
68 | "gate_uart0", "gate_frac_uart0", | ||
69 | "gate_uart1", "gate_frac_uart1", | ||
70 | "gate_uart2", "gate_frac_uart2", | ||
71 | "gate_uart3", "gate_frac_uart3"; | ||
72 | |||
73 | #clock-cells = <1>; | ||
74 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/silabs,si5351.txt b/Documentation/devicetree/bindings/clock/silabs,si5351.txt index cc374651662c..c40711e8e8f7 100644 --- a/Documentation/devicetree/bindings/clock/silabs,si5351.txt +++ b/Documentation/devicetree/bindings/clock/silabs,si5351.txt | |||
@@ -4,7 +4,7 @@ Reference | |||
4 | [1] Si5351A/B/C Data Sheet | 4 | [1] Si5351A/B/C Data Sheet |
5 | http://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351.pdf | 5 | http://www.silabs.com/Support%20Documents/TechnicalDocs/Si5351.pdf |
6 | 6 | ||
7 | The Si5351a/b/c are programmable i2c clock generators with upto 8 output | 7 | The Si5351a/b/c are programmable i2c clock generators with up to 8 output |
8 | clocks. Si5351a also has a reduced pin-count package (MSOP10) where only | 8 | clocks. Si5351a also has a reduced pin-count package (MSOP10) where only |
9 | 3 output clocks are accessible. The internal structure of the clock | 9 | 3 output clocks are accessible. The internal structure of the clock |
10 | generators can be found in [1]. | 10 | generators can be found in [1]. |
@@ -44,6 +44,11 @@ Optional child node properties: | |||
44 | - silabs,multisynth-source: source pll A(0) or B(1) of corresponding multisynth | 44 | - silabs,multisynth-source: source pll A(0) or B(1) of corresponding multisynth |
45 | divider. | 45 | divider. |
46 | - silabs,pll-master: boolean, multisynth can change pll frequency. | 46 | - silabs,pll-master: boolean, multisynth can change pll frequency. |
47 | - silabs,disable-state : clock output disable state, shall be | ||
48 | 0 = clock output is driven LOW when disabled | ||
49 | 1 = clock output is driven HIGH when disabled | ||
50 | 2 = clock output is FLOATING (HIGH-Z) when disabled | ||
51 | 3 = clock output is NEVER disabled | ||
47 | 52 | ||
48 | ==Example== | 53 | ==Example== |
49 | 54 | ||
diff --git a/Documentation/devicetree/bindings/clock/st,nomadik.txt b/Documentation/devicetree/bindings/clock/st,nomadik.txt new file mode 100644 index 000000000000..7fc09773de46 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st,nomadik.txt | |||
@@ -0,0 +1,104 @@ | |||
1 | ST Microelectronics Nomadik SRC System Reset and Control | ||
2 | |||
3 | This binding uses the common clock binding: | ||
4 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
5 | |||
6 | The Nomadik SRC controller is responsible of controlling chrystals, | ||
7 | PLLs and clock gates. | ||
8 | |||
9 | Required properties for the SRC node: | ||
10 | - compatible: must be "stericsson,nomadik-src" | ||
11 | - reg: must contain the SRC register base and size | ||
12 | |||
13 | Optional properties for the SRC node: | ||
14 | - disable-sxtalo: if present this will disable the SXTALO | ||
15 | i.e. the driver output for the slow 32kHz chrystal, if the | ||
16 | board has its own circuitry for providing this oscillator | ||
17 | - disable-mxtal: if present this will disable the MXTALO, | ||
18 | i.e. the driver output for the main (~19.2 MHz) chrystal, | ||
19 | if the board has its own circuitry for providing this | ||
20 | osciallator | ||
21 | |||
22 | |||
23 | PLL nodes: these nodes represent the two PLLs on the system, | ||
24 | which should both have the main chrystal, represented as a | ||
25 | fixed frequency clock, as parent. | ||
26 | |||
27 | Required properties for the two PLL nodes: | ||
28 | - compatible: must be "st,nomadik-pll-clock" | ||
29 | - clock-cells: must be 0 | ||
30 | - clock-id: must be 1 or 2 for PLL1 and PLL2 respectively | ||
31 | - clocks: this clock will have main chrystal as parent | ||
32 | |||
33 | |||
34 | HCLK nodes: these represent the clock gates on individual | ||
35 | lines from the HCLK clock tree and the gate for individual | ||
36 | lines from the PCLK clock tree. | ||
37 | |||
38 | Requires properties for the HCLK nodes: | ||
39 | - compatible: must be "st,nomadik-hclk-clock" | ||
40 | - clock-cells: must be 0 | ||
41 | - clock-id: must be the clock ID from 0 to 63 according to | ||
42 | this table: | ||
43 | |||
44 | 0: HCLKDMA0 | ||
45 | 1: HCLKSMC | ||
46 | 2: HCLKSDRAM | ||
47 | 3: HCLKDMA1 | ||
48 | 4: HCLKCLCD | ||
49 | 5: PCLKIRDA | ||
50 | 6: PCLKSSP | ||
51 | 7: PCLKUART0 | ||
52 | 8: PCLKSDI | ||
53 | 9: PCLKI2C0 | ||
54 | 10: PCLKI2C1 | ||
55 | 11: PCLKUART1 | ||
56 | 12: PCLMSP0 | ||
57 | 13: HCLKUSB | ||
58 | 14: HCLKDIF | ||
59 | 15: HCLKSAA | ||
60 | 16: HCLKSVA | ||
61 | 17: PCLKHSI | ||
62 | 18: PCLKXTI | ||
63 | 19: PCLKUART2 | ||
64 | 20: PCLKMSP1 | ||
65 | 21: PCLKMSP2 | ||
66 | 22: PCLKOWM | ||
67 | 23: HCLKHPI | ||
68 | 24: PCLKSKE | ||
69 | 25: PCLKHSEM | ||
70 | 26: HCLK3D | ||
71 | 27: HCLKHASH | ||
72 | 28: HCLKCRYP | ||
73 | 29: PCLKMSHC | ||
74 | 30: HCLKUSBM | ||
75 | 31: HCLKRNG | ||
76 | (32, 33, 34, 35 RESERVED) | ||
77 | 36: CLDCLK | ||
78 | 37: IRDACLK | ||
79 | 38: SSPICLK | ||
80 | 39: UART0CLK | ||
81 | 40: SDICLK | ||
82 | 41: I2C0CLK | ||
83 | 42: I2C1CLK | ||
84 | 43: UART1CLK | ||
85 | 44: MSPCLK0 | ||
86 | 45: USBCLK | ||
87 | 46: DIFCLK | ||
88 | 47: IPI2CCLK | ||
89 | 48: IPBMCCLK | ||
90 | 49: HSICLKRX | ||
91 | 50: HSICLKTX | ||
92 | 51: UART2CLK | ||
93 | 52: MSPCLK1 | ||
94 | 53: MSPCLK2 | ||
95 | 54: OWMCLK | ||
96 | (55 RESERVED) | ||
97 | 56: SKECLK | ||
98 | (57 RESERVED) | ||
99 | 58: 3DCLK | ||
100 | 59: PCLKMSP3 | ||
101 | 60: MSPCLK3 | ||
102 | 61: MSHCCLK | ||
103 | 62: USBMCLK | ||
104 | 63: RNGCCLK | ||
diff --git a/Documentation/devicetree/bindings/clock/ste-u300-syscon-clock.txt b/Documentation/devicetree/bindings/clock/ste-u300-syscon-clock.txt new file mode 100644 index 000000000000..7cafcb98ead7 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/ste-u300-syscon-clock.txt | |||
@@ -0,0 +1,80 @@ | |||
1 | Clock bindings for ST-Ericsson U300 System Controller Clocks | ||
2 | |||
3 | Bindings for the gated system controller clocks: | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: must be "stericsson,u300-syscon-clk" | ||
7 | - #clock-cells: must be <0> | ||
8 | - clock-type: specifies the type of clock: | ||
9 | 0 = slow clock | ||
10 | 1 = fast clock | ||
11 | 2 = rest/remaining clock | ||
12 | - clock-id: specifies the clock in the type range | ||
13 | |||
14 | Optional properties: | ||
15 | - clocks: parent clock(s) | ||
16 | |||
17 | The available clocks per type are as follows: | ||
18 | |||
19 | Type: ID: Clock: | ||
20 | ------------------- | ||
21 | 0 0 Slow peripheral bridge clock | ||
22 | 0 1 UART0 clock | ||
23 | 0 4 GPIO clock | ||
24 | 0 6 RTC clock | ||
25 | 0 7 Application timer clock | ||
26 | 0 8 Access timer clock | ||
27 | |||
28 | 1 0 Fast peripheral bridge clock | ||
29 | 1 1 I2C bus 0 clock | ||
30 | 1 2 I2C bus 1 clock | ||
31 | 1 5 MMC interface peripheral (silicon) clock | ||
32 | 1 6 SPI clock | ||
33 | |||
34 | 2 3 CPU clock | ||
35 | 2 4 DMA controller clock | ||
36 | 2 5 External Memory Interface (EMIF) clock | ||
37 | 2 6 NAND flask interface clock | ||
38 | 2 8 XGAM graphics engine clock | ||
39 | 2 9 Shared External Memory Interface (SEMI) clock | ||
40 | 2 10 AHB Subsystem Bridge clock | ||
41 | 2 12 Interrupt controller clock | ||
42 | |||
43 | Example: | ||
44 | |||
45 | gpio_clk: gpio_clk@13M { | ||
46 | #clock-cells = <0>; | ||
47 | compatible = "stericsson,u300-syscon-clk"; | ||
48 | clock-type = <0>; /* Slow */ | ||
49 | clock-id = <4>; | ||
50 | clocks = <&slow_clk>; | ||
51 | }; | ||
52 | |||
53 | gpio: gpio@c0016000 { | ||
54 | compatible = "stericsson,gpio-coh901"; | ||
55 | (...) | ||
56 | clocks = <&gpio_clk>; | ||
57 | }; | ||
58 | |||
59 | |||
60 | Bindings for the MMC/SD card clock: | ||
61 | |||
62 | Required properties: | ||
63 | - compatible: must be "stericsson,u300-syscon-mclk" | ||
64 | - #clock-cells: must be <0> | ||
65 | |||
66 | Optional properties: | ||
67 | - clocks: parent clock(s) | ||
68 | |||
69 | mmc_mclk: mmc_mclk { | ||
70 | #clock-cells = <0>; | ||
71 | compatible = "stericsson,u300-syscon-mclk"; | ||
72 | clocks = <&mmc_pclk>; | ||
73 | }; | ||
74 | |||
75 | mmcsd: mmcsd@c0001000 { | ||
76 | compatible = "arm,pl18x", "arm,primecell"; | ||
77 | clocks = <&mmc_pclk>, <&mmc_mclk>; | ||
78 | clock-names = "apb_pclk", "mclk"; | ||
79 | (...) | ||
80 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt index 729f52426fe1..d495521a79d2 100644 --- a/Documentation/devicetree/bindings/clock/sunxi.txt +++ b/Documentation/devicetree/bindings/clock/sunxi.txt | |||
@@ -12,22 +12,30 @@ Required properties: | |||
12 | "allwinner,sun4i-axi-clk" - for the AXI clock | 12 | "allwinner,sun4i-axi-clk" - for the AXI clock |
13 | "allwinner,sun4i-axi-gates-clk" - for the AXI gates | 13 | "allwinner,sun4i-axi-gates-clk" - for the AXI gates |
14 | "allwinner,sun4i-ahb-clk" - for the AHB clock | 14 | "allwinner,sun4i-ahb-clk" - for the AHB clock |
15 | "allwinner,sun4i-ahb-gates-clk" - for the AHB gates | 15 | "allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10 |
16 | "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13 | ||
16 | "allwinner,sun4i-apb0-clk" - for the APB0 clock | 17 | "allwinner,sun4i-apb0-clk" - for the APB0 clock |
17 | "allwinner,sun4i-apb0-gates-clk" - for the APB0 gates | 18 | "allwinner,sun4i-apb0-gates-clk" - for the APB0 gates on A10 |
19 | "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 | ||
18 | "allwinner,sun4i-apb1-clk" - for the APB1 clock | 20 | "allwinner,sun4i-apb1-clk" - for the APB1 clock |
19 | "allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing | 21 | "allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing |
20 | "allwinner,sun4i-apb1-gates-clk" - for the APB1 gates | 22 | "allwinner,sun4i-apb1-gates-clk" - for the APB1 gates on A10 |
23 | "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13 | ||
21 | 24 | ||
22 | Required properties for all clocks: | 25 | Required properties for all clocks: |
23 | - reg : shall be the control register address for the clock. | 26 | - reg : shall be the control register address for the clock. |
24 | - clocks : shall be the input parent clock(s) phandle for the clock | 27 | - clocks : shall be the input parent clock(s) phandle for the clock |
25 | - #clock-cells : from common clock binding; shall be set to 0 except for | 28 | - #clock-cells : from common clock binding; shall be set to 0 except for |
26 | "allwinner,sun4i-*-gates-clk" where it shall be set to 1 | 29 | "allwinner,*-gates-clk" where it shall be set to 1 |
27 | 30 | ||
28 | Additionally, "allwinner,sun4i-*-gates-clk" clocks require: | 31 | Additionally, "allwinner,*-gates-clk" clocks require: |
29 | - clock-output-names : the corresponding gate names that the clock controls | 32 | - clock-output-names : the corresponding gate names that the clock controls |
30 | 33 | ||
34 | Clock consumers should specify the desired clocks they use with a | ||
35 | "clocks" phandle cell. Consumers that are using a gated clock should | ||
36 | provide an additional ID in their clock property. The values of this | ||
37 | ID are documented in sunxi/<soc>-gates.txt. | ||
38 | |||
31 | For example: | 39 | For example: |
32 | 40 | ||
33 | osc24M: osc24M@01c20050 { | 41 | osc24M: osc24M@01c20050 { |
@@ -50,102 +58,3 @@ cpu: cpu@01c20054 { | |||
50 | reg = <0x01c20054 0x4>; | 58 | reg = <0x01c20054 0x4>; |
51 | clocks = <&osc32k>, <&osc24M>, <&pll1>; | 59 | clocks = <&osc32k>, <&osc24M>, <&pll1>; |
52 | }; | 60 | }; |
53 | |||
54 | |||
55 | |||
56 | Gate clock outputs | ||
57 | |||
58 | The "allwinner,sun4i-*-gates-clk" clocks provide several gatable outputs; | ||
59 | their corresponding offsets as present on sun4i are listed below. Note that | ||
60 | some of these gates are not present on sun5i. | ||
61 | |||
62 | * AXI gates ("allwinner,sun4i-axi-gates-clk") | ||
63 | |||
64 | DRAM 0 | ||
65 | |||
66 | * AHB gates ("allwinner,sun4i-ahb-gates-clk") | ||
67 | |||
68 | USB0 0 | ||
69 | EHCI0 1 | ||
70 | OHCI0 2* | ||
71 | EHCI1 3 | ||
72 | OHCI1 4* | ||
73 | SS 5 | ||
74 | DMA 6 | ||
75 | BIST 7 | ||
76 | MMC0 8 | ||
77 | MMC1 9 | ||
78 | MMC2 10 | ||
79 | MMC3 11 | ||
80 | MS 12** | ||
81 | NAND 13 | ||
82 | SDRAM 14 | ||
83 | |||
84 | ACE 16 | ||
85 | EMAC 17 | ||
86 | TS 18 | ||
87 | |||
88 | SPI0 20 | ||
89 | SPI1 21 | ||
90 | SPI2 22 | ||
91 | SPI3 23 | ||
92 | PATA 24 | ||
93 | SATA 25** | ||
94 | GPS 26* | ||
95 | |||
96 | VE 32 | ||
97 | TVD 33 | ||
98 | TVE0 34 | ||
99 | TVE1 35 | ||
100 | LCD0 36 | ||
101 | LCD1 37 | ||
102 | |||
103 | CSI0 40 | ||
104 | CSI1 41 | ||
105 | |||
106 | HDMI 43 | ||
107 | DE_BE0 44 | ||
108 | DE_BE1 45 | ||
109 | DE_FE0 46 | ||
110 | DE_FE1 47 | ||
111 | |||
112 | MP 50 | ||
113 | |||
114 | MALI400 52 | ||
115 | |||
116 | * APB0 gates ("allwinner,sun4i-apb0-gates-clk") | ||
117 | |||
118 | CODEC 0 | ||
119 | SPDIF 1* | ||
120 | AC97 2 | ||
121 | IIS 3 | ||
122 | |||
123 | PIO 5 | ||
124 | IR0 6 | ||
125 | IR1 7 | ||
126 | |||
127 | KEYPAD 10 | ||
128 | |||
129 | * APB1 gates ("allwinner,sun4i-apb1-gates-clk") | ||
130 | |||
131 | I2C0 0 | ||
132 | I2C1 1 | ||
133 | I2C2 2 | ||
134 | |||
135 | CAN 4 | ||
136 | SCR 5 | ||
137 | PS20 6 | ||
138 | PS21 7 | ||
139 | |||
140 | UART0 16 | ||
141 | UART1 17 | ||
142 | UART2 18 | ||
143 | UART3 19 | ||
144 | UART4 20 | ||
145 | UART5 21 | ||
146 | UART6 22 | ||
147 | UART7 23 | ||
148 | |||
149 | Notation: | ||
150 | [*]: The datasheet didn't mention these, but they are present on AW code | ||
151 | [**]: The datasheet had this marked as "NC" but they are used on AW code | ||
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt new file mode 100644 index 000000000000..6a03475bbfe2 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/sunxi/sun4i-a10-gates.txt | |||
@@ -0,0 +1,93 @@ | |||
1 | Gate clock outputs | ||
2 | ------------------ | ||
3 | |||
4 | * AXI gates ("allwinner,sun4i-axi-gates-clk") | ||
5 | |||
6 | DRAM 0 | ||
7 | |||
8 | * AHB gates ("allwinner,sun4i-ahb-gates-clk") | ||
9 | |||
10 | USB0 0 | ||
11 | EHCI0 1 | ||
12 | OHCI0 2* | ||
13 | EHCI1 3 | ||
14 | OHCI1 4* | ||
15 | SS 5 | ||
16 | DMA 6 | ||
17 | BIST 7 | ||
18 | MMC0 8 | ||
19 | MMC1 9 | ||
20 | MMC2 10 | ||
21 | MMC3 11 | ||
22 | MS 12** | ||
23 | NAND 13 | ||
24 | SDRAM 14 | ||
25 | |||
26 | ACE 16 | ||
27 | EMAC 17 | ||
28 | TS 18 | ||
29 | |||
30 | SPI0 20 | ||
31 | SPI1 21 | ||
32 | SPI2 22 | ||
33 | SPI3 23 | ||
34 | PATA 24 | ||
35 | SATA 25** | ||
36 | GPS 26* | ||
37 | |||
38 | VE 32 | ||
39 | TVD 33 | ||
40 | TVE0 34 | ||
41 | TVE1 35 | ||
42 | LCD0 36 | ||
43 | LCD1 37 | ||
44 | |||
45 | CSI0 40 | ||
46 | CSI1 41 | ||
47 | |||
48 | HDMI 43 | ||
49 | DE_BE0 44 | ||
50 | DE_BE1 45 | ||
51 | DE_FE1 46 | ||
52 | DE_FE1 47 | ||
53 | |||
54 | MP 50 | ||
55 | |||
56 | MALI400 52 | ||
57 | |||
58 | * APB0 gates ("allwinner,sun4i-apb0-gates-clk") | ||
59 | |||
60 | CODEC 0 | ||
61 | SPDIF 1* | ||
62 | AC97 2 | ||
63 | IIS 3 | ||
64 | |||
65 | PIO 5 | ||
66 | IR0 6 | ||
67 | IR1 7 | ||
68 | |||
69 | KEYPAD 10 | ||
70 | |||
71 | * APB1 gates ("allwinner,sun4i-apb1-gates-clk") | ||
72 | |||
73 | I2C0 0 | ||
74 | I2C1 1 | ||
75 | I2C2 2 | ||
76 | |||
77 | CAN 4 | ||
78 | SCR 5 | ||
79 | PS20 6 | ||
80 | PS21 7 | ||
81 | |||
82 | UART0 16 | ||
83 | UART1 17 | ||
84 | UART2 18 | ||
85 | UART3 19 | ||
86 | UART4 20 | ||
87 | UART5 21 | ||
88 | UART6 22 | ||
89 | UART7 23 | ||
90 | |||
91 | Notation: | ||
92 | [*]: The datasheet didn't mention these, but they are present on AW code | ||
93 | [**]: The datasheet had this marked as "NC" but they are used on AW code | ||
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt new file mode 100644 index 000000000000..006b6dfc4703 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/sunxi/sun5i-a13-gates.txt | |||
@@ -0,0 +1,58 @@ | |||
1 | Gate clock outputs | ||
2 | ------------------ | ||
3 | |||
4 | * AXI gates ("allwinner,sun4i-axi-gates-clk") | ||
5 | |||
6 | DRAM 0 | ||
7 | |||
8 | * AHB gates ("allwinner,sun5i-a13-ahb-gates-clk") | ||
9 | |||
10 | USBOTG 0 | ||
11 | EHCI 1 | ||
12 | OHCI 2 | ||
13 | |||
14 | SS 5 | ||
15 | DMA 6 | ||
16 | BIST 7 | ||
17 | MMC0 8 | ||
18 | MMC1 9 | ||
19 | MMC2 10 | ||
20 | |||
21 | NAND 13 | ||
22 | SDRAM 14 | ||
23 | |||
24 | SPI0 20 | ||
25 | SPI1 21 | ||
26 | SPI2 22 | ||
27 | |||
28 | STIMER 28 | ||
29 | |||
30 | VE 32 | ||
31 | |||
32 | LCD 36 | ||
33 | |||
34 | CSI 40 | ||
35 | |||
36 | DE_BE 44 | ||
37 | |||
38 | DE_FE 46 | ||
39 | |||
40 | IEP 51 | ||
41 | MALI400 52 | ||
42 | |||
43 | * APB0 gates ("allwinner,sun5i-a13-apb0-gates-clk") | ||
44 | |||
45 | CODEC 0 | ||
46 | |||
47 | PIO 5 | ||
48 | IR 6 | ||
49 | |||
50 | * APB1 gates ("allwinner,sun5i-a13-apb1-gates-clk") | ||
51 | |||
52 | I2C0 0 | ||
53 | I2C1 1 | ||
54 | I2C2 2 | ||
55 | |||
56 | UART1 17 | ||
57 | |||
58 | UART3 19 | ||
diff --git a/Documentation/devicetree/bindings/clock/vf610-clock.txt b/Documentation/devicetree/bindings/clock/vf610-clock.txt new file mode 100644 index 000000000000..c80863d344ac --- /dev/null +++ b/Documentation/devicetree/bindings/clock/vf610-clock.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | * Clock bindings for Freescale Vybrid VF610 SOC | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "fsl,vf610-ccm" | ||
5 | - reg: Address and length of the register set | ||
6 | - #clock-cells: Should be <1> | ||
7 | |||
8 | The clock consumer should specify the desired clock by having the clock | ||
9 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h | ||
10 | for the full list of VF610 clock IDs. | ||
11 | |||
12 | Examples: | ||
13 | |||
14 | clks: ccm@4006b000 { | ||
15 | compatible = "fsl,vf610-ccm"; | ||
16 | reg = <0x4006b000 0x1000>; | ||
17 | #clock-cells = <1>; | ||
18 | }; | ||
19 | |||
20 | uart1: serial@40028000 { | ||
21 | compatible = "fsl,vf610-uart"; | ||
22 | reg = <0x40028000 0x1000>; | ||
23 | interrupts = <0 62 0x04>; | ||
24 | clocks = <&clks VF610_CLK_UART1>; | ||
25 | clock-names = "ipg"; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/vt8500.txt b/Documentation/devicetree/bindings/clock/vt8500.txt index a880c70d0047..91d71cc0314a 100644 --- a/Documentation/devicetree/bindings/clock/vt8500.txt +++ b/Documentation/devicetree/bindings/clock/vt8500.txt | |||
@@ -8,6 +8,8 @@ Required properties: | |||
8 | - compatible : shall be one of the following: | 8 | - compatible : shall be one of the following: |
9 | "via,vt8500-pll-clock" - for a VT8500/WM8505 PLL clock | 9 | "via,vt8500-pll-clock" - for a VT8500/WM8505 PLL clock |
10 | "wm,wm8650-pll-clock" - for a WM8650 PLL clock | 10 | "wm,wm8650-pll-clock" - for a WM8650 PLL clock |
11 | "wm,wm8750-pll-clock" - for a WM8750 PLL clock | ||
12 | "wm,wm8850-pll-clock" - for a WM8850 PLL clock | ||
11 | "via,vt8500-device-clock" - for a VT/WM device clock | 13 | "via,vt8500-device-clock" - for a VT/WM device clock |
12 | 14 | ||
13 | Required properties for PLL clocks: | 15 | Required properties for PLL clocks: |
diff --git a/Documentation/devicetree/bindings/clock/zynq-7000.txt b/Documentation/devicetree/bindings/clock/zynq-7000.txt index 23ae1db1bc13..d99af878f5d7 100644 --- a/Documentation/devicetree/bindings/clock/zynq-7000.txt +++ b/Documentation/devicetree/bindings/clock/zynq-7000.txt | |||
@@ -6,50 +6,99 @@ The purpose of this document is to document their usage. | |||
6 | See clock_bindings.txt for more information on the generic clock bindings. | 6 | See clock_bindings.txt for more information on the generic clock bindings. |
7 | See Chapter 25 of Zynq TRM for more information about Zynq clocks. | 7 | See Chapter 25 of Zynq TRM for more information about Zynq clocks. |
8 | 8 | ||
9 | == PLLs == | 9 | == Clock Controller == |
10 | 10 | The clock controller is a logical abstraction of Zynq's clock tree. It reads | |
11 | Used to describe the ARM_PLL, DDR_PLL, and IO_PLL. | 11 | required input clock frequencies from the devicetree and acts as clock provider |
12 | for all clock consumers of PS clocks. | ||
12 | 13 | ||
13 | Required properties: | 14 | Required properties: |
14 | - #clock-cells : shall be 0 (only one clock is output from this node) | 15 | - #clock-cells : Must be 1 |
15 | - compatible : "xlnx,zynq-pll" | 16 | - compatible : "xlnx,ps7-clkc" |
16 | - reg : pair of u32 values, which are the address offsets within the SLCR | 17 | - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ |
17 | of the relevant PLL_CTRL register and PLL_CFG register respectively | 18 | (usually 33 MHz oscillators are used for Zynq platforms) |
18 | - clocks : phandle for parent clock. should be the phandle for ps_clk | 19 | - clock-output-names : List of strings used to name the clock outputs. Shall be |
20 | a list of the outputs given below. | ||
19 | 21 | ||
20 | Optional properties: | 22 | Optional properties: |
21 | - clock-output-names : name of the output clock | 23 | - clocks : as described in the clock bindings |
22 | 24 | - clock-names : as described in the clock bindings | |
23 | Example: | ||
24 | armpll: armpll { | ||
25 | #clock-cells = <0>; | ||
26 | compatible = "xlnx,zynq-pll"; | ||
27 | clocks = <&ps_clk>; | ||
28 | reg = <0x100 0x110>; | ||
29 | clock-output-names = "armpll"; | ||
30 | }; | ||
31 | |||
32 | == Peripheral clocks == | ||
33 | 25 | ||
34 | Describes clock node for the SDIO, SMC, SPI, QSPI, and UART clocks. | 26 | Clock inputs: |
27 | The following strings are optional parameters to the 'clock-names' property in | ||
28 | order to provide an optional (E)MIO clock source. | ||
29 | - swdt_ext_clk | ||
30 | - gem0_emio_clk | ||
31 | - gem1_emio_clk | ||
32 | - mio_clk_XX # with XX = 00..53 | ||
33 | ... | ||
35 | 34 | ||
36 | Required properties: | 35 | Clock outputs: |
37 | - #clock-cells : shall be 1 | 36 | 0: armpll |
38 | - compatible : "xlnx,zynq-periph-clock" | 37 | 1: ddrpll |
39 | - reg : a single u32 value, describing the offset within the SLCR where | 38 | 2: iopll |
40 | the CLK_CTRL register is found for this peripheral | 39 | 3: cpu_6or4x |
41 | - clocks : phandle for parent clocks. should hold phandles for | 40 | 4: cpu_3or2x |
42 | the IO_PLL, ARM_PLL, and DDR_PLL in order | 41 | 5: cpu_2x |
43 | - clock-output-names : names of the output clock(s). For peripherals that have | 42 | 6: cpu_1x |
44 | two output clocks (for example, the UART), two clocks | 43 | 7: ddr2x |
45 | should be listed. | 44 | 8: ddr3x |
45 | 9: dci | ||
46 | 10: lqspi | ||
47 | 11: smc | ||
48 | 12: pcap | ||
49 | 13: gem0 | ||
50 | 14: gem1 | ||
51 | 15: fclk0 | ||
52 | 16: fclk1 | ||
53 | 17: fclk2 | ||
54 | 18: fclk3 | ||
55 | 19: can0 | ||
56 | 20: can1 | ||
57 | 21: sdio0 | ||
58 | 22: sdio1 | ||
59 | 23: uart0 | ||
60 | 24: uart1 | ||
61 | 25: spi0 | ||
62 | 26: spi1 | ||
63 | 27: dma | ||
64 | 28: usb0_aper | ||
65 | 29: usb1_aper | ||
66 | 30: gem0_aper | ||
67 | 31: gem1_aper | ||
68 | 32: sdio0_aper | ||
69 | 33: sdio1_aper | ||
70 | 34: spi0_aper | ||
71 | 35: spi1_aper | ||
72 | 36: can0_aper | ||
73 | 37: can1_aper | ||
74 | 38: i2c0_aper | ||
75 | 39: i2c1_aper | ||
76 | 40: uart0_aper | ||
77 | 41: uart1_aper | ||
78 | 42: gpio_aper | ||
79 | 43: lqspi_aper | ||
80 | 44: smc_aper | ||
81 | 45: swdt | ||
82 | 46: dbg_trc | ||
83 | 47: dbg_apb | ||
46 | 84 | ||
47 | Example: | 85 | Example: |
48 | uart_clk: uart_clk { | 86 | clkc: clkc { |
49 | #clock-cells = <1>; | 87 | #clock-cells = <1>; |
50 | compatible = "xlnx,zynq-periph-clock"; | 88 | compatible = "xlnx,ps7-clkc"; |
51 | clocks = <&iopll &armpll &ddrpll>; | 89 | ps-clk-frequency = <33333333>; |
52 | reg = <0x154>; | 90 | clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", |
53 | clock-output-names = "uart0_ref_clk", | 91 | "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", |
54 | "uart1_ref_clk"; | 92 | "dci", "lqspi", "smc", "pcap", "gem0", "gem1", |
93 | "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1", | ||
94 | "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1", | ||
95 | "dma", "usb0_aper", "usb1_aper", "gem0_aper", | ||
96 | "gem1_aper", "sdio0_aper", "sdio1_aper", | ||
97 | "spi0_aper", "spi1_aper", "can0_aper", "can1_aper", | ||
98 | "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper", | ||
99 | "gpio_aper", "lqspi_aper", "smc_aper", "swdt", | ||
100 | "dbg_trc", "dbg_apb"; | ||
101 | # optional props | ||
102 | clocks = <&clkc 16>, <&clk_foo>; | ||
103 | clock-names = "gem1_emio_clk", "can_mio_clk_23"; | ||
55 | }; | 104 | }; |
diff --git a/Documentation/devicetree/bindings/dma/ste-coh901318.txt b/Documentation/devicetree/bindings/dma/ste-coh901318.txt new file mode 100644 index 000000000000..091ad057e9cf --- /dev/null +++ b/Documentation/devicetree/bindings/dma/ste-coh901318.txt | |||
@@ -0,0 +1,32 @@ | |||
1 | ST-Ericsson COH 901 318 DMA Controller | ||
2 | |||
3 | This is a DMA controller which has begun as a fork of the | ||
4 | ARM PL08x PrimeCell VHDL code. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should be "stericsson,coh901318" | ||
8 | - reg: register locations and length | ||
9 | - interrupts: the single DMA IRQ | ||
10 | - #dma-cells: must be set to <1>, as the channels on the | ||
11 | COH 901 318 are simple and identified by a single number | ||
12 | - dma-channels: the number of DMA channels handled | ||
13 | |||
14 | Example: | ||
15 | |||
16 | dmac: dma-controller@c00020000 { | ||
17 | compatible = "stericsson,coh901318"; | ||
18 | reg = <0xc0020000 0x1000>; | ||
19 | interrupt-parent = <&vica>; | ||
20 | interrupts = <2>; | ||
21 | #dma-cells = <1>; | ||
22 | dma-channels = <40>; | ||
23 | }; | ||
24 | |||
25 | Consumers example: | ||
26 | |||
27 | uart0: serial@c0013000 { | ||
28 | compatible = "..."; | ||
29 | (...) | ||
30 | dmas = <&dmac 17 &dmac 18>; | ||
31 | dma-names = "tx", "rx"; | ||
32 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/ste-dma40.txt b/Documentation/devicetree/bindings/dma/ste-dma40.txt new file mode 100644 index 000000000000..bea5b73a7390 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/ste-dma40.txt | |||
@@ -0,0 +1,66 @@ | |||
1 | * DMA40 DMA Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "stericsson,dma40" | ||
5 | - reg: Address range of the DMAC registers | ||
6 | - reg-names: Names of the above areas to use during resource look-up | ||
7 | - interrupt: Should contain the DMAC interrupt number | ||
8 | - #dma-cells: must be <3> | ||
9 | - memcpy-channels: Channels to be used for memcpy | ||
10 | |||
11 | Optional properties: | ||
12 | - dma-channels: Number of channels supported by hardware - if not present | ||
13 | the driver will attempt to obtain the information from H/W | ||
14 | - disabled-channels: Channels which can not be used | ||
15 | |||
16 | Example: | ||
17 | |||
18 | dma: dma-controller@801C0000 { | ||
19 | compatible = "stericsson,db8500-dma40", "stericsson,dma40"; | ||
20 | reg = <0x801C0000 0x1000 0x40010000 0x800>; | ||
21 | reg-names = "base", "lcpa"; | ||
22 | interrupt-parent = <&intc>; | ||
23 | interrupts = <0 25 0x4>; | ||
24 | |||
25 | #dma-cells = <2>; | ||
26 | memcpy-channels = <56 57 58 59 60>; | ||
27 | disabled-channels = <12>; | ||
28 | dma-channels = <8>; | ||
29 | }; | ||
30 | |||
31 | Clients | ||
32 | Required properties: | ||
33 | - dmas: Comma separated list of dma channel requests | ||
34 | - dma-names: Names of the aforementioned requested channels | ||
35 | |||
36 | Each dmas request consists of 4 cells: | ||
37 | 1. A phandle pointing to the DMA controller | ||
38 | 2. Device Type | ||
39 | 3. The DMA request line number (only when 'use fixed channel' is set) | ||
40 | 4. A 32bit mask specifying; mode, direction and endianess [NB: This list will grow] | ||
41 | 0x00000001: Mode: | ||
42 | Logical channel when unset | ||
43 | Physical channel when set | ||
44 | 0x00000002: Direction: | ||
45 | Memory to Device when unset | ||
46 | Device to Memory when set | ||
47 | 0x00000004: Endianess: | ||
48 | Little endian when unset | ||
49 | Big endian when set | ||
50 | 0x00000008: Use fixed channel: | ||
51 | Use automatic channel selection when unset | ||
52 | Use DMA request line number when set | ||
53 | |||
54 | Example: | ||
55 | |||
56 | uart@80120000 { | ||
57 | compatible = "arm,pl011", "arm,primecell"; | ||
58 | reg = <0x80120000 0x1000>; | ||
59 | interrupts = <0 11 0x4>; | ||
60 | |||
61 | dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */ | ||
62 | <&dma 13 0 0x0>; /* Logical - MemToDev */ | ||
63 | dma-names = "rx", "rx"; | ||
64 | |||
65 | status = "disabled"; | ||
66 | }; | ||
diff --git a/Documentation/devicetree/bindings/dma/ti-edma.txt b/Documentation/devicetree/bindings/dma/ti-edma.txt new file mode 100644 index 000000000000..9fbbdb783a72 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/ti-edma.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | TI EDMA | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "ti,edma3" | ||
5 | - ti,edma-regions: Number of regions | ||
6 | - ti,edma-slots: Number of slots | ||
7 | - #dma-cells: Should be set to <1> | ||
8 | Clients should use a single channel number per DMA request. | ||
9 | - dma-channels: Specify total DMA channels per CC | ||
10 | - reg: Memory map for accessing module | ||
11 | - interrupt-parent: Interrupt controller the interrupt is routed through | ||
12 | - interrupts: Exactly 3 interrupts need to be specified in the order: | ||
13 | 1. Transfer completion interrupt. | ||
14 | 2. Memory protection interrupt. | ||
15 | 3. Error interrupt. | ||
16 | Optional properties: | ||
17 | - ti,hwmods: Name of the hwmods associated to the EDMA | ||
18 | - ti,edma-xbar-event-map: Crossbar event to channel map | ||
19 | |||
20 | Example: | ||
21 | |||
22 | edma: edma@49000000 { | ||
23 | reg = <0x49000000 0x10000>; | ||
24 | interrupt-parent = <&intc>; | ||
25 | interrupts = <12 13 14>; | ||
26 | compatible = "ti,edma3"; | ||
27 | ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; | ||
28 | #dma-cells = <1>; | ||
29 | dma-channels = <64>; | ||
30 | ti,edma-regions = <4>; | ||
31 | ti,edma-slots = <256>; | ||
32 | ti,edma-xbar-event-map = <1 12 | ||
33 | 2 13>; | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/extcon/extcon-twl.txt b/Documentation/devicetree/bindings/extcon/extcon-twl.txt new file mode 100644 index 000000000000..58f531ab4df3 --- /dev/null +++ b/Documentation/devicetree/bindings/extcon/extcon-twl.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | EXTCON FOR TWL CHIPS | ||
2 | |||
3 | PALMAS USB COMPARATOR | ||
4 | Required Properties: | ||
5 | - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb" | ||
6 | - vbus-supply : phandle to the regulator device tree node. | ||
7 | |||
8 | Optional Properties: | ||
9 | - ti,wakeup : To enable the wakeup comparator in probe | ||
10 | |||
11 | palmas-usb { | ||
12 | compatible = "ti,twl6035-usb", "ti,palmas-usb"; | ||
13 | vbus-supply = <&smps10_reg>; | ||
14 | ti,wakeup; | ||
15 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-clps711x.txt b/Documentation/devicetree/bindings/gpio/gpio-clps711x.txt new file mode 100644 index 000000000000..e0d0446a6b78 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-clps711x.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | Cirrus Logic CLPS711X GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "cirrus,clps711x-gpio" | ||
5 | - reg: Physical base GPIO controller registers location and length. | ||
6 | There should be two registers, first is DATA register, the second | ||
7 | is DIRECTION. | ||
8 | - gpio-controller: Marks the device node as a gpio controller. | ||
9 | - #gpio-cells: Should be two. The first cell is the pin number and | ||
10 | the second cell is used to specify the gpio polarity: | ||
11 | 0 = active high | ||
12 | 1 = active low | ||
13 | |||
14 | Note: Each GPIO port should have an alias correctly numbered in "aliases" | ||
15 | node. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | aliases { | ||
20 | gpio0 = &porta; | ||
21 | }; | ||
22 | |||
23 | porta: gpio@80000000 { | ||
24 | compatible = "cirrus,clps711x-gpio"; | ||
25 | reg = <0x80000000 0x1>, <0x80000040 0x1>; | ||
26 | gpio-controller; | ||
27 | #gpio-cells = <2>; | ||
28 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-msm.txt b/Documentation/devicetree/bindings/gpio/gpio-msm.txt new file mode 100644 index 000000000000..ac20e68a004e --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-msm.txt | |||
@@ -0,0 +1,26 @@ | |||
1 | MSM GPIO controller bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: | ||
5 | - "qcom,msm-gpio" for MSM controllers | ||
6 | - #gpio-cells : Should be two. | ||
7 | - first cell is the pin number | ||
8 | - second cell is used to specify optional parameters (unused) | ||
9 | - gpio-controller : Marks the device node as a GPIO controller. | ||
10 | - #interrupt-cells : Should be 2. | ||
11 | - interrupt-controller: Mark the device node as an interrupt controller | ||
12 | - interrupts : Specify the TLMM summary interrupt number | ||
13 | - ngpio : Specify the number of MSM GPIOs | ||
14 | |||
15 | Example: | ||
16 | |||
17 | msmgpio: gpio@fd510000 { | ||
18 | compatible = "qcom,msm-gpio"; | ||
19 | gpio-controller; | ||
20 | #gpio-cells = <2>; | ||
21 | interrupt-controller; | ||
22 | #interrupt-cells = <2>; | ||
23 | reg = <0xfd510000 0x4000>; | ||
24 | interrupts = <0 208 0>; | ||
25 | ngpio = <150>; | ||
26 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt index f1e5dfecf55d..5375625e8cd2 100644 --- a/Documentation/devicetree/bindings/gpio/gpio-samsung.txt +++ b/Documentation/devicetree/bindings/gpio/gpio-samsung.txt | |||
@@ -39,46 +39,3 @@ Example: | |||
39 | #gpio-cells = <4>; | 39 | #gpio-cells = <4>; |
40 | gpio-controller; | 40 | gpio-controller; |
41 | }; | 41 | }; |
42 | |||
43 | |||
44 | Samsung S3C24XX GPIO Controller | ||
45 | |||
46 | Required properties: | ||
47 | - compatible: Compatible property value should be "samsung,s3c24xx-gpio". | ||
48 | |||
49 | - reg: Physical base address of the controller and length of memory mapped | ||
50 | region. | ||
51 | |||
52 | - #gpio-cells: Should be 3. The syntax of the gpio specifier used by client nodes | ||
53 | should be the following with values derived from the SoC user manual. | ||
54 | <[phandle of the gpio controller node] | ||
55 | [pin number within the gpio controller] | ||
56 | [mux function] | ||
57 | [flags and pull up/down] | ||
58 | |||
59 | Values for gpio specifier: | ||
60 | - Pin number: depending on the controller a number from 0 up to 15. | ||
61 | - Mux function: Depending on the SoC and the gpio bank the gpio can be set | ||
62 | as input, output or a special function | ||
63 | - Flags and Pull Up/Down: the values to use differ for the individual SoCs | ||
64 | example S3C2416/S3C2450: | ||
65 | 0 - Pull Up/Down Disabled. | ||
66 | 1 - Pull Down Enabled. | ||
67 | 2 - Pull Up Enabled. | ||
68 | Bit 16 (0x00010000) - Input is active low. | ||
69 | Consult the user manual for the correct values of Mux and Pull Up/Down. | ||
70 | |||
71 | - gpio-controller: Specifies that the node is a gpio controller. | ||
72 | - #address-cells: should be 1. | ||
73 | - #size-cells: should be 1. | ||
74 | |||
75 | Example: | ||
76 | |||
77 | gpa: gpio-controller@56000000 { | ||
78 | #address-cells = <1>; | ||
79 | #size-cells = <1>; | ||
80 | compatible = "samsung,s3c24xx-gpio"; | ||
81 | reg = <0x56000000 0x10>; | ||
82 | #gpio-cells = <3>; | ||
83 | gpio-controller; | ||
84 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-stericsson-coh901.txt b/Documentation/devicetree/bindings/gpio/gpio-stericsson-coh901.txt new file mode 100644 index 000000000000..fd665b44d767 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-stericsson-coh901.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | ST-Ericsson COH 901 571/3 GPIO controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Compatible property value should be "stericsson,gpio-coh901" | ||
5 | - reg: Physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: the 0...n interrupts assigned to the different GPIO ports/banks. | ||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-xilinx.txt b/Documentation/devicetree/bindings/gpio/gpio-xilinx.txt new file mode 100644 index 000000000000..63bf4becd5f0 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/gpio-xilinx.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | Xilinx plb/axi GPIO controller | ||
2 | |||
3 | Dual channel GPIO controller with configurable number of pins | ||
4 | (from 1 to 32 per channel). Every pin can be configured as | ||
5 | input/output/tristate. Both channels share the same global IRQ but | ||
6 | local interrupts can be enabled on channel basis. | ||
7 | |||
8 | Required properties: | ||
9 | - compatible : Should be "xlnx,xps-gpio-1.00.a" | ||
10 | - reg : Address and length of the register set for the device | ||
11 | - #gpio-cells : Should be two. The first cell is the pin number and the | ||
12 | second cell is used to specify optional parameters (currently unused). | ||
13 | - gpio-controller : Marks the device node as a GPIO controller. | ||
14 | |||
15 | Optional properties: | ||
16 | - interrupts : Interrupt mapping for GPIO IRQ. | ||
17 | - interrupt-parent : Phandle for the interrupt controller that | ||
18 | services interrupts for this device. | ||
19 | - xlnx,all-inputs : if n-th bit is setup, GPIO-n is input | ||
20 | - xlnx,dout-default : if n-th bit is 1, GPIO-n default value is 1 | ||
21 | - xlnx,gpio-width : gpio width | ||
22 | - xlnx,tri-default : if n-th bit is 1, GPIO-n is in tristate mode | ||
23 | - xlnx,is-dual : if 1, controller also uses the second channel | ||
24 | - xlnx,all-inputs-2 : as above but for the second channel | ||
25 | - xlnx,dout-default-2 : as above but the second channel | ||
26 | - xlnx,gpio2-width : as above but for the second channel | ||
27 | - xlnx,tri-default-2 : as above but for the second channel | ||
28 | |||
29 | |||
30 | Example: | ||
31 | gpio: gpio@40000000 { | ||
32 | #gpio-cells = <2>; | ||
33 | compatible = "xlnx,xps-gpio-1.00.a"; | ||
34 | gpio-controller ; | ||
35 | interrupt-parent = <µblaze_0_intc>; | ||
36 | interrupts = < 6 2 >; | ||
37 | reg = < 0x40000000 0x10000 >; | ||
38 | xlnx,all-inputs = <0x0>; | ||
39 | xlnx,all-inputs-2 = <0x0>; | ||
40 | xlnx,dout-default = <0x0>; | ||
41 | xlnx,dout-default-2 = <0x0>; | ||
42 | xlnx,gpio-width = <0x2>; | ||
43 | xlnx,gpio2-width = <0x2>; | ||
44 | xlnx,interrupt-present = <0x1>; | ||
45 | xlnx,is-dual = <0x1>; | ||
46 | xlnx,tri-default = <0xffffffff>; | ||
47 | xlnx,tri-default-2 = <0xffffffff>; | ||
48 | } ; | ||
diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt new file mode 100644 index 000000000000..cb3dc7bcd8e6 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | * Renesas R-Car GPIO Controller | ||
2 | |||
3 | Required Properties: | ||
4 | |||
5 | - compatible: should be one of the following. | ||
6 | - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller. | ||
7 | - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. | ||
8 | - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. | ||
9 | - "renesas,gpio-rcar": for generic R-Car GPIO controller. | ||
10 | |||
11 | - reg: Base address and length of each memory resource used by the GPIO | ||
12 | controller hardware module. | ||
13 | |||
14 | - interrupt-parent: phandle of the parent interrupt controller. | ||
15 | - interrupts: Interrupt specifier for the controllers interrupt. | ||
16 | |||
17 | - gpio-controller: Marks the device node as a gpio controller. | ||
18 | - #gpio-cells: Should be 2. The first cell is the GPIO number and the second | ||
19 | cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the | ||
20 | GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported. | ||
21 | - gpio-ranges: Range of pins managed by the GPIO controller. | ||
22 | |||
23 | Please refer to gpio.txt in this directory for details of gpio-ranges property | ||
24 | and the common GPIO bindings used by client devices. | ||
25 | |||
26 | Example: R8A7779 (R-Car H1) GPIO controller nodes | ||
27 | |||
28 | gpio0: gpio@ffc40000 { | ||
29 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | ||
30 | reg = <0xffc40000 0x2c>; | ||
31 | interrupt-parent = <&gic>; | ||
32 | interrupts = <0 141 0x4>; | ||
33 | #gpio-cells = <2>; | ||
34 | gpio-controller; | ||
35 | gpio-ranges = <&pfc 0 0 32>; | ||
36 | }; | ||
37 | ... | ||
38 | gpio6: gpio@ffc46000 { | ||
39 | compatible = "renesas,gpio-r8a7779", "renesas,gpio-rcar"; | ||
40 | reg = <0xffc46000 0x2c>; | ||
41 | interrupt-parent = <&gic>; | ||
42 | interrupts = <0 147 0x4>; | ||
43 | #gpio-cells = <2>; | ||
44 | gpio-controller; | ||
45 | gpio-ranges = <&pfc 0 192 9>; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt b/Documentation/devicetree/bindings/gpu/samsung-g2d.txt index 2b14a940eb75..3f454ffc654a 100644 --- a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt +++ b/Documentation/devicetree/bindings/gpu/samsung-g2d.txt | |||
@@ -10,11 +10,16 @@ Required properties: | |||
10 | mapped region. | 10 | mapped region. |
11 | 11 | ||
12 | - interrupts : G2D interrupt number to the CPU. | 12 | - interrupts : G2D interrupt number to the CPU. |
13 | - clocks : from common clock binding: handle to G2D clocks. | ||
14 | - clock-names : from common clock binding: must contain "sclk_fimg2d" and | ||
15 | "fimg2d", corresponding to entries in the clocks property. | ||
13 | 16 | ||
14 | Example: | 17 | Example: |
15 | g2d@12800000 { | 18 | g2d@12800000 { |
16 | compatible = "samsung,s5pv210-g2d"; | 19 | compatible = "samsung,s5pv210-g2d"; |
17 | reg = <0x12800000 0x1000>; | 20 | reg = <0x12800000 0x1000>; |
18 | interrupts = <0 89 0>; | 21 | interrupts = <0 89 0>; |
22 | clocks = <&clock 177>, <&clock 277>; | ||
23 | clock-names = "sclk_fimg2d", "fimg2d"; | ||
19 | status = "disabled"; | 24 | status = "disabled"; |
20 | }; | 25 | }; |
diff --git a/Documentation/devicetree/bindings/hwmon/g762.txt b/Documentation/devicetree/bindings/hwmon/g762.txt new file mode 100644 index 000000000000..25cc6d8ee575 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/g762.txt | |||
@@ -0,0 +1,47 @@ | |||
1 | GMT G762/G763 PWM Fan controller | ||
2 | |||
3 | Required node properties: | ||
4 | |||
5 | - "compatible": must be either "gmt,g762" or "gmt,g763" | ||
6 | - "reg": I2C bus address of the device | ||
7 | - "clocks": a fixed clock providing input clock frequency | ||
8 | on CLK pin of the chip. | ||
9 | |||
10 | Optional properties: | ||
11 | |||
12 | - "fan_startv": fan startup voltage. Accepted values are 0, 1, 2 and 3. | ||
13 | The higher the more. | ||
14 | |||
15 | - "pwm_polarity": pwm polarity. Accepted values are 0 (positive duty) | ||
16 | and 1 (negative duty). | ||
17 | |||
18 | - "fan_gear_mode": fan gear mode. Supported values are 0, 1 and 2. | ||
19 | |||
20 | If an optional property is not set in .dts file, then current value is kept | ||
21 | unmodified (e.g. u-boot installed value). | ||
22 | |||
23 | Additional information on operational parameters for the device is available | ||
24 | in Documentation/hwmon/g762. A detailed datasheet for the device is available | ||
25 | at http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf. | ||
26 | |||
27 | Example g762 node: | ||
28 | |||
29 | clocks { | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <0>; | ||
32 | |||
33 | g762_clk: fixedclk { | ||
34 | compatible = "fixed-clock"; | ||
35 | #clock-cells = <0>; | ||
36 | clock-frequency = <8192>; | ||
37 | } | ||
38 | } | ||
39 | |||
40 | g762: g762@3e { | ||
41 | compatible = "gmt,g762"; | ||
42 | reg = <0x3e>; | ||
43 | clocks = <&g762_clk> | ||
44 | fan_gear_mode = <0>; /* chip default */ | ||
45 | fan_startv = <1>; /* chip default */ | ||
46 | pwm_polarity = <0>; /* chip default */ | ||
47 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-designware.txt b/Documentation/devicetree/bindings/i2c/i2c-designware.txt index e42a2ee233e6..7fd7fa25e9b0 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-designware.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-designware.txt | |||
@@ -10,6 +10,10 @@ Recommended properties : | |||
10 | 10 | ||
11 | - clock-frequency : desired I2C bus clock frequency in Hz. | 11 | - clock-frequency : desired I2C bus clock frequency in Hz. |
12 | 12 | ||
13 | Optional properties : | ||
14 | - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds. | ||
15 | This option is only supported in hardware blocks version 1.11a or newer. | ||
16 | |||
13 | Example : | 17 | Example : |
14 | 18 | ||
15 | i2c@f0000 { | 19 | i2c@f0000 { |
@@ -20,3 +24,14 @@ Example : | |||
20 | interrupts = <11>; | 24 | interrupts = <11>; |
21 | clock-frequency = <400000>; | 25 | clock-frequency = <400000>; |
22 | }; | 26 | }; |
27 | |||
28 | i2c@1120000 { | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <0>; | ||
31 | compatible = "snps,designware-i2c"; | ||
32 | reg = <0x1120000 0x1000>; | ||
33 | interrupt-parent = <&ictl>; | ||
34 | interrupts = <12 1>; | ||
35 | clock-frequency = <400000>; | ||
36 | i2c-sda-hold-time-ns = <300>; | ||
37 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt index f46d928aa73d..a1ee681942cc 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt | |||
@@ -6,7 +6,11 @@ Required properties : | |||
6 | - reg : Offset and length of the register set for the device | 6 | - reg : Offset and length of the register set for the device |
7 | - compatible : Should be "marvell,mv64xxx-i2c" | 7 | - compatible : Should be "marvell,mv64xxx-i2c" |
8 | - interrupts : The interrupt number | 8 | - interrupts : The interrupt number |
9 | - clock-frequency : Desired I2C bus clock frequency in Hz. | 9 | |
10 | Optional properties : | ||
11 | |||
12 | - clock-frequency : Desired I2C bus clock frequency in Hz. If not set the | ||
13 | default frequency is 100kHz | ||
10 | 14 | ||
11 | Examples: | 15 | Examples: |
12 | 16 | ||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-st-ddci2c.txt b/Documentation/devicetree/bindings/i2c/i2c-st-ddci2c.txt new file mode 100644 index 000000000000..bd81a482634f --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-st-ddci2c.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | ST Microelectronics DDC I2C | ||
2 | |||
3 | Required properties : | ||
4 | - compatible : Must be "st,ddci2c" | ||
5 | - reg: physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: interrupt number to the cpu. | ||
8 | - #address-cells = <1>; | ||
9 | - #size-cells = <0>; | ||
10 | |||
11 | Optional properties: | ||
12 | - Child nodes conforming to i2c bus binding | ||
13 | |||
14 | Examples : | ||
15 | |||
diff --git a/Documentation/devicetree/bindings/i2c/i2c-vt8500.txt b/Documentation/devicetree/bindings/i2c/i2c-vt8500.txt new file mode 100644 index 000000000000..94a425eaa6c7 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-vt8500.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | * Wondermedia I2C Controller | ||
2 | |||
3 | Required properties : | ||
4 | |||
5 | - compatible : should be "wm,wm8505-i2c" | ||
6 | - reg : Offset and length of the register set for the device | ||
7 | - interrupts : <IRQ> where IRQ is the interrupt number | ||
8 | - clocks : phandle to the I2C clock source | ||
9 | |||
10 | Optional properties : | ||
11 | |||
12 | - clock-frequency : desired I2C bus clock frequency in Hz. | ||
13 | Valid values are 100000 and 400000. | ||
14 | Default to 100000 if not specified, or invalid value. | ||
15 | |||
16 | Example : | ||
17 | |||
18 | i2c_0: i2c@d8280000 { | ||
19 | compatible = "wm,wm8505-i2c"; | ||
20 | reg = <0xd8280000 0x1000>; | ||
21 | interrupts = <19>; | ||
22 | clocks = <&clki2c0>; | ||
23 | clock-frequency = <400000>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/ina2xx.txt b/Documentation/devicetree/bindings/i2c/ina2xx.txt new file mode 100644 index 000000000000..a2ad85d7e747 --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/ina2xx.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | ina2xx properties | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be one of the following: | ||
5 | - "ti,ina219" for ina219 | ||
6 | - "ti,ina220" for ina220 | ||
7 | - "ti,ina226" for ina226 | ||
8 | - "ti,ina230" for ina230 | ||
9 | - reg: I2C address | ||
10 | |||
11 | Optional properties: | ||
12 | |||
13 | - shunt-resistor | ||
14 | Shunt resistor value in micro-Ohm | ||
15 | |||
16 | Example: | ||
17 | |||
18 | ina220@44 { | ||
19 | compatible = "ti,ina220"; | ||
20 | reg = <0x44>; | ||
21 | shunt-resistor = <1000>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/dac/ad7303.txt b/Documentation/devicetree/bindings/iio/dac/ad7303.txt new file mode 100644 index 000000000000..914610f0556e --- /dev/null +++ b/Documentation/devicetree/bindings/iio/dac/ad7303.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Analog Devices AD7303 DAC device driver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Must be "adi,ad7303" | ||
5 | - reg: SPI chip select number for the device | ||
6 | - spi-max-frequency: Max SPI frequency to use (< 30000000) | ||
7 | - Vdd-supply: Phandle to the Vdd power supply | ||
8 | |||
9 | Optional properties: | ||
10 | - REF-supply: Phandle to the external reference voltage supply. This should | ||
11 | only be set if there is an external reference voltage connected to the REF | ||
12 | pin. If the property is not set Vdd/2 is used as the reference voltage. | ||
13 | |||
14 | Example: | ||
15 | |||
16 | ad7303@4 { | ||
17 | compatible = "adi,ad7303"; | ||
18 | reg = <4>; | ||
19 | spi-max-frequency = <10000000>; | ||
20 | Vdd-supply = <&vdd_supply>; | ||
21 | adi,use-external-reference; | ||
22 | REF-supply = <&vref_supply>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/frequency/adf4350.txt b/Documentation/devicetree/bindings/iio/frequency/adf4350.txt new file mode 100644 index 000000000000..f8c181d81d2d --- /dev/null +++ b/Documentation/devicetree/bindings/iio/frequency/adf4350.txt | |||
@@ -0,0 +1,86 @@ | |||
1 | Analog Devices ADF4350/ADF4351 device driver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be one of | ||
5 | * "adi,adf4350": When using the ADF4350 device | ||
6 | * "adi,adf4351": When using the ADF4351 device | ||
7 | - reg: SPI chip select numbert for the device | ||
8 | - spi-max-frequency: Max SPI frequency to use (< 20000000) | ||
9 | - clocks: From common clock binding. Clock is phandle to clock for | ||
10 | ADF435x Reference Clock (CLKIN). | ||
11 | |||
12 | Optional properties: | ||
13 | - gpios: GPIO Lock detect - If set with a valid phandle and GPIO number, | ||
14 | pll lock state is tested upon read. | ||
15 | - adi,channel-spacing: Channel spacing in Hz (influences MODULUS). | ||
16 | - adi,power-up-frequency: If set in Hz the PLL tunes to | ||
17 | the desired frequency on probe. | ||
18 | - adi,reference-div-factor: If set the driver skips dynamic calculation | ||
19 | and uses this default value instead. | ||
20 | - adi,reference-doubler-enable: Enables reference doubler. | ||
21 | - adi,reference-div2-enable: Enables reference divider. | ||
22 | - adi,phase-detector-polarity-positive-enable: Enables positive phase | ||
23 | detector polarity. Default = negative. | ||
24 | - adi,lock-detect-precision-6ns-enable: Enables 6ns lock detect precision. | ||
25 | Default = 10ns. | ||
26 | - adi,lock-detect-function-integer-n-enable: Enables lock detect | ||
27 | for integer-N mode. Default = factional-N mode. | ||
28 | - adi,charge-pump-current: Charge pump current in mA. | ||
29 | Default = 2500mA. | ||
30 | - adi,muxout-select: On chip multiplexer output selection. | ||
31 | Valid values for the multiplexer output are: | ||
32 | 0: Three-State Output (default) | ||
33 | 1: DVDD | ||
34 | 2: DGND | ||
35 | 3: R-Counter output | ||
36 | 4: N-Divider output | ||
37 | 5: Analog lock detect | ||
38 | 6: Digital lock detect | ||
39 | - adi,low-spur-mode-enable: Enables low spur mode. | ||
40 | Default = Low noise mode. | ||
41 | - adi,cycle-slip-reduction-enable: Enables cycle slip reduction. | ||
42 | - adi,charge-cancellation-enable: Enabled charge pump | ||
43 | charge cancellation for integer-N modes. | ||
44 | - adi,anti-backlash-3ns-enable: Enables 3ns antibacklash pulse width | ||
45 | for integer-N modes. | ||
46 | - adi,band-select-clock-mode-high-enable: Enables faster band | ||
47 | selection logic. | ||
48 | - adi,12bit-clk-divider: Clock divider value used when | ||
49 | adi,12bit-clkdiv-mode != 0 | ||
50 | - adi,clk-divider-mode: | ||
51 | Valid values for the clkdiv mode are: | ||
52 | 0: Clock divider off (default) | ||
53 | 1: Fast lock enable | ||
54 | 2: Phase resync enable | ||
55 | - adi,aux-output-enable: Enables auxiliary RF output. | ||
56 | - adi,aux-output-fundamental-enable: Selects fundamental VCO output on | ||
57 | the auxiliary RF output. Default = Output of RF dividers. | ||
58 | - adi,mute-till-lock-enable: Enables Mute-Till-Lock-Detect function. | ||
59 | - adi,output-power: Output power selection. | ||
60 | Valid values for the power mode are: | ||
61 | 0: -4dBm (default) | ||
62 | 1: -1dBm | ||
63 | 2: +2dBm | ||
64 | 3: +5dBm | ||
65 | - adi,aux-output-power: Auxiliary output power selection. | ||
66 | Valid values for the power mode are: | ||
67 | 0: -4dBm (default) | ||
68 | 1: -1dBm | ||
69 | 2: +2dBm | ||
70 | 3: +5dBm | ||
71 | |||
72 | |||
73 | Example: | ||
74 | lo_pll0_rx_adf4351: adf4351-rx-lpc@4 { | ||
75 | compatible = "adi,adf4351"; | ||
76 | reg = <4>; | ||
77 | spi-max-frequency = <10000000>; | ||
78 | clocks = <&clk0_ad9523 9>; | ||
79 | clock-names = "clkin"; | ||
80 | adi,channel-spacing = <10000>; | ||
81 | adi,power-up-frequency = <2400000000>; | ||
82 | adi,phase-detector-polarity-positive-enable; | ||
83 | adi,charge-pump-current = <2500>; | ||
84 | adi,output-power = <3>; | ||
85 | adi,mute-till-lock-enable; | ||
86 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt new file mode 100644 index 000000000000..011679f1a425 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/magnetometer/ak8975.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | * AsahiKASEI AK8975 magnetometer sensor | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "asahi-kasei,ak8975" | ||
6 | - reg : the I2C address of the magnetometer | ||
7 | |||
8 | Optional properties: | ||
9 | |||
10 | - gpios : should be device tree identifier of the magnetometer DRDY pin | ||
11 | |||
12 | Example: | ||
13 | |||
14 | ak8975@0c { | ||
15 | compatible = "asahi-kasei,ak8975"; | ||
16 | reg = <0x0c>; | ||
17 | gpios = <&gpj0 7 0>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/pxa27x-keypad.txt b/Documentation/devicetree/bindings/input/pxa27x-keypad.txt new file mode 100644 index 000000000000..f8674f7e5ea5 --- /dev/null +++ b/Documentation/devicetree/bindings/input/pxa27x-keypad.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | * Marvell PXA Keypad controller | ||
2 | |||
3 | Required Properties | ||
4 | - compatible : should be "marvell,pxa27x-keypad" | ||
5 | - reg : Address and length of the register set for the device | ||
6 | - interrupts : The interrupt for the keypad controller | ||
7 | - marvell,debounce-interval : How long time the key will be | ||
8 | recognized when it is pressed. It is a u32 value, and bit[31:16] | ||
9 | is debounce interval for direct key and bit[15:0] is debounce | ||
10 | interval for matrix key. The value is in binary number of 2ms | ||
11 | |||
12 | Optional Properties For Matrix Keyes | ||
13 | Please refer to matrix-keymap.txt | ||
14 | |||
15 | Optional Properties for Direct Keyes | ||
16 | - marvell,direct-key-count : How many direct keyes are used. | ||
17 | - marvell,direct-key-mask : The mask indicates which keyes | ||
18 | are used. If bit[X] of the mask is set, the direct key X | ||
19 | is used. | ||
20 | - marvell,direct-key-low-active : Direct key status register | ||
21 | tells the level of pins that connects to the direct keyes. | ||
22 | When this property is set, it means that when the pin level | ||
23 | is low, the key is pressed(active). | ||
24 | - marvell,direct-key-map : It is a u16 array. Each item indicates | ||
25 | the linux key-code for the direct key. | ||
26 | |||
27 | Optional Properties For Rotary | ||
28 | - marvell,rotary0 : It is a u32 value. Bit[31:16] is the | ||
29 | linux key-code for rotary up. Bit[15:0] is the linux key-code | ||
30 | for rotary down. It is for rotary 0. | ||
31 | - marvell,rotary1 : Same as marvell,rotary0. It is for rotary 1. | ||
32 | - marvell,rotary-rel-key : When rotary is used for relative axes | ||
33 | in the device, the value indicates the key-code for relative | ||
34 | axes measurement in the device. It is a u32 value. Bit[31:16] | ||
35 | is for rotary 1, and Bit[15:0] is for rotary 0. | ||
36 | |||
37 | Examples: | ||
38 | keypad: keypad@d4012000 { | ||
39 | keypad,num-rows = <3>; | ||
40 | keypad,num-columns = <5>; | ||
41 | linux,keymap = <0x0000000e /* KEY_BACKSPACE */ | ||
42 | 0x0001006b /* KEY_END */ | ||
43 | 0x00020061 /* KEY_RIGHTCTRL */ | ||
44 | 0x0003000b /* KEY_0 */ | ||
45 | 0x00040002 /* KEY_1 */ | ||
46 | 0x0100008b /* KEY_MENU */ | ||
47 | 0x01010066 /* KEY_HOME */ | ||
48 | 0x010200e7 /* KEY_SEND */ | ||
49 | 0x01030009 /* KEY_8 */ | ||
50 | 0x0104000a /* KEY_9 */ | ||
51 | 0x02000160 /* KEY_OK */ | ||
52 | 0x02010003 /* KEY_2 */ | ||
53 | 0x02020004 /* KEY_3 */ | ||
54 | 0x02030005 /* KEY_4 */ | ||
55 | 0x02040006>; /* KEY_5 */ | ||
56 | marvell,rotary0 = <0x006c0067>; /* KEY_UP & KEY_DOWN */ | ||
57 | marvell,direct-key-count = <1>; | ||
58 | marvell,direct-key-map = <0x001c>; | ||
59 | marvell,debounce-interval = <0x001e001e>; | ||
60 | }; | ||
diff --git a/Documentation/devicetree/bindings/input/samsung-keypad.txt b/Documentation/devicetree/bindings/input/samsung-keypad.txt index ce3e394c0e64..942d071baaa5 100644 --- a/Documentation/devicetree/bindings/input/samsung-keypad.txt +++ b/Documentation/devicetree/bindings/input/samsung-keypad.txt | |||
@@ -25,14 +25,6 @@ Required Board Specific Properties: | |||
25 | - samsung,keypad-num-columns: Number of column lines connected to the | 25 | - samsung,keypad-num-columns: Number of column lines connected to the |
26 | keypad controller. | 26 | keypad controller. |
27 | 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 | 28 | - Keys represented as child nodes: Each key connected to the keypad |
37 | controller is represented as a child node to the keypad controller | 29 | controller is represented as a child node to the keypad controller |
38 | device node and should include the following properties. | 30 | device node and should include the following properties. |
@@ -41,6 +33,9 @@ Required Board Specific Properties: | |||
41 | - linux,code: the key-code to be reported when the key is pressed | 33 | - linux,code: the key-code to be reported when the key is pressed |
42 | and released. | 34 | and released. |
43 | 35 | ||
36 | - pinctrl-0: Should specify pin control groups used for this controller. | ||
37 | - pinctrl-names: Should contain only one value - "default". | ||
38 | |||
44 | Optional Properties specific to linux: | 39 | Optional Properties specific to linux: |
45 | - linux,keypad-no-autorepeat: do no enable autorepeat feature. | 40 | - linux,keypad-no-autorepeat: do no enable autorepeat feature. |
46 | - linux,keypad-wakeup: use any event on keypad as wakeup event. | 41 | - linux,keypad-wakeup: use any event on keypad as wakeup event. |
@@ -56,17 +51,8 @@ Example: | |||
56 | linux,input-no-autorepeat; | 51 | linux,input-no-autorepeat; |
57 | linux,input-wakeup; | 52 | linux,input-wakeup; |
58 | 53 | ||
59 | row-gpios = <&gpx2 0 3 3 0 | 54 | pinctrl-names = "default"; |
60 | &gpx2 1 3 3 0>; | 55 | pinctrl-0 = <&keypad_rows &keypad_columns>; |
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 | 56 | ||
71 | key_1 { | 57 | key_1 { |
72 | keypad,row = <0>; | 58 | keypad,row = <0>; |
diff --git a/Documentation/devicetree/bindings/input/ti,nspire-keypad.txt b/Documentation/devicetree/bindings/input/ti,nspire-keypad.txt new file mode 100644 index 000000000000..513d94d6e899 --- /dev/null +++ b/Documentation/devicetree/bindings/input/ti,nspire-keypad.txt | |||
@@ -0,0 +1,60 @@ | |||
1 | TI-NSPIRE Keypad | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Compatible property value should be "ti,nspire-keypad". | ||
5 | |||
6 | - reg: Physical base address of the peripheral and length of memory mapped | ||
7 | region. | ||
8 | |||
9 | - interrupts: The interrupt number for the peripheral. | ||
10 | |||
11 | - scan-interval: How often to scan in us. Based on a APB speed of 33MHz, the | ||
12 | maximum and minimum delay time is ~2000us and ~500us respectively | ||
13 | |||
14 | - row-delay: How long to wait before scanning each row. | ||
15 | |||
16 | - clocks: The clock this peripheral is attached to. | ||
17 | |||
18 | - linux,keymap: The keymap to use | ||
19 | (see Documentation/devicetree/bindings/input/matrix-keymap.txt) | ||
20 | |||
21 | Optional properties: | ||
22 | - active-low: Specify that the keypad is active low (i.e. logical low signifies | ||
23 | a key press). | ||
24 | |||
25 | Example: | ||
26 | |||
27 | input { | ||
28 | compatible = "ti,nspire-keypad"; | ||
29 | reg = <0x900E0000 0x1000>; | ||
30 | interrupts = <16>; | ||
31 | |||
32 | scan-interval = <1000>; | ||
33 | row-delay = <200>; | ||
34 | |||
35 | clocks = <&apb_pclk>; | ||
36 | |||
37 | linux,keymap = < | ||
38 | 0x0000001c 0x0001001c 0x00040039 | ||
39 | 0x0005002c 0x00060015 0x0007000b | ||
40 | 0x0008000f 0x0100002d 0x01010011 | ||
41 | 0x0102002f 0x01030004 0x01040016 | ||
42 | 0x01050014 0x0106001f 0x01070002 | ||
43 | 0x010a006a 0x02000013 0x02010010 | ||
44 | 0x02020019 0x02030007 0x02040018 | ||
45 | 0x02050031 0x02060032 0x02070005 | ||
46 | 0x02080028 0x0209006c 0x03000026 | ||
47 | 0x03010025 0x03020024 0x0303000a | ||
48 | 0x03040017 0x03050023 0x03060022 | ||
49 | 0x03070008 0x03080035 0x03090069 | ||
50 | 0x04000021 0x04010012 0x04020020 | ||
51 | 0x0404002e 0x04050030 0x0406001e | ||
52 | 0x0407000d 0x04080037 0x04090067 | ||
53 | 0x05010038 0x0502000c 0x0503001b | ||
54 | 0x05040034 0x0505001a 0x05060006 | ||
55 | 0x05080027 0x0509000e 0x050a006f | ||
56 | 0x0600002b 0x0602004e 0x06030068 | ||
57 | 0x06040003 0x0605006d 0x06060009 | ||
58 | 0x06070001 0x0609000f 0x0708002a | ||
59 | 0x0709001d 0x070a0033 >; | ||
60 | }; | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/abilis,tb10x-ictl.txt b/Documentation/devicetree/bindings/interrupt-controller/abilis,tb10x-ictl.txt new file mode 100644 index 000000000000..9d52d5afe3e9 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/abilis,tb10x-ictl.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | TB10x Top Level Interrupt Controller | ||
2 | ==================================== | ||
3 | |||
4 | The Abilis TB10x SOC contains a custom interrupt controller. It performs | ||
5 | one-to-one mapping of external interrupt sources to CPU interrupts and | ||
6 | provides support for reconfigurable trigger modes. | ||
7 | |||
8 | Required properties | ||
9 | ------------------- | ||
10 | |||
11 | - compatible: Should be "abilis,tb10x-ictl" | ||
12 | - reg: specifies physical base address and size of register range. | ||
13 | - interrupt-congroller: Identifies the node as an interrupt controller. | ||
14 | - #interrupt cells: Specifies the number of cells used to encode an interrupt | ||
15 | source connected to this controller. The value shall be 2. | ||
16 | - interrupt-parent: Specifies the parent interrupt controller. | ||
17 | - interrupts: Specifies the list of interrupt lines which are handled by | ||
18 | the interrupt controller in the parent controller's notation. Interrupts | ||
19 | are mapped one-to-one to parent interrupts. | ||
20 | |||
21 | Example | ||
22 | ------- | ||
23 | |||
24 | intc: interrupt-controller { /* Parent interrupt controller */ | ||
25 | interrupt-controller; | ||
26 | #interrupt-cells = <1>; /* For example below */ | ||
27 | /* ... */ | ||
28 | }; | ||
29 | |||
30 | tb10x_ictl: pic@2000 { /* TB10x interrupt controller */ | ||
31 | compatible = "abilis,tb10x-ictl"; | ||
32 | reg = <0x2000 0x20>; | ||
33 | interrupt-controller; | ||
34 | #interrupt-cells = <2>; | ||
35 | interrupt-parent = <&intc>; | ||
36 | interrupts = <5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ||
37 | 20 21 22 23 24 25 26 27 28 29 30 31>; | ||
38 | }; | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt index e7f4dc14eff2..57edb30dbbca 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt | |||
@@ -8,91 +8,8 @@ Required properties: | |||
8 | - #interrupt-cells : Specifies the number of cells needed to encode an | 8 | - #interrupt-cells : Specifies the number of cells needed to encode an |
9 | interrupt source. The value shall be 1. | 9 | interrupt source. The value shall be 1. |
10 | 10 | ||
11 | The interrupt sources are as follows: | 11 | For the valid interrupt sources for your SoC, see the documentation in |
12 | 12 | sunxi/<soc>.txt | |
13 | 0: ENMI | ||
14 | 1: UART0 | ||
15 | 2: UART1 | ||
16 | 3: UART2 | ||
17 | 4: UART3 | ||
18 | 5: IR0 | ||
19 | 6: IR1 | ||
20 | 7: I2C0 | ||
21 | 8: I2C1 | ||
22 | 9: I2C2 | ||
23 | 10: SPI0 | ||
24 | 11: SPI1 | ||
25 | 12: SPI2 | ||
26 | 13: SPDIF | ||
27 | 14: AC97 | ||
28 | 15: TS | ||
29 | 16: I2S | ||
30 | 17: UART4 | ||
31 | 18: UART5 | ||
32 | 19: UART6 | ||
33 | 20: UART7 | ||
34 | 21: KEYPAD | ||
35 | 22: TIMER0 | ||
36 | 23: TIMER1 | ||
37 | 24: TIMER2 | ||
38 | 25: TIMER3 | ||
39 | 26: CAN | ||
40 | 27: DMA | ||
41 | 28: PIO | ||
42 | 29: TOUCH_PANEL | ||
43 | 30: AUDIO_CODEC | ||
44 | 31: LRADC | ||
45 | 32: SDMC0 | ||
46 | 33: SDMC1 | ||
47 | 34: SDMC2 | ||
48 | 35: SDMC3 | ||
49 | 36: MEMSTICK | ||
50 | 37: NAND | ||
51 | 38: USB0 | ||
52 | 39: USB1 | ||
53 | 40: USB2 | ||
54 | 41: SCR | ||
55 | 42: CSI0 | ||
56 | 43: CSI1 | ||
57 | 44: LCDCTRL0 | ||
58 | 45: LCDCTRL1 | ||
59 | 46: MP | ||
60 | 47: DEFEBE0 | ||
61 | 48: DEFEBE1 | ||
62 | 49: PMU | ||
63 | 50: SPI3 | ||
64 | 51: TZASC | ||
65 | 52: PATA | ||
66 | 53: VE | ||
67 | 54: SS | ||
68 | 55: EMAC | ||
69 | 56: SATA | ||
70 | 57: GPS | ||
71 | 58: HDMI | ||
72 | 59: TVE | ||
73 | 60: ACE | ||
74 | 61: TVD | ||
75 | 62: PS2_0 | ||
76 | 63: PS2_1 | ||
77 | 64: USB3 | ||
78 | 65: USB4 | ||
79 | 66: PLE_PFM | ||
80 | 67: TIMER4 | ||
81 | 68: TIMER5 | ||
82 | 69: GPU_GP | ||
83 | 70: GPU_GPMMU | ||
84 | 71: GPU_PP0 | ||
85 | 72: GPU_PPMMU0 | ||
86 | 73: GPU_PMU | ||
87 | 74: GPU_RSV0 | ||
88 | 75: GPU_RSV1 | ||
89 | 76: GPU_RSV2 | ||
90 | 77: GPU_RSV3 | ||
91 | 78: GPU_RSV4 | ||
92 | 79: GPU_RSV5 | ||
93 | 80: GPU_RSV6 | ||
94 | 82: SYNC_TIMER0 | ||
95 | 83: SYNC_TIMER1 | ||
96 | 13 | ||
97 | Example: | 14 | Example: |
98 | 15 | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/marvell,orion-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/marvell,orion-intc.txt new file mode 100644 index 000000000000..2c11ac76fac9 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/marvell,orion-intc.txt | |||
@@ -0,0 +1,48 @@ | |||
1 | Marvell Orion SoC interrupt controllers | ||
2 | |||
3 | * Main interrupt controller | ||
4 | |||
5 | Required properties: | ||
6 | - compatible: shall be "marvell,orion-intc" | ||
7 | - reg: base address(es) of interrupt registers starting with CAUSE register | ||
8 | - interrupt-controller: identifies the node as an interrupt controller | ||
9 | - #interrupt-cells: number of cells to encode an interrupt source, shall be 1 | ||
10 | |||
11 | The interrupt sources map to the corresponding bits in the interrupt | ||
12 | registers, i.e. | ||
13 | - 0 maps to bit 0 of first base address, | ||
14 | - 1 maps to bit 1 of first base address, | ||
15 | - 32 maps to bit 0 of second base address, and so on. | ||
16 | |||
17 | Example: | ||
18 | intc: interrupt-controller { | ||
19 | compatible = "marvell,orion-intc"; | ||
20 | interrupt-controller; | ||
21 | #interrupt-cells = <1>; | ||
22 | /* Dove has 64 first level interrupts */ | ||
23 | reg = <0x20200 0x10>, <0x20210 0x10>; | ||
24 | }; | ||
25 | |||
26 | * Bridge interrupt controller | ||
27 | |||
28 | Required properties: | ||
29 | - compatible: shall be "marvell,orion-bridge-intc" | ||
30 | - reg: base address of bridge interrupt registers starting with CAUSE register | ||
31 | - interrupts: bridge interrupt of the main interrupt controller | ||
32 | - interrupt-controller: identifies the node as an interrupt controller | ||
33 | - #interrupt-cells: number of cells to encode an interrupt source, shall be 1 | ||
34 | |||
35 | Optional properties: | ||
36 | - marvell,#interrupts: number of interrupts provided by bridge interrupt | ||
37 | controller, defaults to 32 if not set | ||
38 | |||
39 | Example: | ||
40 | bridge_intc: interrupt-controller { | ||
41 | compatible = "marvell,orion-bridge-intc"; | ||
42 | interrupt-controller; | ||
43 | #interrupt-cells = <1>; | ||
44 | reg = <0x20110 0x8>; | ||
45 | interrupts = <0>; | ||
46 | /* Dove bridge provides 5 interrupts */ | ||
47 | marvell,#interrupts = <5>; | ||
48 | }; | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt new file mode 100644 index 000000000000..1f8b0c507c26 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | DT bindings for the R-/SH-Mobile irqpin controller | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: has to be "renesas,intc-irqpin" | ||
6 | - #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in | ||
7 | interrupts.txt in this directory | ||
8 | |||
9 | Optional properties: | ||
10 | |||
11 | - any properties, listed in interrupts.txt, and any standard resource allocation | ||
12 | properties | ||
13 | - sense-bitfield-width: width of a single sense bitfield in the SENSE register, | ||
14 | if different from the default 4 bits | ||
15 | - control-parent: disable and enable interrupts on the parent interrupt | ||
16 | controller, needed for some broken implementations | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt b/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt new file mode 100644 index 000000000000..76b98c834499 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun4i-a10.txt | |||
@@ -0,0 +1,89 @@ | |||
1 | Allwinner A10 (sun4i) interrupt sources | ||
2 | --------------------------------------- | ||
3 | |||
4 | The interrupt sources available for the Allwinner A10 SoC are the | ||
5 | following one: | ||
6 | |||
7 | 0: ENMI | ||
8 | 1: UART0 | ||
9 | 2: UART1 | ||
10 | 3: UART2 | ||
11 | 4: UART3 | ||
12 | 5: IR0 | ||
13 | 6: IR1 | ||
14 | 7: I2C0 | ||
15 | 8: I2C1 | ||
16 | 9: I2C2 | ||
17 | 10: SPI0 | ||
18 | 11: SPI1 | ||
19 | 12: SPI2 | ||
20 | 13: SPDIF | ||
21 | 14: AC97 | ||
22 | 15: TS | ||
23 | 16: I2S | ||
24 | 17: UART4 | ||
25 | 18: UART5 | ||
26 | 19: UART6 | ||
27 | 20: UART7 | ||
28 | 21: KEYPAD | ||
29 | 22: TIMER0 | ||
30 | 23: TIMER1 | ||
31 | 24: TIMER2 | ||
32 | 25: TIMER3 | ||
33 | 26: CAN | ||
34 | 27: DMA | ||
35 | 28: PIO | ||
36 | 29: TOUCH_PANEL | ||
37 | 30: AUDIO_CODEC | ||
38 | 31: LRADC | ||
39 | 32: MMC0 | ||
40 | 33: MMC1 | ||
41 | 34: MMC2 | ||
42 | 35: MMC3 | ||
43 | 36: MEMSTICK | ||
44 | 37: NAND | ||
45 | 38: USB0 | ||
46 | 39: USB1 | ||
47 | 40: USB2 | ||
48 | 41: SCR | ||
49 | 42: CSI0 | ||
50 | 43: CSI1 | ||
51 | 44: LCDCTRL0 | ||
52 | 45: LCDCTRL1 | ||
53 | 46: MP | ||
54 | 47: DEFEBE0 | ||
55 | 48: DEFEBE1 | ||
56 | 49: PMU | ||
57 | 50: SPI3 | ||
58 | 51: TZASC | ||
59 | 52: PATA | ||
60 | 53: VE | ||
61 | 54: SS | ||
62 | 55: EMAC | ||
63 | 56: SATA | ||
64 | 57: GPS | ||
65 | 58: HDMI | ||
66 | 59: TVE | ||
67 | 60: ACE | ||
68 | 61: TVD | ||
69 | 62: PS2_0 | ||
70 | 63: PS2_1 | ||
71 | 64: USB3 | ||
72 | 65: USB4 | ||
73 | 66: PLE_PFM | ||
74 | 67: TIMER4 | ||
75 | 68: TIMER5 | ||
76 | 69: GPU_GP | ||
77 | 70: GPU_GPMMU | ||
78 | 71: GPU_PP0 | ||
79 | 72: GPU_PPMMU0 | ||
80 | 73: GPU_PMU | ||
81 | 74: GPU_RSV0 | ||
82 | 75: GPU_RSV1 | ||
83 | 76: GPU_RSV2 | ||
84 | 77: GPU_RSV3 | ||
85 | 78: GPU_RSV4 | ||
86 | 79: GPU_RSV5 | ||
87 | 80: GPU_RSV6 | ||
88 | 82: SYNC_TIMER0 | ||
89 | 83: SYNC_TIMER1 | ||
diff --git a/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt b/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt new file mode 100644 index 000000000000..2ec3b5ce1a0b --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/sunxi/sun5i-a13.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | Allwinner A13 (sun5i) interrupt sources | ||
2 | --------------------------------------- | ||
3 | |||
4 | The interrupt sources available for the Allwinner A13 SoC are the | ||
5 | following one: | ||
6 | |||
7 | 0: ENMI | ||
8 | 2: UART1 | ||
9 | 4: UART3 | ||
10 | 5: IR | ||
11 | 7: I2C0 | ||
12 | 8: I2C1 | ||
13 | 9: I2C2 | ||
14 | 10: SPI0 | ||
15 | 11: SPI1 | ||
16 | 12: SPI2 | ||
17 | 22: TIMER0 | ||
18 | 23: TIMER1 | ||
19 | 24: TIMER2 | ||
20 | 25: TIMER3 | ||
21 | 27: DMA | ||
22 | 28: PIO | ||
23 | 29: TOUCH_PANEL | ||
24 | 30: AUDIO_CODEC | ||
25 | 31: LRADC | ||
26 | 32: MMC0 | ||
27 | 33: MMC1 | ||
28 | 34: MMC2 | ||
29 | 37: NAND | ||
30 | 38: USB OTG | ||
31 | 39: USB EHCI | ||
32 | 40: USB OHCI | ||
33 | 42: CSI | ||
34 | 44: LCDCTRL | ||
35 | 47: DEFEBE | ||
36 | 49: PMU | ||
37 | 53: VE | ||
38 | 54: SS | ||
39 | 66: PLE_PFM | ||
40 | 67: TIMER4 | ||
41 | 68: TIMER5 | ||
42 | 69: GPU_GP | ||
43 | 70: GPU_GPMMU | ||
44 | 71: GPU_PP0 | ||
45 | 72: GPU_PPMMU0 | ||
46 | 73: GPU_PMU | ||
47 | 74: GPU_RSV0 | ||
48 | 75: GPU_RSV1 | ||
49 | 76: GPU_RSV2 | ||
50 | 77: GPU_RSV3 | ||
51 | 78: GPU_RSV4 | ||
52 | 79: GPU_RSV5 | ||
53 | 80: GPU_RSV6 | ||
54 | 82: SYNC_TIMER0 | ||
55 | 83: SYNC_TIMER1 | ||
diff --git a/Documentation/devicetree/bindings/leds/leds-lp55xx.txt b/Documentation/devicetree/bindings/leds/leds-lp55xx.txt new file mode 100644 index 000000000000..d5176882d8b9 --- /dev/null +++ b/Documentation/devicetree/bindings/leds/leds-lp55xx.txt | |||
@@ -0,0 +1,147 @@ | |||
1 | Binding for TI/National Semiconductor LP55xx Led Drivers | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "national,lp5521" or "national,lp5523" or "ti,lp5562" | ||
5 | - reg: I2C slave address | ||
6 | - clock-mode: Input clock mode, (0: automode, 1: internal, 2: external) | ||
7 | |||
8 | Each child has own specific current settings | ||
9 | - led-cur: Current setting at each led channel (mA x10, 0 if led is not connected) | ||
10 | - max-cur: Maximun current at each led channel. | ||
11 | |||
12 | Optional properties: | ||
13 | - label: Used for naming LEDs | ||
14 | |||
15 | Alternatively, each child can have specific channel name | ||
16 | - chan-name: Name of each channel name | ||
17 | |||
18 | example 1) LP5521 | ||
19 | 3 LED channels, external clock used. Channel names are 'lp5521_pri:channel0', | ||
20 | 'lp5521_pri:channel1' and 'lp5521_pri:channel2' | ||
21 | |||
22 | lp5521@32 { | ||
23 | compatible = "national,lp5521"; | ||
24 | reg = <0x32>; | ||
25 | label = "lp5521_pri"; | ||
26 | clock-mode = /bits/ 8 <2>; | ||
27 | |||
28 | chan0 { | ||
29 | led-cur = /bits/ 8 <0x2f>; | ||
30 | max-cur = /bits/ 8 <0x5f>; | ||
31 | }; | ||
32 | |||
33 | chan1 { | ||
34 | led-cur = /bits/ 8 <0x2f>; | ||
35 | max-cur = /bits/ 8 <0x5f>; | ||
36 | }; | ||
37 | |||
38 | chan2 { | ||
39 | led-cur = /bits/ 8 <0x2f>; | ||
40 | max-cur = /bits/ 8 <0x5f>; | ||
41 | }; | ||
42 | }; | ||
43 | |||
44 | example 2) LP5523 | ||
45 | 9 LED channels with specific name. Internal clock used. | ||
46 | The I2C slave address is configurable with ASEL1 and ASEL0 pins. | ||
47 | Available addresses are 32/33/34/35h. | ||
48 | |||
49 | ASEL1 ASEL0 Address | ||
50 | ------------------------- | ||
51 | GND GND 32h | ||
52 | GND VEN 33h | ||
53 | VEN GND 34h | ||
54 | VEN VEN 35h | ||
55 | |||
56 | lp5523@32 { | ||
57 | compatible = "national,lp5523"; | ||
58 | reg = <0x32>; | ||
59 | clock-mode = /bits/ 8 <1>; | ||
60 | |||
61 | chan0 { | ||
62 | chan-name = "d1"; | ||
63 | led-cur = /bits/ 8 <0x14>; | ||
64 | max-cur = /bits/ 8 <0x20>; | ||
65 | }; | ||
66 | |||
67 | chan1 { | ||
68 | chan-name = "d2"; | ||
69 | led-cur = /bits/ 8 <0x14>; | ||
70 | max-cur = /bits/ 8 <0x20>; | ||
71 | }; | ||
72 | |||
73 | chan2 { | ||
74 | chan-name = "d3"; | ||
75 | led-cur = /bits/ 8 <0x14>; | ||
76 | max-cur = /bits/ 8 <0x20>; | ||
77 | }; | ||
78 | |||
79 | chan3 { | ||
80 | chan-name = "d4"; | ||
81 | led-cur = /bits/ 8 <0x14>; | ||
82 | max-cur = /bits/ 8 <0x20>; | ||
83 | }; | ||
84 | |||
85 | chan4 { | ||
86 | chan-name = "d5"; | ||
87 | led-cur = /bits/ 8 <0x14>; | ||
88 | max-cur = /bits/ 8 <0x20>; | ||
89 | }; | ||
90 | |||
91 | chan5 { | ||
92 | chan-name = "d6"; | ||
93 | led-cur = /bits/ 8 <0x14>; | ||
94 | max-cur = /bits/ 8 <0x20>; | ||
95 | }; | ||
96 | |||
97 | chan6 { | ||
98 | chan-name = "d7"; | ||
99 | led-cur = /bits/ 8 <0x14>; | ||
100 | max-cur = /bits/ 8 <0x20>; | ||
101 | }; | ||
102 | |||
103 | chan7 { | ||
104 | chan-name = "d8"; | ||
105 | led-cur = /bits/ 8 <0x14>; | ||
106 | max-cur = /bits/ 8 <0x20>; | ||
107 | }; | ||
108 | |||
109 | chan8 { | ||
110 | chan-name = "d9"; | ||
111 | led-cur = /bits/ 8 <0x14>; | ||
112 | max-cur = /bits/ 8 <0x20>; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | example 3) LP5562 | ||
117 | 4 channels are defined. | ||
118 | |||
119 | lp5562@30 { | ||
120 | compatible = "ti,lp5562"; | ||
121 | reg = <0x30>; | ||
122 | clock-mode = /bits/8 <2>; | ||
123 | |||
124 | chan0 { | ||
125 | chan-name = "R"; | ||
126 | led-cur = /bits/ 8 <0x20>; | ||
127 | max-cur = /bits/ 8 <0x60>; | ||
128 | }; | ||
129 | |||
130 | chan1 { | ||
131 | chan-name = "G"; | ||
132 | led-cur = /bits/ 8 <0x20>; | ||
133 | max-cur = /bits/ 8 <0x60>; | ||
134 | }; | ||
135 | |||
136 | chan2 { | ||
137 | chan-name = "B"; | ||
138 | led-cur = /bits/ 8 <0x20>; | ||
139 | max-cur = /bits/ 8 <0x60>; | ||
140 | }; | ||
141 | |||
142 | chan3 { | ||
143 | chan-name = "W"; | ||
144 | led-cur = /bits/ 8 <0x20>; | ||
145 | max-cur = /bits/ 8 <0x60>; | ||
146 | }; | ||
147 | }; | ||
diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt index bf0182d8da25..df37b0230c75 100644 --- a/Documentation/devicetree/bindings/media/s5p-mfc.txt +++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt | |||
@@ -15,6 +15,9 @@ Required properties: | |||
15 | mapped region. | 15 | mapped region. |
16 | 16 | ||
17 | - interrupts : MFC interrupt number to the CPU. | 17 | - interrupts : MFC interrupt number to the CPU. |
18 | - clocks : from common clock binding: handle to mfc clocks. | ||
19 | - clock-names : from common clock binding: must contain "sclk_mfc" and "mfc", | ||
20 | corresponding to entries in the clocks property. | ||
18 | 21 | ||
19 | - samsung,mfc-r : Base address of the first memory bank used by MFC | 22 | - samsung,mfc-r : Base address of the first memory bank used by MFC |
20 | for DMA contiguous memory allocation and its size. | 23 | for DMA contiguous memory allocation and its size. |
@@ -34,6 +37,8 @@ mfc: codec@13400000 { | |||
34 | reg = <0x13400000 0x10000>; | 37 | reg = <0x13400000 0x10000>; |
35 | interrupts = <0 94 0>; | 38 | interrupts = <0 94 0>; |
36 | samsung,power-domain = <&pd_mfc>; | 39 | samsung,power-domain = <&pd_mfc>; |
40 | clocks = <&clock 170>, <&clock 273>; | ||
41 | clock-names = "sclk_mfc", "mfc"; | ||
37 | }; | 42 | }; |
38 | 43 | ||
39 | Board specific DT entry: | 44 | Board specific DT entry: |
diff --git a/Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt b/Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt new file mode 100644 index 000000000000..653c90c34a71 --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt | |||
@@ -0,0 +1,156 @@ | |||
1 | Device tree bindings for MVEBU Device Bus controllers | ||
2 | |||
3 | The Device Bus controller available in some Marvell's SoC allows to control | ||
4 | different types of standard memory and I/O devices such as NOR, NAND, and FPGA. | ||
5 | The actual devices are instantiated from the child nodes of a Device Bus node. | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - compatible: Currently only Armada 370/XP SoC are supported, | ||
10 | with this compatible string: | ||
11 | |||
12 | marvell,mvebu-devbus | ||
13 | |||
14 | - reg: A resource specifier for the register space. | ||
15 | This is the base address of a chip select within | ||
16 | the controller's register space. | ||
17 | (see the example below) | ||
18 | |||
19 | - #address-cells: Must be set to 1 | ||
20 | - #size-cells: Must be set to 1 | ||
21 | - ranges: Must be set up to reflect the memory layout with four | ||
22 | integer values for each chip-select line in use: | ||
23 | 0 <physical address of mapping> <size> | ||
24 | |||
25 | Mandatory timing properties for child nodes: | ||
26 | |||
27 | Read parameters: | ||
28 | |||
29 | - devbus,turn-off-ps: Defines the time during which the controller does not | ||
30 | drive the AD bus after the completion of a device read. | ||
31 | This prevents contentions on the Device Bus after a read | ||
32 | cycle from a slow device. | ||
33 | |||
34 | - devbus,bus-width: Defines the bus width (e.g. <16>) | ||
35 | |||
36 | - devbus,badr-skew-ps: Defines the time delay from from A[2:0] toggle, | ||
37 | to read data sample. This parameter is useful for | ||
38 | synchronous pipelined devices, where the address | ||
39 | precedes the read data by one or two cycles. | ||
40 | |||
41 | - devbus,acc-first-ps: Defines the time delay from the negation of | ||
42 | ALE[0] to the cycle that the first read data is sampled | ||
43 | by the controller. | ||
44 | |||
45 | - devbus,acc-next-ps: Defines the time delay between the cycle that | ||
46 | samples data N and the cycle that samples data N+1 | ||
47 | (in burst accesses). | ||
48 | |||
49 | - devbus,rd-setup-ps: Defines the time delay between DEV_CSn assertion to | ||
50 | DEV_OEn assertion. If set to 0 (default), | ||
51 | DEV_OEn and DEV_CSn are asserted at the same cycle. | ||
52 | This parameter has no affect on <acc-first-ps> parameter | ||
53 | (no affect on first data sample). Set <rd-setup-ps> | ||
54 | to a value smaller than <acc-first-ps>. | ||
55 | |||
56 | - devbus,rd-hold-ps: Defines the time between the last data sample to the | ||
57 | de-assertion of DEV_CSn. If set to 0 (default), | ||
58 | DEV_OEn and DEV_CSn are de-asserted at the same cycle | ||
59 | (the cycle of the last data sample). | ||
60 | This parameter has no affect on DEV_OEn de-assertion. | ||
61 | DEV_OEn is always de-asserted the next cycle after | ||
62 | last data sampled. Also this parameter has no | ||
63 | affect on <turn-off-ps> parameter. | ||
64 | Set <rd-hold-ps> to a value smaller than <turn-off-ps>. | ||
65 | |||
66 | Write parameters: | ||
67 | |||
68 | - devbus,ale-wr-ps: Defines the time delay from the ALE[0] negation cycle | ||
69 | to the DEV_WEn assertion. | ||
70 | |||
71 | - devbus,wr-low-ps: Defines the time during which DEV_WEn is active. | ||
72 | A[2:0] and Data are kept valid as long as DEV_WEn | ||
73 | is active. This parameter defines the setup time of | ||
74 | address and data to DEV_WEn rise. | ||
75 | |||
76 | - devbus,wr-high-ps: Defines the time during which DEV_WEn is kept | ||
77 | inactive (high) between data beats of a burst write. | ||
78 | DEV_A[2:0] and Data are kept valid (do not toggle) for | ||
79 | <wr-high-ps> - <tick> ps. | ||
80 | This parameter defines the hold time of address and | ||
81 | data after DEV_WEn rise. | ||
82 | |||
83 | - devbus,sync-enable: Synchronous device enable. | ||
84 | 1: True | ||
85 | 0: False | ||
86 | |||
87 | An example for an Armada XP GP board, with a 16 MiB NOR device as child | ||
88 | is showed below. Note that the Device Bus driver is in charge of allocating | ||
89 | the mbus address decoding window for each of its child devices. | ||
90 | The window is created using the chip select specified in the child | ||
91 | device node together with the base address and size specified in the ranges | ||
92 | property. For instance, in the example below the allocated decoding window | ||
93 | will start at base address 0xf0000000, with a size 0x1000000 (16 MiB) | ||
94 | for chip select 0 (a.k.a DEV_BOOTCS). | ||
95 | |||
96 | This address window handling is done in this mvebu-devbus only as a temporary | ||
97 | solution. It will be removed when the support for mbus device tree binding is | ||
98 | added. | ||
99 | |||
100 | The reg property implicitly specifies the chip select as this: | ||
101 | |||
102 | 0x10400: DEV_BOOTCS | ||
103 | 0x10408: DEV_CS0 | ||
104 | 0x10410: DEV_CS1 | ||
105 | 0x10418: DEV_CS2 | ||
106 | 0x10420: DEV_CS3 | ||
107 | |||
108 | Example: | ||
109 | |||
110 | devbus-bootcs@d0010400 { | ||
111 | status = "okay"; | ||
112 | ranges = <0 0xf0000000 0x1000000>; /* @addr 0xf0000000, size 0x1000000 */ | ||
113 | #address-cells = <1>; | ||
114 | #size-cells = <1>; | ||
115 | |||
116 | /* Device Bus parameters are required */ | ||
117 | |||
118 | /* Read parameters */ | ||
119 | devbus,bus-width = <8>; | ||
120 | devbus,turn-off-ps = <60000>; | ||
121 | devbus,badr-skew-ps = <0>; | ||
122 | devbus,acc-first-ps = <124000>; | ||
123 | devbus,acc-next-ps = <248000>; | ||
124 | devbus,rd-setup-ps = <0>; | ||
125 | devbus,rd-hold-ps = <0>; | ||
126 | |||
127 | /* Write parameters */ | ||
128 | devbus,sync-enable = <0>; | ||
129 | devbus,wr-high-ps = <60000>; | ||
130 | devbus,wr-low-ps = <60000>; | ||
131 | devbus,ale-wr-ps = <60000>; | ||
132 | |||
133 | flash@0 { | ||
134 | compatible = "cfi-flash"; | ||
135 | |||
136 | /* 16 MiB */ | ||
137 | reg = <0 0x1000000>; | ||
138 | bank-width = <2>; | ||
139 | #address-cells = <1>; | ||
140 | #size-cells = <1>; | ||
141 | |||
142 | /* | ||
143 | * We split the 16 MiB in two partitions, | ||
144 | * just as an example. | ||
145 | */ | ||
146 | partition@0 { | ||
147 | label = "First"; | ||
148 | reg = <0 0x800000>; | ||
149 | }; | ||
150 | |||
151 | partition@800000 { | ||
152 | label = "Second"; | ||
153 | reg = <0x800000 0x800000>; | ||
154 | }; | ||
155 | }; | ||
156 | }; | ||
diff --git a/Documentation/devicetree/bindings/metag/meta.txt b/Documentation/devicetree/bindings/metag/meta.txt new file mode 100644 index 000000000000..f4457f57ab08 --- /dev/null +++ b/Documentation/devicetree/bindings/metag/meta.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | * Meta Processor Binding | ||
2 | |||
3 | This binding specifies what properties must be available in the device tree | ||
4 | representation of a Meta Processor Core, which is the root node in the tree. | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible: Specifies the compatibility list for the Meta processor. | ||
9 | The type shall be <string> and the value shall include "img,meta". | ||
10 | |||
11 | Optional properties: | ||
12 | |||
13 | - clocks: Clock consumer specifiers as described in | ||
14 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
15 | |||
16 | - clock-names: Clock consumer names as described in | ||
17 | Documentation/devicetree/bindings/clock/clock-bindings.txt. | ||
18 | |||
19 | Clocks are identified by name. Valid clocks are: | ||
20 | |||
21 | - "core": The Meta core clock from which the Meta timers are derived. | ||
22 | |||
23 | * Examples | ||
24 | |||
25 | / { | ||
26 | compatible = "toumaz,tz1090", "img,meta"; | ||
27 | |||
28 | clocks = <&meta_core_clk>; | ||
29 | clock-names = "core"; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/ab8500.txt b/Documentation/devicetree/bindings/mfd/ab8500.txt index c3a14e0ad0ad..cd9e90c5d171 100644 --- a/Documentation/devicetree/bindings/mfd/ab8500.txt +++ b/Documentation/devicetree/bindings/mfd/ab8500.txt | |||
@@ -120,7 +120,7 @@ ab8500 { | |||
120 | "USB_LINK_STATUS", | 120 | "USB_LINK_STATUS", |
121 | "USB_ADP_PROBE_PLUG", | 121 | "USB_ADP_PROBE_PLUG", |
122 | "USB_ADP_PROBE_UNPLUG"; | 122 | "USB_ADP_PROBE_UNPLUG"; |
123 | vddulpivio18-supply = <&ab8500_ldo_initcore_reg>; | 123 | vddulpivio18-supply = <&ab8500_ldo_intcore_reg>; |
124 | v-ape-supply = <&db8500_vape_reg>; | 124 | v-ape-supply = <&db8500_vape_reg>; |
125 | musb_1v8-supply = <&db8500_vsmps2_reg>; | 125 | musb_1v8-supply = <&db8500_vsmps2_reg>; |
126 | }; | 126 | }; |
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt new file mode 100644 index 000000000000..0e295c9d8937 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/arizona.txt | |||
@@ -0,0 +1,62 @@ | |||
1 | Wolfson Arizona class audio SoCs | ||
2 | |||
3 | These devices are audio SoCs with extensive digital capabilites and a range | ||
4 | of analogue I/O. | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : one of the following chip-specific strings: | ||
9 | "wlf,wm5102" | ||
10 | "wlf,wm5110" | ||
11 | - reg : I2C slave address when connected using I2C, chip select number when | ||
12 | using SPI. | ||
13 | |||
14 | - interrupts : The interrupt line the /IRQ signal for the device is | ||
15 | connected to. | ||
16 | - interrupt-controller : Arizona class devices contain interrupt controllers | ||
17 | and may provide interrupt services to other devices. | ||
18 | - interrupt-parent : The parent interrupt controller. | ||
19 | - #interrupt-cells: the number of cells to describe an IRQ, this should be 2. | ||
20 | The first cell is the IRQ number. | ||
21 | The second cell is the flags, encoded as the trigger masks from | ||
22 | Documentation/devicetree/bindings/interrupts.txt | ||
23 | |||
24 | - gpio-controller : Indicates this device is a GPIO controller. | ||
25 | - #gpio-cells : Must be 2. The first cell is the pin number and the | ||
26 | second cell is used to specify optional parameters (currently unused). | ||
27 | |||
28 | - AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply, | ||
29 | SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered | ||
30 | in Documentation/devicetree/bindings/regulator/regulator.txt | ||
31 | |||
32 | Optional properties: | ||
33 | |||
34 | - wlf,reset : GPIO specifier for the GPIO controlling /RESET | ||
35 | - wlf,ldoena : GPIO specifier for the GPIO controlling LDOENA | ||
36 | |||
37 | - wlf,gpio-defaults : A list of GPIO configuration register values. If | ||
38 | absent, no configuration of these registers is performed. If any | ||
39 | entry has a value that is out of range for a 16 bit register then | ||
40 | the chip default will be used. If present exactly five values must | ||
41 | be specified. | ||
42 | |||
43 | Example: | ||
44 | |||
45 | codec: wm5102@1a { | ||
46 | compatible = "wlf,wm5102"; | ||
47 | reg = <0x1a>; | ||
48 | interrupts = <347>; | ||
49 | #interrupt-cells = <2>; | ||
50 | interrupt-parent = <&gic>; | ||
51 | |||
52 | gpio-controller; | ||
53 | #gpio-cells = <2>; | ||
54 | |||
55 | wlf,gpio-defaults = < | ||
56 | 0x00000000, /* AIF1TXLRCLK */ | ||
57 | 0xffffffff, | ||
58 | 0xffffffff, | ||
59 | 0xffffffff, | ||
60 | 0xffffffff, | ||
61 | >; | ||
62 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt new file mode 100644 index 000000000000..11921cc417bf --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/max77693.txt | |||
@@ -0,0 +1,55 @@ | |||
1 | Maxim MAX77693 multi-function device | ||
2 | |||
3 | MAX77693 is a Multifunction device with the following submodules: | ||
4 | - PMIC, | ||
5 | - CHARGER, | ||
6 | - LED, | ||
7 | - MUIC, | ||
8 | - HAPTIC | ||
9 | |||
10 | It is interfaced to host controller using i2c. | ||
11 | This document describes the bindings for the mfd device. | ||
12 | |||
13 | Required properties: | ||
14 | - compatible : Must be "maxim,max77693". | ||
15 | - reg : Specifies the i2c slave address of PMIC block. | ||
16 | - interrupts : This i2c device has an IRQ line connected to the main SoC. | ||
17 | - interrupt-parent : The parent interrupt controller. | ||
18 | |||
19 | Optional properties: | ||
20 | - regulators : The regulators of max77693 have to be instantiated under subnod | ||
21 | named "regulators" using the following format. | ||
22 | |||
23 | regulators { | ||
24 | regualtor-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER | ||
25 | standard regulator constratints[*]. | ||
26 | }; | ||
27 | |||
28 | [*] refer Documentation/devicetree/bindings/regulator/regulator.txt | ||
29 | |||
30 | Example: | ||
31 | max77693@66 { | ||
32 | compatible = "maxim,max77693"; | ||
33 | reg = <0x66>; | ||
34 | interrupt-parent = <&gpx1>; | ||
35 | interrupts = <5 2>; | ||
36 | |||
37 | regulators { | ||
38 | esafeout@1 { | ||
39 | regulator-compatible = "ESAFEOUT1"; | ||
40 | regulator-name = "ESAFEOUT1"; | ||
41 | regulator-boot-on; | ||
42 | }; | ||
43 | esafeout@2 { | ||
44 | regulator-compatible = "ESAFEOUT2"; | ||
45 | regulator-name = "ESAFEOUT2"; | ||
46 | }; | ||
47 | charger@0 { | ||
48 | regulator-compatible = "CHARGER"; | ||
49 | regulator-name = "CHARGER"; | ||
50 | regulator-min-microamp = <60000>; | ||
51 | regulator-max-microamp = <2580000>; | ||
52 | regulator-boot-on; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt b/Documentation/devicetree/bindings/mfd/palmas.txt new file mode 100644 index 000000000000..892537d1a48f --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/palmas.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | * palmas device tree bindings | ||
2 | |||
3 | The TI palmas family current members :- | ||
4 | twl6035 (palmas) | ||
5 | twl6037 (palmas) | ||
6 | tps65913 (palmas) | ||
7 | tps65914 (palmas) | ||
8 | |||
9 | Required properties: | ||
10 | - compatible : Should be from the list | ||
11 | ti,twl6035 | ||
12 | ti,twl6036 | ||
13 | ti,twl6037 | ||
14 | ti,tps65913 | ||
15 | ti,tps65914 | ||
16 | ti,tps80036 | ||
17 | and also the generic series names | ||
18 | ti,palmas | ||
19 | - interrupt-controller : palmas has its own internal IRQs | ||
20 | - #interrupt-cells : should be set to 2 for IRQ number and flags | ||
21 | The first cell is the IRQ number. | ||
22 | The second cell is the flags, encoded as the trigger masks from | ||
23 | Documentation/devicetree/bindings/interrupts.txt | ||
24 | - interrupt-parent : The parent interrupt controller. | ||
25 | |||
26 | Optional properties: | ||
27 | ti,mux-padX : set the pad register X (1-2) to the correct muxing for the | ||
28 | hardware, if not set will use muxing in OTP. | ||
29 | |||
30 | Example: | ||
31 | |||
32 | palmas { | ||
33 | compatible = "ti,twl6035", "ti,palmas"; | ||
34 | reg = <0x48> | ||
35 | interrupt-parent = <&intc>; | ||
36 | interrupt-controller; | ||
37 | #interrupt-cells = <2>; | ||
38 | |||
39 | ti,mux-pad1 = <0>; | ||
40 | ti,mux-pad2 = <0>; | ||
41 | |||
42 | #address-cells = <1>; | ||
43 | #size-cells = <0>; | ||
44 | |||
45 | pmic { | ||
46 | compatible = "ti,twl6035-pmic", "ti,palmas-pmic"; | ||
47 | .... | ||
48 | }; | ||
49 | } | ||
diff --git a/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt b/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt new file mode 100644 index 000000000000..094ae010f2fb --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | Broadcom BCM281xx SDHCI | ||
2 | |||
3 | This file documents differences between the core properties in mmc.txt | ||
4 | and the properties present in the bcm281xx SDHCI | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Should be "bcm,kona-sdhci" | ||
8 | |||
9 | Example: | ||
10 | |||
11 | sdio2: sdio@0x3f1a0000 { | ||
12 | compatible = "bcm,kona-sdhci"; | ||
13 | reg = <0x3f1a0000 0x10000>; | ||
14 | interrupts = <0x0 74 0x4>; | ||
15 | }; | ||
16 | |||
diff --git a/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt index 726fd2122a13..1180d7814af8 100644 --- a/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt +++ b/Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt | |||
@@ -51,7 +51,7 @@ Optional properties: | |||
51 | * card-detect-delay: Delay in milli-seconds before detecting card after card | 51 | * card-detect-delay: Delay in milli-seconds before detecting card after card |
52 | insert event. The default value is 0. | 52 | insert event. The default value is 0. |
53 | 53 | ||
54 | * supports-highspeed: Enables support for high speed cards (upto 50MHz) | 54 | * supports-highspeed: Enables support for high speed cards (up to 50MHz) |
55 | 55 | ||
56 | * broken-cd: as documented in mmc core bindings. | 56 | * broken-cd: as documented in mmc core bindings. |
57 | 57 | ||
diff --git a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt index 6a983c1d87cd..df338cb5059c 100644 --- a/Documentation/devicetree/bindings/mtd/gpmc-nand.txt +++ b/Documentation/devicetree/bindings/mtd/gpmc-nand.txt | |||
@@ -29,6 +29,13 @@ Optional properties: | |||
29 | "bch4" 4-bit BCH ecc code | 29 | "bch4" 4-bit BCH ecc code |
30 | "bch8" 8-bit BCH ecc code | 30 | "bch8" 8-bit BCH ecc code |
31 | 31 | ||
32 | - ti,nand-xfer-type: A string setting the data transfer type. One of: | ||
33 | |||
34 | "prefetch-polled" Prefetch polled mode (default) | ||
35 | "polled" Polled mode, without prefetch | ||
36 | "prefetch-dma" Prefetch enabled sDMA mode | ||
37 | "prefetch-irq" Prefetch enabled irq mode | ||
38 | |||
32 | - elm_id: Specifies elm device node. This is required to support BCH | 39 | - elm_id: Specifies elm device node. This is required to support BCH |
33 | error correction using ELM module. | 40 | error correction using ELM module. |
34 | 41 | ||
@@ -55,6 +62,7 @@ Example for an AM33xx board: | |||
55 | reg = <0 0 0>; /* CS0, offset 0 */ | 62 | reg = <0 0 0>; /* CS0, offset 0 */ |
56 | nand-bus-width = <16>; | 63 | nand-bus-width = <16>; |
57 | ti,nand-ecc-opt = "bch8"; | 64 | ti,nand-ecc-opt = "bch8"; |
65 | ti,nand-xfer-type = "polled"; | ||
58 | 66 | ||
59 | gpmc,sync-clk-ps = <0>; | 67 | gpmc,sync-clk-ps = <0>; |
60 | gpmc,cs-on-ns = <0>; | 68 | gpmc,cs-on-ns = <0>; |
diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt b/Documentation/devicetree/bindings/pci/designware-pcie.txt new file mode 100644 index 000000000000..e2371f5cdebe --- /dev/null +++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt | |||
@@ -0,0 +1,73 @@ | |||
1 | * Synopsis Designware PCIe interface | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should contain "snps,dw-pcie" to identify the | ||
5 | core, plus an identifier for the specific instance, such | ||
6 | as "samsung,exynos5440-pcie". | ||
7 | - reg: base addresses and lengths of the pcie controller, | ||
8 | the phy controller, additional register for the phy controller. | ||
9 | - interrupts: interrupt values for level interrupt, | ||
10 | pulse interrupt, special interrupt. | ||
11 | - clocks: from common clock binding: handle to pci clock. | ||
12 | - clock-names: from common clock binding: should be "pcie" and "pcie_bus". | ||
13 | - #address-cells: set to <3> | ||
14 | - #size-cells: set to <2> | ||
15 | - device_type: set to "pci" | ||
16 | - ranges: ranges for the PCI memory and I/O regions | ||
17 | - #interrupt-cells: set to <1> | ||
18 | - interrupt-map-mask and interrupt-map: standard PCI properties | ||
19 | to define the mapping of the PCIe interface to interrupt | ||
20 | numbers. | ||
21 | - reset-gpio: gpio pin number of power good signal | ||
22 | |||
23 | Example: | ||
24 | |||
25 | SoC specific DT Entry: | ||
26 | |||
27 | pcie@290000 { | ||
28 | compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; | ||
29 | reg = <0x290000 0x1000 | ||
30 | 0x270000 0x1000 | ||
31 | 0x271000 0x40>; | ||
32 | interrupts = <0 20 0>, <0 21 0>, <0 22 0>; | ||
33 | clocks = <&clock 28>, <&clock 27>; | ||
34 | clock-names = "pcie", "pcie_bus"; | ||
35 | #address-cells = <3>; | ||
36 | #size-cells = <2>; | ||
37 | device_type = "pci"; | ||
38 | ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */ | ||
39 | 0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */ | ||
40 | 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */ | ||
41 | #interrupt-cells = <1>; | ||
42 | interrupt-map-mask = <0 0 0 0>; | ||
43 | interrupt-map = <0x0 0 &gic 53>; | ||
44 | }; | ||
45 | |||
46 | pcie@2a0000 { | ||
47 | compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; | ||
48 | reg = <0x2a0000 0x1000 | ||
49 | 0x272000 0x1000 | ||
50 | 0x271040 0x40>; | ||
51 | interrupts = <0 23 0>, <0 24 0>, <0 25 0>; | ||
52 | clocks = <&clock 29>, <&clock 27>; | ||
53 | clock-names = "pcie", "pcie_bus"; | ||
54 | #address-cells = <3>; | ||
55 | #size-cells = <2>; | ||
56 | device_type = "pci"; | ||
57 | ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */ | ||
58 | 0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */ | ||
59 | 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */ | ||
60 | #interrupt-cells = <1>; | ||
61 | interrupt-map-mask = <0 0 0 0>; | ||
62 | interrupt-map = <0x0 0 &gic 56>; | ||
63 | }; | ||
64 | |||
65 | Board specific DT Entry: | ||
66 | |||
67 | pcie@290000 { | ||
68 | reset-gpio = <&pin_ctrl 5 0>; | ||
69 | }; | ||
70 | |||
71 | pcie@2a0000 { | ||
72 | reset-gpio = <&pin_ctrl 22 0>; | ||
73 | }; | ||
diff --git a/Documentation/devicetree/bindings/pci/mvebu-pci.txt b/Documentation/devicetree/bindings/pci/mvebu-pci.txt new file mode 100644 index 000000000000..f8d405897a94 --- /dev/null +++ b/Documentation/devicetree/bindings/pci/mvebu-pci.txt | |||
@@ -0,0 +1,221 @@ | |||
1 | * Marvell EBU PCIe interfaces | ||
2 | |||
3 | Mandatory properties: | ||
4 | - compatible: one of the following values: | ||
5 | marvell,armada-370-pcie | ||
6 | marvell,armada-xp-pcie | ||
7 | marvell,kirkwood-pcie | ||
8 | - #address-cells, set to <3> | ||
9 | - #size-cells, set to <2> | ||
10 | - #interrupt-cells, set to <1> | ||
11 | - bus-range: PCI bus numbers covered | ||
12 | - device_type, set to "pci" | ||
13 | - ranges: ranges for the PCI memory and I/O regions, as well as the | ||
14 | MMIO registers to control the PCIe interfaces. | ||
15 | |||
16 | In addition, the Device Tree node must have sub-nodes describing each | ||
17 | PCIe interface, having the following mandatory properties: | ||
18 | - reg: used only for interrupt mapping, so only the first four bytes | ||
19 | are used to refer to the correct bus number and device number. | ||
20 | - assigned-addresses: reference to the MMIO registers used to control | ||
21 | this PCIe interface. | ||
22 | - clocks: the clock associated to this PCIe interface | ||
23 | - marvell,pcie-port: the physical PCIe port number | ||
24 | - status: either "disabled" or "okay" | ||
25 | - device_type, set to "pci" | ||
26 | - #address-cells, set to <3> | ||
27 | - #size-cells, set to <2> | ||
28 | - #interrupt-cells, set to <1> | ||
29 | - ranges, empty property. | ||
30 | - interrupt-map-mask and interrupt-map, standard PCI properties to | ||
31 | define the mapping of the PCIe interface to interrupt numbers. | ||
32 | |||
33 | and the following optional properties: | ||
34 | - marvell,pcie-lane: the physical PCIe lane number, for ports having | ||
35 | multiple lanes. If this property is not found, we assume that the | ||
36 | value is 0. | ||
37 | |||
38 | Example: | ||
39 | |||
40 | pcie-controller { | ||
41 | compatible = "marvell,armada-xp-pcie"; | ||
42 | status = "disabled"; | ||
43 | device_type = "pci"; | ||
44 | |||
45 | #address-cells = <3>; | ||
46 | #size-cells = <2>; | ||
47 | |||
48 | bus-range = <0x00 0xff>; | ||
49 | |||
50 | ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */ | ||
51 | 0x82000000 0 0xd0042000 0xd0042000 0 0x00002000 /* Port 2.0 registers */ | ||
52 | 0x82000000 0 0xd0044000 0xd0044000 0 0x00002000 /* Port 0.1 registers */ | ||
53 | 0x82000000 0 0xd0048000 0xd0048000 0 0x00002000 /* Port 0.2 registers */ | ||
54 | 0x82000000 0 0xd004c000 0xd004c000 0 0x00002000 /* Port 0.3 registers */ | ||
55 | 0x82000000 0 0xd0080000 0xd0080000 0 0x00002000 /* Port 1.0 registers */ | ||
56 | 0x82000000 0 0xd0082000 0xd0082000 0 0x00002000 /* Port 3.0 registers */ | ||
57 | 0x82000000 0 0xd0084000 0xd0084000 0 0x00002000 /* Port 1.1 registers */ | ||
58 | 0x82000000 0 0xd0088000 0xd0088000 0 0x00002000 /* Port 1.2 registers */ | ||
59 | 0x82000000 0 0xd008c000 0xd008c000 0 0x00002000 /* Port 1.3 registers */ | ||
60 | 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */ | ||
61 | 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */ | ||
62 | |||
63 | pcie@1,0 { | ||
64 | device_type = "pci"; | ||
65 | assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>; | ||
66 | reg = <0x0800 0 0 0 0>; | ||
67 | #address-cells = <3>; | ||
68 | #size-cells = <2>; | ||
69 | #interrupt-cells = <1>; | ||
70 | ranges; | ||
71 | interrupt-map-mask = <0 0 0 0>; | ||
72 | interrupt-map = <0 0 0 0 &mpic 58>; | ||
73 | marvell,pcie-port = <0>; | ||
74 | marvell,pcie-lane = <0>; | ||
75 | clocks = <&gateclk 5>; | ||
76 | status = "disabled"; | ||
77 | }; | ||
78 | |||
79 | pcie@2,0 { | ||
80 | device_type = "pci"; | ||
81 | assigned-addresses = <0x82001000 0 0xd0044000 0 0x2000>; | ||
82 | reg = <0x1000 0 0 0 0>; | ||
83 | #address-cells = <3>; | ||
84 | #size-cells = <2>; | ||
85 | #interrupt-cells = <1>; | ||
86 | ranges; | ||
87 | interrupt-map-mask = <0 0 0 0>; | ||
88 | interrupt-map = <0 0 0 0 &mpic 59>; | ||
89 | marvell,pcie-port = <0>; | ||
90 | marvell,pcie-lane = <1>; | ||
91 | clocks = <&gateclk 6>; | ||
92 | status = "disabled"; | ||
93 | }; | ||
94 | |||
95 | pcie@3,0 { | ||
96 | device_type = "pci"; | ||
97 | assigned-addresses = <0x82001800 0 0xd0048000 0 0x2000>; | ||
98 | reg = <0x1800 0 0 0 0>; | ||
99 | #address-cells = <3>; | ||
100 | #size-cells = <2>; | ||
101 | #interrupt-cells = <1>; | ||
102 | ranges; | ||
103 | interrupt-map-mask = <0 0 0 0>; | ||
104 | interrupt-map = <0 0 0 0 &mpic 60>; | ||
105 | marvell,pcie-port = <0>; | ||
106 | marvell,pcie-lane = <2>; | ||
107 | clocks = <&gateclk 7>; | ||
108 | status = "disabled"; | ||
109 | }; | ||
110 | |||
111 | pcie@4,0 { | ||
112 | device_type = "pci"; | ||
113 | assigned-addresses = <0x82002000 0 0xd004c000 0 0x2000>; | ||
114 | reg = <0x2000 0 0 0 0>; | ||
115 | #address-cells = <3>; | ||
116 | #size-cells = <2>; | ||
117 | #interrupt-cells = <1>; | ||
118 | ranges; | ||
119 | interrupt-map-mask = <0 0 0 0>; | ||
120 | interrupt-map = <0 0 0 0 &mpic 61>; | ||
121 | marvell,pcie-port = <0>; | ||
122 | marvell,pcie-lane = <3>; | ||
123 | clocks = <&gateclk 8>; | ||
124 | status = "disabled"; | ||
125 | }; | ||
126 | |||
127 | pcie@5,0 { | ||
128 | device_type = "pci"; | ||
129 | assigned-addresses = <0x82002800 0 0xd0080000 0 0x2000>; | ||
130 | reg = <0x2800 0 0 0 0>; | ||
131 | #address-cells = <3>; | ||
132 | #size-cells = <2>; | ||
133 | #interrupt-cells = <1>; | ||
134 | ranges; | ||
135 | interrupt-map-mask = <0 0 0 0>; | ||
136 | interrupt-map = <0 0 0 0 &mpic 62>; | ||
137 | marvell,pcie-port = <1>; | ||
138 | marvell,pcie-lane = <0>; | ||
139 | clocks = <&gateclk 9>; | ||
140 | status = "disabled"; | ||
141 | }; | ||
142 | |||
143 | pcie@6,0 { | ||
144 | device_type = "pci"; | ||
145 | assigned-addresses = <0x82003000 0 0xd0084000 0 0x2000>; | ||
146 | reg = <0x3000 0 0 0 0>; | ||
147 | #address-cells = <3>; | ||
148 | #size-cells = <2>; | ||
149 | #interrupt-cells = <1>; | ||
150 | ranges; | ||
151 | interrupt-map-mask = <0 0 0 0>; | ||
152 | interrupt-map = <0 0 0 0 &mpic 63>; | ||
153 | marvell,pcie-port = <1>; | ||
154 | marvell,pcie-lane = <1>; | ||
155 | clocks = <&gateclk 10>; | ||
156 | status = "disabled"; | ||
157 | }; | ||
158 | |||
159 | pcie@7,0 { | ||
160 | device_type = "pci"; | ||
161 | assigned-addresses = <0x82003800 0 0xd0088000 0 0x2000>; | ||
162 | reg = <0x3800 0 0 0 0>; | ||
163 | #address-cells = <3>; | ||
164 | #size-cells = <2>; | ||
165 | #interrupt-cells = <1>; | ||
166 | ranges; | ||
167 | interrupt-map-mask = <0 0 0 0>; | ||
168 | interrupt-map = <0 0 0 0 &mpic 64>; | ||
169 | marvell,pcie-port = <1>; | ||
170 | marvell,pcie-lane = <2>; | ||
171 | clocks = <&gateclk 11>; | ||
172 | status = "disabled"; | ||
173 | }; | ||
174 | |||
175 | pcie@8,0 { | ||
176 | device_type = "pci"; | ||
177 | assigned-addresses = <0x82004000 0 0xd008c000 0 0x2000>; | ||
178 | reg = <0x4000 0 0 0 0>; | ||
179 | #address-cells = <3>; | ||
180 | #size-cells = <2>; | ||
181 | #interrupt-cells = <1>; | ||
182 | ranges; | ||
183 | interrupt-map-mask = <0 0 0 0>; | ||
184 | interrupt-map = <0 0 0 0 &mpic 65>; | ||
185 | marvell,pcie-port = <1>; | ||
186 | marvell,pcie-lane = <3>; | ||
187 | clocks = <&gateclk 12>; | ||
188 | status = "disabled"; | ||
189 | }; | ||
190 | pcie@9,0 { | ||
191 | device_type = "pci"; | ||
192 | assigned-addresses = <0x82004800 0 0xd0042000 0 0x2000>; | ||
193 | reg = <0x4800 0 0 0 0>; | ||
194 | #address-cells = <3>; | ||
195 | #size-cells = <2>; | ||
196 | #interrupt-cells = <1>; | ||
197 | ranges; | ||
198 | interrupt-map-mask = <0 0 0 0>; | ||
199 | interrupt-map = <0 0 0 0 &mpic 99>; | ||
200 | marvell,pcie-port = <2>; | ||
201 | marvell,pcie-lane = <0>; | ||
202 | clocks = <&gateclk 26>; | ||
203 | status = "disabled"; | ||
204 | }; | ||
205 | |||
206 | pcie@10,0 { | ||
207 | device_type = "pci"; | ||
208 | assigned-addresses = <0x82005000 0 0xd0082000 0 0x2000>; | ||
209 | reg = <0x5000 0 0 0 0>; | ||
210 | #address-cells = <3>; | ||
211 | #size-cells = <2>; | ||
212 | #interrupt-cells = <1>; | ||
213 | ranges; | ||
214 | interrupt-map-mask = <0 0 0 0>; | ||
215 | interrupt-map = <0 0 0 0 &mpic 103>; | ||
216 | marvell,pcie-port = <3>; | ||
217 | marvell,pcie-lane = <0>; | ||
218 | clocks = <&gateclk 27>; | ||
219 | status = "disabled"; | ||
220 | }; | ||
221 | }; | ||
diff --git a/Documentation/devicetree/bindings/pci/pci.txt b/Documentation/devicetree/bindings/pci/pci.txt new file mode 100644 index 000000000000..41aeed38926d --- /dev/null +++ b/Documentation/devicetree/bindings/pci/pci.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | PCI bus bridges have standardized Device Tree bindings: | ||
2 | |||
3 | PCI Bus Binding to: IEEE Std 1275-1994 | ||
4 | http://www.openfirmware.org/ofwg/bindings/pci/pci2_1.pdf | ||
5 | |||
6 | And for the interrupt mapping part: | ||
7 | |||
8 | Open Firmware Recommended Practice: Interrupt Mapping | ||
9 | http://www.openfirmware.org/1275/practice/imap/imap0_9d.pdf | ||
diff --git a/Documentation/devicetree/bindings/pci/v3-v360epc-pci.txt b/Documentation/devicetree/bindings/pci/v3-v360epc-pci.txt new file mode 100644 index 000000000000..30b364e504ba --- /dev/null +++ b/Documentation/devicetree/bindings/pci/v3-v360epc-pci.txt | |||
@@ -0,0 +1,15 @@ | |||
1 | V3 Semiconductor V360 EPC PCI bridge | ||
2 | |||
3 | This bridge is found in the ARM Integrator/AP (Application Platform) | ||
4 | |||
5 | Integrator-specific notes: | ||
6 | |||
7 | - syscon: should contain a link to the syscon device node (since | ||
8 | on the Integrator, some registers in the syscon are required to | ||
9 | operate the V3). | ||
10 | |||
11 | V360 EPC specific notes: | ||
12 | |||
13 | - reg: should contain the base address of the V3 adapter. | ||
14 | - interrupts: should contain a reference to the V3 error interrupt | ||
15 | as routed on the system. | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt index bcfdab5d442e..3a7caf7a744a 100644 --- a/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt | |||
@@ -58,7 +58,7 @@ Some requirements for using fsl,imx-pinctrl binding: | |||
58 | 58 | ||
59 | Examples: | 59 | Examples: |
60 | usdhc@0219c000 { /* uSDHC4 */ | 60 | usdhc@0219c000 { /* uSDHC4 */ |
61 | fsl,card-wired; | 61 | non-removable; |
62 | vmmc-supply = <®_3p3v>; | 62 | vmmc-supply = <®_3p3v>; |
63 | status = "okay"; | 63 | status = "okay"; |
64 | pinctrl-names = "default"; | 64 | pinctrl-names = "default"; |
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt new file mode 100644 index 000000000000..ddcdeb697c29 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,vf610-pinctrl.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | Freescale Vybrid VF610 IOMUX Controller | ||
2 | |||
3 | Please refer to fsl,imx-pinctrl.txt in this directory for common binding part | ||
4 | and usage. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: "fsl,vf610-iomuxc" | ||
8 | - fsl,pins: two integers array, represents a group of pins mux and config | ||
9 | setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is | ||
10 | a pin working on a specific function, CONFIG is the pad setting value | ||
11 | such as pull-up, speed, ode for this pin. Please refer to Vybrid VF610 | ||
12 | datasheet for the valid pad config settings. | ||
13 | |||
14 | CONFIG bits definition: | ||
15 | PAD_CTL_SPEED_LOW (1 << 12) | ||
16 | PAD_CTL_SPEED_MED (2 << 12) | ||
17 | PAD_CTL_SPEED_HIGH (3 << 12) | ||
18 | PAD_CTL_SRE_FAST (1 << 11) | ||
19 | PAD_CTL_SRE_SLOW (0 << 11) | ||
20 | PAD_CTL_ODE (1 << 10) | ||
21 | PAD_CTL_HYS (1 << 9) | ||
22 | PAD_CTL_DSE_DISABLE (0 << 6) | ||
23 | PAD_CTL_DSE_150ohm (1 << 6) | ||
24 | PAD_CTL_DSE_75ohm (2 << 6) | ||
25 | PAD_CTL_DSE_50ohm (3 << 6) | ||
26 | PAD_CTL_DSE_37ohm (4 << 6) | ||
27 | PAD_CTL_DSE_30ohm (5 << 6) | ||
28 | PAD_CTL_DSE_25ohm (6 << 6) | ||
29 | PAD_CTL_DSE_20ohm (7 << 6) | ||
30 | PAD_CTL_PUS_100K_DOWN (0 << 4) | ||
31 | PAD_CTL_PUS_47K_UP (1 << 4) | ||
32 | PAD_CTL_PUS_100K_UP (2 << 4) | ||
33 | PAD_CTL_PUS_22K_UP (3 << 4) | ||
34 | PAD_CTL_PKE (1 << 3) | ||
35 | PAD_CTL_PUE (1 << 2) | ||
36 | PAD_CTL_OBE_ENABLE (1 << 1) | ||
37 | PAD_CTL_IBE_ENABLE (1 << 0) | ||
38 | PAD_CTL_OBE_IBE_ENABLE (3 << 0) | ||
39 | |||
40 | Please refer to vf610-pinfunc.h in device tree source folder | ||
41 | for all available PIN_FUNC_ID for Vybrid VF610. | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt new file mode 100644 index 000000000000..a186181c402b --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt | |||
@@ -0,0 +1,127 @@ | |||
1 | ImgTec TZ1090 PDC pin controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "img,tz1090-pdc-pinctrl" | ||
5 | - reg: Should contain the register physical address and length of the | ||
6 | SOC_GPIO_CONTROL registers in the PDC register region. | ||
7 | |||
8 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
9 | common pinctrl bindings used by client devices, including the meaning of the | ||
10 | phrase "pin configuration node". | ||
11 | |||
12 | TZ1090-PDC's pin configuration nodes act as a container for an abitrary number | ||
13 | of subnodes. Each of these subnodes represents some desired configuration for a | ||
14 | pin, a group, or a list of pins or groups. This configuration can include the | ||
15 | mux function to select on those pin(s)/group(s), and various pin configuration | ||
16 | parameters, such as pull-up, drive strength, etc. | ||
17 | |||
18 | The name of each subnode is not important; all subnodes should be enumerated | ||
19 | and processed purely based on their content. | ||
20 | |||
21 | Each subnode only affects those parameters that are explicitly listed. In | ||
22 | other words, a subnode that lists a mux function but no pin configuration | ||
23 | parameters implies no information about any pin configuration parameters. | ||
24 | Similarly, a pin subnode that describes a pullup parameter implies no | ||
25 | information about e.g. the mux function. For this reason, even seemingly boolean | ||
26 | values are actually tristates in this binding: unspecified, off, or on. | ||
27 | Unspecified is represented as an absent property, and off/on are represented as | ||
28 | integer values 0 and 1. | ||
29 | |||
30 | Required subnode-properties: | ||
31 | - tz1090,pins : An array of strings. Each string contains the name of a pin or | ||
32 | group. Valid values for these names are listed below. | ||
33 | |||
34 | Optional subnode-properties: | ||
35 | - tz1090,function: A string containing the name of the function to mux to the | ||
36 | pin or group. Valid values for function names are listed below, including | ||
37 | which pingroups can be muxed to them. | ||
38 | - supported generic pinconfig properties (for further details see | ||
39 | Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt): | ||
40 | - bias-disable | ||
41 | - bias-high-impedance | ||
42 | - bias-bus-hold | ||
43 | - bias-pull-up | ||
44 | - bias-pull-down | ||
45 | - input-schmitt-enable | ||
46 | - input-schmitt-disable | ||
47 | - drive-strength: Integer, control drive strength of pins in mA. | ||
48 | 2: 2mA | ||
49 | 4: 4mA | ||
50 | 8: 8mA | ||
51 | 12: 12mA | ||
52 | - low-power-enable: Flag, power-on-start weak pull-down for invalid power. | ||
53 | - low-power-disable: Flag, power-on-start weak pull-down disabled. | ||
54 | |||
55 | Note that many of these properties are only valid for certain specific pins | ||
56 | or groups. See the TZ1090 TRM for complete details regarding which groups | ||
57 | support which functionality. The Linux pinctrl driver may also be a useful | ||
58 | reference. | ||
59 | |||
60 | Valid values for pin and group names are: | ||
61 | |||
62 | pins: | ||
63 | |||
64 | These all support bias-high-impediance, bias-pull-up, bias-pull-down, and | ||
65 | bias-bus-hold (which can also be provided to any of the groups below to set | ||
66 | it for all gpio pins in that group). | ||
67 | |||
68 | gpio0, gpio1, sys_wake0, sys_wake1, sys_wake2, ir_data, ext_power. | ||
69 | |||
70 | mux groups: | ||
71 | |||
72 | These all support function. | ||
73 | |||
74 | gpio0 | ||
75 | pins: gpio0. | ||
76 | function: ir_mod_stable_out. | ||
77 | gpio1 | ||
78 | pins: gpio1. | ||
79 | function: ir_mod_power_out. | ||
80 | |||
81 | drive groups: | ||
82 | |||
83 | These support input-schmitt-enable, input-schmitt-disable, | ||
84 | drive-strength, low-power-enable, and low-power-disable. | ||
85 | |||
86 | pdc | ||
87 | pins: gpio0, gpio1, sys_wake0, sys_wake1, sys_wake2, ir_data, | ||
88 | ext_power. | ||
89 | |||
90 | Example: | ||
91 | |||
92 | pinctrl_pdc: pinctrl@02006500 { | ||
93 | #gpio-range-cells = <3>; | ||
94 | compatible = "img,tz1090-pdc-pinctrl"; | ||
95 | reg = <0x02006500 0x100>; | ||
96 | }; | ||
97 | |||
98 | Example board file extracts: | ||
99 | |||
100 | &pinctrl_pdc { | ||
101 | pinctrl-names = "default"; | ||
102 | pinctrl-0 = <&syswake_default>; | ||
103 | |||
104 | syswake_default: syswakes { | ||
105 | syswake_cfg { | ||
106 | tz1090,pins = "sys_wake0", | ||
107 | "sys_wake1", | ||
108 | "sys_wake2"; | ||
109 | pull-up; | ||
110 | }; | ||
111 | }; | ||
112 | irmod_default: irmod { | ||
113 | gpio0_cfg { | ||
114 | tz1090,pins = "gpio0"; | ||
115 | tz1090,function = "ir_mod_stable_out"; | ||
116 | }; | ||
117 | gpio1_cfg { | ||
118 | tz1090,pins = "gpio1"; | ||
119 | tz1090,function = "ir_mod_power_out"; | ||
120 | }; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | ir: ir@02006200 { | ||
125 | pinctrl-names = "default"; | ||
126 | pinctrl-0 = <&irmod_default>; | ||
127 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt new file mode 100644 index 000000000000..4b27c99f7f9d --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt | |||
@@ -0,0 +1,227 @@ | |||
1 | ImgTec TZ1090 pin controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "img,tz1090-pinctrl" | ||
5 | - reg: Should contain the register physical address and length of the pad | ||
6 | configuration registers (CR_PADS_* and CR_IF_CTL0). | ||
7 | |||
8 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
9 | common pinctrl bindings used by client devices, including the meaning of the | ||
10 | phrase "pin configuration node". | ||
11 | |||
12 | TZ1090's pin configuration nodes act as a container for an abitrary number of | ||
13 | subnodes. Each of these subnodes represents some desired configuration for a | ||
14 | pin, a group, or a list of pins or groups. This configuration can include the | ||
15 | mux function to select on those pin(s)/group(s), and various pin configuration | ||
16 | parameters, such as pull-up, drive strength, etc. | ||
17 | |||
18 | The name of each subnode is not important; all subnodes should be enumerated | ||
19 | and processed purely based on their content. | ||
20 | |||
21 | Each subnode only affects those parameters that are explicitly listed. In | ||
22 | other words, a subnode that lists a mux function but no pin configuration | ||
23 | parameters implies no information about any pin configuration parameters. | ||
24 | Similarly, a pin subnode that describes a pullup parameter implies no | ||
25 | information about e.g. the mux function. For this reason, even seemingly boolean | ||
26 | values are actually tristates in this binding: unspecified, off, or on. | ||
27 | Unspecified is represented as an absent property, and off/on are represented as | ||
28 | integer values 0 and 1. | ||
29 | |||
30 | Required subnode-properties: | ||
31 | - tz1090,pins : An array of strings. Each string contains the name of a pin or | ||
32 | group. Valid values for these names are listed below. | ||
33 | |||
34 | Optional subnode-properties: | ||
35 | - tz1090,function: A string containing the name of the function to mux to the | ||
36 | pin or group. Valid values for function names are listed below, including | ||
37 | which pingroups can be muxed to them. | ||
38 | - supported generic pinconfig properties (for further details see | ||
39 | Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt): | ||
40 | - bias-disable | ||
41 | - bias-high-impedance | ||
42 | - bias-bus-hold | ||
43 | - bias-pull-up | ||
44 | - bias-pull-down | ||
45 | - input-schmitt-enable | ||
46 | - input-schmitt-disable | ||
47 | - drive-strength: Integer, control drive strength of pins in mA. | ||
48 | 2: 2mA | ||
49 | 4: 4mA | ||
50 | 8: 8mA | ||
51 | 12: 12mA | ||
52 | |||
53 | |||
54 | Note that many of these properties are only valid for certain specific pins | ||
55 | or groups. See the TZ1090 TRM for complete details regarding which groups | ||
56 | support which functionality. The Linux pinctrl driver may also be a useful | ||
57 | reference. | ||
58 | |||
59 | Valid values for pin and group names are: | ||
60 | |||
61 | gpio pins: | ||
62 | |||
63 | These all support bias-high-impediance, bias-pull-up, bias-pull-down, and | ||
64 | bias-bus-hold (which can also be provided to any of the groups below to set | ||
65 | it for all pins in that group). | ||
66 | |||
67 | They also all support the some form of muxing. Any pins which are contained | ||
68 | in one of the mux groups (see below) can be muxed only to the functions | ||
69 | supported by the mux group. All other pins can be muxed to the "perip" | ||
70 | function which which enables them with their intended peripheral. | ||
71 | |||
72 | Different pins in the same mux group cannot be muxed to different functions, | ||
73 | however it is possible to mux only a subset of the pins in a mux group to a | ||
74 | particular function and leave the remaining pins unmuxed. This is useful if | ||
75 | the board connects certain pins in a group to other devices to be controlled | ||
76 | by GPIO, and you don't want the usual peripheral to have any control of the | ||
77 | pin. | ||
78 | |||
79 | ant_sel0, ant_sel1, gain0, gain1, gain2, gain3, gain4, gain5, gain6, gain7, | ||
80 | i2s_bclk_out, i2s_din, i2s_dout0, i2s_dout1, i2s_dout2, i2s_lrclk_out, | ||
81 | i2s_mclk, pa_on, pdm_a, pdm_b, pdm_c, pdm_d, pll_on, rx_hp, rx_on, | ||
82 | scb0_sclk, scb0_sdat, scb1_sclk, scb1_sdat, scb2_sclk, scb2_sdat, sdh_cd, | ||
83 | sdh_clk_in, sdh_wp, sdio_clk, sdio_cmd, sdio_d0, sdio_d1, sdio_d2, sdio_d3, | ||
84 | spi0_cs0, spi0_cs1, spi0_cs2, spi0_din, spi0_dout, spi0_mclk, spi1_cs0, | ||
85 | spi1_cs1, spi1_cs2, spi1_din, spi1_dout, spi1_mclk, tft_blank_ls, tft_blue0, | ||
86 | tft_blue1, tft_blue2, tft_blue3, tft_blue4, tft_blue5, tft_blue6, tft_blue7, | ||
87 | tft_green0, tft_green1, tft_green2, tft_green3, tft_green4, tft_green5, | ||
88 | tft_green6, tft_green7, tft_hsync_nr, tft_panelclk, tft_pwrsave, tft_red0, | ||
89 | tft_red1, tft_red2, tft_red3, tft_red4, tft_red5, tft_red6, tft_red7, | ||
90 | tft_vd12acb, tft_vdden_gd, tft_vsync_ns, tx_on, uart0_cts, uart0_rts, | ||
91 | uart0_rxd, uart0_txd, uart1_rxd, uart1_txd. | ||
92 | |||
93 | bias-high-impediance: supported. | ||
94 | bias-pull-up: supported. | ||
95 | bias-pull-down: supported. | ||
96 | bias-bus-hold: supported. | ||
97 | function: perip or those supported by pin's mux group. | ||
98 | |||
99 | other pins: | ||
100 | |||
101 | These other pins are part of various pin groups below, but can't be | ||
102 | controlled as GPIOs. They do however support bias-high-impediance, | ||
103 | bias-pull-up, bias-pull-down, and bias-bus-hold (which can also be provided | ||
104 | to any of the groups below to set it for all pins in that group). | ||
105 | |||
106 | clk_out0, clk_out1, tck, tdi, tdo, tms, trst. | ||
107 | |||
108 | bias-high-impediance: supported. | ||
109 | bias-pull-up: supported. | ||
110 | bias-pull-down: supported. | ||
111 | bias-bus-hold: supported. | ||
112 | |||
113 | mux groups: | ||
114 | |||
115 | These all support function, and some support drive configs. | ||
116 | |||
117 | afe | ||
118 | pins: tx_on, rx_on, pll_on, pa_on, rx_hp, ant_sel0, | ||
119 | ant_sel1, gain0, gain1, gain2, gain3, gain4, | ||
120 | gain5, gain6, gain7. | ||
121 | function: afe, ts_out_0. | ||
122 | input-schmitt-enable: supported. | ||
123 | input-schmitt-disable: supported. | ||
124 | drive-strength: supported. | ||
125 | pdm_d | ||
126 | pins: pdm_d. | ||
127 | function: pdm_dac, usb_vbus. | ||
128 | sdh | ||
129 | pins: sdh_cd, sdh_wp, sdh_clk_in. | ||
130 | function: sdh, sdio. | ||
131 | sdio | ||
132 | pins: sdio_clk, sdio_cmd, sdio_d0, sdio_d1, sdio_d2, | ||
133 | sdio_d3. | ||
134 | function: sdio, sdh. | ||
135 | spi1_cs2 | ||
136 | pins: spi1_cs2. | ||
137 | function: spi1_cs2, usb_vbus. | ||
138 | tft | ||
139 | pins: tft_red0, tft_red1, tft_red2, tft_red3, | ||
140 | tft_red4, tft_red5, tft_red6, tft_red7, | ||
141 | tft_green0, tft_green1, tft_green2, tft_green3, | ||
142 | tft_green4, tft_green5, tft_green6, tft_green7, | ||
143 | tft_blue0, tft_blue1, tft_blue2, tft_blue3, | ||
144 | tft_blue4, tft_blue5, tft_blue6, tft_blue7, | ||
145 | tft_vdden_gd, tft_panelclk, tft_blank_ls, | ||
146 | tft_vsync_ns, tft_hsync_nr, tft_vd12acb, | ||
147 | tft_pwrsave. | ||
148 | function: tft, ext_dac, not_iqadc_stb, iqdac_stb, ts_out_1, | ||
149 | lcd_trace, phy_ringosc. | ||
150 | input-schmitt-enable: supported. | ||
151 | input-schmitt-disable: supported. | ||
152 | drive-strength: supported. | ||
153 | |||
154 | drive groups: | ||
155 | |||
156 | These all support input-schmitt-enable, input-schmitt-disable, | ||
157 | and drive-strength. | ||
158 | |||
159 | jtag | ||
160 | pins: tck, trst, tdi, tdo, tms. | ||
161 | scb1 | ||
162 | pins: scb1_sdat, scb1_sclk. | ||
163 | scb2 | ||
164 | pins: scb2_sdat, scb2_sclk. | ||
165 | spi0 | ||
166 | pins: spi0_mclk, spi0_cs0, spi0_cs1, spi0_cs2, spi0_dout, spi0_din. | ||
167 | spi1 | ||
168 | pins: spi1_mclk, spi1_cs0, spi1_cs1, spi1_cs2, spi1_dout, spi1_din. | ||
169 | uart | ||
170 | pins: uart0_txd, uart0_rxd, uart0_rts, uart0_cts, | ||
171 | uart1_txd, uart1_rxd. | ||
172 | drive_i2s | ||
173 | pins: clk_out1, i2s_din, i2s_dout0, i2s_dout1, i2s_dout2, | ||
174 | i2s_lrclk_out, i2s_bclk_out, i2s_mclk. | ||
175 | drive_pdm | ||
176 | pins: clk_out0, pdm_b, pdm_a. | ||
177 | drive_scb0 | ||
178 | pins: scb0_sclk, scb0_sdat, pdm_d, pdm_c. | ||
179 | drive_sdio | ||
180 | pins: sdio_clk, sdio_cmd, sdio_d0, sdio_d1, sdio_d2, sdio_d3, | ||
181 | sdh_wp, sdh_cd, sdh_clk_in. | ||
182 | |||
183 | convenience groups: | ||
184 | |||
185 | These are just convenient groupings of pins and don't support any drive | ||
186 | configs. | ||
187 | |||
188 | uart0 | ||
189 | pins: uart0_cts, uart0_rts, uart0_rxd, uart0_txd. | ||
190 | uart1 | ||
191 | pins: uart1_rxd, uart1_txd. | ||
192 | scb0 | ||
193 | pins: scb0_sclk, scb0_sdat. | ||
194 | i2s | ||
195 | pins: i2s_bclk_out, i2s_din, i2s_dout0, i2s_dout1, i2s_dout2, | ||
196 | i2s_lrclk_out, i2s_mclk. | ||
197 | |||
198 | Example: | ||
199 | |||
200 | pinctrl: pinctrl@02005800 { | ||
201 | #gpio-range-cells = <3>; | ||
202 | compatible = "img,tz1090-pinctrl"; | ||
203 | reg = <0x02005800 0xe4>; | ||
204 | }; | ||
205 | |||
206 | Example board file extract: | ||
207 | |||
208 | &pinctrl { | ||
209 | uart0_default: uart0 { | ||
210 | uart0_cfg { | ||
211 | tz1090,pins = "uart0_rxd", | ||
212 | "uart0_txd"; | ||
213 | tz1090,function = "perip"; | ||
214 | }; | ||
215 | }; | ||
216 | tft_default: tft { | ||
217 | tft_cfg { | ||
218 | tz1090,pins = "tft"; | ||
219 | tz1090,function = "tft"; | ||
220 | }; | ||
221 | }; | ||
222 | }; | ||
223 | |||
224 | uart@02004b00 { | ||
225 | pinctrl-names = "default"; | ||
226 | pinctrl-0 = <&uart0_default>; | ||
227 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt index a648aaad6110..50ec3512a292 100644 --- a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt | |||
@@ -10,29 +10,31 @@ Required properties: | |||
10 | Available mpp pins/groups and functions: | 10 | Available mpp pins/groups and functions: |
11 | Note: brackets (x) are not part of the mpp name for marvell,function and given | 11 | Note: brackets (x) are not part of the mpp name for marvell,function and given |
12 | only for more detailed description in this document. | 12 | only for more detailed description in this document. |
13 | Note: pmu* also allows for Power Management functions listed below | ||
13 | 14 | ||
14 | name pins functions | 15 | name pins functions |
15 | ================================================================================ | 16 | ================================================================================ |
16 | mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm) | 17 | mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm), pmu* |
17 | mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm) | 18 | mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm), pmu* |
18 | mpp2 2 gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt), | 19 | mpp2 2 gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt), |
19 | uart1(rts) | 20 | uart1(rts), pmu* |
20 | mpp3 3 gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act), | 21 | mpp3 3 gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act), |
21 | uart1(cts), lcd-spi(cs1) | 22 | uart1(cts), lcd-spi(cs1), pmu* |
22 | mpp4 4 gpio, pmu, uart3(rts), sdio1(cd), spi1(miso) | 23 | mpp4 4 gpio, pmu, uart3(rts), sdio1(cd), spi1(miso), pmu* |
23 | mpp5 5 gpio, pmu, uart3(cts), sdio1(wp), spi1(cs) | 24 | mpp5 5 gpio, pmu, uart3(cts), sdio1(wp), spi1(cs), pmu* |
24 | mpp6 6 gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi) | 25 | mpp6 6 gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi), pmu* |
25 | mpp7 7 gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck) | 26 | mpp7 7 gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck), pmu* |
26 | mpp8 8 gpio, pmu, watchdog(rstout) | 27 | mpp8 8 gpio, pmu, watchdog(rstout), pmu* |
27 | mpp9 9 gpio, pmu, pex1(clkreq) | 28 | mpp9 9 gpio, pmu, pex1(clkreq), pmu* |
28 | mpp10 10 gpio, pmu, ssp(sclk) | 29 | mpp10 10 gpio, pmu, ssp(sclk), pmu* |
29 | mpp11 11 gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl), | 30 | mpp11 11 gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl), |
30 | sdio1(ledctrl), pex0(clkreq) | 31 | sdio1(ledctrl), pex0(clkreq), pmu* |
31 | mpp12 12 gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd), sata(act) | 32 | mpp12 12 gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd), |
33 | sata(act), pmu* | ||
32 | mpp13 13 gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp), | 34 | mpp13 13 gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp), |
33 | ssp(extclk) | 35 | ssp(extclk), pmu* |
34 | mpp14 14 gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd) | 36 | mpp14 14 gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd), pmu* |
35 | mpp15 15 gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm) | 37 | mpp15 15 gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm), pmu* |
36 | mpp16 16 gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1) | 38 | mpp16 16 gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1) |
37 | mpp17 17 gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda), | 39 | mpp17 17 gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda), |
38 | ac97-1(sysclko) | 40 | ac97-1(sysclko) |
@@ -57,6 +59,21 @@ mpp_nand 64-71 gpo, nand | |||
57 | audio0 - i2s, ac97 | 59 | audio0 - i2s, ac97 |
58 | twsi - none, opt1, opt2, opt3 | 60 | twsi - none, opt1, opt2, opt3 |
59 | 61 | ||
62 | Power Management functions (pmu*): | ||
63 | pmu-nc Pin not driven by any PM function | ||
64 | pmu-low Pin driven low (0) | ||
65 | pmu-high Pin driven high (1) | ||
66 | pmic(sdi) Pin is used for PMIC SDI | ||
67 | cpu-pwr-down Pin is used for CPU_PWRDWN | ||
68 | standby-pwr-down Pin is used for STBY_PWRDWN | ||
69 | core-pwr-good Pin is used for CORE_PWR_GOOD (Pins 0-7 only) | ||
70 | cpu-pwr-good Pin is used for CPU_PWR_GOOD (Pins 8-15 only) | ||
71 | bat-fault Pin is used for BATTERY_FAULT | ||
72 | ext0-wakeup Pin is used for EXT0_WU | ||
73 | ext1-wakeup Pin is used for EXT0_WU | ||
74 | ext2-wakeup Pin is used for EXT0_WU | ||
75 | pmu-blink Pin is used for blink function | ||
76 | |||
60 | Notes: | 77 | Notes: |
61 | * group "mpp_audio1" allows the following functions and gpio pins: | 78 | * group "mpp_audio1" allows the following functions and gpio pins: |
62 | - gpio : gpio on pins 52-57 | 79 | - gpio : gpio on pins 52-57 |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt index c95ea8278f87..aeb3c995cc04 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt | |||
@@ -126,3 +126,51 @@ device; they may be grandchildren, for example. Whether this is legal, and | |||
126 | whether there is any interaction between the child and intermediate parent | 126 | whether there is any interaction between the child and intermediate parent |
127 | nodes, is again defined entirely by the binding for the individual pin | 127 | nodes, is again defined entirely by the binding for the individual pin |
128 | controller device. | 128 | controller device. |
129 | |||
130 | == Using generic pinconfig options == | ||
131 | |||
132 | Generic pinconfig parameters can be used by defining a separate node containing | ||
133 | the applicable parameters (and optional values), like: | ||
134 | |||
135 | pcfg_pull_up: pcfg_pull_up { | ||
136 | bias-pull-up; | ||
137 | drive-strength = <20>; | ||
138 | }; | ||
139 | |||
140 | This node should then be referenced in the appropriate pinctrl node as a phandle | ||
141 | and parsed in the driver using the pinconf_generic_parse_dt_config function. | ||
142 | |||
143 | Supported configuration parameters are: | ||
144 | |||
145 | bias-disable - disable any pin bias | ||
146 | bias-high-impedance - high impedance mode ("third-state", "floating") | ||
147 | bias-bus-hold - latch weakly | ||
148 | bias-pull-up - pull up the pin | ||
149 | bias-pull-down - pull down the pin | ||
150 | bias-pull-pin-default - use pin-default pull state | ||
151 | drive-push-pull - drive actively high and low | ||
152 | drive-open-drain - drive with open drain | ||
153 | drive-open-source - drive with open source | ||
154 | drive-strength - sink or source at most X mA | ||
155 | input-schmitt-enable - enable schmitt-trigger mode | ||
156 | input-schmitt-disable - disable schmitt-trigger mode | ||
157 | input-debounce - debounce mode with debound time X | ||
158 | low-power-enable - enable low power mode | ||
159 | low-power-disable - disable low power mode | ||
160 | output-low - set the pin to output mode with low level | ||
161 | output-high - set the pin to output mode with high level | ||
162 | |||
163 | Arguments for parameters: | ||
164 | |||
165 | - bias-pull-up, -down and -pin-default take as optional argument on hardware | ||
166 | supporting it the pull strength in Ohm. bias-disable will disable the pull. | ||
167 | |||
168 | - drive-strength takes as argument the target strength in mA. | ||
169 | |||
170 | - input-debounce takes the debounce time in usec as argument | ||
171 | or 0 to disable debouncing | ||
172 | |||
173 | All parameters not listed here, do not take an argument. | ||
174 | |||
175 | More in-depth documentation on these parameters can be found in | ||
176 | <include/linux/pinctrl/pinconfig-generic.h> | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt index 08f0c3d01575..5a02e30dd262 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt | |||
@@ -18,7 +18,8 @@ Optional properties: | |||
18 | pin functions is ignored | 18 | pin functions is ignored |
19 | 19 | ||
20 | - pinctrl-single,bit-per-mux : boolean to indicate that one register controls | 20 | - pinctrl-single,bit-per-mux : boolean to indicate that one register controls |
21 | more than one pin | 21 | more than one pin, for which "pinctrl-single,function-mask" property specifies |
22 | position mask of pin. | ||
22 | 23 | ||
23 | - pinctrl-single,drive-strength : array of value that are used to configure | 24 | - pinctrl-single,drive-strength : array of value that are used to configure |
24 | drive strength in the pinmux register. They're value of drive strength | 25 | drive strength in the pinmux register. They're value of drive strength |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt new file mode 100644 index 000000000000..05bf82a07dfd --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt | |||
@@ -0,0 +1,110 @@ | |||
1 | *ST pin controller. | ||
2 | |||
3 | Each multi-function pin is controlled, driven and routed through the | ||
4 | PIO multiplexing block. Each pin supports GPIO functionality (ALT0) | ||
5 | and multiple alternate functions(ALT1 - ALTx) that directly connect | ||
6 | the pin to different hardware blocks. | ||
7 | |||
8 | When a pin is in GPIO mode, Output Enable (OE), Open Drain(OD), and | ||
9 | Pull Up (PU) are driven by the related PIO block. | ||
10 | |||
11 | ST pinctrl driver controls PIO multiplexing block and also interacts with | ||
12 | gpio driver to configure a pin. | ||
13 | |||
14 | Required properties: (PIO multiplexing block) | ||
15 | - compatible : should be "st,<SOC>-<pio-block>-pinctrl" | ||
16 | like st,stih415-sbc-pinctrl, st,stih415-front-pinctrl and so on. | ||
17 | - gpio-controller : Indicates this device is a GPIO controller | ||
18 | - #gpio-cells : Should be one. The first cell is the pin number. | ||
19 | - st,retime-pin-mask : Should be mask to specify which pins can be retimed. | ||
20 | If the property is not present, it is assumed that all the pins in the | ||
21 | bank are capable of retiming. Retiming is mainly used to improve the | ||
22 | IO timing margins of external synchronous interfaces. | ||
23 | - st,bank-name : Should be a name string for this bank as | ||
24 | specified in datasheet. | ||
25 | - st,syscfg : Should be a phandle of the syscfg node. | ||
26 | |||
27 | Example: | ||
28 | pin-controller-sbc { | ||
29 | #address-cells = <1>; | ||
30 | #size-cells = <1>; | ||
31 | compatible = "st,stih415-sbc-pinctrl"; | ||
32 | st,syscfg = <&syscfg_sbc>; | ||
33 | ranges = <0 0xfe610000 0x5000>; | ||
34 | PIO0: gpio@fe610000 { | ||
35 | gpio-controller; | ||
36 | #gpio-cells = <1>; | ||
37 | reg = <0 0x100>; | ||
38 | st,bank-name = "PIO0"; | ||
39 | }; | ||
40 | ... | ||
41 | pin-functions nodes follow... | ||
42 | }; | ||
43 | |||
44 | |||
45 | Contents of function subnode node: | ||
46 | ---------------------- | ||
47 | Required properties for pin configuration node: | ||
48 | - st,pins : Child node with list of pins with configuration. | ||
49 | |||
50 | Below is the format of how each pin conf should look like. | ||
51 | |||
52 | <bank offset mux mode rt_type rt_delay rt_clk> | ||
53 | |||
54 | Every PIO is represented with 4-7 parameters depending on retime configuration. | ||
55 | Each parameter is explained as below. | ||
56 | |||
57 | -bank : Should be bank phandle to which this PIO belongs. | ||
58 | -offset : Offset in the PIO bank. | ||
59 | -mux : Should be alternate function number associated this pin. | ||
60 | Use same numbers from datasheet. | ||
61 | -mode :pin configuration is selected from one of the below values. | ||
62 | IN | ||
63 | IN_PU | ||
64 | OUT | ||
65 | BIDIR | ||
66 | BIDIR_PU | ||
67 | |||
68 | -rt_type Retiming Configuration for the pin. | ||
69 | Possible retime configuration are: | ||
70 | |||
71 | ------- ------------- | ||
72 | value args | ||
73 | ------- ------------- | ||
74 | NICLK <delay> <clk> | ||
75 | ICLK_IO <delay> <clk> | ||
76 | BYPASS <delay> | ||
77 | DE_IO <delay> <clk> | ||
78 | SE_ICLK_IO <delay> <clk> | ||
79 | SE_NICLK_IO <delay> <clk> | ||
80 | |||
81 | - delay is retime delay in pico seconds as mentioned in data sheet. | ||
82 | |||
83 | - rt_clk :clk to be use for retime. | ||
84 | Possible values are: | ||
85 | CLK_A | ||
86 | CLK_B | ||
87 | CLK_C | ||
88 | CLK_D | ||
89 | |||
90 | Example of mmcclk pin which is a bi-direction pull pu with retime config | ||
91 | as non inverted clock retimed with CLK_B and delay of 0 pico seconds: | ||
92 | |||
93 | pin-controller { | ||
94 | ... | ||
95 | mmc0 { | ||
96 | pinctrl_mmc: mmc { | ||
97 | st,pins { | ||
98 | mmcclk = <&PIO13 4 ALT4 BIDIR_PU NICLK 0 CLK_B>; | ||
99 | ... | ||
100 | }; | ||
101 | }; | ||
102 | ... | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | sdhci0:sdhci@fe810000{ | ||
107 | ... | ||
108 | pinctrl-names = "default"; | ||
109 | pinctrl-0 = <&pinctrl_mmc>; | ||
110 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt new file mode 100644 index 000000000000..d5dac7b843a9 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt | |||
@@ -0,0 +1,153 @@ | |||
1 | * Renesas Pin Function Controller (GPIO and Pin Mux/Config) | ||
2 | |||
3 | The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH7372, | ||
4 | SH73A0, R8A73A4 and R8A7740 it also acts as a GPIO controller. | ||
5 | |||
6 | |||
7 | Pin Control | ||
8 | ----------- | ||
9 | |||
10 | Required Properties: | ||
11 | |||
12 | - compatible: should be one of the following. | ||
13 | - "renesas,pfc-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible pin-controller. | ||
14 | - "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller. | ||
15 | - "renesas,pfc-r8a7778": for R8A7778 (R-Mobile M1) compatible pin-controller. | ||
16 | - "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller. | ||
17 | - "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller. | ||
18 | - "renesas,pfc-sh7372": for SH7372 (SH-Mobile AP4) compatible pin-controller. | ||
19 | - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller. | ||
20 | |||
21 | - reg: Base address and length of each memory resource used by the pin | ||
22 | controller hardware module. | ||
23 | |||
24 | Optional properties: | ||
25 | |||
26 | - #gpio-range-cells: Mandatory when the PFC doesn't handle GPIO, forbidden | ||
27 | otherwise. Should be 3. | ||
28 | |||
29 | The PFC node also acts as a container for pin configuration nodes. Please refer | ||
30 | to pinctrl-bindings.txt in this directory for the definition of the term "pin | ||
31 | configuration node" and for the common pinctrl bindings used by client devices. | ||
32 | |||
33 | Each pin configuration node represents a desired configuration for a pin, a | ||
34 | pin group, or a list of pins or pin groups. The configuration can include the | ||
35 | function to select on those pin(s) and pin configuration parameters (such as | ||
36 | pull-up and pull-down). | ||
37 | |||
38 | Pin configuration nodes contain pin configuration properties, either directly | ||
39 | or grouped in child subnodes. Both pin muxing and configuration parameters can | ||
40 | be grouped in that way and referenced as a single pin configuration node by | ||
41 | client devices. | ||
42 | |||
43 | A configuration node or subnode must reference at least one pin (through the | ||
44 | pins or pin groups properties) and contain at least a function or one | ||
45 | configuration parameter. When the function is present only pin groups can be | ||
46 | used to reference pins. | ||
47 | |||
48 | All pin configuration nodes and subnodes names are ignored. All of those nodes | ||
49 | are parsed through phandles and processed purely based on their content. | ||
50 | |||
51 | Pin Configuration Node Properties: | ||
52 | |||
53 | - renesas,pins : An array of strings, each string containing the name of a pin. | ||
54 | - renesas,groups : An array of strings, each string containing the name of a pin | ||
55 | group. | ||
56 | |||
57 | - renesas,function: A string containing the name of the function to mux to the | ||
58 | pin group(s) specified by the renesas,groups property | ||
59 | |||
60 | Valid values for pin, group and function names can be found in the group and | ||
61 | function arrays of the PFC data file corresponding to the SoC | ||
62 | (drivers/pinctrl/sh-pfc/pfc-*.c) | ||
63 | |||
64 | The pin configuration parameters use the generic pinconf bindings defined in | ||
65 | pinctrl-bindings.txt in this directory. The supported parameters are | ||
66 | bias-disable, bias-pull-up and bias-pull-down. | ||
67 | |||
68 | |||
69 | GPIO | ||
70 | ---- | ||
71 | |||
72 | On SH7372, SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller | ||
73 | node. | ||
74 | |||
75 | Required Properties: | ||
76 | |||
77 | - gpio-controller: Marks the device node as a gpio controller. | ||
78 | |||
79 | - #gpio-cells: Should be 2. The first cell is the GPIO number and the second | ||
80 | cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the | ||
81 | GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported. | ||
82 | |||
83 | The syntax of the gpio specifier used by client nodes should be the following | ||
84 | with values derived from the SoC user manual. | ||
85 | |||
86 | <[phandle of the gpio controller node] | ||
87 | [pin number within the gpio controller] | ||
88 | [flags]> | ||
89 | |||
90 | On other mach-shmobile platforms GPIO is handled by the gpio-rcar driver. | ||
91 | Please refer to Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt | ||
92 | for documentation of the GPIO device tree bindings on those platforms. | ||
93 | |||
94 | |||
95 | Examples | ||
96 | -------- | ||
97 | |||
98 | Example 1: SH73A0 (SH-Mobile AG5) pin controller node | ||
99 | |||
100 | pfc: pfc@e6050000 { | ||
101 | compatible = "renesas,pfc-sh73a0"; | ||
102 | reg = <0xe6050000 0x8000>, | ||
103 | <0xe605801c 0x1c>; | ||
104 | gpio-controller; | ||
105 | #gpio-cells = <2>; | ||
106 | }; | ||
107 | |||
108 | Example 2: A GPIO LED node that references a GPIO | ||
109 | |||
110 | #include <dt-bindings/gpio/gpio.h> | ||
111 | |||
112 | leds { | ||
113 | compatible = "gpio-leds"; | ||
114 | led1 { | ||
115 | gpios = <&pfc 20 GPIO_ACTIVE_LOW>; | ||
116 | }; | ||
117 | }; | ||
118 | |||
119 | Example 3: KZM-A9-GT (SH-Mobile AG5) default pin state hog and pin control maps | ||
120 | for the MMCIF and SCIFA4 devices | ||
121 | |||
122 | &pfc { | ||
123 | pinctrl-0 = <&scifa4_pins>; | ||
124 | pinctrl-names = "default"; | ||
125 | |||
126 | mmcif_pins: mmcif { | ||
127 | mux { | ||
128 | renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0"; | ||
129 | renesas,function = "mmc0"; | ||
130 | }; | ||
131 | cfg { | ||
132 | renesas,groups = "mmc0_data8_0"; | ||
133 | renesas,pins = "PORT279"; | ||
134 | bias-pull-up; | ||
135 | }; | ||
136 | }; | ||
137 | |||
138 | scifa4_pins: scifa4 { | ||
139 | renesas,groups = "scifa4_data", "scifa4_ctrl"; | ||
140 | renesas,function = "scifa4"; | ||
141 | }; | ||
142 | }; | ||
143 | |||
144 | Example 4: KZM-A9-GT (SH-Mobile AG5) default pin state for the MMCIF device | ||
145 | |||
146 | &mmcif { | ||
147 | pinctrl-0 = <&mmcif_pins>; | ||
148 | pinctrl-names = "default"; | ||
149 | |||
150 | bus-width = <8>; | ||
151 | vmmc-supply = <®_1p8v>; | ||
152 | status = "okay"; | ||
153 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt new file mode 100644 index 000000000000..b0fb1018d7ad --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt | |||
@@ -0,0 +1,97 @@ | |||
1 | * Rockchip Pinmux Controller | ||
2 | |||
3 | The Rockchip Pinmux Controller, enables the IC | ||
4 | to share one PAD to several functional blocks. The sharing is done by | ||
5 | multiplexing the PAD input/output signals. For each PAD there are up to | ||
6 | 4 muxing options with option 0 being the use as a GPIO. | ||
7 | |||
8 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
9 | common pinctrl bindings used by client devices, including the meaning of the | ||
10 | phrase "pin configuration node". | ||
11 | |||
12 | The Rockchip pin configuration node is a node of a group of pins which can be | ||
13 | used for a specific device or function. This node represents both mux and | ||
14 | config of the pins in that group. The 'pins' selects the function mode(also | ||
15 | named pin mode) this pin can work on and the 'config' configures various pad | ||
16 | settings such as pull-up, etc. | ||
17 | |||
18 | The pins are grouped into up to 5 individual pin banks which need to be | ||
19 | defined as gpio sub-nodes of the pinmux controller. | ||
20 | |||
21 | Required properties for iomux controller: | ||
22 | - compatible: one of "rockchip,rk2928-pinctrl", "rockchip,rk3066a-pinctrl" | ||
23 | "rockchip,rk3066b-pinctrl", "rockchip,rk3188-pinctrl" | ||
24 | |||
25 | Required properties for gpio sub nodes: | ||
26 | - compatible: "rockchip,gpio-bank" | ||
27 | - reg: register of the gpio bank (different than the iomux registerset) | ||
28 | - interrupts: base interrupt of the gpio bank in the interrupt controller | ||
29 | - clocks: clock that drives this bank | ||
30 | - gpio-controller: identifies the node as a gpio controller and pin bank. | ||
31 | - #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO | ||
32 | binding is used, the amount of cells must be specified as 2. See generic | ||
33 | GPIO binding documentation for description of particular cells. | ||
34 | - interrupt-controller: identifies the controller node as interrupt-parent. | ||
35 | - #interrupt-cells: the value of this property should be 2 and the interrupt | ||
36 | cells should use the standard two-cell scheme described in | ||
37 | bindings/interrupt-controller/interrupts.txt | ||
38 | |||
39 | Required properties for pin configuration node: | ||
40 | - rockchip,pins: 3 integers array, represents a group of pins mux and config | ||
41 | setting. The format is rockchip,pins = <PIN_BANK PIN_BANK_IDX MUX &phandle>. | ||
42 | The MUX 0 means gpio and MUX 1 to 3 mean the specific device function. | ||
43 | The phandle of a node containing the generic pinconfig options | ||
44 | to use, as described in pinctrl-bindings.txt in this directory. | ||
45 | |||
46 | Examples: | ||
47 | |||
48 | #include <dt-bindings/pinctrl/rockchip.h> | ||
49 | |||
50 | ... | ||
51 | |||
52 | pinctrl@20008000 { | ||
53 | compatible = "rockchip,rk3066a-pinctrl"; | ||
54 | reg = <0x20008000 0x150>; | ||
55 | #address-cells = <1>; | ||
56 | #size-cells = <1>; | ||
57 | ranges; | ||
58 | |||
59 | gpio0: gpio0@20034000 { | ||
60 | compatible = "rockchip,gpio-bank"; | ||
61 | reg = <0x20034000 0x100>; | ||
62 | interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; | ||
63 | clocks = <&clk_gates8 9>; | ||
64 | |||
65 | gpio-controller; | ||
66 | #gpio-cells = <2>; | ||
67 | |||
68 | interrupt-controller; | ||
69 | #interrupt-cells = <2>; | ||
70 | }; | ||
71 | |||
72 | ... | ||
73 | |||
74 | pcfg_pull_default: pcfg_pull_default { | ||
75 | bias-pull-pin-default | ||
76 | }; | ||
77 | |||
78 | uart2 { | ||
79 | uart2_xfer: uart2-xfer { | ||
80 | rockchip,pins = <RK_GPIO1 8 1 &pcfg_pull_default>, | ||
81 | <RK_GPIO1 9 1 &pcfg_pull_default>; | ||
82 | }; | ||
83 | }; | ||
84 | }; | ||
85 | |||
86 | uart2: serial@20064000 { | ||
87 | compatible = "snps,dw-apb-uart"; | ||
88 | reg = <0x20064000 0x400>; | ||
89 | interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; | ||
90 | reg-shift = <2>; | ||
91 | reg-io-width = <1>; | ||
92 | clocks = <&mux_uart2>; | ||
93 | status = "okay"; | ||
94 | |||
95 | pinctrl-names = "default"; | ||
96 | pinctrl-0 = <&uart2_xfer>; | ||
97 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index c70fca146e91..36281e7a2a46 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt | |||
@@ -7,10 +7,15 @@ on-chip controllers onto these pads. | |||
7 | 7 | ||
8 | Required Properties: | 8 | Required Properties: |
9 | - compatible: should be one of the following. | 9 | - compatible: should be one of the following. |
10 | - "samsung,s3c2412-pinctrl": for S3C2412-compatible pin-controller, | ||
11 | - "samsung,s3c2416-pinctrl": for S3C2416-compatible pin-controller, | ||
12 | - "samsung,s3c2440-pinctrl": for S3C2440-compatible pin-controller, | ||
13 | - "samsung,s3c2450-pinctrl": for S3C2450-compatible pin-controller, | ||
10 | - "samsung,s3c64xx-pinctrl": for S3C64xx-compatible pin-controller, | 14 | - "samsung,s3c64xx-pinctrl": for S3C64xx-compatible pin-controller, |
11 | - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. | 15 | - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. |
12 | - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. | 16 | - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. |
13 | - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. | 17 | - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. |
18 | - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. | ||
14 | 19 | ||
15 | - reg: Base address of the pin controller hardware module and length of | 20 | - reg: Base address of the pin controller hardware module and length of |
16 | the address space it occupies. | 21 | the address space it occupies. |
@@ -21,8 +26,18 @@ Required Properties: | |||
21 | 26 | ||
22 | - gpio-controller: identifies the node as a gpio controller and pin bank. | 27 | - gpio-controller: identifies the node as a gpio controller and pin bank. |
23 | - #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO | 28 | - #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO |
24 | binding is used, the amount of cells must be specified as 2. See generic | 29 | binding is used, the amount of cells must be specified as 2. See the below |
25 | GPIO binding documentation for description of particular cells. | 30 | mentioned gpio binding representation for description of particular cells. |
31 | |||
32 | Eg: <&gpx2 6 0> | ||
33 | <[phandle of the gpio controller node] | ||
34 | [pin number within the gpio controller] | ||
35 | [flags]> | ||
36 | |||
37 | Values for gpio specifier: | ||
38 | - Pin number: is a value between 0 to 7. | ||
39 | - Flags: 0 - Active High | ||
40 | 1 - Active Low | ||
26 | 41 | ||
27 | - Pin mux/config groups as child nodes: The pin mux (selecting pin function | 42 | - Pin mux/config groups as child nodes: The pin mux (selecting pin function |
28 | mode) and pin config (pull up/down, driver strength) settings are represented | 43 | mode) and pin config (pull up/down, driver strength) settings are represented |
@@ -106,6 +121,10 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a | |||
106 | 121 | ||
107 | - compatible: identifies the type of the external wakeup interrupt controller | 122 | - compatible: identifies the type of the external wakeup interrupt controller |
108 | The possible values are: | 123 | The possible values are: |
124 | - samsung,s3c2410-wakeup-eint: represents wakeup interrupt controller | ||
125 | found on Samsung S3C24xx SoCs except S3C2412 and S3C2413, | ||
126 | - samsung,s3c2412-wakeup-eint: represents wakeup interrupt controller | ||
127 | found on Samsung S3C2412 and S3C2413 SoCs, | ||
109 | - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller | 128 | - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller |
110 | found on Samsung S3C64xx SoCs, | 129 | found on Samsung S3C64xx SoCs, |
111 | - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller | 130 | - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller |
@@ -266,3 +285,33 @@ Example 4: Set up the default pin state for uart controller. | |||
266 | 285 | ||
267 | pinctrl = devm_pinctrl_get_select_default(&pdev->dev); | 286 | pinctrl = devm_pinctrl_get_select_default(&pdev->dev); |
268 | } | 287 | } |
288 | |||
289 | Example 5: A display port client node that supports 'default' pinctrl state | ||
290 | and gpio binding. | ||
291 | |||
292 | display-port-controller { | ||
293 | /* ... */ | ||
294 | |||
295 | samsung,hpd-gpio = <&gpx2 6 0>; | ||
296 | pinctrl-names = "default"; | ||
297 | pinctrl-0 = <&dp_hpd>; | ||
298 | }; | ||
299 | |||
300 | Example 6: Request the gpio for display port controller | ||
301 | |||
302 | static int exynos_dp_probe(struct platform_device *pdev) | ||
303 | { | ||
304 | int hpd_gpio, ret; | ||
305 | struct device *dev = &pdev->dev; | ||
306 | struct device_node *dp_node = dev->of_node; | ||
307 | |||
308 | /* ... */ | ||
309 | |||
310 | hpd_gpio = of_get_named_gpio(dp_node, "samsung,hpd-gpio", 0); | ||
311 | |||
312 | /* ... */ | ||
313 | |||
314 | ret = devm_gpio_request_one(&pdev->dev, hpd_gpio, GPIOF_IN, | ||
315 | "hpd_gpio"); | ||
316 | /* ... */ | ||
317 | } | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt new file mode 100644 index 000000000000..e3865e136067 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt | |||
@@ -0,0 +1,352 @@ | |||
1 | ST Ericsson abx500 pinmux controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "stericsson,ab8500-gpio", "stericsson,ab8540-gpio", | ||
5 | "stericsson,ab8505-gpio", "stericsson,ab9540-gpio", | ||
6 | |||
7 | Please refer to pinctrl-bindings.txt in this directory for details of the | ||
8 | common pinctrl bindings used by client devices, including the meaning of the | ||
9 | phrase "pin configuration node". | ||
10 | |||
11 | ST Ericsson's pin configuration nodes act as a container for an arbitrary number of | ||
12 | subnodes. Each of these subnodes represents some desired configuration for a | ||
13 | pin, a group, or a list of pins or groups. This configuration can include the | ||
14 | mux function to select on those pin(s)/group(s), and various pin configuration | ||
15 | parameters, such as input, output, pull up, pull down... | ||
16 | |||
17 | The name of each subnode is not important; all subnodes should be enumerated | ||
18 | and processed purely based on their content. | ||
19 | |||
20 | Required subnode-properties: | ||
21 | - ste,pins : An array of strings. Each string contains the name of a pin or | ||
22 | group. | ||
23 | |||
24 | Optional subnode-properties: | ||
25 | - ste,function: A string containing the name of the function to mux to the | ||
26 | pin or group. | ||
27 | |||
28 | - generic pin configuration option to use. Example : | ||
29 | |||
30 | default_cfg { | ||
31 | ste,pins = "GPIO1"; | ||
32 | bias-disable; | ||
33 | }; | ||
34 | |||
35 | - ste,config: Handle of pin configuration node containing the generic | ||
36 | pinconfig options to use, as described in pinctrl-bindings.txt in | ||
37 | this directory. Example : | ||
38 | |||
39 | pcfg_bias_disable: pcfg_bias_disable { | ||
40 | bias-disable; | ||
41 | }; | ||
42 | |||
43 | default_cfg { | ||
44 | ste,pins = "GPIO1"; | ||
45 | ste.config = <&pcfg_bias_disable>; | ||
46 | }; | ||
47 | |||
48 | Example board file extract: | ||
49 | |||
50 | &pinctrl_abx500 { | ||
51 | pinctrl-names = "default"; | ||
52 | pinctrl-0 = <&sysclkreq2_default_mode>, <&sysclkreq3_default_mode>, <&gpio3_default_mode>, <&sysclkreq6_default_mode>, <&pwmout1_default_mode>, <&pwmout2_default_mode>, <&pwmout3_default_mode>, <&adi1_default_mode>, <&dmic12_default_mode>, <&dmic34_default_mode>, <&dmic56_default_mode>, <&sysclkreq5_default_mode>, <&batremn_default_mode>, <&service_default_mode>, <&pwrctrl0_default_mode>, <&pwrctrl1_default_mode>, <&pwmextvibra1_default_mode>, <&pwmextvibra2_default_mode>, <&gpio51_default_mode>, <&gpio52_default_mode>, <&gpio53_default_mode>, <&gpio54_default_mode>, <&pdmclkdat_default_mode>; | ||
53 | |||
54 | sysclkreq2 { | ||
55 | sysclkreq2_default_mode: sysclkreq2_default { | ||
56 | default_mux { | ||
57 | ste,function = "sysclkreq"; | ||
58 | ste,pins = "sysclkreq2_d_1"; | ||
59 | }; | ||
60 | default_cfg { | ||
61 | ste,pins = "GPIO1"; | ||
62 | bias-disable; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | sysclkreq3 { | ||
67 | sysclkreq3_default_mode: sysclkreq3_default { | ||
68 | default_mux { | ||
69 | ste,function = "sysclkreq"; | ||
70 | ste,pins = "sysclkreq3_d_1"; | ||
71 | }; | ||
72 | default_cfg { | ||
73 | ste,pins = "GPIO2"; | ||
74 | output-low; | ||
75 | }; | ||
76 | }; | ||
77 | }; | ||
78 | gpio3 { | ||
79 | gpio3_default_mode: gpio3_default { | ||
80 | default_mux { | ||
81 | ste,function = "gpio"; | ||
82 | ste,pins = "gpio3_a_1"; | ||
83 | }; | ||
84 | default_cfg { | ||
85 | ste,pins = "GPIO3"; | ||
86 | output-low; | ||
87 | }; | ||
88 | }; | ||
89 | }; | ||
90 | sysclkreq6 { | ||
91 | sysclkreq6_default_mode: sysclkreq6_default { | ||
92 | default_mux { | ||
93 | ste,function = "sysclkreq"; | ||
94 | ste,pins = "sysclkreq6_d_1"; | ||
95 | }; | ||
96 | default_cfg { | ||
97 | ste,pins = "GPIO4"; | ||
98 | bias-disable; | ||
99 | }; | ||
100 | }; | ||
101 | }; | ||
102 | pwmout1 { | ||
103 | pwmout1_default_mode: pwmout1_default { | ||
104 | default_mux { | ||
105 | ste,function = "pwmout"; | ||
106 | ste,pins = "pwmout1_d_1"; | ||
107 | }; | ||
108 | default_cfg { | ||
109 | ste,pins = "GPIO14"; | ||
110 | output-low; | ||
111 | }; | ||
112 | }; | ||
113 | }; | ||
114 | pwmout2 { | ||
115 | pwmout2_default_mode: pwmout2_default { | ||
116 | pwmout2_default_mux { | ||
117 | ste,function = "pwmout"; | ||
118 | ste,pins = "pwmout2_d_1"; | ||
119 | }; | ||
120 | pwmout2_default_cfg { | ||
121 | ste,pins = "GPIO15"; | ||
122 | output-low; | ||
123 | }; | ||
124 | }; | ||
125 | }; | ||
126 | pwmout3 { | ||
127 | pwmout3_default_mode: pwmout3_default { | ||
128 | pwmout3_default_mux { | ||
129 | ste,function = "pwmout"; | ||
130 | ste,pins = "pwmout3_d_1"; | ||
131 | }; | ||
132 | pwmout3_default_cfg { | ||
133 | ste,pins = "GPIO16"; | ||
134 | output-low; | ||
135 | }; | ||
136 | }; | ||
137 | }; | ||
138 | adi1 { | ||
139 | |||
140 | adi1_default_mode: adi1_default { | ||
141 | adi1_default_mux { | ||
142 | ste,function = "adi1"; | ||
143 | ste,pins = "adi1_d_1"; | ||
144 | }; | ||
145 | adi1_default_cfg1 { | ||
146 | ste,pins = "GPIO17","GPIO19","GPIO20"; | ||
147 | bias-disable; | ||
148 | }; | ||
149 | adi1_default_cfg2 { | ||
150 | ste,pins = "GPIO18"; | ||
151 | output-low; | ||
152 | }; | ||
153 | }; | ||
154 | }; | ||
155 | dmic12 { | ||
156 | dmic12_default_mode: dmic12_default { | ||
157 | dmic12_default_mux { | ||
158 | ste,function = "dmic"; | ||
159 | ste,pins = "dmic12_d_1"; | ||
160 | }; | ||
161 | dmic12_default_cfg1 { | ||
162 | ste,pins = "GPIO27"; | ||
163 | output-low; | ||
164 | }; | ||
165 | dmic12_default_cfg2 { | ||
166 | ste,pins = "GPIO28"; | ||
167 | bias-disable; | ||
168 | }; | ||
169 | }; | ||
170 | }; | ||
171 | dmic34 { | ||
172 | dmic34_default_mode: dmic34_default { | ||
173 | dmic34_default_mux { | ||
174 | ste,function = "dmic"; | ||
175 | ste,pins = "dmic34_d_1"; | ||
176 | }; | ||
177 | dmic34_default_cfg1 { | ||
178 | ste,pins = "GPIO29"; | ||
179 | output-low; | ||
180 | }; | ||
181 | dmic34_default_cfg2 { | ||
182 | ste,pins = "GPIO30"; | ||
183 | bias-disable;{ | ||
184 | |||
185 | }; | ||
186 | }; | ||
187 | }; | ||
188 | dmic56 { | ||
189 | dmic56_default_mode: dmic56_default { | ||
190 | dmic56_default_mux { | ||
191 | ste,function = "dmic"; | ||
192 | ste,pins = "dmic56_d_1"; | ||
193 | }; | ||
194 | dmic56_default_cfg1 { | ||
195 | ste,pins = "GPIO31"; | ||
196 | output-low; | ||
197 | }; | ||
198 | dmic56_default_cfg2 { | ||
199 | ste,pins = "GPIO32"; | ||
200 | bias-disable; | ||
201 | }; | ||
202 | }; | ||
203 | }; | ||
204 | sysclkreq5 { | ||
205 | sysclkreq5_default_mode: sysclkreq5_default { | ||
206 | sysclkreq5_default_mux { | ||
207 | ste,function = "sysclkreq"; | ||
208 | ste,pins = "sysclkreq5_d_1"; | ||
209 | }; | ||
210 | sysclkreq5_default_cfg { | ||
211 | ste,pins = "GPIO42"; | ||
212 | output-low; | ||
213 | }; | ||
214 | }; | ||
215 | }; | ||
216 | batremn { | ||
217 | batremn_default_mode: batremn_default { | ||
218 | batremn_default_mux { | ||
219 | ste,function = "batremn"; | ||
220 | ste,pins = "batremn_d_1"; | ||
221 | }; | ||
222 | batremn_default_cfg { | ||
223 | ste,pins = "GPIO43"; | ||
224 | bias-disable; | ||
225 | }; | ||
226 | }; | ||
227 | }; | ||
228 | service { | ||
229 | service_default_mode: service_default { | ||
230 | service_default_mux { | ||
231 | ste,function = "service"; | ||
232 | ste,pins = "service_d_1"; | ||
233 | }; | ||
234 | service_default_cfg { | ||
235 | ste,pins = "GPIO44"; | ||
236 | bias-disable; | ||
237 | }; | ||
238 | }; | ||
239 | }; | ||
240 | pwrctrl0 { | ||
241 | pwrctrl0_default_mux: pwrctrl0_mux { | ||
242 | pwrctrl0_default_mux { | ||
243 | ste,function = "pwrctrl"; | ||
244 | ste,pins = "pwrctrl0_d_1"; | ||
245 | }; | ||
246 | }; | ||
247 | pwrctrl0_default_mode: pwrctrl0_default { | ||
248 | pwrctrl0_default_cfg { | ||
249 | ste,pins = "GPIO45"; | ||
250 | bias-disable; | ||
251 | }; | ||
252 | }; | ||
253 | }; | ||
254 | pwrctrl1 { | ||
255 | pwrctrl1_default_mux: pwrctrl1_mux { | ||
256 | pwrctrl1_default_mux { | ||
257 | ste,function = "pwrctrl"; | ||
258 | ste,pins = "pwrctrl1_d_1"; | ||
259 | }; | ||
260 | }; | ||
261 | pwrctrl1_default_mode: pwrctrl1_default { | ||
262 | pwrctrl1_default_cfg { | ||
263 | ste,pins = "GPIO46"; | ||
264 | bias-disable; | ||
265 | }; | ||
266 | }; | ||
267 | }; | ||
268 | pwmextvibra1 { | ||
269 | pwmextvibra1_default_mode: pwmextvibra1_default { | ||
270 | pwmextvibra1_default_mux { | ||
271 | ste,function = "pwmextvibra"; | ||
272 | ste,pins = "pwmextvibra1_d_1"; | ||
273 | }; | ||
274 | pwmextvibra1_default_cfg { | ||
275 | ste,pins = "GPIO47"; | ||
276 | bias-disable; | ||
277 | }; | ||
278 | }; | ||
279 | }; | ||
280 | pwmextvibra2 { | ||
281 | pwmextvibra2_default_mode: pwmextvibra2_default { | ||
282 | pwmextvibra2_default_mux { | ||
283 | ste,function = "pwmextvibra"; | ||
284 | ste,pins = "pwmextvibra2_d_1"; | ||
285 | }; | ||
286 | pwmextvibra1_default_cfg { | ||
287 | ste,pins = "GPIO48"; | ||
288 | bias-disable; | ||
289 | }; | ||
290 | }; | ||
291 | }; | ||
292 | gpio51 { | ||
293 | gpio51_default_mode: gpio51_default { | ||
294 | gpio51_default_mux { | ||
295 | ste,function = "gpio"; | ||
296 | ste,pins = "gpio51_a_1"; | ||
297 | }; | ||
298 | gpio51_default_cfg { | ||
299 | ste,pins = "GPIO51"; | ||
300 | output-low; | ||
301 | }; | ||
302 | }; | ||
303 | }; | ||
304 | gpio52 { | ||
305 | gpio52_default_mode: gpio52_default { | ||
306 | gpio52_default_mux { | ||
307 | ste,function = "gpio"; | ||
308 | ste,pins = "gpio52_a_1"; | ||
309 | }; | ||
310 | gpio52_default_cfg { | ||
311 | ste,pins = "GPIO52"; | ||
312 | bias-pull-down; | ||
313 | }; | ||
314 | }; | ||
315 | }; | ||
316 | gpio53 { | ||
317 | gpio53_default_mode: gpio53_default { | ||
318 | gpio53_default_mux { | ||
319 | ste,function = "gpio"; | ||
320 | ste,pins = "gpio53_a_1"; | ||
321 | }; | ||
322 | gpio53_default_cfg { | ||
323 | ste,pins = "GPIO53"; | ||
324 | bias-pull-down; | ||
325 | }; | ||
326 | }; | ||
327 | }; | ||
328 | gpio54 { | ||
329 | gpio54_default_mode: gpio54_default { | ||
330 | gpio54_default_mux { | ||
331 | ste,function = "gpio"; | ||
332 | ste,pins = "gpio54_a_1"; | ||
333 | }; | ||
334 | gpio54_default_cfg { | ||
335 | ste,pins = "GPIO54"; | ||
336 | output-low; | ||
337 | }; | ||
338 | }; | ||
339 | }; | ||
340 | pdmclkdat { | ||
341 | pdmclkdat_default_mode: pdmclkdat_default { | ||
342 | pdmclkdat_default_mux { | ||
343 | ste,function = "pdm"; | ||
344 | ste,pins = "pdmclkdat_d_1"; | ||
345 | }; | ||
346 | pdmclkdat_default_cfg { | ||
347 | ste,pins = "GPIO55", "GPIO56"; | ||
348 | bias-disable; | ||
349 | }; | ||
350 | }; | ||
351 | }; | ||
352 | }; | ||
diff --git a/Documentation/devicetree/bindings/powerpc/4xx/emac.txt b/Documentation/devicetree/bindings/powerpc/4xx/emac.txt index 2161334a7ca5..712baf6c3e24 100644 --- a/Documentation/devicetree/bindings/powerpc/4xx/emac.txt +++ b/Documentation/devicetree/bindings/powerpc/4xx/emac.txt | |||
@@ -1,7 +1,7 @@ | |||
1 | 4xx/Axon EMAC ethernet nodes | 1 | 4xx/Axon EMAC ethernet nodes |
2 | 2 | ||
3 | The EMAC ethernet controller in IBM and AMCC 4xx chips, and also | 3 | The EMAC ethernet controller in IBM and AMCC 4xx chips, and also |
4 | the Axon bridge. To operate this needs to interact with a ths | 4 | the Axon bridge. To operate this needs to interact with a this |
5 | special McMAL DMA controller, and sometimes an RGMII or ZMII | 5 | special McMAL DMA controller, and sometimes an RGMII or ZMII |
6 | interface. In addition to the nodes and properties described | 6 | interface. In addition to the nodes and properties described |
7 | below, the node for the OPB bus on which the EMAC sits must have a | 7 | below, the node for the OPB bus on which the EMAC sits must have a |
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt b/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt new file mode 100644 index 000000000000..641bc13983e1 --- /dev/null +++ b/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt | |||
@@ -0,0 +1,309 @@ | |||
1 | =============================================================================== | ||
2 | Freescale Interlaken Look-Aside Controller Device Bindings | ||
3 | Copyright 2012 Freescale Semiconductor Inc. | ||
4 | |||
5 | CONTENTS | ||
6 | - Interlaken Look-Aside Controller (LAC) Node | ||
7 | - Example LAC Node | ||
8 | - Interlaken Look-Aside Controller (LAC) Software Portal Node | ||
9 | - Interlaken Look-Aside Controller (LAC) Software Portal Child Nodes | ||
10 | - Example LAC SWP Node with Child Nodes | ||
11 | |||
12 | ============================================================================== | ||
13 | Interlaken Look-Aside Controller (LAC) Node | ||
14 | |||
15 | DESCRIPTION | ||
16 | |||
17 | The Interlaken is a narrow, high speed channelized chip-to-chip interface. To | ||
18 | facilitate interoperability between a data path device and a look-aside | ||
19 | co-processor, the Interlaken Look-Aside protocol is defined for short | ||
20 | transaction-related transfers. Although based on the Interlaken protocol, | ||
21 | Interlaken Look-Aside is not directly compatible with Interlaken and can be | ||
22 | considered a different operation mode. | ||
23 | |||
24 | The Interlaken LA controller connects internal platform to Interlaken serial | ||
25 | interface. It accepts LA command through software portals, which are system | ||
26 | memory mapped 4KB spaces. The LA commands are then translated into the | ||
27 | Interlaken control words and data words, which are sent on TX side to TCAM | ||
28 | through SerDes lanes. | ||
29 | |||
30 | There are two 4KiB spaces defined within the LAC global register memory map. | ||
31 | There is a full register set at 0x0000-0x0FFF (also known as the "hypervisor" | ||
32 | version), and a subset at 0x1000-0x1FFF. The former is a superset of the | ||
33 | latter, and includes certain registers that should not be accessible to | ||
34 | partitioned software. Separate nodes are used for each region, with a phandle | ||
35 | linking the hypervisor node to the normal operating node. | ||
36 | |||
37 | PROPERTIES | ||
38 | |||
39 | - compatible | ||
40 | Usage: required | ||
41 | Value type: <string> | ||
42 | Definition: Must include "fsl,interlaken-lac". This represents only | ||
43 | those LAC CCSR registers not protected in partitioned | ||
44 | software. The version of the device is determined by the LAC | ||
45 | IP Block Revision Register (IPBRR0) at offset 0x0BF8. | ||
46 | |||
47 | Table of correspondences between IPBRR0 values and example | ||
48 | chips: | ||
49 | Value Device | ||
50 | ----------- ------- | ||
51 | 0x02000100 T4240 | ||
52 | |||
53 | The Hypervisor node has a different compatible. It must include | ||
54 | "fsl,interlaken-lac-hv". This node represents the protected | ||
55 | LAC register space and is required except inside a partition | ||
56 | where access to the hypervisor node is to be denied. | ||
57 | |||
58 | - fsl,non-hv-node | ||
59 | Usage: required in "fsl,interlaken-lac-hv" | ||
60 | Value type: <phandle> | ||
61 | Definition: Points to the non-protected LAC CCSR mapped register space | ||
62 | node. | ||
63 | |||
64 | - reg | ||
65 | Usage: required | ||
66 | Value type: <prop-encoded-array> | ||
67 | Definition: A standard property. The first resource represents the | ||
68 | Interlaken LAC configuration registers. | ||
69 | |||
70 | - interrupts: | ||
71 | Usage: required in non-hv node only | ||
72 | Value type: <prop-encoded-array> | ||
73 | Definition: Interrupt mapping for Interlaken LAC error IRQ. | ||
74 | |||
75 | EXAMPLE | ||
76 | lac: lac@229000 { | ||
77 | compatible = "fsl,interlaken-lac" | ||
78 | reg = <0x229000 0x1000>; | ||
79 | interrupts = <16 2 1 18>; | ||
80 | }; | ||
81 | |||
82 | lac-hv@228000 { | ||
83 | compatible = "fsl,interlaken-lac-hv" | ||
84 | reg = <0x228000 0x1000>; | ||
85 | fsl,non-hv-node = <&lac>; | ||
86 | }; | ||
87 | |||
88 | =============================================================================== | ||
89 | Interlaken Look-Aside Controller (LAC) Software Portal Container Node | ||
90 | |||
91 | DESCRIPTION | ||
92 | The Interlaken Look-Aside Controller (LAC) utilizes Software Portals to accept | ||
93 | Interlaken Look-Aside (ILA) commands. The Interlaken LAC software portal | ||
94 | memory map occupies 128KB of memory space. The software portal memory space is | ||
95 | intended to be cache-enabled. WIMG for each software space is required to be | ||
96 | 0010 if stashing is enabled; otherwise, WIMG can be 0000 or 0010. | ||
97 | |||
98 | PROPERTIES | ||
99 | |||
100 | - #address-cells | ||
101 | Usage: required | ||
102 | Value type: <u32> | ||
103 | Definition: A standard property. Must have a value of 1. | ||
104 | |||
105 | - #size-cells | ||
106 | Usage: required | ||
107 | Value type: <u32> | ||
108 | Definition: A standard property. Must have a value of 1. | ||
109 | |||
110 | - compatible | ||
111 | Usage: required | ||
112 | Value type: <string> | ||
113 | Definition: Must include "fsl,interlaken-lac-portals" | ||
114 | |||
115 | - ranges | ||
116 | Usage: required | ||
117 | Value type: <prop-encoded-array> | ||
118 | Definition: A standard property. Specifies the address and length | ||
119 | of the LAC portal memory space. | ||
120 | |||
121 | =============================================================================== | ||
122 | Interlaken Look-Aside Controller (LAC) Software Portals Child Nodes | ||
123 | |||
124 | DESCRIPTION | ||
125 | There are up to 24 available software portals with each software portal | ||
126 | requiring 4KB of consecutive memory within the software portal memory mapped | ||
127 | space. | ||
128 | |||
129 | PROPERTIES | ||
130 | |||
131 | - compatible | ||
132 | Usage: required | ||
133 | Value type: <string> | ||
134 | Definition: Must include "fsl,interlaken-lac-portal-vX.Y" where X is | ||
135 | the Major version (IP_MJ) found in the LAC IP Block Revision | ||
136 | Register (IPBRR0), at offset 0x0BF8, and Y is the Minor version | ||
137 | (IP_MN). | ||
138 | |||
139 | Table of correspondences between version values and example chips: | ||
140 | Value Device | ||
141 | ------ ------- | ||
142 | 1.0 T4240 | ||
143 | |||
144 | - reg | ||
145 | Usage: required | ||
146 | Value type: <prop-encoded-array> | ||
147 | Definition: A standard property. The first resource represents the | ||
148 | Interlaken LAC software portal registers. | ||
149 | |||
150 | - fsl,liodn | ||
151 | Value type: <u32> | ||
152 | Definition: The logical I/O device number (LIODN) for this device. The | ||
153 | LIODN is a number expressed by this device and used to perform | ||
154 | look-ups in the IOMMU (PAMU) address table when performing | ||
155 | DMAs. This property is automatically added by u-boot. | ||
156 | |||
157 | =============================================================================== | ||
158 | EXAMPLE | ||
159 | |||
160 | lac-portals { | ||
161 | #address-cells = <0x1>; | ||
162 | #size-cells = <0x1>; | ||
163 | compatible = "fsl,interlaken-lac-portals"; | ||
164 | ranges = <0x0 0xf 0xf4400000 0x20000>; | ||
165 | |||
166 | lportal0: lac-portal@0 { | ||
167 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
168 | fsl,liodn = <0x204>; | ||
169 | reg = <0x0 0x1000>; | ||
170 | }; | ||
171 | |||
172 | lportal1: lac-portal@1000 { | ||
173 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
174 | fsl,liodn = <0x205>; | ||
175 | reg = <0x1000 0x1000>; | ||
176 | }; | ||
177 | |||
178 | lportal2: lac-portal@2000 { | ||
179 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
180 | fsl,liodn = <0x206>; | ||
181 | reg = <0x2000 0x1000>; | ||
182 | }; | ||
183 | |||
184 | lportal3: lac-portal@3000 { | ||
185 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
186 | fsl,liodn = <0x207>; | ||
187 | reg = <0x3000 0x1000>; | ||
188 | }; | ||
189 | |||
190 | lportal4: lac-portal@4000 { | ||
191 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
192 | fsl,liodn = <0x208>; | ||
193 | reg = <0x4000 0x1000>; | ||
194 | }; | ||
195 | |||
196 | lportal5: lac-portal@5000 { | ||
197 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
198 | fsl,liodn = <0x209>; | ||
199 | reg = <0x5000 0x1000>; | ||
200 | }; | ||
201 | |||
202 | lportal6: lac-portal@6000 { | ||
203 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
204 | fsl,liodn = <0x20A>; | ||
205 | reg = <0x6000 0x1000>; | ||
206 | }; | ||
207 | |||
208 | lportal7: lac-portal@7000 { | ||
209 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
210 | fsl,liodn = <0x20B>; | ||
211 | reg = <0x7000 0x1000>; | ||
212 | }; | ||
213 | |||
214 | lportal8: lac-portal@8000 { | ||
215 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
216 | fsl,liodn = <0x20C>; | ||
217 | reg = <0x8000 0x1000>; | ||
218 | }; | ||
219 | |||
220 | lportal9: lac-portal@9000 { | ||
221 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
222 | fsl,liodn = <0x20D>; | ||
223 | reg = <0x9000 0x1000>; | ||
224 | }; | ||
225 | |||
226 | lportal10: lac-portal@A000 { | ||
227 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
228 | fsl,liodn = <0x20E>; | ||
229 | reg = <0xA000 0x1000>; | ||
230 | }; | ||
231 | |||
232 | lportal11: lac-portal@B000 { | ||
233 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
234 | fsl,liodn = <0x20F>; | ||
235 | reg = <0xB000 0x1000>; | ||
236 | }; | ||
237 | |||
238 | lportal12: lac-portal@C000 { | ||
239 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
240 | fsl,liodn = <0x210>; | ||
241 | reg = <0xC000 0x1000>; | ||
242 | }; | ||
243 | |||
244 | lportal13: lac-portal@D000 { | ||
245 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
246 | fsl,liodn = <0x211>; | ||
247 | reg = <0xD000 0x1000>; | ||
248 | }; | ||
249 | |||
250 | lportal14: lac-portal@E000 { | ||
251 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
252 | fsl,liodn = <0x212>; | ||
253 | reg = <0xE000 0x1000>; | ||
254 | }; | ||
255 | |||
256 | lportal15: lac-portal@F000 { | ||
257 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
258 | fsl,liodn = <0x213>; | ||
259 | reg = <0xF000 0x1000>; | ||
260 | }; | ||
261 | |||
262 | lportal16: lac-portal@10000 { | ||
263 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
264 | fsl,liodn = <0x214>; | ||
265 | reg = <0x10000 0x1000>; | ||
266 | }; | ||
267 | |||
268 | lportal17: lac-portal@11000 { | ||
269 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
270 | fsl,liodn = <0x215>; | ||
271 | reg = <0x11000 0x1000>; | ||
272 | }; | ||
273 | |||
274 | lportal8: lac-portal@1200 { | ||
275 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
276 | fsl,liodn = <0x216>; | ||
277 | reg = <0x12000 0x1000>; | ||
278 | }; | ||
279 | |||
280 | lportal19: lac-portal@13000 { | ||
281 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
282 | fsl,liodn = <0x217>; | ||
283 | reg = <0x13000 0x1000>; | ||
284 | }; | ||
285 | |||
286 | lportal20: lac-portal@14000 { | ||
287 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
288 | fsl,liodn = <0x218>; | ||
289 | reg = <0x14000 0x1000>; | ||
290 | }; | ||
291 | |||
292 | lportal21: lac-portal@15000 { | ||
293 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
294 | fsl,liodn = <0x219>; | ||
295 | reg = <0x15000 0x1000>; | ||
296 | }; | ||
297 | |||
298 | lportal22: lac-portal@16000 { | ||
299 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
300 | fsl,liodn = <0x21A>; | ||
301 | reg = <0x16000 0x1000>; | ||
302 | }; | ||
303 | |||
304 | lportal23: lac-portal@17000 { | ||
305 | compatible = "fsl,interlaken-lac-portal-v1.0"; | ||
306 | fsl,liodn = <0x21B>; | ||
307 | reg = <0x17000 0x1000>; | ||
308 | }; | ||
309 | }; | ||
diff --git a/Documentation/devicetree/bindings/pps/pps-gpio.txt b/Documentation/devicetree/bindings/pps/pps-gpio.txt new file mode 100644 index 000000000000..40bf9c3564a5 --- /dev/null +++ b/Documentation/devicetree/bindings/pps/pps-gpio.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | Device-Tree Bindings for a PPS Signal on GPIO | ||
2 | |||
3 | These properties describe a PPS (pulse-per-second) signal connected to | ||
4 | a GPIO pin. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible: should be "pps-gpio" | ||
8 | - gpios: one PPS GPIO in the format described by ../gpio/gpio.txt | ||
9 | |||
10 | Optional properties: | ||
11 | - assert-falling-edge: when present, assert is indicated by a falling edge | ||
12 | (instead of by a rising edge) | ||
13 | |||
14 | Example: | ||
15 | pps { | ||
16 | compatible = "pps-gpio"; | ||
17 | gpios = <&gpio2 6 0>; | ||
18 | |||
19 | assert-falling-edge; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/lp872x.txt b/Documentation/devicetree/bindings/regulator/lp872x.txt new file mode 100644 index 000000000000..78183182dad9 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/lp872x.txt | |||
@@ -0,0 +1,160 @@ | |||
1 | Binding for TI/National Semiconductor LP872x Driver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: "ti,lp8720" or "ti,lp8725" | ||
5 | - reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725 | ||
6 | |||
7 | Optional properties: | ||
8 | - ti,general-config: the value of LP872X_GENERAL_CFG register (u8) | ||
9 | (LP8720) | ||
10 | bit[2]: BUCK output voltage control by external DVS pin or register | ||
11 | 1 = external pin, 0 = bit7 of register 08h | ||
12 | bit[1]: sleep control by external DVS pin or register | ||
13 | 1 = external pin, 0 = bit6 of register 08h | ||
14 | bit[0]: time step unit(usec). 1 = 25, 0 = 50 | ||
15 | |||
16 | (LP8725) | ||
17 | bit[7:6]: time step unit(usec). 00 = 32, 01 = 64, 10 = 128, 11 = 256 | ||
18 | bit[4]: BUCK2 enable control. 1 = enable, 0 = disable | ||
19 | bit[3]: BUCK2 output voltage register address. 1 = 0Ah, 0 = 0Bh | ||
20 | bit[2]: BUCK1 output voltage control by external DVS pin or register | ||
21 | 1 = register 08h, 0 = DVS | ||
22 | bit[1]: LDO sleep control. 1 = sleep mode, 0 = normal | ||
23 | bit[0]: BUCK1 enable control, 1 = enable, 0 = disable | ||
24 | |||
25 | For more details, please see the datasheet. | ||
26 | |||
27 | - ti,update-config: define it when LP872X_GENERAL_CFG register should be set | ||
28 | - ti,dvs-gpio: GPIO specifier for external DVS pin control of LP872x devices. | ||
29 | - ti,dvs-vsel: DVS selector. 0 = SEL_V1, 1 = SEL_V2. | ||
30 | - ti,dvs-state: initial DVS pin state. 0 = DVS_LOW, 1 = DVS_HIGH. | ||
31 | |||
32 | Sub nodes for regulator_init_data | ||
33 | LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck) | ||
34 | LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2) | ||
35 | For more details, please see the following binding document. | ||
36 | (Documentation/devicetree/bindings/regulator/regulator.txt) | ||
37 | |||
38 | Datasheet | ||
39 | - LP8720: http://www.ti.com/lit/ds/symlink/lp8720.pdf | ||
40 | - LP8725: http://www.ti.com/lit/ds/symlink/lp8725.pdf | ||
41 | |||
42 | Example 1) LP8720 | ||
43 | |||
44 | lp8720@7d { | ||
45 | compatible = "ti,lp8720"; | ||
46 | reg = <0x7d>; | ||
47 | |||
48 | /* external DVS pin used, timestep is 25usec */ | ||
49 | ti,general-config = /bits/ 8 <0x03>; | ||
50 | ti,update-config; | ||
51 | |||
52 | /* | ||
53 | * The dvs-gpio depends on the processor environment. | ||
54 | * For example, following GPIO specifier means GPIO134 in OMAP4. | ||
55 | */ | ||
56 | ti,dvs-gpio = <&gpio5 6 0>; | ||
57 | ti,dvs-vsel = /bits/ 8 <1>; /* SEL_V2 */ | ||
58 | ti,dvs-state = /bits/ 8 <1>; /* DVS_HIGH */ | ||
59 | |||
60 | vaf: ldo1 { | ||
61 | regulator-min-microvolt = <1200000>; | ||
62 | regulator-max-microvolt = <3300000>; | ||
63 | }; | ||
64 | |||
65 | vmmc: ldo2 { | ||
66 | regulator-min-microvolt = <1200000>; | ||
67 | regulator-max-microvolt = <3300000>; | ||
68 | }; | ||
69 | |||
70 | vcam_io: ldo3 { | ||
71 | regulator-min-microvolt = <1200000>; | ||
72 | regulator-max-microvolt = <3300000>; | ||
73 | regulator-boot-on; | ||
74 | }; | ||
75 | |||
76 | vcam_core: ldo4 { | ||
77 | regulator-min-microvolt = <800000>; | ||
78 | regulator-max-microvolt = <2850000>; | ||
79 | regulator-boot-on; | ||
80 | }; | ||
81 | |||
82 | vcam: ldo5 { | ||
83 | regulator-min-microvolt = <1200000>; | ||
84 | regulator-max-microvolt = <3300000>; | ||
85 | }; | ||
86 | |||
87 | vcc: buck { | ||
88 | regulator-name = "VBUCK"; | ||
89 | regulator-min-microvolt = <800000>; | ||
90 | regulator-max-microvolt = <2300000>; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | Example 2) LP8725 | ||
95 | |||
96 | lp8725@7a { | ||
97 | compatible = "ti,lp8725"; | ||
98 | reg = <0x7a>; | ||
99 | |||
100 | /* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */ | ||
101 | ti,general-config = /bits/ 8 <0xdd>; | ||
102 | ti,update-config; | ||
103 | |||
104 | vcam_io: ldo1 { | ||
105 | regulator-min-microvolt = <1200000>; | ||
106 | regulator-max-microvolt = <3300000>; | ||
107 | }; | ||
108 | |||
109 | vcam_core: ldo2 { | ||
110 | regulator-min-microvolt = <1200000>; | ||
111 | regulator-max-microvolt = <3300000>; | ||
112 | }; | ||
113 | |||
114 | vcam: ldo3 { | ||
115 | regulator-min-microvolt = <1200000>; | ||
116 | regulator-max-microvolt = <3300000>; | ||
117 | }; | ||
118 | |||
119 | vcmmb_io: ldo4 { | ||
120 | regulator-min-microvolt = <1200000>; | ||
121 | regulator-max-microvolt = <3300000>; | ||
122 | regulator-boot-on; | ||
123 | }; | ||
124 | |||
125 | vcmmb_core: ldo5 { | ||
126 | regulator-min-microvolt = <1200000>; | ||
127 | regulator-max-microvolt = <3300000>; | ||
128 | regulator-boot-on; | ||
129 | }; | ||
130 | |||
131 | vaux1: lilo1 { | ||
132 | regulator-name = "VAUX1"; | ||
133 | regulator-min-microvolt = <800000>; | ||
134 | regulator-max-microvolt = <3300000>; | ||
135 | }; | ||
136 | |||
137 | vaux2: lilo2 { | ||
138 | regulator-name = "VAUX2"; | ||
139 | regulator-min-microvolt = <800000>; | ||
140 | regulator-max-microvolt = <3300000>; | ||
141 | }; | ||
142 | |||
143 | vcc1: buck1 { | ||
144 | regulator-name = "VBUCK1"; | ||
145 | regulator-min-microvolt = <800000>; | ||
146 | regulator-max-microvolt = <3000000>; | ||
147 | regulator-min-microamp = <460000>; | ||
148 | regulator-max-microamp = <1370000>; | ||
149 | regulator-boot-on; | ||
150 | }; | ||
151 | |||
152 | vcc2: buck2 { | ||
153 | regulator-name = "VBUCK2"; | ||
154 | regulator-min-microvolt = <800000>; | ||
155 | regulator-max-microvolt = <3000000>; | ||
156 | regulator-min-microamp = <460000>; | ||
157 | regulator-max-microamp = <1370000>; | ||
158 | regulator-boot-on; | ||
159 | }; | ||
160 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/max8973-regulator.txt b/Documentation/devicetree/bindings/regulator/max8973-regulator.txt new file mode 100644 index 000000000000..4f15d8a1bfd0 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/max8973-regulator.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | * Maxim MAX8973 Voltage Regulator | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: must be "maxim,max8973" | ||
6 | - reg: the i2c slave address of the regulator. It should be 0x1b. | ||
7 | |||
8 | Any standard regulator properties can be used to configure the single max8973 | ||
9 | DCDC. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | max8973@1b { | ||
14 | compatible = "maxim,max8973"; | ||
15 | reg = <0x1b>; | ||
16 | |||
17 | regulator-min-microvolt = <935000>; | ||
18 | regulator-max-microvolt = <1200000>; | ||
19 | regulator-boot-on; | ||
20 | regulator-always-on; | ||
21 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt new file mode 100644 index 000000000000..d5a308629c57 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt | |||
@@ -0,0 +1,72 @@ | |||
1 | * palmas regulator IP block devicetree bindings | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be from the list | ||
5 | ti,twl6035-pmic | ||
6 | ti,twl6036-pmic | ||
7 | ti,twl6037-pmic | ||
8 | ti,tps65913-pmic | ||
9 | ti,tps65914-pmic | ||
10 | and also the generic series names | ||
11 | ti,palmas-pmic | ||
12 | - interrupt-parent : The parent interrupt controller which is palmas. | ||
13 | - interrupts : The interrupt number and the type which can be looked up here: | ||
14 | arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h | ||
15 | - interrupts-name: The names of the individual interrupts. | ||
16 | |||
17 | Optional properties: | ||
18 | - ti,ldo6-vibrator : ldo6 is in vibrator mode | ||
19 | |||
20 | Optional nodes: | ||
21 | - regulators : Must contain a sub-node per regulator from the list below. | ||
22 | Each sub-node should contain the constraints and initialization | ||
23 | information for that regulator. See regulator.txt for a | ||
24 | description of standard properties for these sub-nodes. | ||
25 | Additional custom properties are listed below. | ||
26 | |||
27 | For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP, | ||
28 | smps45, smps457, smps7 depending on variant, smps6, smps[8-10], | ||
29 | ldo[1-9], ldoln, ldousb. | ||
30 | |||
31 | Optional sub-node properties: | ||
32 | ti,warm-reset - maintain voltage during warm reset(boolean) | ||
33 | ti,roof-floor - control voltage selection by pin(boolean) | ||
34 | ti,sleep-mode - mode to adopt in pmic sleep 0 - off, 1 - auto, | ||
35 | 2 - eco, 3 - forced pwm | ||
36 | ti,tstep - slope control 0 - Jump, 1 10mV/us, 2 5mV/us, 3 2.5mV/us | ||
37 | ti,smps-range - OTP has the wrong range set for the hardware so override | ||
38 | 0 - low range, 1 - high range. | ||
39 | |||
40 | Example: | ||
41 | |||
42 | #include <dt-bindings/interrupt-controller/irq.h> | ||
43 | |||
44 | pmic { | ||
45 | compatible = "ti,twl6035-pmic", "ti,palmas-pmic"; | ||
46 | interrupt-parent = <&palmas>; | ||
47 | interrupts = <14 IRQ_TYPE_NONE>; | ||
48 | interrupts-name = "short-irq"; | ||
49 | |||
50 | ti,ldo6-vibrator; | ||
51 | |||
52 | regulators { | ||
53 | smps12_reg : smps12 { | ||
54 | regulator-name = "smps12"; | ||
55 | regulator-min-microvolt = < 600000>; | ||
56 | regulator-max-microvolt = <1500000>; | ||
57 | regulator-always-on; | ||
58 | regulator-boot-on; | ||
59 | ti,warm-reset; | ||
60 | ti,roof-floor; | ||
61 | ti,mode-sleep = <0>; | ||
62 | ti,tstep = <0>; | ||
63 | ti,smps-range = <1>; | ||
64 | }; | ||
65 | |||
66 | ldo1_reg: ldo1 { | ||
67 | regulator-name = "ldo1"; | ||
68 | regulator-min-microvolt = <2800000>; | ||
69 | regulator-max-microvolt = <2800000>; | ||
70 | }; | ||
71 | }; | ||
72 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt index ecfc6ccd67ef..48a3b8e5d6bd 100644 --- a/Documentation/devicetree/bindings/regulator/regulator.txt +++ b/Documentation/devicetree/bindings/regulator/regulator.txt | |||
@@ -9,6 +9,7 @@ Optional properties: | |||
9 | - regulator-max-microamp: largest current consumers may set | 9 | - regulator-max-microamp: largest current consumers may set |
10 | - regulator-always-on: boolean, regulator should never be disabled | 10 | - regulator-always-on: boolean, regulator should never be disabled |
11 | - regulator-boot-on: bootloader/firmware enabled regulator | 11 | - regulator-boot-on: bootloader/firmware enabled regulator |
12 | - regulator-allow-bypass: allow the regulator to go into bypass mode | ||
12 | - <name>-supply: phandle to the parent supply/regulator node | 13 | - <name>-supply: phandle to the parent supply/regulator node |
13 | - regulator-ramp-delay: ramp delay for regulator(in uV/uS) | 14 | - regulator-ramp-delay: ramp delay for regulator(in uV/uS) |
14 | 15 | ||
diff --git a/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt new file mode 100644 index 000000000000..2e57a33e9029 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt | |||
@@ -0,0 +1,128 @@ | |||
1 | Adaptive Body Bias(ABB) SoC internal LDO regulator for Texas Instruments SoCs | ||
2 | |||
3 | Required Properties: | ||
4 | - compatible: Should be one of: | ||
5 | - "ti,abb-v1" for older SoCs like OMAP3 | ||
6 | - "ti,abb-v2" for newer SoCs like OMAP4, OMAP5 | ||
7 | - reg: Address and length of the register set for the device. It contains | ||
8 | the information of registers in the same order as described by reg-names | ||
9 | - reg-names: Should contain the reg names | ||
10 | - "base-address" - contains base address of ABB module | ||
11 | - "int-address" - contains address of interrupt register for ABB module | ||
12 | (also see Optional properties) | ||
13 | - #address-cell: should be 0 | ||
14 | - #size-cell: should be 0 | ||
15 | - clocks: should point to the clock node used by ABB module | ||
16 | - ti,settling-time: Settling time in uSecs from SoC documentation for ABB module | ||
17 | to settle down(target time for SR2_WTCNT_VALUE). | ||
18 | - ti,clock-cycles: SoC specific data about count of system ti,clock-cycles used for | ||
19 | computing settling time from SoC Documentation for ABB module(clock | ||
20 | cycles for SR2_WTCNT_VALUE). | ||
21 | - ti,tranxdone-status-mask: Mask to the int-register to write-to-clear mask | ||
22 | indicating LDO tranxdone (operation complete). | ||
23 | - ti,abb_info: An array of 6-tuples u32 items providing information about ABB | ||
24 | configuration needed per operational voltage of the device. | ||
25 | Each item consists of the following in the same order: | ||
26 | volt: voltage in uV - Only used to index ABB information. | ||
27 | ABB mode: one of the following: | ||
28 | 0-bypass | ||
29 | 1-Forward Body Bias(FBB) | ||
30 | 3-Reverse Body Bias(RBB) | ||
31 | efuse: (see Optional properties) | ||
32 | RBB enable efuse Mask: (See Optional properties) | ||
33 | FBB enable efuse Mask: (See Optional properties) | ||
34 | Vset value efuse Mask: (See Optional properties) | ||
35 | |||
36 | NOTE: If more than 1 entry is present, then regulator is setup to change | ||
37 | voltage, allowing for various modes to be selected indexed off | ||
38 | the regulator. Further, ABB LDOs are considered always-on by | ||
39 | default. | ||
40 | |||
41 | Optional Properties: | ||
42 | - reg-names: In addition to the required properties, the following are optional | ||
43 | - "efuse-address" - Contains efuse base address used to pick up ABB info. | ||
44 | - "ldo-address" - Contains address of ABB LDO overide register address. | ||
45 | "efuse-address" is required for this. | ||
46 | - ti,ldovbb-vset-mask - Required if ldo-address is set, mask for LDO override | ||
47 | register to provide override vset value. | ||
48 | - ti,ldovbb-override-mask - Required if ldo-address is set, mask for LDO | ||
49 | override register to enable override vset value. | ||
50 | - ti,abb_opp_sel: Addendum to the description in required properties | ||
51 | efuse: Mandatory if 'efuse-address' register is defined. Provides offset | ||
52 | from efuse-address to pick up ABB characteristics. Set to 0 if | ||
53 | 'efuse-address' is not defined. | ||
54 | RBB enable efuse Mask: Optional if 'efuse-address' register is defined. | ||
55 | 'ABB mode' is force set to RBB mode if value at "efuse-address" | ||
56 | + efuse maps to RBB mask. Set to 0 to ignore this. | ||
57 | FBB enable efuse Mask: Optional if 'efuse-address' register is defined. | ||
58 | 'ABB mode' is force set to FBB mode if value at "efuse-address" | ||
59 | + efuse maps to FBB mask (valid only if RBB mask does not match) | ||
60 | Set to 0 to ignore this. | ||
61 | Vset value efuse Mask: Mandatory if ldo-address is set. Picks up from | ||
62 | efuse the value to set in 'ti,ldovbb-vset-mask' at ldo-address. | ||
63 | |||
64 | Example #1: Simplest configuration (no efuse data, hard coded ABB table): | ||
65 | abb_x: regulator-abb-x { | ||
66 | compatible = "ti,abb-v1"; | ||
67 | regulator-name = "abb_x"; | ||
68 | #address-cell = <0>; | ||
69 | #size-cells = <0>; | ||
70 | reg = <0x483072f0 0x8>, <0x48306818 0x4>; | ||
71 | reg-names = "base-address", "int-address"; | ||
72 | ti,tranxdone-status-mask = <0x4000000>; | ||
73 | clocks = <&sysclk>; | ||
74 | ti,settling-time = <30>; | ||
75 | ti,clock-cycles = <8>; | ||
76 | ti,abb_info = < | ||
77 | /* uV ABB efuse rbb_m fbb_m vset_m */ | ||
78 | 1012500 0 0 0 0 0 /* Bypass */ | ||
79 | 1200000 3 0 0 0 0 /* RBB mandatory */ | ||
80 | 1320000 1 0 0 0 0 /* FBB mandatory */ | ||
81 | >; | ||
82 | }; | ||
83 | |||
84 | Example #2: Efuse bits contain ABB mode setting (no LDO override capability) | ||
85 | abb_y: regulator-abb-y { | ||
86 | compatible = "ti,abb-v2"; | ||
87 | regulator-name = "abb_y"; | ||
88 | #address-cell = <0>; | ||
89 | #size-cells = <0>; | ||
90 | reg = <0x4a307bd0 0x8>, <0x4a306014 0x4>, <0x4A002268 0x8>; | ||
91 | reg-names = "base-address", "int-address", "efuse-address"; | ||
92 | ti,tranxdone-status-mask = <0x4000000>; | ||
93 | clocks = <&sysclk>; | ||
94 | ti,settling-time = <50>; | ||
95 | ti,clock-cycles = <16>; | ||
96 | ti,abb_info = < | ||
97 | /* uV ABB efuse rbb_m fbb_m vset_m */ | ||
98 | 975000 0 0 0 0 0 /* Bypass */ | ||
99 | 1012500 0 0 0x40000 0 0 /* RBB optional */ | ||
100 | 1200000 0 0x4 0 0x40000 0 /* FBB optional */ | ||
101 | 1320000 1 0 0 0 0 /* FBB mandatory */ | ||
102 | >; | ||
103 | }; | ||
104 | |||
105 | Example #3: Efuse bits contain ABB mode setting and LDO override capability | ||
106 | abb_z: regulator-abb-z { | ||
107 | compatible = "ti,abb-v2"; | ||
108 | regulator-name = "abb_z"; | ||
109 | #address-cell = <0>; | ||
110 | #size-cells = <0>; | ||
111 | reg = <0x4ae07ce4 0x8>, <0x4ae06010 0x4>, | ||
112 | <0x4a002194 0x8>, <0x4ae0C314 0x4>; | ||
113 | reg-names = "base-address", "int-address", | ||
114 | "efuse-address", "ldo-address"; | ||
115 | ti,tranxdone-status-mask = <0x8000000>; | ||
116 | /* LDOVBBMM_MUX_CTRL */ | ||
117 | ti,ldovbb-override-mask = <0x400>; | ||
118 | /* LDOVBBMM_VSET_OUT */ | ||
119 | ti,ldovbb-vset-mask = <0x1F>; | ||
120 | clocks = <&sysclk>; | ||
121 | ti,settling-time = <50>; | ||
122 | ti,clock-cycles = <16>; | ||
123 | ti,abb_info = < | ||
124 | /* uV ABB efuse rbb_m fbb_m vset_m */ | ||
125 | 975000 0 0 0 0 0 /* Bypass */ | ||
126 | 1200000 0 0x4 0 0x40000 0x1f00 /* FBB optional, vset */ | ||
127 | >; | ||
128 | }; | ||
diff --git a/Documentation/devicetree/bindings/rtc/dw-apb.txt b/Documentation/devicetree/bindings/rtc/dw-apb.txt index 93e2b0f048e6..eb2327b2bdb3 100644 --- a/Documentation/devicetree/bindings/rtc/dw-apb.txt +++ b/Documentation/devicetree/bindings/rtc/dw-apb.txt | |||
@@ -5,9 +5,20 @@ Required properties: | |||
5 | - reg: physical base address of the controller and length of memory mapped | 5 | - reg: physical base address of the controller and length of memory mapped |
6 | region. | 6 | region. |
7 | - interrupts: IRQ line for the timer. | 7 | - interrupts: IRQ line for the timer. |
8 | - either clocks+clock-names or clock-frequency properties | ||
9 | |||
10 | Optional properties: | ||
11 | - clocks : list of clock specifiers, corresponding to entries in | ||
12 | the clock-names property; | ||
13 | - clock-names : should contain "timer" and "pclk" entries, matching entries | ||
14 | in the clocks property. | ||
8 | - clock-frequency: The frequency in HZ of the timer. | 15 | - clock-frequency: The frequency in HZ of the timer. |
9 | - clock-freq: For backwards compatibility with picoxcell | 16 | - clock-freq: For backwards compatibility with picoxcell |
10 | 17 | ||
18 | If using the clock specifiers, the pclk clock is optional, as not all | ||
19 | systems may use one. | ||
20 | |||
21 | |||
11 | Example: | 22 | Example: |
12 | 23 | ||
13 | timer1: timer@ffc09000 { | 24 | timer1: timer@ffc09000 { |
@@ -23,3 +34,11 @@ Example: | |||
23 | clock-frequency = <200000000>; | 34 | clock-frequency = <200000000>; |
24 | reg = <0xffd00000 0x1000>; | 35 | reg = <0xffd00000 0x1000>; |
25 | }; | 36 | }; |
37 | |||
38 | timer3: timer@ffe00000 { | ||
39 | compatible = "snps,dw-apb-timer-osc"; | ||
40 | interrupts = <0 170 4>; | ||
41 | reg = <0xffe00000 0x1000>; | ||
42 | clocks = <&timer_clk>, <&timer_pclk>; | ||
43 | clock-names = "timer", "pclk"; | ||
44 | }; | ||
diff --git a/Documentation/devicetree/bindings/serio/olpc,ap-sp.txt b/Documentation/devicetree/bindings/serio/olpc,ap-sp.txt new file mode 100644 index 000000000000..0e72183f52bc --- /dev/null +++ b/Documentation/devicetree/bindings/serio/olpc,ap-sp.txt | |||
@@ -0,0 +1,13 @@ | |||
1 | OLPC AP-SP serio interface | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "olpc,ap-sp" | ||
5 | - reg : base address and length of SoC's WTM registers | ||
6 | - interrupts : SP-AP interrupt | ||
7 | |||
8 | Example: | ||
9 | ap-sp@d4290000 { | ||
10 | compatible = "olpc,ap-sp"; | ||
11 | reg = <0xd4290000 0x1000>; | ||
12 | interrupts = <40>; | ||
13 | } | ||
diff --git a/Documentation/devicetree/bindings/sound/adi,adau1701.txt b/Documentation/devicetree/bindings/sound/adi,adau1701.txt new file mode 100644 index 000000000000..547a49b56a62 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/adi,adau1701.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | Analog Devices ADAU1701 | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible: Should contain "adi,adau1701" | ||
6 | - reg: The i2c address. Value depends on the state of ADDR0 | ||
7 | and ADDR1, as wired in hardware. | ||
8 | |||
9 | Optional properties: | ||
10 | |||
11 | - reset-gpio: A GPIO spec to define which pin is connected to the | ||
12 | chip's !RESET pin. If specified, the driver will | ||
13 | assert a hardware reset at probe time. | ||
14 | - adi,pll-mode-gpios: An array of two GPIO specs to describe the GPIOs | ||
15 | the ADAU's PLL config pins are connected to. | ||
16 | The state of the pins are set according to the | ||
17 | configured clock divider on ASoC side before the | ||
18 | firmware is loaded. | ||
19 | - adi,pin-config: An array of 12 numerical values selecting one of the | ||
20 | pin configurations as described in the datasheet, | ||
21 | table 53. Note that the value of this property has | ||
22 | to be prefixed with '/bits/ 8'. | ||
23 | |||
24 | Examples: | ||
25 | |||
26 | i2c_bus { | ||
27 | adau1701@34 { | ||
28 | compatible = "adi,adau1701"; | ||
29 | reg = <0x34>; | ||
30 | reset-gpio = <&gpio 23 0>; | ||
31 | adi,pll-mode-gpios = <&gpio 24 0 &gpio 25 0>; | ||
32 | adi,pin-config = /bits/ 8 <0x4 0x7 0x5 0x5 0x4 0x4 | ||
33 | 0x4 0x4 0x4 0x4 0x4 0x4>; | ||
34 | }; | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt b/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt new file mode 100644 index 000000000000..f49450a87890 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt | |||
@@ -0,0 +1,46 @@ | |||
1 | Freescale i.MX audio complex with WM8962 codec | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "fsl,imx-audio-wm8962" | ||
5 | - model : The user-visible name of this sound complex | ||
6 | - ssi-controller : The phandle of the i.MX SSI controller | ||
7 | - audio-codec : The phandle of the WM8962 audio codec | ||
8 | - audio-routing : A list of the connections between audio components. | ||
9 | Each entry is a pair of strings, the first being the connection's sink, | ||
10 | the second being the connection's source. Valid names could be power | ||
11 | supplies, WM8962 pins, and the jacks on the board: | ||
12 | |||
13 | Power supplies: | ||
14 | * Mic Bias | ||
15 | |||
16 | Board connectors: | ||
17 | * Mic Jack | ||
18 | * Headphone Jack | ||
19 | * Ext Spk | ||
20 | |||
21 | - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) | ||
22 | - mux-ext-port : The external port of the i.MX audio muxer | ||
23 | |||
24 | Note: The AUDMUX port numbering should start at 1, which is consistent with | ||
25 | hardware manual. | ||
26 | |||
27 | Example: | ||
28 | |||
29 | sound { | ||
30 | compatible = "fsl,imx6q-sabresd-wm8962", | ||
31 | "fsl,imx-audio-wm8962"; | ||
32 | model = "wm8962-audio"; | ||
33 | ssi-controller = <&ssi2>; | ||
34 | audio-codec = <&codec>; | ||
35 | audio-routing = | ||
36 | "Headphone Jack", "HPOUTL", | ||
37 | "Headphone Jack", "HPOUTR", | ||
38 | "Ext Spk", "SPKOUTL", | ||
39 | "Ext Spk", "SPKOUTR", | ||
40 | "MICBIAS", "AMIC", | ||
41 | "IN3R", "MICBIAS", | ||
42 | "DMIC", "MICBIAS", | ||
43 | "DMICDAT", "DMIC"; | ||
44 | mux-int-port = <2>; | ||
45 | mux-ext-port = <3>; | ||
46 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/mxs-saif.txt b/Documentation/devicetree/bindings/sound/mxs-saif.txt index c37ba6143d9b..7ba07a118e37 100644 --- a/Documentation/devicetree/bindings/sound/mxs-saif.txt +++ b/Documentation/devicetree/bindings/sound/mxs-saif.txt | |||
@@ -3,8 +3,11 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: Should be "fsl,<chip>-saif" | 4 | - compatible: Should be "fsl,<chip>-saif" |
5 | - reg: Should contain registers location and length | 5 | - reg: Should contain registers location and length |
6 | - interrupts: Should contain ERROR and DMA interrupts | 6 | - interrupts: Should contain ERROR interrupt number |
7 | - fsl,saif-dma-channel: APBX DMA channel for the SAIF | 7 | - dmas: DMA specifier, consisting of a phandle to DMA controller node |
8 | and SAIF DMA channel ID. | ||
9 | Refer to dma.txt and fsl-mxs-dma.txt for details. | ||
10 | - dma-names: Must be "rx-tx". | ||
8 | 11 | ||
9 | Optional properties: | 12 | Optional properties: |
10 | - fsl,saif-master: phandle to the master SAIF. It's only required for | 13 | - fsl,saif-master: phandle to the master SAIF. It's only required for |
@@ -23,14 +26,16 @@ aliases { | |||
23 | saif0: saif@80042000 { | 26 | saif0: saif@80042000 { |
24 | compatible = "fsl,imx28-saif"; | 27 | compatible = "fsl,imx28-saif"; |
25 | reg = <0x80042000 2000>; | 28 | reg = <0x80042000 2000>; |
26 | interrupts = <59 80>; | 29 | interrupts = <59>; |
27 | fsl,saif-dma-channel = <4>; | 30 | dmas = <&dma_apbx 4>; |
31 | dma-names = "rx-tx"; | ||
28 | }; | 32 | }; |
29 | 33 | ||
30 | saif1: saif@80046000 { | 34 | saif1: saif@80046000 { |
31 | compatible = "fsl,imx28-saif"; | 35 | compatible = "fsl,imx28-saif"; |
32 | reg = <0x80046000 2000>; | 36 | reg = <0x80046000 2000>; |
33 | interrupts = <58 81>; | 37 | interrupts = <58>; |
34 | fsl,saif-dma-channel = <5>; | 38 | dmas = <&dma_apbx 5>; |
39 | dma-names = "rx-tx"; | ||
35 | fsl,saif-master = <&saif0>; | 40 | fsl,saif-master = <&saif0>; |
36 | }; | 41 | }; |
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt new file mode 100644 index 000000000000..d130818700b2 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5640.txt | |||
@@ -0,0 +1,71 @@ | |||
1 | NVIDIA Tegra audio complex, with RT5640 CODEC | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "nvidia,tegra-audio-rt5640" | ||
5 | - clocks : Must contain an entry for each entry in clock-names. | ||
6 | - clock-names : Must include the following entries: | ||
7 | "pll_a" (The Tegra clock of that name), | ||
8 | "pll_a_out0" (The Tegra clock of that name), | ||
9 | "mclk" (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk) | ||
10 | - nvidia,model : The user-visible name of this sound complex. | ||
11 | - nvidia,audio-routing : A list of the connections between audio components. | ||
12 | Each entry is a pair of strings, the first being the connection's sink, | ||
13 | the second being the connection's source. Valid names for sources and | ||
14 | sinks are the RT5640's pins, and the jacks on the board: | ||
15 | |||
16 | RT5640 pins: | ||
17 | |||
18 | * DMIC1 | ||
19 | * DMIC2 | ||
20 | * MICBIAS1 | ||
21 | * IN1P | ||
22 | * IN1R | ||
23 | * IN2P | ||
24 | * IN2R | ||
25 | * HPOL | ||
26 | * HPOR | ||
27 | * LOUTL | ||
28 | * LOUTR | ||
29 | * MONOP | ||
30 | * MONON | ||
31 | * SPOLP | ||
32 | * SPOLN | ||
33 | * SPORP | ||
34 | * SPORN | ||
35 | |||
36 | Board connectors: | ||
37 | |||
38 | * Headphones | ||
39 | * Speakers | ||
40 | |||
41 | - nvidia,i2s-controller : The phandle of the Tegra I2S controller that's | ||
42 | connected to the CODEC. | ||
43 | - nvidia,audio-codec : The phandle of the RT5640 audio codec. This binding | ||
44 | assumes that AIF1 on the CODEC is connected to Tegra. | ||
45 | |||
46 | Optional properties: | ||
47 | - nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in | ||
48 | |||
49 | Example: | ||
50 | |||
51 | sound { | ||
52 | compatible = "nvidia,tegra-audio-rt5640-dalmore", | ||
53 | "nvidia,tegra-audio-rt5640"; | ||
54 | nvidia,model = "NVIDIA Tegra Dalmore"; | ||
55 | |||
56 | nvidia,audio-routing = | ||
57 | "Headphones", "HPOR", | ||
58 | "Headphones", "HPOL", | ||
59 | "Speakers", "SPORP", | ||
60 | "Speakers", "SPORN", | ||
61 | "Speakers", "SPOLP", | ||
62 | "Speakers", "SPOLN"; | ||
63 | |||
64 | nvidia,i2s-controller = <&tegra_i2s1>; | ||
65 | nvidia,audio-codec = <&rt5640>; | ||
66 | |||
67 | nvidia,hp-det-gpios = <&gpio 143 0>; /* GPIO PR7 */ | ||
68 | |||
69 | clocks = <&tegra_car 216>, <&tegra_car 217>, <&tegra_car 120>; | ||
70 | clock-names = "pll_a", "pll_a_out0", "mclk"; | ||
71 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/rt5640.txt b/Documentation/devicetree/bindings/sound/rt5640.txt new file mode 100644 index 000000000000..005bcb24d72d --- /dev/null +++ b/Documentation/devicetree/bindings/sound/rt5640.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | RT5640 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "realtek,rt5640". | ||
8 | |||
9 | - reg : The I2C address of the device. | ||
10 | |||
11 | - interrupts : The CODEC's interrupt output. | ||
12 | |||
13 | Optional properties: | ||
14 | |||
15 | - realtek,in1-differential | ||
16 | - realtek,in2-differential | ||
17 | Boolean. Indicate MIC1/2 input are differential, rather than single-ended. | ||
18 | |||
19 | - realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin. | ||
20 | |||
21 | Example: | ||
22 | |||
23 | rt5640 { | ||
24 | compatible = "realtek,rt5640"; | ||
25 | reg = <0x1c>; | ||
26 | interrupt-parent = <&gpio>; | ||
27 | interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>; | ||
28 | realtek,ldo1-en-gpios = | ||
29 | <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; | ||
30 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt b/Documentation/devicetree/bindings/sound/samsung-i2s.txt index 3070046da2e5..025e66b85a43 100644 --- a/Documentation/devicetree/bindings/sound/samsung-i2s.txt +++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt | |||
@@ -8,6 +8,16 @@ Required SoC Specific Properties: | |||
8 | - dmas: list of DMA controller phandle and DMA request line ordered pairs. | 8 | - dmas: list of DMA controller phandle and DMA request line ordered pairs. |
9 | - dma-names: identifier string for each DMA request line in the dmas property. | 9 | - dma-names: identifier string for each DMA request line in the dmas property. |
10 | These strings correspond 1:1 with the ordered pairs in dmas. | 10 | These strings correspond 1:1 with the ordered pairs in dmas. |
11 | - clocks: Handle to iis clock and RCLK source clk. | ||
12 | - clock-names: | ||
13 | i2s0 uses some base clks from CMU and some are from audio subsystem internal | ||
14 | clock controller. The clock names for i2s0 should be "iis", "i2s_opclk0" and | ||
15 | "i2s_opclk1" as shown in the example below. | ||
16 | i2s1 and i2s2 uses clocks from CMU. The clock names for i2s1 and i2s2 should | ||
17 | be "iis" and "i2s_opclk0". | ||
18 | "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root | ||
19 | clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2 | ||
20 | doesn't have any such mux. | ||
11 | 21 | ||
12 | Optional SoC Specific Properties: | 22 | Optional SoC Specific Properties: |
13 | 23 | ||
@@ -20,44 +30,26 @@ Optional SoC Specific Properties: | |||
20 | then this flag is enabled. | 30 | then this flag is enabled. |
21 | - samsung,idma-addr: Internal DMA register base address of the audio | 31 | - samsung,idma-addr: Internal DMA register base address of the audio |
22 | sub system(used in secondary sound source). | 32 | sub system(used in secondary sound source). |
23 | 33 | - pinctrl-0: Should specify pin control groups used for this controller. | |
24 | Required Board Specific Properties: | 34 | - pinctrl-names: Should contain only one value - "default". |
25 | |||
26 | - gpios: The gpio specifier for data out,data in, LRCLK, CDCLK and SCLK | ||
27 | interface lines. The format of the gpio specifier depends on the gpio | ||
28 | controller. | ||
29 | The syntax of samsung gpio specifier is | ||
30 | <[phandle of the gpio controller node] | ||
31 | [pin number within the gpio controller] | ||
32 | [mux function] | ||
33 | [flags and pull up/down] | ||
34 | [drive strength]> | ||
35 | 35 | ||
36 | Example: | 36 | Example: |
37 | 37 | ||
38 | - SoC Specific Portion: | 38 | i2s0: i2s@03830000 { |
39 | |||
40 | i2s@03830000 { | ||
41 | compatible = "samsung,i2s-v5"; | 39 | compatible = "samsung,i2s-v5"; |
42 | reg = <0x03830000 0x100>; | 40 | reg = <0x03830000 0x100>; |
43 | dmas = <&pdma0 10 | 41 | dmas = <&pdma0 10 |
44 | &pdma0 9 | 42 | &pdma0 9 |
45 | &pdma0 8>; | 43 | &pdma0 8>; |
46 | dma-names = "tx", "rx", "tx-sec"; | 44 | dma-names = "tx", "rx", "tx-sec"; |
45 | clocks = <&clock_audss EXYNOS_I2S_BUS>, | ||
46 | <&clock_audss EXYNOS_I2S_BUS>, | ||
47 | <&clock_audss EXYNOS_SCLK_I2S>; | ||
48 | clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; | ||
47 | samsung,supports-6ch; | 49 | samsung,supports-6ch; |
48 | samsung,supports-rstclr; | 50 | samsung,supports-rstclr; |
49 | samsung,supports-secdai; | 51 | samsung,supports-secdai; |
50 | samsung,idma-addr = <0x03000000>; | 52 | samsung,idma-addr = <0x03000000>; |
51 | }; | 53 | pinctrl-names = "default"; |
52 | 54 | pinctrl-0 = <&i2s0_bus>; | |
53 | - Board Specific Portion: | ||
54 | |||
55 | i2s@03830000 { | ||
56 | gpios = <&gpz 0 2 0 0>, /* I2S_0_SCLK */ | ||
57 | <&gpz 1 2 0 0>, /* I2S_0_CDCLK */ | ||
58 | <&gpz 2 2 0 0>, /* I2S_0_LRCK */ | ||
59 | <&gpz 3 2 0 0>, /* I2S_0_SDI */ | ||
60 | <&gpz 4 2 0 0>, /* I2S_0_SDO[1] */ | ||
61 | <&gpz 5 2 0 0>, /* I2S_0_SDO[2] */ | ||
62 | <&gpz 6 2 0 0>; /* I2S_0_SDO[3] */ | ||
63 | }; | 55 | }; |
diff --git a/Documentation/devicetree/bindings/sound/sgtl5000.txt b/Documentation/devicetree/bindings/sound/sgtl5000.txt index 9cc44449508d..955df60a118c 100644 --- a/Documentation/devicetree/bindings/sound/sgtl5000.txt +++ b/Documentation/devicetree/bindings/sound/sgtl5000.txt | |||
@@ -5,9 +5,12 @@ Required properties: | |||
5 | 5 | ||
6 | - reg : the I2C address of the device | 6 | - reg : the I2C address of the device |
7 | 7 | ||
8 | - clocks : the clock provider of SYS_MCLK | ||
9 | |||
8 | Example: | 10 | Example: |
9 | 11 | ||
10 | codec: sgtl5000@0a { | 12 | codec: sgtl5000@0a { |
11 | compatible = "fsl,sgtl5000"; | 13 | compatible = "fsl,sgtl5000"; |
12 | reg = <0x0a>; | 14 | reg = <0x0a>; |
15 | clocks = <&clks 150>; | ||
13 | }; | 16 | }; |
diff --git a/Documentation/devicetree/bindings/sound/spdif-receiver.txt b/Documentation/devicetree/bindings/sound/spdif-receiver.txt new file mode 100644 index 000000000000..80f807bf8a1d --- /dev/null +++ b/Documentation/devicetree/bindings/sound/spdif-receiver.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | Device-Tree bindings for dummy spdif receiver | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "linux,spdif-dir". | ||
5 | |||
6 | Example node: | ||
7 | |||
8 | codec: spdif-receiver { | ||
9 | compatible = "linux,spdif-dir"; | ||
10 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/spdif-transmitter.txt b/Documentation/devicetree/bindings/sound/spdif-transmitter.txt new file mode 100644 index 000000000000..55a85841dd85 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/spdif-transmitter.txt | |||
@@ -0,0 +1,10 @@ | |||
1 | Device-Tree bindings for dummy spdif transmitter | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: should be "linux,spdif-dit". | ||
5 | |||
6 | Example node: | ||
7 | |||
8 | codec: spdif-transmitter { | ||
9 | compatible = "linux,spdif-dit"; | ||
10 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/ssm2518.txt b/Documentation/devicetree/bindings/sound/ssm2518.txt new file mode 100644 index 000000000000..59381a778c79 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/ssm2518.txt | |||
@@ -0,0 +1,20 @@ | |||
1 | SSM2518 audio amplifier | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Must be "adi,ssm2518" | ||
7 | - reg : the I2C address of the device. This will either be 0x34 (ADDR pin low) | ||
8 | or 0x35 (ADDR pin high) | ||
9 | |||
10 | Optional properties: | ||
11 | - gpios : GPIO connected to the nSD pin. If the property is not present it is | ||
12 | assumed that the nSD pin is hardwired to always on. | ||
13 | |||
14 | Example: | ||
15 | |||
16 | ssm2518: ssm2518@34 { | ||
17 | compatible = "adi,ssm2518"; | ||
18 | reg = <0x34>; | ||
19 | gpios = <&gpio 5 0>; | ||
20 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/ti,tas5086.txt b/Documentation/devicetree/bindings/sound/ti,tas5086.txt index 8ea4f5b4818d..d2866a0d6a26 100644 --- a/Documentation/devicetree/bindings/sound/ti,tas5086.txt +++ b/Documentation/devicetree/bindings/sound/ti,tas5086.txt | |||
@@ -20,6 +20,17 @@ Optional properties: | |||
20 | When not specified, the hardware default of 1300ms | 20 | When not specified, the hardware default of 1300ms |
21 | is retained. | 21 | is retained. |
22 | 22 | ||
23 | - ti,mid-z-channel-X: Boolean properties, X being a number from 1 to 6. | ||
24 | If given, channel X will start with the Mid-Z start | ||
25 | sequence, otherwise the default Low-Z scheme is used. | ||
26 | |||
27 | The correct configuration depends on how the power | ||
28 | stages connected to the PWM output pins work. Not all | ||
29 | power stages are compatible to Mid-Z - please refer | ||
30 | to the datasheets for more details. | ||
31 | |||
32 | Most systems should not set any of these properties. | ||
33 | |||
23 | Examples: | 34 | Examples: |
24 | 35 | ||
25 | i2c_bus { | 36 | i2c_bus { |
diff --git a/Documentation/devicetree/bindings/sound/wm8962.txt b/Documentation/devicetree/bindings/sound/wm8962.txt index dceb3b1c2bb7..7f82b59ec8f9 100644 --- a/Documentation/devicetree/bindings/sound/wm8962.txt +++ b/Documentation/devicetree/bindings/sound/wm8962.txt | |||
@@ -8,9 +8,32 @@ Required properties: | |||
8 | 8 | ||
9 | - reg : the I2C address of the device. | 9 | - reg : the I2C address of the device. |
10 | 10 | ||
11 | Optional properties: | ||
12 | - spk-mono: This is a boolean property. If present, the SPK_MONO bit | ||
13 | of R51 (Class D Control 2) gets set, indicating that the speaker is | ||
14 | in mono mode. | ||
15 | |||
16 | - mic-cfg : Default register value for R48 (Additional Control 4). | ||
17 | If absent, the default should be the register default. | ||
18 | |||
19 | - gpio-cfg : A list of GPIO configuration register values. The list must | ||
20 | be 6 entries long. If absent, no configuration of these registers is | ||
21 | performed. And note that only the value within [0x0, 0xffff] is valid. | ||
22 | Any other value is regarded as setting the GPIO register by its reset | ||
23 | value 0x0. | ||
24 | |||
11 | Example: | 25 | Example: |
12 | 26 | ||
13 | codec: wm8962@1a { | 27 | codec: wm8962@1a { |
14 | compatible = "wlf,wm8962"; | 28 | compatible = "wlf,wm8962"; |
15 | reg = <0x1a>; | 29 | reg = <0x1a>; |
30 | |||
31 | gpio-cfg = < | ||
32 | 0x0000 /* 0:Default */ | ||
33 | 0x0000 /* 1:Default */ | ||
34 | 0x0013 /* 2:FN_DMICCLK */ | ||
35 | 0x0000 /* 3:Default */ | ||
36 | 0x8014 /* 4:FN_DMICCDAT */ | ||
37 | 0x0000 /* 5:Default */ | ||
38 | >; | ||
16 | }; | 39 | }; |
diff --git a/Documentation/devicetree/bindings/spi/brcm,bcm2835-spi.txt b/Documentation/devicetree/bindings/spi/brcm,bcm2835-spi.txt index 8bf89c643640..f11f295c8450 100644 --- a/Documentation/devicetree/bindings/spi/brcm,bcm2835-spi.txt +++ b/Documentation/devicetree/bindings/spi/brcm,bcm2835-spi.txt | |||
@@ -2,7 +2,7 @@ Broadcom BCM2835 SPI0 controller | |||
2 | 2 | ||
3 | The BCM2835 contains two forms of SPI master controller, one known simply as | 3 | The BCM2835 contains two forms of SPI master controller, one known simply as |
4 | SPI0, and the other known as the "Universal SPI Master"; part of the | 4 | SPI0, and the other known as the "Universal SPI Master"; part of the |
5 | auxilliary block. This binding applies to the SPI0 controller. | 5 | auxiliary block. This binding applies to the SPI0 controller. |
6 | 6 | ||
7 | Required properties: | 7 | Required properties: |
8 | - compatible: Should be "brcm,bcm2835-spi". | 8 | - compatible: Should be "brcm,bcm2835-spi". |
diff --git a/Documentation/devicetree/bindings/spi/omap-spi.txt b/Documentation/devicetree/bindings/spi/omap-spi.txt index 938809c6829b..4c85c4c69584 100644 --- a/Documentation/devicetree/bindings/spi/omap-spi.txt +++ b/Documentation/devicetree/bindings/spi/omap-spi.txt | |||
@@ -10,7 +10,18 @@ Required properties: | |||
10 | input. The default is D0 as input and | 10 | input. The default is D0 as input and |
11 | D1 as output. | 11 | D1 as output. |
12 | 12 | ||
13 | Example: | 13 | Optional properties: |
14 | - dmas: List of DMA specifiers with the controller specific format | ||
15 | as described in the generic DMA client binding. A tx and rx | ||
16 | specifier is required for each chip select. | ||
17 | - dma-names: List of DMA request names. These strings correspond | ||
18 | 1:1 with the DMA specifiers listed in dmas. The string naming | ||
19 | is to be "rxN" and "txN" for RX and TX requests, | ||
20 | respectively, where N equals the chip select number. | ||
21 | |||
22 | Examples: | ||
23 | |||
24 | [hwmod populated DMA resources] | ||
14 | 25 | ||
15 | mcspi1: mcspi@1 { | 26 | mcspi1: mcspi@1 { |
16 | #address-cells = <1>; | 27 | #address-cells = <1>; |
@@ -20,3 +31,17 @@ mcspi1: mcspi@1 { | |||
20 | ti,spi-num-cs = <4>; | 31 | ti,spi-num-cs = <4>; |
21 | }; | 32 | }; |
22 | 33 | ||
34 | [generic DMA request binding] | ||
35 | |||
36 | mcspi1: mcspi@1 { | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | compatible = "ti,omap4-mcspi"; | ||
40 | ti,hwmods = "mcspi1"; | ||
41 | ti,spi-num-cs = <2>; | ||
42 | dmas = <&edma 42 | ||
43 | &edma 43 | ||
44 | &edma 44 | ||
45 | &edma 45>; | ||
46 | dma-names = "tx0", "rx0", "tx1", "rx1"; | ||
47 | }; | ||
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt new file mode 100644 index 000000000000..ed9377811ee2 --- /dev/null +++ b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt | |||
@@ -0,0 +1,99 @@ | |||
1 | Device-Tree bindings for LVDS Display Bridge (ldb) | ||
2 | |||
3 | LVDS Display Bridge | ||
4 | =================== | ||
5 | |||
6 | The LVDS Display Bridge device tree node contains up to two lvds-channel | ||
7 | nodes describing each of the two LVDS encoder channels of the bridge. | ||
8 | |||
9 | Required properties: | ||
10 | - #address-cells : should be <1> | ||
11 | - #size-cells : should be <0> | ||
12 | - compatible : should be "fsl,imx53-ldb" or "fsl,imx6q-ldb". | ||
13 | Both LDB versions are similar, but i.MX6 has an additional | ||
14 | multiplexer in the front to select any of the four IPU display | ||
15 | interfaces as input for each LVDS channel. | ||
16 | - gpr : should be <&gpr> on i.MX53 and i.MX6q. | ||
17 | The phandle points to the iomuxc-gpr region containing the LVDS | ||
18 | control register. | ||
19 | - clocks, clock-names : phandles to the LDB divider and selector clocks and to | ||
20 | the display interface selector clocks, as described in | ||
21 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
22 | The following clocks are expected on i.MX53: | ||
23 | "di0_pll" - LDB LVDS channel 0 mux | ||
24 | "di1_pll" - LDB LVDS channel 1 mux | ||
25 | "di0" - LDB LVDS channel 0 gate | ||
26 | "di1" - LDB LVDS channel 1 gate | ||
27 | "di0_sel" - IPU1 DI0 mux | ||
28 | "di1_sel" - IPU1 DI1 mux | ||
29 | On i.MX6q the following additional clocks are needed: | ||
30 | "di2_sel" - IPU2 DI0 mux | ||
31 | "di3_sel" - IPU2 DI1 mux | ||
32 | The needed clock numbers for each are documented in | ||
33 | Documentation/devicetree/bindings/clock/imx5-clock.txt, and in | ||
34 | Documentation/devicetree/bindings/clock/imx6q-clock.txt. | ||
35 | |||
36 | Optional properties: | ||
37 | - pinctrl-names : should be "default" on i.MX53, not used on i.MX6q | ||
38 | - pinctrl-0 : a phandle pointing to LVDS pin settings on i.MX53, | ||
39 | not used on i.MX6q | ||
40 | - fsl,dual-channel : boolean. if it exists, only LVDS channel 0 should | ||
41 | be configured - one input will be distributed on both outputs in dual | ||
42 | channel mode | ||
43 | |||
44 | LVDS Channel | ||
45 | ============ | ||
46 | |||
47 | Each LVDS Channel has to contain a display-timings node that describes the | ||
48 | video timings for the connected LVDS display. For detailed information, also | ||
49 | have a look at Documentation/devicetree/bindings/video/display-timing.txt. | ||
50 | |||
51 | Required properties: | ||
52 | - reg : should be <0> or <1> | ||
53 | - crtcs : a list of phandles with index pointing to the IPU display interfaces | ||
54 | that can be used as video source for this channel. | ||
55 | - fsl,data-mapping : should be "spwg" or "jeida" | ||
56 | This describes how the color bits are laid out in the | ||
57 | serialized LVDS signal. | ||
58 | - fsl,data-width : should be <18> or <24> | ||
59 | |||
60 | example: | ||
61 | |||
62 | gpr: iomuxc-gpr@53fa8000 { | ||
63 | /* ... */ | ||
64 | }; | ||
65 | |||
66 | ldb: ldb@53fa8008 { | ||
67 | #address-cells = <1>; | ||
68 | #size-cells = <0>; | ||
69 | compatible = "fsl,imx53-ldb"; | ||
70 | gpr = <&gpr>; | ||
71 | clocks = <&clks 122>, <&clks 120>, | ||
72 | <&clks 115>, <&clks 116>, | ||
73 | <&clks 123>, <&clks 85>; | ||
74 | clock-names = "di0_pll", "di1_pll", | ||
75 | "di0_sel", "di1_sel", | ||
76 | "di0", "di1"; | ||
77 | |||
78 | lvds-channel@0 { | ||
79 | reg = <0>; | ||
80 | crtcs = <&ipu 0>; | ||
81 | fsl,data-mapping = "spwg"; | ||
82 | fsl,data-width = <24>; | ||
83 | |||
84 | display-timings { | ||
85 | /* ... */ | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | lvds-channel@1 { | ||
90 | reg = <1>; | ||
91 | crtcs = <&ipu 1>; | ||
92 | fsl,data-mapping = "spwg"; | ||
93 | fsl,data-width = <24>; | ||
94 | |||
95 | display-timings { | ||
96 | /* ... */ | ||
97 | }; | ||
98 | }; | ||
99 | }; | ||
diff --git a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt index cb47bfbcaeea..b5a86d20ee36 100644 --- a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt +++ b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt | |||
@@ -44,7 +44,7 @@ Example 1: In this example, the system uses only the first global timer | |||
44 | }; | 44 | }; |
45 | 45 | ||
46 | Example 2: In this example, the MCT global and local timer interrupts are | 46 | Example 2: In this example, the MCT global and local timer interrupts are |
47 | connected to two seperate interrupt controllers. Hence, an | 47 | connected to two separate interrupt controllers. Hence, an |
48 | interrupt-map is created to map the interrupts to the respective | 48 | interrupt-map is created to map the interrupts to the respective |
49 | interrupt controllers. | 49 | interrupt controllers. |
50 | 50 | ||
diff --git a/Documentation/devicetree/bindings/timer/stericsson-u300-apptimer.txt b/Documentation/devicetree/bindings/timer/stericsson-u300-apptimer.txt new file mode 100644 index 000000000000..9499bc8ee9e3 --- /dev/null +++ b/Documentation/devicetree/bindings/timer/stericsson-u300-apptimer.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | ST-Ericsson U300 apptimer | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "stericsson,u300-apptimer" | ||
6 | - reg : Specifies base physical address and size of the registers. | ||
7 | - interrupts : A list of 4 interrupts; one for each subtimer. These | ||
8 | are, in order: OS (operating system), DD (device driver) both | ||
9 | adopted for EPOC/Symbian with two specific IRQs for these tasks, | ||
10 | then GP1 and GP2, which are general-purpose timers. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | timer { | ||
15 | compatible = "stericsson,u300-apptimer"; | ||
16 | reg = <0xc0014000 0x1000>; | ||
17 | interrupts = <24 25 26 27>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt index b462d0c54823..c662eb36be29 100644 --- a/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt +++ b/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt | |||
@@ -8,6 +8,8 @@ Required properties: | |||
8 | Optional properties: | 8 | Optional properties: |
9 | - fsl,uart-has-rtscts : Indicate the uart has rts and cts | 9 | - fsl,uart-has-rtscts : Indicate the uart has rts and cts |
10 | - fsl,irda-mode : Indicate the uart supports irda mode | 10 | - fsl,irda-mode : Indicate the uart supports irda mode |
11 | - fsl,dte-mode : Indicate the uart works in DTE mode. The uart works | ||
12 | is DCE mode by default. | ||
11 | 13 | ||
12 | Example: | 14 | Example: |
13 | 15 | ||
@@ -16,4 +18,5 @@ serial@73fbc000 { | |||
16 | reg = <0x73fbc000 0x4000>; | 18 | reg = <0x73fbc000 0x4000>; |
17 | interrupts = <31>; | 19 | interrupts = <31>; |
18 | fsl,uart-has-rtscts; | 20 | fsl,uart-has-rtscts; |
21 | fsl,dte-mode; | ||
19 | }; | 22 | }; |
diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/tty/serial/fsl-lpuart.txt new file mode 100644 index 000000000000..6fd1dd1638dd --- /dev/null +++ b/Documentation/devicetree/bindings/tty/serial/fsl-lpuart.txt | |||
@@ -0,0 +1,14 @@ | |||
1 | * Freescale low power universal asynchronous receiver/transmitter (lpuart) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "fsl,<soc>-lpuart" | ||
5 | - reg : Address and length of the register set for the device | ||
6 | - interrupts : Should contain uart interrupt | ||
7 | |||
8 | Example: | ||
9 | |||
10 | uart0: serial@40027000 { | ||
11 | compatible = "fsl,vf610-lpuart"; | ||
12 | reg = <0x40027000 0x1000>; | ||
13 | interrupts = <0 61 0x00>; | ||
14 | }; | ||
diff --git a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt new file mode 100644 index 000000000000..20468b2a7516 --- /dev/null +++ b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | * Universal Flash Storage (UFS) Host Controller | ||
2 | |||
3 | UFSHC nodes are defined to describe on-chip UFS host controllers. | ||
4 | Each UFS controller instance should have its own node. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : compatible list, contains "jedec,ufs-1.1" | ||
8 | - interrupts : <interrupt mapping for UFS host controller IRQ> | ||
9 | - reg : <registers mapping> | ||
10 | |||
11 | Example: | ||
12 | ufshc@0xfc598000 { | ||
13 | compatible = "jedec,ufs-1.1"; | ||
14 | reg = <0xfc598000 0x800>; | ||
15 | interrupts = <0 28 0>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt index ea840f7f9258..dc9dc8c87f15 100644 --- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt +++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt | |||
@@ -12,7 +12,7 @@ AM33XX MUSB GLUE | |||
12 | represents PERIPHERAL. | 12 | represents PERIPHERAL. |
13 | - port1-mode : Should be "1" to represent HOST. "3" signifies OTG and "2" | 13 | - port1-mode : Should be "1" to represent HOST. "3" signifies OTG and "2" |
14 | represents PERIPHERAL. | 14 | represents PERIPHERAL. |
15 | - power : Should be "250". This signifies the controller can supply upto | 15 | - power : Should be "250". This signifies the controller can supply up to |
16 | 500mA when operating in host mode. | 16 | 500mA when operating in host mode. |
17 | 17 | ||
18 | Example: | 18 | Example: |
diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt index 60bd2150a3e6..55f51af08bc7 100644 --- a/Documentation/devicetree/bindings/usb/atmel-usb.txt +++ b/Documentation/devicetree/bindings/usb/atmel-usb.txt | |||
@@ -47,3 +47,85 @@ usb1: gadget@fffa4000 { | |||
47 | interrupts = <10 4>; | 47 | interrupts = <10 4>; |
48 | atmel,vbus-gpio = <&pioC 5 0>; | 48 | atmel,vbus-gpio = <&pioC 5 0>; |
49 | }; | 49 | }; |
50 | |||
51 | Atmel High-Speed USB device controller | ||
52 | |||
53 | Required properties: | ||
54 | - compatible: Should be "atmel,at91sam9rl-udc" | ||
55 | - reg: Address and length of the register set for the device | ||
56 | - interrupts: Should contain usba interrupt | ||
57 | - ep childnode: To specify the number of endpoints and their properties. | ||
58 | |||
59 | Optional properties: | ||
60 | - atmel,vbus-gpio: If present, specifies a gpio that needs to be | ||
61 | activated for the bus to be powered. | ||
62 | |||
63 | Required child node properties: | ||
64 | - name: Name of the endpoint. | ||
65 | - reg: Num of the endpoint. | ||
66 | - atmel,fifo-size: Size of the fifo. | ||
67 | - atmel,nb-banks: Number of banks. | ||
68 | - atmel,can-dma: Boolean to specify if the endpoint support DMA. | ||
69 | - atmel,can-isoc: Boolean to specify if the endpoint support ISOC. | ||
70 | |||
71 | usb2: gadget@fff78000 { | ||
72 | #address-cells = <1>; | ||
73 | #size-cells = <0>; | ||
74 | compatible = "atmel,at91sam9rl-udc"; | ||
75 | reg = <0x00600000 0x80000 | ||
76 | 0xfff78000 0x400>; | ||
77 | interrupts = <27 4 0>; | ||
78 | atmel,vbus-gpio = <&pioB 19 0>; | ||
79 | |||
80 | ep0 { | ||
81 | reg = <0>; | ||
82 | atmel,fifo-size = <64>; | ||
83 | atmel,nb-banks = <1>; | ||
84 | }; | ||
85 | |||
86 | ep1 { | ||
87 | reg = <1>; | ||
88 | atmel,fifo-size = <1024>; | ||
89 | atmel,nb-banks = <2>; | ||
90 | atmel,can-dma; | ||
91 | atmel,can-isoc; | ||
92 | }; | ||
93 | |||
94 | ep2 { | ||
95 | reg = <2>; | ||
96 | atmel,fifo-size = <1024>; | ||
97 | atmel,nb-banks = <2>; | ||
98 | atmel,can-dma; | ||
99 | atmel,can-isoc; | ||
100 | }; | ||
101 | |||
102 | ep3 { | ||
103 | reg = <3>; | ||
104 | atmel,fifo-size = <1024>; | ||
105 | atmel,nb-banks = <3>; | ||
106 | atmel,can-dma; | ||
107 | }; | ||
108 | |||
109 | ep4 { | ||
110 | reg = <4>; | ||
111 | atmel,fifo-size = <1024>; | ||
112 | atmel,nb-banks = <3>; | ||
113 | atmel,can-dma; | ||
114 | }; | ||
115 | |||
116 | ep5 { | ||
117 | reg = <5>; | ||
118 | atmel,fifo-size = <1024>; | ||
119 | atmel,nb-banks = <3>; | ||
120 | atmel,can-dma; | ||
121 | atmel,can-isoc; | ||
122 | }; | ||
123 | |||
124 | ep6 { | ||
125 | reg = <6>; | ||
126 | atmel,fifo-size = <1024>; | ||
127 | atmel,nb-banks = <3>; | ||
128 | atmel,can-dma; | ||
129 | atmel,can-isoc; | ||
130 | }; | ||
131 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt b/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt index 1c04a4c9515f..b4b5b7906c88 100644 --- a/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt +++ b/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt | |||
@@ -5,6 +5,12 @@ Required properties: | |||
5 | - reg: Should contain registers location and length | 5 | - reg: Should contain registers location and length |
6 | - interrupts: Should contain controller interrupt | 6 | - interrupts: Should contain controller interrupt |
7 | 7 | ||
8 | Recommended properies: | ||
9 | - phy_type: the type of the phy connected to the core. Should be one | ||
10 | of "utmi", "utmi_wide", "ulpi", "serial" or "hsic". Without this | ||
11 | property the PORTSC register won't be touched | ||
12 | - dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg" | ||
13 | |||
8 | Optional properties: | 14 | Optional properties: |
9 | - fsl,usbphy: phandler of usb phy that connects to the only one port | 15 | - fsl,usbphy: phandler of usb phy that connects to the only one port |
10 | - fsl,usbmisc: phandler of non-core register device, with one argument | 16 | - fsl,usbmisc: phandler of non-core register device, with one argument |
diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt index b3abde736017..d967ba16de60 100644 --- a/Documentation/devicetree/bindings/usb/exynos-usb.txt +++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt | |||
@@ -48,3 +48,37 @@ Example: | |||
48 | clocks = <&clock 285>; | 48 | clocks = <&clock 285>; |
49 | clock-names = "usbhost"; | 49 | clock-names = "usbhost"; |
50 | }; | 50 | }; |
51 | |||
52 | DWC3 | ||
53 | Required properties: | ||
54 | - compatible: should be "samsung,exynos5250-dwusb3" for USB 3.0 DWC3 | ||
55 | controller. | ||
56 | - #address-cells, #size-cells : should be '1' if the device has sub-nodes | ||
57 | with 'reg' property. | ||
58 | - ranges: allows valid 1:1 translation between child's address space and | ||
59 | parent's address space | ||
60 | - clocks: Clock IDs array as required by the controller. | ||
61 | - clock-names: names of clocks correseponding to IDs in the clock property | ||
62 | |||
63 | Sub-nodes: | ||
64 | The dwc3 core should be added as subnode to Exynos dwc3 glue. | ||
65 | - dwc3 : | ||
66 | The binding details of dwc3 can be found in: | ||
67 | Documentation/devicetree/bindings/usb/dwc3.txt | ||
68 | |||
69 | Example: | ||
70 | usb@12000000 { | ||
71 | compatible = "samsung,exynos5250-dwusb3"; | ||
72 | clocks = <&clock 286>; | ||
73 | clock-names = "usbdrd30"; | ||
74 | #address-cells = <1>; | ||
75 | #size-cells = <1>; | ||
76 | ranges; | ||
77 | |||
78 | dwc3 { | ||
79 | compatible = "synopsys,dwc3"; | ||
80 | reg = <0x12000000 0x10000>; | ||
81 | interrupts = <0 72 0>; | ||
82 | usb-phy = <&usb2_phy &usb3_phy>; | ||
83 | }; | ||
84 | }; | ||
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt index 34c952883276..df0933043a5b 100644 --- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt +++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt | |||
@@ -6,27 +6,10 @@ Practice : Universal Serial Bus" with the following modifications | |||
6 | and additions : | 6 | and additions : |
7 | 7 | ||
8 | Required properties : | 8 | Required properties : |
9 | - compatible : Should be "nvidia,tegra20-ehci" for USB controllers | 9 | - compatible : Should be "nvidia,tegra20-ehci". |
10 | used in host mode. | 10 | - nvidia,phy : phandle of the PHY that the controller is connected to. |
11 | - phy_type : Should be one of "ulpi" or "utmi". | 11 | - clocks : Contains a single entry which defines the USB controller's clock. |
12 | - nvidia,vbus-gpio : If present, specifies a gpio that needs to be | ||
13 | activated for the bus to be powered. | ||
14 | - nvidia,phy : phandle of the PHY instance, the controller is connected to. | ||
15 | |||
16 | Required properties for phy_type == ulpi: | ||
17 | - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. | ||
18 | 12 | ||
19 | Optional properties: | 13 | Optional properties: |
20 | - dr_mode : dual role mode. Indicates the working mode for | 14 | - nvidia,needs-double-reset : boolean is to be set for some of the Tegra20 |
21 | nvidia,tegra20-ehci compatible controllers. Can be "host", "peripheral", | 15 | USB ports, which need reset twice due to hardware issues. |
22 | or "otg". Default to "host" if not defined for backward compatibility. | ||
23 | host means this is a host controller | ||
24 | peripheral means it is device controller | ||
25 | otg means it can operate as either ("on the go") | ||
26 | - nvidia,has-legacy-mode : boolean indicates whether this controller can | ||
27 | operate in legacy mode (as APX 2500 / 2600). In legacy mode some | ||
28 | registers are accessed through the APB_MISC base address instead of | ||
29 | the USB controller. Since this is a legacy issue it probably does not | ||
30 | warrant a compatible string of its own. | ||
31 | - nvidia,needs-double-reset : boolean is to be set for some of the Tegra2 | ||
32 | USB ports, which need reset twice due to hardware issues. | ||
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt index 6bdaba2f0aa1..c4c9e9e664aa 100644 --- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt +++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt | |||
@@ -4,14 +4,49 @@ The device node for Tegra SOC USB PHY: | |||
4 | 4 | ||
5 | Required properties : | 5 | Required properties : |
6 | - compatible : Should be "nvidia,tegra20-usb-phy". | 6 | - compatible : Should be "nvidia,tegra20-usb-phy". |
7 | - reg : Address and length of the register set for the USB PHY interface. | 7 | - reg : Defines the following set of registers, in the order listed: |
8 | - phy_type : Should be one of "ulpi" or "utmi". | 8 | - The PHY's own register set. |
9 | Always present. | ||
10 | - The register set of the PHY containing the UTMI pad control registers. | ||
11 | Present if-and-only-if phy_type == utmi. | ||
12 | - phy_type : Should be one of "utmi", "ulpi" or "hsic". | ||
13 | - clocks : Defines the clocks listed in the clock-names property. | ||
14 | - clock-names : The following clock names must be present: | ||
15 | - reg: The clock needed to access the PHY's own registers. This is the | ||
16 | associated EHCI controller's clock. Always present. | ||
17 | - pll_u: PLL_U. Always present. | ||
18 | - timer: The timeout clock (clk_m). Present if phy_type == utmi. | ||
19 | - utmi-pads: The clock needed to access the UTMI pad control registers. | ||
20 | Present if phy_type == utmi. | ||
21 | - ulpi-link: The clock Tegra provides to the ULPI PHY (cdev2). | ||
22 | Present if phy_type == ulpi, and ULPI link mode is in use. | ||
9 | 23 | ||
10 | Required properties for phy_type == ulpi: | 24 | Required properties for phy_type == ulpi: |
11 | - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. | 25 | - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. |
12 | 26 | ||
27 | Required PHY timing params for utmi phy: | ||
28 | - nvidia,hssync-start-delay : Number of 480 Mhz clock cycles to wait before | ||
29 | start of sync launches RxActive | ||
30 | - nvidia,elastic-limit : Variable FIFO Depth of elastic input store | ||
31 | - nvidia,idle-wait-delay : Number of 480 Mhz clock cycles of idle to wait | ||
32 | before declare IDLE. | ||
33 | - nvidia,term-range-adj : Range adjusment on terminations | ||
34 | - nvidia,xcvr-setup : HS driver output control | ||
35 | - nvidia,xcvr-lsfslew : LS falling slew rate control. | ||
36 | - nvidia,xcvr-lsrslew : LS rising slew rate control. | ||
37 | |||
13 | Optional properties: | 38 | Optional properties: |
14 | - nvidia,has-legacy-mode : boolean indicates whether this controller can | 39 | - nvidia,has-legacy-mode : boolean indicates whether this controller can |
15 | operate in legacy mode (as APX 2500 / 2600). In legacy mode some | 40 | operate in legacy mode (as APX 2500 / 2600). In legacy mode some |
16 | registers are accessed through the APB_MISC base address instead of | 41 | registers are accessed through the APB_MISC base address instead of |
17 | the USB controller. \ No newline at end of file | 42 | the USB controller. |
43 | - nvidia,is-wired : boolean. Indicates whether we can do certain kind of power | ||
44 | optimizations for the devices that are always connected. e.g. modem. | ||
45 | - dr_mode : dual role mode. Indicates the working mode for the PHY. Can be | ||
46 | "host", "peripheral", or "otg". Defaults to "host" if not defined. | ||
47 | host means this is a host controller | ||
48 | peripheral means it is device controller | ||
49 | otg means it can operate as either ("on the go") | ||
50 | |||
51 | Required properties for dr_mode == otg: | ||
52 | - vbus-supply: regulator for VBUS | ||
diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt b/Documentation/devicetree/bindings/usb/omap-usb.txt index d4769f343d6c..57e71f6817d0 100644 --- a/Documentation/devicetree/bindings/usb/omap-usb.txt +++ b/Documentation/devicetree/bindings/usb/omap-usb.txt | |||
@@ -16,7 +16,7 @@ OMAP MUSB GLUE | |||
16 | specifying ULPI and UTMI respectively. | 16 | specifying ULPI and UTMI respectively. |
17 | - mode : Should be "3" to represent OTG. "1" signifies HOST and "2" | 17 | - mode : Should be "3" to represent OTG. "1" signifies HOST and "2" |
18 | represents PERIPHERAL. | 18 | represents PERIPHERAL. |
19 | - power : Should be "50". This signifies the controller can supply upto | 19 | - power : Should be "50". This signifies the controller can supply up to |
20 | 100mA when operating in host mode. | 20 | 100mA when operating in host mode. |
21 | - usb-phy : the phandle for the PHY device | 21 | - usb-phy : the phandle for the PHY device |
22 | 22 | ||
diff --git a/Documentation/devicetree/bindings/usb/usb3503.txt b/Documentation/devicetree/bindings/usb/usb3503.txt index 6813a715fc7d..8c5be48b43c8 100644 --- a/Documentation/devicetree/bindings/usb/usb3503.txt +++ b/Documentation/devicetree/bindings/usb/usb3503.txt | |||
@@ -4,6 +4,10 @@ Required properties: | |||
4 | - compatible: Should be "smsc,usb3503". | 4 | - compatible: Should be "smsc,usb3503". |
5 | - reg: Specifies the i2c slave address, it should be 0x08. | 5 | - reg: Specifies the i2c slave address, it should be 0x08. |
6 | - connect-gpios: Should specify GPIO for connect. | 6 | - connect-gpios: Should specify GPIO for connect. |
7 | - disabled-ports: Should specify the ports unused. | ||
8 | '1' or '2' or '3' are availe for this property to describe the port | ||
9 | number. 1~3 property values are possible to be desribed. | ||
10 | Do not describe this property if all ports have to be enabled. | ||
7 | - intn-gpios: Should specify GPIO for interrupt. | 11 | - intn-gpios: Should specify GPIO for interrupt. |
8 | - reset-gpios: Should specify GPIO for reset. | 12 | - reset-gpios: Should specify GPIO for reset. |
9 | - initial-mode: Should specify initial mode. | 13 | - initial-mode: Should specify initial mode. |
@@ -14,6 +18,7 @@ Examples: | |||
14 | compatible = "smsc,usb3503"; | 18 | compatible = "smsc,usb3503"; |
15 | reg = <0x08>; | 19 | reg = <0x08>; |
16 | connect-gpios = <&gpx3 0 1>; | 20 | connect-gpios = <&gpx3 0 1>; |
21 | disabled-ports = <2 3>; | ||
17 | intn-gpios = <&gpx3 4 1>; | 22 | intn-gpios = <&gpx3 4 1>; |
18 | reset-gpios = <&gpx3 5 1>; | 23 | reset-gpios = <&gpx3 5 1>; |
19 | initial-mode = <1>; | 24 | initial-mode = <1>; |
diff --git a/Documentation/devicetree/bindings/usb/ux500-usb.txt b/Documentation/devicetree/bindings/usb/ux500-usb.txt new file mode 100644 index 000000000000..330d6ec15401 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ux500-usb.txt | |||
@@ -0,0 +1,50 @@ | |||
1 | Ux500 MUSB | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Should be "stericsson,db8500-musb" | ||
5 | - reg : Offset and length of registers | ||
6 | - interrupts : Interrupt; mode, number and trigger | ||
7 | - dr_mode : Dual-role; either host mode "host", peripheral mode "peripheral" | ||
8 | or both "otg" | ||
9 | |||
10 | Optional properties: | ||
11 | - dmas : A list of dma channels; | ||
12 | dma-controller, event-line, fixed-channel, flags | ||
13 | - dma-names : An ordered list of channel names affiliated to the above | ||
14 | |||
15 | Example: | ||
16 | |||
17 | usb_per5@a03e0000 { | ||
18 | compatible = "stericsson,db8500-musb", "mentor,musb"; | ||
19 | reg = <0xa03e0000 0x10000>; | ||
20 | interrupts = <0 23 0x4>; | ||
21 | interrupt-names = "mc"; | ||
22 | |||
23 | dr_mode = "otg"; | ||
24 | |||
25 | dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */ | ||
26 | <&dma 38 0 0x0>, /* Logical - MemToDev */ | ||
27 | <&dma 37 0 0x2>, /* Logical - DevToMem */ | ||
28 | <&dma 37 0 0x0>, /* Logical - MemToDev */ | ||
29 | <&dma 36 0 0x2>, /* Logical - DevToMem */ | ||
30 | <&dma 36 0 0x0>, /* Logical - MemToDev */ | ||
31 | <&dma 19 0 0x2>, /* Logical - DevToMem */ | ||
32 | <&dma 19 0 0x0>, /* Logical - MemToDev */ | ||
33 | <&dma 18 0 0x2>, /* Logical - DevToMem */ | ||
34 | <&dma 18 0 0x0>, /* Logical - MemToDev */ | ||
35 | <&dma 17 0 0x2>, /* Logical - DevToMem */ | ||
36 | <&dma 17 0 0x0>, /* Logical - MemToDev */ | ||
37 | <&dma 16 0 0x2>, /* Logical - DevToMem */ | ||
38 | <&dma 16 0 0x0>, /* Logical - MemToDev */ | ||
39 | <&dma 39 0 0x2>, /* Logical - DevToMem */ | ||
40 | <&dma 39 0 0x0>; /* Logical - MemToDev */ | ||
41 | |||
42 | dma-names = "iep_1_9", "oep_1_9", | ||
43 | "iep_2_10", "oep_2_10", | ||
44 | "iep_3_11", "oep_3_11", | ||
45 | "iep_4_12", "oep_4_12", | ||
46 | "iep_5_13", "oep_5_13", | ||
47 | "iep_6_14", "oep_6_14", | ||
48 | "iep_7_15", "oep_7_15", | ||
49 | "iep_8", "oep_8"; | ||
50 | }; | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 6931c4348d24..948f61561ffa 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -31,6 +31,7 @@ idt Integrated Device Technologies, Inc. | |||
31 | img Imagination Technologies Ltd. | 31 | img Imagination Technologies Ltd. |
32 | intercontrol Inter Control Group | 32 | intercontrol Inter Control Group |
33 | linux Linux-specific binding | 33 | linux Linux-specific binding |
34 | lsi LSI Corp. (LSI Logic) | ||
34 | marvell Marvell Technology Group Ltd. | 35 | marvell Marvell Technology Group Ltd. |
35 | maxim Maxim Integrated Products | 36 | maxim Maxim Integrated Products |
36 | mosaixtech Mosaix Technologies, Inc. | 37 | mosaixtech Mosaix Technologies, Inc. |
@@ -57,8 +58,10 @@ snps Synopsys, Inc. | |||
57 | st STMicroelectronics | 58 | st STMicroelectronics |
58 | ste ST-Ericsson | 59 | ste ST-Ericsson |
59 | stericsson ST-Ericsson | 60 | stericsson ST-Ericsson |
61 | toumaz Toumaz | ||
60 | ti Texas Instruments | 62 | ti Texas Instruments |
61 | toshiba Toshiba Corporation | 63 | toshiba Toshiba Corporation |
64 | v3 V3 Semiconductor | ||
62 | via VIA Technologies, Inc. | 65 | via VIA Technologies, Inc. |
63 | wlf Wolfson Microelectronics | 66 | wlf Wolfson Microelectronics |
64 | wm Wondermedia Technologies, Inc. | 67 | wm Wondermedia Technologies, Inc. |
diff --git a/Documentation/devicetree/bindings/video/exynos_dp.txt b/Documentation/devicetree/bindings/video/exynos_dp.txt index c60da67a5d76..84f10c16cb38 100644 --- a/Documentation/devicetree/bindings/video/exynos_dp.txt +++ b/Documentation/devicetree/bindings/video/exynos_dp.txt | |||
@@ -21,6 +21,10 @@ Required properties for dp-controller: | |||
21 | of memory mapped region. | 21 | of memory mapped region. |
22 | -interrupts: | 22 | -interrupts: |
23 | interrupt combiner values. | 23 | interrupt combiner values. |
24 | -clocks: | ||
25 | from common clock binding: handle to dp clock. | ||
26 | -clock-names: | ||
27 | from common clock binding: Shall be "dp". | ||
24 | -interrupt-parent: | 28 | -interrupt-parent: |
25 | phandle to Interrupt combiner node. | 29 | phandle to Interrupt combiner node. |
26 | -samsung,color-space: | 30 | -samsung,color-space: |
@@ -61,6 +65,8 @@ SOC specific portion: | |||
61 | reg = <0x145b0000 0x10000>; | 65 | reg = <0x145b0000 0x10000>; |
62 | interrupts = <10 3>; | 66 | interrupts = <10 3>; |
63 | interrupt-parent = <&combiner>; | 67 | interrupt-parent = <&combiner>; |
68 | clocks = <&clock 342>; | ||
69 | clock-names = "dp"; | ||
64 | 70 | ||
65 | dptx-phy { | 71 | dptx-phy { |
66 | reg = <0x10040720>; | 72 | reg = <0x10040720>; |
diff --git a/Documentation/devicetree/bindings/watchdog/stericsson-coh901327.txt b/Documentation/devicetree/bindings/watchdog/stericsson-coh901327.txt new file mode 100644 index 000000000000..8ffb88e39e76 --- /dev/null +++ b/Documentation/devicetree/bindings/watchdog/stericsson-coh901327.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | ST-Ericsson COH 901 327 Watchdog timer | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must be "stericsson,coh901327". | ||
5 | - reg: physical base address of the controller and length of memory mapped | ||
6 | region. | ||
7 | - interrupts: the interrupt used for the watchdog timeout warning. | ||
8 | |||
9 | Optional properties: | ||
10 | - timeout-sec: contains the watchdog timeout in seconds. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | watchdog: watchdog@c0012000 { | ||
15 | compatible = "stericsson,coh901327"; | ||
16 | reg = <0xc0012000 0x1000>; | ||
17 | interrupts = <3>; | ||
18 | timeout-sec = <60>; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/usage-model.txt b/Documentation/devicetree/usage-model.txt index 0efedaad5165..2b6b3d3f0388 100644 --- a/Documentation/devicetree/usage-model.txt +++ b/Documentation/devicetree/usage-model.txt | |||
@@ -106,17 +106,18 @@ In the majority of cases, the machine identity is irrelevant, and the | |||
106 | kernel will instead select setup code based on the machine's core | 106 | kernel will instead select setup code based on the machine's core |
107 | CPU or SoC. On ARM for example, setup_arch() in | 107 | CPU or SoC. On ARM for example, setup_arch() in |
108 | arch/arm/kernel/setup.c will call setup_machine_fdt() in | 108 | arch/arm/kernel/setup.c will call setup_machine_fdt() in |
109 | arch/arm/kernel/devicetree.c which searches through the machine_desc | 109 | arch/arm/kernel/devtree.c which searches through the machine_desc |
110 | table and selects the machine_desc which best matches the device tree | 110 | table and selects the machine_desc which best matches the device tree |
111 | data. It determines the best match by looking at the 'compatible' | 111 | data. It determines the best match by looking at the 'compatible' |
112 | property in the root device tree node, and comparing it with the | 112 | property in the root device tree node, and comparing it with the |
113 | dt_compat list in struct machine_desc. | 113 | dt_compat list in struct machine_desc (which is defined in |
114 | arch/arm/include/asm/mach/arch.h if you're curious). | ||
114 | 115 | ||
115 | The 'compatible' property contains a sorted list of strings starting | 116 | The 'compatible' property contains a sorted list of strings starting |
116 | with the exact name of the machine, followed by an optional list of | 117 | with the exact name of the machine, followed by an optional list of |
117 | boards it is compatible with sorted from most compatible to least. For | 118 | boards it is compatible with sorted from most compatible to least. For |
118 | example, the root compatible properties for the TI BeagleBoard and its | 119 | example, the root compatible properties for the TI BeagleBoard and its |
119 | successor, the BeagleBoard xM board might look like: | 120 | successor, the BeagleBoard xM board might look like, respectively: |
120 | 121 | ||
121 | compatible = "ti,omap3-beagleboard", "ti,omap3450", "ti,omap3"; | 122 | compatible = "ti,omap3-beagleboard", "ti,omap3450", "ti,omap3"; |
122 | compatible = "ti,omap3-beagleboard-xm", "ti,omap3450", "ti,omap3"; | 123 | compatible = "ti,omap3-beagleboard-xm", "ti,omap3450", "ti,omap3"; |
@@ -161,7 +162,7 @@ cases. | |||
161 | 162 | ||
162 | Instead, the compatible list allows a generic machine_desc to provide | 163 | Instead, the compatible list allows a generic machine_desc to provide |
163 | support for a wide common set of boards by specifying "less | 164 | support for a wide common set of boards by specifying "less |
164 | compatible" value in the dt_compat list. In the example above, | 165 | compatible" values in the dt_compat list. In the example above, |
165 | generic board support can claim compatibility with "ti,omap3" or | 166 | generic board support can claim compatibility with "ti,omap3" or |
166 | "ti,omap3450". If a bug was discovered on the original beagleboard | 167 | "ti,omap3450". If a bug was discovered on the original beagleboard |
167 | that required special workaround code during early boot, then a new | 168 | that required special workaround code during early boot, then a new |
@@ -377,7 +378,7 @@ platform_devices as more platform_devices is a common pattern, and the | |||
377 | device tree support code reflects that and makes the above example | 378 | device tree support code reflects that and makes the above example |
378 | simpler. The second argument to of_platform_populate() is an | 379 | simpler. The second argument to of_platform_populate() is an |
379 | of_device_id table, and any node that matches an entry in that table | 380 | of_device_id table, and any node that matches an entry in that table |
380 | will also get its child nodes registered. In the tegra case, the code | 381 | will also get its child nodes registered. In the Tegra case, the code |
381 | can look something like this: | 382 | can look something like this: |
382 | 383 | ||
383 | static void __init harmony_init_machine(void) | 384 | static void __init harmony_init_machine(void) |