diff options
author | Olof Johansson <olof@lixom.net> | 2014-05-21 17:23:56 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2014-05-21 17:23:56 -0400 |
commit | 486ad2ede13314346226ee52e92b8e8773221f63 (patch) | |
tree | 84b6ed35d2701ececc244fda1163b9db58a4d07c /Documentation/devicetree/bindings | |
parent | 9e05f9f300828aecb84659cedc6399b7a76683ef (diff) | |
parent | 6b2c31c71d6fa8896c5f3f2354d790a5bd3f0a1e (diff) |
Merge tag 'vexpress/updates-for-3.16' of git://git.linaro.org/people/pawel.moll/linux into next/cleanup
Merge "ARM Versatile Express updates for 3.16" from Pawel Moll:
This series reworks VE's platform configuration infrastructure by:
- making it possible to instantiate selected devices from the
Device Tree, prior to massive population,
- converting custom "func" API into standard "regmap",
- splitting the existing MFD driver into smaller ones and placing
them into relevant directories.
The common clock framework driver can now be selected individually
(mostly for arm64 sake, where some of them are not used at all).
It also simplifies the machine code, by:
- moving the shed clock info clocksource driver,
- simplifying SMP operations to base them entirely of the DT data,
- moving platform ID checks into relevant driver.
* tag 'vexpress/updates-for-3.16' of git://git.linaro.org/people/pawel.moll/linux:
ARM: vexpress: move HBI check to sysreg driver
ARM: vexpress: Simplify SMP operations for DT-powered system
ARM: vexpress: remove redundant vexpress_dt_cpus_num to get cpu count
clocksource: Sched clock source for Versatile Express
clk: versatile: Split config options for sp810 and vexpress_osc
mfd: vexpress: Define the device as MFD cells
mfd: syscon: Add platform data with a regmap config name
mfd: vexpress: Convert custom func API to regmap
of: Keep track of populated platform devices
+ Linux 3.15-rc5
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'Documentation/devicetree/bindings')
10 files changed, 100 insertions, 28 deletions
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt index 06fc7602593a..37b2cafa4e52 100644 --- a/Documentation/devicetree/bindings/arm/arch_timer.txt +++ b/Documentation/devicetree/bindings/arm/arch_timer.txt | |||
@@ -19,6 +19,9 @@ to deliver its interrupts via SPIs. | |||
19 | 19 | ||
20 | - clock-frequency : The frequency of the main counter, in Hz. Optional. | 20 | - clock-frequency : The frequency of the main counter, in Hz. Optional. |
21 | 21 | ||
22 | - always-on : a boolean property. If present, the timer is powered through an | ||
23 | always-on power domain, therefore it never loses context. | ||
24 | |||
22 | Example: | 25 | Example: |
23 | 26 | ||
24 | timer { | 27 | timer { |
diff --git a/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt b/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt index 5580e9c4bd85..00318d083c9e 100644 --- a/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt +++ b/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt | |||
@@ -8,6 +8,8 @@ interrupt generation, MMC and NOR Flash control etc. | |||
8 | Required node properties: | 8 | Required node properties: |
9 | - compatible value : = "arm,vexpress,sysreg"; | 9 | - compatible value : = "arm,vexpress,sysreg"; |
10 | - reg : physical base address and the size of the registers window | 10 | - reg : physical base address and the size of the registers window |
11 | |||
12 | Deprecated properties, replaced by GPIO subnodes (see below): | ||
11 | - gpio-controller : specifies that the node is a GPIO controller | 13 | - gpio-controller : specifies that the node is a GPIO controller |
12 | - #gpio-cells : size of the GPIO specifier, should be 2: | 14 | - #gpio-cells : size of the GPIO specifier, should be 2: |
13 | - first cell is the pseudo-GPIO line number: | 15 | - first cell is the pseudo-GPIO line number: |
@@ -16,35 +18,86 @@ Required node properties: | |||
16 | 2 - NOR FLASH WPn | 18 | 2 - NOR FLASH WPn |
17 | - second cell can take standard GPIO flags (currently ignored). | 19 | - second cell can take standard GPIO flags (currently ignored). |
18 | 20 | ||
21 | Control registers providing pseudo-GPIO lines must be represented | ||
22 | by subnodes, each of them requiring the following properties: | ||
23 | - compatible value : one of | ||
24 | "arm,vexpress-sysreg,sys_led" | ||
25 | "arm,vexpress-sysreg,sys_mci" | ||
26 | "arm,vexpress-sysreg,sys_flash" | ||
27 | - gpio-controller : makes the node a GPIO controller | ||
28 | - #gpio-cells : size of the GPIO specifier, must be 2: | ||
29 | - first cell is the function number: | ||
30 | - for sys_led : 0..7 = LED 0..7 | ||
31 | - for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT | ||
32 | - for sys_flash : 0 = NOR FLASH WPn | ||
33 | - second cell can take standard GPIO flags (currently ignored). | ||
34 | |||
19 | Example: | 35 | Example: |
20 | v2m_sysreg: sysreg@10000000 { | 36 | v2m_sysreg: sysreg@10000000 { |
21 | compatible = "arm,vexpress-sysreg"; | 37 | compatible = "arm,vexpress-sysreg"; |
22 | reg = <0x10000000 0x1000>; | 38 | reg = <0x10000000 0x1000>; |
23 | gpio-controller; | 39 | |
24 | #gpio-cells = <2>; | 40 | v2m_led_gpios: sys_led@08 { |
41 | compatible = "arm,vexpress-sysreg,sys_led"; | ||
42 | gpio-controller; | ||
43 | #gpio-cells = <2>; | ||
44 | }; | ||
45 | |||
46 | v2m_mmc_gpios: sys_mci@48 { | ||
47 | compatible = "arm,vexpress-sysreg,sys_mci"; | ||
48 | gpio-controller; | ||
49 | #gpio-cells = <2>; | ||
50 | }; | ||
51 | |||
52 | v2m_flash_gpios: sys_flash@4c { | ||
53 | compatible = "arm,vexpress-sysreg,sys_flash"; | ||
54 | gpio-controller; | ||
55 | #gpio-cells = <2>; | ||
56 | }; | ||
25 | }; | 57 | }; |
26 | 58 | ||
27 | This block also can also act a bridge to the platform's configuration | 59 | This block also can also act a bridge to the platform's configuration |
28 | bus via "system control" interface, addressing devices with site number, | 60 | bus via "system control" interface, addressing devices with site number, |
29 | position in the board stack, config controller, function and device | 61 | position in the board stack, config controller, function and device |
30 | numbers - see motherboard's TRM for more details. | 62 | numbers - see motherboard's TRM for more details. All configuration |
31 | 63 | controller accessible via this interface must reference the sysreg | |
32 | The node describing a config device must refer to the sysreg node via | 64 | node via "arm,vexpress,config-bridge" phandle and define appropriate |
33 | "arm,vexpress,config-bridge" phandle (can be also defined in the node's | 65 | topology properties - see main vexpress node documentation for more |
34 | parent) and relies on the board topology properties - see main vexpress | 66 | details. Each child of such node describes one function and must |
35 | node documentation for more details. It must also define the following | 67 | define the following properties: |
36 | property: | 68 | - compatible value : must be one of (corresponding to the TRM): |
37 | - arm,vexpress-sysreg,func : must contain two cells: | 69 | "arm,vexpress-amp" |
38 | - first cell defines function number (eg. 1 for clock generator, | 70 | "arm,vexpress-dvimode" |
39 | 2 for voltage regulators etc.) | 71 | "arm,vexpress-energy" |
40 | - device number (eg. osc 0, osc 1 etc.) | 72 | "arm,vexpress-muxfpga" |
73 | "arm,vexpress-osc" | ||
74 | "arm,vexpress-power" | ||
75 | "arm,vexpress-reboot" | ||
76 | "arm,vexpress-reset" | ||
77 | "arm,vexpress-scc" | ||
78 | "arm,vexpress-shutdown" | ||
79 | "arm,vexpress-temp" | ||
80 | "arm,vexpress-volt" | ||
81 | - arm,vexpress-sysreg,func : must contain a set of two cells long groups: | ||
82 | - first cell of each group defines the function number | ||
83 | (eg. 1 for clock generator, 2 for voltage regulators etc.) | ||
84 | - second cell of each group defines device number (eg. osc 0, | ||
85 | osc 1 etc.) | ||
86 | - some functions (eg. energy meter, with its 64 bit long counter) | ||
87 | are using more than one function/device number pair | ||
41 | 88 | ||
42 | Example: | 89 | Example: |
43 | mcc { | 90 | mcc { |
91 | compatible = "arm,vexpress,config-bus"; | ||
44 | arm,vexpress,config-bridge = <&v2m_sysreg>; | 92 | arm,vexpress,config-bridge = <&v2m_sysreg>; |
45 | 93 | ||
46 | osc@0 { | 94 | osc@0 { |
47 | compatible = "arm,vexpress-osc"; | 95 | compatible = "arm,vexpress-osc"; |
48 | arm,vexpress-sysreg,func = <1 0>; | 96 | arm,vexpress-sysreg,func = <1 0>; |
49 | }; | 97 | }; |
98 | |||
99 | energy@0 { | ||
100 | compatible = "arm,vexpress-energy"; | ||
101 | arm,vexpress-sysreg,func = <13 0>, <13 1>; | ||
102 | }; | ||
50 | }; | 103 | }; |
diff --git a/Documentation/devicetree/bindings/arm/vexpress.txt b/Documentation/devicetree/bindings/arm/vexpress.txt index ae49161e478a..39844cd0bcce 100644 --- a/Documentation/devicetree/bindings/arm/vexpress.txt +++ b/Documentation/devicetree/bindings/arm/vexpress.txt | |||
@@ -80,12 +80,17 @@ but also control clock generators, voltage regulators, gather | |||
80 | environmental data like temperature, power consumption etc. Even | 80 | environmental data like temperature, power consumption etc. Even |
81 | the video output switch (FPGA) is controlled that way. | 81 | the video output switch (FPGA) is controlled that way. |
82 | 82 | ||
83 | Nodes describing devices controlled by this infrastructure should | 83 | The controllers are not mapped into normal memory address space |
84 | point at the bridge device node: | 84 | and must be accessed through bridges - other devices capable |
85 | of generating transactions on the configuration bus. | ||
86 | |||
87 | The nodes describing configuration controllers must define | ||
88 | the following properties: | ||
89 | - compatible value: | ||
90 | compatible = "arm,vexpress,config-bus"; | ||
85 | - bridge phandle: | 91 | - bridge phandle: |
86 | arm,vexpress,config-bridge = <phandle>; | 92 | arm,vexpress,config-bridge = <phandle>; |
87 | This property can be also defined in a parent node (eg. for a DCC) | 93 | and children describing available functions. |
88 | and is effective for all children. | ||
89 | 94 | ||
90 | 95 | ||
91 | Platform topology | 96 | Platform topology |
@@ -197,7 +202,7 @@ Example of a VE tile description (simplified) | |||
197 | }; | 202 | }; |
198 | 203 | ||
199 | dcc { | 204 | dcc { |
200 | compatible = "simple-bus"; | 205 | compatible = "arm,vexpress,config-bus"; |
201 | arm,vexpress,config-bridge = <&v2m_sysreg>; | 206 | arm,vexpress,config-bridge = <&v2m_sysreg>; |
202 | 207 | ||
203 | osc@0 { | 208 | osc@0 { |
diff --git a/Documentation/devicetree/bindings/ata/apm-xgene.txt b/Documentation/devicetree/bindings/ata/apm-xgene.txt index 7bcfbf59810e..a668f0e7d001 100644 --- a/Documentation/devicetree/bindings/ata/apm-xgene.txt +++ b/Documentation/devicetree/bindings/ata/apm-xgene.txt | |||
@@ -24,6 +24,7 @@ Required properties: | |||
24 | * "sata-phy" for the SATA 6.0Gbps PHY | 24 | * "sata-phy" for the SATA 6.0Gbps PHY |
25 | 25 | ||
26 | Optional properties: | 26 | Optional properties: |
27 | - dma-coherent : Present if dma operations are coherent | ||
27 | - status : Shall be "ok" if enabled or "disabled" if disabled. | 28 | - status : Shall be "ok" if enabled or "disabled" if disabled. |
28 | Default is "ok". | 29 | Default is "ok". |
29 | 30 | ||
@@ -55,6 +56,7 @@ Example: | |||
55 | <0x0 0x1f22e000 0x0 0x1000>, | 56 | <0x0 0x1f22e000 0x0 0x1000>, |
56 | <0x0 0x1f227000 0x0 0x1000>; | 57 | <0x0 0x1f227000 0x0 0x1000>; |
57 | interrupts = <0x0 0x87 0x4>; | 58 | interrupts = <0x0 0x87 0x4>; |
59 | dma-coherent; | ||
58 | status = "ok"; | 60 | status = "ok"; |
59 | clocks = <&sataclk 0>; | 61 | clocks = <&sataclk 0>; |
60 | phys = <&phy2 0>; | 62 | phys = <&phy2 0>; |
@@ -69,6 +71,7 @@ Example: | |||
69 | <0x0 0x1f23e000 0x0 0x1000>, | 71 | <0x0 0x1f23e000 0x0 0x1000>, |
70 | <0x0 0x1f237000 0x0 0x1000>; | 72 | <0x0 0x1f237000 0x0 0x1000>; |
71 | interrupts = <0x0 0x88 0x4>; | 73 | interrupts = <0x0 0x88 0x4>; |
74 | dma-coherent; | ||
72 | status = "ok"; | 75 | status = "ok"; |
73 | clocks = <&sataclk 0>; | 76 | clocks = <&sataclk 0>; |
74 | phys = <&phy3 0>; | 77 | phys = <&phy3 0>; |
diff --git a/Documentation/devicetree/bindings/net/arc_emac.txt b/Documentation/devicetree/bindings/net/arc_emac.txt index 7fbb027218a1..a1d71eb43b20 100644 --- a/Documentation/devicetree/bindings/net/arc_emac.txt +++ b/Documentation/devicetree/bindings/net/arc_emac.txt | |||
@@ -4,11 +4,15 @@ Required properties: | |||
4 | - compatible: Should be "snps,arc-emac" | 4 | - compatible: Should be "snps,arc-emac" |
5 | - reg: Address and length of the register set for the device | 5 | - reg: Address and length of the register set for the device |
6 | - interrupts: Should contain the EMAC interrupts | 6 | - interrupts: Should contain the EMAC interrupts |
7 | - clock-frequency: CPU frequency. It is needed to calculate and set polling | ||
8 | period of EMAC. | ||
9 | - max-speed: see ethernet.txt file in the same directory. | 7 | - max-speed: see ethernet.txt file in the same directory. |
10 | - phy: see ethernet.txt file in the same directory. | 8 | - phy: see ethernet.txt file in the same directory. |
11 | 9 | ||
10 | Clock handling: | ||
11 | The clock frequency is needed to calculate and set polling period of EMAC. | ||
12 | It must be provided by one of: | ||
13 | - clock-frequency: CPU frequency. | ||
14 | - clocks: reference to the clock supplying the EMAC. | ||
15 | |||
12 | Child nodes of the driver are the individual PHY devices connected to the | 16 | Child nodes of the driver are the individual PHY devices connected to the |
13 | MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. | 17 | MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. |
14 | 18 | ||
@@ -19,7 +23,11 @@ Examples: | |||
19 | reg = <0xc0fc2000 0x3c>; | 23 | reg = <0xc0fc2000 0x3c>; |
20 | interrupts = <6>; | 24 | interrupts = <6>; |
21 | mac-address = [ 00 11 22 33 44 55 ]; | 25 | mac-address = [ 00 11 22 33 44 55 ]; |
26 | |||
22 | clock-frequency = <80000000>; | 27 | clock-frequency = <80000000>; |
28 | /* or */ | ||
29 | clocks = <&emac_clock>; | ||
30 | |||
23 | max-speed = <100>; | 31 | max-speed = <100>; |
24 | phy = <&phy0>; | 32 | phy = <&phy0>; |
25 | 33 | ||
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt index 636f0ac4e223..2a60cd3e8d5d 100644 --- a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt +++ b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt | |||
@@ -23,5 +23,5 @@ gmac0: ethernet@ff700000 { | |||
23 | interrupt-names = "macirq"; | 23 | interrupt-names = "macirq"; |
24 | mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ | 24 | mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ |
25 | clocks = <&emac_0_clk>; | 25 | clocks = <&emac_0_clk>; |
26 | clocks-names = "stmmaceth"; | 26 | clock-names = "stmmaceth"; |
27 | }; | 27 | }; |
diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt index 80c1fb8bfbb8..a2acd2b26baf 100644 --- a/Documentation/devicetree/bindings/net/stmmac.txt +++ b/Documentation/devicetree/bindings/net/stmmac.txt | |||
@@ -33,7 +33,7 @@ Optional properties: | |||
33 | - max-frame-size: See ethernet.txt file in the same directory | 33 | - max-frame-size: See ethernet.txt file in the same directory |
34 | - clocks: If present, the first clock should be the GMAC main clock, | 34 | - clocks: If present, the first clock should be the GMAC main clock, |
35 | further clocks may be specified in derived bindings. | 35 | further clocks may be specified in derived bindings. |
36 | - clocks-names: One name for each entry in the clocks property, the | 36 | - clock-names: One name for each entry in the clocks property, the |
37 | first one should be "stmmaceth". | 37 | first one should be "stmmaceth". |
38 | 38 | ||
39 | Examples: | 39 | Examples: |
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt index 4bd5be0e5e7d..26bcb18f4e60 100644 --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt | |||
@@ -83,7 +83,7 @@ Example: | |||
83 | reg = <0xfe61f080 0x4>; | 83 | reg = <0xfe61f080 0x4>; |
84 | reg-names = "irqmux"; | 84 | reg-names = "irqmux"; |
85 | interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; | 85 | interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>; |
86 | interrupts-names = "irqmux"; | 86 | interrupt-names = "irqmux"; |
87 | ranges = <0 0xfe610000 0x5000>; | 87 | ranges = <0 0xfe610000 0x5000>; |
88 | 88 | ||
89 | PIO0: gpio@fe610000 { | 89 | PIO0: gpio@fe610000 { |
@@ -165,7 +165,7 @@ sdhci0:sdhci@fe810000{ | |||
165 | interrupt-parent = <&PIO3>; | 165 | interrupt-parent = <&PIO3>; |
166 | #interrupt-cells = <2>; | 166 | #interrupt-cells = <2>; |
167 | interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; /* Interrupt line via PIO3-3 */ | 167 | interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; /* Interrupt line via PIO3-3 */ |
168 | interrupts-names = "card-detect"; | 168 | interrupt-names = "card-detect"; |
169 | pinctrl-names = "default"; | 169 | pinctrl-names = "default"; |
170 | pinctrl-0 = <&pinctrl_mmc>; | 170 | pinctrl-0 = <&pinctrl_mmc>; |
171 | }; | 171 | }; |
diff --git a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt index 569b26c4a81e..60ca07996458 100644 --- a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt +++ b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt | |||
@@ -47,7 +47,7 @@ mcasp0: mcasp0@1d00000 { | |||
47 | reg = <0x100000 0x3000>; | 47 | reg = <0x100000 0x3000>; |
48 | reg-names "mpu"; | 48 | reg-names "mpu"; |
49 | interrupts = <82>, <83>; | 49 | interrupts = <82>, <83>; |
50 | interrupts-names = "tx", "rx"; | 50 | interrupt-names = "tx", "rx"; |
51 | op-mode = <0>; /* MCASP_IIS_MODE */ | 51 | op-mode = <0>; /* MCASP_IIS_MODE */ |
52 | tdm-slots = <2>; | 52 | tdm-slots = <2>; |
53 | serial-dir = < | 53 | serial-dir = < |
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt index 74c66dee3e14..eff12be5e789 100644 --- a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt +++ b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt | |||
@@ -13,6 +13,9 @@ Required properties: | |||
13 | "ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP) | 13 | "ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP) |
14 | 14 | ||
15 | - reg - <int> - I2C slave address | 15 | - reg - <int> - I2C slave address |
16 | - HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply, | ||
17 | DVDD-supply : power supplies for the device as covered in | ||
18 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
16 | 19 | ||
17 | 20 | ||
18 | Optional properties: | 21 | Optional properties: |
@@ -24,9 +27,6 @@ Optional properties: | |||
24 | 3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD | 27 | 3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD |
25 | If this node is not mentioned or if the value is unknown, then | 28 | If this node is not mentioned or if the value is unknown, then |
26 | micbias is set to 2.0V. | 29 | micbias is set to 2.0V. |
27 | - HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply, | ||
28 | DVDD-supply : power supplies for the device as covered in | ||
29 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
30 | 30 | ||
31 | CODEC output pins: | 31 | CODEC output pins: |
32 | * HPL | 32 | * HPL |