diff options
Diffstat (limited to 'Documentation/devicetree/bindings')
61 files changed, 1431 insertions, 123 deletions
diff --git a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt index 832fe8cc24d7..adc61b095bd1 100644 --- a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt +++ b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt | |||
@@ -14,14 +14,21 @@ Required properties: | |||
14 | for exynos4412/5250 controllers. | 14 | for exynos4412/5250 controllers. |
15 | Must be "samsung,exynos-adc-v2" for | 15 | Must be "samsung,exynos-adc-v2" for |
16 | future controllers. | 16 | future controllers. |
17 | Must be "samsung,exynos3250-adc" for | ||
18 | controllers compatible with ADC of Exynos3250. | ||
17 | - reg: Contains ADC register address range (base address and | 19 | - reg: Contains ADC register address range (base address and |
18 | length) and the address of the phy enable register. | 20 | length) and the address of the phy enable register. |
19 | - interrupts: Contains the interrupt information for the timer. The | 21 | - interrupts: Contains the interrupt information for the timer. The |
20 | format is being dependent on which interrupt controller | 22 | format is being dependent on which interrupt controller |
21 | the Samsung device uses. | 23 | the Samsung device uses. |
22 | - #io-channel-cells = <1>; As ADC has multiple outputs | 24 | - #io-channel-cells = <1>; As ADC has multiple outputs |
23 | - clocks From common clock binding: handle to adc clock. | 25 | - clocks From common clock bindings: handles to clocks specified |
24 | - clock-names From common clock binding: Shall be "adc". | 26 | in "clock-names" property, in the same order. |
27 | - clock-names From common clock bindings: list of clock input names | ||
28 | used by ADC block: | ||
29 | - "adc" : ADC bus clock | ||
30 | - "sclk" : ADC special clock (only for Exynos3250 and | ||
31 | compatible ADC block) | ||
25 | - vdd-supply VDD input supply. | 32 | - vdd-supply VDD input supply. |
26 | 33 | ||
27 | Note: child nodes can be added for auto probing from device tree. | 34 | Note: child nodes can be added for auto probing from device tree. |
@@ -41,6 +48,20 @@ adc: adc@12D10000 { | |||
41 | vdd-supply = <&buck5_reg>; | 48 | vdd-supply = <&buck5_reg>; |
42 | }; | 49 | }; |
43 | 50 | ||
51 | Example: adding device info in dtsi file for Exynos3250 with additional sclk | ||
52 | |||
53 | adc: adc@126C0000 { | ||
54 | compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2; | ||
55 | reg = <0x126C0000 0x100>, <0x10020718 0x4>; | ||
56 | interrupts = <0 137 0>; | ||
57 | #io-channel-cells = <1>; | ||
58 | io-channel-ranges; | ||
59 | |||
60 | clocks = <&cmu CLK_TSADC>, <&cmu CLK_SCLK_TSADC>; | ||
61 | clock-names = "adc", "sclk"; | ||
62 | |||
63 | vdd-supply = <&buck5_reg>; | ||
64 | }; | ||
44 | 65 | ||
45 | Example: Adding child nodes in dts file | 66 | Example: Adding child nodes in dts file |
46 | 67 | ||
diff --git a/Documentation/devicetree/bindings/arm/samsung/pmu.txt b/Documentation/devicetree/bindings/arm/samsung/pmu.txt index 2a4ab046a8a1..f9865e77e0b0 100644 --- a/Documentation/devicetree/bindings/arm/samsung/pmu.txt +++ b/Documentation/devicetree/bindings/arm/samsung/pmu.txt | |||
@@ -12,8 +12,38 @@ Properties: | |||
12 | 12 | ||
13 | - reg : offset and length of the register set. | 13 | - reg : offset and length of the register set. |
14 | 14 | ||
15 | - #clock-cells : must be <1>, since PMU requires once cell as clock specifier. | ||
16 | The single specifier cell is used as index to list of clocks | ||
17 | provided by PMU, which is currently: | ||
18 | 0 : SoC clock output (CLKOUT pin) | ||
19 | |||
20 | - clock-names : list of clock names for particular CLKOUT mux inputs in | ||
21 | following format: | ||
22 | "clkoutN", where N is a decimal number corresponding to | ||
23 | CLKOUT mux control bits value for given input, e.g. | ||
24 | "clkout0", "clkout7", "clkout15". | ||
25 | |||
26 | - clocks : list of phandles and specifiers to all input clocks listed in | ||
27 | clock-names property. | ||
28 | |||
15 | Example : | 29 | Example : |
16 | pmu_system_controller: system-controller@10040000 { | 30 | pmu_system_controller: system-controller@10040000 { |
17 | compatible = "samsung,exynos5250-pmu", "syscon"; | 31 | compatible = "samsung,exynos5250-pmu", "syscon"; |
18 | reg = <0x10040000 0x5000>; | 32 | reg = <0x10040000 0x5000>; |
33 | #clock-cells = <1>; | ||
34 | clock-names = "clkout0", "clkout1", "clkout2", "clkout3", | ||
35 | "clkout4", "clkout8", "clkout9"; | ||
36 | clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>, | ||
37 | <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>, | ||
38 | <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, | ||
39 | <&clock CLK_XUSBXTI>; | ||
40 | }; | ||
41 | |||
42 | Example of clock consumer : | ||
43 | |||
44 | usb3503: usb3503@08 { | ||
45 | /* ... */ | ||
46 | clock-names = "refclk"; | ||
47 | clocks = <&pmu_system_controller 0>; | ||
48 | /* ... */ | ||
19 | }; | 49 | }; |
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index c96d8dcf98fd..4ab09f2202d4 100644 --- a/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt | |||
@@ -3,28 +3,43 @@ | |||
3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. |
4 | Each SATA controller should have its own node. | 4 | Each SATA controller should have its own node. |
5 | 5 | ||
6 | It is possible, but not required, to represent each port as a sub-node. | ||
7 | It allows to enable each port independently when dealing with multiple | ||
8 | PHYs. | ||
9 | |||
6 | Required properties: | 10 | Required properties: |
7 | - compatible : compatible string, one of: | 11 | - compatible : compatible string, one of: |
8 | - "allwinner,sun4i-a10-ahci" | 12 | - "allwinner,sun4i-a10-ahci" |
9 | - "fsl,imx53-ahci" | ||
10 | - "fsl,imx6q-ahci" | ||
11 | - "hisilicon,hisi-ahci" | 13 | - "hisilicon,hisi-ahci" |
12 | - "ibm,476gtr-ahci" | 14 | - "ibm,476gtr-ahci" |
13 | - "marvell,armada-380-ahci" | 15 | - "marvell,armada-380-ahci" |
14 | - "snps,dwc-ahci" | 16 | - "snps,dwc-ahci" |
15 | - "snps,exynos5440-ahci" | 17 | - "snps,exynos5440-ahci" |
16 | - "snps,spear-ahci" | 18 | - "snps,spear-ahci" |
19 | - "generic-ahci" | ||
17 | - interrupts : <interrupt mapping for SATA IRQ> | 20 | - interrupts : <interrupt mapping for SATA IRQ> |
18 | - reg : <registers mapping> | 21 | - reg : <registers mapping> |
19 | 22 | ||
23 | Please note that when using "generic-ahci" you must also specify a SoC specific | ||
24 | compatible: | ||
25 | compatible = "manufacturer,soc-model-ahci", "generic-ahci"; | ||
26 | |||
20 | Optional properties: | 27 | Optional properties: |
21 | - dma-coherent : Present if dma operations are coherent | 28 | - dma-coherent : Present if dma operations are coherent |
22 | - clocks : a list of phandle + clock specifier pairs | 29 | - clocks : a list of phandle + clock specifier pairs |
23 | - target-supply : regulator for SATA target power | 30 | - target-supply : regulator for SATA target power |
31 | - phys : reference to the SATA PHY node | ||
32 | - phy-names : must be "sata-phy" | ||
33 | |||
34 | Required properties when using sub-nodes: | ||
35 | - #address-cells : number of cells to encode an address | ||
36 | - #size-cells : number of cells representing the size of an address | ||
37 | |||
38 | |||
39 | Sub-nodes required properties: | ||
40 | - reg : the port number | ||
41 | - phys : reference to the SATA PHY node | ||
24 | 42 | ||
25 | "fsl,imx53-ahci", "fsl,imx6q-ahci" required properties: | ||
26 | - clocks : must contain the sata, sata_ref and ahb clocks | ||
27 | - clock-names : must contain "ahb" for the ahb clock | ||
28 | 43 | ||
29 | Examples: | 44 | Examples: |
30 | sata@ffe08000 { | 45 | sata@ffe08000 { |
@@ -40,3 +55,23 @@ Examples: | |||
40 | clocks = <&pll6 0>, <&ahb_gates 25>; | 55 | clocks = <&pll6 0>, <&ahb_gates 25>; |
41 | target-supply = <®_ahci_5v>; | 56 | target-supply = <®_ahci_5v>; |
42 | }; | 57 | }; |
58 | |||
59 | With sub-nodes: | ||
60 | sata@f7e90000 { | ||
61 | compatible = "marvell,berlin2q-achi", "generic-ahci"; | ||
62 | reg = <0xe90000 0x1000>; | ||
63 | interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||
64 | clocks = <&chip CLKID_SATA>; | ||
65 | #address-cells = <1>; | ||
66 | #size-cells = <0>; | ||
67 | |||
68 | sata0: sata-port@0 { | ||
69 | reg = <0>; | ||
70 | phys = <&sata_phy 0>; | ||
71 | }; | ||
72 | |||
73 | sata1: sata-port@1 { | ||
74 | reg = <1>; | ||
75 | phys = <&sata_phy 1>; | ||
76 | }; | ||
77 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/ahci-st.txt b/Documentation/devicetree/bindings/ata/ahci-st.txt new file mode 100644 index 000000000000..0574a77a0b9f --- /dev/null +++ b/Documentation/devicetree/bindings/ata/ahci-st.txt | |||
@@ -0,0 +1,31 @@ | |||
1 | STMicroelectronics STi SATA controller | ||
2 | |||
3 | This binding describes a SATA device. | ||
4 | |||
5 | Required properties: | ||
6 | - compatible : Must be "st,sti-ahci" | ||
7 | - reg : Physical base addresses and length of register sets | ||
8 | - interrupts : Interrupt associated with the SATA device | ||
9 | - interrupt-names : Associated name must be; "hostc" | ||
10 | - resets : The power-down and soft-reset lines of SATA IP | ||
11 | - reset-names : Associated names must be; "pwr-dwn" and "sw-rst" | ||
12 | - clocks : The phandle for the clock | ||
13 | - clock-names : Associated name must be; "ahci_clk" | ||
14 | - phys : The phandle for the PHY device | ||
15 | - phy-names : Associated name must be; "ahci_phy" | ||
16 | |||
17 | Example: | ||
18 | |||
19 | sata0: sata@fe380000 { | ||
20 | compatible = "st,sti-ahci"; | ||
21 | reg = <0xfe380000 0x1000>; | ||
22 | interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>; | ||
23 | interrupt-names = "hostc"; | ||
24 | phys = <&miphy365x_phy MIPHY_PORT_0 MIPHY_TYPE_SATA>; | ||
25 | phy-names = "ahci_phy"; | ||
26 | resets = <&powerdown STIH416_SATA0_POWERDOWN>, | ||
27 | <&softreset STIH416_SATA0_SOFTRESET>; | ||
28 | reset-names = "pwr-dwn", "sw-rst"; | ||
29 | clocks = <&clk_s_a0_ls CLK_ICN_REG>; | ||
30 | clock-names = "ahci_clk"; | ||
31 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/imx-sata.txt b/Documentation/devicetree/bindings/ata/imx-sata.txt new file mode 100644 index 000000000000..fa511db18408 --- /dev/null +++ b/Documentation/devicetree/bindings/ata/imx-sata.txt | |||
@@ -0,0 +1,36 @@ | |||
1 | * Freescale i.MX AHCI SATA Controller | ||
2 | |||
3 | The Freescale i.MX SATA controller mostly conforms to the AHCI interface | ||
4 | with some special extensions at integration level. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : should be one of the following: | ||
8 | - "fsl,imx53-ahci" for i.MX53 SATA controller | ||
9 | - "fsl,imx6q-ahci" for i.MX6Q SATA controller | ||
10 | - interrupts : interrupt mapping for SATA IRQ | ||
11 | - reg : registers mapping | ||
12 | - clocks : list of clock specifiers, must contain an entry for each | ||
13 | required entry in clock-names | ||
14 | - clock-names : should include "sata", "sata_ref" and "ahb" entries | ||
15 | |||
16 | Optional properties: | ||
17 | - fsl,transmit-level-mV : transmit voltage level, in millivolts. | ||
18 | - fsl,transmit-boost-mdB : transmit boost level, in milli-decibels | ||
19 | - fsl,transmit-atten-16ths : transmit attenuation, in 16ths | ||
20 | - fsl,receive-eq-mdB : receive equalisation, in milli-decibels | ||
21 | Please refer to the technical documentation or the driver source code | ||
22 | for the list of legal values for these options. | ||
23 | - fsl,no-spread-spectrum : disable spread-spectrum clocking on the SATA | ||
24 | link. | ||
25 | |||
26 | Examples: | ||
27 | |||
28 | sata@02200000 { | ||
29 | compatible = "fsl,imx6q-ahci"; | ||
30 | reg = <0x02200000 0x4000>; | ||
31 | interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; | ||
32 | clocks = <&clks IMX6QDL_CLK_SATA>, | ||
33 | <&clks IMX6QDL_CLK_SATA_REF_100M>, | ||
34 | <&clks IMX6QDL_CLK_AHB>; | ||
35 | clock-names = "sata", "sata_ref", "ahb"; | ||
36 | }; | ||
diff --git a/Documentation/devicetree/bindings/ata/tegra-sata.txt b/Documentation/devicetree/bindings/ata/tegra-sata.txt new file mode 100644 index 000000000000..946f2072570b --- /dev/null +++ b/Documentation/devicetree/bindings/ata/tegra-sata.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Tegra124 SoC SATA AHCI controller | ||
2 | |||
3 | Required properties : | ||
4 | - compatible : "nvidia,tegra124-ahci". | ||
5 | - reg : Should contain 2 entries: | ||
6 | - AHCI register set (SATA BAR5) | ||
7 | - SATA register set | ||
8 | - interrupts : Defines the interrupt used by SATA | ||
9 | - clocks : Must contain an entry for each entry in clock-names. | ||
10 | See ../clocks/clock-bindings.txt for details. | ||
11 | - clock-names : Must include the following entries: | ||
12 | - sata | ||
13 | - sata-oob | ||
14 | - cml1 | ||
15 | - pll_e | ||
16 | - resets : Must contain an entry for each entry in reset-names. | ||
17 | See ../reset/reset.txt for details. | ||
18 | - reset-names : Must include the following entries: | ||
19 | - sata | ||
20 | - sata-oob | ||
21 | - sata-cold | ||
22 | - phys : Must contain an entry for each entry in phy-names. | ||
23 | See ../phy/phy-bindings.txt for details. | ||
24 | - phy-names : Must include the following entries: | ||
25 | - sata-phy : XUSB PADCTL SATA PHY | ||
26 | - hvdd-supply : Defines the SATA HVDD regulator | ||
27 | - vddio-supply : Defines the SATA VDDIO regulator | ||
28 | - avdd-supply : Defines the SATA AVDD regulator | ||
29 | - target-5v-supply : Defines the SATA 5V power regulator | ||
30 | - target-12v-supply : Defines the SATA 12V power regulator | ||
diff --git a/Documentation/devicetree/bindings/clock/clk-palmas-clk32kg-clocks.txt b/Documentation/devicetree/bindings/clock/clk-palmas-clk32kg-clocks.txt new file mode 100644 index 000000000000..4208886d834a --- /dev/null +++ b/Documentation/devicetree/bindings/clock/clk-palmas-clk32kg-clocks.txt | |||
@@ -0,0 +1,35 @@ | |||
1 | * Palmas 32KHz clocks * | ||
2 | |||
3 | Palmas device has two clock output pins for 32KHz, KG and KG_AUDIO. | ||
4 | |||
5 | This binding uses the common clock binding ./clock-bindings.txt. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible : "ti,palmas-clk32kg" for clk32kg clock | ||
9 | "ti,palmas-clk32kgaudio" for clk32kgaudio clock | ||
10 | - #clock-cells : shall be set to 0. | ||
11 | |||
12 | Optional property: | ||
13 | - ti,external-sleep-control: The external enable input pins controlled the | ||
14 | enable/disable of clocks. The external enable input pins ENABLE1, | ||
15 | ENABLE2 and NSLEEP. The valid values for the external pins are: | ||
16 | PALMAS_EXT_CONTROL_PIN_ENABLE1 for ENABLE1 pin | ||
17 | PALMAS_EXT_CONTROL_PIN_ENABLE2 for ENABLE2 pin | ||
18 | PALMAS_EXT_CONTROL_PIN_NSLEEP for NSLEEP pin | ||
19 | Option 0 or missing this property means the clock is enabled/disabled | ||
20 | via register access and these pins do not have any control. | ||
21 | The macros of external control pins for DTS is defined at | ||
22 | dt-bindings/mfd/palmas.h | ||
23 | |||
24 | Example: | ||
25 | #include <dt-bindings/mfd/palmas.h> | ||
26 | ... | ||
27 | palmas: tps65913@58 { | ||
28 | ... | ||
29 | clk32kg: palmas_clk32k@0 { | ||
30 | compatible = "ti,palmas-clk32kg"; | ||
31 | #clock-cells = <0>; | ||
32 | ti,external-sleep-control = <PALMAS_EXT_CONTROL_PIN_NSLEEP>; | ||
33 | }; | ||
34 | ... | ||
35 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt index f15787817d6b..06fc6d541c89 100644 --- a/Documentation/devicetree/bindings/clock/clock-bindings.txt +++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt | |||
@@ -131,3 +131,39 @@ clock signal, and a UART. | |||
131 | ("pll" and "pll-switched"). | 131 | ("pll" and "pll-switched"). |
132 | * The UART has its baud clock connected the external oscillator and its | 132 | * The UART has its baud clock connected the external oscillator and its |
133 | register clock connected to the PLL clock (the "pll-switched" signal) | 133 | register clock connected to the PLL clock (the "pll-switched" signal) |
134 | |||
135 | ==Assigned clock parents and rates== | ||
136 | |||
137 | Some platforms may require initial configuration of default parent clocks | ||
138 | and clock frequencies. Such a configuration can be specified in a device tree | ||
139 | node through assigned-clocks, assigned-clock-parents and assigned-clock-rates | ||
140 | properties. The assigned-clock-parents property should contain a list of parent | ||
141 | clocks in form of phandle and clock specifier pairs, the assigned-clock-parents | ||
142 | property the list of assigned clock frequency values - corresponding to clocks | ||
143 | listed in the assigned-clocks property. | ||
144 | |||
145 | To skip setting parent or rate of a clock its corresponding entry should be | ||
146 | set to 0, or can be omitted if it is not followed by any non-zero entry. | ||
147 | |||
148 | uart@a000 { | ||
149 | compatible = "fsl,imx-uart"; | ||
150 | reg = <0xa000 0x1000>; | ||
151 | ... | ||
152 | clocks = <&osc 0>, <&pll 1>; | ||
153 | clock-names = "baud", "register"; | ||
154 | |||
155 | assigned-clocks = <&clkcon 0>, <&pll 2>; | ||
156 | assigned-clock-parents = <&pll 2>; | ||
157 | assigned-clock-rates = <0>, <460800>; | ||
158 | }; | ||
159 | |||
160 | In this example the <&pll 2> clock is set as parent of clock <&clkcon 0> and | ||
161 | the <&pll 2> clock is assigned a frequency value of 460800 Hz. | ||
162 | |||
163 | Configuring a clock's parent and rate through the device node that consumes | ||
164 | the clock can be done only for clocks that have a single user. Specifying | ||
165 | conflicting parent or rate configuration in multiple consumer nodes for | ||
166 | a shared clock is forbidden. | ||
167 | |||
168 | Configuration of common clocks, which affect multiple consumer devices can | ||
169 | be similarly specified in the clock provider node. | ||
diff --git a/Documentation/devicetree/bindings/clock/clps711x-clock.txt b/Documentation/devicetree/bindings/clock/clps711x-clock.txt new file mode 100644 index 000000000000..ce5a7476f05d --- /dev/null +++ b/Documentation/devicetree/bindings/clock/clps711x-clock.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | * Clock bindings for the Cirrus Logic CLPS711X CPUs | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : Shall contain "cirrus,clps711x-clk". | ||
5 | - reg : Address of the internal register set. | ||
6 | - startup-frequency: Factory set CPU startup frequency in HZ. | ||
7 | - #clock-cells : Should be <1>. | ||
8 | |||
9 | The clock consumer should specify the desired clock by having the clock | ||
10 | ID in its "clocks" phandle cell. See include/dt-bindings/clock/clps711x-clock.h | ||
11 | for the full list of CLPS711X clock IDs. | ||
12 | |||
13 | Example: | ||
14 | clks: clks@80000000 { | ||
15 | #clock-cells = <1>; | ||
16 | compatible = "cirrus,ep7312-clk", "cirrus,clps711x-clk"; | ||
17 | reg = <0x80000000 0xc000>; | ||
18 | startup-frequency = <73728000>; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.txt b/Documentation/devicetree/bindings/clock/qcom,gcc.txt index 9cfcb4f2bc97..aba3d254e037 100644 --- a/Documentation/devicetree/bindings/clock/qcom,gcc.txt +++ b/Documentation/devicetree/bindings/clock/qcom,gcc.txt | |||
@@ -5,6 +5,8 @@ Required properties : | |||
5 | - compatible : shall contain only one of the following: | 5 | - compatible : shall contain only one of the following: |
6 | 6 | ||
7 | "qcom,gcc-apq8064" | 7 | "qcom,gcc-apq8064" |
8 | "qcom,gcc-apq8084" | ||
9 | "qcom,gcc-ipq8064" | ||
8 | "qcom,gcc-msm8660" | 10 | "qcom,gcc-msm8660" |
9 | "qcom,gcc-msm8960" | 11 | "qcom,gcc-msm8960" |
10 | "qcom,gcc-msm8974" | 12 | "qcom,gcc-msm8974" |
diff --git a/Documentation/devicetree/bindings/clock/qcom,mmcc.txt b/Documentation/devicetree/bindings/clock/qcom,mmcc.txt index d572e9964c54..29ebf84d25af 100644 --- a/Documentation/devicetree/bindings/clock/qcom,mmcc.txt +++ b/Documentation/devicetree/bindings/clock/qcom,mmcc.txt | |||
@@ -4,6 +4,8 @@ Qualcomm Multimedia Clock & Reset Controller Binding | |||
4 | Required properties : | 4 | Required properties : |
5 | - compatible : shall contain only one of the following: | 5 | - compatible : shall contain only one of the following: |
6 | 6 | ||
7 | "qcom,mmcc-apq8064" | ||
8 | "qcom,mmcc-apq8084" | ||
7 | "qcom,mmcc-msm8660" | 9 | "qcom,mmcc-msm8660" |
8 | "qcom,mmcc-msm8960" | 10 | "qcom,mmcc-msm8960" |
9 | "qcom,mmcc-msm8974" | 11 | "qcom,mmcc-msm8974" |
diff --git a/Documentation/devicetree/bindings/clock/rockchip,rk3188-cru.txt b/Documentation/devicetree/bindings/clock/rockchip,rk3188-cru.txt new file mode 100644 index 000000000000..0c2bf5eba43e --- /dev/null +++ b/Documentation/devicetree/bindings/clock/rockchip,rk3188-cru.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | * Rockchip RK3188/RK3066 Clock and Reset Unit | ||
2 | |||
3 | The RK3188/RK3066 clock controller generates and supplies clock to various | ||
4 | controllers within the SoC and also implements a reset controller for SoC | ||
5 | peripherals. | ||
6 | |||
7 | Required Properties: | ||
8 | |||
9 | - compatible: should be "rockchip,rk3188-cru", "rockchip,rk3188a-cru" or | ||
10 | "rockchip,rk3066a-cru" | ||
11 | - reg: physical base address of the controller and length of memory mapped | ||
12 | region. | ||
13 | - #clock-cells: should be 1. | ||
14 | - #reset-cells: should be 1. | ||
15 | |||
16 | Optional Properties: | ||
17 | |||
18 | - rockchip,grf: phandle to the syscon managing the "general register files" | ||
19 | If missing pll rates are not changable, due to the missing pll lock status. | ||
20 | |||
21 | Each clock is assigned an identifier and client nodes can use this identifier | ||
22 | to specify the clock which they consume. All available clocks are defined as | ||
23 | preprocessor macros in the dt-bindings/clock/rk3188-cru.h and | ||
24 | dt-bindings/clock/rk3066-cru.h headers and can be used in device tree sources. | ||
25 | Similar macros exist for the reset sources in these files. | ||
26 | |||
27 | External clocks: | ||
28 | |||
29 | There are several clocks that are generated outside the SoC. It is expected | ||
30 | that they are defined using standard clock bindings with following | ||
31 | clock-output-names: | ||
32 | - "xin24m" - crystal input - required, | ||
33 | - "xin32k" - rtc clock - optional, | ||
34 | - "xin27m" - 27mhz crystal input on rk3066 - optional, | ||
35 | - "ext_hsadc" - external HSADC clock - optional, | ||
36 | - "ext_cif0" - external camera clock - optional, | ||
37 | - "ext_rmii" - external RMII clock - optional, | ||
38 | - "ext_jtag" - externalJTAG clock - optional | ||
39 | |||
40 | Example: Clock controller node: | ||
41 | |||
42 | cru: cru@20000000 { | ||
43 | compatible = "rockchip,rk3188-cru"; | ||
44 | reg = <0x20000000 0x1000>; | ||
45 | rockchip,grf = <&grf>; | ||
46 | |||
47 | #clock-cells = <1>; | ||
48 | #reset-cells = <1>; | ||
49 | }; | ||
50 | |||
51 | Example: UART controller node that consumes the clock generated by the clock | ||
52 | controller: | ||
53 | |||
54 | uart0: serial@10124000 { | ||
55 | compatible = "snps,dw-apb-uart"; | ||
56 | reg = <0x10124000 0x400>; | ||
57 | interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; | ||
58 | reg-shift = <2>; | ||
59 | reg-io-width = <1>; | ||
60 | clocks = <&cru SCLK_UART0>; | ||
61 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/rockchip,rk3288-cru.txt b/Documentation/devicetree/bindings/clock/rockchip,rk3288-cru.txt new file mode 100644 index 000000000000..c9fbb76573e1 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/rockchip,rk3288-cru.txt | |||
@@ -0,0 +1,61 @@ | |||
1 | * Rockchip RK3288 Clock and Reset Unit | ||
2 | |||
3 | The RK3288 clock controller generates and supplies clock to various | ||
4 | controllers within the SoC and also implements a reset controller for SoC | ||
5 | peripherals. | ||
6 | |||
7 | Required Properties: | ||
8 | |||
9 | - compatible: should be "rockchip,rk3288-cru" | ||
10 | - reg: physical base address of the controller and length of memory mapped | ||
11 | region. | ||
12 | - #clock-cells: should be 1. | ||
13 | - #reset-cells: should be 1. | ||
14 | |||
15 | Optional Properties: | ||
16 | |||
17 | - rockchip,grf: phandle to the syscon managing the "general register files" | ||
18 | If missing pll rates are not changable, due to the missing pll lock status. | ||
19 | |||
20 | Each clock is assigned an identifier and client nodes can use this identifier | ||
21 | to specify the clock which they consume. All available clocks are defined as | ||
22 | preprocessor macros in the dt-bindings/clock/rk3288-cru.h headers and can be | ||
23 | used in device tree sources. Similar macros exist for the reset sources in | ||
24 | these files. | ||
25 | |||
26 | External clocks: | ||
27 | |||
28 | There are several clocks that are generated outside the SoC. It is expected | ||
29 | that they are defined using standard clock bindings with following | ||
30 | clock-output-names: | ||
31 | - "xin24m" - crystal input - required, | ||
32 | - "xin32k" - rtc clock - optional, | ||
33 | - "ext_i2s" - external I2S clock - optional, | ||
34 | - "ext_hsadc" - external HSADC clock - optional, | ||
35 | - "ext_edp_24m" - external display port clock - optional, | ||
36 | - "ext_vip" - external VIP clock - optional, | ||
37 | - "ext_isp" - external ISP clock - optional, | ||
38 | - "ext_jtag" - external JTAG clock - optional | ||
39 | |||
40 | Example: Clock controller node: | ||
41 | |||
42 | cru: cru@20000000 { | ||
43 | compatible = "rockchip,rk3188-cru"; | ||
44 | reg = <0x20000000 0x1000>; | ||
45 | rockchip,grf = <&grf>; | ||
46 | |||
47 | #clock-cells = <1>; | ||
48 | #reset-cells = <1>; | ||
49 | }; | ||
50 | |||
51 | Example: UART controller node that consumes the clock generated by the clock | ||
52 | controller: | ||
53 | |||
54 | uart0: serial@10124000 { | ||
55 | compatible = "snps,dw-apb-uart"; | ||
56 | reg = <0x10124000 0x400>; | ||
57 | interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; | ||
58 | reg-shift = <2>; | ||
59 | reg-io-width = <1>; | ||
60 | clocks = <&cru SCLK_UART0>; | ||
61 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/rockchip.txt b/Documentation/devicetree/bindings/clock/rockchip.txt index a891c823ed44..22f6769e5d4a 100644 --- a/Documentation/devicetree/bindings/clock/rockchip.txt +++ b/Documentation/devicetree/bindings/clock/rockchip.txt | |||
@@ -6,6 +6,9 @@ This binding uses the common clock binding[1]. | |||
6 | 6 | ||
7 | == Gate clocks == | 7 | == Gate clocks == |
8 | 8 | ||
9 | These bindings are deprecated! | ||
10 | Please use the soc specific CRU bindings instead. | ||
11 | |||
9 | The gate registers form a continuos block which makes the dt node | 12 | 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 | 13 | 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 | 14 | one gate clock spanning all registers or they can be divided into |
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt index ae56315fcec5..6247652044a0 100644 --- a/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt | |||
@@ -24,26 +24,26 @@ Required properties: | |||
24 | 24 | ||
25 | Example: | 25 | Example: |
26 | 26 | ||
27 | clockgenA@fd345000 { | 27 | clockgen-a@fd345000 { |
28 | reg = <0xfd345000 0xb50>; | 28 | reg = <0xfd345000 0xb50>; |
29 | 29 | ||
30 | CLK_M_A1_DIV1: CLK_M_A1_DIV1 { | 30 | clk_m_a1_div1: clk-m-a1-div1 { |
31 | #clock-cells = <1>; | 31 | #clock-cells = <1>; |
32 | compatible = "st,clkgena-divmux-c32-odf1", | 32 | compatible = "st,clkgena-divmux-c32-odf1", |
33 | "st,clkgena-divmux"; | 33 | "st,clkgena-divmux"; |
34 | 34 | ||
35 | clocks = <&CLK_M_A1_OSC_PREDIV>, | 35 | clocks = <&clk_m_a1_osc_prediv>, |
36 | <&CLK_M_A1_PLL0 1>, /* PLL0 PHI1 */ | 36 | <&clk_m_a1_pll0 1>, /* PLL0 PHI1 */ |
37 | <&CLK_M_A1_PLL1 1>; /* PLL1 PHI1 */ | 37 | <&clk_m_a1_pll1 1>; /* PLL1 PHI1 */ |
38 | 38 | ||
39 | clock-output-names = "CLK_M_RX_ICN_TS", | 39 | clock-output-names = "clk-m-rx-icn-ts", |
40 | "CLK_M_RX_ICN_VDP_0", | 40 | "clk-m-rx-icn-vdp-0", |
41 | "", /* Unused */ | 41 | "", /* unused */ |
42 | "CLK_M_PRV_T1_BUS", | 42 | "clk-m-prv-t1-bus", |
43 | "CLK_M_ICN_REG_12", | 43 | "clk-m-icn-reg-12", |
44 | "CLK_M_ICN_REG_10", | 44 | "clk-m-icn-reg-10", |
45 | "", /* Unused */ | 45 | "", /* unused */ |
46 | "CLK_M_ICN_ST231"; | 46 | "clk-m-icn-st231"; |
47 | }; | 47 | }; |
48 | }; | 48 | }; |
49 | 49 | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt index 943e0808e212..f1fa91c68768 100644 --- a/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt | |||
@@ -17,7 +17,7 @@ Required properties: | |||
17 | "st,stih416-clkgenf-vcc-sd", "st,clkgen-mux" | 17 | "st,stih416-clkgenf-vcc-sd", "st,clkgen-mux" |
18 | "st,stih415-clkgen-a9-mux", "st,clkgen-mux" | 18 | "st,stih415-clkgen-a9-mux", "st,clkgen-mux" |
19 | "st,stih416-clkgen-a9-mux", "st,clkgen-mux" | 19 | "st,stih416-clkgen-a9-mux", "st,clkgen-mux" |
20 | 20 | "st,stih407-clkgen-a9-mux", "st,clkgen-mux" | |
21 | 21 | ||
22 | - #clock-cells : from common clock binding; shall be set to 0. | 22 | - #clock-cells : from common clock binding; shall be set to 0. |
23 | 23 | ||
@@ -27,10 +27,10 @@ Required properties: | |||
27 | 27 | ||
28 | Example: | 28 | Example: |
29 | 29 | ||
30 | CLK_M_HVA: CLK_M_HVA { | 30 | clk_m_hva: clk-m-hva@fd690868 { |
31 | #clock-cells = <0>; | 31 | #clock-cells = <0>; |
32 | compatible = "st,stih416-clkgenf-vcc-hva", "st,clkgen-mux"; | 32 | compatible = "st,stih416-clkgenf-vcc-hva", "st,clkgen-mux"; |
33 | reg = <0xfd690868 4>; | 33 | reg = <0xfd690868 4>; |
34 | 34 | ||
35 | clocks = <&CLOCKGEN_F 1>, <&CLK_M_A1_DIV0 3>; | 35 | clocks = <&clockgen_f 1>, <&clk_m_a1_div0 3>; |
36 | }; | 36 | }; |
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt index 81eb3855ab92..efb51cf0c845 100644 --- a/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt | |||
@@ -19,11 +19,14 @@ Required properties: | |||
19 | "st,stih415-plls-c32-ddr", "st,clkgen-plls-c32" | 19 | "st,stih415-plls-c32-ddr", "st,clkgen-plls-c32" |
20 | "st,stih416-plls-c32-a9", "st,clkgen-plls-c32" | 20 | "st,stih416-plls-c32-a9", "st,clkgen-plls-c32" |
21 | "st,stih416-plls-c32-ddr", "st,clkgen-plls-c32" | 21 | "st,stih416-plls-c32-ddr", "st,clkgen-plls-c32" |
22 | "st,stih407-plls-c32-a0", "st,clkgen-plls-c32" | ||
23 | "st,stih407-plls-c32-a9", "st,clkgen-plls-c32" | ||
24 | "st,stih407-plls-c32-c0_0", "st,clkgen-plls-c32" | ||
25 | "st,stih407-plls-c32-c0_1", "st,clkgen-plls-c32" | ||
22 | 26 | ||
23 | "st,stih415-gpu-pll-c32", "st,clkgengpu-pll-c32" | 27 | "st,stih415-gpu-pll-c32", "st,clkgengpu-pll-c32" |
24 | "st,stih416-gpu-pll-c32", "st,clkgengpu-pll-c32" | 28 | "st,stih416-gpu-pll-c32", "st,clkgengpu-pll-c32" |
25 | 29 | ||
26 | |||
27 | - #clock-cells : From common clock binding; shall be set to 1. | 30 | - #clock-cells : From common clock binding; shall be set to 1. |
28 | 31 | ||
29 | - clocks : From common clock binding | 32 | - clocks : From common clock binding |
@@ -32,17 +35,17 @@ Required properties: | |||
32 | 35 | ||
33 | Example: | 36 | Example: |
34 | 37 | ||
35 | clockgenA@fee62000 { | 38 | clockgen-a@fee62000 { |
36 | reg = <0xfee62000 0xb48>; | 39 | reg = <0xfee62000 0xb48>; |
37 | 40 | ||
38 | CLK_S_A0_PLL: CLK_S_A0_PLL { | 41 | clk_s_a0_pll: clk-s-a0-pll { |
39 | #clock-cells = <1>; | 42 | #clock-cells = <1>; |
40 | compatible = "st,clkgena-plls-c65"; | 43 | compatible = "st,clkgena-plls-c65"; |
41 | 44 | ||
42 | clocks = <&CLK_SYSIN>; | 45 | clocks = <&clk_sysin>; |
43 | 46 | ||
44 | clock-output-names = "CLK_S_A0_PLL0_HS", | 47 | clock-output-names = "clk-s-a0-pll0-hs", |
45 | "CLK_S_A0_PLL0_LS", | 48 | "clk-s-a0-pll0-ls", |
46 | "CLK_S_A0_PLL1"; | 49 | "clk-s-a0-pll1"; |
47 | }; | 50 | }; |
48 | }; | 51 | }; |
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt index 566c9d79ed32..604766c2619e 100644 --- a/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt | |||
@@ -20,17 +20,17 @@ Required properties: | |||
20 | 20 | ||
21 | Example: | 21 | Example: |
22 | 22 | ||
23 | clockgenA@fd345000 { | 23 | clockgen-a@fd345000 { |
24 | reg = <0xfd345000 0xb50>; | 24 | reg = <0xfd345000 0xb50>; |
25 | 25 | ||
26 | CLK_M_A2_OSC_PREDIV: CLK_M_A2_OSC_PREDIV { | 26 | clk_m_a2_osc_prediv: clk-m-a2-osc-prediv { |
27 | #clock-cells = <0>; | 27 | #clock-cells = <0>; |
28 | compatible = "st,clkgena-prediv-c32", | 28 | compatible = "st,clkgena-prediv-c32", |
29 | "st,clkgena-prediv"; | 29 | "st,clkgena-prediv"; |
30 | 30 | ||
31 | clocks = <&CLK_SYSIN>; | 31 | clocks = <&clk_sysin>; |
32 | 32 | ||
33 | clock-output-names = "CLK_M_A2_OSC_PREDIV"; | 33 | clock-output-names = "clk-m-a2-osc-prediv"; |
34 | }; | 34 | }; |
35 | }; | 35 | }; |
36 | 36 | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt index 4e3ff28b04c3..109b3eddcb17 100644 --- a/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt | |||
@@ -32,22 +32,30 @@ Required properties: | |||
32 | 32 | ||
33 | Example: | 33 | Example: |
34 | 34 | ||
35 | CLOCKGEN_C_VCC: CLOCKGEN_C_VCC { | 35 | clockgen_c_vcc: clockgen-c-vcc@0xfe8308ac { |
36 | #clock-cells = <1>; | 36 | #clock-cells = <1>; |
37 | compatible = "st,stih416-clkgenc", "st,clkgen-vcc"; | 37 | compatible = "st,stih416-clkgenc", "st,clkgen-vcc"; |
38 | reg = <0xfe8308ac 12>; | 38 | reg = <0xfe8308ac 12>; |
39 | 39 | ||
40 | clocks = <&CLK_S_VCC_HD>, <&CLOCKGEN_C 1>, | 40 | clocks = <&clk_s_vcc_hd>, |
41 | <&CLK_S_TMDS_FROMPHY>, <&CLOCKGEN_C 2>; | 41 | <&clockgen_c 1>, |
42 | 42 | <&clk_s_tmds_fromphy>, | |
43 | clock-output-names = | 43 | <&clockgen_c 2>; |
44 | "CLK_S_PIX_HDMI", "CLK_S_PIX_DVO", | 44 | |
45 | "CLK_S_OUT_DVO", "CLK_S_PIX_HD", | 45 | clock-output-names = "clk-s-pix-hdmi", |
46 | "CLK_S_HDDAC", "CLK_S_DENC", | 46 | "clk-s-pix-dvo", |
47 | "CLK_S_SDDAC", "CLK_S_PIX_MAIN", | 47 | "clk-s-out-dvo", |
48 | "CLK_S_PIX_AUX", "CLK_S_STFE_FRC_0", | 48 | "clk-s-pix-hd", |
49 | "CLK_S_REF_MCRU", "CLK_S_SLAVE_MCRU", | 49 | "clk-s-hddac", |
50 | "CLK_S_TMDS_HDMI", "CLK_S_HDMI_REJECT_PLL", | 50 | "clk-s-denc", |
51 | "CLK_S_THSENS"; | 51 | "clk-s-sddac", |
52 | "clk-s-pix-main", | ||
53 | "clk-s-pix-aux", | ||
54 | "clk-s-stfe-frc-0", | ||
55 | "clk-s-ref-mcru", | ||
56 | "clk-s-slave-mcru", | ||
57 | "clk-s-tmds-hdmi", | ||
58 | "clk-s-hdmi-reject-pll", | ||
59 | "clk-s-thsens"; | ||
52 | }; | 60 | }; |
53 | 61 | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen.txt index 49ec5ae18b5b..78978f1f5158 100644 --- a/Documentation/devicetree/bindings/clock/st/st,clkgen.txt +++ b/Documentation/devicetree/bindings/clock/st/st,clkgen.txt | |||
@@ -24,60 +24,77 @@ address is common of all subnode. | |||
24 | quadfs_node { | 24 | quadfs_node { |
25 | ... | 25 | ... |
26 | }; | 26 | }; |
27 | |||
28 | mux_node { | ||
29 | ... | ||
30 | }; | ||
31 | |||
32 | vcc_node { | ||
33 | ... | ||
34 | }; | ||
35 | |||
36 | flexgen_node { | ||
37 | ... | ||
38 | }; | ||
27 | ... | 39 | ... |
28 | }; | 40 | }; |
29 | 41 | ||
30 | This binding uses the common clock binding[1]. | 42 | This binding uses the common clock binding[1]. |
31 | Each subnode should use the binding discribe in [2]..[4] | 43 | Each subnode should use the binding discribe in [2]..[7] |
32 | 44 | ||
33 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | 45 | [1] Documentation/devicetree/bindings/clock/clock-bindings.txt |
34 | [2] Documentation/devicetree/bindings/clock/st,quadfs.txt | 46 | [2] Documentation/devicetree/bindings/clock/st,clkgen-divmux.txt |
35 | [3] Documentation/devicetree/bindings/clock/st,quadfs.txt | 47 | [3] Documentation/devicetree/bindings/clock/st,clkgen-mux.txt |
36 | [4] Documentation/devicetree/bindings/clock/st,quadfs.txt | 48 | [4] Documentation/devicetree/bindings/clock/st,clkgen-pll.txt |
49 | [5] Documentation/devicetree/bindings/clock/st,clkgen-prediv.txt | ||
50 | [6] Documentation/devicetree/bindings/clock/st,vcc.txt | ||
51 | [7] Documentation/devicetree/bindings/clock/st,quadfs.txt | ||
52 | [8] Documentation/devicetree/bindings/clock/st,flexgen.txt | ||
53 | |||
37 | 54 | ||
38 | Required properties: | 55 | Required properties: |
39 | - reg : A Base address and length of the register set. | 56 | - reg : A Base address and length of the register set. |
40 | 57 | ||
41 | Example: | 58 | Example: |
42 | 59 | ||
43 | clockgenA@fee62000 { | 60 | clockgen-a@fee62000 { |
44 | 61 | ||
45 | reg = <0xfee62000 0xb48>; | 62 | reg = <0xfee62000 0xb48>; |
46 | 63 | ||
47 | CLK_S_A0_PLL: CLK_S_A0_PLL { | 64 | clk_s_a0_pll: clk-s-a0-pll { |
48 | #clock-cells = <1>; | 65 | #clock-cells = <1>; |
49 | compatible = "st,clkgena-plls-c65"; | 66 | compatible = "st,clkgena-plls-c65"; |
50 | 67 | ||
51 | clocks = <&CLK_SYSIN>; | 68 | clocks = <&clk-sysin>; |
52 | 69 | ||
53 | clock-output-names = "CLK_S_A0_PLL0_HS", | 70 | clock-output-names = "clk-s-a0-pll0-hs", |
54 | "CLK_S_A0_PLL0_LS", | 71 | "clk-s-a0-pll0-ls", |
55 | "CLK_S_A0_PLL1"; | 72 | "clk-s-a0-pll1"; |
56 | }; | 73 | }; |
57 | 74 | ||
58 | CLK_S_A0_OSC_PREDIV: CLK_S_A0_OSC_PREDIV { | 75 | clk_s_a0_osc_prediv: clk-s-a0-osc-prediv { |
59 | #clock-cells = <0>; | 76 | #clock-cells = <0>; |
60 | compatible = "st,clkgena-prediv-c65", | 77 | compatible = "st,clkgena-prediv-c65", |
61 | "st,clkgena-prediv"; | 78 | "st,clkgena-prediv"; |
62 | 79 | ||
63 | clocks = <&CLK_SYSIN>; | 80 | clocks = <&clk_sysin>; |
64 | 81 | ||
65 | clock-output-names = "CLK_S_A0_OSC_PREDIV"; | 82 | clock-output-names = "clk-s-a0-osc-prediv"; |
66 | }; | 83 | }; |
67 | 84 | ||
68 | CLK_S_A0_HS: CLK_S_A0_HS { | 85 | clk_s_a0_hs: clk-s-a0-hs { |
69 | #clock-cells = <1>; | 86 | #clock-cells = <1>; |
70 | compatible = "st,clkgena-divmux-c65-hs", | 87 | compatible = "st,clkgena-divmux-c65-hs", |
71 | "st,clkgena-divmux"; | 88 | "st,clkgena-divmux"; |
72 | 89 | ||
73 | clocks = <&CLK_S_A0_OSC_PREDIV>, | 90 | clocks = <&clk-s_a0_osc_prediv>, |
74 | <&CLK_S_A0_PLL 0>, /* PLL0 HS */ | 91 | <&clk-s_a0_pll 0>, /* pll0 hs */ |
75 | <&CLK_S_A0_PLL 2>; /* PLL1 */ | 92 | <&clk-s_a0_pll 2>; /* pll1 */ |
76 | 93 | ||
77 | clock-output-names = "CLK_S_FDMA_0", | 94 | clock-output-names = "clk-s-fdma-0", |
78 | "CLK_S_FDMA_1", | 95 | "clk-s-fdma-1", |
79 | ""; /* CLK_S_JIT_SENSE */ | 96 | ""; /* clk-s-jit-sense */ |
80 | /* Fourth output unused */ | 97 | /* fourth output unused */ |
81 | }; | 98 | }; |
82 | }; | 99 | }; |
83 | 100 | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,flexgen.txt b/Documentation/devicetree/bindings/clock/st/st,flexgen.txt new file mode 100644 index 000000000000..1d3ace088172 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/st/st,flexgen.txt | |||
@@ -0,0 +1,119 @@ | |||
1 | Binding for a type of flexgen structure found on certain | ||
2 | STMicroelectronics consumer electronics SoC devices | ||
3 | |||
4 | This structure includes: | ||
5 | - a clock cross bar (represented by a mux element) | ||
6 | - a pre and final dividers (represented by a divider and gate elements) | ||
7 | |||
8 | Flexgen structure is a part of Clockgen[1]. | ||
9 | |||
10 | Please find an example below: | ||
11 | |||
12 | Clockgen block diagram | ||
13 | ------------------------------------------------------------------- | ||
14 | | Flexgen stucture | | ||
15 | | --------------------------------------------- | | ||
16 | | | ------- -------- -------- | | | ||
17 | clk_sysin | | | | | | | | | | ||
18 | ---|-----------------|-->| | | | | | | | | ||
19 | | | | | | | | | | | | | ||
20 | | | ------- | | | |Pre | |Final | | | | ||
21 | | | |PLL0 | | | | |Dividers| |Dividers| | | | ||
22 | | |->| | | | | | x32 | | x32 | | | | ||
23 | | | | odf_0|----|-->| | | | | | | | | ||
24 | | | | | | | | | | | | | | | ||
25 | | | | | | | | | | | | | | | ||
26 | | | | | | | | | | | | | | | ||
27 | | | | | | | | | | | | | | | ||
28 | | | ------- | | | | | | | | | | ||
29 | | | | | | | | | | | | | ||
30 | | | ------- | | Clock | | | | | | | | ||
31 | | | |PLL1 | | | | | | | | | | | ||
32 | | |->| | | | Cross | | | | | | | | ||
33 | | | | odf_0|----|-->| | | | | | CLK_DIV[31:0] | ||
34 | | | | | | | Bar |====>| |====>| |===|=========> | ||
35 | | | | | | | | | | | | | | | ||
36 | | | | | | | | | | | | | | | ||
37 | | | | | | | | | | | | | | | ||
38 | | | ------- | | | | | | | | | | ||
39 | | | | | | | | | | | | | ||
40 | | | ------- | | | | | | | | | | ||
41 | | | |QUADFS | | | | | | | | | | | ||
42 | | |->| ch0|----|-->| | | | | | | | | ||
43 | | | | | | | | | | | | | | ||
44 | | | ch1|----|-->| | | | | | | | | ||
45 | | | | | | | | | | | | | | ||
46 | | | ch2|----|-->| | | DIV | | DIV | | | | ||
47 | | | | | | | | 1 to | | 1 to | | | | ||
48 | | | ch3|----|-->| | | 1024 | | 64 | | | | ||
49 | | ------- | | | | | | | | | | ||
50 | | | ------- -------- -------- | | | ||
51 | | -------------------------------------------- | | ||
52 | | | | ||
53 | ------------------------------------------------------------------- | ||
54 | |||
55 | This binding uses the common clock binding[2]. | ||
56 | |||
57 | [1] Documentation/devicetree/bindings/clock/st/st,clkgen.txt | ||
58 | [2] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
59 | |||
60 | Required properties: | ||
61 | - compatible : shall be: | ||
62 | "st,flexgen" | ||
63 | |||
64 | - #clock-cells : from common clock binding; shall be set to 1 (multiple clock | ||
65 | outputs). | ||
66 | |||
67 | - clocks : must be set to the parent's phandle. it's could be output clocks of | ||
68 | a quadsfs or/and a pll or/and clk_sysin (up to 7 clocks) | ||
69 | |||
70 | - clock-output-names : List of strings used to name the clock outputs. | ||
71 | |||
72 | Example: | ||
73 | |||
74 | clk_s_c0_flexgen: clk-s-c0-flexgen { | ||
75 | |||
76 | #clock-cells = <1>; | ||
77 | compatible = "st,flexgen"; | ||
78 | |||
79 | clocks = <&clk_s_c0_pll0 0>, | ||
80 | <&clk_s_c0_pll1 0>, | ||
81 | <&clk_s_c0_quadfs 0>, | ||
82 | <&clk_s_c0_quadfs 1>, | ||
83 | <&clk_s_c0_quadfs 2>, | ||
84 | <&clk_s_c0_quadfs 3>, | ||
85 | <&clk_sysin>; | ||
86 | |||
87 | clock-output-names = "clk-icn-gpu", | ||
88 | "clk-fdma", | ||
89 | "clk-nand", | ||
90 | "clk-hva", | ||
91 | "clk-proc-stfe", | ||
92 | "clk-proc-tp", | ||
93 | "clk-rx-icn-dmu", | ||
94 | "clk-rx-icn-hva", | ||
95 | "clk-icn-cpu", | ||
96 | "clk-tx-icn-dmu", | ||
97 | "clk-mmc-0", | ||
98 | "clk-mmc-1", | ||
99 | "clk-jpegdec", | ||
100 | "clk-ext2fa9", | ||
101 | "clk-ic-bdisp-0", | ||
102 | "clk-ic-bdisp-1", | ||
103 | "clk-pp-dmu", | ||
104 | "clk-vid-dmu", | ||
105 | "clk-dss-lpc", | ||
106 | "clk-st231-aud-0", | ||
107 | "clk-st231-gp-1", | ||
108 | "clk-st231-dmu", | ||
109 | "clk-icn-lmi", | ||
110 | "clk-tx-icn-disp-1", | ||
111 | "clk-icn-sbc", | ||
112 | "clk-stfe-frc2", | ||
113 | "clk-eth-phy", | ||
114 | "clk-eth-ref-phyclk", | ||
115 | "clk-flash-promip", | ||
116 | "clk-main-disp", | ||
117 | "clk-aux-disp", | ||
118 | "clk-compo-dvp"; | ||
119 | }; | ||
diff --git a/Documentation/devicetree/bindings/clock/st/st,quadfs.txt b/Documentation/devicetree/bindings/clock/st/st,quadfs.txt index ec86d62ca283..cedeb9cc8208 100644 --- a/Documentation/devicetree/bindings/clock/st/st,quadfs.txt +++ b/Documentation/devicetree/bindings/clock/st/st,quadfs.txt | |||
@@ -15,6 +15,9 @@ Required properties: | |||
15 | "st,stih416-quadfs432", "st,quadfs" | 15 | "st,stih416-quadfs432", "st,quadfs" |
16 | "st,stih416-quadfs660-E", "st,quadfs" | 16 | "st,stih416-quadfs660-E", "st,quadfs" |
17 | "st,stih416-quadfs660-F", "st,quadfs" | 17 | "st,stih416-quadfs660-F", "st,quadfs" |
18 | "st,stih407-quadfs660-C", "st,quadfs" | ||
19 | "st,stih407-quadfs660-D", "st,quadfs" | ||
20 | |||
18 | 21 | ||
19 | - #clock-cells : from common clock binding; shall be set to 1. | 22 | - #clock-cells : from common clock binding; shall be set to 1. |
20 | 23 | ||
@@ -32,14 +35,14 @@ Required properties: | |||
32 | 35 | ||
33 | Example: | 36 | Example: |
34 | 37 | ||
35 | CLOCKGEN_E: CLOCKGEN_E { | 38 | clockgen_e: clockgen-e@fd3208bc { |
36 | #clock-cells = <1>; | 39 | #clock-cells = <1>; |
37 | compatible = "st,stih416-quadfs660-E", "st,quadfs"; | 40 | compatible = "st,stih416-quadfs660-E", "st,quadfs"; |
38 | reg = <0xfd3208bc 0xB0>; | 41 | reg = <0xfd3208bc 0xB0>; |
39 | 42 | ||
40 | clocks = <&CLK_SYSIN>; | 43 | clocks = <&clk_sysin>; |
41 | clock-output-names = "CLK_M_PIX_MDTP_0", | 44 | clock-output-names = "clk-m-pix-mdtp-0", |
42 | "CLK_M_PIX_MDTP_1", | 45 | "clk-m-pix-mdtp-1", |
43 | "CLK_M_PIX_MDTP_2", | 46 | "clk-m-pix-mdtp-2", |
44 | "CLK_M_MPELPC"; | 47 | "clk-m-mpelpc"; |
45 | }; | 48 | }; |
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt index b9ec668bfe62..d3a5c3c6d677 100644 --- a/Documentation/devicetree/bindings/clock/sunxi.txt +++ b/Documentation/devicetree/bindings/clock/sunxi.txt | |||
@@ -9,11 +9,13 @@ Required properties: | |||
9 | "allwinner,sun4i-a10-osc-clk" - for a gatable oscillator | 9 | "allwinner,sun4i-a10-osc-clk" - for a gatable oscillator |
10 | "allwinner,sun4i-a10-pll1-clk" - for the main PLL clock and PLL4 | 10 | "allwinner,sun4i-a10-pll1-clk" - for the main PLL clock and PLL4 |
11 | "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31 | 11 | "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31 |
12 | "allwinner,sun8i-a23-pll1-clk" - for the main PLL clock on A23 | ||
12 | "allwinner,sun4i-a10-pll5-clk" - for the PLL5 clock | 13 | "allwinner,sun4i-a10-pll5-clk" - for the PLL5 clock |
13 | "allwinner,sun4i-a10-pll6-clk" - for the PLL6 clock | 14 | "allwinner,sun4i-a10-pll6-clk" - for the PLL6 clock |
14 | "allwinner,sun6i-a31-pll6-clk" - for the PLL6 clock on A31 | 15 | "allwinner,sun6i-a31-pll6-clk" - for the PLL6 clock on A31 |
15 | "allwinner,sun4i-a10-cpu-clk" - for the CPU multiplexer clock | 16 | "allwinner,sun4i-a10-cpu-clk" - for the CPU multiplexer clock |
16 | "allwinner,sun4i-a10-axi-clk" - for the AXI clock | 17 | "allwinner,sun4i-a10-axi-clk" - for the AXI clock |
18 | "allwinner,sun8i-a23-axi-clk" - for the AXI clock on A23 | ||
17 | "allwinner,sun4i-a10-axi-gates-clk" - for the AXI gates | 19 | "allwinner,sun4i-a10-axi-gates-clk" - for the AXI gates |
18 | "allwinner,sun4i-a10-ahb-clk" - for the AHB clock | 20 | "allwinner,sun4i-a10-ahb-clk" - for the AHB clock |
19 | "allwinner,sun4i-a10-ahb-gates-clk" - for the AHB gates on A10 | 21 | "allwinner,sun4i-a10-ahb-gates-clk" - for the AHB gates on A10 |
@@ -23,13 +25,16 @@ Required properties: | |||
23 | "allwinner,sun6i-a31-ar100-clk" - for the AR100 on A31 | 25 | "allwinner,sun6i-a31-ar100-clk" - for the AR100 on A31 |
24 | "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31 | 26 | "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31 |
25 | "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31 | 27 | "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31 |
28 | "allwinner,sun8i-a23-ahb1-gates-clk" - for the AHB1 gates on A23 | ||
26 | "allwinner,sun4i-a10-apb0-clk" - for the APB0 clock | 29 | "allwinner,sun4i-a10-apb0-clk" - for the APB0 clock |
27 | "allwinner,sun6i-a31-apb0-clk" - for the APB0 clock on A31 | 30 | "allwinner,sun6i-a31-apb0-clk" - for the APB0 clock on A31 |
31 | "allwinner,sun8i-a23-apb0-clk" - for the APB0 clock on A23 | ||
28 | "allwinner,sun4i-a10-apb0-gates-clk" - for the APB0 gates on A10 | 32 | "allwinner,sun4i-a10-apb0-gates-clk" - for the APB0 gates on A10 |
29 | "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 | 33 | "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 |
30 | "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s | 34 | "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s |
31 | "allwinner,sun6i-a31-apb0-gates-clk" - for the APB0 gates on A31 | 35 | "allwinner,sun6i-a31-apb0-gates-clk" - for the APB0 gates on A31 |
32 | "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20 | 36 | "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20 |
37 | "allwinner,sun8i-a23-apb0-gates-clk" - for the APB0 gates on A23 | ||
33 | "allwinner,sun4i-a10-apb1-clk" - for the APB1 clock | 38 | "allwinner,sun4i-a10-apb1-clk" - for the APB1 clock |
34 | "allwinner,sun4i-a10-apb1-mux-clk" - for the APB1 clock muxing | 39 | "allwinner,sun4i-a10-apb1-mux-clk" - for the APB1 clock muxing |
35 | "allwinner,sun4i-a10-apb1-gates-clk" - for the APB1 gates on A10 | 40 | "allwinner,sun4i-a10-apb1-gates-clk" - for the APB1 gates on A10 |
@@ -37,8 +42,10 @@ Required properties: | |||
37 | "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s | 42 | "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s |
38 | "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31 | 43 | "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31 |
39 | "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20 | 44 | "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20 |
45 | "allwinner,sun8i-a23-apb1-gates-clk" - for the APB1 gates on A23 | ||
40 | "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31 | 46 | "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31 |
41 | "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31 | 47 | "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31 |
48 | "allwinner,sun8i-a23-apb2-gates-clk" - for the APB2 gates on A23 | ||
42 | "allwinner,sun4i-a10-mod0-clk" - for the module 0 family of clocks | 49 | "allwinner,sun4i-a10-mod0-clk" - for the module 0 family of clocks |
43 | "allwinner,sun7i-a20-out-clk" - for the external output clocks | 50 | "allwinner,sun7i-a20-out-clk" - for the external output clocks |
44 | "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31 | 51 | "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31 |
diff --git a/Documentation/devicetree/bindings/crypto/amd-ccp.txt b/Documentation/devicetree/bindings/crypto/amd-ccp.txt new file mode 100644 index 000000000000..8c61183b41e0 --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/amd-ccp.txt | |||
@@ -0,0 +1,19 @@ | |||
1 | * AMD Cryptographic Coprocessor driver (ccp) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "amd,ccp-seattle-v1a" | ||
5 | - reg: Address and length of the register set for the device | ||
6 | - interrupt-parent: Should be the phandle for the interrupt controller | ||
7 | that services interrupts for this device | ||
8 | - interrupts: Should contain the CCP interrupt | ||
9 | |||
10 | Optional properties: | ||
11 | - dma-coherent: Present if dma operations are coherent | ||
12 | |||
13 | Example: | ||
14 | ccp@e0100000 { | ||
15 | compatible = "amd,ccp-seattle-v1a"; | ||
16 | reg = <0 0xe0100000 0 0x10000>; | ||
17 | interrupt-parent = <&gic>; | ||
18 | interrupts = <0 3 4>; | ||
19 | }; | ||
diff --git a/Documentation/devicetree/bindings/crypto/qcom-qce.txt b/Documentation/devicetree/bindings/crypto/qcom-qce.txt new file mode 100644 index 000000000000..fdd53b184ba8 --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/qcom-qce.txt | |||
@@ -0,0 +1,25 @@ | |||
1 | Qualcomm crypto engine driver | ||
2 | |||
3 | Required properties: | ||
4 | |||
5 | - compatible : should be "qcom,crypto-v5.1" | ||
6 | - reg : specifies base physical address and size of the registers map | ||
7 | - clocks : phandle to clock-controller plus clock-specifier pair | ||
8 | - clock-names : "iface" clocks register interface | ||
9 | "bus" clocks data transfer interface | ||
10 | "core" clocks rest of the crypto block | ||
11 | - dmas : DMA specifiers for tx and rx dma channels. For more see | ||
12 | Documentation/devicetree/bindings/dma/dma.txt | ||
13 | - dma-names : DMA request names should be "rx" and "tx" | ||
14 | |||
15 | Example: | ||
16 | crypto@fd45a000 { | ||
17 | compatible = "qcom,crypto-v5.1"; | ||
18 | reg = <0xfd45a000 0x6000>; | ||
19 | clocks = <&gcc GCC_CE2_AHB_CLK>, | ||
20 | <&gcc GCC_CE2_AXI_CLK>, | ||
21 | <&gcc GCC_CE2_CLK>; | ||
22 | clock-names = "iface", "bus", "core"; | ||
23 | dmas = <&cryptobam 2>, <&cryptobam 3>; | ||
24 | dma-names = "rx", "tx"; | ||
25 | }; | ||
diff --git a/Documentation/devicetree/bindings/extcon/extcon-sm5502.txt b/Documentation/devicetree/bindings/extcon/extcon-sm5502.txt new file mode 100644 index 000000000000..4ecda224955f --- /dev/null +++ b/Documentation/devicetree/bindings/extcon/extcon-sm5502.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | |||
2 | * SM5502 MUIC (Micro-USB Interface Controller) device | ||
3 | |||
4 | The Silicon Mitus SM5502 is a MUIC (Micro-USB Interface Controller) device | ||
5 | which can detect the state of external accessory when external accessory is | ||
6 | attached or detached and button is pressed or released. It is interfaced to | ||
7 | the host controller using an I2C interface. | ||
8 | |||
9 | Required properties: | ||
10 | - compatible: Should be "siliconmitus,sm5502-muic" | ||
11 | - reg: Specifies the I2C slave address of the MUIC block. It should be 0x25 | ||
12 | - interrupt-parent: Specifies the phandle of the interrupt controller to which | ||
13 | the interrupts from sm5502 are delivered to. | ||
14 | - interrupts: Interrupt specifiers for detection interrupt sources. | ||
15 | |||
16 | Example: | ||
17 | |||
18 | sm5502@25 { | ||
19 | compatible = "siliconmitus,sm5502-muic"; | ||
20 | interrupt-parent = <&gpx1>; | ||
21 | interrupts = <5 0>; | ||
22 | reg = <0x25>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/hwmon/ibmpowernv.txt b/Documentation/devicetree/bindings/hwmon/ibmpowernv.txt new file mode 100644 index 000000000000..f93242be60a1 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/ibmpowernv.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | IBM POWERNV platform sensors | ||
2 | ---------------------------- | ||
3 | |||
4 | Required node properties: | ||
5 | - compatible: must be one of | ||
6 | "ibm,opal-sensor-cooling-fan" | ||
7 | "ibm,opal-sensor-amb-temp" | ||
8 | "ibm,opal-sensor-power-supply" | ||
9 | "ibm,opal-sensor-power" | ||
10 | - sensor-id: an opaque id provided by the firmware to the kernel, identifies a | ||
11 | given sensor and its attribute data | ||
12 | |||
13 | Example sensors node: | ||
14 | |||
15 | cooling-fan#8-data { | ||
16 | sensor-id = <0x7052107>; | ||
17 | compatible = "ibm,opal-sensor-cooling-fan"; | ||
18 | }; | ||
19 | |||
20 | amb-temp#1-thrs { | ||
21 | sensor-id = <0x5096000>; | ||
22 | compatible = "ibm,opal-sensor-amb-temp"; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt b/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt index b117b2e9e1a7..2391e5c41999 100644 --- a/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt +++ b/Documentation/devicetree/bindings/hwmon/ntc_thermistor.txt | |||
@@ -3,6 +3,7 @@ NTC Thermistor hwmon sensors | |||
3 | 3 | ||
4 | Requires node properties: | 4 | Requires node properties: |
5 | - "compatible" value : one of | 5 | - "compatible" value : one of |
6 | "epcos,b57330v2103" | ||
6 | "murata,ncp15wb473" | 7 | "murata,ncp15wb473" |
7 | "murata,ncp18wb473" | 8 | "murata,ncp18wb473" |
8 | "murata,ncp21wb473" | 9 | "murata,ncp21wb473" |
diff --git a/Documentation/devicetree/bindings/hwmon/pwm-fan.txt b/Documentation/devicetree/bindings/hwmon/pwm-fan.txt new file mode 100644 index 000000000000..610757ce4492 --- /dev/null +++ b/Documentation/devicetree/bindings/hwmon/pwm-fan.txt | |||
@@ -0,0 +1,12 @@ | |||
1 | Bindings for a fan connected to the PWM lines | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "pwm-fan" | ||
5 | - pwms : the PWM that is used to control the PWM fan | ||
6 | |||
7 | Example: | ||
8 | pwm-fan { | ||
9 | compatible = "pwm-fan"; | ||
10 | status = "okay"; | ||
11 | pwms = <&pwm 0 10000 0>; | ||
12 | }; | ||
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt index bef86e57c388..37803eb5521e 100644 --- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt +++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt | |||
@@ -50,6 +50,7 @@ epson,rx8581 I2C-BUS INTERFACE REAL TIME CLOCK MODULE | |||
50 | fsl,mag3110 MAG3110: Xtrinsic High Accuracy, 3D Magnetometer | 50 | fsl,mag3110 MAG3110: Xtrinsic High Accuracy, 3D Magnetometer |
51 | fsl,mc13892 MC13892: Power Management Integrated Circuit (PMIC) for i.MX35/51 | 51 | fsl,mc13892 MC13892: Power Management Integrated Circuit (PMIC) for i.MX35/51 |
52 | fsl,mma8450 MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer | 52 | fsl,mma8450 MMA8450Q: Xtrinsic Low-power, 3-axis Xtrinsic Accelerometer |
53 | fsl,mma8452 MMA8452Q: 3-axis 12-bit / 8-bit Digital Accelerometer | ||
53 | fsl,mpr121 MPR121: Proximity Capacitive Touch Sensor Controller | 54 | fsl,mpr121 MPR121: Proximity Capacitive Touch Sensor Controller |
54 | fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec | 55 | fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec |
55 | gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface | 56 | gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface |
@@ -83,5 +84,6 @@ stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS | |||
83 | taos,tsl2550 Ambient Light Sensor with SMBUS/Two Wire Serial Interface | 84 | taos,tsl2550 Ambient Light Sensor with SMBUS/Two Wire Serial Interface |
84 | ti,tsc2003 I2C Touch-Screen Controller | 85 | ti,tsc2003 I2C Touch-Screen Controller |
85 | ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface | 86 | ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface |
87 | ti,tmp103 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface | ||
86 | ti,tmp275 Digital Temperature Sensor | 88 | ti,tmp275 Digital Temperature Sensor |
87 | winbond,wpct301 i2c trusted platform module (TPM) | 89 | winbond,wpct301 i2c trusted platform module (TPM) |
diff --git a/Documentation/devicetree/bindings/iio/adc/max1027-adc.txt b/Documentation/devicetree/bindings/iio/adc/max1027-adc.txt new file mode 100644 index 000000000000..a8770cc6bcad --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/max1027-adc.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | * Maxim 1027/1029/1031 Analog to Digital Converter (ADC) | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: Should be "maxim,max1027" or "maxim,max1029" or "maxim,max1031" | ||
5 | - reg: SPI chip select number for the device | ||
6 | - interrupt-parent: phandle to the parent interrupt controller | ||
7 | see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
8 | - interrupts: IRQ line for the ADC | ||
9 | see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
10 | |||
11 | Recommended properties: | ||
12 | - spi-max-frequency: Definition as per | ||
13 | Documentation/devicetree/bindings/spi/spi-bus.txt | ||
14 | |||
15 | Example: | ||
16 | adc@0 { | ||
17 | compatible = "maxim,max1027"; | ||
18 | reg = <0>; | ||
19 | interrupt-parent = <&gpio5>; | ||
20 | interrupts = <15 IRQ_TYPE_EDGE_RISING>; | ||
21 | spi-max-frequency = <1000000>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt b/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt index 90d5f34db04e..8e191eef014e 100644 --- a/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt +++ b/Documentation/devicetree/bindings/iio/magnetometer/hmc5843.txt | |||
@@ -3,6 +3,10 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | 4 | ||
5 | - compatible : should be "honeywell,hmc5843" | 5 | - compatible : should be "honeywell,hmc5843" |
6 | Other models which are supported with driver are: | ||
7 | "honeywell,hmc5883" | ||
8 | "honeywell,hmc5883l" | ||
9 | "honeywell,hmc5983" | ||
6 | - reg : the I2C address of the magnetometer - typically 0x1e | 10 | - reg : the I2C address of the magnetometer - typically 0x1e |
7 | 11 | ||
8 | Optional properties: | 12 | Optional properties: |
diff --git a/Documentation/devicetree/bindings/iio/st-sensors.txt b/Documentation/devicetree/bindings/iio/st-sensors.txt new file mode 100644 index 000000000000..a7a0a15913ad --- /dev/null +++ b/Documentation/devicetree/bindings/iio/st-sensors.txt | |||
@@ -0,0 +1,54 @@ | |||
1 | STMicroelectronics MEMS sensors | ||
2 | |||
3 | The STMicroelectronics sensor devices are pretty straight-forward I2C or | ||
4 | SPI devices, all sharing the same device tree descriptions no matter what | ||
5 | type of sensor it is. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: see the list of valid compatible strings below | ||
9 | - reg: the I2C or SPI address the device will respond to | ||
10 | |||
11 | Optional properties: | ||
12 | - vdd-supply: an optional regulator that needs to be on to provide VDD | ||
13 | power to the sensor. | ||
14 | - vddio-supply: an optional regulator that needs to be on to provide the | ||
15 | VDD IO power to the sensor. | ||
16 | - st,drdy-int-pin: the pin on the package that will be used to signal | ||
17 | "data ready" (valid values: 1 or 2). This property is not configurable | ||
18 | on all sensors. | ||
19 | |||
20 | Sensors may also have applicable pin control settings, those use the | ||
21 | standard bindings from pinctrl/pinctrl-bindings.txt. | ||
22 | |||
23 | Valid compatible strings: | ||
24 | |||
25 | Accelerometers: | ||
26 | - st,lsm303dlh-accel | ||
27 | - st,lsm303dlhc-accel | ||
28 | - st,lis3dh-accel | ||
29 | - st,lsm330d-accel | ||
30 | - st,lsm330dl-accel | ||
31 | - st,lsm330dlc-accel | ||
32 | - st,lis331dlh-accel | ||
33 | - st,lsm303dl-accel | ||
34 | - st,lsm303dlm-accel | ||
35 | - st,lsm330-accel | ||
36 | |||
37 | Gyroscopes: | ||
38 | - st,l3g4200d-gyro | ||
39 | - st,lsm330d-gyro | ||
40 | - st,lsm330dl-gyro | ||
41 | - st,lsm330dlc-gyro | ||
42 | - st,l3gd20-gyro | ||
43 | - st,l3g4is-gyro | ||
44 | - st,lsm330-gyro | ||
45 | |||
46 | Magnetometers: | ||
47 | - st,lsm303dlhc-magn | ||
48 | - st,lsm303dlm-magn | ||
49 | - st,lis3mdl-magn | ||
50 | |||
51 | Pressure sensors: | ||
52 | - st,lps001wp-press | ||
53 | - st,lps25h-press | ||
54 | - st,lps331ap-press | ||
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt index f284b99402bc..2d0f7cd867ea 100644 --- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt | |||
@@ -42,12 +42,6 @@ conditions. | |||
42 | 42 | ||
43 | ** System MMU optional properties: | 43 | ** System MMU optional properties: |
44 | 44 | ||
45 | - smmu-parent : When multiple SMMUs are chained together, this | ||
46 | property can be used to provide a phandle to the | ||
47 | parent SMMU (that is the next SMMU on the path going | ||
48 | from the mmu-masters towards memory) node for this | ||
49 | SMMU. | ||
50 | |||
51 | - calxeda,smmu-secure-config-access : Enable proper handling of buggy | 45 | - calxeda,smmu-secure-config-access : Enable proper handling of buggy |
52 | implementations that always use secure access to | 46 | implementations that always use secure access to |
53 | SMMU configuration registers. In this case non-secure | 47 | SMMU configuration registers. In this case non-secure |
diff --git a/Documentation/devicetree/bindings/iommu/iommu.txt b/Documentation/devicetree/bindings/iommu/iommu.txt new file mode 100644 index 000000000000..5a8b4624defc --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/iommu.txt | |||
@@ -0,0 +1,182 @@ | |||
1 | This document describes the generic device tree binding for IOMMUs and their | ||
2 | master(s). | ||
3 | |||
4 | |||
5 | IOMMU device node: | ||
6 | ================== | ||
7 | |||
8 | An IOMMU can provide the following services: | ||
9 | |||
10 | * Remap address space to allow devices to access physical memory ranges that | ||
11 | they otherwise wouldn't be capable of accessing. | ||
12 | |||
13 | Example: 32-bit DMA to 64-bit physical addresses | ||
14 | |||
15 | * Implement scatter-gather at page level granularity so that the device does | ||
16 | not have to. | ||
17 | |||
18 | * Provide system protection against "rogue" DMA by forcing all accesses to go | ||
19 | through the IOMMU and faulting when encountering accesses to unmapped | ||
20 | address regions. | ||
21 | |||
22 | * Provide address space isolation between multiple contexts. | ||
23 | |||
24 | Example: Virtualization | ||
25 | |||
26 | Device nodes compatible with this binding represent hardware with some of the | ||
27 | above capabilities. | ||
28 | |||
29 | IOMMUs can be single-master or multiple-master. Single-master IOMMU devices | ||
30 | typically have a fixed association to the master device, whereas multiple- | ||
31 | master IOMMU devices can translate accesses from more than one master. | ||
32 | |||
33 | The device tree node of the IOMMU device's parent bus must contain a valid | ||
34 | "dma-ranges" property that describes how the physical address space of the | ||
35 | IOMMU maps to memory. An empty "dma-ranges" property means that there is a | ||
36 | 1:1 mapping from IOMMU to memory. | ||
37 | |||
38 | Required properties: | ||
39 | -------------------- | ||
40 | - #iommu-cells: The number of cells in an IOMMU specifier needed to encode an | ||
41 | address. | ||
42 | |||
43 | The meaning of the IOMMU specifier is defined by the device tree binding of | ||
44 | the specific IOMMU. Below are a few examples of typical use-cases: | ||
45 | |||
46 | - #iommu-cells = <0>: Single master IOMMU devices are not configurable and | ||
47 | therefore no additional information needs to be encoded in the specifier. | ||
48 | This may also apply to multiple master IOMMU devices that do not allow the | ||
49 | association of masters to be configured. Note that an IOMMU can by design | ||
50 | be multi-master yet only expose a single master in a given configuration. | ||
51 | In such cases the number of cells will usually be 1 as in the next case. | ||
52 | - #iommu-cells = <1>: Multiple master IOMMU devices may need to be configured | ||
53 | in order to enable translation for a given master. In such cases the single | ||
54 | address cell corresponds to the master device's ID. In some cases more than | ||
55 | one cell can be required to represent a single master ID. | ||
56 | - #iommu-cells = <4>: Some IOMMU devices allow the DMA window for masters to | ||
57 | be configured. The first cell of the address in this may contain the master | ||
58 | device's ID for example, while the second cell could contain the start of | ||
59 | the DMA window for the given device. The length of the DMA window is given | ||
60 | by the third and fourth cells. | ||
61 | |||
62 | Note that these are merely examples and real-world use-cases may use different | ||
63 | definitions to represent their individual needs. Always refer to the specific | ||
64 | IOMMU binding for the exact meaning of the cells that make up the specifier. | ||
65 | |||
66 | |||
67 | IOMMU master node: | ||
68 | ================== | ||
69 | |||
70 | Devices that access memory through an IOMMU are called masters. A device can | ||
71 | have multiple master interfaces (to one or more IOMMU devices). | ||
72 | |||
73 | Required properties: | ||
74 | -------------------- | ||
75 | - iommus: A list of phandle and IOMMU specifier pairs that describe the IOMMU | ||
76 | master interfaces of the device. One entry in the list describes one master | ||
77 | interface of the device. | ||
78 | |||
79 | When an "iommus" property is specified in a device tree node, the IOMMU will | ||
80 | be used for address translation. If a "dma-ranges" property exists in the | ||
81 | device's parent node it will be ignored. An exception to this rule is if the | ||
82 | referenced IOMMU is disabled, in which case the "dma-ranges" property of the | ||
83 | parent shall take effect. Note that merely disabling a device tree node does | ||
84 | not guarantee that the IOMMU is really disabled since the hardware may not | ||
85 | have a means to turn off translation. But it is invalid in such cases to | ||
86 | disable the IOMMU's device tree node in the first place because it would | ||
87 | prevent any driver from properly setting up the translations. | ||
88 | |||
89 | |||
90 | Notes: | ||
91 | ====== | ||
92 | |||
93 | One possible extension to the above is to use an "iommus" property along with | ||
94 | a "dma-ranges" property in a bus device node (such as PCI host bridges). This | ||
95 | can be useful to describe how children on the bus relate to the IOMMU if they | ||
96 | are not explicitly listed in the device tree (e.g. PCI devices). However, the | ||
97 | requirements of that use-case haven't been fully determined yet. Implementing | ||
98 | this is therefore not recommended without further discussion and extension of | ||
99 | this binding. | ||
100 | |||
101 | |||
102 | Examples: | ||
103 | ========= | ||
104 | |||
105 | Single-master IOMMU: | ||
106 | -------------------- | ||
107 | |||
108 | iommu { | ||
109 | #iommu-cells = <0>; | ||
110 | }; | ||
111 | |||
112 | master { | ||
113 | iommus = <&{/iommu}>; | ||
114 | }; | ||
115 | |||
116 | Multiple-master IOMMU with fixed associations: | ||
117 | ---------------------------------------------- | ||
118 | |||
119 | /* multiple-master IOMMU */ | ||
120 | iommu { | ||
121 | /* | ||
122 | * Masters are statically associated with this IOMMU and share | ||
123 | * the same address translations because the IOMMU does not | ||
124 | * have sufficient information to distinguish between masters. | ||
125 | * | ||
126 | * Consequently address translation is always on or off for | ||
127 | * all masters at any given point in time. | ||
128 | */ | ||
129 | #iommu-cells = <0>; | ||
130 | }; | ||
131 | |||
132 | /* static association with IOMMU */ | ||
133 | master@1 { | ||
134 | reg = <1>; | ||
135 | iommus = <&{/iommu}>; | ||
136 | }; | ||
137 | |||
138 | /* static association with IOMMU */ | ||
139 | master@2 { | ||
140 | reg = <2>; | ||
141 | iommus = <&{/iommu}>; | ||
142 | }; | ||
143 | |||
144 | Multiple-master IOMMU: | ||
145 | ---------------------- | ||
146 | |||
147 | iommu { | ||
148 | /* the specifier represents the ID of the master */ | ||
149 | #iommu-cells = <1>; | ||
150 | }; | ||
151 | |||
152 | master@1 { | ||
153 | /* device has master ID 42 in the IOMMU */ | ||
154 | iommus = <&{/iommu} 42>; | ||
155 | }; | ||
156 | |||
157 | master@2 { | ||
158 | /* device has master IDs 23 and 24 in the IOMMU */ | ||
159 | iommus = <&{/iommu} 23>, <&{/iommu} 24>; | ||
160 | }; | ||
161 | |||
162 | Multiple-master IOMMU with configurable DMA window: | ||
163 | --------------------------------------------------- | ||
164 | |||
165 | / { | ||
166 | iommu { | ||
167 | /* | ||
168 | * One cell for the master ID and one cell for the | ||
169 | * address of the DMA window. The length of the DMA | ||
170 | * window is encoded in two cells. | ||
171 | * | ||
172 | * The DMA window is the range addressable by the | ||
173 | * master (i.e. the I/O virtual address space). | ||
174 | */ | ||
175 | #iommu-cells = <4>; | ||
176 | }; | ||
177 | |||
178 | master { | ||
179 | /* master ID 42, 4 GiB DMA window starting at 0 */ | ||
180 | iommus = <&{/iommu} 42 0 0x1 0x0>; | ||
181 | }; | ||
182 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt b/Documentation/devicetree/bindings/mfd/palmas.txt index e5f0f8303461..eda898978d33 100644 --- a/Documentation/devicetree/bindings/mfd/palmas.txt +++ b/Documentation/devicetree/bindings/mfd/palmas.txt | |||
@@ -6,6 +6,7 @@ twl6037 (palmas) | |||
6 | tps65913 (palmas) | 6 | tps65913 (palmas) |
7 | tps65914 (palmas) | 7 | tps65914 (palmas) |
8 | tps659038 | 8 | tps659038 |
9 | tps65917 | ||
9 | 10 | ||
10 | Required properties: | 11 | Required properties: |
11 | - compatible : Should be from the list | 12 | - compatible : Should be from the list |
@@ -16,6 +17,7 @@ Required properties: | |||
16 | ti,tps65914 | 17 | ti,tps65914 |
17 | ti,tps80036 | 18 | ti,tps80036 |
18 | ti,tps659038 | 19 | ti,tps659038 |
20 | ti,tps65917 | ||
19 | and also the generic series names | 21 | and also the generic series names |
20 | ti,palmas | 22 | ti,palmas |
21 | - interrupt-controller : palmas has its own internal IRQs | 23 | - interrupt-controller : palmas has its own internal IRQs |
diff --git a/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt b/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt new file mode 100644 index 000000000000..88f8c23384c0 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt | |||
@@ -0,0 +1,34 @@ | |||
1 | Berlin SATA PHY | ||
2 | --------------- | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: should be "marvell,berlin2q-sata-phy" | ||
6 | - address-cells: should be 1 | ||
7 | - size-cells: should be 0 | ||
8 | - phy-cells: from the generic PHY bindings, must be 1 | ||
9 | - reg: address and length of the register | ||
10 | - clocks: reference to the clock entry | ||
11 | |||
12 | Sub-nodes: | ||
13 | Each PHY should be represented as a sub-node. | ||
14 | |||
15 | Sub-nodes required properties: | ||
16 | - reg: the PHY number | ||
17 | |||
18 | Example: | ||
19 | sata_phy: phy@f7e900a0 { | ||
20 | compatible = "marvell,berlin2q-sata-phy"; | ||
21 | reg = <0xf7e900a0 0x200>; | ||
22 | clocks = <&chip CLKID_SATA>; | ||
23 | #address-cells = <1>; | ||
24 | #size-cells = <0>; | ||
25 | #phy-cells = <1>; | ||
26 | |||
27 | sata-phy@0 { | ||
28 | reg = <0>; | ||
29 | }; | ||
30 | |||
31 | sata-phy@1 { | ||
32 | reg = <1>; | ||
33 | }; | ||
34 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/hix5hd2-phy.txt b/Documentation/devicetree/bindings/phy/hix5hd2-phy.txt new file mode 100644 index 000000000000..296168b74d24 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/hix5hd2-phy.txt | |||
@@ -0,0 +1,22 @@ | |||
1 | Hisilicon hix5hd2 SATA PHY | ||
2 | ----------------------- | ||
3 | |||
4 | Required properties: | ||
5 | - compatible: should be "hisilicon,hix5hd2-sata-phy" | ||
6 | - reg: offset and length of the PHY registers | ||
7 | - #phy-cells: must be 0 | ||
8 | Refer to phy/phy-bindings.txt for the generic PHY binding properties | ||
9 | |||
10 | Optional Properties: | ||
11 | - hisilicon,peripheral-syscon: phandle of syscon used to control peripheral. | ||
12 | - hisilicon,power-reg: offset and bit number within peripheral-syscon, | ||
13 | register of controlling sata power supply. | ||
14 | |||
15 | Example: | ||
16 | sata_phy: phy@f9900000 { | ||
17 | compatible = "hisilicon,hix5hd2-sata-phy"; | ||
18 | reg = <0xf9900000 0x10000>; | ||
19 | #phy-cells = <0>; | ||
20 | hisilicon,peripheral-syscon = <&peripheral_ctrl>; | ||
21 | hisilicon,power-reg = <0x8 10>; | ||
22 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/phy-bindings.txt b/Documentation/devicetree/bindings/phy/phy-bindings.txt index 8ae844fc0c60..2aa1840200ed 100644 --- a/Documentation/devicetree/bindings/phy/phy-bindings.txt +++ b/Documentation/devicetree/bindings/phy/phy-bindings.txt | |||
@@ -10,6 +10,10 @@ Required Properties: | |||
10 | provider can use the values in cells to find the appropriate | 10 | provider can use the values in cells to find the appropriate |
11 | PHY. | 11 | PHY. |
12 | 12 | ||
13 | Optional Properties: | ||
14 | phy-supply: Phandle to a regulator that provides power to the PHY. This | ||
15 | regulator will be managed during the PHY power on/off sequence. | ||
16 | |||
13 | For example: | 17 | For example: |
14 | 18 | ||
15 | phys: phy { | 19 | phys: phy { |
diff --git a/Documentation/devicetree/bindings/phy/phy-miphy365x.txt b/Documentation/devicetree/bindings/phy/phy-miphy365x.txt new file mode 100644 index 000000000000..42c880886cf7 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/phy-miphy365x.txt | |||
@@ -0,0 +1,76 @@ | |||
1 | STMicroelectronics STi MIPHY365x PHY binding | ||
2 | ============================================ | ||
3 | |||
4 | This binding describes a miphy device that is used to control PHY hardware | ||
5 | for SATA and PCIe. | ||
6 | |||
7 | Required properties (controller (parent) node): | ||
8 | - compatible : Should be "st,miphy365x-phy" | ||
9 | - st,syscfg : Should be a phandle of the system configuration register group | ||
10 | which contain the SATA, PCIe mode setting bits | ||
11 | |||
12 | Required nodes : A sub-node is required for each channel the controller | ||
13 | provides. Address range information including the usual | ||
14 | 'reg' and 'reg-names' properties are used inside these | ||
15 | nodes to describe the controller's topology. These nodes | ||
16 | are translated by the driver's .xlate() function. | ||
17 | |||
18 | Required properties (port (child) node): | ||
19 | - #phy-cells : Should be 1 (See second example) | ||
20 | Cell after port phandle is device type from: | ||
21 | - MIPHY_TYPE_SATA | ||
22 | - MIPHY_TYPE_PCI | ||
23 | - reg : Address and length of register sets for each device in | ||
24 | "reg-names" | ||
25 | - reg-names : The names of the register addresses corresponding to the | ||
26 | registers filled in "reg": | ||
27 | - sata: For SATA devices | ||
28 | - pcie: For PCIe devices | ||
29 | - syscfg: To specify the syscfg based config register | ||
30 | |||
31 | Optional properties (port (child) node): | ||
32 | - st,sata-gen : Generation of locally attached SATA IP. Expected values | ||
33 | are {1,2,3). If not supplied generation 1 hardware will | ||
34 | be expected | ||
35 | - st,pcie-tx-pol-inv : Bool property to invert the polarity PCIe Tx (Txn/Txp) | ||
36 | - st,sata-tx-pol-inv : Bool property to invert the polarity SATA Tx (Txn/Txp) | ||
37 | |||
38 | Example: | ||
39 | |||
40 | miphy365x_phy: miphy365x@fe382000 { | ||
41 | compatible = "st,miphy365x-phy"; | ||
42 | st,syscfg = <&syscfg_rear>; | ||
43 | #address-cells = <1>; | ||
44 | #size-cells = <1>; | ||
45 | ranges; | ||
46 | |||
47 | phy_port0: port@fe382000 { | ||
48 | reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>; | ||
49 | reg-names = "sata", "pcie", "syscfg"; | ||
50 | #phy-cells = <1>; | ||
51 | st,sata-gen = <3>; | ||
52 | }; | ||
53 | |||
54 | phy_port1: port@fe38a000 { | ||
55 | reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>;; | ||
56 | reg-names = "sata", "pcie", "syscfg"; | ||
57 | #phy-cells = <1>; | ||
58 | st,pcie-tx-pol-inv; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | Specifying phy control of devices | ||
63 | ================================= | ||
64 | |||
65 | Device nodes should specify the configuration required in their "phys" | ||
66 | property, containing a phandle to the phy port node and a device type. | ||
67 | |||
68 | Example: | ||
69 | |||
70 | #include <dt-bindings/phy/phy-miphy365x.h> | ||
71 | |||
72 | sata0: sata@fe380000 { | ||
73 | ... | ||
74 | phys = <&phy_port0 MIPHY_TYPE_SATA>; | ||
75 | ... | ||
76 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/qcom-apq8064-sata-phy.txt b/Documentation/devicetree/bindings/phy/qcom-apq8064-sata-phy.txt new file mode 100644 index 000000000000..952f6c96bab9 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom-apq8064-sata-phy.txt | |||
@@ -0,0 +1,24 @@ | |||
1 | Qualcomm APQ8064 SATA PHY Controller | ||
2 | ------------------------------------ | ||
3 | |||
4 | SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers. | ||
5 | Each SATA PHY controller should have its own node. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: compatible list, contains "qcom,apq8064-sata-phy". | ||
9 | - reg: offset and length of the SATA PHY register set; | ||
10 | - #phy-cells: must be zero | ||
11 | - clocks: a list of phandles and clock-specifier pairs, one for each entry in | ||
12 | clock-names. | ||
13 | - clock-names: must be "cfg" for phy config clock. | ||
14 | |||
15 | Example: | ||
16 | sata_phy: sata-phy@1b400000 { | ||
17 | compatible = "qcom,apq8064-sata-phy"; | ||
18 | reg = <0x1b400000 0x200>; | ||
19 | |||
20 | clocks = <&gcc SATA_PHY_CFG_CLK>; | ||
21 | clock-names = "cfg"; | ||
22 | |||
23 | #phy-cells = <0>; | ||
24 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/qcom-ipq806x-sata-phy.txt b/Documentation/devicetree/bindings/phy/qcom-ipq806x-sata-phy.txt new file mode 100644 index 000000000000..76bfbd056202 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom-ipq806x-sata-phy.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Qualcomm IPQ806x SATA PHY Controller | ||
2 | ------------------------------------ | ||
3 | |||
4 | SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers. | ||
5 | Each SATA PHY controller should have its own node. | ||
6 | |||
7 | Required properties: | ||
8 | - compatible: compatible list, contains "qcom,ipq806x-sata-phy" | ||
9 | - reg: offset and length of the SATA PHY register set; | ||
10 | - #phy-cells: must be zero | ||
11 | - clocks: must be exactly one entry | ||
12 | - clock-names: must be "cfg" | ||
13 | |||
14 | Example: | ||
15 | sata_phy: sata-phy@1b400000 { | ||
16 | compatible = "qcom,ipq806x-sata-phy"; | ||
17 | reg = <0x1b400000 0x200>; | ||
18 | |||
19 | clocks = <&gcc SATA_PHY_CFG_CLK>; | ||
20 | clock-names = "cfg"; | ||
21 | |||
22 | #phy-cells = <0>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt index 2049261d8c31..6099a5c94283 100644 --- a/Documentation/devicetree/bindings/phy/samsung-phy.txt +++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt | |||
@@ -26,6 +26,7 @@ Samsung S5P/EXYNOS SoC series USB PHY | |||
26 | 26 | ||
27 | Required properties: | 27 | Required properties: |
28 | - compatible : should be one of the listed compatibles: | 28 | - compatible : should be one of the listed compatibles: |
29 | - "samsung,exynos3250-usb2-phy" | ||
29 | - "samsung,exynos4210-usb2-phy" | 30 | - "samsung,exynos4210-usb2-phy" |
30 | - "samsung,exynos4x12-usb2-phy" | 31 | - "samsung,exynos4x12-usb2-phy" |
31 | - "samsung,exynos5250-usb2-phy" | 32 | - "samsung,exynos5250-usb2-phy" |
@@ -46,6 +47,7 @@ and Exynos 4212) it is as follows: | |||
46 | 1 - USB host ("host"), | 47 | 1 - USB host ("host"), |
47 | 2 - HSIC0 ("hsic0"), | 48 | 2 - HSIC0 ("hsic0"), |
48 | 3 - HSIC1 ("hsic1"), | 49 | 3 - HSIC1 ("hsic1"), |
50 | Exynos3250 has only USB device phy available as phy 0. | ||
49 | 51 | ||
50 | Exynos 4210 and Exynos 4212 use mode switching and require that mode switch | 52 | Exynos 4210 and Exynos 4212 use mode switching and require that mode switch |
51 | register is supplied. | 53 | register is supplied. |
diff --git a/Documentation/devicetree/bindings/phy/ti-phy.txt b/Documentation/devicetree/bindings/phy/ti-phy.txt index 9ce458f32945..305e3df3d9b1 100644 --- a/Documentation/devicetree/bindings/phy/ti-phy.txt +++ b/Documentation/devicetree/bindings/phy/ti-phy.txt | |||
@@ -9,15 +9,17 @@ Required properties: | |||
9 | e.g. USB2_PHY on OMAP5. | 9 | e.g. USB2_PHY on OMAP5. |
10 | "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control | 10 | "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control |
11 | e.g. USB3 PHY and SATA PHY on OMAP5. | 11 | e.g. USB3 PHY and SATA PHY on OMAP5. |
12 | "ti,control-phy-pcie" - for pcie to support external clock for pcie and to | ||
13 | set PCS delay value. | ||
14 | e.g. PCIE PHY in DRA7x | ||
12 | "ti,control-phy-usb2-dra7" - if it has power down register like USB2 PHY on | 15 | "ti,control-phy-usb2-dra7" - if it has power down register like USB2 PHY on |
13 | DRA7 platform. | 16 | DRA7 platform. |
14 | "ti,control-phy-usb2-am437" - if it has power down register like USB2 PHY on | 17 | "ti,control-phy-usb2-am437" - if it has power down register like USB2 PHY on |
15 | AM437 platform. | 18 | AM437 platform. |
16 | - reg : Address and length of the register set for the device. It contains | 19 | - reg : register ranges as listed in the reg-names property |
17 | the address of "otghs_control" for control-phy-otghs or "power" register | 20 | - reg-names: "otghs_control" for control-phy-otghs |
18 | for other types. | 21 | "power", "pcie_pcs" and "control_sma" for control-phy-pcie |
19 | - reg-names: should be "otghs_control" control-phy-otghs and "power" for | 22 | "power" for all other types |
20 | other types. | ||
21 | 23 | ||
22 | omap_control_usb: omap-control-usb@4a002300 { | 24 | omap_control_usb: omap-control-usb@4a002300 { |
23 | compatible = "ti,control-phy-otghs"; | 25 | compatible = "ti,control-phy-otghs"; |
@@ -56,8 +58,8 @@ usb2phy@4a0ad080 { | |||
56 | TI PIPE3 PHY | 58 | TI PIPE3 PHY |
57 | 59 | ||
58 | Required properties: | 60 | Required properties: |
59 | - compatible: Should be "ti,phy-usb3" or "ti,phy-pipe3-sata". | 61 | - compatible: Should be "ti,phy-usb3", "ti,phy-pipe3-sata" or |
60 | "ti,omap-usb3" is deprecated. | 62 | "ti,phy-pipe3-pcie. "ti,omap-usb3" is deprecated. |
61 | - reg : Address and length of the register set for the device. | 63 | - reg : Address and length of the register set for the device. |
62 | - reg-names: The names of the register addresses corresponding to the registers | 64 | - reg-names: The names of the register addresses corresponding to the registers |
63 | filled in "reg". | 65 | filled in "reg". |
@@ -69,10 +71,17 @@ Required properties: | |||
69 | * "wkupclk" - wakeup clock. | 71 | * "wkupclk" - wakeup clock. |
70 | * "sysclk" - system clock. | 72 | * "sysclk" - system clock. |
71 | * "refclk" - reference clock. | 73 | * "refclk" - reference clock. |
74 | * "dpll_ref" - external dpll ref clk | ||
75 | * "dpll_ref_m2" - external dpll ref clk | ||
76 | * "phy-div" - divider for apll | ||
77 | * "div-clk" - apll clock | ||
72 | 78 | ||
73 | Optional properties: | 79 | Optional properties: |
74 | - ctrl-module : phandle of the control module used by PHY driver to power on | 80 | - ctrl-module : phandle of the control module used by PHY driver to power on |
75 | the PHY. | 81 | the PHY. |
82 | - id: If there are multiple instance of the same type, in order to | ||
83 | differentiate between each instance "id" can be used (e.g., multi-lane PCIe | ||
84 | PHY). If "id" is not provided, it is set to default value of '1'. | ||
76 | 85 | ||
77 | This is usually a subnode of ocp2scp to which it is connected. | 86 | This is usually a subnode of ocp2scp to which it is connected. |
78 | 87 | ||
diff --git a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt index bef1fbb647ca..865614b34d6f 100644 --- a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt | |||
@@ -1,13 +1,16 @@ | |||
1 | ACT8865 regulator | 1 | ACT88xx regulators |
2 | ------------------- | 2 | ------------------- |
3 | 3 | ||
4 | Required properties: | 4 | Required properties: |
5 | - compatible: "active-semi,act8865" | 5 | - compatible: "active-semi,act8846" or "active-semi,act8865" |
6 | - reg: I2C slave address | 6 | - reg: I2C slave address |
7 | 7 | ||
8 | Any standard regulator properties can be used to configure the single regulator. | 8 | Any standard regulator properties can be used to configure the single regulator. |
9 | 9 | ||
10 | The valid names for regulators are: | 10 | The valid names for regulators are: |
11 | - for act8846: | ||
12 | REG1, REG2, REG3, REG4, REG5, REG6, REG7, REG8, REG9, REG10, REG11, REG12 | ||
13 | - for act8865: | ||
11 | DCDC_REG1, DCDC_REG2, DCDC_REG3, LDO_REG1, LDO_REG2, LDO_REG3, LDO_REG4. | 14 | DCDC_REG1, DCDC_REG2, DCDC_REG3, LDO_REG1, LDO_REG2, LDO_REG3, LDO_REG4. |
12 | 15 | ||
13 | Example: | 16 | Example: |
diff --git a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt index 42e6b6bc48ff..725393c8a7f2 100644 --- a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt +++ b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt | |||
@@ -7,6 +7,7 @@ Required properties: | |||
7 | ti,twl6037-pmic | 7 | ti,twl6037-pmic |
8 | ti,tps65913-pmic | 8 | ti,tps65913-pmic |
9 | ti,tps65914-pmic | 9 | ti,tps65914-pmic |
10 | ti,tps65917-pmic | ||
10 | and also the generic series names | 11 | and also the generic series names |
11 | ti,palmas-pmic | 12 | ti,palmas-pmic |
12 | - interrupt-parent : The parent interrupt controller which is palmas. | 13 | - interrupt-parent : The parent interrupt controller which is palmas. |
diff --git a/Documentation/devicetree/bindings/regulator/tps65218.txt b/Documentation/devicetree/bindings/regulator/tps65218.txt new file mode 100644 index 000000000000..fccc1d24af58 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/tps65218.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | TPS65218 family of regulators | ||
2 | |||
3 | Required properties: | ||
4 | For tps65218 regulators/LDOs | ||
5 | - compatible: | ||
6 | - "ti,tps65218-dcdc1" for DCDC1 | ||
7 | - "ti,tps65218-dcdc2" for DCDC2 | ||
8 | - "ti,tps65218-dcdc3" for DCDC3 | ||
9 | - "ti,tps65218-dcdc4" for DCDC4 | ||
10 | - "ti,tps65218-dcdc5" for DCDC5 | ||
11 | - "ti,tps65218-dcdc6" for DCDC6 | ||
12 | - "ti,tps65218-ldo1" for LDO1 | ||
13 | |||
14 | Optional properties: | ||
15 | - Any optional property defined in bindings/regulator/regulator.txt | ||
16 | |||
17 | Example: | ||
18 | |||
19 | xyz: regulator@0 { | ||
20 | compatible = "ti,tps65218-dcdc1"; | ||
21 | regulator-min-microvolt = <1000000>; | ||
22 | regulator-max-microvolt = <3000000>; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/efm32-uart.txt b/Documentation/devicetree/bindings/serial/efm32-uart.txt index 3ca01336b837..8adbab268ca3 100644 --- a/Documentation/devicetree/bindings/serial/efm32-uart.txt +++ b/Documentation/devicetree/bindings/serial/efm32-uart.txt | |||
@@ -6,7 +6,7 @@ Required properties: | |||
6 | - interrupts : Should contain uart interrupt | 6 | - interrupts : Should contain uart interrupt |
7 | 7 | ||
8 | Optional properties: | 8 | Optional properties: |
9 | - efm32,location : Decides the location of the USART I/O pins. | 9 | - energymicro,location : Decides the location of the USART I/O pins. |
10 | Allowed range : [0 .. 5] | 10 | Allowed range : [0 .. 5] |
11 | Default: 0 | 11 | Default: 0 |
12 | 12 | ||
@@ -16,5 +16,5 @@ uart@0x4000c400 { | |||
16 | compatible = "energymicro,efm32-uart"; | 16 | compatible = "energymicro,efm32-uart"; |
17 | reg = <0x4000c400 0x400>; | 17 | reg = <0x4000c400 0x400>; |
18 | interrupts = <15>; | 18 | interrupts = <15>; |
19 | efm32,location = <0>; | 19 | energymicro,location = <0>; |
20 | }; | 20 | }; |
diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt index a1d1205d8185..c95005efbcb8 100644 --- a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt +++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt | |||
@@ -1,7 +1,11 @@ | |||
1 | * Freescale low power universal asynchronous receiver/transmitter (lpuart) | 1 | * Freescale low power universal asynchronous receiver/transmitter (lpuart) |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : Should be "fsl,<soc>-lpuart" | 4 | - compatible : |
5 | - "fsl,vf610-lpuart" for lpuart compatible with the one integrated | ||
6 | on Vybrid vf610 SoC with 8-bit register organization | ||
7 | - "fsl,ls1021a-lpuart" for lpuart compatible with the one integrated | ||
8 | on LS1021A SoC with 32-bit big-endian register organization | ||
5 | - reg : Address and length of the register set for the device | 9 | - reg : Address and length of the register set for the device |
6 | - interrupts : Should contain uart interrupt | 10 | - interrupts : Should contain uart interrupt |
7 | - clocks : phandle + clock specifier pairs, one for each entry in clock-names | 11 | - clocks : phandle + clock specifier pairs, one for each entry in clock-names |
diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.txt b/Documentation/devicetree/bindings/serial/samsung_uart.txt index 2c8a17cf5cb5..e85f37ec33f0 100644 --- a/Documentation/devicetree/bindings/serial/samsung_uart.txt +++ b/Documentation/devicetree/bindings/serial/samsung_uart.txt | |||
@@ -1,14 +1,58 @@ | |||
1 | * Samsung's UART Controller | 1 | * Samsung's UART Controller |
2 | 2 | ||
3 | The Samsung's UART controller is used for interfacing SoC with serial communicaion | 3 | The Samsung's UART controller is used for interfacing SoC with serial |
4 | devices. | 4 | communicaion devices. |
5 | 5 | ||
6 | Required properties: | 6 | Required properties: |
7 | - compatible: should be | 7 | - compatible: should be one of following: |
8 | - "samsung,exynos4210-uart", for UART's compatible with Exynos4210 uart ports. | 8 | - "samsung,exynos4210-uart" - Exynos4210 SoC, |
9 | - "samsung,s3c2410-uart" - compatible with ports present on S3C2410 SoC, | ||
10 | - "samsung,s3c2412-uart" - compatible with ports present on S3C2412 SoC, | ||
11 | - "samsung,s3c2440-uart" - compatible with ports present on S3C2440 SoC, | ||
12 | - "samsung,s3c6400-uart" - compatible with ports present on S3C6400 SoC, | ||
13 | - "samsung,s5pv210-uart" - compatible with ports present on S5PV210 SoC. | ||
9 | 14 | ||
10 | - reg: base physical address of the controller and length of memory mapped | 15 | - reg: base physical address of the controller and length of memory mapped |
11 | region. | 16 | region. |
12 | 17 | ||
13 | - interrupts: interrupt number to the cpu. The interrupt specifier format depends | 18 | - interrupts: a single interrupt signal to SoC interrupt controller, |
14 | on the interrupt controller parent. | 19 | according to interrupt bindings documentation [1]. |
20 | |||
21 | - clock-names: input names of clocks used by the controller: | ||
22 | - "uart" - controller bus clock, | ||
23 | - "clk_uart_baudN" - Nth baud base clock input (N = 0, 1, ...), | ||
24 | according to SoC User's Manual (only N = 0 is allowedfor SoCs without | ||
25 | internal baud clock mux). | ||
26 | - clocks: phandles and specifiers for all clocks specified in "clock-names" | ||
27 | property, in the same order, according to clock bindings documentation [2]. | ||
28 | |||
29 | [1] Documentation/devicetree/bindings/interrupt-controller/interrupts.txt | ||
30 | [2] Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
31 | |||
32 | Optional properties: | ||
33 | - samsung,uart-fifosize: The fifo size supported by the UART channel | ||
34 | |||
35 | Note: Each Samsung UART should have an alias correctly numbered in the | ||
36 | "aliases" node, according to serialN format, where N is the port number | ||
37 | (non-negative decimal integer) as specified by User's Manual of respective | ||
38 | SoC. | ||
39 | |||
40 | Example: | ||
41 | aliases { | ||
42 | serial0 = &uart0; | ||
43 | serial1 = &uart1; | ||
44 | serial2 = &uart2; | ||
45 | }; | ||
46 | |||
47 | Example: | ||
48 | uart1: serial@7f005400 { | ||
49 | compatible = "samsung,s3c6400-uart"; | ||
50 | reg = <0x7f005400 0x100>; | ||
51 | interrupt-parent = <&vic1>; | ||
52 | interrupts = <6>; | ||
53 | clock-names = "uart", "clk_uart_baud2", | ||
54 | "clk_uart_baud3"; | ||
55 | clocks = <&clocks PCLK_UART1>, <&clocks PCLK_UART1>, | ||
56 | <&clocks SCLK_UART>; | ||
57 | samsung,uart-fifosize = <16>; | ||
58 | }; | ||
diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt index f13f1c5be91c..7f76214f728a 100644 --- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt +++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt | |||
@@ -4,9 +4,18 @@ Required properties: | |||
4 | - compatible : "snps,dw-apb-uart" | 4 | - compatible : "snps,dw-apb-uart" |
5 | - reg : offset and length of the register set for the device. | 5 | - reg : offset and length of the register set for the device. |
6 | - interrupts : should contain uart interrupt. | 6 | - interrupts : should contain uart interrupt. |
7 | |||
8 | Clock handling: | ||
9 | The clock rate of the input clock needs to be supplied by one of | ||
7 | - clock-frequency : the input clock frequency for the UART. | 10 | - clock-frequency : the input clock frequency for the UART. |
11 | - clocks : phandle to the input clock | ||
12 | |||
13 | The supplying peripheral clock can also be handled, needing a second property | ||
14 | - clock-names: tuple listing input clock names. | ||
15 | Required elements: "baudclk", "apb_pclk" | ||
8 | 16 | ||
9 | Optional properties: | 17 | Optional properties: |
18 | - resets : phandle to the parent reset controller. | ||
10 | - reg-shift : quantity to shift the register offsets by. If this property is | 19 | - reg-shift : quantity to shift the register offsets by. If this property is |
11 | not present then the register offsets are not shifted. | 20 | not present then the register offsets are not shifted. |
12 | - reg-io-width : the size (in bytes) of the IO accesses that should be | 21 | - reg-io-width : the size (in bytes) of the IO accesses that should be |
@@ -23,3 +32,26 @@ Example: | |||
23 | reg-shift = <2>; | 32 | reg-shift = <2>; |
24 | reg-io-width = <4>; | 33 | reg-io-width = <4>; |
25 | }; | 34 | }; |
35 | |||
36 | Example with one clock: | ||
37 | |||
38 | uart@80230000 { | ||
39 | compatible = "snps,dw-apb-uart"; | ||
40 | reg = <0x80230000 0x100>; | ||
41 | clocks = <&baudclk>; | ||
42 | interrupts = <10>; | ||
43 | reg-shift = <2>; | ||
44 | reg-io-width = <4>; | ||
45 | }; | ||
46 | |||
47 | Example with two clocks: | ||
48 | |||
49 | uart@80230000 { | ||
50 | compatible = "snps,dw-apb-uart"; | ||
51 | reg = <0x80230000 0x100>; | ||
52 | clocks = <&baudclk>, <&apb_pclk>; | ||
53 | clock-names = "baudclk", "apb_pclk"; | ||
54 | interrupts = <10>; | ||
55 | reg-shift = <2>; | ||
56 | reg-io-width = <4>; | ||
57 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/efm32-spi.txt b/Documentation/devicetree/bindings/spi/efm32-spi.txt index 130cd17e3680..750e29aff9bc 100644 --- a/Documentation/devicetree/bindings/spi/efm32-spi.txt +++ b/Documentation/devicetree/bindings/spi/efm32-spi.txt | |||
@@ -10,11 +10,12 @@ Required properties: | |||
10 | - cs-gpios: see spi-bus.txt | 10 | - cs-gpios: see spi-bus.txt |
11 | 11 | ||
12 | Recommended properties : | 12 | Recommended properties : |
13 | - efm32,location: Value to write to the ROUTE register's LOCATION bitfield to | 13 | - energymicro,location: Value to write to the ROUTE register's LOCATION |
14 | configure the pinmux for the device, see datasheet for values. | 14 | bitfield to configure the pinmux for the device, see |
15 | If "efm32,location" property is not provided, keeping what is | 15 | datasheet for values. |
16 | already configured in the hardware, so its either the reset | 16 | If this property is not provided, keeping what is |
17 | default 0 or whatever the bootloader did. | 17 | already configured in the hardware, so its either the |
18 | reset default 0 or whatever the bootloader did. | ||
18 | 19 | ||
19 | Example: | 20 | Example: |
20 | 21 | ||
@@ -26,7 +27,7 @@ spi1: spi@0x4000c400 { /* USART1 */ | |||
26 | interrupts = <15 16>; | 27 | interrupts = <15 16>; |
27 | clocks = <&cmu 20>; | 28 | clocks = <&cmu 20>; |
28 | cs-gpios = <&gpio 51 1>; // D3 | 29 | cs-gpios = <&gpio 51 1>; // D3 |
29 | efm32,location = <1>; | 30 | energymicro,location = <1>; |
30 | status = "ok"; | 31 | status = "ok"; |
31 | 32 | ||
32 | ks8851@0 { | 33 | ks8851@0 { |
diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt index bee6ff204baf..e2c88df2cc15 100644 --- a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt +++ b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt | |||
@@ -7,7 +7,11 @@ SPI in master mode supports up to 50MHz, up to four chip selects, programmable | |||
7 | data path from 4 bits to 32 bits and numerous protocol variants. | 7 | data path from 4 bits to 32 bits and numerous protocol variants. |
8 | 8 | ||
9 | Required properties: | 9 | Required properties: |
10 | - compatible: Should contain "qcom,spi-qup-v2.1.1" or "qcom,spi-qup-v2.2.1" | 10 | - compatible: Should contain: |
11 | "qcom,spi-qup-v1.1.1" for 8660, 8960 and 8064. | ||
12 | "qcom,spi-qup-v2.1.1" for 8974 and later | ||
13 | "qcom,spi-qup-v2.2.1" for 8974 v2 and later. | ||
14 | |||
11 | - reg: Should contain base register location and length | 15 | - reg: Should contain base register location and length |
12 | - interrupts: Interrupt number used by this controller | 16 | - interrupts: Interrupt number used by this controller |
13 | 17 | ||
diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt new file mode 100644 index 000000000000..bd99193e87b9 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt | |||
@@ -0,0 +1,28 @@ | |||
1 | Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface. | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "snps,dw-apb-ssi" | ||
5 | - reg : The register base for the controller. | ||
6 | - interrupts : One interrupt, used by the controller. | ||
7 | - #address-cells : <1>, as required by generic SPI binding. | ||
8 | - #size-cells : <0>, also as required by generic SPI binding. | ||
9 | |||
10 | Optional properties: | ||
11 | - cs-gpios : Specifies the gpio pis to be used for chipselects. | ||
12 | - num-cs : The number of chipselects. If omitted, this will default to 4. | ||
13 | |||
14 | Child nodes as per the generic SPI binding. | ||
15 | |||
16 | Example: | ||
17 | |||
18 | spi@fff00000 { | ||
19 | compatible = "snps,dw-apb-ssi"; | ||
20 | reg = <0xfff00000 0x1000>; | ||
21 | interrupts = <0 154 4>; | ||
22 | #address-cells = <1>; | ||
23 | #size-cells = <0>; | ||
24 | num-cs = <2>; | ||
25 | cs-gpios = <&gpio0 13 0>, | ||
26 | <&gpio0 14 0>; | ||
27 | }; | ||
28 | |||
diff --git a/Documentation/devicetree/bindings/spi/spi-davinci.txt b/Documentation/devicetree/bindings/spi/spi-davinci.txt index 6d0ac8d0ad9b..f80887bca0d6 100644 --- a/Documentation/devicetree/bindings/spi/spi-davinci.txt +++ b/Documentation/devicetree/bindings/spi/spi-davinci.txt | |||
@@ -8,7 +8,8 @@ Required properties: | |||
8 | - "ti,dm6441-spi" for SPI used similar to that on DM644x SoC family | 8 | - "ti,dm6441-spi" for SPI used similar to that on DM644x SoC family |
9 | - "ti,da830-spi" for SPI used similar to that on DA8xx SoC family | 9 | - "ti,da830-spi" for SPI used similar to that on DA8xx SoC family |
10 | - reg: Offset and length of SPI controller register space | 10 | - reg: Offset and length of SPI controller register space |
11 | - num-cs: Number of chip selects | 11 | - num-cs: Number of chip selects. This includes internal as well as |
12 | GPIO chip selects. | ||
12 | - ti,davinci-spi-intr-line: interrupt line used to connect the SPI | 13 | - ti,davinci-spi-intr-line: interrupt line used to connect the SPI |
13 | IP to the interrupt controller within the SoC. Possible values | 14 | IP to the interrupt controller within the SoC. Possible values |
14 | are 0 and 1. Manual says one of the two possible interrupt | 15 | are 0 and 1. Manual says one of the two possible interrupt |
@@ -17,6 +18,12 @@ Required properties: | |||
17 | - interrupts: interrupt number mapped to CPU. | 18 | - interrupts: interrupt number mapped to CPU. |
18 | - clocks: spi clk phandle | 19 | - clocks: spi clk phandle |
19 | 20 | ||
21 | Optional: | ||
22 | - cs-gpios: gpio chip selects | ||
23 | For example to have 3 internal CS and 2 GPIO CS, user could define | ||
24 | cs-gpios = <0>, <0>, <0>, <&gpio1 30 0>, <&gpio1 31 0>; | ||
25 | where first three are internal CS and last two are GPIO CS. | ||
26 | |||
20 | Example of a NOR flash slave device (n25q032) connected to DaVinci | 27 | Example of a NOR flash slave device (n25q032) connected to DaVinci |
21 | SPI controller device over the SPI bus. | 28 | SPI controller device over the SPI bus. |
22 | 29 | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-rockchip.txt b/Documentation/devicetree/bindings/spi/spi-rockchip.txt new file mode 100644 index 000000000000..7bab35575817 --- /dev/null +++ b/Documentation/devicetree/bindings/spi/spi-rockchip.txt | |||
@@ -0,0 +1,37 @@ | |||
1 | * Rockchip SPI Controller | ||
2 | |||
3 | The Rockchip SPI controller is used to interface with various devices such as flash | ||
4 | and display controllers using the SPI communication interface. | ||
5 | |||
6 | Required Properties: | ||
7 | |||
8 | - compatible: should be one of the following. | ||
9 | "rockchip,rk3066-spi" for rk3066. | ||
10 | "rockchip,rk3188-spi", "rockchip,rk3066-spi" for rk3188. | ||
11 | "rockchip,rk3288-spi", "rockchip,rk3066-spi" for rk3288. | ||
12 | - reg: physical base address of the controller and length of memory mapped | ||
13 | region. | ||
14 | - interrupts: The interrupt number to the cpu. The interrupt specifier format | ||
15 | depends on the interrupt controller. | ||
16 | - clocks: Must contain an entry for each entry in clock-names. | ||
17 | - clock-names: Shall be "spiclk" for the transfer-clock, and "apb_pclk" for | ||
18 | the peripheral clock. | ||
19 | - dmas: DMA specifiers for tx and rx dma. See the DMA client binding, | ||
20 | Documentation/devicetree/bindings/dma/dma.txt | ||
21 | - dma-names: DMA request names should include "tx" and "rx" if present. | ||
22 | - #address-cells: should be 1. | ||
23 | - #size-cells: should be 0. | ||
24 | |||
25 | Example: | ||
26 | |||
27 | spi0: spi@ff110000 { | ||
28 | compatible = "rockchip,rk3066-spi"; | ||
29 | reg = <0xff110000 0x1000>; | ||
30 | dmas = <&pdma1 11>, <&pdma1 12>; | ||
31 | dma-names = "tx", "rx"; | ||
32 | #address-cells = <1>; | ||
33 | #size-cells = <0>; | ||
34 | interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; | ||
35 | clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>; | ||
36 | clock-names = "spiclk", "apb_pclk"; | ||
37 | }; | ||
diff --git a/Documentation/devicetree/bindings/spi/spi-samsung.txt b/Documentation/devicetree/bindings/spi/spi-samsung.txt index 86aa061f069f..792efbaedc54 100644 --- a/Documentation/devicetree/bindings/spi/spi-samsung.txt +++ b/Documentation/devicetree/bindings/spi/spi-samsung.txt | |||
@@ -18,14 +18,11 @@ Required SoC Specific Properties: | |||
18 | - interrupts: The interrupt number to the cpu. The interrupt specifier format | 18 | - interrupts: The interrupt number to the cpu. The interrupt specifier format |
19 | depends on the interrupt controller. | 19 | depends on the interrupt controller. |
20 | 20 | ||
21 | [PRELIMINARY: the dma channel allocation will change once there are | 21 | - dmas : Two or more DMA channel specifiers following the convention outlined |
22 | official DMA bindings] | 22 | in bindings/dma/dma.txt |
23 | 23 | ||
24 | - tx-dma-channel: The dma channel specifier for tx operations. The format of | 24 | - dma-names: Names for the dma channels. There must be at least one channel |
25 | the dma specifier depends on the dma controller. | 25 | named "tx" for transmit and named "rx" for receive. |
26 | |||
27 | - rx-dma-channel: The dma channel specifier for rx operations. The format of | ||
28 | the dma specifier depends on the dma controller. | ||
29 | 26 | ||
30 | Required Board Specific Properties: | 27 | Required Board Specific Properties: |
31 | 28 | ||
@@ -42,15 +39,13 @@ Optional Board Specific Properties: | |||
42 | - num-cs: Specifies the number of chip select lines supported. If | 39 | - num-cs: Specifies the number of chip select lines supported. If |
43 | not specified, the default number of chip select lines is set to 1. | 40 | not specified, the default number of chip select lines is set to 1. |
44 | 41 | ||
42 | - cs-gpios: should specify GPIOs used for chipselects (see spi-bus.txt) | ||
43 | |||
45 | SPI Controller specific data in SPI slave nodes: | 44 | SPI Controller specific data in SPI slave nodes: |
46 | 45 | ||
47 | - The spi slave nodes should provide the following information which is required | 46 | - The spi slave nodes should provide the following information which is required |
48 | by the spi controller. | 47 | by the spi controller. |
49 | 48 | ||
50 | - cs-gpio: A gpio specifier that specifies the gpio line used as | ||
51 | the slave select line by the spi controller. The format of the gpio | ||
52 | specifier depends on the gpio controller. | ||
53 | |||
54 | - samsung,spi-feedback-delay: The sampling phase shift to be applied on the | 49 | - samsung,spi-feedback-delay: The sampling phase shift to be applied on the |
55 | miso line (to account for any lag in the miso line). The following are the | 50 | miso line (to account for any lag in the miso line). The following are the |
56 | valid values. | 51 | valid values. |
@@ -74,8 +69,11 @@ Example: | |||
74 | compatible = "samsung,exynos4210-spi"; | 69 | compatible = "samsung,exynos4210-spi"; |
75 | reg = <0x12d20000 0x100>; | 70 | reg = <0x12d20000 0x100>; |
76 | interrupts = <0 66 0>; | 71 | interrupts = <0 66 0>; |
77 | tx-dma-channel = <&pdma0 5>; | 72 | dmas = <&pdma0 5 |
78 | rx-dma-channel = <&pdma0 4>; | 73 | &pdma0 4>; |
74 | dma-names = "tx", "rx"; | ||
75 | #address-cells = <1>; | ||
76 | #size-cells = <0>; | ||
79 | }; | 77 | }; |
80 | 78 | ||
81 | - Board Specific Portion: | 79 | - Board Specific Portion: |
@@ -85,6 +83,7 @@ Example: | |||
85 | #size-cells = <0>; | 83 | #size-cells = <0>; |
86 | pinctrl-names = "default"; | 84 | pinctrl-names = "default"; |
87 | pinctrl-0 = <&spi0_bus>; | 85 | pinctrl-0 = <&spi0_bus>; |
86 | cs-gpios = <&gpa2 5 0>; | ||
88 | 87 | ||
89 | w25q80bw@0 { | 88 | w25q80bw@0 { |
90 | #address-cells = <1>; | 89 | #address-cells = <1>; |
@@ -94,7 +93,6 @@ Example: | |||
94 | spi-max-frequency = <10000>; | 93 | spi-max-frequency = <10000>; |
95 | 94 | ||
96 | controller-data { | 95 | controller-data { |
97 | cs-gpio = <&gpa2 5 1 0 3>; | ||
98 | samsung,spi-feedback-delay = <0>; | 96 | samsung,spi-feedback-delay = <0>; |
99 | }; | 97 | }; |
100 | 98 | ||
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt index a6a32cb7f777..1bae71e9ad47 100644 --- a/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt +++ b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt | |||
@@ -4,6 +4,7 @@ Required properties: | |||
4 | - compatible: Should be "fsl,imx27-usb" | 4 | - compatible: Should be "fsl,imx27-usb" |
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 | - fsl,usbphy: phandle of usb phy that connects to the port | ||
7 | 8 | ||
8 | Recommended properies: | 9 | Recommended properies: |
9 | - phy_type: the type of the phy connected to the core. Should be one | 10 | - phy_type: the type of the phy connected to the core. Should be one |
@@ -12,7 +13,6 @@ Recommended properies: | |||
12 | - dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg" | 13 | - dr_mode: One of "host", "peripheral" or "otg". Defaults to "otg" |
13 | 14 | ||
14 | Optional properties: | 15 | Optional properties: |
15 | - fsl,usbphy: phandler of usb phy that connects to the only one port | ||
16 | - fsl,usbmisc: phandler of non-core register device, with one argument | 16 | - fsl,usbmisc: phandler of non-core register device, with one argument |
17 | that indicate usb controller index | 17 | that indicate usb controller index |
18 | - vbus-supply: regulator for vbus | 18 | - vbus-supply: regulator for vbus |
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt index ba797d3e6326..c9205fbf26e2 100644 --- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt +++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt | |||
@@ -20,6 +20,12 @@ Required properties : | |||
20 | Present if phy_type == utmi. | 20 | Present if phy_type == utmi. |
21 | - ulpi-link: The clock Tegra provides to the ULPI PHY (cdev2). | 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. | 22 | Present if phy_type == ulpi, and ULPI link mode is in use. |
23 | - resets : Must contain an entry for each entry in reset-names. | ||
24 | See ../reset/reset.txt for details. | ||
25 | - reset-names : Must include the following entries: | ||
26 | - usb: The PHY's own reset signal. | ||
27 | - utmi-pads: The reset of the PHY containing the chip-wide UTMI pad control | ||
28 | registers. Required even if phy_type == ulpi. | ||
23 | 29 | ||
24 | Required properties for phy_type == ulpi: | 30 | Required properties for phy_type == ulpi: |
25 | - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. | 31 | - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. |
@@ -56,6 +62,8 @@ Optional properties: | |||
56 | host means this is a host controller | 62 | host means this is a host controller |
57 | peripheral means it is device controller | 63 | peripheral means it is device controller |
58 | otg means it can operate as either ("on the go") | 64 | otg means it can operate as either ("on the go") |
65 | - nvidia,has-utmi-pad-registers : boolean indicates whether this controller | ||
66 | contains the UTMI pad control registers common to all USB controllers. | ||
59 | 67 | ||
60 | VBUS control (required for dr_mode == otg, optional for dr_mode == host): | 68 | VBUS control (required for dr_mode == otg, optional for dr_mode == host): |
61 | - vbus-supply: regulator for VBUS | 69 | - vbus-supply: regulator for VBUS |
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt index 5a79377c6a96..86f67f0886bc 100644 --- a/Documentation/devicetree/bindings/usb/usb-xhci.txt +++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt | |||
@@ -9,8 +9,9 @@ Required properties: | |||
9 | register set for the device. | 9 | register set for the device. |
10 | - interrupts: one XHCI interrupt should be described here. | 10 | - interrupts: one XHCI interrupt should be described here. |
11 | 11 | ||
12 | Optional property: | 12 | Optional properties: |
13 | - clocks: reference to a clock | 13 | - clocks: reference to a clock |
14 | - usb3-lpm-capable: determines if platform is USB3 LPM capable | ||
14 | 15 | ||
15 | Example: | 16 | Example: |
16 | usb@f0931000 { | 17 | usb@f0931000 { |
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 46a311e728a8..97c9c06132c4 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
@@ -42,6 +42,7 @@ dmo Data Modul AG | |||
42 | ebv EBV Elektronik | 42 | ebv EBV Elektronik |
43 | edt Emerging Display Technologies | 43 | edt Emerging Display Technologies |
44 | emmicro EM Microelectronic | 44 | emmicro EM Microelectronic |
45 | epcos EPCOS AG | ||
45 | epfl Ecole Polytechnique Fédérale de Lausanne | 46 | epfl Ecole Polytechnique Fédérale de Lausanne |
46 | epson Seiko Epson Corp. | 47 | epson Seiko Epson Corp. |
47 | est ESTeem Wireless Modems | 48 | est ESTeem Wireless Modems |