aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/arm/amlogic.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/arch_timer.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/arm-boards65
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/cygnus.txt31
-rw-r--r--Documentation/devicetree/bindings/arm/coresight.txt204
-rw-r--r--Documentation/devicetree/bindings/arm/cpus.txt9
-rw-r--r--Documentation/devicetree/bindings/arm/fsl.txt38
-rw-r--r--Documentation/devicetree/bindings/arm/gic-v3.txt39
-rw-r--r--Documentation/devicetree/bindings/arm/gic.txt54
-rw-r--r--Documentation/devicetree/bindings/arm/idle-states.txt20
-rw-r--r--Documentation/devicetree/bindings/arm/marvell,berlin.txt10
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek.txt19
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt28
-rw-r--r--Documentation/devicetree/bindings/arm/omap/omap.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/samsung-boards.txt19
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt11
-rw-r--r--Documentation/devicetree/bindings/arm/ste-nomadik.txt6
-rw-r--r--Documentation/devicetree/bindings/arm/sunxi.txt12
-rw-r--r--Documentation/devicetree/bindings/arm/ux500/power_domain.txt35
-rw-r--r--Documentation/devicetree/bindings/ata/marvell.txt6
-rw-r--r--Documentation/devicetree/bindings/ata/sata_rcar.txt17
-rw-r--r--Documentation/devicetree/bindings/btmrvl.txt29
-rw-r--r--Documentation/devicetree/bindings/bus/bcma.txt21
-rw-r--r--Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt6
-rw-r--r--Documentation/devicetree/bindings/bus/mvebu-mbus.txt17
-rw-r--r--Documentation/devicetree/bindings/chosen.txt46
-rw-r--r--Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt34
-rw-r--r--Documentation/devicetree/bindings/clock/qoriq-clock.txt14
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,flexgen.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/vf610-clock.txt15
-rw-r--r--Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt2
-rw-r--r--Documentation/devicetree/bindings/dma/atmel-xdma.txt54
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt1
-rw-r--r--Documentation/devicetree/bindings/dma/qcom_bam_dma.txt4
-rw-r--r--Documentation/devicetree/bindings/dma/sun6i-dma.txt2
-rw-r--r--Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt2
-rw-r--r--Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt (renamed from Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt)0
-rw-r--r--Documentation/devicetree/bindings/drm/imx/hdmi.txt (renamed from Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt)0
-rw-r--r--Documentation/devicetree/bindings/drm/imx/ldb.txt (renamed from Documentation/devicetree/bindings/staging/imx-drm/ldb.txt)0
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt30
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt2
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-vf610.txt55
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio.txt40
-rw-r--r--Documentation/devicetree/bindings/gpio/pl061-gpio.txt2
-rw-r--r--Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt4
-rw-r--r--Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt2
-rw-r--r--Documentation/devicetree/bindings/gpu/st,stih4xx.txt29
-rw-r--r--Documentation/devicetree/bindings/hwmon/ltc2978.txt39
-rw-r--r--Documentation/devicetree/bindings/hwrng/atmel-trng.txt16
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-designware.txt4
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-img-scb.txt26
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-imx.txt11
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-meson.txt24
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-opal.txt37
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt1
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt14
-rw-r--r--Documentation/devicetree/bindings/i2c/trivial-devices.txt10
-rw-r--r--Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt46
-rw-r--r--Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt2
-rw-r--r--Documentation/devicetree/bindings/input/cap11xx.txt (renamed from Documentation/devicetree/bindings/input/cap1106.txt)26
-rw-r--r--Documentation/devicetree/bindings/input/elan_i2c.txt34
-rw-r--r--Documentation/devicetree/bindings/input/elants_i2c.txt33
-rw-r--r--Documentation/devicetree/bindings/input/gpio-keys.txt10
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt26
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/interrupts.txt4
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt55
-rw-r--r--Documentation/devicetree/bindings/iommu/rockchip,iommu.txt26
-rw-r--r--Documentation/devicetree/bindings/leds/leds-lp8860.txt29
-rw-r--r--Documentation/devicetree/bindings/mailbox/omap-mailbox.txt23
-rw-r--r--Documentation/devicetree/bindings/media/meson-ir.txt14
-rw-r--r--Documentation/devicetree/bindings/media/rcar_vin.txt2
-rw-r--r--Documentation/devicetree/bindings/media/si4713.txt30
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt21
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt36
-rw-r--r--Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt51
-rw-r--r--Documentation/devicetree/bindings/mfd/max77686.txt6
-rw-r--r--Documentation/devicetree/bindings/mfd/max77693.txt21
-rw-r--r--Documentation/devicetree/bindings/mfd/s2mps11.txt22
-rw-r--r--Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt37
-rw-r--r--Documentation/devicetree/bindings/mips/brcm/bmips.txt8
-rw-r--r--Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt11
-rw-r--r--Documentation/devicetree/bindings/mips/brcm/usb.txt11
-rw-r--r--Documentation/devicetree/bindings/mips/cpu_irq.txt4
-rw-r--r--Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt4
-rw-r--r--Documentation/devicetree/bindings/mmc/img-dw-mshc.txt29
-rw-r--r--Documentation/devicetree/bindings/mmc/sdhci-pxa.txt7
-rw-r--r--Documentation/devicetree/bindings/mtd/atmel-nand.txt6
-rw-r--r--Documentation/devicetree/bindings/mtd/diskonchip.txt15
-rw-r--r--Documentation/devicetree/bindings/mtd/gpio-control-nand.txt14
-rw-r--r--Documentation/devicetree/bindings/mtd/sunxi-nand.txt45
-rw-r--r--Documentation/devicetree/bindings/net/amd-xgbe.txt12
-rw-r--r--Documentation/devicetree/bindings/net/can/c_can.txt5
-rw-r--r--Documentation/devicetree/bindings/net/dsa/dsa.txt9
-rw-r--r--Documentation/devicetree/bindings/net/micrel.txt35
-rw-r--r--Documentation/devicetree/bindings/net/phy.txt3
-rw-r--r--Documentation/devicetree/bindings/net/sh_eth.txt1
-rw-r--r--Documentation/devicetree/bindings/nios2/nios2.txt62
-rw-r--r--Documentation/devicetree/bindings/nios2/timer.txt19
-rw-r--r--Documentation/devicetree/bindings/panel/auo,b116xw03.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt49
-rw-r--r--Documentation/devicetree/bindings/pci/layerscape-pci.txt42
-rw-r--r--Documentation/devicetree/bindings/pci/pci.txt11
-rw-r--r--Documentation/devicetree/bindings/phy/berlin-sata-phy.txt4
-rw-r--r--Documentation/devicetree/bindings/phy/berlin-usb-phy.txt16
-rw-r--r--Documentation/devicetree/bindings/phy/phy-miphy28lp.txt128
-rw-r--r--Documentation/devicetree/bindings/phy/phy-mvebu.txt43
-rw-r--r--Documentation/devicetree/bindings/phy/samsung-phy.txt6
-rw-r--r--Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt4
-rw-r--r--Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt96
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt215
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt162
-rw-r--r--Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt3
-rw-r--r--Documentation/devicetree/bindings/pinctrl/ste,abx500.txt184
-rw-r--r--Documentation/devicetree/bindings/power/power-controller.txt18
-rw-r--r--Documentation/devicetree/bindings/power_supply/gpio-charger.txt27
-rw-r--r--Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt23
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/fman.txt534
-rw-r--r--Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt29
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt30
-rw-r--r--Documentation/devicetree/bindings/regulator/act8865-regulator.txt4
-rw-r--r--Documentation/devicetree/bindings/regulator/max77802.txt35
-rw-r--r--Documentation/devicetree/bindings/regulator/regulator.txt22
-rw-r--r--Documentation/devicetree/bindings/regulator/sky81452-regulator.txt10
-rw-r--r--Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt42
-rw-r--r--Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt23
-rw-r--r--Documentation/devicetree/bindings/rtc/rtc-omap.txt9
-rw-r--r--Documentation/devicetree/bindings/rtc/rtc-opal.txt16
-rw-r--r--Documentation/devicetree/bindings/serial/bcm63xx-uart.txt30
-rw-r--r--Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt10
-rw-r--r--Documentation/devicetree/bindings/serial/of-serial.txt1
-rw-r--r--Documentation/devicetree/bindings/serial/pl011.txt42
-rw-r--r--Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt69
-rw-r--r--Documentation/devicetree/bindings/serial/renesas,sci-serial.txt9
-rw-r--r--Documentation/devicetree/bindings/serial/sirf-uart.txt16
-rw-r--r--Documentation/devicetree/bindings/soc/fsl/bman-portals.txt56
-rw-r--r--Documentation/devicetree/bindings/soc/fsl/bman.txt125
-rw-r--r--Documentation/devicetree/bindings/soc/fsl/qman-portals.txt154
-rw-r--r--Documentation/devicetree/bindings/soc/fsl/qman.txt165
-rw-r--r--Documentation/devicetree/bindings/sound/arndale.txt24
-rw-r--r--Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/eukrea-tlv320.txt15
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,esai.txt44
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,spdif.txt37
-rw-r--r--Documentation/devicetree/bindings/sound/fsl-sai.txt66
-rw-r--r--Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt61
-rw-r--r--Documentation/devicetree/bindings/sound/imx-audio-spdif.txt22
-rw-r--r--Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt45
-rw-r--r--Documentation/devicetree/bindings/sound/imx-audmux.txt22
-rw-r--r--Documentation/devicetree/bindings/sound/max98090.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/renesas,fsi.txt9
-rw-r--r--Documentation/devicetree/bindings/sound/renesas,rsnd.txt10
-rw-r--r--Documentation/devicetree/bindings/sound/rt5631.txt48
-rw-r--r--Documentation/devicetree/bindings/sound/rt5677.txt17
-rw-r--r--Documentation/devicetree/bindings/sound/samsung-i2s.txt15
-rw-r--r--Documentation/devicetree/bindings/sound/sgtl5000.txt13
-rw-r--r--Documentation/devicetree/bindings/sound/ts3a227e.txt26
-rw-r--r--Documentation/devicetree/bindings/sound/wm8960.txt31
-rw-r--r--Documentation/devicetree/bindings/spi/spi-gpio.txt6
-rw-r--r--Documentation/devicetree/bindings/spi/spi-img-spfi.txt37
-rw-r--r--Documentation/devicetree/bindings/spi/spi-meson.txt22
-rw-r--r--Documentation/devicetree/bindings/spi/spi-samsung.txt2
-rw-r--r--Documentation/devicetree/bindings/thermal/armada-thermal.txt8
-rw-r--r--Documentation/devicetree/bindings/thermal/rockchip-thermal.txt68
-rw-r--r--Documentation/devicetree/bindings/thermal/tegra-soctherm.txt53
-rw-r--r--Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt9
-rw-r--r--Documentation/devicetree/bindings/timer/renesas,mtu2.txt2
-rw-r--r--Documentation/devicetree/bindings/timer/renesas,tmu.txt4
-rw-r--r--Documentation/devicetree/bindings/unittest.txt14
-rw-r--r--Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt24
-rw-r--r--Documentation/devicetree/bindings/usb/dwc3.txt23
-rw-r--r--Documentation/devicetree/bindings/usb/exynos-usb.txt6
-rw-r--r--Documentation/devicetree/bindings/usb/pxa-usb.txt22
-rw-r--r--Documentation/devicetree/bindings/usb/usb-ohci.txt2
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt14
-rw-r--r--Documentation/devicetree/bindings/video/adi,adv7511.txt88
-rw-r--r--Documentation/devicetree/bindings/video/backlight/lp855x.txt2
-rw-r--r--Documentation/devicetree/bindings/video/exynos_dsim.txt1
-rw-r--r--Documentation/devicetree/bindings/video/rockchip-drm.txt19
-rw-r--r--Documentation/devicetree/bindings/video/rockchip-vop.txt58
-rw-r--r--Documentation/devicetree/bindings/video/samsung-fimd.txt1
-rw-r--r--Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt33
-rw-r--r--Documentation/devicetree/bindings/video/simple-framebuffer.txt68
-rw-r--r--Documentation/devicetree/bindings/w1/omap-hdq.txt17
-rw-r--r--Documentation/devicetree/bindings/watchdog/marvel.txt13
-rw-r--r--Documentation/devicetree/of_selftest.txt20
-rw-r--r--Documentation/devicetree/overlay-notes.txt133
-rw-r--r--Documentation/devicetree/todo.txt1
203 files changed, 5430 insertions, 458 deletions
diff --git a/Documentation/devicetree/bindings/arm/amlogic.txt b/Documentation/devicetree/bindings/arm/amlogic.txt
index 7eece72b1a35..8fe815046140 100644
--- a/Documentation/devicetree/bindings/arm/amlogic.txt
+++ b/Documentation/devicetree/bindings/arm/amlogic.txt
@@ -2,7 +2,9 @@ Amlogic MesonX device tree bindings
2------------------------------------------- 2-------------------------------------------
3 3
4Boards with the Amlogic Meson6 SoC shall have the following properties: 4Boards with the Amlogic Meson6 SoC shall have the following properties:
5 Required root node property:
6 compatible: "amlogic,meson6"
5 7
6Required root node property: 8Boards with the Amlogic Meson8 SoC shall have the following properties:
7 9 Required root node property:
8compatible = "amlogic,meson6"; 10 compatible: "amlogic,meson8";
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
index 37b2cafa4e52..256b4d8bab7b 100644
--- a/Documentation/devicetree/bindings/arm/arch_timer.txt
+++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
@@ -22,6 +22,14 @@ to deliver its interrupts via SPIs.
22- always-on : a boolean property. If present, the timer is powered through an 22- always-on : a boolean property. If present, the timer is powered through an
23 always-on power domain, therefore it never loses context. 23 always-on power domain, therefore it never loses context.
24 24
25** Optional properties:
26
27- arm,cpu-registers-not-fw-configured : Firmware does not initialize
28 any of the generic timer CPU registers, which contain their
29 architecturally-defined reset values. Only supported for 32-bit
30 systems which follow the ARMv7 architected reset values.
31
32
25Example: 33Example:
26 34
27 timer { 35 timer {
diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards
index c554ed3d44fb..556c8665fdbf 100644
--- a/Documentation/devicetree/bindings/arm/arm-boards
+++ b/Documentation/devicetree/bindings/arm/arm-boards
@@ -92,3 +92,68 @@ Required nodes:
92- core-module: the root node to the Versatile platforms must have 92- core-module: the root node to the Versatile platforms must have
93 a core-module with regs and the compatible strings 93 a core-module with regs and the compatible strings
94 "arm,core-module-versatile", "syscon" 94 "arm,core-module-versatile", "syscon"
95
96ARM RealView Boards
97-------------------
98The RealView boards cover tailored evaluation boards that are used to explore
99the ARM11 and Cortex A-8 and Cortex A-9 processors.
100
101Required properties (in root node):
102 /* RealView Emulation Baseboard */
103 compatible = "arm,realview-eb";
104 /* RealView Platform Baseboard for ARM1176JZF-S */
105 compatible = "arm,realview-pb1176";
106 /* RealView Platform Baseboard for ARM11 MPCore */
107 compatible = "arm,realview-pb11mp";
108 /* RealView Platform Baseboard for Cortex A-8 */
109 compatible = "arm,realview-pba8";
110 /* RealView Platform Baseboard Explore for Cortex A-9 */
111 compatible = "arm,realview-pbx";
112
113Required nodes:
114
115- soc: some node of the RealView platforms must be the SoC
116 node that contain the SoC-specific devices, withe the compatible
117 string set to one of these tuples:
118 "arm,realview-eb-soc", "simple-bus"
119 "arm,realview-pb1176-soc", "simple-bus"
120 "arm,realview-pb11mp-soc", "simple-bus"
121 "arm,realview-pba8-soc", "simple-bus"
122 "arm,realview-pbx-soc", "simple-bus"
123
124- syscon: some subnode of the RealView SoC node must be a
125 system controller node pointing to the control registers,
126 with the compatible string set to one of these tuples:
127 "arm,realview-eb-syscon", "syscon"
128 "arm,realview-pb1176-syscon", "syscon"
129 "arm,realview-pb11mp-syscon", "syscon"
130 "arm,realview-pba8-syscon", "syscon"
131 "arm,realview-pbx-syscon", "syscon"
132
133 Required properties for the system controller:
134 - regs: the location and size of the system controller registers,
135 one range of 0x1000 bytes.
136
137Example:
138
139/dts-v1/;
140#include <dt-bindings/interrupt-controller/irq.h>
141#include "skeleton.dtsi"
142
143/ {
144 model = "ARM RealView PB1176 with device tree";
145 compatible = "arm,realview-pb1176";
146
147 soc {
148 #address-cells = <1>;
149 #size-cells = <1>;
150 compatible = "arm,realview-pb1176-soc", "simple-bus";
151 ranges;
152
153 syscon: syscon@10000000 {
154 compatible = "arm,realview-syscon", "syscon";
155 reg = <0x10000000 0x1000>;
156 };
157
158 };
159};
diff --git a/Documentation/devicetree/bindings/arm/bcm/cygnus.txt b/Documentation/devicetree/bindings/arm/bcm/cygnus.txt
new file mode 100644
index 000000000000..4c77169bb534
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm/cygnus.txt
@@ -0,0 +1,31 @@
1Broadcom Cygnus device tree bindings
2------------------------------------
3
4
5Boards with Cygnus SoCs shall have the following properties:
6
7Required root node property:
8
9BCM11300
10compatible = "brcm,bcm11300", "brcm,cygnus";
11
12BCM11320
13compatible = "brcm,bcm11320", "brcm,cygnus";
14
15BCM11350
16compatible = "brcm,bcm11350", "brcm,cygnus";
17
18BCM11360
19compatible = "brcm,bcm11360", "brcm,cygnus";
20
21BCM58300
22compatible = "brcm,bcm58300", "brcm,cygnus";
23
24BCM58302
25compatible = "brcm,bcm58302", "brcm,cygnus";
26
27BCM58303
28compatible = "brcm,bcm58303", "brcm,cygnus";
29
30BCM58305
31compatible = "brcm,bcm58305", "brcm,cygnus";
diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
new file mode 100644
index 000000000000..d790f49066f3
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/coresight.txt
@@ -0,0 +1,204 @@
1* CoreSight Components:
2
3CoreSight components are compliant with the ARM CoreSight architecture
4specification and can be connected in various topologies to suit a particular
5SoCs tracing needs. These trace components can generally be classified as
6sinks, links and sources. Trace data produced by one or more sources flows
7through the intermediate links connecting the source to the currently selected
8sink. Each CoreSight component device should use these properties to describe
9its hardware characteristcs.
10
11* Required properties for all components *except* non-configurable replicators:
12
13 * compatible: These have to be supplemented with "arm,primecell" as
14 drivers are using the AMBA bus interface. Possible values include:
15 - "arm,coresight-etb10", "arm,primecell";
16 - "arm,coresight-tpiu", "arm,primecell";
17 - "arm,coresight-tmc", "arm,primecell";
18 - "arm,coresight-funnel", "arm,primecell";
19 - "arm,coresight-etm3x", "arm,primecell";
20
21 * reg: physical base address and length of the register
22 set(s) of the component.
23
24 * clocks: the clock associated to this component.
25
26 * clock-names: the name of the clock as referenced by the code.
27 Since we are using the AMBA framework, the name should be
28 "apb_pclk".
29
30 * port or ports: The representation of the component's port
31 layout using the generic DT graph presentation found in
32 "bindings/graph.txt".
33
34* Required properties for devices that don't show up on the AMBA bus, such as
35 non-configurable replicators:
36
37 * compatible: Currently supported value is (note the absence of the
38 AMBA markee):
39 - "arm,coresight-replicator"
40
41 * id: a unique number that will identify this replicator.
42
43 * port or ports: same as above.
44
45* Optional properties for ETM/PTMs:
46
47 * arm,cp14: must be present if the system accesses ETM/PTM management
48 registers via co-processor 14.
49
50 * cpu: the cpu phandle this ETM/PTM is affined to. When omitted the
51 source is considered to belong to CPU0.
52
53* Optional property for TMC:
54
55 * arm,buffer-size: size of contiguous buffer space for TMC ETR
56 (embedded trace router)
57
58
59Example:
60
611. Sinks
62 etb@20010000 {
63 compatible = "arm,coresight-etb10", "arm,primecell";
64 reg = <0 0x20010000 0 0x1000>;
65
66 coresight-default-sink;
67 clocks = <&oscclk6a>;
68 clock-names = "apb_pclk";
69 port {
70 etb_in_port: endpoint@0 {
71 slave-mode;
72 remote-endpoint = <&replicator_out_port0>;
73 };
74 };
75 };
76
77 tpiu@20030000 {
78 compatible = "arm,coresight-tpiu", "arm,primecell";
79 reg = <0 0x20030000 0 0x1000>;
80
81 clocks = <&oscclk6a>;
82 clock-names = "apb_pclk";
83 port {
84 tpiu_in_port: endpoint@0 {
85 slave-mode;
86 remote-endpoint = <&replicator_out_port1>;
87 };
88 };
89 };
90
912. Links
92 replicator {
93 /* non-configurable replicators don't show up on the
94 * AMBA bus. As such no need to add "arm,primecell".
95 */
96 compatible = "arm,coresight-replicator";
97 /* this will show up in debugfs as "0.replicator" */
98 id = <0>;
99
100 ports {
101 #address-cells = <1>;
102 #size-cells = <0>;
103
104 /* replicator output ports */
105 port@0 {
106 reg = <0>;
107 replicator_out_port0: endpoint {
108 remote-endpoint = <&etb_in_port>;
109 };
110 };
111
112 port@1 {
113 reg = <1>;
114 replicator_out_port1: endpoint {
115 remote-endpoint = <&tpiu_in_port>;
116 };
117 };
118
119 /* replicator input port */
120 port@2 {
121 reg = <0>;
122 replicator_in_port0: endpoint {
123 slave-mode;
124 remote-endpoint = <&funnel_out_port0>;
125 };
126 };
127 };
128 };
129
130 funnel@20040000 {
131 compatible = "arm,coresight-funnel", "arm,primecell";
132 reg = <0 0x20040000 0 0x1000>;
133
134 clocks = <&oscclk6a>;
135 clock-names = "apb_pclk";
136 ports {
137 #address-cells = <1>;
138 #size-cells = <0>;
139
140 /* funnel output port */
141 port@0 {
142 reg = <0>;
143 funnel_out_port0: endpoint {
144 remote-endpoint =
145 <&replicator_in_port0>;
146 };
147 };
148
149 /* funnel input ports */
150 port@1 {
151 reg = <0>;
152 funnel_in_port0: endpoint {
153 slave-mode;
154 remote-endpoint = <&ptm0_out_port>;
155 };
156 };
157
158 port@2 {
159 reg = <1>;
160 funnel_in_port1: endpoint {
161 slave-mode;
162 remote-endpoint = <&ptm1_out_port>;
163 };
164 };
165
166 port@3 {
167 reg = <2>;
168 funnel_in_port2: endpoint {
169 slave-mode;
170 remote-endpoint = <&etm0_out_port>;
171 };
172 };
173
174 };
175 };
176
1773. Sources
178 ptm@2201c000 {
179 compatible = "arm,coresight-etm3x", "arm,primecell";
180 reg = <0 0x2201c000 0 0x1000>;
181
182 cpu = <&cpu0>;
183 clocks = <&oscclk6a>;
184 clock-names = "apb_pclk";
185 port {
186 ptm0_out_port: endpoint {
187 remote-endpoint = <&funnel_in_port0>;
188 };
189 };
190 };
191
192 ptm@2201d000 {
193 compatible = "arm,coresight-etm3x", "arm,primecell";
194 reg = <0 0x2201d000 0 0x1000>;
195
196 cpu = <&cpu1>;
197 clocks = <&oscclk6a>;
198 clock-names = "apb_pclk";
199 port {
200 ptm1_out_port: endpoint {
201 remote-endpoint = <&funnel_in_port1>;
202 };
203 };
204 };
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index fc446347ab6d..b2aacbe16ed9 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -227,6 +227,15 @@ nodes to be present and contain the properties described below.
227 # List of phandles to idle state nodes supported 227 # List of phandles to idle state nodes supported
228 by this cpu [3]. 228 by this cpu [3].
229 229
230 - rockchip,pmu
231 Usage: optional for systems that have an "enable-method"
232 property value of "rockchip,rk3066-smp"
233 While optional, it is the preferred way to get access to
234 the cpu-core power-domains.
235 Value type: <phandle>
236 Definition: Specifies the syscon node controlling the cpu core
237 power domains.
238
230Example 1 (dual-cluster big.LITTLE system 32-bit): 239Example 1 (dual-cluster big.LITTLE system 32-bit):
231 240
232 cpus { 241 cpus {
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt
index e935d7d4ac43..4e8b7df7fc62 100644
--- a/Documentation/devicetree/bindings/arm/fsl.txt
+++ b/Documentation/devicetree/bindings/arm/fsl.txt
@@ -74,3 +74,41 @@ Required root node properties:
74i.MX6q generic board 74i.MX6q generic board
75Required root node properties: 75Required root node properties:
76 - compatible = "fsl,imx6q"; 76 - compatible = "fsl,imx6q";
77
78
79Freescale LS1021A Platform Device Tree Bindings
80------------------------------------------------
81
82Required root node compatible properties:
83 - compatible = "fsl,ls1021a";
84
85Freescale LS1021A SoC-specific Device Tree Bindings
86-------------------------------------------
87
88Freescale SCFG
89 SCFG is the supplemental configuration unit, that provides SoC specific
90configuration and status registers for the chip. Such as getting PEX port
91status.
92 Required properties:
93 - compatible: should be "fsl,ls1021a-scfg"
94 - reg: should contain base address and length of SCFG memory-mapped registers
95
96Example:
97 scfg: scfg@1570000 {
98 compatible = "fsl,ls1021a-scfg";
99 reg = <0x0 0x1570000 0x0 0x10000>;
100 };
101
102Freescale DCFG
103 DCFG is the device configuration unit, that provides general purpose
104configuration and status for the device. Such as setting the secondary
105core start address and release the secondary core from holdoff and startup.
106 Required properties:
107 - compatible: should be "fsl,ls1021a-dcfg"
108 - reg : should contain base address and length of DCFG memory-mapped registers
109
110Example:
111 dcfg: dcfg@1ee0000 {
112 compatible = "fsl,ls1021a-dcfg";
113 reg = <0x0 0x1ee0000 0x0 0x10000>;
114 };
diff --git a/Documentation/devicetree/bindings/arm/gic-v3.txt b/Documentation/devicetree/bindings/arm/gic-v3.txt
index 33cd05e6c125..ddfade40ac59 100644
--- a/Documentation/devicetree/bindings/arm/gic-v3.txt
+++ b/Documentation/devicetree/bindings/arm/gic-v3.txt
@@ -49,11 +49,29 @@ Optional
49 occupied by the redistributors. Required if more than one such 49 occupied by the redistributors. Required if more than one such
50 region is present. 50 region is present.
51 51
52Sub-nodes:
53
54GICv3 has one or more Interrupt Translation Services (ITS) that are
55used to route Message Signalled Interrupts (MSI) to the CPUs.
56
57These nodes must have the following properties:
58- compatible : Should at least contain "arm,gic-v3-its".
59- msi-controller : Boolean property. Identifies the node as an MSI controller
60- reg: Specifies the base physical address and size of the ITS
61 registers.
62
63The main GIC node must contain the appropriate #address-cells,
64#size-cells and ranges properties for the reg property of all ITS
65nodes.
66
52Examples: 67Examples:
53 68
54 gic: interrupt-controller@2cf00000 { 69 gic: interrupt-controller@2cf00000 {
55 compatible = "arm,gic-v3"; 70 compatible = "arm,gic-v3";
56 #interrupt-cells = <3>; 71 #interrupt-cells = <3>;
72 #address-cells = <2>;
73 #size-cells = <2>;
74 ranges;
57 interrupt-controller; 75 interrupt-controller;
58 reg = <0x0 0x2f000000 0 0x10000>, // GICD 76 reg = <0x0 0x2f000000 0 0x10000>, // GICD
59 <0x0 0x2f100000 0 0x200000>, // GICR 77 <0x0 0x2f100000 0 0x200000>, // GICR
@@ -61,11 +79,20 @@ Examples:
61 <0x0 0x2c010000 0 0x2000>, // GICH 79 <0x0 0x2c010000 0 0x2000>, // GICH
62 <0x0 0x2c020000 0 0x2000>; // GICV 80 <0x0 0x2c020000 0 0x2000>; // GICV
63 interrupts = <1 9 4>; 81 interrupts = <1 9 4>;
82
83 gic-its@2c200000 {
84 compatible = "arm,gic-v3-its";
85 msi-controller;
86 reg = <0x0 0x2c200000 0 0x200000>;
87 };
64 }; 88 };
65 89
66 gic: interrupt-controller@2c010000 { 90 gic: interrupt-controller@2c010000 {
67 compatible = "arm,gic-v3"; 91 compatible = "arm,gic-v3";
68 #interrupt-cells = <3>; 92 #interrupt-cells = <3>;
93 #address-cells = <2>;
94 #size-cells = <2>;
95 ranges;
69 interrupt-controller; 96 interrupt-controller;
70 redistributor-stride = <0x0 0x40000>; // 256kB stride 97 redistributor-stride = <0x0 0x40000>; // 256kB stride
71 #redistributor-regions = <2>; 98 #redistributor-regions = <2>;
@@ -76,4 +103,16 @@ Examples:
76 <0x0 0x2c060000 0 0x2000>, // GICH 103 <0x0 0x2c060000 0 0x2000>, // GICH
77 <0x0 0x2c080000 0 0x2000>; // GICV 104 <0x0 0x2c080000 0 0x2000>; // GICV
78 interrupts = <1 9 4>; 105 interrupts = <1 9 4>;
106
107 gic-its@2c200000 {
108 compatible = "arm,gic-v3-its";
109 msi-controller;
110 reg = <0x0 0x2c200000 0 0x200000>;
111 };
112
113 gic-its@2c400000 {
114 compatible = "arm,gic-v3-its";
115 msi-controller;
116 reg = <0x0 0x2c400000 0 0x200000>;
117 };
79 }; 118 };
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
index c7d2fa156678..8112d0c3675a 100644
--- a/Documentation/devicetree/bindings/arm/gic.txt
+++ b/Documentation/devicetree/bindings/arm/gic.txt
@@ -17,6 +17,7 @@ Main node required properties:
17 "arm,cortex-a7-gic" 17 "arm,cortex-a7-gic"
18 "arm,arm11mp-gic" 18 "arm,arm11mp-gic"
19 "brcm,brahma-b15-gic" 19 "brcm,brahma-b15-gic"
20 "arm,arm1176jzf-devchip-gic"
20- interrupt-controller : Identifies the node as an interrupt controller 21- interrupt-controller : Identifies the node as an interrupt controller
21- #interrupt-cells : Specifies the number of cells needed to encode an 22- #interrupt-cells : Specifies the number of cells needed to encode an
22 interrupt source. The type shall be a <u32> and the value shall be 3. 23 interrupt source. The type shall be a <u32> and the value shall be 3.
@@ -96,3 +97,56 @@ Example:
96 <0x2c006000 0x2000>; 97 <0x2c006000 0x2000>;
97 interrupts = <1 9 0xf04>; 98 interrupts = <1 9 0xf04>;
98 }; 99 };
100
101
102* GICv2m extension for MSI/MSI-x support (Optional)
103
104Certain revisions of GIC-400 supports MSI/MSI-x via V2M register frame(s).
105This is enabled by specifying v2m sub-node(s).
106
107Required properties:
108
109- compatible : The value here should contain "arm,gic-v2m-frame".
110
111- msi-controller : Identifies the node as an MSI controller.
112
113- reg : GICv2m MSI interface register base and size
114
115Optional properties:
116
117- arm,msi-base-spi : When the MSI_TYPER register contains an incorrect
118 value, this property should contain the SPI base of
119 the MSI frame, overriding the HW value.
120
121- arm,msi-num-spis : When the MSI_TYPER register contains an incorrect
122 value, this property should contain the number of
123 SPIs assigned to the frame, overriding the HW value.
124
125Example:
126
127 interrupt-controller@e1101000 {
128 compatible = "arm,gic-400";
129 #interrupt-cells = <3>;
130 #address-cells = <2>;
131 #size-cells = <2>;
132 interrupt-controller;
133 interrupts = <1 8 0xf04>;
134 ranges = <0 0 0 0xe1100000 0 0x100000>;
135 reg = <0x0 0xe1110000 0 0x01000>,
136 <0x0 0xe112f000 0 0x02000>,
137 <0x0 0xe1140000 0 0x10000>,
138 <0x0 0xe1160000 0 0x10000>;
139 v2m0: v2m@0x8000 {
140 compatible = "arm,gic-v2m-frame";
141 msi-controller;
142 reg = <0x0 0x80000 0 0x1000>;
143 };
144
145 ....
146
147 v2mN: v2m@0x9000 {
148 compatible = "arm,gic-v2m-frame";
149 msi-controller;
150 reg = <0x0 0x90000 0 0x1000>;
151 };
152 };
diff --git a/Documentation/devicetree/bindings/arm/idle-states.txt b/Documentation/devicetree/bindings/arm/idle-states.txt
index 37375c7f3ccc..a8274eabae2e 100644
--- a/Documentation/devicetree/bindings/arm/idle-states.txt
+++ b/Documentation/devicetree/bindings/arm/idle-states.txt
@@ -317,6 +317,26 @@ follows:
317 In such systems entry-latency-us + exit-latency-us 317 In such systems entry-latency-us + exit-latency-us
318 will exceed wakeup-latency-us by this duration. 318 will exceed wakeup-latency-us by this duration.
319 319
320 - status:
321 Usage: Optional
322 Value type: <string>
323 Definition: A standard device tree property [5] that indicates
324 the operational status of an idle-state.
325 If present, it shall be:
326 "okay": to indicate that the idle state is
327 operational.
328 "disabled": to indicate that the idle state has
329 been disabled in firmware so it is not
330 operational.
331 If the property is not present the idle-state must
332 be considered operational.
333
334 - idle-state-name:
335 Usage: Optional
336 Value type: <string>
337 Definition: A string used as a descriptive name for the idle
338 state.
339
320 In addition to the properties listed above, a state node may require 340 In addition to the properties listed above, a state node may require
321 additional properties specifics to the entry-method defined in the 341 additional properties specifics to the entry-method defined in the
322 idle-states node, please refer to the entry-method bindings 342 idle-states node, please refer to the entry-method bindings
diff --git a/Documentation/devicetree/bindings/arm/marvell,berlin.txt b/Documentation/devicetree/bindings/arm/marvell,berlin.txt
index 904de5781f44..a99eb9eb14c0 100644
--- a/Documentation/devicetree/bindings/arm/marvell,berlin.txt
+++ b/Documentation/devicetree/bindings/arm/marvell,berlin.txt
@@ -106,11 +106,21 @@ Required subnode-properties:
106- groups: a list of strings describing the group names. 106- groups: a list of strings describing the group names.
107- function: a string describing the function used to mux the groups. 107- function: a string describing the function used to mux the groups.
108 108
109* Reset controller binding
110
111A reset controller is part of the chip control registers set. The chip control
112node also provides the reset. The register set is not at the same offset between
113Berlin SoCs.
114
115Required property:
116- #reset-cells: must be set to 2
117
109Example: 118Example:
110 119
111chip: chip-control@ea0000 { 120chip: chip-control@ea0000 {
112 compatible = "marvell,berlin2-chip-ctrl"; 121 compatible = "marvell,berlin2-chip-ctrl";
113 #clock-cells = <1>; 122 #clock-cells = <1>;
123 #reset-cells = <2>;
114 reg = <0xea0000 0x400>; 124 reg = <0xea0000 0x400>;
115 clocks = <&refclk>, <&externaldev 0>; 125 clocks = <&refclk>, <&externaldev 0>;
116 clock-names = "refclk", "video_ext0"; 126 clock-names = "refclk", "video_ext0";
diff --git a/Documentation/devicetree/bindings/arm/mediatek.txt b/Documentation/devicetree/bindings/arm/mediatek.txt
index fa252261dfaf..3be40139cfbb 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek.txt
@@ -1,10 +1,14 @@
1Mediatek MT6589 Platforms Device Tree Bindings 1MediaTek mt65xx & mt81xx Platforms Device Tree Bindings
2 2
3Boards with a SoC of the Mediatek MT6589 shall have the following property: 3Boards with a MediaTek mt65xx/mt81xx SoC shall have the following property:
4 4
5Required root node property: 5Required root node property:
6 6
7compatible: must contain "mediatek,mt6589" 7compatible: Must contain one of
8 "mediatek,mt6589"
9 "mediatek,mt6592"
10 "mediatek,mt8127"
11 "mediatek,mt8135"
8 12
9 13
10Supported boards: 14Supported boards:
@@ -12,3 +16,12 @@ Supported boards:
12- bq Aquaris5 smart phone: 16- bq Aquaris5 smart phone:
13 Required root node properties: 17 Required root node properties:
14 - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589"; 18 - compatible = "mundoreader,bq-aquaris5", "mediatek,mt6589";
19- Evaluation board for MT6592:
20 Required root node properties:
21 - compatible = "mediatek,mt6592-evb", "mediatek,mt6592";
22- MTK mt8127 tablet moose EVB:
23 Required root node properties:
24 - compatible = "mediatek,mt8127-moose", "mediatek,mt8127";
25- MTK mt8135 tablet EVB:
26 Required root node properties:
27 - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135";
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt
new file mode 100644
index 000000000000..d680b07ec6e8
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt
@@ -0,0 +1,28 @@
1Mediatek 65xx/81xx sysirq
2
3Mediatek SOCs sysirq support controllable irq inverter for each GIC SPI
4interrupt.
5
6Required properties:
7- compatible: should be one of:
8 "mediatek,mt8135-sysirq"
9 "mediatek,mt8127-sysirq"
10 "mediatek,mt6589-sysirq"
11 "mediatek,mt6582-sysirq"
12 "mediatek,mt6577-sysirq"
13- interrupt-controller : Identifies the node as an interrupt controller
14- #interrupt-cells : Use the same format as specified by GIC in
15 Documentation/devicetree/bindings/arm/gic.txt
16- interrupt-parent: phandle of irq parent for sysirq. The parent must
17 use the same interrupt-cells format as GIC.
18- reg: Physical base address of the intpol registers and length of memory
19 mapped region.
20
21Example:
22 sysirq: interrupt-controller@10200100 {
23 compatible = "mediatek,mt6589-sysirq", "mediatek,mt6577-sysirq";
24 interrupt-controller;
25 #interrupt-cells = <3>;
26 interrupt-parent = <&gic>;
27 reg = <0 0x10200100 0 0x1c>;
28 };
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index ddd9bcdf889c..4f6a82cef1d1 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -132,6 +132,9 @@ Boards:
132- AM335X Bone : Low cost community board 132- AM335X Bone : Low cost community board
133 compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3" 133 compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"
134 134
135- AM335X OrionLXm : Substation Automation Platform
136 compatible = "novatech,am335x-lxm", "ti,am33xx"
137
135- OMAP5 EVM : Evaluation Module 138- OMAP5 EVM : Evaluation Module
136 compatible = "ti,omap5-evm", "ti,omap5" 139 compatible = "ti,omap5-evm", "ti,omap5"
137 140
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index 857f12636eb2..eaa3d1a0eb05 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -1,6 +1,10 @@
1Rockchip platforms device tree bindings 1Rockchip platforms device tree bindings
2--------------------------------------- 2---------------------------------------
3 3
4- MarsBoard RK3066 board:
5 Required root node properties:
6 - compatible = "haoyu,marsboard-rk3066", "rockchip,rk3066a";
7
4- bq Curie 2 tablet: 8- bq Curie 2 tablet:
5 Required root node properties: 9 Required root node properties:
6 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; 10 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
diff --git a/Documentation/devicetree/bindings/arm/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung-boards.txt
index 2168ed31e1b0..43589d2466a7 100644
--- a/Documentation/devicetree/bindings/arm/samsung-boards.txt
+++ b/Documentation/devicetree/bindings/arm/samsung-boards.txt
@@ -1,11 +1,20 @@
1* Samsung's Exynos4210 based SMDKV310 evaluation board 1* Samsung's Exynos SoC based boards
2
3SMDKV310 evaluation board is based on Samsung's Exynos4210 SoC.
4 2
5Required root node properties: 3Required root node properties:
6 - compatible = should be one or more of the following. 4 - compatible = should be one or more of the following.
7 (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board. 5 - "samsung,monk" - for Exynos3250-based Samsung Simband board.
8 (b) "samsung,exynos4210" - for boards based on Exynos4210 SoC. 6 - "samsung,rinato" - for Exynos3250-based Samsung Gear2 board.
7 - "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board.
8 - "samsung,trats" - for Exynos4210-based Tizen Reference board.
9 - "samsung,universal_c210" - for Exynos4210-based Samsung board.
10 - "samsung,smdk4412", - for Exynos4412-based Samsung SMDK4412 eval board.
11 - "samsung,trats2" - for Exynos4412-based Tizen Reference board.
12 - "samsung,smdk5250" - for Exynos5250-based Samsung SMDK5250 eval board.
13 - "samsung,xyref5260" - for Exynos5260-based Samsung board.
14 - "samsung,smdk5410" - for Exynos5410-based Samsung SMDK5410 eval board.
15 - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board.
16 - "samsung,sd5v1" - for Exynos5440-based Samsung board.
17 - "samsung,ssdk5440" - for Exynos5440-based Samsung board.
9 18
10Optional: 19Optional:
11 - firmware node, specifying presence and type of secure firmware: 20 - firmware node, specifying presence and type of secure firmware:
diff --git a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
index 709efaa30841..f46ca9a316a2 100644
--- a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
@@ -16,6 +16,8 @@ Required properties:
16 future controllers. 16 future controllers.
17 Must be "samsung,exynos3250-adc" for 17 Must be "samsung,exynos3250-adc" for
18 controllers compatible with ADC of Exynos3250. 18 controllers compatible with ADC of Exynos3250.
19 Must be "samsung,exynos7-adc" for
20 the ADC in Exynos7 and compatibles
19 Must be "samsung,s3c2410-adc" for 21 Must be "samsung,s3c2410-adc" for
20 the ADC in s3c2410 and compatibles 22 the ADC in s3c2410 and compatibles
21 Must be "samsung,s3c2416-adc" for 23 Must be "samsung,s3c2416-adc" for
@@ -43,13 +45,16 @@ Required properties:
43 compatible ADC block) 45 compatible ADC block)
44- vdd-supply VDD input supply. 46- vdd-supply VDD input supply.
45 47
48- samsung,syscon-phandle Contains the PMU system controller node
49 (To access the ADC_PHY register on Exynos5250/5420/5800/3250)
50
46Note: child nodes can be added for auto probing from device tree. 51Note: child nodes can be added for auto probing from device tree.
47 52
48Example: adding device info in dtsi file 53Example: adding device info in dtsi file
49 54
50adc: adc@12D10000 { 55adc: adc@12D10000 {
51 compatible = "samsung,exynos-adc-v1"; 56 compatible = "samsung,exynos-adc-v1";
52 reg = <0x12D10000 0x100>, <0x10040718 0x4>; 57 reg = <0x12D10000 0x100>;
53 interrupts = <0 106 0>; 58 interrupts = <0 106 0>;
54 #io-channel-cells = <1>; 59 #io-channel-cells = <1>;
55 io-channel-ranges; 60 io-channel-ranges;
@@ -58,13 +63,14 @@ adc: adc@12D10000 {
58 clock-names = "adc"; 63 clock-names = "adc";
59 64
60 vdd-supply = <&buck5_reg>; 65 vdd-supply = <&buck5_reg>;
66 samsung,syscon-phandle = <&pmu_system_controller>;
61}; 67};
62 68
63Example: adding device info in dtsi file for Exynos3250 with additional sclk 69Example: adding device info in dtsi file for Exynos3250 with additional sclk
64 70
65adc: adc@126C0000 { 71adc: adc@126C0000 {
66 compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2; 72 compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
67 reg = <0x126C0000 0x100>, <0x10020718 0x4>; 73 reg = <0x126C0000 0x100>;
68 interrupts = <0 137 0>; 74 interrupts = <0 137 0>;
69 #io-channel-cells = <1>; 75 #io-channel-cells = <1>;
70 io-channel-ranges; 76 io-channel-ranges;
@@ -73,6 +79,7 @@ adc: adc@126C0000 {
73 clock-names = "adc", "sclk"; 79 clock-names = "adc", "sclk";
74 80
75 vdd-supply = <&buck5_reg>; 81 vdd-supply = <&buck5_reg>;
82 samsung,syscon-phandle = <&pmu_system_controller>;
76}; 83};
77 84
78Example: Adding child nodes in dts file 85Example: Adding child nodes in dts file
diff --git a/Documentation/devicetree/bindings/arm/ste-nomadik.txt b/Documentation/devicetree/bindings/arm/ste-nomadik.txt
index 6256ec31666d..2fdff5a806cf 100644
--- a/Documentation/devicetree/bindings/arm/ste-nomadik.txt
+++ b/Documentation/devicetree/bindings/arm/ste-nomadik.txt
@@ -10,6 +10,12 @@ Required root node property: src
10 10
11Boards with the Nomadik SoC include: 11Boards with the Nomadik SoC include:
12 12
13Nomadik NHK-15 board manufactured by ST Microelectronics:
14
15Required root node property:
16
17compatible="st,nomadik-nhk-15";
18
13S8815 "MiniKit" manufactured by Calao Systems: 19S8815 "MiniKit" manufactured by Calao Systems:
14 20
15Required root node property: 21Required root node property:
diff --git a/Documentation/devicetree/bindings/arm/sunxi.txt b/Documentation/devicetree/bindings/arm/sunxi.txt
new file mode 100644
index 000000000000..42941fdefb11
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/sunxi.txt
@@ -0,0 +1,12 @@
1Allwinner sunXi Platforms Device Tree Bindings
2
3Each device tree must specify which Allwinner SoC it uses,
4using one of the following compatible strings:
5
6 allwinner,sun4i-a10
7 allwinner,sun5i-a10s
8 allwinner,sun5i-a13
9 allwinner,sun6i-a31
10 allwinner,sun7i-a20
11 allwinner,sun8i-a23
12 allwinner,sun9i-a80
diff --git a/Documentation/devicetree/bindings/arm/ux500/power_domain.txt b/Documentation/devicetree/bindings/arm/ux500/power_domain.txt
new file mode 100644
index 000000000000..5679d1742d3e
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/ux500/power_domain.txt
@@ -0,0 +1,35 @@
1* ST-Ericsson UX500 PM Domains
2
3UX500 supports multiple PM domains which are used to gate power to one or
4more peripherals on the SOC.
5
6The implementation of PM domains for UX500 are based upon the generic PM domain
7and use the corresponding DT bindings.
8
9==PM domain providers==
10
11Required properties:
12 - compatible: Must be "stericsson,ux500-pm-domains".
13 - #power-domain-cells : Number of cells in a power domain specifier, must be 1.
14
15Example:
16 pm_domains: pm_domains0 {
17 compatible = "stericsson,ux500-pm-domains";
18 #power-domain-cells = <1>;
19 };
20
21==PM domain consumers==
22
23Required properties:
24 - power-domains: A phandle and PM domain specifier. Below are the list of
25 valid specifiers:
26
27 Index Specifier
28 ----- ---------
29 0 DOMAIN_VAPE
30
31Example:
32 sdi0_per1@80126000 {
33 compatible = "arm,pl18x", "arm,primecell";
34 power-domains = <&pm_domains DOMAIN_VAPE>
35 };
diff --git a/Documentation/devicetree/bindings/ata/marvell.txt b/Documentation/devicetree/bindings/ata/marvell.txt
index 1c8351604d38..b460edd12766 100644
--- a/Documentation/devicetree/bindings/ata/marvell.txt
+++ b/Documentation/devicetree/bindings/ata/marvell.txt
@@ -6,11 +6,17 @@ Required Properties:
6- interrupts : Interrupt controller is using 6- interrupts : Interrupt controller is using
7- nr-ports : Number of SATA ports in use. 7- nr-ports : Number of SATA ports in use.
8 8
9Optional Properties:
10- phys : List of phandles to sata phys
11- phy-names : Should be "0", "1", etc, one number per phandle
12
9Example: 13Example:
10 14
11 sata@80000 { 15 sata@80000 {
12 compatible = "marvell,orion-sata"; 16 compatible = "marvell,orion-sata";
13 reg = <0x80000 0x5000>; 17 reg = <0x80000 0x5000>;
14 interrupts = <21>; 18 interrupts = <21>;
19 phys = <&sata_phy0>, <&sata_phy1>;
20 phy-names = "0", "1";
15 nr-ports = <2>; 21 nr-ports = <2>;
16 } 22 }
diff --git a/Documentation/devicetree/bindings/ata/sata_rcar.txt b/Documentation/devicetree/bindings/ata/sata_rcar.txt
index 1e6111333fa8..2493a5a31655 100644
--- a/Documentation/devicetree/bindings/ata/sata_rcar.txt
+++ b/Documentation/devicetree/bindings/ata/sata_rcar.txt
@@ -3,16 +3,21 @@
3Required properties: 3Required properties:
4- compatible : should contain one of the following: 4- compatible : should contain one of the following:
5 - "renesas,sata-r8a7779" for R-Car H1 5 - "renesas,sata-r8a7779" for R-Car H1
6 - "renesas,sata-r8a7790" for R-Car H2 6 ("renesas,rcar-sata" is deprecated)
7 - "renesas,sata-r8a7791" for R-Car M2 7 - "renesas,sata-r8a7790-es1" for R-Car H2 ES1
8 - "renesas,sata-r8a7790" for R-Car H2 other than ES1
9 - "renesas,sata-r8a7791" for R-Car M2-W
10 - "renesas,sata-r8a7793" for R-Car M2-N
8- reg : address and length of the SATA registers; 11- reg : address and length of the SATA registers;
9- interrupts : must consist of one interrupt specifier. 12- interrupts : must consist of one interrupt specifier.
13- clocks : must contain a reference to the functional clock.
10 14
11Example: 15Example:
12 16
13sata: sata@fc600000 { 17sata0: sata@ee300000 {
14 compatible = "renesas,sata-r8a7779"; 18 compatible = "renesas,sata-r8a7791";
15 reg = <0xfc600000 0x2000>; 19 reg = <0 0xee300000 0 0x2000>;
16 interrupt-parent = <&gic>; 20 interrupt-parent = <&gic>;
17 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; 21 interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
22 clocks = <&mstp8_clks R8A7791_CLK_SATA0>;
18}; 23};
diff --git a/Documentation/devicetree/bindings/btmrvl.txt b/Documentation/devicetree/bindings/btmrvl.txt
new file mode 100644
index 000000000000..58f964bb0a52
--- /dev/null
+++ b/Documentation/devicetree/bindings/btmrvl.txt
@@ -0,0 +1,29 @@
1btmrvl
2------
3
4Required properties:
5
6 - compatible : must be "btmrvl,cfgdata"
7
8Optional properties:
9
10 - btmrvl,cal-data : Calibration data downloaded to the device during
11 initialization. This is an array of 28 values(u8).
12
13 - btmrvl,gpio-gap : gpio and gap (in msecs) combination to be
14 configured.
15
16Example:
17
18GPIO pin 13 is configured as a wakeup source and GAP is set to 100 msecs
19in below example.
20
21btmrvl {
22 compatible = "btmrvl,cfgdata";
23
24 btmrvl,cal-data = /bits/ 8 <
25 0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
26 0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
27 0x00 0x00 0xf0 0x00>;
28 btmrvl,gpio-gap = <0x0d64>;
29};
diff --git a/Documentation/devicetree/bindings/bus/bcma.txt b/Documentation/devicetree/bindings/bus/bcma.txt
index 62a48348ac15..edd44d802139 100644
--- a/Documentation/devicetree/bindings/bus/bcma.txt
+++ b/Documentation/devicetree/bindings/bus/bcma.txt
@@ -8,6 +8,11 @@ Required properties:
8 8
9The cores on the AXI bus are automatically detected by bcma with the 9The cores on the AXI bus are automatically detected by bcma with the
10memory ranges they are using and they get registered afterwards. 10memory ranges they are using and they get registered afterwards.
11Automatic detection of the IRQ number is not working on
12BCM47xx/BCM53xx ARM SoCs. To assign IRQ numbers to the cores, provide
13them manually through device tree. Use an interrupt-map to specify the
14IRQ used by the devices on the bus. The first address is just an index,
15because we do not have any special register.
11 16
12The top-level axi bus may contain children representing attached cores 17The top-level axi bus may contain children representing attached cores
13(devices). This is needed since some hardware details can't be auto 18(devices). This is needed since some hardware details can't be auto
@@ -22,6 +27,22 @@ Example:
22 ranges = <0x00000000 0x18000000 0x00100000>; 27 ranges = <0x00000000 0x18000000 0x00100000>;
23 #address-cells = <1>; 28 #address-cells = <1>;
24 #size-cells = <1>; 29 #size-cells = <1>;
30 #interrupt-cells = <1>;
31 interrupt-map-mask = <0x000fffff 0xffff>;
32 interrupt-map =
33 /* Ethernet Controller 0 */
34 <0x00024000 0 &gic GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
35
36 /* Ethernet Controller 1 */
37 <0x00025000 0 &gic GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
38
39 /* PCIe Controller 0 */
40 <0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
41 <0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
42 <0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>,
43 <0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>,
44 <0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
45 <0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
25 46
26 chipcommon { 47 chipcommon {
27 reg = <0x00000000 0x1000>; 48 reg = <0x00000000 0x1000>;
diff --git a/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt b/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
index e2d501d20c9a..1eceefb20f01 100644
--- a/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
+++ b/Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
@@ -2,7 +2,11 @@ Broadcom GISB bus Arbiter controller
2 2
3Required properties: 3Required properties:
4 4
5- compatible: should be "brcm,gisb-arb" 5- compatible:
6 "brcm,gisb-arb" or "brcm,bcm7445-gisb-arb" for 28nm chips
7 "brcm,bcm7435-gisb-arb" for newer 40nm chips
8 "brcm,bcm7400-gisb-arb" for older 40nm chips and all 65nm chips
9 "brcm,bcm7038-gisb-arb" for 130nm chips
6- reg: specifies the base physical address and size of the registers 10- reg: specifies the base physical address and size of the registers
7- interrupt-parent: specifies the phandle to the parent interrupt controller 11- interrupt-parent: specifies the phandle to the parent interrupt controller
8 this arbiter gets interrupt line from 12 this arbiter gets interrupt line from
diff --git a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
index 5fa44f52a0b8..5e16c3ccb061 100644
--- a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
+++ b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
@@ -48,9 +48,12 @@ Required properties:
48- compatible: Should be set to "marvell,mbus-controller". 48- compatible: Should be set to "marvell,mbus-controller".
49 49
50- reg: Device's register space. 50- reg: Device's register space.
51 Two entries are expected (see the examples below): 51 Two or three entries are expected (see the examples below):
52 the first one controls the devices decoding window and 52 the first one controls the devices decoding window,
53 the second one controls the SDRAM decoding window. 53 the second one controls the SDRAM decoding window and
54 the third controls the MBus bridge (only with the
55 marvell,armada370-mbus and marvell,armadaxp-mbus
56 compatible strings)
54 57
55Example: 58Example:
56 59
@@ -67,7 +70,7 @@ Example:
67 70
68 mbusc: mbus-controller@20000 { 71 mbusc: mbus-controller@20000 {
69 compatible = "marvell,mbus-controller"; 72 compatible = "marvell,mbus-controller";
70 reg = <0x20000 0x100>, <0x20180 0x20>; 73 reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>;
71 }; 74 };
72 75
73 /* more children ...*/ 76 /* more children ...*/
@@ -126,7 +129,7 @@ are skipped.
126 129
127 mbusc: mbus-controller@20000 { 130 mbusc: mbus-controller@20000 {
128 compatible = "marvell,mbus-controller"; 131 compatible = "marvell,mbus-controller";
129 reg = <0x20000 0x100>, <0x20180 0x20>; 132 reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>;
130 }; 133 };
131 134
132 /* more children ...*/ 135 /* more children ...*/
@@ -170,7 +173,7 @@ Using this macro, the above example would be:
170 173
171 mbusc: mbus-controller@20000 { 174 mbusc: mbus-controller@20000 {
172 compatible = "marvell,mbus-controller"; 175 compatible = "marvell,mbus-controller";
173 reg = <0x20000 0x100>, <0x20180 0x20>; 176 reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>;
174 }; 177 };
175 178
176 /* other children */ 179 /* other children */
@@ -266,7 +269,7 @@ See the example below, where a more complete device tree is shown:
266 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>; 269 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
267 270
268 mbusc: mbus-controller@20000 { 271 mbusc: mbus-controller@20000 {
269 reg = <0x20000 0x100>, <0x20180 0x20>; 272 reg = <0x20000 0x100>, <0x20180 0x20>, <0x20250 0x8>;
270 }; 273 };
271 274
272 interrupt-controller@20000 { 275 interrupt-controller@20000 {
diff --git a/Documentation/devicetree/bindings/chosen.txt b/Documentation/devicetree/bindings/chosen.txt
new file mode 100644
index 000000000000..ed838f453f7a
--- /dev/null
+++ b/Documentation/devicetree/bindings/chosen.txt
@@ -0,0 +1,46 @@
1The chosen node
2---------------
3
4The chosen node does not represent a real device, but serves as a place
5for passing data between firmware and the operating system, like boot
6arguments. Data in the chosen node does not represent the hardware.
7
8
9stdout-path property
10--------------------
11
12Device trees may specify the device to be used for boot console output
13with a stdout-path property under /chosen, as described in ePAPR, e.g.
14
15/ {
16 chosen {
17 stdout-path = "/serial@f00:115200";
18 };
19
20 serial@f00 {
21 compatible = "vendor,some-uart";
22 reg = <0xf00 0x10>;
23 };
24};
25
26If the character ":" is present in the value, this terminates the path.
27The meaning of any characters following the ":" is device-specific, and
28must be specified in the relevant binding documentation.
29
30For UART devices, the preferred binding is a string in the form:
31
32 <baud>{<parity>{<bits>{<flow>}}}
33
34where
35
36 baud - baud rate in decimal
37 parity - 'n' (none), 'o', (odd) or 'e' (even)
38 bits - number of data bits
39 flow - 'r' (rts)
40
41For example: 115200n8r
42
43Implementation note: Linux will look for the property "linux,stdout-path" or
44on PowerPC "stdout" if "stdout-path" is not found. However, the
45"linux,stdout-path" and "stdout" properties are deprecated. New platforms
46should only use the "stdout-path" property.
diff --git a/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt b/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt
new file mode 100644
index 000000000000..00d26edec8bc
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/bcm-cygnus-clock.txt
@@ -0,0 +1,34 @@
1Broadcom Cygnus Clocks
2
3This binding uses the common clock binding:
4Documentation/devicetree/bindings/clock/clock-bindings.txt
5
6Currently various "fixed" clocks are declared for peripheral drivers that use
7the common clock framework to reference their core clocks. Proper support of
8these clocks will be added later
9
10Device tree example:
11
12 clocks {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges;
16
17 osc: oscillator {
18 compatible = "fixed-clock";
19 #clock-cells = <1>;
20 clock-frequency = <25000000>;
21 };
22
23 apb_clk: apb_clk {
24 compatible = "fixed-clock";
25 #clock-cells = <0>;
26 clock-frequency = <1000000000>;
27 };
28
29 periph_clk: periph_clk {
30 compatible = "fixed-clock";
31 #clock-cells = <0>;
32 clock-frequency = <500000000>;
33 };
34 };
diff --git a/Documentation/devicetree/bindings/clock/qoriq-clock.txt b/Documentation/devicetree/bindings/clock/qoriq-clock.txt
index 5666812fc42b..266ff9d23229 100644
--- a/Documentation/devicetree/bindings/clock/qoriq-clock.txt
+++ b/Documentation/devicetree/bindings/clock/qoriq-clock.txt
@@ -62,6 +62,8 @@ Required properties:
62 It takes parent's clock-frequency as its clock. 62 It takes parent's clock-frequency as its clock.
63 * "fsl,qoriq-sysclk-2.0": for input system clock (v2.0). 63 * "fsl,qoriq-sysclk-2.0": for input system clock (v2.0).
64 It takes parent's clock-frequency as its clock. 64 It takes parent's clock-frequency as its clock.
65 * "fsl,qoriq-platform-pll-1.0" for the platform PLL clock (v1.0)
66 * "fsl,qoriq-platform-pll-2.0" for the platform PLL clock (v2.0)
65- #clock-cells: From common clock binding. The number of cells in a 67- #clock-cells: From common clock binding. The number of cells in a
66 clock-specifier. Should be <0> for "fsl,qoriq-sysclk-[1,2].0" 68 clock-specifier. Should be <0> for "fsl,qoriq-sysclk-[1,2].0"
67 clocks, or <1> for "fsl,qoriq-core-pll-[1,2].0" clocks. 69 clocks, or <1> for "fsl,qoriq-core-pll-[1,2].0" clocks.
@@ -128,8 +130,16 @@ Example for clock block and clock provider:
128 clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; 130 clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2";
129 clock-output-names = "cmux1"; 131 clock-output-names = "cmux1";
130 }; 132 };
133
134 platform-pll: platform-pll@c00 {
135 #clock-cells = <1>;
136 reg = <0xc00 0x4>;
137 compatible = "fsl,qoriq-platform-pll-1.0";
138 clocks = <&sysclk>;
139 clock-output-names = "platform-pll", "platform-pll-div2";
140 };
131 }; 141 };
132 } 142};
133 143
134Example for clock consumer: 144Example for clock consumer:
135 145
@@ -139,4 +149,4 @@ Example for clock consumer:
139 clocks = <&mux0>; 149 clocks = <&mux0>;
140 ... 150 ...
141 }; 151 };
142 } 152};
diff --git a/Documentation/devicetree/bindings/clock/st/st,flexgen.txt b/Documentation/devicetree/bindings/clock/st/st,flexgen.txt
index 1d3ace088172..b7ee5c7e0f75 100644
--- a/Documentation/devicetree/bindings/clock/st/st,flexgen.txt
+++ b/Documentation/devicetree/bindings/clock/st/st,flexgen.txt
@@ -11,7 +11,7 @@ Please find an example below:
11 11
12 Clockgen block diagram 12 Clockgen block diagram
13 ------------------------------------------------------------------- 13 -------------------------------------------------------------------
14 | Flexgen stucture | 14 | Flexgen structure |
15 | --------------------------------------------- | 15 | --------------------------------------------- |
16 | | ------- -------- -------- | | 16 | | ------- -------- -------- | |
17clk_sysin | | | | | | | | | 17clk_sysin | | | | | | | | |
diff --git a/Documentation/devicetree/bindings/clock/vf610-clock.txt b/Documentation/devicetree/bindings/clock/vf610-clock.txt
index c80863d344ac..63f9f1ac3439 100644
--- a/Documentation/devicetree/bindings/clock/vf610-clock.txt
+++ b/Documentation/devicetree/bindings/clock/vf610-clock.txt
@@ -5,6 +5,19 @@ Required properties:
5- reg: Address and length of the register set 5- reg: Address and length of the register set
6- #clock-cells: Should be <1> 6- #clock-cells: Should be <1>
7 7
8Optional properties:
9- clocks: list of clock identifiers which are external input clocks to the
10 given clock controller. Please refer the next section to find
11 the input clocks for a given controller.
12- clock-names: list of names of clocks which are exteral input clocks to the
13 given clock controller.
14
15Input clocks for top clock controller:
16 - sxosc (external crystal oscillator 32KHz, recommended)
17 - fxosc (external crystal oscillator 24MHz, recommended)
18 - audio_ext
19 - enet_ext
20
8The clock consumer should specify the desired clock by having the clock 21The clock consumer should specify the desired clock by having the clock
9ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h 22ID in its "clocks" phandle cell. See include/dt-bindings/clock/vf610-clock.h
10for the full list of VF610 clock IDs. 23for the full list of VF610 clock IDs.
@@ -15,6 +28,8 @@ clks: ccm@4006b000 {
15 compatible = "fsl,vf610-ccm"; 28 compatible = "fsl,vf610-ccm";
16 reg = <0x4006b000 0x1000>; 29 reg = <0x4006b000 0x1000>;
17 #clock-cells = <1>; 30 #clock-cells = <1>;
31 clocks = <&sxosc>, <&fxosc>;
32 clock-names = "sxosc", "fxosc";
18}; 33};
19 34
20uart1: serial@40028000 { 35uart1: serial@40028000 {
diff --git a/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt b/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt
index 5c65eccd0e56..e8a35c71e947 100644
--- a/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt
+++ b/Documentation/devicetree/bindings/crypto/fsl-imx-sahara.txt
@@ -1,5 +1,5 @@
1Freescale SAHARA Cryptographic Accelerator included in some i.MX chips. 1Freescale SAHARA Cryptographic Accelerator included in some i.MX chips.
2Currently only i.MX27 is supported. 2Currently only i.MX27 and i.MX53 are supported.
3 3
4Required properties: 4Required properties:
5- compatible : Should be "fsl,<soc>-sahara" 5- compatible : Should be "fsl,<soc>-sahara"
diff --git a/Documentation/devicetree/bindings/dma/atmel-xdma.txt b/Documentation/devicetree/bindings/dma/atmel-xdma.txt
new file mode 100644
index 000000000000..0eb2b3207e08
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/atmel-xdma.txt
@@ -0,0 +1,54 @@
1* Atmel Extensible Direct Memory Access Controller (XDMAC)
2
3* XDMA Controller
4Required properties:
5- compatible: Should be "atmel,<chip>-dma".
6 <chip> compatible description:
7 - sama5d4: first SoC adding the XDMAC
8- reg: Should contain DMA registers location and length.
9- interrupts: Should contain DMA interrupt.
10- #dma-cells: Must be <1>, used to represent the number of integer cells in
11the dmas property of client devices.
12 - The 1st cell specifies the channel configuration register:
13 - bit 13: SIF, source interface identifier, used to get the memory
14 interface identifier,
15 - bit 14: DIF, destination interface identifier, used to get the peripheral
16 interface identifier,
17 - bit 30-24: PERID, peripheral identifier.
18
19Example:
20
21dma1: dma-controller@f0004000 {
22 compatible = "atmel,sama5d4-dma";
23 reg = <0xf0004000 0x200>;
24 interrupts = <50 4 0>;
25 #dma-cells = <1>;
26};
27
28
29* DMA clients
30DMA clients connected to the Atmel XDMA controller must use the format
31described in the dma.txt file, using a one-cell specifier for each channel.
32The two cells in order are:
331. A phandle pointing to the DMA controller.
342. Channel configuration register. Configurable fields are:
35 - bit 13: SIF, source interface identifier, used to get the memory
36 interface identifier,
37 - bit 14: DIF, destination interface identifier, used to get the peripheral
38 interface identifier,
39 - bit 30-24: PERID, peripheral identifier.
40
41Example:
42
43i2c2: i2c@f8024000 {
44 compatible = "atmel,at91sam9x5-i2c";
45 reg = <0xf8024000 0x4000>;
46 interrupts = <34 4 6>;
47 dmas = <&dma1
48 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
49 | AT91_XDMAC_DT_PERID(6))>,
50 <&dma1
51 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
52 | AT91_XDMAC_DT_PERID(7))>;
53 dma-names = "tx", "rx";
54};
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index 4659fd952301..dc8d3aac1aa9 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -48,6 +48,7 @@ The full ID of peripheral types can be found below.
48 21 ESAI 48 21 ESAI
49 22 SSI Dual FIFO (needs firmware ver >= 2) 49 22 SSI Dual FIFO (needs firmware ver >= 2)
50 23 Shared ASRC 50 23 Shared ASRC
51 24 SAI
51 52
52The third cell specifies the transfer priority as below. 53The third cell specifies the transfer priority as below.
53 54
diff --git a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
index d75a9d767022..f8c3311b7153 100644
--- a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
+++ b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
@@ -1,7 +1,9 @@
1QCOM BAM DMA controller 1QCOM BAM DMA controller
2 2
3Required properties: 3Required properties:
4- compatible: must contain "qcom,bam-v1.4.0" for MSM8974 4- compatible: must be one of the following:
5 * "qcom,bam-v1.4.0" for MSM8974, APQ8074 and APQ8084
6 * "qcom,bam-v1.3.0" for APQ8064, IPQ8064 and MSM8960
5- reg: Address range for DMA registers 7- reg: Address range for DMA registers
6- interrupts: Should contain the one interrupt shared by all channels 8- interrupts: Should contain the one interrupt shared by all channels
7- #dma-cells: must be <1>, the cell in the dmas property of the client device 9- #dma-cells: must be <1>, the cell in the dmas property of the client device
diff --git a/Documentation/devicetree/bindings/dma/sun6i-dma.txt b/Documentation/devicetree/bindings/dma/sun6i-dma.txt
index 3e145c1675b1..9cdcba24d7c3 100644
--- a/Documentation/devicetree/bindings/dma/sun6i-dma.txt
+++ b/Documentation/devicetree/bindings/dma/sun6i-dma.txt
@@ -4,7 +4,7 @@ This driver follows the generic DMA bindings defined in dma.txt.
4 4
5Required properties: 5Required properties:
6 6
7- compatible: Must be "allwinner,sun6i-a31-dma" 7- compatible: Must be "allwinner,sun6i-a31-dma" or "allwinner,sun8i-a23-dma"
8- reg: Should contain the registers base address and length 8- reg: Should contain the registers base address and length
9- interrupts: Should contain a reference to the interrupt used by this device 9- interrupts: Should contain a reference to the interrupt used by this device
10- clocks: Should contain a reference to the parent AHB clock 10- clocks: Should contain a reference to the parent AHB clock
diff --git a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt b/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt
index 1405ed071bb4..e4c4d47f8137 100644
--- a/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt
+++ b/Documentation/devicetree/bindings/dma/xilinx/xilinx_vdma.txt
@@ -25,7 +25,7 @@ Required child node properties:
25- compatible: It should be either "xlnx,axi-vdma-mm2s-channel" or 25- compatible: It should be either "xlnx,axi-vdma-mm2s-channel" or
26 "xlnx,axi-vdma-s2mm-channel". 26 "xlnx,axi-vdma-s2mm-channel".
27- interrupts: Should contain per channel VDMA interrupts. 27- interrupts: Should contain per channel VDMA interrupts.
28- xlnx,data-width: Should contain the stream data width, take values 28- xlnx,datawidth: Should contain the stream data width, take values
29 {32,64...1024}. 29 {32,64...1024}.
30 30
31Optional child node properties: 31Optional child node properties:
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt b/Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt
index e75f0e549fff..e75f0e549fff 100644
--- a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt
+++ b/Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt b/Documentation/devicetree/bindings/drm/imx/hdmi.txt
index 1b756cf9afb0..1b756cf9afb0 100644
--- a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt
+++ b/Documentation/devicetree/bindings/drm/imx/hdmi.txt
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/drm/imx/ldb.txt
index 443bcb6134d5..443bcb6134d5 100644
--- a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt
+++ b/Documentation/devicetree/bindings/drm/imx/ldb.txt
diff --git a/Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt b/Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt
new file mode 100644
index 000000000000..7bb1a9d60133
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-74xx-mmio.txt
@@ -0,0 +1,30 @@
1* 74XX MMIO GPIO driver
2
3Required properties:
4- compatible: Should contain one of the following:
5 "ti,741g125": for 741G125 (1-bit Input),
6 "ti,741g174": for 741G74 (1-bit Output),
7 "ti,742g125": for 742G125 (2-bit Input),
8 "ti,7474" : for 7474 (2-bit Output),
9 "ti,74125" : for 74125 (4-bit Input),
10 "ti,74175" : for 74175 (4-bit Output),
11 "ti,74365" : for 74365 (6-bit Input),
12 "ti,74174" : for 74174 (6-bit Output),
13 "ti,74244" : for 74244 (8-bit Input),
14 "ti,74273" : for 74273 (8-bit Output),
15 "ti,741624" : for 741624 (16-bit Input),
16 "ti,7416374": for 7416374 (16-bit Output).
17- reg: Physical base address and length where IC resides.
18- gpio-controller: Marks the device node as a gpio controller.
19- #gpio-cells: Should be two. The first cell is the pin number and
20 the second cell is used to specify the GPIO polarity:
21 0 = Active High,
22 1 = Active Low.
23
24Example:
25 ctrl: gpio@30008004 {
26 compatible = "ti,74174";
27 reg = <0x30008004 0x1>;
28 gpio-controller;
29 #gpio-cells = <2>;
30 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
index c306a2d0f2b1..f3332b9a8ed4 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
@@ -57,6 +57,8 @@ Optional device specific properties:
57 occurred on. If it is not set, the interrupt are only generated for the 57 occurred on. If it is not set, the interrupt are only generated for the
58 bank they belong to. 58 bank they belong to.
59 On devices with only one interrupt output this property is useless. 59 On devices with only one interrupt output this property is useless.
60- microchip,irq-active-high: Sets the INTPOL flag in the IOCON register. This
61 configures the IRQ output polarity as active high.
60 62
61Example I2C (with interrupt): 63Example I2C (with interrupt):
62gpiom1: gpio@20 { 64gpiom1: gpio@20 {
diff --git a/Documentation/devicetree/bindings/gpio/gpio-vf610.txt b/Documentation/devicetree/bindings/gpio/gpio-vf610.txt
new file mode 100644
index 000000000000..436cc99c6598
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-vf610.txt
@@ -0,0 +1,55 @@
1* Freescale VF610 PORT/GPIO module
2
3The Freescale PORT/GPIO modules are two adjacent modules providing GPIO
4functionality. Each pair serves 32 GPIOs. The VF610 has 5 instances of
5each, and each PORT module has its own interrupt.
6
7Required properties for GPIO node:
8- compatible : Should be "fsl,<soc>-gpio", currently "fsl,vf610-gpio"
9- reg : The first reg tuple represents the PORT module, the second tuple
10 the GPIO module.
11- interrupts : Should be the port interrupt shared by all 32 pins.
12- gpio-controller : Marks the device node as a gpio controller.
13- #gpio-cells : Should be two. The first cell is the pin number and
14 the second cell is used to specify the gpio polarity:
15 0 = active high
16 1 = active low
17- interrupt-controller: Marks the device node as an interrupt controller.
18- #interrupt-cells : Should be 2. The first cell is the GPIO number.
19 The second cell bits[3:0] is used to specify trigger type and level flags:
20 1 = low-to-high edge triggered.
21 2 = high-to-low edge triggered.
22 4 = active high level-sensitive.
23 8 = active low level-sensitive.
24
25Note: Each GPIO port should have an alias correctly numbered in "aliases"
26node.
27
28Examples:
29
30aliases {
31 gpio0 = &gpio1;
32 gpio1 = &gpio2;
33};
34
35gpio1: gpio@40049000 {
36 compatible = "fsl,vf610-gpio";
37 reg = <0x40049000 0x1000 0x400ff000 0x40>;
38 interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
39 gpio-controller;
40 #gpio-cells = <2>;
41 interrupt-controller;
42 #interrupt-cells = <2>;
43 gpio-ranges = <&iomuxc 0 0 32>;
44};
45
46gpio2: gpio@4004a000 {
47 compatible = "fsl,vf610-gpio";
48 reg = <0x4004a000 0x1000 0x400ff040 0x40>;
49 interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
50 gpio-controller;
51 #gpio-cells = <2>;
52 interrupt-controller;
53 #interrupt-cells = <2>;
54 gpio-ranges = <&iomuxc 0 32 32>;
55};
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index 3fb8f53071b8..b9bd1d64cfa6 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -13,13 +13,22 @@ properties, each containing a 'gpio-list':
13 gpio-specifier : Array of #gpio-cells specifying specific gpio 13 gpio-specifier : Array of #gpio-cells specifying specific gpio
14 (controller specific) 14 (controller specific)
15 15
16GPIO properties should be named "[<name>-]gpios". The exact 16GPIO properties should be named "[<name>-]gpios", with <name> being the purpose
17meaning of each gpios property must be documented in the device tree 17of this GPIO for the device. While a non-existent <name> is considered valid
18binding for each device. 18for compatibility reasons (resolving to the "gpios" property), it is not allowed
19for new bindings.
19 20
20For example, the following could be used to describe GPIO pins used 21GPIO properties can contain one or more GPIO phandles, but only in exceptional
21as chip select lines; with chip selects 0, 1 and 3 populated, and chip 22cases should they contain more than one. If your device uses several GPIOs with
22select 2 left empty: 23distinct functions, reference each of them under its own property, giving it a
24meaningful name. The only case where an array of GPIOs is accepted is when
25several GPIOs serve the same function (e.g. a parallel data line).
26
27The exact purpose of each gpios property must be documented in the device tree
28binding of the device.
29
30The following example could be used to describe GPIO pins used as device enable
31and bit-banged data signals:
23 32
24 gpio1: gpio1 { 33 gpio1: gpio1 {
25 gpio-controller 34 gpio-controller
@@ -30,10 +39,12 @@ select 2 left empty:
30 #gpio-cells = <1>; 39 #gpio-cells = <1>;
31 }; 40 };
32 [...] 41 [...]
33 chipsel-gpios = <&gpio1 12 0>, 42
34 <&gpio1 13 0>, 43 enable-gpios = <&gpio2 2>;
35 <0>, /* holes are permitted, means no GPIO 2 */ 44 data-gpios = <&gpio1 12 0>,
36 <&gpio2 2>; 45 <&gpio1 13 0>,
46 <&gpio1 14 0>,
47 <&gpio1 15 0>;
37 48
38Note that gpio-specifier length is controller dependent. In the 49Note that gpio-specifier length is controller dependent. In the
39above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2 50above example, &gpio1 uses 2 cells to specify a gpio, while &gpio2
@@ -42,16 +53,17 @@ only uses one.
42gpio-specifier may encode: bank, pin position inside the bank, 53gpio-specifier may encode: bank, pin position inside the bank,
43whether pin is open-drain and whether pin is logically inverted. 54whether pin is open-drain and whether pin is logically inverted.
44Exact meaning of each specifier cell is controller specific, and must 55Exact meaning of each specifier cell is controller specific, and must
45be documented in the device tree binding for the device. 56be documented in the device tree binding for the device. Use the macros
57defined in include/dt-bindings/gpio/gpio.h whenever possible:
46 58
47Example of a node using GPIOs: 59Example of a node using GPIOs:
48 60
49 node { 61 node {
50 gpios = <&qe_pio_e 18 0>; 62 enable-gpios = <&qe_pio_e 18 GPIO_ACTIVE_HIGH>;
51 }; 63 };
52 64
53In this example gpio-specifier is "18 0" and encodes GPIO pin number, 65GPIO_ACTIVE_HIGH is 0, so in this example gpio-specifier is "18 0" and encodes
54and GPIO flags as accepted by the "qe_pio_e" gpio-controller. 66GPIO pin number, and GPIO flags as accepted by the "qe_pio_e" gpio-controller.
55 67
561.1) GPIO specifier best practices 681.1) GPIO specifier best practices
57---------------------------------- 69----------------------------------
diff --git a/Documentation/devicetree/bindings/gpio/pl061-gpio.txt b/Documentation/devicetree/bindings/gpio/pl061-gpio.txt
index a2c416bcbccc..89058d375b7c 100644
--- a/Documentation/devicetree/bindings/gpio/pl061-gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/pl061-gpio.txt
@@ -7,4 +7,4 @@ Required properties:
7 - bit 0 specifies polarity (0 for normal, 1 for inverted) 7 - bit 0 specifies polarity (0 for normal, 1 for inverted)
8- gpio-controller : Marks the device node as a GPIO controller. 8- gpio-controller : Marks the device node as a GPIO controller.
9- interrupts : Interrupt mapping for GPIO IRQ. 9- interrupts : Interrupt mapping for GPIO IRQ.
10 10- gpio-ranges : Interaction with the PINCTRL subsystem.
diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
index 941a26aa4322..38fb86f28ba2 100644
--- a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
+++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
@@ -6,7 +6,9 @@ Required Properties:
6 - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller. 6 - "renesas,gpio-r8a7778": for R8A7778 (R-Mobile M1) compatible GPIO controller.
7 - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. 7 - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller.
8 - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. 8 - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller.
9 - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2) compatible GPIO controller. 9 - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2-W) compatible GPIO controller.
10 - "renesas,gpio-r8a7793": for R8A7793 (R-Car M2-N) compatible GPIO controller.
11 - "renesas,gpio-r8a7794": for R8A7794 (R-Car E2) compatible GPIO controller.
10 - "renesas,gpio-rcar": for generic R-Car GPIO controller. 12 - "renesas,gpio-rcar": for generic R-Car GPIO controller.
11 13
12 - reg: Base address and length of each memory resource used by the GPIO 14 - reg: Base address and length of each memory resource used by the GPIO
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
index b48f4ef31d93..4c32ef0b7db8 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
@@ -191,6 +191,8 @@ of the following host1x client modules:
191 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection 191 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
192 - nvidia,edid: supplies a binary EDID blob 192 - nvidia,edid: supplies a binary EDID blob
193 - nvidia,panel: phandle of a display panel 193 - nvidia,panel: phandle of a display panel
194 - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang
195 up with in order to support up to 8 data lanes
194 196
195- sor: serial output resource 197- sor: serial output resource
196 198
diff --git a/Documentation/devicetree/bindings/gpu/st,stih4xx.txt b/Documentation/devicetree/bindings/gpu/st,stih4xx.txt
index 2d150c311a05..c99eb34e640b 100644
--- a/Documentation/devicetree/bindings/gpu/st,stih4xx.txt
+++ b/Documentation/devicetree/bindings/gpu/st,stih4xx.txt
@@ -68,7 +68,7 @@ STMicroelectronics stih4xx platforms
68 number of clocks may depend of the SoC type. 68 number of clocks may depend of the SoC type.
69 - clock-names: names of the clocks listed in clocks property in the same 69 - clock-names: names of the clocks listed in clocks property in the same
70 order. 70 order.
71 - hdmi,hpd-gpio: gpio id to detect if an hdmi cable is plugged or not. 71 - ddc: phandle of an I2C controller used for DDC EDID probing
72 72
73sti-hda: 73sti-hda:
74 Required properties: 74 Required properties:
@@ -83,6 +83,22 @@ sti-hda:
83 - clock-names: names of the clocks listed in clocks property in the same 83 - clock-names: names of the clocks listed in clocks property in the same
84 order. 84 order.
85 85
86sti-hqvdp:
87 must be a child of sti-display-subsystem
88 Required properties:
89 - compatible: "st,stih<chip>-hqvdp"
90 - reg: Physical base address of the IP registers and length of memory mapped region.
91 - clocks: from common clock binding: handle hardware IP needed clocks, the
92 number of clocks may depend of the SoC type.
93 See ../clocks/clock-bindings.txt for details.
94 - clock-names: names of the clocks listed in clocks property in the same
95 order.
96 - resets: resets to be used by the device
97 See ../reset/reset.txt for details.
98 - reset-names: names of the resets listed in resets property in the same
99 order.
100 - st,vtg: phandle on vtg main device node.
101
86Example: 102Example:
87 103
88/ { 104/ {
@@ -173,7 +189,6 @@ Example:
173 interrupt-names = "irq"; 189 interrupt-names = "irq";
174 clock-names = "pix", "tmds", "phy", "audio"; 190 clock-names = "pix", "tmds", "phy", "audio";
175 clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>; 191 clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>;
176 hdmi,hpd-gpio = <&PIO2 5>;
177 }; 192 };
178 193
179 sti-hda@fe85a000 { 194 sti-hda@fe85a000 {
@@ -184,6 +199,16 @@ Example:
184 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; 199 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;
185 }; 200 };
186 }; 201 };
202
203 sti-hqvdp@9c000000 {
204 compatible = "st,stih407-hqvdp";
205 reg = <0x9C00000 0x100000>;
206 clock-names = "hqvdp", "pix_main";
207 clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>, <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>;
208 reset-names = "hqvdp";
209 resets = <&softreset STIH407_HDQVDP_SOFTRESET>;
210 st,vtg = <&vtg_main>;
211 };
187 }; 212 };
188 ... 213 ...
189}; 214};
diff --git a/Documentation/devicetree/bindings/hwmon/ltc2978.txt b/Documentation/devicetree/bindings/hwmon/ltc2978.txt
new file mode 100644
index 000000000000..ed2f09dc2483
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/ltc2978.txt
@@ -0,0 +1,39 @@
1ltc2978
2
3Required properties:
4- compatible: should contain one of:
5 * "lltc,ltc2974"
6 * "lltc,ltc2977"
7 * "lltc,ltc2978"
8 * "lltc,ltc3880"
9 * "lltc,ltc3883"
10 * "lltc,ltm4676"
11- reg: I2C slave address
12
13Optional properties:
14- regulators: A node that houses a sub-node for each regulator controlled by
15 the device. Each sub-node is identified using the node's name, with valid
16 values listed below. The content of each sub-node is defined by the
17 standard binding for regulators; see regulator.txt.
18
19Valid names of regulators depend on number of supplies supported per device:
20 * ltc2974 : vout0 - vout3
21 * ltc2977 : vout0 - vout7
22 * ltc2978 : vout0 - vout7
23 * ltc3880 : vout0 - vout1
24 * ltc3883 : vout0
25 * ltm4676 : vout0 - vout1
26
27Example:
28ltc2978@5e {
29 compatible = "lltc,ltc2978";
30 reg = <0x5e>;
31 regulators {
32 vout0 {
33 regulator-name = "FPGA-2.5V";
34 };
35 vout2 {
36 regulator-name = "FPGA-1.5V";
37 };
38 };
39};
diff --git a/Documentation/devicetree/bindings/hwrng/atmel-trng.txt b/Documentation/devicetree/bindings/hwrng/atmel-trng.txt
new file mode 100644
index 000000000000..4ac5aaa2d024
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwrng/atmel-trng.txt
@@ -0,0 +1,16 @@
1Atmel TRNG (True Random Number Generator) block
2
3Required properties:
4- compatible : Should be "atmel,at91sam9g45-trng"
5- reg : Offset and length of the register set of this block
6- interrupts : the interrupt number for the TRNG block
7- clocks: should contain the TRNG clk source
8
9Example:
10
11trng@fffcc000 {
12 compatible = "atmel,at91sam9g45-trng";
13 reg = <0xfffcc000 0x4000>;
14 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
15 clocks = <&trng_clk>;
16};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-designware.txt b/Documentation/devicetree/bindings/i2c/i2c-designware.txt
index 5199b0c8cf7a..fee26dc3e858 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-designware.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-designware.txt
@@ -14,10 +14,10 @@ Optional properties :
14 - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds. 14 - i2c-sda-hold-time-ns : should contain the SDA hold time in nanoseconds.
15 This option is only supported in hardware blocks version 1.11a or newer. 15 This option is only supported in hardware blocks version 1.11a or newer.
16 16
17 - i2c-scl-falling-time : should contain the SCL falling time in nanoseconds. 17 - i2c-scl-falling-time-ns : should contain the SCL falling time in nanoseconds.
18 This value which is by default 300ns is used to compute the tLOW period. 18 This value which is by default 300ns is used to compute the tLOW period.
19 19
20 - i2c-sda-falling-time : should contain the SDA falling time in nanoseconds. 20 - i2c-sda-falling-time-ns : should contain the SDA falling time in nanoseconds.
21 This value which is by default 300ns is used to compute the tHIGH period. 21 This value which is by default 300ns is used to compute the tHIGH period.
22 22
23Example : 23Example :
diff --git a/Documentation/devicetree/bindings/i2c/i2c-img-scb.txt b/Documentation/devicetree/bindings/i2c/i2c-img-scb.txt
new file mode 100644
index 000000000000..b6461602dca5
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-img-scb.txt
@@ -0,0 +1,26 @@
1IMG Serial Control Bus (SCB) I2C Controller
2
3Required Properties:
4- compatible: "img,scb-i2c"
5- reg: Physical base address and length of controller registers
6- interrupts: Interrupt number used by the controller
7- clocks : Should contain a clock specifier for each entry in clock-names
8- clock-names : Should contain the following entries:
9 "scb", for the SCB core clock.
10 "sys", for the system clock.
11- clock-frequency: The I2C bus frequency in Hz
12- #address-cells: Should be <1>
13- #size-cells: Should be <0>
14
15Example:
16
17i2c@18100000 {
18 compatible = "img,scb-i2c";
19 reg = <0x18100000 0x200>;
20 interrupts = <GIC_SHARED 2 IRQ_TYPE_LEVEL_HIGH>;
21 clocks = <&i2c0_clk>, <&system_clk>;
22 clock-names = "scb", "sys";
23 clock-frequency = <400000>;
24 #address-cells = <1>;
25 #size-cells = <0>;
26};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.txt b/Documentation/devicetree/bindings/i2c/i2c-imx.txt
index 4a8513e44740..52d37fd8d3e5 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx.txt
@@ -11,6 +11,8 @@ Required properties:
11Optional properties: 11Optional properties:
12- clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz. 12- clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz.
13 The absence of the propoerty indicates the default frequency 100 kHz. 13 The absence of the propoerty indicates the default frequency 100 kHz.
14- dmas: A list of two dma specifiers, one for each entry in dma-names.
15- dma-names: should contain "tx" and "rx".
14 16
15Examples: 17Examples:
16 18
@@ -26,3 +28,12 @@ i2c@70038000 { /* HS-I2C on i.MX51 */
26 interrupts = <64>; 28 interrupts = <64>;
27 clock-frequency = <400000>; 29 clock-frequency = <400000>;
28}; 30};
31
32i2c0: i2c@40066000 { /* i2c0 on vf610 */
33 compatible = "fsl,vf610-i2c";
34 reg = <0x40066000 0x1000>;
35 interrupts =<0 71 0x04>;
36 dmas = <&edma0 0 50>,
37 <&edma0 0 51>;
38 dma-names = "rx","tx";
39};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-meson.txt b/Documentation/devicetree/bindings/i2c/i2c-meson.txt
new file mode 100644
index 000000000000..682f9a6f766e
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-meson.txt
@@ -0,0 +1,24 @@
1Amlogic Meson I2C controller
2
3Required properties:
4 - compatible: must be "amlogic,meson6-i2c"
5 - reg: physical address and length of the device registers
6 - interrupts: a single interrupt specifier
7 - clocks: clock for the device
8 - #address-cells: should be <1>
9 - #size-cells: should be <0>
10
11Optional properties:
12- clock-frequency: the desired I2C bus clock frequency in Hz; in
13 absence of this property the default value is used (100 kHz).
14
15Examples:
16
17 i2c@c8100500 {
18 compatible = "amlogic,meson6-i2c";
19 reg = <0xc8100500 0x20>;
20 interrupts = <0 92 1>;
21 clocks = <&clk81>;
22 #address-cells = <1>;
23 #size-cells = <0>;
24 };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-opal.txt b/Documentation/devicetree/bindings/i2c/i2c-opal.txt
new file mode 100644
index 000000000000..12bc61465ee5
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-opal.txt
@@ -0,0 +1,37 @@
1Device-tree bindings for I2C OPAL driver
2----------------------------------------
3
4Most of the device node and properties layout is specific to the firmware and
5used by the firmware itself for configuring the port. From the linux
6perspective, the properties of use are "ibm,port-name" and "ibm,opal-id".
7
8Required properties:
9
10- reg: Port-id within a given master
11- compatible: must be "ibm,opal-i2c"
12- ibm,opal-id: Refers to a specific bus and used to identify it when calling
13 the relevant OPAL functions.
14- bus-frequency: Operating frequency of the i2c bus (in HZ). Informational for
15 linux, used by the FW though.
16
17Optional properties:
18- ibm,port-name: Firmware provides this name that uniquely identifies the i2c
19 port.
20
21The node contains a number of other properties that are used by the FW itself
22and depend on the specific hardware implementation. The example below depicts
23a P8 on-chip bus.
24
25Example:
26
27i2c-bus@0 {
28 reg = <0x0>;
29 bus-frequency = <0x61a80>;
30 compatible = "ibm,power8-i2c-port", "ibm,opal-i2c";
31 ibm,opal-id = <0x1>;
32 ibm,port-name = "p8_00000000_e1p0";
33 #address-cells = <0x1>;
34 phandle = <0x10000006>;
35 #size-cells = <0x0>;
36 linux,phandle = <0x10000006>;
37};
diff --git a/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt b/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt
index 278de8e64bbf..89b3250f049b 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-s3c2410.txt
@@ -32,6 +32,7 @@ Optional properties:
32 specified, default value is 0. 32 specified, default value is 0.
33 - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not 33 - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
34 specified, the default value in Hz is 100000. 34 specified, the default value in Hz is 100000.
35 - samsung,sysreg-phandle - handle to syscon used to control the system registers
35 36
36Example: 37Example:
37 38
diff --git a/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt b/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt
index d2153ce36fa8..2bfc6e7ed094 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-sh_mobile.txt
@@ -2,6 +2,15 @@ Device tree configuration for Renesas IIC (sh_mobile) driver
2 2
3Required properties: 3Required properties:
4- compatible : "renesas,iic-<soctype>". "renesas,rmobile-iic" as fallback 4- compatible : "renesas,iic-<soctype>". "renesas,rmobile-iic" as fallback
5 Examples with soctypes are:
6 - "renesas,iic-r8a73a4" (R-Mobile APE6)
7 - "renesas,iic-r8a7740" (R-Mobile A1)
8 - "renesas,iic-r8a7790" (R-Car H2)
9 - "renesas,iic-r8a7791" (R-Car M2-W)
10 - "renesas,iic-r8a7792" (R-Car V2H)
11 - "renesas,iic-r8a7793" (R-Car M2-N)
12 - "renesas,iic-r8a7794" (R-Car E2)
13 - "renesas,iic-sh73a0" (SH-Mobile AG5)
5- reg : address start and address range size of device 14- reg : address start and address range size of device
6- interrupts : interrupt of device 15- interrupts : interrupt of device
7- clocks : clock for device 16- clocks : clock for device
@@ -10,6 +19,11 @@ Required properties:
10 19
11Optional properties: 20Optional properties:
12- clock-frequency : frequency of bus clock in Hz. Default 100kHz if unset. 21- clock-frequency : frequency of bus clock in Hz. Default 100kHz if unset.
22- dmas : Must contain a list of two references to DMA
23 specifiers, one for transmission, and one for
24 reception.
25- dma-names : Must contain a list of two DMA names, "tx" and "rx".
26
13 27
14Pinctrl properties might be needed, too. See there. 28Pinctrl properties might be needed, too. See there.
15 29
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index fbde415078e6..9f4e3824e71e 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -17,6 +17,9 @@ adi,adt7473 +/-1C TDM Extended Temp Range I.C
17adi,adt7475 +/-1C TDM Extended Temp Range I.C 17adi,adt7475 +/-1C TDM Extended Temp Range I.C
18adi,adt7476 +/-1C TDM Extended Temp Range I.C 18adi,adt7476 +/-1C TDM Extended Temp Range I.C
19adi,adt7490 +/-1C TDM Extended Temp Range I.C 19adi,adt7490 +/-1C TDM Extended Temp Range I.C
20adi,adxl345 Three-Axis Digital Accelerometer
21adi,adxl346 Three-Axis Digital Accelerometer
22adi,adxl34x Three-Axis Digital Accelerometer
20at,24c08 i2c serial eeprom (24cxx) 23at,24c08 i2c serial eeprom (24cxx)
21atmel,24c00 i2c serial eeprom (24cxx) 24atmel,24c00 i2c serial eeprom (24cxx)
22atmel,24c01 i2c serial eeprom (24cxx) 25atmel,24c01 i2c serial eeprom (24cxx)
@@ -56,6 +59,8 @@ gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire In
56infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) 59infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
57infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) 60infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
58isl,isl12057 Intersil ISL12057 I2C RTC Chip 61isl,isl12057 Intersil ISL12057 I2C RTC Chip
62isil,isl29028 (deprecated, use isl)
63isl,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
59maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator 64maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
60maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs 65maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
61maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface 66maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface
@@ -74,7 +79,12 @@ ovti,ov5642 OV5642: Color CMOS QSXGA (5-megapixel) Image Sensor with OmniBSI an
74pericom,pt7c4338 Real-time Clock Module 79pericom,pt7c4338 Real-time Clock Module
75plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch 80plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
76ramtron,24c64 i2c serial eeprom (24cxx) 81ramtron,24c64 i2c serial eeprom (24cxx)
82ricoh,r2025sd I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
83ricoh,r2221tl I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
77ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC 84ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
85ricoh,rs5c372b I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
86ricoh,rv5c386 I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
87ricoh,rv5c387a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
78samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) 88samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power)
79sii,s35390a 2-wire CMOS real-time clock 89sii,s35390a 2-wire CMOS real-time clock
80st-micro,24c256 i2c serial eeprom (24cxx) 90st-micro,24c256 i2c serial eeprom (24cxx)
diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt
new file mode 100644
index 000000000000..4e36d6e2f7b6
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-iadc.txt
@@ -0,0 +1,46 @@
1Qualcomm's SPMI PMIC current ADC
2
3QPNP PMIC current ADC (IADC) provides interface to clients to read current.
4A 16 bit ADC is used for current measurements. IADC can measure the current
5through an external resistor (channel 1) or internal (built-in) resistor
6(channel 0). When using an external resistor it is to be described by
7qcom,external-resistor-micro-ohms property.
8
9IADC node:
10
11- compatible:
12 Usage: required
13 Value type: <string>
14 Definition: Should contain "qcom,spmi-iadc".
15
16- reg:
17 Usage: required
18 Value type: <prop-encoded-array>
19 Definition: IADC base address and length in the SPMI PMIC register map
20
21- interrupts:
22 Usage: optional
23 Value type: <prop-encoded-array>
24 Definition: End of ADC conversion.
25
26- qcom,external-resistor-micro-ohms:
27 Usage: optional
28 Value type: <u32>
29 Definition: Sense resister value in micro Ohm.
30 If not defined value of 10000 micro Ohms will be used.
31
32Example:
33 /* IADC node */
34 pmic_iadc: iadc@3600 {
35 compatible = "qcom,spmi-iadc";
36 reg = <0x3600 0x100>;
37 interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
38 qcom,external-resistor-micro-ohms = <10000>;
39 #io-channel-cells = <1>;
40 };
41
42 /* IIO client node */
43 bat {
44 io-channels = <&pmic_iadc 0>;
45 io-channel-names = "iadc";
46 };
diff --git a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
index 5d3ec1df226d..a9a5fe19ff2a 100644
--- a/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
+++ b/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
@@ -1,7 +1,7 @@
1Rockchip Successive Approximation Register (SAR) A/D Converter bindings 1Rockchip Successive Approximation Register (SAR) A/D Converter bindings
2 2
3Required properties: 3Required properties:
4- compatible: Should be "rockchip,saradc" 4- compatible: Should be "rockchip,saradc" or "rockchip,rk3066-tsadc"
5- reg: physical base address of the controller and length of memory mapped 5- reg: physical base address of the controller and length of memory mapped
6 region. 6 region.
7- interrupts: The interrupt number to the cpu. The interrupt specifier format 7- interrupts: The interrupt number to the cpu. The interrupt specifier format
diff --git a/Documentation/devicetree/bindings/input/cap1106.txt b/Documentation/devicetree/bindings/input/cap11xx.txt
index 4b463904cba0..7d0a3009771b 100644
--- a/Documentation/devicetree/bindings/input/cap1106.txt
+++ b/Documentation/devicetree/bindings/input/cap11xx.txt
@@ -1,14 +1,16 @@
1Device tree bindings for Microchip CAP1106, 6 channel capacitive touch sensor 1Device tree bindings for Microchip CAP11xx based capacitive touch sensors
2 2
3The node for this driver must be a child of a I2C controller node, as the 3The node for this device must be a child of a I2C controller node, as the
4device communication via I2C only. 4device communication via I2C only.
5 5
6Required properties: 6Required properties:
7 7
8 compatible: Must be "microchip,cap1106" 8 compatible: Must contain one of:
9 "microchip,cap1106"
10 "microchip,cap1126"
11 "microchip,cap1188"
9 12
10 reg: The I2C slave address of the device. 13 reg: The I2C slave address of the device.
11 Only 0x28 is valid.
12 14
13 interrupts: Property describing the interrupt line the 15 interrupts: Property describing the interrupt line the
14 device's ALERT#/CM_IRQ# pin is connected to. 16 device's ALERT#/CM_IRQ# pin is connected to.
@@ -26,6 +28,10 @@ Optional properties:
26 Valid values are 1, 2, 4, and 8. 28 Valid values are 1, 2, 4, and 8.
27 By default, a gain of 1 is set. 29 By default, a gain of 1 is set.
28 30
31 microchip,irq-active-high: By default the interrupt pin is active low
32 open drain. This property allows using the active
33 high push-pull output.
34
29 linux,keycodes: Specifies an array of numeric keycode values to 35 linux,keycodes: Specifies an array of numeric keycode values to
30 be used for the channels. If this property is 36 be used for the channels. If this property is
31 omitted, KEY_A, KEY_B, etc are used as 37 omitted, KEY_A, KEY_B, etc are used as
@@ -43,11 +49,11 @@ i2c_controller {
43 autorepeat; 49 autorepeat;
44 microchip,sensor-gain = <2>; 50 microchip,sensor-gain = <2>;
45 51
46 linux,keycodes = <103 /* KEY_UP */ 52 linux,keycodes = <103>, /* KEY_UP */
47 106 /* KEY_RIGHT */ 53 <106>, /* KEY_RIGHT */
48 108 /* KEY_DOWN */ 54 <108>, /* KEY_DOWN */
49 105 /* KEY_LEFT */ 55 <105>, /* KEY_LEFT */
50 109 /* KEY_PAGEDOWN */ 56 <109>, /* KEY_PAGEDOWN */
51 104>; /* KEY_PAGEUP */ 57 <104>; /* KEY_PAGEUP */
52 }; 58 };
53} 59}
diff --git a/Documentation/devicetree/bindings/input/elan_i2c.txt b/Documentation/devicetree/bindings/input/elan_i2c.txt
new file mode 100644
index 000000000000..ee3242c4ba67
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/elan_i2c.txt
@@ -0,0 +1,34 @@
1Elantech I2C Touchpad
2
3Required properties:
4- compatible: must be "elan,ekth3000".
5- reg: I2C address of the chip.
6- interrupt-parent: a phandle for the interrupt controller (see interrupt
7 binding[0]).
8- interrupts: interrupt to which the chip is connected (see interrupt
9 binding[0]).
10
11Optional properties:
12- wakeup-source: touchpad can be used as a wakeup source.
13- pinctrl-names: should be "default" (see pinctrl binding [1]).
14- pinctrl-0: a phandle pointing to the pin settings for the device (see
15 pinctrl binding [1]).
16- vcc-supply: a phandle for the regulator supplying 3.3V power.
17
18[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
19[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
20
21Example:
22 &i2c1 {
23 /* ... */
24
25 touchpad@15 {
26 compatible = "elan,ekth3000";
27 reg = <0x15>;
28 interrupt-parent = <&gpio4>;
29 interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
30 wakeup-source;
31 };
32
33 /* ... */
34 };
diff --git a/Documentation/devicetree/bindings/input/elants_i2c.txt b/Documentation/devicetree/bindings/input/elants_i2c.txt
new file mode 100644
index 000000000000..a765232e6446
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/elants_i2c.txt
@@ -0,0 +1,33 @@
1Elantech I2C Touchscreen
2
3Required properties:
4- compatible: must be "elan,ekth3500".
5- reg: I2C address of the chip.
6- interrupt-parent: a phandle for the interrupt controller (see interrupt
7 binding[0]).
8- interrupts: interrupt to which the chip is connected (see interrupt
9 binding[0]).
10
11Optional properties:
12- wakeup-source: touchscreen can be used as a wakeup source.
13- pinctrl-names: should be "default" (see pinctrl binding [1]).
14- pinctrl-0: a phandle pointing to the pin settings for the device (see
15 pinctrl binding [1]).
16
17[0]: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
18[1]: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
19
20Example:
21 &i2c1 {
22 /* ... */
23
24 touchscreen@10 {
25 compatible = "elan,ekth3500";
26 reg = <0x10>;
27 interrupt-parent = <&gpio4>;
28 interrupts = <0x0 IRQ_TYPE_EDGE_FALLING>;
29 wakeup-source;
30 };
31
32 /* ... */
33 };
diff --git a/Documentation/devicetree/bindings/input/gpio-keys.txt b/Documentation/devicetree/bindings/input/gpio-keys.txt
index 5c2c02140a62..a4a38fcf2ed6 100644
--- a/Documentation/devicetree/bindings/input/gpio-keys.txt
+++ b/Documentation/devicetree/bindings/input/gpio-keys.txt
@@ -10,10 +10,13 @@ Optional properties:
10Each button (key) is represented as a sub-node of "gpio-keys": 10Each button (key) is represented as a sub-node of "gpio-keys":
11Subnode properties: 11Subnode properties:
12 12
13 - gpios: OF device-tree gpio specification.
14 - label: Descriptive name of the key. 13 - label: Descriptive name of the key.
15 - linux,code: Keycode to emit. 14 - linux,code: Keycode to emit.
16 15
16Required mutual exclusive subnode-properties:
17 - gpios: OF device-tree gpio specification.
18 - interrupts: the interrupt line for that input
19
17Optional subnode-properties: 20Optional subnode-properties:
18 - linux,input-type: Specify event type this button/key generates. 21 - linux,input-type: Specify event type this button/key generates.
19 If not specified defaults to <1> == EV_KEY. 22 If not specified defaults to <1> == EV_KEY.
@@ -33,4 +36,9 @@ Example nodes:
33 linux,code = <103>; 36 linux,code = <103>;
34 gpios = <&gpio1 0 1>; 37 gpios = <&gpio1 0 1>;
35 }; 38 };
39 button@22 {
40 label = "GPIO Key DOWN";
41 linux,code = <108>;
42 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
43 };
36 ... 44 ...
diff --git a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt
index ff812a8a82bc..bae1f2187226 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt
@@ -13,7 +13,12 @@ Such an interrupt controller has the following hardware design:
13 or if they will output an interrupt signal at this 2nd level interrupt 13 or if they will output an interrupt signal at this 2nd level interrupt
14 controller, in particular for UARTs 14 controller, in particular for UARTs
15 15
16- not all 32-bits within the interrupt controller actually map to an interrupt 16- typically has one 32-bit enable word and one 32-bit status word, but on
17 some hardware may have more than one enable/status pair
18
19- no atomic set/clear operations
20
21- not all bits within the interrupt controller actually map to an interrupt
17 22
18The typical hardware layout for this controller is represented below: 23The typical hardware layout for this controller is represented below:
19 24
@@ -48,7 +53,9 @@ The typical hardware layout for this controller is represented below:
48Required properties: 53Required properties:
49 54
50- compatible: should be "brcm,bcm7120-l2-intc" 55- compatible: should be "brcm,bcm7120-l2-intc"
51- reg: specifies the base physical address and size of the registers 56- reg: specifies the base physical address and size of the registers;
57 multiple pairs may be specified, with the first pair handling IRQ offsets
58 0..31 and the second pair handling 32..63
52- interrupt-controller: identifies the node as an interrupt controller 59- interrupt-controller: identifies the node as an interrupt controller
53- #interrupt-cells: specifies the number of cells needed to encode an interrupt 60- #interrupt-cells: specifies the number of cells needed to encode an interrupt
54 source, should be 1. 61 source, should be 1.
@@ -59,18 +66,21 @@ Required properties:
59- brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts 66- brcm,int-map-mask: 32-bits bit mask describing how many and which interrupts
60 are wired to this 2nd level interrupt controller, and how they match their 67 are wired to this 2nd level interrupt controller, and how they match their
61 respective interrupt parents. Should match exactly the number of interrupts 68 respective interrupt parents. Should match exactly the number of interrupts
62 specified in the 'interrupts' property. 69 specified in the 'interrupts' property, multiplied by the number of
70 enable/status register pairs implemented by this controller. For
71 multiple parent IRQs with multiple enable/status words, this looks like:
72 <irq0_w0 irq0_w1 irq1_w0 irq1_w1 ...>
63 73
64Optional properties: 74Optional properties:
65 75
66- brcm,irq-can-wake: if present, this means the L2 controller can be used as a 76- brcm,irq-can-wake: if present, this means the L2 controller can be used as a
67 wakeup source for system suspend/resume. 77 wakeup source for system suspend/resume.
68 78
69- brcm,int-fwd-mask: if present, a 32-bits bit mask to configure for the 79- brcm,int-fwd-mask: if present, a bit mask to configure the interrupts which
70 interrupts which have a mux gate, typically UARTs. Setting these bits will 80 have a mux gate, typically UARTs. Setting these bits will make their
71 make their respective interrupts outputs bypass this 2nd level interrupt 81 respective interrupt outputs bypass this 2nd level interrupt controller
72 controller completely, it completely transparent for the interrupt controller 82 completely; it is completely transparent for the interrupt controller
73 parent 83 parent. This should have one 32-bit word per enable/status pair.
74 84
75Example: 85Example:
76 86
diff --git a/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt b/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
index ce6a1a072028..8a3c40829899 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
@@ -30,10 +30,6 @@ should only be used when a device has multiple interrupt parents.
30 Example: 30 Example:
31 interrupts-extended = <&intc1 5 1>, <&intc2 1 0>; 31 interrupts-extended = <&intc1 5 1>, <&intc2 1 0>;
32 32
33A device node may contain either "interrupts" or "interrupts-extended", but not
34both. If both properties are present, then the operating system should log an
35error and use only the data in "interrupts".
36
372) Interrupt controller nodes 332) Interrupt controller nodes
38----------------------------- 34-----------------------------
39 35
diff --git a/Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt b/Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt
new file mode 100644
index 000000000000..5a65478e5d40
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/mips-gic.txt
@@ -0,0 +1,55 @@
1MIPS Global Interrupt Controller (GIC)
2
3The MIPS GIC routes external interrupts to individual VPEs and IRQ pins.
4It also supports local (per-processor) interrupts and software-generated
5interrupts which can be used as IPIs. The GIC also includes a free-running
6global timer, per-CPU count/compare timers, and a watchdog.
7
8Required properties:
9- compatible : Should be "mti,gic".
10- interrupt-controller : Identifies the node as an interrupt controller
11- #interrupt-cells : Specifies the number of cells needed to encode an
12 interrupt specifier. Should be 3.
13 - The first cell is the type of interrupt, local or shared.
14 See <include/dt-bindings/interrupt-controller/mips-gic.h>.
15 - The second cell is the GIC interrupt number.
16 - The third cell encodes the interrupt flags.
17 See <include/dt-bindings/interrupt-controller/irq.h> for a list of valid
18 flags.
19
20Optional properties:
21- reg : Base address and length of the GIC registers. If not present,
22 the base address reported by the hardware GCR_GIC_BASE will be used.
23- mti,reserved-cpu-vectors : Specifies the list of CPU interrupt vectors
24 to which the GIC may not route interrupts. Valid values are 2 - 7.
25 This property is ignored if the CPU is started in EIC mode.
26
27Required properties for timer sub-node:
28- compatible : Should be "mti,gic-timer".
29- interrupts : Interrupt for the GIC local timer.
30- clock-frequency : Clock frequency at which the GIC timers operate.
31
32Example:
33
34 gic: interrupt-controller@1bdc0000 {
35 compatible = "mti,gic";
36 reg = <0x1bdc0000 0x20000>;
37
38 interrupt-controller;
39 #interrupt-cells = <3>;
40
41 mti,reserved-cpu-vectors = <7>;
42
43 timer {
44 compatible = "mti,gic-timer";
45 interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
46 clock-frequency = <50000000>;
47 };
48 };
49
50 uart@18101400 {
51 ...
52 interrupt-parent = <&gic>;
53 interrupts = <GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>;
54 ...
55 };
diff --git a/Documentation/devicetree/bindings/iommu/rockchip,iommu.txt b/Documentation/devicetree/bindings/iommu/rockchip,iommu.txt
new file mode 100644
index 000000000000..9a55ac3735e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/iommu/rockchip,iommu.txt
@@ -0,0 +1,26 @@
1Rockchip IOMMU
2==============
3
4A Rockchip DRM iommu translates io virtual addresses to physical addresses for
5its master device. Each slave device is bound to a single master device, and
6shares its clocks, power domain and irq.
7
8Required properties:
9- compatible : Should be "rockchip,iommu"
10- reg : Address space for the configuration registers
11- interrupts : Interrupt specifier for the IOMMU instance
12- interrupt-names : Interrupt name for the IOMMU instance
13- #iommu-cells : Should be <0>. This indicates the iommu is a
14 "single-master" device, and needs no additional information
15 to associate with its master device. See:
16 Documentation/devicetree/bindings/iommu/iommu.txt
17
18Example:
19
20 vopl_mmu: iommu@ff940300 {
21 compatible = "rockchip,iommu";
22 reg = <0xff940300 0x100>;
23 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
24 interrupt-names = "vopl_mmu";
25 #iommu-cells = <0>;
26 };
diff --git a/Documentation/devicetree/bindings/leds/leds-lp8860.txt b/Documentation/devicetree/bindings/leds/leds-lp8860.txt
new file mode 100644
index 000000000000..aad38dd94d4b
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-lp8860.txt
@@ -0,0 +1,29 @@
1* Texas Instruments - lp8860 4-Channel LED Driver
2
3The LP8860-Q1 is an high-efficiency LED
4driver with boost controller. It has 4 high-precision
5current sinks that can be controlled by a PWM input
6signal, a SPI/I2C master, or both.
7
8Required properties:
9 - compatible:
10 "ti,lp8860"
11 - reg - I2C slave address
12 - label - Used for naming LEDs
13
14Optional properties:
15 - enable-gpio - gpio pin to enable/disable the device.
16 - supply - "vled" - LED supply
17
18Example:
19
20leds: leds@6 {
21 compatible = "ti,lp8860";
22 reg = <0x2d>;
23 label = "display_cluster";
24 enable-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
25 vled-supply = <&vbatt>;
26}
27
28For more product information please see the link below:
29http://www.ti.com/product/lp8860-q1
diff --git a/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt b/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
index 48edc4b92afb..d1a043339c11 100644
--- a/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
+++ b/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
@@ -43,6 +43,9 @@ Required properties:
43 device. The format is dependent on which interrupt 43 device. The format is dependent on which interrupt
44 controller the OMAP device uses 44 controller the OMAP device uses
45- ti,hwmods: Name of the hwmod associated with the mailbox 45- ti,hwmods: Name of the hwmod associated with the mailbox
46- #mbox-cells: Common mailbox binding property to identify the number
47 of cells required for the mailbox specifier. Should be
48 1
46- ti,mbox-num-users: Number of targets (processor devices) that the mailbox 49- ti,mbox-num-users: Number of targets (processor devices) that the mailbox
47 device can interrupt 50 device can interrupt
48- ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block 51- ti,mbox-num-fifos: Number of h/w fifo queues within the mailbox IP block
@@ -72,6 +75,18 @@ data that represent the following:
72 Cell #3 (usr_id) - mailbox user id for identifying the interrupt line 75 Cell #3 (usr_id) - mailbox user id for identifying the interrupt line
73 associated with generating a tx/rx fifo interrupt. 76 associated with generating a tx/rx fifo interrupt.
74 77
78Mailbox Users:
79==============
80A device needing to communicate with a target processor device should specify
81them using the common mailbox binding properties, "mboxes" and the optional
82"mbox-names" (please see Documentation/devicetree/bindings/mailbox/mailbox.txt
83for details). Each value of the mboxes property should contain a phandle to the
84mailbox controller device node and an args specifier that will be the phandle to
85the intended sub-mailbox child node to be used for communication. The equivalent
86"mbox-names" property value can be used to give a name to the communication channel
87to be used by the client user.
88
89
75Example: 90Example:
76-------- 91--------
77 92
@@ -81,6 +96,7 @@ mailbox: mailbox@4a0f4000 {
81 reg = <0x4a0f4000 0x200>; 96 reg = <0x4a0f4000 0x200>;
82 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 97 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
83 ti,hwmods = "mailbox"; 98 ti,hwmods = "mailbox";
99 #mbox-cells = <1>;
84 ti,mbox-num-users = <3>; 100 ti,mbox-num-users = <3>;
85 ti,mbox-num-fifos = <8>; 101 ti,mbox-num-fifos = <8>;
86 mbox_ipu: mbox_ipu { 102 mbox_ipu: mbox_ipu {
@@ -93,12 +109,19 @@ mailbox: mailbox@4a0f4000 {
93 }; 109 };
94}; 110};
95 111
112dsp {
113 ...
114 mboxes = <&mailbox &mbox_dsp>;
115 ...
116};
117
96/* AM33xx */ 118/* AM33xx */
97mailbox: mailbox@480C8000 { 119mailbox: mailbox@480C8000 {
98 compatible = "ti,omap4-mailbox"; 120 compatible = "ti,omap4-mailbox";
99 reg = <0x480C8000 0x200>; 121 reg = <0x480C8000 0x200>;
100 interrupts = <77>; 122 interrupts = <77>;
101 ti,hwmods = "mailbox"; 123 ti,hwmods = "mailbox";
124 #mbox-cells = <1>;
102 ti,mbox-num-users = <4>; 125 ti,mbox-num-users = <4>;
103 ti,mbox-num-fifos = <8>; 126 ti,mbox-num-fifos = <8>;
104 mbox_wkupm3: wkup_m3 { 127 mbox_wkupm3: wkup_m3 {
diff --git a/Documentation/devicetree/bindings/media/meson-ir.txt b/Documentation/devicetree/bindings/media/meson-ir.txt
new file mode 100644
index 000000000000..407848e85f31
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/meson-ir.txt
@@ -0,0 +1,14 @@
1* Amlogic Meson IR remote control receiver
2
3Required properties:
4 - compatible : should be "amlogic,meson6-ir"
5 - reg : physical base address and length of the device registers
6 - interrupts : a single specifier for the interrupt from the device
7
8Example:
9
10 ir-receiver@c8100480 {
11 compatible= "amlogic,meson6-ir";
12 reg = <0xc8100480 0x20>;
13 interrupts = <0 15 1>;
14 };
diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt
index ba61782c2af9..9dafe6b06cd2 100644
--- a/Documentation/devicetree/bindings/media/rcar_vin.txt
+++ b/Documentation/devicetree/bindings/media/rcar_vin.txt
@@ -6,6 +6,8 @@ family of devices. The current blocks are always slaves and suppot one input
6channel which can be either RGB, YUYV or BT656. 6channel which can be either RGB, YUYV or BT656.
7 7
8 - compatible: Must be one of the following 8 - compatible: Must be one of the following
9 - "renesas,vin-r8a7794" for the R8A7794 device
10 - "renesas,vin-r8a7793" for the R8A7793 device
9 - "renesas,vin-r8a7791" for the R8A7791 device 11 - "renesas,vin-r8a7791" for the R8A7791 device
10 - "renesas,vin-r8a7790" for the R8A7790 device 12 - "renesas,vin-r8a7790" for the R8A7790 device
11 - "renesas,vin-r8a7779" for the R8A7779 device 13 - "renesas,vin-r8a7779" for the R8A7779 device
diff --git a/Documentation/devicetree/bindings/media/si4713.txt b/Documentation/devicetree/bindings/media/si4713.txt
new file mode 100644
index 000000000000..5ee5552d3465
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/si4713.txt
@@ -0,0 +1,30 @@
1* Silicon Labs FM Radio transmitter
2
3The Silicon Labs Si4713 is an FM radio transmitter with receive power scan
4supporting 76-108 MHz. It includes an RDS encoder and has both, a stereo-analog
5and a digital interface, which supports I2S, left-justified and a custom
6DSP-mode format. It is programmable through an I2C interface.
7
8Required Properties:
9- compatible: Should contain "silabs,si4713"
10- reg: the I2C address of the device
11
12Optional Properties:
13- interrupts-extended: Interrupt specifier for the chips interrupt
14- reset-gpios: GPIO specifier for the chips reset line
15- vdd-supply: phandle for Vdd regulator
16- vio-supply: phandle for Vio regulator
17
18Example:
19
20&i2c2 {
21 fmtx: si4713@63 {
22 compatible = "silabs,si4713";
23 reg = <0x63>;
24
25 interrupts-extended = <&gpio2 21 IRQ_TYPE_EDGE_FALLING>; /* 53 */
26 reset-gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 */
27 vio-supply = <&vio>;
28 vdd-supply = <&vaux1>;
29 };
30};
diff --git a/Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt b/Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt
new file mode 100644
index 000000000000..89657d1d4cd4
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/mvebu-sdram-controller.txt
@@ -0,0 +1,21 @@
1Device Tree bindings for MVEBU SDRAM controllers
2
3The Marvell EBU SoCs all have a SDRAM controller. The SDRAM controller
4differs from one SoC variant to another, but they also share a number
5of commonalities.
6
7For now, this Device Tree binding documentation only documents the
8Armada XP SDRAM controller.
9
10Required properties:
11
12 - compatible: for Armada XP, "marvell,armada-xp-sdram-controller"
13 - reg: a resource specifier for the register space, which should
14 include all SDRAM controller registers as per the datasheet.
15
16Example:
17
18sdramc@1400 {
19 compatible = "marvell,armada-xp-sdram-controller";
20 reg = <0x1400 0x500>;
21};
diff --git a/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt
new file mode 100644
index 000000000000..f3db93c85eea
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/nvidia,tegra-mc.txt
@@ -0,0 +1,36 @@
1NVIDIA Tegra Memory Controller device tree bindings
2===================================================
3
4Required properties:
5- compatible: Should be "nvidia,tegra<chip>-mc"
6- reg: Physical base address and length of the controller's registers.
7- clocks: Must contain an entry for each entry in clock-names.
8 See ../clocks/clock-bindings.txt for details.
9- clock-names: Must include the following entries:
10 - mc: the module's clock input
11- interrupts: The interrupt outputs from the controller.
12- #iommu-cells: Should be 1. The single cell of the IOMMU specifier defines
13 the SWGROUP of the master.
14
15This device implements an IOMMU that complies with the generic IOMMU binding.
16See ../iommu/iommu.txt for details.
17
18Example:
19--------
20
21 mc: memory-controller@0,70019000 {
22 compatible = "nvidia,tegra124-mc";
23 reg = <0x0 0x70019000 0x0 0x1000>;
24 clocks = <&tegra_car TEGRA124_CLK_MC>;
25 clock-names = "mc";
26
27 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
28
29 #iommu-cells = <1>;
30 };
31
32 sdhci@0,700b0000 {
33 compatible = "nvidia,tegra124-sdhci";
34 ...
35 iommus = <&mc TEGRA_SWGROUP_SDMMC1A>;
36 };
diff --git a/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
new file mode 100644
index 000000000000..f64de95a8e8b
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt
@@ -0,0 +1,51 @@
1Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver
2
3Required properties:
4 - compatible: value should be one of the following:
5 "atmel,sama5d3-hlcdc"
6 - reg: base address and size of the HLCDC device registers.
7 - clock-names: the name of the 3 clocks requested by the HLCDC device.
8 Should contain "periph_clk", "sys_clk" and "slow_clk".
9 - clocks: should contain the 3 clocks requested by the HLCDC device.
10 - interrupts: should contain the description of the HLCDC interrupt line
11
12The HLCDC IP exposes two subdevices:
13 - a PWM chip: see ../pwm/atmel-hlcdc-pwm.txt
14 - a Display Controller: see ../drm/atmel-hlcdc-dc.txt
15
16Example:
17
18 hlcdc: hlcdc@f0030000 {
19 compatible = "atmel,sama5d3-hlcdc";
20 reg = <0xf0030000 0x2000>;
21 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
22 clock-names = "periph_clk","sys_clk", "slow_clk";
23 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
24 status = "disabled";
25
26 hlcdc-display-controller {
27 compatible = "atmel,hlcdc-display-controller";
28 pinctrl-names = "default";
29 pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
30 #address-cells = <1>;
31 #size-cells = <0>;
32
33 port@0 {
34 #address-cells = <1>;
35 #size-cells = <0>;
36 reg = <0>;
37
38 hlcdc_panel_output: endpoint@0 {
39 reg = <0>;
40 remote-endpoint = <&panel_input>;
41 };
42 };
43 };
44
45 hlcdc_pwm: hlcdc-pwm {
46 compatible = "atmel,hlcdc-pwm";
47 pinctrl-names = "default";
48 pinctrl-0 = <&pinctrl_lcd_pwm>;
49 #pwm-cells = <3>;
50 };
51 };
diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt
index 678f3cf0b8f0..75fdfaf41831 100644
--- a/Documentation/devicetree/bindings/mfd/max77686.txt
+++ b/Documentation/devicetree/bindings/mfd/max77686.txt
@@ -34,6 +34,12 @@ to get matched with their hardware counterparts as follow:
34 -BUCKn : for BUCKs, where n can lie in range 1 to 9. 34 -BUCKn : for BUCKs, where n can lie in range 1 to 9.
35 example: BUCK1, BUCK5, BUCK9. 35 example: BUCK1, BUCK5, BUCK9.
36 36
37 Regulators which can be turned off during system suspend:
38 -LDOn : 2, 6-8, 10-12, 14-16,
39 -BUCKn : 1-4.
40 Use standard regulator bindings for it ('regulator-off-in-suspend').
41
42
37Example: 43Example:
38 44
39 max77686@09 { 45 max77686@09 {
diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt
index 11921cc417bf..01e9f30fe678 100644
--- a/Documentation/devicetree/bindings/mfd/max77693.txt
+++ b/Documentation/devicetree/bindings/mfd/max77693.txt
@@ -27,6 +27,20 @@ Optional properties:
27 27
28 [*] refer Documentation/devicetree/bindings/regulator/regulator.txt 28 [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
29 29
30- haptic : The MAX77693 haptic device utilises a PWM controlled motor to provide
31 users with tactile feedback. PWM period and duty-cycle are varied in
32 order to provide the approprite level of feedback.
33
34 Required properties:
35 - compatible : Must be "maxim,max77693-hpatic"
36 - haptic-supply : power supply for the haptic motor
37 [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
38 - pwms : phandle to the physical PWM(Pulse Width Modulation) device.
39 PWM properties should be named "pwms". And number of cell is different
40 for each pwm device.
41 To get more informations, please refer to documentaion.
42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
43
30Example: 44Example:
31 max77693@66 { 45 max77693@66 {
32 compatible = "maxim,max77693"; 46 compatible = "maxim,max77693";
@@ -52,4 +66,11 @@ Example:
52 regulator-boot-on; 66 regulator-boot-on;
53 }; 67 };
54 }; 68 };
69
70 haptic {
71 compatible = "maxim,max77693-haptic";
72 haptic-supply = <&haptic_supply>;
73 pwms = <&pwm 0 40000 0>;
74 pwm-names = "haptic";
75 };
55 }; 76 };
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt
index 0e4026a6cbbf..57a045016fca 100644
--- a/Documentation/devicetree/bindings/mfd/s2mps11.txt
+++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt
@@ -1,5 +1,5 @@
1 1
2* Samsung S2MPS11, S2MPS14 and S2MPU02 Voltage and Current Regulator 2* Samsung S2MPS11, S2MPS13, S2MPS14 and S2MPU02 Voltage and Current Regulator
3 3
4The Samsung S2MPS11 is a multi-function device which includes voltage and 4The Samsung S2MPS11 is a multi-function device which includes voltage and
5current regulators, RTC, charger controller and other sub-blocks. It is 5current regulators, RTC, charger controller and other sub-blocks. It is
@@ -7,8 +7,8 @@ interfaced to the host controller using an I2C interface. Each sub-block is
7addressed by the host system using different I2C slave addresses. 7addressed by the host system using different I2C slave addresses.
8 8
9Required properties: 9Required properties:
10- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic" 10- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps13-pmic"
11 or "samsung,s2mpu02-pmic". 11 or "samsung,s2mps14-pmic" or "samsung,s2mpu02-pmic".
12- reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 12- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
13 13
14Optional properties: 14Optional properties:
@@ -17,8 +17,8 @@ Optional properties:
17- interrupts: Interrupt specifiers for interrupt sources. 17- interrupts: Interrupt specifiers for interrupt sources.
18 18
19Optional nodes: 19Optional nodes:
20- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz 20- clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768
21 outputs, so to register these as clocks with common clock framework 21 KHz outputs, so to register these as clocks with common clock framework
22 instantiate a sub-node named "clocks". It uses the common clock binding 22 instantiate a sub-node named "clocks". It uses the common clock binding
23 documented in : 23 documented in :
24 [Documentation/devicetree/bindings/clock/clock-bindings.txt] 24 [Documentation/devicetree/bindings/clock/clock-bindings.txt]
@@ -30,12 +30,12 @@ Optional nodes:
30 the clock which they consume. 30 the clock which they consume.
31 Clock ID Devices 31 Clock ID Devices
32 ---------------------------------------------------------- 32 ----------------------------------------------------------
33 32KhzAP 0 S2MPS11, S2MPS14, S5M8767 33 32KhzAP 0 S2MPS11, S2MPS13, S2MPS14, S5M8767
34 32KhzCP 1 S2MPS11, S5M8767 34 32KhzCP 1 S2MPS11, S2MPS13, S5M8767
35 32KhzBT 2 S2MPS11, S2MPS14, S5M8767 35 32KhzBT 2 S2MPS11, S2MPS13, S2MPS14, S5M8767
36 36
37 - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk", 37 - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps13-clk",
38 "samsung,s5m8767-clk" 38 "samsung,s2mps14-clk", "samsung,s5m8767-clk"
39 39
40- regulators: The regulators of s2mps11 that have to be instantiated should be 40- regulators: The regulators of s2mps11 that have to be instantiated should be
41included in a sub-node named 'regulators'. Regulator nodes included in this 41included in a sub-node named 'regulators'. Regulator nodes included in this
@@ -81,12 +81,14 @@ as per the datasheet of s2mps11.
81 - LDOn 81 - LDOn
82 - valid values for n are: 82 - valid values for n are:
83 - S2MPS11: 1 to 38 83 - S2MPS11: 1 to 38
84 - S2MPS13: 1 to 40
84 - S2MPS14: 1 to 25 85 - S2MPS14: 1 to 25
85 - S2MPU02: 1 to 28 86 - S2MPU02: 1 to 28
86 - Example: LDO1, LDO2, LDO28 87 - Example: LDO1, LDO2, LDO28
87 - BUCKn 88 - BUCKn
88 - valid values for n are: 89 - valid values for n are:
89 - S2MPS11: 1 to 10 90 - S2MPS11: 1 to 10
91 - S2MPS13: 1 to 10
90 - S2MPS14: 1 to 5 92 - S2MPS14: 1 to 5
91 - S2MPU02: 1 to 7 93 - S2MPU02: 1 to 7
92 - Example: BUCK1, BUCK2, BUCK9 94 - Example: BUCK1, BUCK2, BUCK9
diff --git a/Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt b/Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt
new file mode 100644
index 000000000000..d4e0141d3620
--- /dev/null
+++ b/Documentation/devicetree/bindings/mips/brcm/bcm3384-intc.txt
@@ -0,0 +1,37 @@
1* Interrupt Controller
2
3Properties:
4- compatible: "brcm,bcm3384-intc"
5
6 Compatibility with BCM3384 and possibly other BCM33xx/BCM63xx SoCs.
7
8- reg: Address/length pairs for each mask/status register set. Length must
9 be 8. If multiple register sets are specified, the first set will
10 handle IRQ offsets 0..31, the second set 32..63, and so on.
11
12- interrupt-controller: This is an interrupt controller.
13
14- #interrupt-cells: Must be <1>. Just a simple IRQ offset; no level/edge
15 or polarity configuration is possible with this controller.
16
17- interrupt-parent: This controller is cascaded from a MIPS CPU HW IRQ, or
18 from another INTC.
19
20- interrupts: The IRQ on the parent controller.
21
22Example:
23 periph_intc: periph_intc@14e00038 {
24 compatible = "brcm,bcm3384-intc";
25
26 /*
27 * IRQs 0..31: mask reg 0x14e00038, status reg 0x14e0003c
28 * IRQs 32..63: mask reg 0x14e00340, status reg 0x14e00344
29 */
30 reg = <0x14e00038 0x8 0x14e00340 0x8>;
31
32 interrupt-controller;
33 #interrupt-cells = <1>;
34
35 interrupt-parent = <&cpu_intc>;
36 interrupts = <4>;
37 };
diff --git a/Documentation/devicetree/bindings/mips/brcm/bmips.txt b/Documentation/devicetree/bindings/mips/brcm/bmips.txt
new file mode 100644
index 000000000000..8ef71b4085ca
--- /dev/null
+++ b/Documentation/devicetree/bindings/mips/brcm/bmips.txt
@@ -0,0 +1,8 @@
1* Broadcom MIPS (BMIPS) CPUs
2
3Required properties:
4- compatible: "brcm,bmips3300", "brcm,bmips4350", "brcm,bmips4380",
5 "brcm,bmips5000"
6
7- mips-hpt-frequency: This is common to all CPUs in the system so it lives
8 under the "cpus" node.
diff --git a/Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt b/Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt
new file mode 100644
index 000000000000..8a139cb3c0b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/mips/brcm/cm-dsl.txt
@@ -0,0 +1,11 @@
1* Broadcom cable/DSL platforms
2
3SoCs:
4
5Required properties:
6- compatible: "brcm,bcm3384", "brcm,bcm33843"
7
8Boards:
9
10Required properties:
11- compatible: "brcm,bcm93384wvg"
diff --git a/Documentation/devicetree/bindings/mips/brcm/usb.txt b/Documentation/devicetree/bindings/mips/brcm/usb.txt
new file mode 100644
index 000000000000..452c45c7bf29
--- /dev/null
+++ b/Documentation/devicetree/bindings/mips/brcm/usb.txt
@@ -0,0 +1,11 @@
1* Broadcom USB controllers
2
3Required properties:
4- compatible: "brcm,bcm3384-ohci", "brcm,bcm3384-ehci"
5
6 These currently use the generic-ohci and generic-ehci drivers. On some
7 systems, special handling may be needed in the following cases:
8
9 - Restoring state after systemwide power save modes
10 - Sharing PHYs with the USBD (UDC) hardware
11 - Figuring out which controllers are disabled on ASIC bondout variants
diff --git a/Documentation/devicetree/bindings/mips/cpu_irq.txt b/Documentation/devicetree/bindings/mips/cpu_irq.txt
index 13aa4b62c62a..fc149f326dae 100644
--- a/Documentation/devicetree/bindings/mips/cpu_irq.txt
+++ b/Documentation/devicetree/bindings/mips/cpu_irq.txt
@@ -1,6 +1,6 @@
1MIPS CPU interrupt controller 1MIPS CPU interrupt controller
2 2
3On MIPS the mips_cpu_intc_init() helper can be used to initialize the 8 CPU 3On MIPS the mips_cpu_irq_of_init() helper can be used to initialize the 8 CPU
4IRQs from a devicetree file and create a irq_domain for IRQ controller. 4IRQs from a devicetree file and create a irq_domain for IRQ controller.
5 5
6With the irq_domain in place we can describe how the 8 IRQs are wired to the 6With the irq_domain in place we can describe how the 8 IRQs are wired to the
@@ -36,7 +36,7 @@ Example devicetree:
36 36
37Example platform irq.c: 37Example platform irq.c:
38static struct of_device_id __initdata of_irq_ids[] = { 38static struct of_device_id __initdata of_irq_ids[] = {
39 { .compatible = "mti,cpu-interrupt-controller", .data = mips_cpu_intc_init }, 39 { .compatible = "mti,cpu-interrupt-controller", .data = mips_cpu_irq_of_init },
40 { .compatible = "ralink,rt2880-intc", .data = intc_of_init }, 40 { .compatible = "ralink,rt2880-intc", .data = intc_of_init },
41 {}, 41 {},
42}; 42};
diff --git a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
index 6cd3525d0e09..ee4fc0576c7d 100644
--- a/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
+++ b/Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt
@@ -18,6 +18,10 @@ Required Properties:
18 specific extensions. 18 specific extensions.
19 - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420 19 - "samsung,exynos5420-dw-mshc": for controllers with Samsung Exynos5420
20 specific extensions. 20 specific extensions.
21 - "samsung,exynos7-dw-mshc": for controllers with Samsung Exynos7
22 specific extensions.
23 - "samsung,exynos7-dw-mshc-smu": for controllers with Samsung Exynos7
24 specific extensions having an SMU.
21 25
22* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface 26* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface
23 unit (ciu) clock. This property is applicable only for Exynos5 SoC's and 27 unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
diff --git a/Documentation/devicetree/bindings/mmc/img-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/img-dw-mshc.txt
new file mode 100644
index 000000000000..85de99fcaa2f
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/img-dw-mshc.txt
@@ -0,0 +1,29 @@
1* Imagination specific extensions to the Synopsys Designware Mobile Storage
2 Host Controller
3
4The Synopsys designware mobile storage host controller is used to interface
5a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
6differences between the core Synopsys dw mshc controller properties described
7by synopsys-dw-mshc.txt and the properties used by the Imagination specific
8extensions to the Synopsys Designware Mobile Storage Host Controller.
9
10Required Properties:
11
12* compatible: should be
13 - "img,pistachio-dw-mshc": for Pistachio SoCs
14
15Example:
16
17 mmc@18142000 {
18 compatible = "img,pistachio-dw-mshc";
19 reg = <0x18142000 0x400>;
20 interrupts = <GIC_SHARED 39 IRQ_TYPE_LEVEL_HIGH>;
21
22 clocks = <&system_clk>, <&sdhost_clk>;
23 clock-names = "biu", "ciu";
24
25 fifo-depth = <0x20>;
26 bus-width = <4>;
27 num-slots = <1>;
28 disable-wp;
29 };
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
index 86223c3eda90..4dd6deb90719 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
@@ -12,6 +12,10 @@ Required properties:
12 * for "marvell,armada-380-sdhci", two register areas. The first one 12 * for "marvell,armada-380-sdhci", two register areas. The first one
13 for the SDHCI registers themselves, and the second one for the 13 for the SDHCI registers themselves, and the second one for the
14 AXI/Mbus bridge registers of the SDHCI unit. 14 AXI/Mbus bridge registers of the SDHCI unit.
15- clocks: Array of clocks required for SDHCI; requires at least one for
16 I/O clock.
17- clock-names: Array of names corresponding to clocks property; shall be
18 "io" for I/O clock and "core" for optional core clock.
15 19
16Optional properties: 20Optional properties:
17- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning. 21- mrvl,clk-delay-cycles: Specify a number of cycles to delay for tuning.
@@ -23,6 +27,8 @@ sdhci@d4280800 {
23 reg = <0xd4280800 0x800>; 27 reg = <0xd4280800 0x800>;
24 bus-width = <8>; 28 bus-width = <8>;
25 interrupts = <27>; 29 interrupts = <27>;
30 clocks = <&chip CLKID_SDIO1XIN>, <&chip CLKID_SDIO1>;
31 clock-names = "io", "core";
26 non-removable; 32 non-removable;
27 mrvl,clk-delay-cycles = <31>; 33 mrvl,clk-delay-cycles = <31>;
28}; 34};
@@ -32,5 +38,6 @@ sdhci@d8000 {
32 reg = <0xd8000 0x1000>, <0xdc000 0x100>; 38 reg = <0xd8000 0x1000>, <0xdc000 0x100>;
33 interrupts = <0 25 0x4>; 39 interrupts = <0 25 0x4>;
34 clocks = <&gateclk 17>; 40 clocks = <&gateclk 17>;
41 clock-names = "io";
35 mrvl,clk-delay-cycles = <0x1F>; 42 mrvl,clk-delay-cycles = <0x1F>;
36}; 43};
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
index 6edc3b616e98..1fe6dde98499 100644
--- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
@@ -5,7 +5,9 @@ Required properties:
5- reg : should specify localbus address and size used for the chip, 5- reg : should specify localbus address and size used for the chip,
6 and hardware ECC controller if available. 6 and hardware ECC controller if available.
7 If the hardware ECC is PMECC, it should contain address and size for 7 If the hardware ECC is PMECC, it should contain address and size for
8 PMECC, PMECC Error Location controller and ROM which has lookup tables. 8 PMECC and PMECC Error Location controller.
9 The PMECC lookup table address and size in ROM is optional. If not
10 specified, driver will build it in runtime.
9- atmel,nand-addr-offset : offset for the address latch. 11- atmel,nand-addr-offset : offset for the address latch.
10- atmel,nand-cmd-offset : offset for the command latch. 12- atmel,nand-cmd-offset : offset for the command latch.
11- #address-cells, #size-cells : Must be present if the device has sub-nodes 13- #address-cells, #size-cells : Must be present if the device has sub-nodes
@@ -27,7 +29,7 @@ Optional properties:
27 are: 512, 1024. 29 are: 512, 1024.
28- atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM 30- atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM
29 for different sector size. First one is for sector size 512, the next is for 31 for different sector size. First one is for sector size 512, the next is for
30 sector size 1024. 32 sector size 1024. If not specified, driver will build the table in runtime.
31- nand-bus-width : 8 or 16 bus width if not present 8 33- nand-bus-width : 8 or 16 bus width if not present 8
32- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false 34- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
33- Nand Flash Controller(NFC) is a slave driver under Atmel nand flash 35- Nand Flash Controller(NFC) is a slave driver under Atmel nand flash
diff --git a/Documentation/devicetree/bindings/mtd/diskonchip.txt b/Documentation/devicetree/bindings/mtd/diskonchip.txt
new file mode 100644
index 000000000000..3e13bfdbea5b
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/diskonchip.txt
@@ -0,0 +1,15 @@
1M-Systems and Sandisk DiskOnChip devices
2
3M-System DiskOnChip G3
4======================
5The Sandisk (formerly M-Systems) docg3 is a nand device of 64M to 256MB.
6
7Required properties:
8 - compatible: should be "m-systems,diskonchip-g3"
9 - reg: register base and size
10
11Example:
12 docg3: flash@0 {
13 compatible = "m-systems,diskonchip-g3";
14 reg = <0x0 0x2000>;
15 };
diff --git a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt
index 36ef07d3c90f..af8915b41ccf 100644
--- a/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/gpio-control-nand.txt
@@ -11,8 +11,8 @@ Required properties:
11 are made in native endianness. 11 are made in native endianness.
12- #address-cells, #size-cells : Must be present if the device has sub-nodes 12- #address-cells, #size-cells : Must be present if the device has sub-nodes
13 representing partitions. 13 representing partitions.
14- gpios : specifies the gpio pins to control the NAND device. nwp is an 14- gpios : Specifies the GPIO pins to control the NAND device. The order of
15 optional gpio and may be set to 0 if not present. 15 GPIO references is: RDY, nCE, ALE, CLE, and an optional nWP.
16 16
17Optional properties: 17Optional properties:
18- bank-width : Width (in bytes) of the device. If not present, the width 18- bank-width : Width (in bytes) of the device. If not present, the width
@@ -35,11 +35,11 @@ gpio-nand@1,0 {
35 reg = <1 0x0000 0x2>; 35 reg = <1 0x0000 0x2>;
36 #address-cells = <1>; 36 #address-cells = <1>;
37 #size-cells = <1>; 37 #size-cells = <1>;
38 gpios = <&banka 1 0 /* rdy */ 38 gpios = <&banka 1 0>, /* RDY */
39 &banka 2 0 /* nce */ 39 <&banka 2 0>, /* nCE */
40 &banka 3 0 /* ale */ 40 <&banka 3 0>, /* ALE */
41 &banka 4 0 /* cle */ 41 <&banka 4 0>, /* CLE */
42 0 /* nwp */>; 42 <0>; /* nWP */
43 43
44 partition@0 { 44 partition@0 {
45 ... 45 ...
diff --git a/Documentation/devicetree/bindings/mtd/sunxi-nand.txt b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt
new file mode 100644
index 000000000000..0273adb8638c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/sunxi-nand.txt
@@ -0,0 +1,45 @@
1Allwinner NAND Flash Controller (NFC)
2
3Required properties:
4- compatible : "allwinner,sun4i-a10-nand".
5- reg : shall contain registers location and length for data and reg.
6- interrupts : shall define the nand controller interrupt.
7- #address-cells: shall be set to 1. Encode the nand CS.
8- #size-cells : shall be set to 0.
9- clocks : shall reference nand controller clocks.
10- clock-names : nand controller internal clock names. Shall contain :
11 * "ahb" : AHB gating clock
12 * "mod" : nand controller clock
13
14Optional children nodes:
15Children nodes represent the available nand chips.
16
17Optional properties:
18- allwinner,rb : shall contain the native Ready/Busy ids.
19 or
20- rb-gpios : shall contain the gpios used as R/B pins.
21- nand-ecc-mode : one of the supported ECC modes ("hw", "hw_syndrome", "soft",
22 "soft_bch" or "none")
23
24see Documentation/devicetree/mtd/nand.txt for generic bindings.
25
26
27Examples:
28nfc: nand@01c03000 {
29 compatible = "allwinner,sun4i-a10-nand";
30 reg = <0x01c03000 0x1000>;
31 interrupts = <0 37 1>;
32 clocks = <&ahb_gates 13>, <&nand_clk>;
33 clock-names = "ahb", "mod";
34 #address-cells = <1>;
35 #size-cells = <0>;
36 pinctrl-names = "default";
37 pinctrl-0 = <&nand_pins_a &nand_cs0_pins_a &nand_rb0_pins_a>;
38 status = "okay";
39
40 nand@0 {
41 reg = <0>;
42 allwinner,rb = <0>;
43 nand-ecc-mode = "soft_bch";
44 };
45};
diff --git a/Documentation/devicetree/bindings/net/amd-xgbe.txt b/Documentation/devicetree/bindings/net/amd-xgbe.txt
index 41354f730beb..26efd526d16c 100644
--- a/Documentation/devicetree/bindings/net/amd-xgbe.txt
+++ b/Documentation/devicetree/bindings/net/amd-xgbe.txt
@@ -7,7 +7,10 @@ Required properties:
7 - PCS registers 7 - PCS registers
8- interrupt-parent: Should be the phandle for the interrupt controller 8- interrupt-parent: Should be the phandle for the interrupt controller
9 that services interrupts for this device 9 that services interrupts for this device
10- interrupts: Should contain the amd-xgbe interrupt 10- interrupts: Should contain the amd-xgbe interrupt(s). The first interrupt
11 listed is required and is the general device interrupt. If the optional
12 amd,per-channel-interrupt property is specified, then one additional
13 interrupt for each DMA channel supported by the device should be specified
11- clocks: 14- clocks:
12 - DMA clock for the amd-xgbe device (used for calculating the 15 - DMA clock for the amd-xgbe device (used for calculating the
13 correct Rx interrupt watchdog timer value on a DMA channel 16 correct Rx interrupt watchdog timer value on a DMA channel
@@ -23,6 +26,9 @@ Optional properties:
23- mac-address: mac address to be assigned to the device. Can be overridden 26- mac-address: mac address to be assigned to the device. Can be overridden
24 by UEFI. 27 by UEFI.
25- dma-coherent: Present if dma operations are coherent 28- dma-coherent: Present if dma operations are coherent
29- amd,per-channel-interrupt: Indicates that Rx and Tx complete will generate
30 a unique interrupt for each DMA channel - this requires an additional
31 interrupt be configured for each DMA channel
26 32
27Example: 33Example:
28 xgbe@e0700000 { 34 xgbe@e0700000 {
@@ -30,7 +36,9 @@ Example:
30 reg = <0 0xe0700000 0 0x80000>, 36 reg = <0 0xe0700000 0 0x80000>,
31 <0 0xe0780000 0 0x80000>; 37 <0 0xe0780000 0 0x80000>;
32 interrupt-parent = <&gic>; 38 interrupt-parent = <&gic>;
33 interrupts = <0 325 4>; 39 interrupts = <0 325 4>,
40 <0 326 1>, <0 327 1>, <0 328 1>, <0 329 1>;
41 amd,per-channel-interrupt;
34 clocks = <&xgbe_dma_clk>, <&xgbe_ptp_clk>; 42 clocks = <&xgbe_dma_clk>, <&xgbe_ptp_clk>;
35 clock-names = "dma_clk", "ptp_clk"; 43 clock-names = "dma_clk", "ptp_clk";
36 phy-handle = <&phy>; 44 phy-handle = <&phy>;
diff --git a/Documentation/devicetree/bindings/net/can/c_can.txt b/Documentation/devicetree/bindings/net/can/c_can.txt
index 8f1ae81228e3..5a1d8b0c39e9 100644
--- a/Documentation/devicetree/bindings/net/can/c_can.txt
+++ b/Documentation/devicetree/bindings/net/can/c_can.txt
@@ -4,6 +4,8 @@ Bosch C_CAN/D_CAN controller Device Tree Bindings
4Required properties: 4Required properties:
5- compatible : Should be "bosch,c_can" for C_CAN controllers and 5- compatible : Should be "bosch,c_can" for C_CAN controllers and
6 "bosch,d_can" for D_CAN controllers. 6 "bosch,d_can" for D_CAN controllers.
7 Can be "ti,dra7-d_can", "ti,am3352-d_can" or
8 "ti,am4372-d_can".
7- reg : physical base address and size of the C_CAN/D_CAN 9- reg : physical base address and size of the C_CAN/D_CAN
8 registers map 10 registers map
9- interrupts : property with a value describing the interrupt 11- interrupts : property with a value describing the interrupt
@@ -12,6 +14,9 @@ Required properties:
12Optional properties: 14Optional properties:
13- ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the 15- ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the
14 instance number 16 instance number
17- syscon-raminit : Handle to system control region that contains the
18 RAMINIT register, register offset to the RAMINIT
19 register and the CAN instance number (0 offset).
15 20
16Note: "ti,hwmods" field is used to fetch the base address and irq 21Note: "ti,hwmods" field is used to fetch the base address and irq
17resources from TI, omap hwmod data base during device registration. 22resources from TI, omap hwmod data base during device registration.
diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.txt b/Documentation/devicetree/bindings/net/dsa/dsa.txt
index a62c889aafca..e124847443f8 100644
--- a/Documentation/devicetree/bindings/net/dsa/dsa.txt
+++ b/Documentation/devicetree/bindings/net/dsa/dsa.txt
@@ -10,7 +10,7 @@ Required properties:
10- dsa,ethernet : Should be a phandle to a valid Ethernet device node 10- dsa,ethernet : Should be a phandle to a valid Ethernet device node
11- dsa,mii-bus : Should be a phandle to a valid MDIO bus device node 11- dsa,mii-bus : Should be a phandle to a valid MDIO bus device node
12 12
13Optionnal properties: 13Optional properties:
14- interrupts : property with a value describing the switch 14- interrupts : property with a value describing the switch
15 interrupt number (not supported by the driver) 15 interrupt number (not supported by the driver)
16 16
@@ -23,6 +23,13 @@ Each of these switch child nodes should have the following required properties:
23- #address-cells : Must be 1 23- #address-cells : Must be 1
24- #size-cells : Must be 0 24- #size-cells : Must be 0
25 25
26A switch child node has the following optional property:
27
28- eeprom-length : Set to the length of an EEPROM connected to the
29 switch. Must be set if the switch can not detect
30 the presence and/or size of a connected EEPROM,
31 otherwise optional.
32
26A switch may have multiple "port" children nodes 33A switch may have multiple "port" children nodes
27 34
28Each port children node must have the following mandatory properties: 35Each port children node must have the following mandatory properties:
diff --git a/Documentation/devicetree/bindings/net/micrel.txt b/Documentation/devicetree/bindings/net/micrel.txt
index e1d99b95c4ec..87496a8c64ab 100644
--- a/Documentation/devicetree/bindings/net/micrel.txt
+++ b/Documentation/devicetree/bindings/net/micrel.txt
@@ -6,19 +6,32 @@ Optional properties:
6 6
7 - micrel,led-mode : LED mode value to set for PHYs with configurable LEDs. 7 - micrel,led-mode : LED mode value to set for PHYs with configurable LEDs.
8 8
9 Configure the LED mode with single value. The list of PHYs and 9 Configure the LED mode with single value. The list of PHYs and the
10 the bits that are currently supported: 10 bits that are currently supported:
11 11
12 KSZ8001: register 0x1e, bits 15..14 12 KSZ8001: register 0x1e, bits 15..14
13 KSZ8041: register 0x1e, bits 15..14 13 KSZ8041: register 0x1e, bits 15..14
14 KSZ8021: register 0x1f, bits 5..4 14 KSZ8021: register 0x1f, bits 5..4
15 KSZ8031: register 0x1f, bits 5..4 15 KSZ8031: register 0x1f, bits 5..4
16 KSZ8051: register 0x1f, bits 5..4 16 KSZ8051: register 0x1f, bits 5..4
17 KSZ8081: register 0x1f, bits 5..4
18 KSZ8091: register 0x1f, bits 5..4
17 19
18 See the respective PHY datasheet for the mode values. 20 See the respective PHY datasheet for the mode values.
21
22 - micrel,rmii-reference-clock-select-25-mhz: RMII Reference Clock Select
23 bit selects 25 MHz mode
24
25 Setting the RMII Reference Clock Select bit enables 25 MHz rather
26 than 50 MHz clock mode.
27
28 Note that this option in only needed for certain PHY revisions with a
29 non-standard, inverted function of this configuration bit.
30 Specifically, a clock reference ("rmii-ref" below) is always needed to
31 actually select a mode.
19 32
20 - clocks, clock-names: contains clocks according to the common clock bindings. 33 - clocks, clock-names: contains clocks according to the common clock bindings.
21 34
22 supported clocks: 35 supported clocks:
23 - KSZ8021, KSZ8031: "rmii-ref": The RMII refence input clock. Used 36 - KSZ8021, KSZ8031, KSZ8081, KSZ8091: "rmii-ref": The RMII reference
24 to determine the XI input clock. 37 input clock. Used to determine the XI input clock.
diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
index 5b8c58903077..40831fbaff72 100644
--- a/Documentation/devicetree/bindings/net/phy.txt
+++ b/Documentation/devicetree/bindings/net/phy.txt
@@ -19,7 +19,6 @@ Optional Properties:
19 specifications. If neither of these are specified, the default is to 19 specifications. If neither of these are specified, the default is to
20 assume clause 22. The compatible list may also contain other 20 assume clause 22. The compatible list may also contain other
21 elements. 21 elements.
22- max-speed: Maximum PHY supported speed (10, 100, 1000...)
23 22
24 If the phy's identifier is known then the list may contain an entry 23 If the phy's identifier is known then the list may contain an entry
25 of the form: "ethernet-phy-idAAAA.BBBB" where 24 of the form: "ethernet-phy-idAAAA.BBBB" where
@@ -29,6 +28,8 @@ Optional Properties:
29 4 hex digits. This is the chip vendor OUI bits 19:24, 28 4 hex digits. This is the chip vendor OUI bits 19:24,
30 followed by 10 bits of a vendor specific ID. 29 followed by 10 bits of a vendor specific ID.
31 30
31- max-speed: Maximum PHY supported speed (10, 100, 1000...)
32
32Example: 33Example:
33 34
34ethernet-phy@0 { 35ethernet-phy@0 {
diff --git a/Documentation/devicetree/bindings/net/sh_eth.txt b/Documentation/devicetree/bindings/net/sh_eth.txt
index 34d4db1a4e25..2f6ec85fda8e 100644
--- a/Documentation/devicetree/bindings/net/sh_eth.txt
+++ b/Documentation/devicetree/bindings/net/sh_eth.txt
@@ -9,6 +9,7 @@ Required properties:
9 "renesas,ether-r8a7779" if the device is a part of R8A7779 SoC. 9 "renesas,ether-r8a7779" if the device is a part of R8A7779 SoC.
10 "renesas,ether-r8a7790" if the device is a part of R8A7790 SoC. 10 "renesas,ether-r8a7790" if the device is a part of R8A7790 SoC.
11 "renesas,ether-r8a7791" if the device is a part of R8A7791 SoC. 11 "renesas,ether-r8a7791" if the device is a part of R8A7791 SoC.
12 "renesas,ether-r8a7793" if the device is a part of R8A7793 SoC.
12 "renesas,ether-r8a7794" if the device is a part of R8A7794 SoC. 13 "renesas,ether-r8a7794" if the device is a part of R8A7794 SoC.
13 "renesas,ether-r7s72100" if the device is a part of R7S72100 SoC. 14 "renesas,ether-r7s72100" if the device is a part of R7S72100 SoC.
14- reg: offset and length of (1) the E-DMAC/feLic register block (required), 15- reg: offset and length of (1) the E-DMAC/feLic register block (required),
diff --git a/Documentation/devicetree/bindings/nios2/nios2.txt b/Documentation/devicetree/bindings/nios2/nios2.txt
new file mode 100644
index 000000000000..d6d0a94cb3bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/nios2/nios2.txt
@@ -0,0 +1,62 @@
1* Nios II Processor Binding
2
3This binding specifies what properties available in the device tree
4representation of a Nios II Processor Core.
5
6Users can use sopc2dts tool for generating device tree sources (dts) from a
7Qsys system. See more detail in: http://www.alterawiki.com/wiki/Sopc2dts
8
9Required properties:
10
11- compatible: Compatible property value should be "altr,nios2-1.0".
12- reg: Contains CPU index.
13- interrupt-controller: Specifies that the node is an interrupt controller
14- #interrupt-cells: Specifies the number of cells needed to encode an
15 interrupt source, should be 1.
16- clock-frequency: Contains the clock frequency for CPU, in Hz.
17- dcache-line-size: Contains data cache line size.
18- icache-line-size: Contains instruction line size.
19- dcache-size: Contains data cache size.
20- icache-size: Contains instruction cache size.
21- altr,pid-num-bits: Specifies the number of bits to use to represent the process
22 identifier (PID).
23- altr,tlb-num-ways: Specifies the number of set-associativity ways in the TLB.
24- altr,tlb-num-entries: Specifies the number of entries in the TLB.
25- altr,tlb-ptr-sz: Specifies size of TLB pointer.
26- altr,has-mul: Specifies CPU hardware multipy support, should be 1.
27- altr,has-mmu: Specifies CPU support MMU support, should be 1.
28- altr,has-initda: Specifies CPU support initda instruction, should be 1.
29- altr,reset-addr: Specifies CPU reset address
30- altr,fast-tlb-miss-addr: Specifies CPU fast TLB miss exception address
31- altr,exception-addr: Specifies CPU exception address
32
33Optional properties:
34- altr,has-div: Specifies CPU hardware divide support
35- altr,implementation: Nios II core implementation, this should be "fast";
36
37Example:
38
39cpu@0x0 {
40 device_type = "cpu";
41 compatible = "altr,nios2-1.0";
42 reg = <0>;
43 interrupt-controller;
44 #interrupt-cells = <1>;
45 clock-frequency = <125000000>;
46 dcache-line-size = <32>;
47 icache-line-size = <32>;
48 dcache-size = <32768>;
49 icache-size = <32768>;
50 altr,implementation = "fast";
51 altr,pid-num-bits = <8>;
52 altr,tlb-num-ways = <16>;
53 altr,tlb-num-entries = <128>;
54 altr,tlb-ptr-sz = <7>;
55 altr,has-div = <1>;
56 altr,has-mul = <1>;
57 altr,reset-addr = <0xc2800000>;
58 altr,fast-tlb-miss-addr = <0xc7fff400>;
59 altr,exception-addr = <0xd0000020>;
60 altr,has-initda = <1>;
61 altr,has-mmu = <1>;
62};
diff --git a/Documentation/devicetree/bindings/nios2/timer.txt b/Documentation/devicetree/bindings/nios2/timer.txt
new file mode 100644
index 000000000000..904a5846d7ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/nios2/timer.txt
@@ -0,0 +1,19 @@
1Altera Timer
2
3Required properties:
4
5- compatible : should be "altr,timer-1.0"
6- reg : Specifies base physical address and size of the registers.
7- interrupt-parent: phandle of the interrupt controller
8- interrupts : Should contain the timer interrupt number
9- clock-frequency : The frequency of the clock that drives the counter, in Hz.
10
11Example:
12
13timer {
14 compatible = "altr,timer-1.0";
15 reg = <0x00400000 0x00000020>;
16 interrupt-parent = <&cpu>;
17 interrupts = <11>;
18 clock-frequency = <125000000>;
19};
diff --git a/Documentation/devicetree/bindings/panel/auo,b116xw03.txt b/Documentation/devicetree/bindings/panel/auo,b116xw03.txt
new file mode 100644
index 000000000000..690d0a568ef3
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/auo,b116xw03.txt
@@ -0,0 +1,7 @@
1AU Optronics Corporation 11.6" HD (1366x768) color TFT-LCD panel
2
3Required properties:
4- compatible: should be "auo,b116xw03"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt b/Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt
new file mode 100644
index 000000000000..7da1d5c038ff
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/hannstar,hsd070pww1.txt
@@ -0,0 +1,7 @@
1HannStar Display Corp. HSD070PWW1 7.0" WXGA TFT LCD panel
2
3Required properties:
4- compatible: should be "hannstar,hsd070pww1"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt b/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt
new file mode 100644
index 000000000000..04caaae19af6
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt
@@ -0,0 +1,7 @@
1Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
2
3Required properties:
4- compatible: should be "hit,tx23d38vm0caa"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt b/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt
new file mode 100644
index 000000000000..2743b07cd2f2
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt
@@ -0,0 +1,7 @@
1Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel
2
3Required properties:
4- compatible: should be "innolux,g121i1-l01"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt b/Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt
new file mode 100644
index 000000000000..f522bb8e47e1
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/sharp,lq101r1sx01.txt
@@ -0,0 +1,49 @@
1Sharp Microelectronics 10.1" WQXGA TFT LCD panel
2
3This panel requires a dual-channel DSI host to operate. It supports two modes:
4- left-right: each channel drives the left or right half of the screen
5- even-odd: each channel drives the even or odd lines of the screen
6
7Each of the DSI channels controls a separate DSI peripheral. The peripheral
8driven by the first link (DSI-LINK1), left or even, is considered the primary
9peripheral and controls the device. The 'link2' property contains a phandle
10to the peripheral driven by the second link (DSI-LINK2, right or odd).
11
12Note that in video mode the DSI-LINK1 interface always provides the left/even
13pixels and DSI-LINK2 always provides the right/odd pixels. In command mode it
14is possible to program either link to drive the left/even or right/odd pixels
15but for the sake of consistency this binding assumes that the same assignment
16is chosen as for video mode.
17
18Required properties:
19- compatible: should be "sharp,lq101r1sx01"
20- reg: DSI virtual channel of the peripheral
21
22Required properties (for DSI-LINK1 only):
23- link2: phandle to the DSI peripheral on the secondary link. Note that the
24 presence of this property marks the containing node as DSI-LINK1.
25- power-supply: phandle of the regulator that provides the supply voltage
26
27Optional properties (for DSI-LINK1 only):
28- backlight: phandle of the backlight device attached to the panel
29
30Example:
31
32 dsi@54300000 {
33 panel: panel@0 {
34 compatible = "sharp,lq101r1sx01";
35 reg = <0>;
36
37 link2 = <&secondary>;
38
39 power-supply = <...>;
40 backlight = <...>;
41 };
42 };
43
44 dsi@54400000 {
45 secondary: panel@0 {
46 compatible = "sharp,lq101r1sx01";
47 reg = <0>;
48 };
49 };
diff --git a/Documentation/devicetree/bindings/pci/layerscape-pci.txt b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
new file mode 100644
index 000000000000..6286f049bf18
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/layerscape-pci.txt
@@ -0,0 +1,42 @@
1Freescale Layerscape PCIe controller
2
3This PCIe host controller is based on the Synopsis Designware PCIe IP
4and thus inherits all the common properties defined in designware-pcie.txt.
5
6Required properties:
7- compatible: should contain the platform identifier such as "fsl,ls1021a-pcie"
8- reg: base addresses and lengths of the PCIe controller
9- interrupts: A list of interrupt outputs of the controller. Must contain an
10 entry for each entry in the interrupt-names property.
11- interrupt-names: Must include the following entries:
12 "intr": The interrupt that is asserted for controller interrupts
13- fsl,pcie-scfg: Must include two entries.
14 The first entry must be a link to the SCFG device node
15 The second entry must be '0' or '1' based on physical PCIe controller index.
16 This is used to get SCFG PEXN registers
17
18Example:
19
20 pcie@3400000 {
21 compatible = "fsl,ls1021a-pcie", "snps,dw-pcie";
22 reg = <0x00 0x03400000 0x0 0x00010000 /* controller registers */
23 0x40 0x00000000 0x0 0x00002000>; /* configuration space */
24 reg-names = "regs", "config";
25 interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; /* controller interrupt */
26 interrupt-names = "intr";
27 fsl,pcie-scfg = <&scfg 0>;
28 #address-cells = <3>;
29 #size-cells = <2>;
30 device_type = "pci";
31 num-lanes = <4>;
32 bus-range = <0x0 0xff>;
33 ranges = <0x81000000 0x0 0x00000000 0x40 0x00010000 0x0 0x00010000 /* downstream I/O */
34 0xc2000000 0x0 0x20000000 0x40 0x20000000 0x0 0x20000000 /* prefetchable memory */
35 0x82000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
36 #interrupt-cells = <1>;
37 interrupt-map-mask = <0 0 0 7>;
38 interrupt-map = <0000 0 0 1 &gic GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
39 <0000 0 0 2 &gic GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
40 <0000 0 0 3 &gic GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
41 <0000 0 0 4 &gic GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
42 };
diff --git a/Documentation/devicetree/bindings/pci/pci.txt b/Documentation/devicetree/bindings/pci/pci.txt
index 41aeed38926d..f8fbe9af7b2f 100644
--- a/Documentation/devicetree/bindings/pci/pci.txt
+++ b/Documentation/devicetree/bindings/pci/pci.txt
@@ -7,3 +7,14 @@ And for the interrupt mapping part:
7 7
8Open Firmware Recommended Practice: Interrupt Mapping 8Open Firmware Recommended Practice: Interrupt Mapping
9http://www.openfirmware.org/1275/practice/imap/imap0_9d.pdf 9http://www.openfirmware.org/1275/practice/imap/imap0_9d.pdf
10
11Additionally to the properties specified in the above standards a host bridge
12driver implementation may support the following properties:
13
14- linux,pci-domain:
15 If present this property assigns a fixed PCI domain number to a host bridge,
16 otherwise an unstable (across boots) unique number will be assigned.
17 It is required to either not set this property at all or set it for all
18 host bridges in the system, otherwise potentially conflicting domain numbers
19 may be assigned to root buses behind different host bridges. The domain
20 number for each host bridge in the system must be unique.
diff --git a/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt b/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt
index 88f8c23384c0..c0155f842f62 100644
--- a/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt
+++ b/Documentation/devicetree/bindings/phy/berlin-sata-phy.txt
@@ -2,7 +2,9 @@ Berlin SATA PHY
2--------------- 2---------------
3 3
4Required properties: 4Required properties:
5- compatible: should be "marvell,berlin2q-sata-phy" 5- compatible: should be one of
6 "marvell,berlin2-sata-phy"
7 "marvell,berlin2q-sata-phy"
6- address-cells: should be 1 8- address-cells: should be 1
7- size-cells: should be 0 9- size-cells: should be 0
8- phy-cells: from the generic PHY bindings, must be 1 10- phy-cells: from the generic PHY bindings, must be 1
diff --git a/Documentation/devicetree/bindings/phy/berlin-usb-phy.txt b/Documentation/devicetree/bindings/phy/berlin-usb-phy.txt
new file mode 100644
index 000000000000..be33780f668e
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/berlin-usb-phy.txt
@@ -0,0 +1,16 @@
1* Marvell Berlin USB PHY
2
3Required properties:
4- compatible: "marvell,berlin2-usb-phy" or "marvell,berlin2cd-usb-phy"
5- reg: base address and length of the registers
6- #phys-cells: should be 0
7- resets: reference to the reset controller
8
9Example:
10
11 usb-phy@f774000 {
12 compatible = "marvell,berlin2-usb-phy";
13 reg = <0xf774000 0x128>;
14 #phy-cells = <0>;
15 resets = <&chip 0x104 14>;
16 };
diff --git a/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt b/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt
new file mode 100644
index 000000000000..46a135dae6b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt
@@ -0,0 +1,128 @@
1STMicroelectronics STi MIPHY28LP PHY binding
2============================================
3
4This binding describes a miphy device that is used to control PHY hardware
5for SATA, PCIe or USB3.
6
7Required properties (controller (parent) node):
8- compatible : Should be "st,miphy28lp-phy".
9- st,syscfg : Should be a phandle of the system configuration register group
10 which contain the SATA, PCIe or USB3 mode setting bits.
11
12Required 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
18Required properties (port (child) node):
19- #phy-cells : Should be 1 (See second example)
20 Cell after port phandle is device type from:
21 - PHY_TYPE_SATA
22 - PHY_TYPE_PCI
23 - PHY_TYPE_USB3
24- reg : Address and length of the register set for the device.
25- reg-names : The names of the register addresses corresponding to the registers
26 filled in "reg". It can also contain the offset of the system configuration
27 registers used as glue-logic to setup the device for SATA/PCIe or USB3
28 devices.
29- resets : phandle to the parent reset controller.
30- reset-names : Associated name must be "miphy-sw-rst".
31
32Optional properties (port (child) node):
33- st,osc-rdy : to check the MIPHY0_OSC_RDY status in the glue-logic. This
34 is not available in all the MiPHY. For example, for STiH407, only the
35 MiPHY0 has this bit.
36- st,osc-force-ext : to select the external oscillator. This can change from
37 different MiPHY inside the same SoC.
38- st,sata_gen : to select which SATA_SPDMODE has to be set in the SATA system config
39 register.
40- st,px_rx_pol_inv : to invert polarity of RXn/RXp (respectively negative line and positive
41 line).
42- st,scc-on : enable ssc to reduce effects of EMI (only for sata or PCIe).
43- st,tx-impedance-comp : to compensate tx impedance avoiding out of range values.
44
45example:
46
47 miphy28lp_phy: miphy28lp@9b22000 {
48 compatible = "st,miphy28lp-phy";
49 st,syscfg = <&syscfg_core>;
50 #address-cells = <1>;
51 #size-cells = <1>;
52 ranges;
53
54 phy_port0: port@9b22000 {
55 reg = <0x9b22000 0xff>,
56 <0x9b09000 0xff>,
57 <0x9b04000 0xff>,
58 <0x114 0x4>, /* sysctrl MiPHY cntrl */
59 <0x818 0x4>, /* sysctrl MiPHY status*/
60 <0xe0 0x4>, /* sysctrl PCIe */
61 <0xec 0x4>; /* sysctrl SATA */
62 reg-names = "sata-up",
63 "pcie-up",
64 "pipew",
65 "miphy-ctrl-glue",
66 "miphy-status-glue",
67 "pcie-glue",
68 "sata-glue";
69 #phy-cells = <1>;
70 st,osc-rdy;
71 reset-names = "miphy-sw-rst";
72 resets = <&softreset STIH407_MIPHY0_SOFTRESET>;
73 };
74
75 phy_port1: port@9b2a000 {
76 reg = <0x9b2a000 0xff>,
77 <0x9b19000 0xff>,
78 <0x9b14000 0xff>,
79 <0x118 0x4>,
80 <0x81c 0x4>,
81 <0xe4 0x4>,
82 <0xf0 0x4>;
83 reg-names = "sata-up",
84 "pcie-up",
85 "pipew",
86 "miphy-ctrl-glue",
87 "miphy-status-glue",
88 "pcie-glue",
89 "sata-glue";
90 #phy-cells = <1>;
91 st,osc-force-ext;
92 reset-names = "miphy-sw-rst";
93 resets = <&softreset STIH407_MIPHY1_SOFTRESET>;
94 };
95
96 phy_port2: port@8f95000 {
97 reg = <0x8f95000 0xff>,
98 <0x8f90000 0xff>,
99 <0x11c 0x4>,
100 <0x820 0x4>;
101 reg-names = "pipew",
102 "usb3-up",
103 "miphy-ctrl-glue",
104 "miphy-status-glue";
105 #phy-cells = <1>;
106 reset-names = "miphy-sw-rst";
107 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
108 };
109 };
110
111
112Specifying phy control of devices
113=================================
114
115Device nodes should specify the configuration required in their "phys"
116property, containing a phandle to the miphy device node and an index
117specifying which configuration to use, as described in phy-bindings.txt.
118
119example:
120 sata0: sata@9b20000 {
121 ...
122 phys = <&phy_port0 PHY_TYPE_SATA>;
123 ...
124 };
125
126Macro definitions for the supported miphy configuration can be found in:
127
128include/dt-bindings/phy/phy-miphy28lp.h
diff --git a/Documentation/devicetree/bindings/phy/phy-mvebu.txt b/Documentation/devicetree/bindings/phy/phy-mvebu.txt
new file mode 100644
index 000000000000..f95b6260a3b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/phy-mvebu.txt
@@ -0,0 +1,43 @@
1* Marvell MVEBU SATA PHY
2
3Power control for the SATA phy found on Marvell MVEBU SoCs.
4
5This document extends the binding described in phy-bindings.txt
6
7Required properties :
8
9 - reg : Offset and length of the register set for the SATA device
10 - compatible : Should be "marvell,mvebu-sata-phy"
11 - clocks : phandle of clock and specifier that supplies the device
12 - clock-names : Should be "sata"
13
14Example:
15 sata-phy@84000 {
16 compatible = "marvell,mvebu-sata-phy";
17 reg = <0x84000 0x0334>;
18 clocks = <&gate_clk 15>;
19 clock-names = "sata";
20 #phy-cells = <0>;
21 status = "ok";
22 };
23
24Armada 375 USB cluster
25----------------------
26
27Armada 375 comes with an USB2 host and device controller and an USB3
28controller. The USB cluster control register allows to manage common
29features of both USB controllers.
30
31Required properties:
32
33- compatible: "marvell,armada-375-usb-cluster"
34- reg: Should contain usb cluster register location and length.
35- #phy-cells : from the generic phy bindings, must be 1. Possible
36values are 1 (USB2), 2 (USB3).
37
38Example:
39 usbcluster: usb-cluster@18400 {
40 compatible = "marvell,armada-375-usb-cluster";
41 reg = <0x18400 0x4>;
42 #phy-cells = <1>
43 };
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt
index 15e0f2c7130f..d5bad920827f 100644
--- a/Documentation/devicetree/bindings/phy/samsung-phy.txt
+++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt
@@ -128,6 +128,7 @@ Required properties:
128- compatible : Should be set to one of the following supported values: 128- compatible : Should be set to one of the following supported values:
129 - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC, 129 - "samsung,exynos5250-usbdrd-phy" - for exynos5250 SoC,
130 - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC. 130 - "samsung,exynos5420-usbdrd-phy" - for exynos5420 SoC.
131 - "samsung,exynos7-usbdrd-phy" - for exynos7 SoC.
131- reg : Register offset and length of USB DRD PHY register set; 132- reg : Register offset and length of USB DRD PHY register set;
132- clocks: Clock IDs array as required by the controller 133- clocks: Clock IDs array as required by the controller
133- clock-names: names of clocks correseponding to IDs in the clock property; 134- clock-names: names of clocks correseponding to IDs in the clock property;
@@ -138,6 +139,11 @@ Required properties:
138 PHY operations, associated by phy name. It is used to 139 PHY operations, associated by phy name. It is used to
139 determine bit values for clock settings register. 140 determine bit values for clock settings register.
140 For Exynos5420 this is given as 'sclk_usbphy30' in CMU. 141 For Exynos5420 this is given as 'sclk_usbphy30' in CMU.
142 - optional clocks: Exynos7 SoC has now following additional
143 gate clocks available:
144 - phy_pipe: for PIPE3 phy
145 - phy_utmi: for UTMI+ phy
146 - itp: for ITP generation
141- samsung,pmu-syscon: phandle for PMU system controller interface, used to 147- samsung,pmu-syscon: phandle for PMU system controller interface, used to
142 control pmu registers for power isolation. 148 control pmu registers for power isolation.
143- #phy-cells : from the generic PHY bindings, must be 1; 149- #phy-cells : from the generic PHY bindings, must be 1;
diff --git a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt
index a186181c402b..51b943cc9770 100644
--- a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pdc-pinctrl.txt
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the 9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node". 10phrase "pin configuration node".
11 11
12TZ1090-PDC's pin configuration nodes act as a container for an abitrary number 12TZ1090-PDC's pin configuration nodes act as a container for an arbitrary number
13of subnodes. Each of these subnodes represents some desired configuration for a 13of subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the 14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those pin(s)/group(s), and various pin configuration 15mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt
index 4b27c99f7f9d..509faa87ad0e 100644
--- a/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/img,tz1090-pinctrl.txt
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the 9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node". 10phrase "pin configuration node".
11 11
12TZ1090's pin configuration nodes act as a container for an abitrary number of 12TZ1090's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a 13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the 14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those pin(s)/group(s), and various pin configuration 15mux function to select on those pin(s)/group(s), and various pin configuration
@@ -67,7 +67,7 @@ Valid values for pin and group names are:
67 They also all support the some form of muxing. Any pins which are contained 67 They also all support the some form of muxing. Any pins which are contained
68 in one of the mux groups (see below) can be muxed only to the functions 68 in one of the mux groups (see below) can be muxed only to the functions
69 supported by the mux group. All other pins can be muxed to the "perip" 69 supported by the mux group. All other pins can be muxed to the "perip"
70 function which which enables them with their intended peripheral. 70 function which enables them with their intended peripheral.
71 71
72 Different pins in the same mux group cannot be muxed to different functions, 72 Different pins in the same mux group cannot be muxed to different functions,
73 however it is possible to mux only a subset of the pins in a mux group to a 73 however it is possible to mux only a subset of the pins in a mux group to a
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt
index daa768956069..ac4da9fe07bd 100644
--- a/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt
+++ b/Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the 9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node". 10phrase "pin configuration node".
11 11
12Lantiq's pin configuration nodes act as a container for an abitrary number of 12Lantiq's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a 13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the 14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those group(s), and two pin configuration parameters: 15mux function to select on those group(s), and two pin configuration parameters:
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt
index b5469db1d7ad..e89b4677567d 100644
--- a/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt
+++ b/Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the 9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node". 10phrase "pin configuration node".
11 11
12Lantiq's pin configuration nodes act as a container for an abitrary number of 12Lantiq's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a 13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the 14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those group(s), and two pin configuration parameters: 15mux function to select on those group(s), and two pin configuration parameters:
diff --git a/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
new file mode 100644
index 000000000000..17e7240c6998
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/meson,pinctrl.txt
@@ -0,0 +1,96 @@
1== Amlogic Meson pinmux controller ==
2
3Required properties for the root node:
4 - compatible: "amlogic,meson8-pinctrl"
5 - reg: address and size of registers controlling irq functionality
6
7=== GPIO sub-nodes ===
8
9The 2 power domains of the controller (regular and always-on) are
10represented as sub-nodes and each of them acts as a GPIO controller.
11
12Required properties for sub-nodes are:
13 - reg: should contain address and size for mux, pull-enable, pull and
14 gpio register sets
15 - reg-names: an array of strings describing the "reg" entries. Must
16 contain "mux", "pull" and "gpio". "pull-enable" is optional and
17 when it is missing the "pull" registers are used instead
18 - gpio-controller: identifies the node as a gpio controller
19 - #gpio-cells: must be 2
20
21Valid sub-node names are:
22 - "banks" for the regular domain
23 - "ao-bank" for the always-on domain
24
25=== Other sub-nodes ===
26
27Child nodes without the "gpio-controller" represent some desired
28configuration for a pin or a group. Those nodes can be pinmux nodes or
29configuration nodes.
30
31Required properties for pinmux nodes are:
32 - groups: a list of pinmux groups. The list of all available groups
33 depends on the SoC and can be found in driver sources.
34 - function: the name of a function to activate for the specified set
35 of groups. The list of all available functions depends on the SoC
36 and can be found in driver sources.
37
38Required properties for configuration nodes:
39 - pins: a list of pin names
40
41Configuration nodes support the generic properties "bias-disable",
42"bias-pull-up" and "bias-pull-down", described in file
43pinctrl-bindings.txt
44
45=== Example ===
46
47 pinctrl: pinctrl@c1109880 {
48 compatible = "amlogic,meson8-pinctrl";
49 reg = <0xc1109880 0x10>;
50 #address-cells = <1>;
51 #size-cells = <1>;
52 ranges;
53
54 gpio: banks@c11080b0 {
55 reg = <0xc11080b0 0x28>,
56 <0xc11080e8 0x18>,
57 <0xc1108120 0x18>,
58 <0xc1108030 0x30>;
59 reg-names = "mux", "pull", "pull-enable", "gpio";
60 gpio-controller;
61 #gpio-cells = <2>;
62 };
63
64 gpio_ao: ao-bank@c1108030 {
65 reg = <0xc8100014 0x4>,
66 <0xc810002c 0x4>,
67 <0xc8100024 0x8>;
68 reg-names = "mux", "pull", "gpio";
69 gpio-controller;
70 #gpio-cells = <2>;
71 };
72
73 nand {
74 mux {
75 groups = "nand_io", "nand_io_ce0", "nand_io_ce1",
76 "nand_io_rb0", "nand_ale", "nand_cle",
77 "nand_wen_clk", "nand_ren_clk", "nand_dqs",
78 "nand_ce2", "nand_ce3";
79 function = "nand";
80 };
81 };
82
83 uart_ao_a {
84 mux {
85 groups = "uart_tx_ao_a", "uart_rx_ao_a",
86 "uart_cts_ao_a", "uart_rts_ao_a";
87 function = "uart_ao";
88 };
89
90 conf {
91 pins = "GPIOAO_0", "GPIOAO_1",
92 "GPIOAO_2", "GPIOAO_3";
93 bias-disable;
94 };
95 };
96 };
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
index 61e73cde9ae9..3c8ce28baad6 100644
--- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
@@ -9,7 +9,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the 9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node". 10phrase "pin configuration node".
11 11
12Tegra's pin configuration nodes act as a container for an abitrary number of 12Tegra's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a 13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the 14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those pin(s)/group(s), and various pin configuration 15mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
index 98eb94d91a1c..47d84b6ee91b 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
@@ -216,4 +216,4 @@ arguments are described below.
216 or 0 to disable debouncing 216 or 0 to disable debouncing
217 217
218More in-depth documentation on these parameters can be found in 218More in-depth documentation on these parameters can be found in
219<include/linux/pinctrl/pinconfig-generic.h> 219<include/linux/pinctrl/pinconf-generic.h>
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
index c596a6ad3285..5f55be59d914 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
@@ -13,7 +13,7 @@ Optional properties:
13Please refer to pinctrl-bindings.txt in this directory for details of the common 13Please refer to pinctrl-bindings.txt in this directory for details of the common
14pinctrl bindings used by client devices. 14pinctrl bindings used by client devices.
15 15
16SiRFprimaII's pinmux nodes act as a container for an abitrary number of subnodes. 16SiRFprimaII's pinmux nodes act as a container for an arbitrary number of subnodes.
17Each of these subnodes represents some desired configuration for a group of pins. 17Each of these subnodes represents some desired configuration for a group of pins.
18 18
19Required subnode-properties: 19Required subnode-properties:
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
index b4480d5c3aca..458615596946 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl_spear.txt
@@ -32,7 +32,7 @@ Required properties:
32Please refer to pinctrl-bindings.txt in this directory for details of the common 32Please refer to pinctrl-bindings.txt in this directory for details of the common
33pinctrl bindings used by client devices. 33pinctrl bindings used by client devices.
34 34
35SPEAr's pinmux nodes act as a container for an abitrary number of subnodes. Each 35SPEAr's pinmux nodes act as a container for an arbitrary number of subnodes. Each
36of these subnodes represents muxing for a pin, a group, or a list of pins or 36of these subnodes represents muxing for a pin, a group, or a list of pins or
37groups. 37groups.
38 38
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt
index 2fb90b37aa09..a7bde64798c7 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt
@@ -18,7 +18,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
18common pinctrl bindings used by client devices, including the meaning of the 18common pinctrl bindings used by client devices, including the meaning of the
19phrase "pin configuration node". 19phrase "pin configuration node".
20 20
21Qualcomm's pin configuration nodes act as a container for an abitrary number of 21Qualcomm's pin configuration nodes act as a container for an arbitrary number of
22subnodes. Each of these subnodes represents some desired configuration for a 22subnodes. Each of these subnodes represents some desired configuration for a
23pin, a group, or a list of pins or groups. This configuration can include the 23pin, a group, or a list of pins or groups. This configuration can include the
24mux function to select on those pin(s)/group(s), and various pin configuration 24mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt
index ffafa1990a30..c4ea61ac56f2 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt
@@ -47,7 +47,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
47common pinctrl bindings used by client devices, including the meaning of the 47common pinctrl bindings used by client devices, including the meaning of the
48phrase "pin configuration node". 48phrase "pin configuration node".
49 49
50The pin configuration nodes act as a container for an abitrary number of 50The pin configuration nodes act as a container for an arbitrary number of
51subnodes. Each of these subnodes represents some desired configuration for a 51subnodes. Each of these subnodes represents some desired configuration for a
52pin, a group, or a list of pins or groups. This configuration can include the 52pin, a group, or a list of pins or groups. This configuration can include the
53mux function to select on those pin(s)/group(s), and various pin configuration 53mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
index e33e4dcdce79..6e88e91feb11 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
@@ -18,7 +18,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
18common pinctrl bindings used by client devices, including the meaning of the 18common pinctrl bindings used by client devices, including the meaning of the
19phrase "pin configuration node". 19phrase "pin configuration node".
20 20
21Qualcomm's pin configuration nodes act as a container for an abitrary number of 21Qualcomm's pin configuration nodes act as a container for an arbitrary number of
22subnodes. Each of these subnodes represents some desired configuration for a 22subnodes. Each of these subnodes represents some desired configuration for a
23pin, a group, or a list of pins or groups. This configuration can include the 23pin, a group, or a list of pins or groups. This configuration can include the
24mux function to select on those pin(s)/group(s), and various pin configuration 24mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt
index 93b7de91b9f6..eb8d8aa41f20 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8960-pinctrl.txt
@@ -47,7 +47,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
47common pinctrl bindings used by client devices, including the meaning of the 47common pinctrl bindings used by client devices, including the meaning of the
48phrase "pin configuration node". 48phrase "pin configuration node".
49 49
50The pin configuration nodes act as a container for an abitrary number of 50The pin configuration nodes act as a container for an arbitrary number of
51subnodes. Each of these subnodes represents some desired configuration for a 51subnodes. Each of these subnodes represents some desired configuration for a
52pin, a group, or a list of pins or groups. This configuration can include the 52pin, a group, or a list of pins or groups. This configuration can include the
53mux function to select on those pin(s)/group(s), and various pin configuration 53mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt
index d2ea80dc43eb..e4d6a9d20f7d 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt
@@ -18,7 +18,7 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
18common pinctrl bindings used by client devices, including the meaning of the 18common pinctrl bindings used by client devices, including the meaning of the
19phrase "pin configuration node". 19phrase "pin configuration node".
20 20
21Qualcomm's pin configuration nodes act as a container for an abitrary number of 21Qualcomm's pin configuration nodes act as a container for an arbitrary number of
22subnodes. Each of these subnodes represents some desired configuration for a 22subnodes. Each of these subnodes represents some desired configuration for a
23pin, a group, or a list of pins or groups. This configuration can include the 23pin, a group, or a list of pins or groups. This configuration can include the
24mux function to select on those pin(s)/group(s), and various pin configuration 24mux function to select on those pin(s)/group(s), and various pin configuration
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
new file mode 100644
index 000000000000..7ed08048516a
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-gpio.txt
@@ -0,0 +1,215 @@
1Qualcomm PMIC GPIO block
2
3This binding describes the GPIO block(s) found in the 8xxx series of
4PMIC's from Qualcomm.
5
6- compatible:
7 Usage: required
8 Value type: <string>
9 Definition: must be one of:
10 "qcom,pm8018-gpio"
11 "qcom,pm8038-gpio"
12 "qcom,pm8058-gpio"
13 "qcom,pm8917-gpio"
14 "qcom,pm8921-gpio"
15 "qcom,pm8941-gpio"
16 "qcom,pma8084-gpio"
17
18- reg:
19 Usage: required
20 Value type: <prop-encoded-array>
21 Definition: Register base of the GPIO block and length.
22
23- interrupts:
24 Usage: required
25 Value type: <prop-encoded-array>
26 Definition: Must contain an array of encoded interrupt specifiers for
27 each available GPIO
28
29- gpio-controller:
30 Usage: required
31 Value type: <none>
32 Definition: Mark the device node as a GPIO controller
33
34- #gpio-cells:
35 Usage: required
36 Value type: <u32>
37 Definition: Must be 2;
38 the first cell will be used to define gpio number and the
39 second denotes the flags for this gpio
40
41Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
42a general description of GPIO and interrupt bindings.
43
44Please refer to pinctrl-bindings.txt in this directory for details of the
45common pinctrl bindings used by client devices, including the meaning of the
46phrase "pin configuration node".
47
48The pin configuration nodes act as a container for an arbitrary number of
49subnodes. Each of these subnodes represents some desired configuration for a
50pin or a list of pins. This configuration can include the
51mux function to select on those pin(s), and various pin configuration
52parameters, as listed below.
53
54
55SUBNODES:
56
57The name of each subnode is not important; all subnodes should be enumerated
58and processed purely based on their content.
59
60Each subnode only affects those parameters that are explicitly listed. In
61other words, a subnode that lists a mux function but no pin configuration
62parameters implies no information about any pin configuration parameters.
63Similarly, a pin subnode that describes a pullup parameter implies no
64information about e.g. the mux function.
65
66The following generic properties as defined in pinctrl-bindings.txt are valid
67to specify in a pin configuration subnode:
68
69- pins:
70 Usage: required
71 Value type: <string-array>
72 Definition: List of gpio pins affected by the properties specified in
73 this subnode. Valid pins are:
74 gpio1-gpio6 for pm8018
75 gpio1-gpio12 for pm8038
76 gpio1-gpio40 for pm8058
77 gpio1-gpio38 for pm8917
78 gpio1-gpio44 for pm8921
79 gpio1-gpio36 for pm8941
80 gpio1-gpio22 for pma8084
81
82- function:
83 Usage: required
84 Value type: <string>
85 Definition: Specify the alternative function to be configured for the
86 specified pins. Valid values are:
87 "normal",
88 "paired",
89 "func1",
90 "func2",
91 "dtest1",
92 "dtest2",
93 "dtest3",
94 "dtest4"
95
96- bias-disable:
97 Usage: optional
98 Value type: <none>
99 Definition: The specified pins should be configured as no pull.
100
101- bias-pull-down:
102 Usage: optional
103 Value type: <none>
104 Definition: The specified pins should be configured as pull down.
105
106- bias-pull-up:
107 Usage: optional
108 Value type: <empty>
109 Definition: The specified pins should be configured as pull up.
110
111- qcom,pull-up-strength:
112 Usage: optional
113 Value type: <u32>
114 Definition: Specifies the strength to use for pull up, if selected.
115 Valid values are; as defined in
116 <dt-bindings/pinctrl/qcom,pmic-gpio.h>:
117 1: 30uA (PMIC_GPIO_PULL_UP_30)
118 2: 1.5uA (PMIC_GPIO_PULL_UP_1P5)
119 3: 31.5uA (PMIC_GPIO_PULL_UP_31P5)
120 4: 1.5uA + 30uA boost (PMIC_GPIO_PULL_UP_1P5_30)
121 If this property is ommited 30uA strength will be used if
122 pull up is selected
123
124- bias-high-impedance:
125 Usage: optional
126 Value type: <none>
127 Definition: The specified pins will put in high-Z mode and disabled.
128
129- input-enable:
130 Usage: optional
131 Value type: <none>
132 Definition: The specified pins are put in input mode.
133
134- output-high:
135 Usage: optional
136 Value type: <none>
137 Definition: The specified pins are configured in output mode, driven
138 high.
139
140- output-low:
141 Usage: optional
142 Value type: <none>
143 Definition: The specified pins are configured in output mode, driven
144 low.
145
146- power-source:
147 Usage: optional
148 Value type: <u32>
149 Definition: Selects the power source for the specified pins. Valid
150 power sources are defined per chip in
151 <dt-bindings/pinctrl/qcom,pmic-gpio.h>
152
153- qcom,drive-strength:
154 Usage: optional
155 Value type: <u32>
156 Definition: Selects the drive strength for the specified pins. Value
157 drive strengths are:
158 0: no (PMIC_GPIO_STRENGTH_NO)
159 1: high (PMIC_GPIO_STRENGTH_HIGH) 0.9mA @ 1.8V - 1.9mA @ 2.6V
160 2: medium (PMIC_GPIO_STRENGTH_MED) 0.6mA @ 1.8V - 1.25mA @ 2.6V
161 3: low (PMIC_GPIO_STRENGTH_LOW) 0.15mA @ 1.8V - 0.3mA @ 2.6V
162 as defined in <dt-bindings/pinctrl/qcom,pmic-gpio.h>
163
164- drive-push-pull:
165 Usage: optional
166 Value type: <none>
167 Definition: The specified pins are configured in push-pull mode.
168
169- drive-open-drain:
170 Usage: optional
171 Value type: <none>
172 Definition: The specified pins are configured in open-drain mode.
173
174- drive-open-source:
175 Usage: optional
176 Value type: <none>
177 Definition: The specified pins are configured in open-source mode.
178
179Example:
180
181 pm8921_gpio: gpio@150 {
182 compatible = "qcom,pm8921-gpio";
183 reg = <0x150 0x160>;
184 interrupts = <192 1>, <193 1>, <194 1>,
185 <195 1>, <196 1>, <197 1>,
186 <198 1>, <199 1>, <200 1>,
187 <201 1>, <202 1>, <203 1>,
188 <204 1>, <205 1>, <206 1>,
189 <207 1>, <208 1>, <209 1>,
190 <210 1>, <211 1>, <212 1>,
191 <213 1>, <214 1>, <215 1>,
192 <216 1>, <217 1>, <218 1>,
193 <219 1>, <220 1>, <221 1>,
194 <222 1>, <223 1>, <224 1>,
195 <225 1>, <226 1>, <227 1>,
196 <228 1>, <229 1>, <230 1>,
197 <231 1>, <232 1>, <233 1>,
198 <234 1>, <235 1>;
199
200 gpio-controller;
201 #gpio-cells = <2>;
202
203 pm8921_gpio_keys: gpio-keys {
204 volume-keys {
205 pins = "gpio20", "gpio21";
206 function = "normal";
207
208 input-enable;
209 bias-pull-up;
210 drive-push-pull;
211 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
212 power-source = <PM8921_GPIO_S4>;
213 };
214 };
215 };
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt
new file mode 100644
index 000000000000..854774b194ed
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt
@@ -0,0 +1,162 @@
1Qualcomm PMIC Multi-Purpose Pin (MPP) block
2
3This binding describes the MPP block(s) found in the 8xxx series
4of PMIC's from Qualcomm.
5
6- compatible:
7 Usage: required
8 Value type: <string>
9 Definition: Should contain one of:
10 "qcom,pm8841-mpp",
11 "qcom,pm8941-mpp",
12 "qcom,pma8084-mpp",
13
14- reg:
15 Usage: required
16 Value type: <prop-encoded-array>
17 Definition: Register base of the MPP block and length.
18
19- interrupts:
20 Usage: required
21 Value type: <prop-encoded-array>
22 Definition: Must contain an array of encoded interrupt specifiers for
23 each available MPP
24
25- gpio-controller:
26 Usage: required
27 Value type: <none>
28 Definition: Mark the device node as a GPIO controller
29
30- #gpio-cells:
31 Usage: required
32 Value type: <u32>
33 Definition: Must be 2;
34 the first cell will be used to define MPP number and the
35 second denotes the flags for this MPP
36
37Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
38a general description of GPIO and interrupt bindings.
39
40Please refer to pinctrl-bindings.txt in this directory for details of the
41common pinctrl bindings used by client devices, including the meaning of the
42phrase "pin configuration node".
43
44The pin configuration nodes act as a container for an arbitrary number of
45subnodes. Each of these subnodes represents some desired configuration for a
46pin or a list of pins. This configuration can include the
47mux function to select on those pin(s), and various pin configuration
48parameters, as listed below.
49
50SUBNODES:
51
52The name of each subnode is not important; all subnodes should be enumerated
53and processed purely based on their content.
54
55Each subnode only affects those parameters that are explicitly listed. In
56other words, a subnode that lists a mux function but no pin configuration
57parameters implies no information about any pin configuration parameters.
58Similarly, a pin subnode that describes a pullup parameter implies no
59information about e.g. the mux function.
60
61The following generic properties as defined in pinctrl-bindings.txt are valid
62to specify in a pin configuration subnode:
63
64- pins:
65 Usage: required
66 Value type: <string-array>
67 Definition: List of MPP pins affected by the properties specified in
68 this subnode. Valid pins are:
69 mpp1-mpp4 for pm8841
70 mpp1-mpp8 for pm8941
71 mpp1-mpp4 for pma8084
72
73- function:
74 Usage: required
75 Value type: <string>
76 Definition: Specify the alternative function to be configured for the
77 specified pins. Valid values are:
78 "normal",
79 "paired",
80 "dtest1",
81 "dtest2",
82 "dtest3",
83 "dtest4"
84
85- bias-disable:
86 Usage: optional
87 Value type: <none>
88 Definition: The specified pins should be configured as no pull.
89
90- bias-pull-up:
91 Usage: optional
92 Value type: <u32>
93 Definition: The specified pins should be configured as pull up.
94 Valid values are 600, 10000 and 30000 in bidirectional mode
95 only, i.e. when operating in qcom,analog-mode and input and
96 outputs are enabled. The hardware ignores the configuration
97 when operating in other modes.
98
99- bias-high-impedance:
100 Usage: optional
101 Value type: <none>
102 Definition: The specified pins will put in high-Z mode and disabled.
103
104- input-enable:
105 Usage: optional
106 Value type: <none>
107 Definition: The specified pins are put in input mode, i.e. their input
108 buffer is enabled
109
110- output-high:
111 Usage: optional
112 Value type: <none>
113 Definition: The specified pins are configured in output mode, driven
114 high.
115
116- output-low:
117 Usage: optional
118 Value type: <none>
119 Definition: The specified pins are configured in output mode, driven
120 low.
121
122- power-source:
123 Usage: optional
124 Value type: <u32>
125 Definition: Selects the power source for the specified pins. Valid power
126 sources are defined in <dt-bindings/pinctrl/qcom,pmic-mpp.h>
127
128- qcom,analog-mode:
129 Usage: optional
130 Value type: <none>
131 Definition: Selects Analog mode of operation: combined with input-enable
132 and/or output-high, output-low MPP could operate as
133 Bidirectional Logic, Analog Input, Analog Output.
134
135- qcom,amux-route:
136 Usage: optional
137 Value type: <u32>
138 Definition: Selects the source for analog input. Valid values are
139 defined in <dt-bindings/pinctrl/qcom,pmic-mpp.h>
140 PMIC_MPP_AMUX_ROUTE_CH5, PMIC_MPP_AMUX_ROUTE_CH6...
141
142Example:
143
144 mpps@a000 {
145 compatible = "qcom,pm8841-mpp";
146 reg = <0xa000>;
147 gpio-controller;
148 #gpio-cells = <2>;
149 interrupts = <4 0xa0 0 0>, <4 0xa1 0 0>, <4 0xa2 0 0>, <4 0xa3 0 0>;
150
151 pinctrl-names = "default";
152 pinctrl-0 = <&pm8841_default>;
153
154 pm8841_default: default {
155 gpio {
156 pins = "mpp1", "mpp2", "mpp3", "mpp4";
157 function = "normal";
158 input-enable;
159 power-source = <PM8841_MPP_S3>;
160 };
161 };
162 };
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index e82aaf492517..8425838a6dff 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -18,6 +18,7 @@ Required Properties:
18 - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. 18 - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller.
19 - "samsung,exynos5260-pinctrl": for Exynos5260 compatible pin-controller. 19 - "samsung,exynos5260-pinctrl": for Exynos5260 compatible pin-controller.
20 - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. 20 - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller.
21 - "samsung,exynos7-pinctrl": for Exynos7 compatible pin-controller.
21 22
22- reg: Base address of the pin controller hardware module and length of 23- reg: Base address of the pin controller hardware module and length of
23 the address space it occupies. 24 the address space it occupies.
@@ -136,6 +137,8 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a
136 found on Samsung S3C64xx SoCs, 137 found on Samsung S3C64xx SoCs,
137 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller 138 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller
138 found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs. 139 found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs.
140 - samsung,exynos7-wakeup-eint: represents wakeup interrupt controller
141 found on Samsung Exynos7 SoC.
139 - interrupt-parent: phandle of the interrupt parent to which the external 142 - interrupt-parent: phandle of the interrupt parent to which the external
140 wakeup interrupts are forwarded to. 143 wakeup interrupts are forwarded to.
141 - interrupts: interrupt used by multiplexed wakeup interrupts. 144 - interrupts: interrupt used by multiplexed wakeup interrupts.
diff --git a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
index e3865e136067..87697420439e 100644
--- a/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
+++ b/Documentation/devicetree/bindings/pinctrl/ste,abx500.txt
@@ -8,42 +8,8 @@ Please refer to pinctrl-bindings.txt in this directory for details of the
8common pinctrl bindings used by client devices, including the meaning of the 8common pinctrl bindings used by client devices, including the meaning of the
9phrase "pin configuration node". 9phrase "pin configuration node".
10 10
11ST Ericsson's pin configuration nodes act as a container for an arbitrary number of 11ST Ericsson's pin configuration nodes use the generic pin multiplexing
12subnodes. Each of these subnodes represents some desired configuration for a 12and pin configuration bindings, see pinctrl-bindings.txt
13pin, a group, or a list of pins or groups. This configuration can include the
14mux function to select on those pin(s)/group(s), and various pin configuration
15parameters, such as input, output, pull up, pull down...
16
17The name of each subnode is not important; all subnodes should be enumerated
18and processed purely based on their content.
19
20Required subnode-properties:
21- ste,pins : An array of strings. Each string contains the name of a pin or
22 group.
23
24Optional subnode-properties:
25- ste,function: A string containing the name of the function to mux to the
26 pin or group.
27
28- generic pin configuration option to use. Example :
29
30 default_cfg {
31 ste,pins = "GPIO1";
32 bias-disable;
33 };
34
35- ste,config: Handle of pin configuration node containing the generic
36 pinconfig options to use, as described in pinctrl-bindings.txt in
37 this directory. Example :
38
39 pcfg_bias_disable: pcfg_bias_disable {
40 bias-disable;
41 };
42
43 default_cfg {
44 ste,pins = "GPIO1";
45 ste.config = <&pcfg_bias_disable>;
46 };
47 13
48Example board file extract: 14Example board file extract:
49 15
@@ -54,11 +20,11 @@ Example board file extract:
54 sysclkreq2 { 20 sysclkreq2 {
55 sysclkreq2_default_mode: sysclkreq2_default { 21 sysclkreq2_default_mode: sysclkreq2_default {
56 default_mux { 22 default_mux {
57 ste,function = "sysclkreq"; 23 function = "sysclkreq";
58 ste,pins = "sysclkreq2_d_1"; 24 groups = "sysclkreq2_d_1";
59 }; 25 };
60 default_cfg { 26 default_cfg {
61 ste,pins = "GPIO1"; 27 pins = "GPIO1";
62 bias-disable; 28 bias-disable;
63 }; 29 };
64 }; 30 };
@@ -66,11 +32,11 @@ Example board file extract:
66 sysclkreq3 { 32 sysclkreq3 {
67 sysclkreq3_default_mode: sysclkreq3_default { 33 sysclkreq3_default_mode: sysclkreq3_default {
68 default_mux { 34 default_mux {
69 ste,function = "sysclkreq"; 35 function = "sysclkreq";
70 ste,pins = "sysclkreq3_d_1"; 36 groups = "sysclkreq3_d_1";
71 }; 37 };
72 default_cfg { 38 default_cfg {
73 ste,pins = "GPIO2"; 39 pins = "GPIO2";
74 output-low; 40 output-low;
75 }; 41 };
76 }; 42 };
@@ -78,11 +44,11 @@ Example board file extract:
78 gpio3 { 44 gpio3 {
79 gpio3_default_mode: gpio3_default { 45 gpio3_default_mode: gpio3_default {
80 default_mux { 46 default_mux {
81 ste,function = "gpio"; 47 function = "gpio";
82 ste,pins = "gpio3_a_1"; 48 groups = "gpio3_a_1";
83 }; 49 };
84 default_cfg { 50 default_cfg {
85 ste,pins = "GPIO3"; 51 pins = "GPIO3";
86 output-low; 52 output-low;
87 }; 53 };
88 }; 54 };
@@ -90,11 +56,11 @@ Example board file extract:
90 sysclkreq6 { 56 sysclkreq6 {
91 sysclkreq6_default_mode: sysclkreq6_default { 57 sysclkreq6_default_mode: sysclkreq6_default {
92 default_mux { 58 default_mux {
93 ste,function = "sysclkreq"; 59 function = "sysclkreq";
94 ste,pins = "sysclkreq6_d_1"; 60 groups = "sysclkreq6_d_1";
95 }; 61 };
96 default_cfg { 62 default_cfg {
97 ste,pins = "GPIO4"; 63 pins = "GPIO4";
98 bias-disable; 64 bias-disable;
99 }; 65 };
100 }; 66 };
@@ -102,11 +68,11 @@ Example board file extract:
102 pwmout1 { 68 pwmout1 {
103 pwmout1_default_mode: pwmout1_default { 69 pwmout1_default_mode: pwmout1_default {
104 default_mux { 70 default_mux {
105 ste,function = "pwmout"; 71 function = "pwmout";
106 ste,pins = "pwmout1_d_1"; 72 groups = "pwmout1_d_1";
107 }; 73 };
108 default_cfg { 74 default_cfg {
109 ste,pins = "GPIO14"; 75 pins = "GPIO14";
110 output-low; 76 output-low;
111 }; 77 };
112 }; 78 };
@@ -114,11 +80,11 @@ Example board file extract:
114 pwmout2 { 80 pwmout2 {
115 pwmout2_default_mode: pwmout2_default { 81 pwmout2_default_mode: pwmout2_default {
116 pwmout2_default_mux { 82 pwmout2_default_mux {
117 ste,function = "pwmout"; 83 function = "pwmout";
118 ste,pins = "pwmout2_d_1"; 84 groups = "pwmout2_d_1";
119 }; 85 };
120 pwmout2_default_cfg { 86 pwmout2_default_cfg {
121 ste,pins = "GPIO15"; 87 pins = "GPIO15";
122 output-low; 88 output-low;
123 }; 89 };
124 }; 90 };
@@ -126,11 +92,11 @@ Example board file extract:
126 pwmout3 { 92 pwmout3 {
127 pwmout3_default_mode: pwmout3_default { 93 pwmout3_default_mode: pwmout3_default {
128 pwmout3_default_mux { 94 pwmout3_default_mux {
129 ste,function = "pwmout"; 95 function = "pwmout";
130 ste,pins = "pwmout3_d_1"; 96 groups = "pwmout3_d_1";
131 }; 97 };
132 pwmout3_default_cfg { 98 pwmout3_default_cfg {
133 ste,pins = "GPIO16"; 99 pins = "GPIO16";
134 output-low; 100 output-low;
135 }; 101 };
136 }; 102 };
@@ -139,15 +105,15 @@ Example board file extract:
139 105
140 adi1_default_mode: adi1_default { 106 adi1_default_mode: adi1_default {
141 adi1_default_mux { 107 adi1_default_mux {
142 ste,function = "adi1"; 108 function = "adi1";
143 ste,pins = "adi1_d_1"; 109 groups = "adi1_d_1";
144 }; 110 };
145 adi1_default_cfg1 { 111 adi1_default_cfg1 {
146 ste,pins = "GPIO17","GPIO19","GPIO20"; 112 pins = "GPIO17","GPIO19","GPIO20";
147 bias-disable; 113 bias-disable;
148 }; 114 };
149 adi1_default_cfg2 { 115 adi1_default_cfg2 {
150 ste,pins = "GPIO18"; 116 pins = "GPIO18";
151 output-low; 117 output-low;
152 }; 118 };
153 }; 119 };
@@ -155,15 +121,15 @@ Example board file extract:
155 dmic12 { 121 dmic12 {
156 dmic12_default_mode: dmic12_default { 122 dmic12_default_mode: dmic12_default {
157 dmic12_default_mux { 123 dmic12_default_mux {
158 ste,function = "dmic"; 124 function = "dmic";
159 ste,pins = "dmic12_d_1"; 125 groups = "dmic12_d_1";
160 }; 126 };
161 dmic12_default_cfg1 { 127 dmic12_default_cfg1 {
162 ste,pins = "GPIO27"; 128 pins = "GPIO27";
163 output-low; 129 output-low;
164 }; 130 };
165 dmic12_default_cfg2 { 131 dmic12_default_cfg2 {
166 ste,pins = "GPIO28"; 132 pins = "GPIO28";
167 bias-disable; 133 bias-disable;
168 }; 134 };
169 }; 135 };
@@ -171,15 +137,15 @@ Example board file extract:
171 dmic34 { 137 dmic34 {
172 dmic34_default_mode: dmic34_default { 138 dmic34_default_mode: dmic34_default {
173 dmic34_default_mux { 139 dmic34_default_mux {
174 ste,function = "dmic"; 140 function = "dmic";
175 ste,pins = "dmic34_d_1"; 141 groups = "dmic34_d_1";
176 }; 142 };
177 dmic34_default_cfg1 { 143 dmic34_default_cfg1 {
178 ste,pins = "GPIO29"; 144 pins = "GPIO29";
179 output-low; 145 output-low;
180 }; 146 };
181 dmic34_default_cfg2 { 147 dmic34_default_cfg2 {
182 ste,pins = "GPIO30"; 148 pins = "GPIO30";
183 bias-disable;{ 149 bias-disable;{
184 150
185 }; 151 };
@@ -188,15 +154,15 @@ Example board file extract:
188 dmic56 { 154 dmic56 {
189 dmic56_default_mode: dmic56_default { 155 dmic56_default_mode: dmic56_default {
190 dmic56_default_mux { 156 dmic56_default_mux {
191 ste,function = "dmic"; 157 function = "dmic";
192 ste,pins = "dmic56_d_1"; 158 groups = "dmic56_d_1";
193 }; 159 };
194 dmic56_default_cfg1 { 160 dmic56_default_cfg1 {
195 ste,pins = "GPIO31"; 161 pins = "GPIO31";
196 output-low; 162 output-low;
197 }; 163 };
198 dmic56_default_cfg2 { 164 dmic56_default_cfg2 {
199 ste,pins = "GPIO32"; 165 pins = "GPIO32";
200 bias-disable; 166 bias-disable;
201 }; 167 };
202 }; 168 };
@@ -204,11 +170,11 @@ Example board file extract:
204 sysclkreq5 { 170 sysclkreq5 {
205 sysclkreq5_default_mode: sysclkreq5_default { 171 sysclkreq5_default_mode: sysclkreq5_default {
206 sysclkreq5_default_mux { 172 sysclkreq5_default_mux {
207 ste,function = "sysclkreq"; 173 function = "sysclkreq";
208 ste,pins = "sysclkreq5_d_1"; 174 groups = "sysclkreq5_d_1";
209 }; 175 };
210 sysclkreq5_default_cfg { 176 sysclkreq5_default_cfg {
211 ste,pins = "GPIO42"; 177 pins = "GPIO42";
212 output-low; 178 output-low;
213 }; 179 };
214 }; 180 };
@@ -216,11 +182,11 @@ Example board file extract:
216 batremn { 182 batremn {
217 batremn_default_mode: batremn_default { 183 batremn_default_mode: batremn_default {
218 batremn_default_mux { 184 batremn_default_mux {
219 ste,function = "batremn"; 185 function = "batremn";
220 ste,pins = "batremn_d_1"; 186 groups = "batremn_d_1";
221 }; 187 };
222 batremn_default_cfg { 188 batremn_default_cfg {
223 ste,pins = "GPIO43"; 189 pins = "GPIO43";
224 bias-disable; 190 bias-disable;
225 }; 191 };
226 }; 192 };
@@ -228,11 +194,11 @@ Example board file extract:
228 service { 194 service {
229 service_default_mode: service_default { 195 service_default_mode: service_default {
230 service_default_mux { 196 service_default_mux {
231 ste,function = "service"; 197 function = "service";
232 ste,pins = "service_d_1"; 198 groups = "service_d_1";
233 }; 199 };
234 service_default_cfg { 200 service_default_cfg {
235 ste,pins = "GPIO44"; 201 pins = "GPIO44";
236 bias-disable; 202 bias-disable;
237 }; 203 };
238 }; 204 };
@@ -240,13 +206,13 @@ Example board file extract:
240 pwrctrl0 { 206 pwrctrl0 {
241 pwrctrl0_default_mux: pwrctrl0_mux { 207 pwrctrl0_default_mux: pwrctrl0_mux {
242 pwrctrl0_default_mux { 208 pwrctrl0_default_mux {
243 ste,function = "pwrctrl"; 209 function = "pwrctrl";
244 ste,pins = "pwrctrl0_d_1"; 210 groups = "pwrctrl0_d_1";
245 }; 211 };
246 }; 212 };
247 pwrctrl0_default_mode: pwrctrl0_default { 213 pwrctrl0_default_mode: pwrctrl0_default {
248 pwrctrl0_default_cfg { 214 pwrctrl0_default_cfg {
249 ste,pins = "GPIO45"; 215 pins = "GPIO45";
250 bias-disable; 216 bias-disable;
251 }; 217 };
252 }; 218 };
@@ -254,13 +220,13 @@ Example board file extract:
254 pwrctrl1 { 220 pwrctrl1 {
255 pwrctrl1_default_mux: pwrctrl1_mux { 221 pwrctrl1_default_mux: pwrctrl1_mux {
256 pwrctrl1_default_mux { 222 pwrctrl1_default_mux {
257 ste,function = "pwrctrl"; 223 function = "pwrctrl";
258 ste,pins = "pwrctrl1_d_1"; 224 groups = "pwrctrl1_d_1";
259 }; 225 };
260 }; 226 };
261 pwrctrl1_default_mode: pwrctrl1_default { 227 pwrctrl1_default_mode: pwrctrl1_default {
262 pwrctrl1_default_cfg { 228 pwrctrl1_default_cfg {
263 ste,pins = "GPIO46"; 229 pins = "GPIO46";
264 bias-disable; 230 bias-disable;
265 }; 231 };
266 }; 232 };
@@ -268,11 +234,11 @@ Example board file extract:
268 pwmextvibra1 { 234 pwmextvibra1 {
269 pwmextvibra1_default_mode: pwmextvibra1_default { 235 pwmextvibra1_default_mode: pwmextvibra1_default {
270 pwmextvibra1_default_mux { 236 pwmextvibra1_default_mux {
271 ste,function = "pwmextvibra"; 237 function = "pwmextvibra";
272 ste,pins = "pwmextvibra1_d_1"; 238 groups = "pwmextvibra1_d_1";
273 }; 239 };
274 pwmextvibra1_default_cfg { 240 pwmextvibra1_default_cfg {
275 ste,pins = "GPIO47"; 241 pins = "GPIO47";
276 bias-disable; 242 bias-disable;
277 }; 243 };
278 }; 244 };
@@ -280,11 +246,11 @@ Example board file extract:
280 pwmextvibra2 { 246 pwmextvibra2 {
281 pwmextvibra2_default_mode: pwmextvibra2_default { 247 pwmextvibra2_default_mode: pwmextvibra2_default {
282 pwmextvibra2_default_mux { 248 pwmextvibra2_default_mux {
283 ste,function = "pwmextvibra"; 249 function = "pwmextvibra";
284 ste,pins = "pwmextvibra2_d_1"; 250 groups = "pwmextvibra2_d_1";
285 }; 251 };
286 pwmextvibra1_default_cfg { 252 pwmextvibra1_default_cfg {
287 ste,pins = "GPIO48"; 253 pins = "GPIO48";
288 bias-disable; 254 bias-disable;
289 }; 255 };
290 }; 256 };
@@ -292,11 +258,11 @@ Example board file extract:
292 gpio51 { 258 gpio51 {
293 gpio51_default_mode: gpio51_default { 259 gpio51_default_mode: gpio51_default {
294 gpio51_default_mux { 260 gpio51_default_mux {
295 ste,function = "gpio"; 261 function = "gpio";
296 ste,pins = "gpio51_a_1"; 262 groups = "gpio51_a_1";
297 }; 263 };
298 gpio51_default_cfg { 264 gpio51_default_cfg {
299 ste,pins = "GPIO51"; 265 pins = "GPIO51";
300 output-low; 266 output-low;
301 }; 267 };
302 }; 268 };
@@ -304,11 +270,11 @@ Example board file extract:
304 gpio52 { 270 gpio52 {
305 gpio52_default_mode: gpio52_default { 271 gpio52_default_mode: gpio52_default {
306 gpio52_default_mux { 272 gpio52_default_mux {
307 ste,function = "gpio"; 273 function = "gpio";
308 ste,pins = "gpio52_a_1"; 274 groups = "gpio52_a_1";
309 }; 275 };
310 gpio52_default_cfg { 276 gpio52_default_cfg {
311 ste,pins = "GPIO52"; 277 pins = "GPIO52";
312 bias-pull-down; 278 bias-pull-down;
313 }; 279 };
314 }; 280 };
@@ -316,11 +282,11 @@ Example board file extract:
316 gpio53 { 282 gpio53 {
317 gpio53_default_mode: gpio53_default { 283 gpio53_default_mode: gpio53_default {
318 gpio53_default_mux { 284 gpio53_default_mux {
319 ste,function = "gpio"; 285 function = "gpio";
320 ste,pins = "gpio53_a_1"; 286 groups = "gpio53_a_1";
321 }; 287 };
322 gpio53_default_cfg { 288 gpio53_default_cfg {
323 ste,pins = "GPIO53"; 289 pins = "GPIO53";
324 bias-pull-down; 290 bias-pull-down;
325 }; 291 };
326 }; 292 };
@@ -328,11 +294,11 @@ Example board file extract:
328 gpio54 { 294 gpio54 {
329 gpio54_default_mode: gpio54_default { 295 gpio54_default_mode: gpio54_default {
330 gpio54_default_mux { 296 gpio54_default_mux {
331 ste,function = "gpio"; 297 function = "gpio";
332 ste,pins = "gpio54_a_1"; 298 groups = "gpio54_a_1";
333 }; 299 };
334 gpio54_default_cfg { 300 gpio54_default_cfg {
335 ste,pins = "GPIO54"; 301 pins = "GPIO54";
336 output-low; 302 output-low;
337 }; 303 };
338 }; 304 };
@@ -340,11 +306,11 @@ Example board file extract:
340 pdmclkdat { 306 pdmclkdat {
341 pdmclkdat_default_mode: pdmclkdat_default { 307 pdmclkdat_default_mode: pdmclkdat_default {
342 pdmclkdat_default_mux { 308 pdmclkdat_default_mux {
343 ste,function = "pdm"; 309 function = "pdm";
344 ste,pins = "pdmclkdat_d_1"; 310 groups = "pdmclkdat_d_1";
345 }; 311 };
346 pdmclkdat_default_cfg { 312 pdmclkdat_default_cfg {
347 ste,pins = "GPIO55", "GPIO56"; 313 pins = "GPIO55", "GPIO56";
348 bias-disable; 314 bias-disable;
349 }; 315 };
350 }; 316 };
diff --git a/Documentation/devicetree/bindings/power/power-controller.txt b/Documentation/devicetree/bindings/power/power-controller.txt
new file mode 100644
index 000000000000..4f7a3bc9c407
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/power-controller.txt
@@ -0,0 +1,18 @@
1* Generic system power control capability
2
3Power-management integrated circuits or miscellaneous hardware components are
4sometimes able to control the system power. The device driver associated with these
5components might need to define this capability, which tells the kernel that
6it can be used to switch off the system. The corresponding device must have the
7standard property "system-power-controller" in its device node. This property
8marks the device as able to control the system power. In order to test if this
9property is found programmatically, use the helper function
10"of_device_is_system_power_controller" from of.h .
11
12Example:
13
14act8846: act8846@5 {
15 compatible = "active-semi,act8846";
16 status = "okay";
17 system-power-controller;
18}
diff --git a/Documentation/devicetree/bindings/power_supply/gpio-charger.txt b/Documentation/devicetree/bindings/power_supply/gpio-charger.txt
new file mode 100644
index 000000000000..adbb5dc5b6e9
--- /dev/null
+++ b/Documentation/devicetree/bindings/power_supply/gpio-charger.txt
@@ -0,0 +1,27 @@
1gpio-charger
2
3Required properties :
4 - compatible : "gpio-charger"
5 - gpios : GPIO indicating the charger presence.
6 See GPIO binding in bindings/gpio/gpio.txt .
7 - charger-type : power supply type, one of
8 unknown
9 battery
10 ups
11 mains
12 usb-sdp (USB standard downstream port)
13 usb-dcp (USB dedicated charging port)
14 usb-cdp (USB charging downstream port)
15 usb-aca (USB accessory charger adapter)
16
17Example:
18
19 usb_charger: charger {
20 compatible = "gpio-charger";
21 charger-type = "usb-sdp";
22 gpios = <&gpf0 2 0 0 0>;
23 }
24
25 battery {
26 power-supplies = <&usb_charger>;
27 };
diff --git a/Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt b/Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt
new file mode 100644
index 000000000000..dc7c9bad63ea
--- /dev/null
+++ b/Documentation/devicetree/bindings/power_supply/imx-snvs-poweroff.txt
@@ -0,0 +1,23 @@
1i.mx6 Poweroff Driver
2
3SNVS_LPCR in SNVS module can power off the whole system by pull
4PMIC_ON_REQ low if PMIC_ON_REQ is connected with external PMIC.
5If you don't want to use PMIC_ON_REQ as power on/off control,
6please set status='disabled' to disable this driver.
7
8Required Properties:
9-compatible: "fsl,sec-v4.0-poweroff"
10-reg: Specifies the physical address of the SNVS_LPCR register
11
12Example:
13 snvs@020cc000 {
14 compatible = "fsl,sec-v4.0-mon", "simple-bus";
15 #address-cells = <1>;
16 #size-cells = <1>;
17 ranges = <0 0x020cc000 0x4000>;
18 .....
19 snvs_poweroff: snvs-poweroff@38 {
20 compatible = "fsl,sec-v4.0-poweroff";
21 reg = <0x38 0x4>;
22 };
23 }
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fman.txt b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
new file mode 100644
index 000000000000..edeea160ca39
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
@@ -0,0 +1,534 @@
1=============================================================================
2Freescale Frame Manager Device Bindings
3
4CONTENTS
5 - FMan Node
6 - FMan Port Node
7 - FMan MURAM Node
8 - FMan dTSEC/XGEC/mEMAC Node
9 - FMan IEEE 1588 Node
10 - Example
11
12=============================================================================
13FMan Node
14
15DESCRIPTION
16
17Due to the fact that the FMan is an aggregation of sub-engines (ports, MACs,
18etc.) the FMan node will have child nodes for each of them.
19
20PROPERTIES
21
22- compatible
23 Usage: required
24 Value type: <stringlist>
25 Definition: Must include "fsl,fman"
26 FMan version can be determined via FM_IP_REV_1 register in the
27 FMan block. The offset is 0xc4 from the beginning of the
28 Frame Processing Manager memory map (0xc3000 from the
29 beginning of the FMan node).
30
31- cell-index
32 Usage: required
33 Value type: <u32>
34 Definition: Specifies the index of the FMan unit.
35
36 The cell-index value may be used by the SoC, to identify the
37 FMan unit in the SoC memory map. In the table bellow,
38 there's a description of the cell-index use in each SoC:
39
40 - P1023:
41 register[bit] FMan unit cell-index
42 ============================================================
43 DEVDISR[1] 1 0
44
45 - P2041, P3041, P4080 P5020, P5040:
46 register[bit] FMan unit cell-index
47 ============================================================
48 DCFG_DEVDISR2[6] 1 0
49 DCFG_DEVDISR2[14] 2 1
50 (Second FM available only in P4080 and P5040)
51
52 - B4860, T1040, T2080, T4240:
53 register[bit] FMan unit cell-index
54 ============================================================
55 DCFG_CCSR_DEVDISR2[24] 1 0
56 DCFG_CCSR_DEVDISR2[25] 2 1
57 (Second FM available only in T4240)
58
59 DEVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in
60 the specific SoC "Device Configuration/Pin Control" Memory
61 Map.
62
63- reg
64 Usage: required
65 Value type: <prop-encoded-array>
66 Definition: A standard property. Specifies the offset of the
67 following configuration registers:
68 - BMI configuration registers.
69 - QMI configuration registers.
70 - DMA configuration registers.
71 - FPM configuration registers.
72 - FMan controller configuration registers.
73
74- ranges
75 Usage: required
76 Value type: <prop-encoded-array>
77 Definition: A standard property.
78
79- clocks
80 Usage: required
81 Value type: <prop-encoded-array>
82 Definition: phandle for the fman input clock.
83
84- clock-names
85 usage: required
86 Value type: <stringlist>
87 Definition: "fmanclk" for the fman input clock.
88
89- interrupts
90 Usage: required
91 Value type: <prop-encoded-array>
92 Definition: A pair of IRQs are specified in this property.
93 The first element is associated with the event interrupts and
94 the second element is associated with the error interrupts.
95
96- fsl,qman-channel-range
97 Usage: required
98 Value type: <prop-encoded-array>
99 Definition: Specifies the range of the available dedicated
100 channels in the FMan. The first cell specifies the beginning
101 of the range and the second cell specifies the number of
102 channels.
103 Further information available at:
104 "Work Queue (WQ) Channel Assignments in the QMan" section
105 in DPAA Reference Manual.
106
107- fsl,qman
108- fsl,bman
109 Usage: required
110 Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt
111
112=============================================================================
113FMan MURAM Node
114
115DESCRIPTION
116
117FMan Internal memory - shared between all the FMan modules.
118It contains data structures that are common and written to or read by
119the modules.
120FMan internal memory is split into the following parts:
121 Packet buffering (Tx/Rx FIFOs)
122 Frames internal context
123
124PROPERTIES
125
126- compatible
127 Usage: required
128 Value type: <stringlist>
129 Definition: Must include "fsl,fman-muram"
130
131- ranges
132 Usage: required
133 Value type: <prop-encoded-array>
134 Definition: A standard property.
135 Specifies the multi-user memory offset and the size within
136 the FMan.
137
138EXAMPLE
139
140muram@0 {
141 compatible = "fsl,fman-muram";
142 ranges = <0 0x000000 0x28000>;
143};
144
145=============================================================================
146FMan Port Node
147
148DESCRIPTION
149
150The Frame Manager (FMan) supports several types of hardware ports:
151 Ethernet receiver (RX)
152 Ethernet transmitter (TX)
153 Offline/Host command (O/H)
154
155PROPERTIES
156
157- compatible
158 Usage: required
159 Value type: <stringlist>
160 Definition: A standard property.
161 Must include one of the following:
162 - "fsl,fman-v2-port-oh" for FManV2 OH ports
163 - "fsl,fman-v2-port-rx" for FManV2 RX ports
164 - "fsl,fman-v2-port-tx" for FManV2 TX ports
165 - "fsl,fman-v3-port-oh" for FManV3 OH ports
166 - "fsl,fman-v3-port-rx" for FManV3 RX ports
167 - "fsl,fman-v3-port-tx" for FManV3 TX ports
168
169- cell-index
170 Usage: required
171 Value type: <u32>
172 Definition: Specifies the hardware port id.
173 Each hardware port on the FMan has its own hardware PortID.
174 Super set of all hardware Port IDs available at FMan Reference
175 Manual under "FMan Hardware Ports in Freescale Devices" table.
176
177 Each hardware port is assigned a 4KB, port-specific page in
178 the FMan hardware port memory region (which is part of the
179 FMan memory map). The first 4 KB in the FMan hardware ports
180 memory region is used for what are called common registers.
181 The subsequent 63 4KB pages are allocated to the hardware
182 ports.
183 The page of a specific port is determined by the cell-index.
184
185- reg
186 Usage: required
187 Value type: <prop-encoded-array>
188 Definition: There is one reg region describing the port
189 configuration registers.
190
191EXAMPLE
192
193port@a8000 {
194 cell-index = <0x28>;
195 compatible = "fsl,fman-v2-port-tx";
196 reg = <0xa8000 0x1000>;
197};
198
199port@88000 {
200 cell-index = <0x8>;
201 compatible = "fsl,fman-v2-port-rx";
202 reg = <0x88000 0x1000>;
203};
204
205port@81000 {
206 cell-index = <0x1>;
207 compatible = "fsl,fman-v2-port-oh";
208 reg = <0x81000 0x1000>;
209};
210
211=============================================================================
212FMan dTSEC/XGEC/mEMAC Node
213
214DESCRIPTION
215
216mEMAC/dTSEC/XGEC are the Ethernet network interfaces
217
218PROPERTIES
219
220- compatible
221 Usage: required
222 Value type: <stringlist>
223 Definition: A standard property.
224 Must include one of the following:
225 - "fsl,fman-dtsec" for dTSEC MAC
226 - "fsl,fman-xgec" for XGEC MAC
227 - "fsl,fman-memac for mEMAC MAC
228
229- cell-index
230 Usage: required
231 Value type: <u32>
232 Definition: Specifies the MAC id.
233
234 The cell-index value may be used by the FMan or the SoC, to
235 identify the MAC unit in the FMan (or SoC) memory map.
236 In the tables bellow there's a description of the cell-index
237 use, there are two tables, one describes the use of cell-index
238 by the FMan, the second describes the use by the SoC:
239
240 1. FMan Registers
241
242 FManV2:
243 register[bit] MAC cell-index
244 ============================================================
245 FM_EPI[16] XGEC 8
246 FM_EPI[16+n] dTSECn n-1
247 FM_NPI[11+n] dTSECn n-1
248 n = 1,..,5
249
250 FManV3:
251 register[bit] MAC cell-index
252 ============================================================
253 FM_EPI[16+n] mEMACn n-1
254 FM_EPI[25] mEMAC10 9
255
256 FM_NPI[11+n] mEMACn n-1
257 FM_NPI[10] mEMAC10 9
258 FM_NPI[11] mEMAC9 8
259 n = 1,..8
260
261 FM_EPI and FM_NPI are located in the FMan memory map.
262
263 2. SoC registers:
264
265 - P2041, P3041, P4080 P5020, P5040:
266 register[bit] FMan MAC cell
267 Unit index
268 ============================================================
269 DCFG_DEVDISR2[7] 1 XGEC 8
270 DCFG_DEVDISR2[7+n] 1 dTSECn n-1
271 DCFG_DEVDISR2[15] 2 XGEC 8
272 DCFG_DEVDISR2[15+n] 2 dTSECn n-1
273 n = 1,..5
274
275 - T1040, T2080, T4240, B4860:
276 register[bit] FMan MAC cell
277 Unit index
278 ============================================================
279 DCFG_CCSR_DEVDISR2[n-1] 1 mEMACn n-1
280 DCFG_CCSR_DEVDISR2[11+n] 2 mEMACn n-1
281 n = 1,..6,9,10
282
283 EVDISR, DCFG_DEVDISR2 and DCFG_CCSR_DEVDISR2 are located in
284 the specific SoC "Device Configuration/Pin Control" Memory
285 Map.
286
287- reg
288 Usage: required
289 Value type: <prop-encoded-array>
290 Definition: A standard property.
291
292- fsl,fman-ports
293 Usage: required
294 Value type: <prop-encoded-array>
295 Definition: An array of two phandles - the first references is
296 the FMan RX port and the second is the TX port used by this
297 MAC.
298
299- ptp-timer
300 Usage required
301 Value type: <phandle>
302 Definition: A phandle for 1EEE1588 timer.
303
304EXAMPLE
305
306fman1_tx28: port@a8000 {
307 cell-index = <0x28>;
308 compatible = "fsl,fman-v2-port-tx";
309 reg = <0xa8000 0x1000>;
310};
311
312fman1_rx8: port@88000 {
313 cell-index = <0x8>;
314 compatible = "fsl,fman-v2-port-rx";
315 reg = <0x88000 0x1000>;
316};
317
318ptp-timer: ptp_timer@fe000 {
319 compatible = "fsl,fman-ptp-timer";
320 reg = <0xfe000 0x1000>;
321};
322
323ethernet@e0000 {
324 compatible = "fsl,fman-dtsec";
325 cell-index = <0>;
326 reg = <0xe0000 0x1000>;
327 fsl,fman-ports = <&fman1_rx8 &fman1_tx28>;
328 ptp-timer = <&ptp-timer>;
329};
330
331============================================================================
332FMan IEEE 1588 Node
333
334DESCRIPTION
335
336The FMan interface to support IEEE 1588
337
338
339PROPERTIES
340
341- compatible
342 Usage: required
343 Value type: <stringlist>
344 Definition: A standard property.
345 Must include "fsl,fman-ptp-timer".
346
347- reg
348 Usage: required
349 Value type: <prop-encoded-array>
350 Definition: A standard property.
351
352EXAMPLE
353
354ptp-timer@fe000 {
355 compatible = "fsl,fman-ptp-timer";
356 reg = <0xfe000 0x1000>;
357};
358
359=============================================================================
360Example
361
362fman@400000 {
363 #address-cells = <1>;
364 #size-cells = <1>;
365 cell-index = <1>;
366 compatible = "fsl,fman"
367 ranges = <0 0x400000 0x100000>;
368 reg = <0x400000 0x100000>;
369 clocks = <&fman_clk>;
370 clock-names = "fmanclk";
371 interrupts = <
372 96 2 0 0
373 16 2 1 1>;
374 fsl,qman-channel-range = <0x40 0xc>;
375
376 muram@0 {
377 compatible = "fsl,fman-muram";
378 reg = <0x0 0x28000>;
379 };
380
381 port@81000 {
382 cell-index = <1>;
383 compatible = "fsl,fman-v2-port-oh";
384 reg = <0x81000 0x1000>;
385 };
386
387 port@82000 {
388 cell-index = <2>;
389 compatible = "fsl,fman-v2-port-oh";
390 reg = <0x82000 0x1000>;
391 };
392
393 port@83000 {
394 cell-index = <3>;
395 compatible = "fsl,fman-v2-port-oh";
396 reg = <0x83000 0x1000>;
397 };
398
399 port@84000 {
400 cell-index = <4>;
401 compatible = "fsl,fman-v2-port-oh";
402 reg = <0x84000 0x1000>;
403 };
404
405 port@85000 {
406 cell-index = <5>;
407 compatible = "fsl,fman-v2-port-oh";
408 reg = <0x85000 0x1000>;
409 };
410
411 port@86000 {
412 cell-index = <6>;
413 compatible = "fsl,fman-v2-port-oh";
414 reg = <0x86000 0x1000>;
415 };
416
417 fman1_rx_0x8: port@88000 {
418 cell-index = <0x8>;
419 compatible = "fsl,fman-v2-port-rx";
420 reg = <0x88000 0x1000>;
421 };
422
423 fman1_rx_0x9: port@89000 {
424 cell-index = <0x9>;
425 compatible = "fsl,fman-v2-port-rx";
426 reg = <0x89000 0x1000>;
427 };
428
429 fman1_rx_0xa: port@8a000 {
430 cell-index = <0xa>;
431 compatible = "fsl,fman-v2-port-rx";
432 reg = <0x8a000 0x1000>;
433 };
434
435 fman1_rx_0xb: port@8b000 {
436 cell-index = <0xb>;
437 compatible = "fsl,fman-v2-port-rx";
438 reg = <0x8b000 0x1000>;
439 };
440
441 fman1_rx_0xc: port@8c000 {
442 cell-index = <0xc>;
443 compatible = "fsl,fman-v2-port-rx";
444 reg = <0x8c000 0x1000>;
445 };
446
447 fman1_rx_0x10: port@90000 {
448 cell-index = <0x10>;
449 compatible = "fsl,fman-v2-port-rx";
450 reg = <0x90000 0x1000>;
451 };
452
453 fman1_tx_0x28: port@a8000 {
454 cell-index = <0x28>;
455 compatible = "fsl,fman-v2-port-tx";
456 reg = <0xa8000 0x1000>;
457 };
458
459 fman1_tx_0x29: port@a9000 {
460 cell-index = <0x29>;
461 compatible = "fsl,fman-v2-port-tx";
462 reg = <0xa9000 0x1000>;
463 };
464
465 fman1_tx_0x2a: port@aa000 {
466 cell-index = <0x2a>;
467 compatible = "fsl,fman-v2-port-tx";
468 reg = <0xaa000 0x1000>;
469 };
470
471 fman1_tx_0x2b: port@ab000 {
472 cell-index = <0x2b>;
473 compatible = "fsl,fman-v2-port-tx";
474 reg = <0xab000 0x1000>;
475 };
476
477 fman1_tx_0x2c: port@ac0000 {
478 cell-index = <0x2c>;
479 compatible = "fsl,fman-v2-port-tx";
480 reg = <0xac000 0x1000>;
481 };
482
483 fman1_tx_0x30: port@b0000 {
484 cell-index = <0x30>;
485 compatible = "fsl,fman-v2-port-tx";
486 reg = <0xb0000 0x1000>;
487 };
488
489 ethernet@e0000 {
490 compatible = "fsl,fman-dtsec";
491 cell-index = <0>;
492 reg = <0xe0000 0x1000>;
493 fsl,fman-ports = <&fman1_rx_0x8 &fman1_tx_0x28>;
494 };
495
496 ethernet@e2000 {
497 compatible = "fsl,fman-dtsec";
498 cell-index = <1>;
499 reg = <0xe2000 0x1000>;
500 fsl,fman-ports = <&fman1_rx_0x9 &fman1_tx_0x29>;
501 };
502
503 ethernet@e4000 {
504 compatible = "fsl,fman-dtsec";
505 cell-index = <2>;
506 reg = <0xe4000 0x1000>;
507 fsl,fman-ports = <&fman1_rx_0xa &fman1_tx_0x2a>;
508 };
509
510 ethernet@e6000 {
511 compatible = "fsl,fman-dtsec";
512 cell-index = <3>;
513 reg = <0xe6000 0x1000>;
514 fsl,fman-ports = <&fman1_rx_0xb &fman1_tx_0x2b>;
515 };
516
517 ethernet@e8000 {
518 compatible = "fsl,fman-dtsec";
519 cell-index = <4>;
520 reg = <0xf0000 0x1000>;
521 fsl,fman-ports = <&fman1_rx_0xc &fman1_tx_0x2c>;
522
523 ethernet@f0000 {
524 cell-index = <8>;
525 compatible = "fsl,fman-xgec";
526 reg = <0xf0000 0x1000>;
527 fsl,fman-ports = <&fman1_rx_0x10 &fman1_tx_0x30>;
528 };
529
530 ptp-timer@fe000 {
531 compatible = "fsl,fman-ptp-timer";
532 reg = <0xfe000 0x1000>;
533 };
534};
diff --git a/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt b/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
new file mode 100644
index 000000000000..cfda0d57d302
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/atmel-hlcdc-pwm.txt
@@ -0,0 +1,29 @@
1Device-Tree bindings for Atmel's HLCDC (High-end LCD Controller) PWM driver
2
3The Atmel HLCDC PWM is subdevice of the HLCDC MFD device.
4See ../mfd/atmel-hlcdc.txt for more details.
5
6Required properties:
7 - compatible: value should be one of the following:
8 "atmel,hlcdc-pwm"
9 - pinctr-names: the pin control state names. Should contain "default".
10 - pinctrl-0: should contain the pinctrl states described by pinctrl
11 default.
12 - #pwm-cells: should be set to 3. This PWM chip use the default 3 cells
13 bindings defined in pwm.txt in this directory.
14
15Example:
16
17 hlcdc: hlcdc@f0030000 {
18 compatible = "atmel,sama5d3-hlcdc";
19 reg = <0xf0030000 0x2000>;
20 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
21 clock-names = "periph_clk","sys_clk", "slow_clk";
22
23 hlcdc_pwm: hlcdc-pwm {
24 compatible = "atmel,hlcdc-pwm";
25 pinctrl-names = "default";
26 pinctrl-0 = <&pinctrl_lcd_pwm>;
27 #pwm-cells = <3>;
28 };
29 };
diff --git a/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt b/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt
new file mode 100644
index 000000000000..fb6fb31bc4c4
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/pwm-bcm2835.txt
@@ -0,0 +1,30 @@
1BCM2835 PWM controller (Raspberry Pi controller)
2
3Required properties:
4- compatible: should be "brcm,bcm2835-pwm"
5- reg: physical base address and length of the controller's registers
6- clock: This clock defines the base clock frequency of the PWM hardware
7 system, the period and the duty_cycle of the PWM signal is a multiple of
8 the base period.
9- #pwm-cells: Should be 2. See pwm.txt in this directory for a description of
10 the cells format.
11
12Examples:
13
14pwm@2020c000 {
15 compatible = "brcm,bcm2835-pwm";
16 reg = <0x2020c000 0x28>;
17 clocks = <&clk_pwm>;
18 #pwm-cells = <2>;
19};
20
21clocks {
22 ....
23 clk_pwm: pwm {
24 compatible = "fixed-clock";
25 reg = <3>;
26 #clock-cells = <0>;
27 clock-frequency = <9200000>;
28 };
29 ....
30};
diff --git a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt
index 865614b34d6f..dad6358074ac 100644
--- a/Documentation/devicetree/bindings/regulator/act8865-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/act8865-regulator.txt
@@ -5,6 +5,10 @@ Required properties:
5- compatible: "active-semi,act8846" or "active-semi,act8865" 5- compatible: "active-semi,act8846" or "active-semi,act8865"
6- reg: I2C slave address 6- reg: I2C slave address
7 7
8Optional properties:
9- system-power-controller: Telling whether or not this pmic is controlling
10 the system power. See Documentation/devicetree/bindings/power/power-controller.txt .
11
8Any standard regulator properties can be used to configure the single regulator. 12Any standard regulator properties can be used to configure the single regulator.
9 13
10The valid names for regulators are: 14The valid names for regulators are:
diff --git a/Documentation/devicetree/bindings/regulator/max77802.txt b/Documentation/devicetree/bindings/regulator/max77802.txt
index 5aeaffc0f1f0..79e5476444f7 100644
--- a/Documentation/devicetree/bindings/regulator/max77802.txt
+++ b/Documentation/devicetree/bindings/regulator/max77802.txt
@@ -25,6 +25,29 @@ with their hardware counterparts as follow. The valid names are:
25 example: LDO1, LDO2, LDO35. 25 example: LDO1, LDO2, LDO35.
26 -BUCKn : for BUCKs, where n can lie in range 1 to 10. 26 -BUCKn : for BUCKs, where n can lie in range 1 to 10.
27 example: BUCK1, BUCK5, BUCK10. 27 example: BUCK1, BUCK5, BUCK10.
28
29The max77802 regulator supports two different operating modes: Normal and Low
30Power Mode. Some regulators support the modes to be changed at startup or by
31the consumers during normal operation while others only support to change the
32mode during system suspend. The standard regulator suspend states binding can
33be used to configure the regulator operating mode.
34
35The regulators that support the standard "regulator-initial-mode" property,
36changing their mode during normal operation are: LDOs 1, 3, 20 and 21.
37
38The possible values for "regulator-initial-mode" and "regulator-mode" are:
39 1: Normal regulator voltage output mode.
40 3: Low Power which reduces the quiescent current down to only 1uA
41
42The list of valid modes are defined in the dt-bindings/clock/maxim,max77802.h
43header and can be included by device tree source files.
44
45The standard "regulator-mode" property can only be used for regulators that
46support changing their mode to Low Power Mode during suspend. These regulators
47are: BUCKs 2-4 and LDOs 1-35. Also, it only takes effect if the regulator has
48been enabled for the given suspend state using "regulator-on-in-suspend" and
49has not been disabled for that state using "regulator-off-in-suspend".
50
28Example: 51Example:
29 52
30 max77802@09 { 53 max77802@09 {
@@ -36,11 +59,23 @@ Example:
36 #size-cells = <0>; 59 #size-cells = <0>;
37 60
38 regulators { 61 regulators {
62 ldo1_reg: LDO1 {
63 regulator-name = "vdd_1v0";
64 regulator-min-microvolt = <1000000>;
65 regulator-max-microvolt = <1000000>;
66 regulator-always-on;
67 regulator-initial-mode = <MAX77802_OPMODE_LP>;
68 };
69
39 ldo11_reg: LDO11 { 70 ldo11_reg: LDO11 {
40 regulator-name = "vdd_ldo11"; 71 regulator-name = "vdd_ldo11";
41 regulator-min-microvolt = <1900000>; 72 regulator-min-microvolt = <1900000>;
42 regulator-max-microvolt = <1900000>; 73 regulator-max-microvolt = <1900000>;
43 regulator-always-on; 74 regulator-always-on;
75 regulator-state-mem {
76 regulator-on-in-suspend;
77 regulator-mode = <MAX77802_OPMODE_LP>;
78 };
44 }; 79 };
45 80
46 buck1_reg: BUCK1 { 81 buck1_reg: BUCK1 {
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
index 86074334e342..abb26b58c83e 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/regulator.txt
@@ -19,6 +19,24 @@ Optional properties:
19 design requires. This property describes the total system ramp time 19 design requires. This property describes the total system ramp time
20 required due to the combination of internal ramping of the regulator itself, 20 required due to the combination of internal ramping of the regulator itself,
21 and board design issues such as trace capacitance and load on the supply. 21 and board design issues such as trace capacitance and load on the supply.
22- regulator-state-mem sub-root node for Suspend-to-RAM mode
23 : suspend to memory, the device goes to sleep, but all data stored in memory,
24 only some external interrupt can wake the device.
25- regulator-state-disk sub-root node for Suspend-to-DISK mode
26 : suspend to disk, this state operates similarly to Suspend-to-RAM,
27 but includes a final step of writing memory contents to disk.
28- regulator-state-[mem/disk] node has following common properties:
29 - regulator-on-in-suspend: regulator should be on in suspend state.
30 - regulator-off-in-suspend: regulator should be off in suspend state.
31 - regulator-suspend-microvolt: regulator should be set to this voltage
32 in suspend.
33 - regulator-mode: operating mode in the given suspend state.
34 The set of possible operating modes depends on the capabilities of
35 every hardware so the valid modes are documented on each regulator
36 device tree binding document.
37- regulator-initial-mode: initial operating mode. The set of possible operating
38 modes depends on the capabilities of every hardware so each device binding
39 documentation explains which values the regulator supports.
22 40
23Deprecated properties: 41Deprecated properties:
24- regulator-compatible: If a regulator chip contains multiple 42- regulator-compatible: If a regulator chip contains multiple
@@ -34,6 +52,10 @@ Example:
34 regulator-max-microvolt = <2500000>; 52 regulator-max-microvolt = <2500000>;
35 regulator-always-on; 53 regulator-always-on;
36 vin-supply = <&vin>; 54 vin-supply = <&vin>;
55
56 regulator-state-mem {
57 regulator-on-in-suspend;
58 };
37 }; 59 };
38 60
39Regulator Consumers: 61Regulator Consumers:
diff --git a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt
index 882455e9b36d..f9acbc1f3c6b 100644
--- a/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/sky81452-regulator.txt
@@ -1,6 +1,7 @@
1SKY81452 voltage regulator 1SKY81452 voltage regulator
2 2
3Required properties: 3Required properties:
4- regulator node named lout.
4- any required generic properties defined in regulator.txt 5- any required generic properties defined in regulator.txt
5 6
6Optional properties: 7Optional properties:
@@ -9,8 +10,9 @@ Optional properties:
9Example: 10Example:
10 11
11 regulator { 12 regulator {
12 /* generic regulator properties */ 13 lout {
13 regulator-name = "touch_en"; 14 regulator-name = "sky81452-lout";
14 regulator-min-microvolt = <4500000>; 15 regulator-min-microvolt = <4500000>;
15 regulator-max-microvolt = <8000000>; 16 regulator-max-microvolt = <8000000>;
17 };
16 }; 18 };
diff --git a/Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt b/Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt
new file mode 100644
index 000000000000..54ae9f747e45
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/st,sti-picophyreset.txt
@@ -0,0 +1,42 @@
1STMicroelectronics STi family Sysconfig Picophy SoftReset Controller
2=============================================================================
3
4This binding describes a reset controller device that is used to enable and
5disable on-chip PicoPHY USB2 phy(s) using "softreset" control bits found in
6the STi family SoC system configuration registers.
7
8The actual action taken when softreset is asserted is hardware dependent.
9However, when asserted it may not be possible to access the hardware's
10registers and after an assert/deassert sequence the hardware's previous state
11may no longer be valid.
12
13Please refer to Documentation/devicetree/bindings/reset/reset.txt
14for common reset controller binding usage.
15
16Required properties:
17- compatible: Should be "st,stih407-picophyreset"
18- #reset-cells: 1, see below
19
20Example:
21
22 picophyreset: picophyreset-controller {
23 compatible = "st,stih407-picophyreset";
24 #reset-cells = <1>;
25 };
26
27Specifying picophyreset control of devices
28=======================================
29
30Device nodes should specify the reset channel required in their "resets"
31property, containing a phandle to the picophyreset device node and an
32index specifying which channel to use, as described in
33Documentation/devicetree/bindings/reset/reset.txt.
34
35Example:
36
37 usb2_picophy0: usbpicophy@0 {
38 resets = <&picophyreset STIH407_PICOPHY0_RESET>;
39 };
40
41Macro definitions for the supported reset channels can be found in:
42include/dt-bindings/reset-controller/stih407-resets.h
diff --git a/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt
new file mode 100644
index 000000000000..6ae79d1843f3
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/atmel,at91sam9-rtc.txt
@@ -0,0 +1,23 @@
1Atmel AT91SAM9260 Real Time Timer
2
3Required properties:
4- compatible: should be: "atmel,at91sam9260-rtt"
5- reg: should encode the memory region of the RTT controller
6- interrupts: rtt alarm/event interrupt
7- clocks: should contain the 32 KHz slow clk that will drive the RTT block.
8- atmel,rtt-rtc-time-reg: should encode the GPBR register used to store
9 the time base when the RTT is used as an RTC.
10 The first cell should point to the GPBR node and the second one
11 encode the offset within the GPBR block (or in other words, the
12 GPBR register used to store the time base).
13
14
15Example:
16
17rtt@fffffd20 {
18 compatible = "atmel,at91sam9260-rtt";
19 reg = <0xfffffd20 0x10>;
20 interrupts = <1 4 7>;
21 clocks = <&clk32k>;
22 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
23};
diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
index 5a0f02d34d95..4ba4dbd34289 100644
--- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt
+++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
@@ -5,11 +5,17 @@ Required properties:
5 - "ti,da830-rtc" - for RTC IP used similar to that on DA8xx SoC family. 5 - "ti,da830-rtc" - for RTC IP used similar to that on DA8xx SoC family.
6 - "ti,am3352-rtc" - for RTC IP used similar to that on AM335x SoC family. 6 - "ti,am3352-rtc" - for RTC IP used similar to that on AM335x SoC family.
7 This RTC IP has special WAKE-EN Register to enable 7 This RTC IP has special WAKE-EN Register to enable
8 Wakeup generation for event Alarm. 8 Wakeup generation for event Alarm. It can also be
9 used to control an external PMIC via the
10 pmic_power_en pin.
9- reg: Address range of rtc register set 11- reg: Address range of rtc register set
10- interrupts: rtc timer, alarm interrupts in order 12- interrupts: rtc timer, alarm interrupts in order
11- interrupt-parent: phandle for the interrupt controller 13- interrupt-parent: phandle for the interrupt controller
12 14
15Optional properties:
16- system-power-controller: whether the rtc is controlling the system power
17 through pmic_power_en
18
13Example: 19Example:
14 20
15rtc@1c23000 { 21rtc@1c23000 {
@@ -18,4 +24,5 @@ rtc@1c23000 {
18 interrupts = <19 24 interrupts = <19
19 19>; 25 19>;
20 interrupt-parent = <&intc>; 26 interrupt-parent = <&intc>;
27 system-power-controller;
21}; 28};
diff --git a/Documentation/devicetree/bindings/rtc/rtc-opal.txt b/Documentation/devicetree/bindings/rtc/rtc-opal.txt
new file mode 100644
index 000000000000..af87e5ecac54
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/rtc-opal.txt
@@ -0,0 +1,16 @@
1IBM OPAL real-time clock
2------------------------
3
4Required properties:
5- comapatible: Should be "ibm,opal-rtc"
6
7Optional properties:
8- has-tpo: Decides if the wakeup is supported or not.
9
10Example:
11 rtc {
12 compatible = "ibm,opal-rtc";
13 has-tpo;
14 phandle = <0x10000029>;
15 linux,phandle = <0x10000029>;
16 };
diff --git a/Documentation/devicetree/bindings/serial/bcm63xx-uart.txt b/Documentation/devicetree/bindings/serial/bcm63xx-uart.txt
new file mode 100644
index 000000000000..5c52e5eef16d
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/bcm63xx-uart.txt
@@ -0,0 +1,30 @@
1* BCM63xx UART
2
3Required properties:
4
5- compatible: "brcm,bcm6345-uart"
6
7- reg: The base address of the UART register bank.
8
9- interrupts: A single interrupt specifier.
10
11- clocks: Clock driving the hardware; used to figure out the baud rate
12 divisor.
13
14Example:
15
16 uart0: serial@14e00520 {
17 compatible = "brcm,bcm6345-uart";
18 reg = <0x14e00520 0x18>;
19 interrupt-parent = <&periph_intc>;
20 interrupts = <2>;
21 clocks = <&periph_clk>;
22 };
23
24 clocks {
25 periph_clk: periph_clk@0 {
26 compatible = "fixed-clock";
27 #clock-cells = <0>;
28 clock-frequency = <54000000>;
29 };
30 };
diff --git a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt
index 59a40f18d551..7c408c87e613 100644
--- a/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt
@@ -11,8 +11,13 @@ Required properties:
11- dma-names: "rx" for RX channel, "tx" for TX channel. 11- dma-names: "rx" for RX channel, "tx" for TX channel.
12 12
13Optional properties: 13Optional properties:
14- fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines, 14- fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines
15 for hardware flow control,
15 it also means you enable the DMA support for this UART. 16 it also means you enable the DMA support for this UART.
17- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
18 line respectively. It will use specified PIO instead of the peripheral
19 function pin for the USART feature.
20 If unsure, don't specify this property.
16 21
17Example: 22Example:
18auart0: serial@8006a000 { 23auart0: serial@8006a000 {
@@ -21,6 +26,9 @@ auart0: serial@8006a000 {
21 interrupts = <112>; 26 interrupts = <112>;
22 dmas = <&dma_apbx 8>, <&dma_apbx 9>; 27 dmas = <&dma_apbx 8>, <&dma_apbx 9>;
23 dma-names = "rx", "tx"; 28 dma-names = "rx", "tx";
29 cts-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
30 dsr-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
31 dcd-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
24}; 32};
25 33
26Note: Each auart port should have an alias correctly numbered in "aliases" 34Note: Each auart port should have an alias correctly numbered in "aliases"
diff --git a/Documentation/devicetree/bindings/serial/of-serial.txt b/Documentation/devicetree/bindings/serial/of-serial.txt
index 8c4fd0332028..b52b98234b9b 100644
--- a/Documentation/devicetree/bindings/serial/of-serial.txt
+++ b/Documentation/devicetree/bindings/serial/of-serial.txt
@@ -10,6 +10,7 @@ Required properties:
10 - "ns16850" 10 - "ns16850"
11 - "nvidia,tegra20-uart" 11 - "nvidia,tegra20-uart"
12 - "nxp,lpc3220-uart" 12 - "nxp,lpc3220-uart"
13 - "ralink,rt2880-uart"
13 - "ibm,qpace-nwp-serial" 14 - "ibm,qpace-nwp-serial"
14 - "altr,16550-FIFO32" 15 - "altr,16550-FIFO32"
15 - "altr,16550-FIFO64" 16 - "altr,16550-FIFO64"
diff --git a/Documentation/devicetree/bindings/serial/pl011.txt b/Documentation/devicetree/bindings/serial/pl011.txt
index 5d2e840ae65c..ba3ecb8cb5a1 100644
--- a/Documentation/devicetree/bindings/serial/pl011.txt
+++ b/Documentation/devicetree/bindings/serial/pl011.txt
@@ -6,12 +6,46 @@ Required properties:
6- interrupts: exactly one interrupt specifier 6- interrupts: exactly one interrupt specifier
7 7
8Optional properties: 8Optional properties:
9- pinctrl: When present, must have one state named "sleep" 9- pinctrl:
10 and one state named "default" 10 When present, must have one state named "default",
11- clocks: When present, must refer to exactly one clock named 11 and may contain a second name named "sleep". The former
12 state sets up pins for ordinary operation whereas
13 the latter state will put the associated pins to sleep
14 when the UART is unused
15- clocks:
16 When present, the first clock listed must correspond to
17 the clock named UARTCLK on the IP block, i.e. the clock
18 to the external serial line, whereas the second clock
19 must correspond to the PCLK clocking the internal logic
20 of the block. Just listing one clock (the first one) is
21 deprecated.
22- clocks-names:
23 When present, the first clock listed must be named
24 "uartclk" and the second clock listed must be named
12 "apb_pclk" 25 "apb_pclk"
13- dmas: When present, may have one or two dma channels. 26- dmas:
27 When present, may have one or two dma channels.
14 The first one must be named "rx", the second one 28 The first one must be named "rx", the second one
15 must be named "tx". 29 must be named "tx".
30- auto-poll:
31 Enables polling when using RX DMA.
32- poll-rate-ms:
33 Rate at which poll occurs when auto-poll is set,
34 default 100ms.
35- poll-timeout-ms:
36 Poll timeout when auto-poll is set, default
37 3000ms.
16 38
17See also bindings/arm/primecell.txt 39See also bindings/arm/primecell.txt
40
41Example:
42
43uart@80120000 {
44 compatible = "arm,pl011", "arm,primecell";
45 reg = <0x80120000 0x1000>;
46 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
47 dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
48 dma-names = "rx", "tx";
49 clocks = <&foo_clk>, <&bar_clk>;
50 clock-names = "uartclk", "apb_pclk";
51};
diff --git a/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt
index ffa5b784c66e..a2114c217376 100644
--- a/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt
+++ b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt
@@ -27,27 +27,52 @@ Optional properties:
27- dmas: Should contain dma specifiers for transmit and receive channels 27- dmas: Should contain dma specifiers for transmit and receive channels
28- dma-names: Should contain "tx" for transmit and "rx" for receive channels 28- dma-names: Should contain "tx" for transmit and "rx" for receive channels
29 29
30Note: Aliases may be defined to ensure the correct ordering of the UARTs.
31The alias serialN will result in the UART being assigned port N. If any
32serialN alias exists, then an alias must exist for each enabled UART. The
33serialN aliases should be in a .dts file instead of in a .dtsi file.
34
30Examples: 35Examples:
31 36
32A uartdm v1.4 device with dma capabilities. 37- A uartdm v1.4 device with dma capabilities.
33 38
34serial@f991e000 { 39 serial@f991e000 {
35 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; 40 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
36 reg = <0xf991e000 0x1000>; 41 reg = <0xf991e000 0x1000>;
37 interrupts = <0 108 0x0>; 42 interrupts = <0 108 0x0>;
38 clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>; 43 clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>;
39 clock-names = "core", "iface"; 44 clock-names = "core", "iface";
40 dmas = <&dma0 0>, <&dma0 1>; 45 dmas = <&dma0 0>, <&dma0 1>;
41 dma-names = "tx", "rx"; 46 dma-names = "tx", "rx";
42}; 47 };
43 48
44A uartdm v1.3 device without dma capabilities and part of a GSBI complex. 49- A uartdm v1.3 device without dma capabilities and part of a GSBI complex.
45 50
46serial@19c40000 { 51 serial@19c40000 {
47 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm"; 52 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
48 reg = <0x19c40000 0x1000>, 53 reg = <0x19c40000 0x1000>,
49 <0x19c00000 0x1000>; 54 <0x19c00000 0x1000>;
50 interrupts = <0 195 0x0>; 55 interrupts = <0 195 0x0>;
51 clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>; 56 clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>;
52 clock-names = "core", "iface"; 57 clock-names = "core", "iface";
53}; 58 };
59
60- serialN alias.
61
62 aliases {
63 serial0 = &uarta;
64 serial1 = &uartc;
65 serial2 = &uartb;
66 };
67
68 uarta: serial@12490000 {
69 status = "ok";
70 };
71
72 uartb: serial@16340000 {
73 status = "ok";
74 };
75
76 uartc: serial@1a240000 {
77 status = "ok";
78 };
diff --git a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
index b3556609a06f..ae73bb0e9ad9 100644
--- a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
+++ b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
@@ -4,8 +4,7 @@ Required properties:
4 4
5 - compatible: Must contain one of the following: 5 - compatible: Must contain one of the following:
6 6
7 - "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART. 7 - "renesas,scif-r7s72100" for R7S72100 (RZ/A1H) SCIF compatible UART.
8 - "renesas,scifb-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFB compatible UART.
9 - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART. 8 - "renesas,scifa-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFA compatible UART.
10 - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART. 9 - "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART.
11 - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART. 10 - "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART.
@@ -20,6 +19,12 @@ Required properties:
20 - "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART. 19 - "renesas,scifa-r8a7791" for R8A7791 (R-Car M2) SCIFA compatible UART.
21 - "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB compatible UART. 20 - "renesas,scifb-r8a7791" for R8A7791 (R-Car M2) SCIFB compatible UART.
22 - "renesas,hscif-r8a7791" for R8A7791 (R-Car M2) HSCIF compatible UART. 21 - "renesas,hscif-r8a7791" for R8A7791 (R-Car M2) HSCIF compatible UART.
22 - "renesas,scif-r8a7794" for R8A7794 (R-Car E2) SCIF compatible UART.
23 - "renesas,scifa-r8a7794" for R8A7794 (R-Car E2) SCIFA compatible UART.
24 - "renesas,scifb-r8a7794" for R8A7794 (R-Car E2) SCIFB compatible UART.
25 - "renesas,hscif-r8a7794" for R8A7794 (R-Car E2) HSCIF compatible UART.
26 - "renesas,scifa-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFA compatible UART.
27 - "renesas,scifb-sh73a0" for SH73A0 (SH-Mobile AG5) SCIFB compatible UART.
23 - "renesas,scif" for generic SCIF compatible UART. 28 - "renesas,scif" for generic SCIF compatible UART.
24 - "renesas,scifa" for generic SCIFA compatible UART. 29 - "renesas,scifa" for generic SCIFA compatible UART.
25 - "renesas,scifb" for generic SCIFB compatible UART. 30 - "renesas,scifb" for generic SCIFB compatible UART.
diff --git a/Documentation/devicetree/bindings/serial/sirf-uart.txt b/Documentation/devicetree/bindings/serial/sirf-uart.txt
index a2dfc6522a91..3acdd969edf1 100644
--- a/Documentation/devicetree/bindings/serial/sirf-uart.txt
+++ b/Documentation/devicetree/bindings/serial/sirf-uart.txt
@@ -1,7 +1,9 @@
1* CSR SiRFprimaII/atlasVI Universal Synchronous Asynchronous Receiver/Transmitter * 1* CSR SiRFprimaII/atlasVI Universal Synchronous Asynchronous Receiver/Transmitter *
2 2
3Required properties: 3Required properties:
4- compatible : Should be "sirf,prima2-uart" or "sirf, prima2-usp-uart" 4- compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart",
5 "sirf,marco-uart" or "sirf,marco-bt-uart" which means
6 uart located in BT module and used for BT.
5- reg : Offset and length of the register set for the device 7- reg : Offset and length of the register set for the device
6- interrupts : Should contain uart interrupt 8- interrupts : Should contain uart interrupt
7- fifosize : Should define hardware rx/tx fifo size 9- fifosize : Should define hardware rx/tx fifo size
@@ -31,3 +33,15 @@ usp@b0090000 {
31 rts-gpios = <&gpio 15 0>; 33 rts-gpios = <&gpio 15 0>;
32 cts-gpios = <&gpio 46 0>; 34 cts-gpios = <&gpio 46 0>;
33}; 35};
36
37for uart use in BT module,
38uart6: uart@11000000 {
39 cell-index = <6>;
40 compatible = "sirf,marco-bt-uart", "sirf,marco-uart";
41 reg = <0x11000000 0x1000>;
42 interrupts = <0 100 0>;
43 clocks = <&clks 138>, <&clks 140>, <&clks 141>;
44 clock-names = "uart", "general", "noc";
45 fifosize = <128>;
46 status = "disabled";
47}
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt b/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
new file mode 100644
index 000000000000..2a00e14e11e0
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/bman-portals.txt
@@ -0,0 +1,56 @@
1QorIQ DPAA Buffer Manager Portals Device Tree Binding
2
3Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
4
5CONTENTS
6
7 - BMan Portal
8 - Example
9
10BMan Portal Node
11
12Portals are memory mapped interfaces to BMan that allow low-latency, lock-less
13interaction by software running on processor cores, accelerators and network
14interfaces with the BMan
15
16PROPERTIES
17
18- compatible
19 Usage: Required
20 Value type: <stringlist>
21 Definition: Must include "fsl,bman-portal-<hardware revision>"
22 May include "fsl,<SoC>-bman-portal" or "fsl,bman-portal"
23
24- reg
25 Usage: Required
26 Value type: <prop-encoded-array>
27 Definition: Two regions. The first is the cache-enabled region of
28 the portal. The second is the cache-inhibited region of
29 the portal
30
31- interrupts
32 Usage: Required
33 Value type: <prop-encoded-array>
34 Definition: Standard property
35
36EXAMPLE
37
38The example below shows a (P4080) BMan portals container/bus node with two portals
39
40 bman-portals@ff4000000 {
41 #address-cells = <1>;
42 #size-cells = <1>;
43 compatible = "simple-bus";
44 ranges = <0 0xf 0xf4000000 0x200000>;
45
46 bman-portal@0 {
47 compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal";
48 reg = <0x0 0x4000>, <0x100000 0x1000>;
49 interrupts = <105 2 0 0>;
50 };
51 bman-portal@4000 {
52 compatible = "fsl,bman-portal-1.0.0", "fsl,bman-portal";
53 reg = <0x4000 0x4000>, <0x101000 0x1000>;
54 interrupts = <107 2 0 0>;
55 };
56 };
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman.txt b/Documentation/devicetree/bindings/soc/fsl/bman.txt
new file mode 100644
index 000000000000..9f80bf8709ac
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/bman.txt
@@ -0,0 +1,125 @@
1QorIQ DPAA Buffer Manager Device Tree Bindings
2
3Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
4
5CONTENTS
6
7 - BMan Node
8 - BMan Private Memory Node
9 - Example
10
11BMan Node
12
13The Buffer Manager is part of the Data-Path Acceleration Architecture (DPAA).
14BMan supports hardware allocation and deallocation of buffers belonging to pools
15originally created by software with configurable depletion thresholds. This
16binding covers the CCSR space programming model
17
18PROPERTIES
19
20- compatible
21 Usage: Required
22 Value type: <stringlist>
23 Definition: Must include "fsl,bman"
24 May include "fsl,<SoC>-bman"
25
26- reg
27 Usage: Required
28 Value type: <prop-encoded-array>
29 Definition: Registers region within the CCSR address space
30
31The BMan revision information is located in the BMAN_IP_REV_1/2 registers which
32are located at offsets 0xbf8 and 0xbfc
33
34- interrupts
35 Usage: Required
36 Value type: <prop-encoded-array>
37 Definition: Standard property. The error interrupt
38
39- fsl,liodn
40 Usage: See pamu.txt
41 Value type: <prop-encoded-array>
42 Definition: PAMU property used for static LIODN assignment
43
44- fsl,iommu-parent
45 Usage: See pamu.txt
46 Value type: <phandle>
47 Definition: PAMU property used for dynamic LIODN assignment
48
49 For additional details about the PAMU/LIODN binding(s) see pamu.txt
50
51Devices connected to a BMan instance via Direct Connect Portals (DCP) must link
52to the respective BMan instance
53
54- fsl,bman
55 Usage: Required
56 Value type: <prop-encoded-array>
57 Description: List of phandle and DCP index pairs, to the BMan instance
58 to which this device is connected via the DCP
59
60BMan Private Memory Node
61
62BMan requires a contiguous range of physical memory used for the backing store
63for BMan Free Buffer Proxy Records (FBPR). This memory is reserved/allocated as a
64node under the /reserved-memory node
65
66The BMan FBPR memory node must be named "bman-fbpr"
67
68PROPERTIES
69
70- compatible
71 Usage: required
72 Value type: <stringlist>
73 Definition: Must inclide "fsl,bman-fbpr"
74
75The following constraints are relevant to the FBPR private memory:
76 - The size must be 2^(size + 1), with size = 11..33. That is 4 KiB to
77 16 GiB
78 - The alignment must be a muliptle of the memory size
79
80The size of the FBPR must be chosen by observing the hardware features configured
81via the Reset Configuration Word (RCW) and that are relevant to a specific board
82(e.g. number of MAC(s) pinned-out, number of offline/host command FMan ports,
83etc.). The size configured in the DT must reflect the hardware capabilities and
84not the specific needs of an application
85
86For additional details about reserved memory regions see reserved-memory.txt
87
88EXAMPLE
89
90The example below shows a BMan FBPR dynamic allocation memory node
91
92 reserved-memory {
93 #address-cells = <2>;
94 #size-cells = <2>;
95 ranges;
96
97 bman_fbpr: bman-fbpr {
98 compatible = "fsl,bman-fbpr";
99 alloc-ranges = <0 0 0xf 0xffffffff>;
100 size = <0 0x1000000>;
101 alignment = <0 0x1000000>;
102 };
103 };
104
105The example below shows a (P4080) BMan CCSR-space node
106
107 crypto@300000 {
108 ...
109 fsl,bman = <&bman, 2>;
110 ...
111 };
112
113 bman: bman@31a000 {
114 compatible = "fsl,bman";
115 reg = <0x31a000 0x1000>;
116 interrupts = <16 2 1 2>;
117 fsl,liodn = <0x17>;
118 memory-region = <&bman_fbpr>;
119 };
120
121 fman@400000 {
122 ...
123 fsl,bman = <&bman, 0>;
124 ...
125 };
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt b/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
new file mode 100644
index 000000000000..48c4dae5d6f9
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/qman-portals.txt
@@ -0,0 +1,154 @@
1QorIQ DPAA Queue Manager Portals Device Tree Binding
2
3Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
4
5CONTENTS
6
7 - QMan Portal
8 - QMan Pool Channel
9 - Example
10
11QMan Portal Node
12
13Portals are memory mapped interfaces to QMan that allow low-latency, lock-less
14interaction by software running on processor cores, accelerators and network
15interfaces with the QMan
16
17PROPERTIES
18
19- compatible
20 Usage: Required
21 Value type: <stringlist>
22 Definition: Must include "fsl,qman-portal-<hardware revision>"
23 May include "fsl,<SoC>-qman-portal" or "fsl,qman-portal"
24
25- reg
26 Usage: Required
27 Value type: <prop-encoded-array>
28 Definition: Two regions. The first is the cache-enabled region of
29 the portal. The second is the cache-inhibited region of
30 the portal
31
32- interrupts
33 Usage: Required
34 Value type: <prop-encoded-array>
35 Definition: Standard property
36
37- fsl,liodn
38 Usage: See pamu.txt
39 Value type: <prop-encoded-array>
40 Definition: Two LIODN(s). DQRR LIODN (DLIODN) and Frame LIODN
41 (FLIODN)
42
43- fsl,iommu-parent
44 Usage: See pamu.txt
45 Value type: <phandle>
46 Definition: PAMU property used for dynamic LIODN assignment
47
48 For additional details about the PAMU/LIODN binding(s) see pamu.txt
49
50- fsl,qman-channel-id
51 Usage: Required
52 Value type: <u32>
53 Definition: The hardware index of the channel. This can also be
54 determined by dividing any of the channel's 8 work queue
55 IDs by 8
56
57In addition to these properties the qman-portals should have sub-nodes to
58represent the HW devices/portals that are connected to the software portal
59described here
60
61The currently supported sub-nodes are:
62 * fman0
63 * fman1
64 * pme
65 * crypto
66
67These subnodes should have the following properties:
68
69- fsl,liodn
70 Usage: See pamu.txt
71 Value type: <prop-encoded-array>
72 Definition: PAMU property used for static LIODN assignment
73
74- fsl,iommu-parent
75 Usage: See pamu.txt
76 Value type: <phandle>
77 Definition: PAMU property used for dynamic LIODN assignment
78
79- dev-handle
80 Usage: Required
81 Value type: <phandle>
82 Definition: The phandle to the particular hardware device that this
83 portal is connected to.
84
85DPAA QMan Pool Channel Nodes
86
87Pool Channels are defined with the following properties.
88
89PROPERTIES
90
91- compatible
92 Usage: Required
93 Value type: <stringlist>
94 Definition: Must include "fsl,qman-pool-channel"
95 May include "fsl,<SoC>-qman-pool-channel"
96
97- fsl,qman-channel-id
98 Usage: Required
99 Value type: <u32>
100 Definition: The hardware index of the channel. This can also be
101 determined by dividing any of the channel's 8 work queue
102 IDs by 8
103
104EXAMPLE
105
106The example below shows a (P4080) QMan portals container/bus node with two portals
107
108 qman-portals@ff4200000 {
109 #address-cells = <1>;
110 #size-cells = <1>;
111 compatible = "simple-bus";
112 ranges = <0 0xf 0xf4200000 0x200000>;
113
114 qman-portal@0 {
115 compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
116 reg = <0 0x4000>, <0x100000 0x1000>;
117 interrupts = <104 2 0 0>;
118 fsl,liodn = <1 2>;
119 fsl,qman-channel-id = <0>;
120
121 fman0 {
122 fsl,liodn = <0x21>;
123 dev-handle = <&fman0>;
124 };
125 fman1 {
126 fsl,liodn = <0xa1>;
127 dev-handle = <&fman1>;
128 };
129 crypto {
130 fsl,liodn = <0x41 0x66>;
131 dev-handle = <&crypto>;
132 };
133 };
134 qman-portal@4000 {
135 compatible = "fsl,qman-portal-1.2.0", "fsl,qman-portal";
136 reg = <0x4000 0x4000>, <0x101000 0x1000>;
137 interrupts = <106 2 0 0>;
138 fsl,liodn = <3 4>;
139 fsl,qman-channel-id = <1>;
140
141 fman0 {
142 fsl,liodn = <0x22>;
143 dev-handle = <&fman0>;
144 };
145 fman1 {
146 fsl,liodn = <0xa2>;
147 dev-handle = <&fman1>;
148 };
149 crypto {
150 fsl,liodn = <0x42 0x67>;
151 dev-handle = <&crypto>;
152 };
153 };
154 };
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman.txt b/Documentation/devicetree/bindings/soc/fsl/qman.txt
new file mode 100644
index 000000000000..063e3a0b9d04
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/fsl/qman.txt
@@ -0,0 +1,165 @@
1QorIQ DPAA Queue Manager Device Tree Binding
2
3Copyright (C) 2008 - 2014 Freescale Semiconductor Inc.
4
5CONTENTS
6
7 - QMan Node
8 - QMan Private Memory Nodes
9 - Example
10
11QMan Node
12
13The Queue Manager is part of the Data-Path Acceleration Architecture (DPAA). QMan
14supports queuing and QoS scheduling of frames to CPUs, network interfaces and
15DPAA logic modules, maintains packet ordering within flows. Besides providing
16flow-level queuing, is also responsible for congestion management functions such
17as RED/WRED, congestion notifications and tail discards. This binding covers the
18CCSR space programming model
19
20PROPERTIES
21
22- compatible
23 Usage: Required
24 Value type: <stringlist>
25 Definition: Must include "fsl,qman"
26 May include "fsl,<SoC>-qman"
27
28- reg
29 Usage: Required
30 Value type: <prop-encoded-array>
31 Definition: Registers region within the CCSR address space
32
33The QMan revision information is located in the QMAN_IP_REV_1/2 registers which
34are located at offsets 0xbf8 and 0xbfc
35
36- interrupts
37 Usage: Required
38 Value type: <prop-encoded-array>
39 Definition: Standard property. The error interrupt
40
41- fsl,liodn
42 Usage: See pamu.txt
43 Value type: <prop-encoded-array>
44 Definition: PAMU property used for static LIODN assignment
45
46- fsl,iommu-parent
47 Usage: See pamu.txt
48 Value type: <phandle>
49 Definition: PAMU property used for dynamic LIODN assignment
50
51 For additional details about the PAMU/LIODN binding(s) see pamu.txt
52
53- clocks
54 Usage: See clock-bindings.txt and qoriq-clock.txt
55 Value type: <prop-encoded-array>
56 Definition: Reference input clock. Its frequency is half of the
57 platform clock
58
59Devices connected to a QMan instance via Direct Connect Portals (DCP) must link
60to the respective QMan instance
61
62- fsl,qman
63 Usage: Required
64 Value type: <prop-encoded-array>
65 Description: List of phandle and DCP index pairs, to the QMan instance
66 to which this device is connected via the DCP
67
68QMan Private Memory Nodes
69
70QMan requires two contiguous range of physical memory used for the backing store
71for QMan Frame Queue Descriptor (FQD) and Packed Frame Descriptor Record (PFDR).
72This memory is reserved/allocated as a nodes under the /reserved-memory node
73
74The QMan FQD memory node must be named "qman-fqd"
75
76PROPERTIES
77
78- compatible
79 Usage: required
80 Value type: <stringlist>
81 Definition: Must inclide "fsl,qman-fqd"
82
83The QMan PFDR memory node must be named "qman-pfdr"
84
85PROPERTIES
86
87- compatible
88 Usage: required
89 Value type: <stringlist>
90 Definition: Must inclide "fsl,qman-pfdr"
91
92The following constraints are relevant to the FQD and PFDR private memory:
93 - The size must be 2^(size + 1), with size = 11..29. That is 4 KiB to
94 1 GiB
95 - The alignment must be a muliptle of the memory size
96
97The size of the FQD and PFDP must be chosen by observing the hardware features
98configured via the Reset Configuration Word (RCW) and that are relevant to a
99specific board (e.g. number of MAC(s) pinned-out, number of offline/host command
100FMan ports, etc.). The size configured in the DT must reflect the hardware
101capabilities and not the specific needs of an application
102
103For additional details about reserved memory regions see reserved-memory.txt
104
105EXAMPLE
106
107The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes
108
109 reserved-memory {
110 #address-cells = <2>;
111 #size-cells = <2>;
112 ranges;
113
114 qman_fqd: qman-fqd {
115 compatible = "fsl,qman-fqd";
116 alloc-ranges = <0 0 0xf 0xffffffff>;
117 size = <0 0x400000>;
118 alignment = <0 0x400000>;
119 };
120 qman_pfdr: qman-pfdr {
121 compatible = "fsl,qman-pfdr";
122 alloc-ranges = <0 0 0xf 0xffffffff>;
123 size = <0 0x2000000>;
124 alignment = <0 0x2000000>;
125 };
126 };
127
128The example below shows a (P4080) QMan CCSR-space node
129
130 clockgen: global-utilities@e1000 {
131 ...
132 sysclk: sysclk {
133 ...
134 };
135 ...
136 platform_pll: platform-pll@c00 {
137 #clock-cells = <1>;
138 reg = <0xc00 0x4>;
139 compatible = "fsl,qoriq-platform-pll-1.0";
140 clocks = <&sysclk>;
141 clock-output-names = "platform-pll", "platform-pll-div2";
142 };
143 ...
144 };
145
146 crypto@300000 {
147 ...
148 fsl,qman = <&qman, 2>;
149 ...
150 };
151
152 qman: qman@318000 {
153 compatible = "fsl,qman";
154 reg = <0x318000 0x1000>;
155 interrupts = <16 2 1 3>
156 fsl,liodn = <0x16>;
157 memory-region = <&qman_fqd &qman_pfdr>;
158 clocks = <&platform_pll 1>;
159 };
160
161 fman@400000 {
162 ...
163 fsl,qman = <&qman, 0>;
164 ...
165 };
diff --git a/Documentation/devicetree/bindings/sound/arndale.txt b/Documentation/devicetree/bindings/sound/arndale.txt
new file mode 100644
index 000000000000..0e76946385ae
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/arndale.txt
@@ -0,0 +1,24 @@
1Audio Binding for Arndale boards
2
3Required properties:
4- compatible : Can be the following,
5 "samsung,arndale-rt5631"
6
7- samsung,audio-cpu: The phandle of the Samsung I2S controller
8- samsung,audio-codec: The phandle of the audio codec
9
10Optional:
11- samsung,model: The name of the sound-card
12
13Arndale Boards has many audio daughter cards, one of them is
14rt5631/alc5631. Below example shows audio bindings for rt5631/
15alc5631 based codec.
16
17Example:
18
19sound {
20 compatible = "samsung,arndale-rt5631";
21
22 samsung,audio-cpu = <&i2s0>
23 samsung,audio-codec = <&rt5631>;
24};
diff --git a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
index 60ca07996458..46bc9829c71a 100644
--- a/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
+++ b/Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt
@@ -32,7 +32,7 @@ Optional properties:
32- rx-num-evt : FIFO levels. 32- rx-num-evt : FIFO levels.
33- sram-size-playback : size of sram to be allocated during playback 33- sram-size-playback : size of sram to be allocated during playback
34- sram-size-capture : size of sram to be allocated during capture 34- sram-size-capture : size of sram to be allocated during capture
35- interrupts : Interrupt numbers for McASP, currently not used by the driver 35- interrupts : Interrupt numbers for McASP
36- interrupt-names : Known interrupt names are "tx" and "rx" 36- interrupt-names : Known interrupt names are "tx" and "rx"
37- pinctrl-0: Should specify pin control group used for this controller. 37- pinctrl-0: Should specify pin control group used for this controller.
38- pinctrl-names: Should contain only one value - "default", for more details 38- pinctrl-names: Should contain only one value - "default", for more details
diff --git a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
index 0d7985c864af..6dfa88c4dc1e 100644
--- a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
+++ b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
@@ -1,11 +1,16 @@
1Audio complex for Eukrea boards with tlv320aic23 codec. 1Audio complex for Eukrea boards with tlv320aic23 codec.
2 2
3Required properties: 3Required properties:
4- compatible : "eukrea,asoc-tlv320" 4
5- eukrea,model : The user-visible name of this sound complex. 5 - compatible : "eukrea,asoc-tlv320"
6- ssi-controller : The phandle of the SSI controller. 6
7- fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX). 7 - eukrea,model : The user-visible name of this sound complex.
8- fsl,mux-ext-port : The external port of the i.MX audio muxer. 8
9 - ssi-controller : The phandle of the SSI controller.
10
11 - fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX).
12
13 - fsl,mux-ext-port : The external port of the i.MX audio muxer.
9 14
10Note: The AUDMUX port numbering should start at 1, which is consistent with 15Note: The AUDMUX port numbering should start at 1, which is consistent with
11hardware manual. 16hardware manual.
diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.txt b/Documentation/devicetree/bindings/sound/fsl,esai.txt
index 52f5b6bf3e8e..d3b6b5f48010 100644
--- a/Documentation/devicetree/bindings/sound/fsl,esai.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,esai.txt
@@ -7,37 +7,39 @@ other DSPs. It has up to six transmitters and four receivers.
7 7
8Required properties: 8Required properties:
9 9
10 - compatible : Compatible list, must contain "fsl,imx35-esai" or 10 - compatible : Compatible list, must contain "fsl,imx35-esai" or
11 "fsl,vf610-esai" 11 "fsl,vf610-esai"
12 12
13 - reg : Offset and length of the register set for the device. 13 - reg : Offset and length of the register set for the device.
14 14
15 - interrupts : Contains the spdif interrupt. 15 - interrupts : Contains the spdif interrupt.
16 16
17 - dmas : Generic dma devicetree binding as described in 17 - dmas : Generic dma devicetree binding as described in
18 Documentation/devicetree/bindings/dma/dma.txt. 18 Documentation/devicetree/bindings/dma/dma.txt.
19 19
20 - dma-names : Two dmas have to be defined, "tx" and "rx". 20 - dma-names : Two dmas have to be defined, "tx" and "rx".
21 21
22 - clocks: Contains an entry for each entry in clock-names. 22 - clocks : Contains an entry for each entry in clock-names.
23 23
24 - clock-names : Includes the following entries: 24 - clock-names : Includes the following entries:
25 "core" The core clock used to access registers 25 "core" The core clock used to access registers
26 "extal" The esai baud clock for esai controller used to derive 26 "extal" The esai baud clock for esai controller used to
27 HCK, SCK and FS. 27 derive HCK, SCK and FS.
28 "fsys" The system clock derived from ahb clock used to derive 28 "fsys" The system clock derived from ahb clock used to
29 HCK, SCK and FS. 29 derive HCK, SCK and FS.
30 30
31 - fsl,fifo-depth: The number of elements in the transmit and receive FIFOs. 31 - fsl,fifo-depth : The number of elements in the transmit and receive
32 This number is the maximum allowed value for TFCR[TFWM] or RFCR[RFWM]. 32 FIFOs. This number is the maximum allowed value for
33 TFCR[TFWM] or RFCR[RFWM].
33 34
34 - fsl,esai-synchronous: This is a boolean property. If present, indicating 35 - fsl,esai-synchronous: This is a boolean property. If present, indicating
35 that ESAI would work in the synchronous mode, which means all the settings 36 that ESAI would work in the synchronous mode, which
36 for Receiving would be duplicated from Transmition related registers. 37 means all the settings for Receiving would be
38 duplicated from Transmition related registers.
37 39
38 - big-endian : If this property is absent, the native endian mode will 40 - big-endian : If this property is absent, the native endian mode
39 be in use as default, or the big endian mode will be in use for all the 41 will be in use as default, or the big endian mode
40 device registers. 42 will be in use for all the device registers.
41 43
42Example: 44Example:
43 45
diff --git a/Documentation/devicetree/bindings/sound/fsl,spdif.txt b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
index 3e9e82c8eab3..b5ee32ee3706 100644
--- a/Documentation/devicetree/bindings/sound/fsl,spdif.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
@@ -6,32 +6,31 @@ a fibre cable.
6 6
7Required properties: 7Required properties:
8 8
9 - compatible : Compatible list, must contain "fsl,imx35-spdif". 9 - compatible : Compatible list, must contain "fsl,imx35-spdif".
10 10
11 - reg : Offset and length of the register set for the device. 11 - reg : Offset and length of the register set for the device.
12 12
13 - interrupts : Contains the spdif interrupt. 13 - interrupts : Contains the spdif interrupt.
14 14
15 - dmas : Generic dma devicetree binding as described in 15 - dmas : Generic dma devicetree binding as described in
16 Documentation/devicetree/bindings/dma/dma.txt. 16 Documentation/devicetree/bindings/dma/dma.txt.
17 17
18 - dma-names : Two dmas have to be defined, "tx" and "rx". 18 - dma-names : Two dmas have to be defined, "tx" and "rx".
19 19
20 - clocks : Contains an entry for each entry in clock-names. 20 - clocks : Contains an entry for each entry in clock-names.
21 21
22 - clock-names : Includes the following entries: 22 - clock-names : Includes the following entries:
23 "core" The core clock of spdif controller 23 "core" The core clock of spdif controller.
24 "rxtx<0-7>" Clock source list for tx and rx clock. 24 "rxtx<0-7>" Clock source list for tx and rx clock.
25 This clock list should be identical to 25 This clock list should be identical to the source
26 the source list connecting to the spdif 26 list connecting to the spdif clock mux in "SPDIF
27 clock mux in "SPDIF Transceiver Clock 27 Transceiver Clock Diagram" of SoC reference manual.
28 Diagram" of SoC reference manual. It 28 It can also be referred to TxClk_Source bit of
29 can also be referred to TxClk_Source 29 register SPDIF_STC.
30 bit of register SPDIF_STC.
31 30
32 - big-endian : If this property is absent, the native endian mode will 31 - big-endian : If this property is absent, the native endian mode
33 be in use as default, or the big endian mode will be in use for all the 32 will be in use as default, or the big endian mode
34 device registers. 33 will be in use for all the device registers.
35 34
36Example: 35Example:
37 36
diff --git a/Documentation/devicetree/bindings/sound/fsl-sai.txt b/Documentation/devicetree/bindings/sound/fsl-sai.txt
index 4956b14d4b06..044e5d76e2dd 100644
--- a/Documentation/devicetree/bindings/sound/fsl-sai.txt
+++ b/Documentation/devicetree/bindings/sound/fsl-sai.txt
@@ -5,32 +5,48 @@ which provides a synchronous audio interface that supports fullduplex
5serial interfaces with frame synchronization such as I2S, AC97, TDM, and 5serial interfaces with frame synchronization such as I2S, AC97, TDM, and
6codec/DSP interfaces. 6codec/DSP interfaces.
7 7
8
9Required properties: 8Required properties:
10- compatible: Compatible list, contains "fsl,vf610-sai" or "fsl,imx6sx-sai". 9
11- reg: Offset and length of the register set for the device. 10 - compatible : Compatible list, contains "fsl,vf610-sai" or
12- clocks: Must contain an entry for each entry in clock-names. 11 "fsl,imx6sx-sai".
13- clock-names : Must include the "bus" for register access and "mclk1" "mclk2" 12
14 "mclk3" for bit clock and frame clock providing. 13 - reg : Offset and length of the register set for the device.
15- dmas : Generic dma devicetree binding as described in 14
16 Documentation/devicetree/bindings/dma/dma.txt. 15 - clocks : Must contain an entry for each entry in clock-names.
17- dma-names : Two dmas have to be defined, "tx" and "rx". 16
18- pinctrl-names: Must contain a "default" entry. 17 - clock-names : Must include the "bus" for register access and
19- pinctrl-NNN: One property must exist for each entry in pinctrl-names. 18 "mclk1", "mclk2", "mclk3" for bit clock and frame
20 See ../pinctrl/pinctrl-bindings.txt for details of the property values. 19 clock providing.
21- big-endian: Boolean property, required if all the FTM_PWM registers 20 - dmas : Generic dma devicetree binding as described in
22 are big-endian rather than little-endian. 21 Documentation/devicetree/bindings/dma/dma.txt.
23- lsb-first: Configures whether the LSB or the MSB is transmitted first for 22
24 the fifo data. If this property is absent, the MSB is transmitted first as 23 - dma-names : Two dmas have to be defined, "tx" and "rx".
25 default, or the LSB is transmitted first. 24
26- fsl,sai-synchronous-rx: This is a boolean property. If present, indicating 25 - pinctrl-names : Must contain a "default" entry.
27 that SAI will work in the synchronous mode (sync Tx with Rx) which means 26
28 both the transimitter and receiver will send and receive data by following 27 - pinctrl-NNN : One property must exist for each entry in
29 receiver's bit clocks and frame sync clocks. 28 pinctrl-names. See ../pinctrl/pinctrl-bindings.txt
30- fsl,sai-asynchronous: This is a boolean property. If present, indicating 29 for details of the property values.
31 that SAI will work in the asynchronous mode, which means both transimitter 30
32 and receiver will send and receive data by following their own bit clocks 31 - big-endian : Boolean property, required if all the FTM_PWM
33 and frame sync clocks separately. 32 registers are big-endian rather than little-endian.
33
34 - lsb-first : Configures whether the LSB or the MSB is transmitted
35 first for the fifo data. If this property is absent,
36 the MSB is transmitted first as default, or the LSB
37 is transmitted first.
38
39 - fsl,sai-synchronous-rx: This is a boolean property. If present, indicating
40 that SAI will work in the synchronous mode (sync Tx
41 with Rx) which means both the transimitter and the
42 receiver will send and receive data by following
43 receiver's bit clocks and frame sync clocks.
44
45 - fsl,sai-asynchronous: This is a boolean property. If present, indicating
46 that SAI will work in the asynchronous mode, which
47 means both transimitter and receiver will send and
48 receive data by following their own bit clocks and
49 frame sync clocks separately.
34 50
35Note: 51Note:
36- If both fsl,sai-asynchronous and fsl,sai-synchronous-rx are absent, the 52- If both fsl,sai-asynchronous and fsl,sai-synchronous-rx are absent, the
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt
index e4acdd891e49..2f89db88fd57 100644
--- a/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt
+++ b/Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt
@@ -1,33 +1,40 @@
1Freescale i.MX audio complex with SGTL5000 codec 1Freescale i.MX audio complex with SGTL5000 codec
2 2
3Required properties: 3Required properties:
4- compatible : "fsl,imx-audio-sgtl5000" 4
5- model : The user-visible name of this sound complex 5 - compatible : "fsl,imx-audio-sgtl5000"
6- ssi-controller : The phandle of the i.MX SSI controller 6
7- audio-codec : The phandle of the SGTL5000 audio codec 7 - model : The user-visible name of this sound complex
8- audio-routing : A list of the connections between audio components. 8
9 Each entry is a pair of strings, the first being the connection's sink, 9 - ssi-controller : The phandle of the i.MX SSI controller
10 the second being the connection's source. Valid names could be power 10
11 supplies, SGTL5000 pins, and the jacks on the board: 11 - audio-codec : The phandle of the SGTL5000 audio codec
12 12
13 Power supplies: 13 - audio-routing : A list of the connections between audio components.
14 * Mic Bias 14 Each entry is a pair of strings, the first being the
15 15 connection's sink, the second being the connection's
16 SGTL5000 pins: 16 source. Valid names could be power supplies, SGTL5000
17 * MIC_IN 17 pins, and the jacks on the board:
18 * LINE_IN 18
19 * HP_OUT 19 Power supplies:
20 * LINE_OUT 20 * Mic Bias
21 21
22 Board connectors: 22 SGTL5000 pins:
23 * Mic Jack 23 * MIC_IN
24 * Line In Jack 24 * LINE_IN
25 * Headphone Jack 25 * HP_OUT
26 * Line Out Jack 26 * LINE_OUT
27 * Ext Spk 27
28 28 Board connectors:
29- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) 29 * Mic Jack
30- mux-ext-port : The external port of the i.MX audio muxer 30 * Line In Jack
31 * Headphone Jack
32 * Line Out Jack
33 * Ext Spk
34
35 - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
36
37 - mux-ext-port : The external port of the i.MX audio muxer
31 38
32Note: The AUDMUX port numbering should start at 1, which is consistent with 39Note: The AUDMUX port numbering should start at 1, which is consistent with
33hardware manual. 40hardware manual.
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
index 7d13479f9c3c..da84a442ccea 100644
--- a/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
+++ b/Documentation/devicetree/bindings/sound/imx-audio-spdif.txt
@@ -2,23 +2,25 @@ Freescale i.MX audio complex with S/PDIF transceiver
2 2
3Required properties: 3Required properties:
4 4
5 - compatible : "fsl,imx-audio-spdif" 5 - compatible : "fsl,imx-audio-spdif"
6 6
7 - model : The user-visible name of this sound complex 7 - model : The user-visible name of this sound complex
8 8
9 - spdif-controller : The phandle of the i.MX S/PDIF controller 9 - spdif-controller : The phandle of the i.MX S/PDIF controller
10 10
11 11
12Optional properties: 12Optional properties:
13 13
14 - spdif-out : This is a boolean property. If present, the transmitting 14 - spdif-out : This is a boolean property. If present, the
15 function of S/PDIF will be enabled, indicating there's a physical 15 transmitting function of S/PDIF will be enabled,
16 S/PDIF out connector/jack on the board or it's connecting to some 16 indicating there's a physical S/PDIF out connector
17 other IP block, such as an HDMI encoder/display-controller. 17 or jack on the board or it's connecting to some
18 other IP block, such as an HDMI encoder or
19 display-controller.
18 20
19 - spdif-in : This is a boolean property. If present, the receiving 21 - spdif-in : This is a boolean property. If present, the receiving
20 function of S/PDIF will be enabled, indicating there's a physical 22 function of S/PDIF will be enabled, indicating there
21 S/PDIF in connector/jack on the board. 23 is a physical S/PDIF in connector/jack on the board.
22 24
23* Note: At least one of these two properties should be set in the DT binding. 25* Note: At least one of these two properties should be set in the DT binding.
24 26
diff --git a/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt b/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt
index f49450a87890..acea71bee34f 100644
--- a/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt
+++ b/Documentation/devicetree/bindings/sound/imx-audio-wm8962.txt
@@ -1,25 +1,32 @@
1Freescale i.MX audio complex with WM8962 codec 1Freescale i.MX audio complex with WM8962 codec
2 2
3Required properties: 3Required properties:
4- compatible : "fsl,imx-audio-wm8962" 4
5- model : The user-visible name of this sound complex 5 - compatible : "fsl,imx-audio-wm8962"
6- ssi-controller : The phandle of the i.MX SSI controller 6
7- audio-codec : The phandle of the WM8962 audio codec 7 - model : The user-visible name of this sound complex
8- audio-routing : A list of the connections between audio components. 8
9 Each entry is a pair of strings, the first being the connection's sink, 9 - ssi-controller : The phandle of the i.MX SSI controller
10 the second being the connection's source. Valid names could be power 10
11 supplies, WM8962 pins, and the jacks on the board: 11 - audio-codec : The phandle of the WM8962 audio codec
12 12
13 Power supplies: 13 - audio-routing : A list of the connections between audio components.
14 * Mic Bias 14 Each entry is a pair of strings, the first being the
15 15 connection's sink, the second being the connection's
16 Board connectors: 16 source. Valid names could be power supplies, WM8962
17 * Mic Jack 17 pins, and the jacks on the board:
18 * Headphone Jack 18
19 * Ext Spk 19 Power supplies:
20 20 * Mic Bias
21- mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) 21
22- mux-ext-port : The external port of the i.MX audio muxer 22 Board connectors:
23 * Mic Jack
24 * Headphone Jack
25 * Ext Spk
26
27 - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX)
28
29 - mux-ext-port : The external port of the i.MX audio muxer
23 30
24Note: The AUDMUX port numbering should start at 1, which is consistent with 31Note: The AUDMUX port numbering should start at 1, which is consistent with
25hardware manual. 32hardware manual.
diff --git a/Documentation/devicetree/bindings/sound/imx-audmux.txt b/Documentation/devicetree/bindings/sound/imx-audmux.txt
index f88a00e54c63..b30a737e209e 100644
--- a/Documentation/devicetree/bindings/sound/imx-audmux.txt
+++ b/Documentation/devicetree/bindings/sound/imx-audmux.txt
@@ -1,18 +1,24 @@
1Freescale Digital Audio Mux (AUDMUX) device 1Freescale Digital Audio Mux (AUDMUX) device
2 2
3Required properties: 3Required properties:
4- compatible : "fsl,imx21-audmux" for AUDMUX version firstly used on i.MX21, 4
5 or "fsl,imx31-audmux" for the version firstly used on i.MX31. 5 - compatible : "fsl,imx21-audmux" for AUDMUX version firstly used
6- reg : Should contain AUDMUX registers location and length 6 on i.MX21, or "fsl,imx31-audmux" for the version
7 firstly used on i.MX31.
8
9 - reg : Should contain AUDMUX registers location and length.
7 10
8An initial configuration can be setup using child nodes. 11An initial configuration can be setup using child nodes.
9 12
10Required properties of optional child nodes: 13Required properties of optional child nodes:
11- fsl,audmux-port : Integer of the audmux port that is configured by this 14
12 child node. 15 - fsl,audmux-port : Integer of the audmux port that is configured by this
13- fsl,port-config : List of configuration options for the specific port. For 16 child node.
14 imx31-audmux and above, it is a list of tuples <ptcr pdcr>. For 17
15 imx21-audmux it is a list of pcr values. 18 - fsl,port-config : List of configuration options for the specific port.
19 For imx31-audmux and above, it is a list of tuples
20 <ptcr pdcr>. For imx21-audmux it is a list of pcr
21 values.
16 22
17Example: 23Example:
18 24
diff --git a/Documentation/devicetree/bindings/sound/max98090.txt b/Documentation/devicetree/bindings/sound/max98090.txt
index c454e67f54bb..aa802a274520 100644
--- a/Documentation/devicetree/bindings/sound/max98090.txt
+++ b/Documentation/devicetree/bindings/sound/max98090.txt
@@ -16,6 +16,8 @@ Optional properties:
16 16
17- clock-names: Should be "mclk" 17- clock-names: Should be "mclk"
18 18
19- maxim,dmic-freq: Frequency at which to clock DMIC
20
19Pins on the device (for linking into audio routes): 21Pins on the device (for linking into audio routes):
20 22
21 * MIC1 23 * MIC1
diff --git a/Documentation/devicetree/bindings/sound/renesas,fsi.txt b/Documentation/devicetree/bindings/sound/renesas,fsi.txt
index c5be003f413e..0d0ab51105b0 100644
--- a/Documentation/devicetree/bindings/sound/renesas,fsi.txt
+++ b/Documentation/devicetree/bindings/sound/renesas,fsi.txt
@@ -1,11 +1,16 @@
1Renesas FSI 1Renesas FSI
2 2
3Required properties: 3Required properties:
4- compatible : "renesas,sh_fsi2" or "renesas,sh_fsi" 4- compatible : "renesas,fsi2-<soctype>",
5 "renesas,sh_fsi2" or "renesas,sh_fsi" as
6 fallback.
7 Examples with soctypes are:
8 - "renesas,fsi2-r8a7740" (R-Mobile A1)
9 - "renesas,fsi2-sh73a0" (SH-Mobile AG5)
5- reg : Should contain the register physical address and length 10- reg : Should contain the register physical address and length
6- interrupts : Should contain FSI interrupt 11- interrupts : Should contain FSI interrupt
7 12
8- fsia,spdif-connection : FSI is connected by S/PDFI 13- fsia,spdif-connection : FSI is connected by S/PDIF
9- fsia,stream-mode-support : FSI supports 16bit stream mode. 14- fsia,stream-mode-support : FSI supports 16bit stream mode.
10- fsia,use-internal-clock : FSI uses internal clock when master mode. 15- fsia,use-internal-clock : FSI uses internal clock when master mode.
11 16
diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt
index aa697abf337e..2dd690bc19cc 100644
--- a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt
+++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt
@@ -1,8 +1,12 @@
1Renesas R-Car sound 1Renesas R-Car sound
2 2
3Required properties: 3Required properties:
4- compatible : "renesas,rcar_sound-gen1" if generation1 4- compatible : "renesas,rcar_sound-<soctype>", fallbacks
5 "renesas,rcar_sound-gen1" if generation1, and
5 "renesas,rcar_sound-gen2" if generation2 6 "renesas,rcar_sound-gen2" if generation2
7 Examples with soctypes are:
8 - "renesas,rcar_sound-r8a7790" (R-Car H2)
9 - "renesas,rcar_sound-r8a7791" (R-Car M2-W)
6- reg : Should contain the register physical address. 10- reg : Should contain the register physical address.
7 required register is 11 required register is
8 SRU/ADG/SSI if generation1 12 SRU/ADG/SSI if generation1
@@ -35,9 +39,9 @@ DAI subnode properties:
35 39
36Example: 40Example:
37 41
38rcar_sound: rcar_sound@0xffd90000 { 42rcar_sound: rcar_sound@ec500000 {
39 #sound-dai-cells = <1>; 43 #sound-dai-cells = <1>;
40 compatible = "renesas,rcar_sound-gen2"; 44 compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2";
41 reg = <0 0xec500000 0 0x1000>, /* SCU */ 45 reg = <0 0xec500000 0 0x1000>, /* SCU */
42 <0 0xec5a0000 0 0x100>, /* ADG */ 46 <0 0xec5a0000 0 0x100>, /* ADG */
43 <0 0xec540000 0 0x1000>, /* SSIU */ 47 <0 0xec540000 0 0x1000>, /* SSIU */
diff --git a/Documentation/devicetree/bindings/sound/rt5631.txt b/Documentation/devicetree/bindings/sound/rt5631.txt
new file mode 100644
index 000000000000..92b986ca337b
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/rt5631.txt
@@ -0,0 +1,48 @@
1ALC5631/RT5631 audio CODEC
2
3This device supports I2C only.
4
5Required properties:
6
7 - compatible : "realtek,alc5631" or "realtek,rt5631"
8
9 - reg : the I2C address of the device.
10
11Pins on the device (for linking into audio routes):
12
13 * SPK_OUT_R_P
14 * SPK_OUT_R_N
15 * SPK_OUT_L_P
16 * SPK_OUT_L_N
17 * HP_OUT_L
18 * HP_OUT_R
19 * AUX_OUT2_LP
20 * AUX_OUT2_RN
21 * AUX_OUT1_LP
22 * AUX_OUT1_RN
23 * AUX_IN_L_JD
24 * AUX_IN_R_JD
25 * MONO_IN_P
26 * MONO_IN_N
27 * MIC1_P
28 * MIC1_N
29 * MIC2_P
30 * MIC2_N
31 * MONO_OUT_P
32 * MONO_OUT_N
33 * MICBIAS1
34 * MICBIAS2
35
36Example:
37
38alc5631: alc5631@1a {
39 compatible = "realtek,alc5631";
40 reg = <0x1a>;
41};
42
43or
44
45rt5631: rt5631@1a {
46 compatible = "realtek,rt5631";
47 reg = <0x1a>;
48};
diff --git a/Documentation/devicetree/bindings/sound/rt5677.txt b/Documentation/devicetree/bindings/sound/rt5677.txt
index 0701b834fc73..740ff771aa8b 100644
--- a/Documentation/devicetree/bindings/sound/rt5677.txt
+++ b/Documentation/devicetree/bindings/sound/rt5677.txt
@@ -27,6 +27,21 @@ Optional properties:
27 Boolean. Indicate MIC1/2 input and LOUT1/2/3 outputs are differential, 27 Boolean. Indicate MIC1/2 input and LOUT1/2/3 outputs are differential,
28 rather than single-ended. 28 rather than single-ended.
29 29
30- realtek,gpio-config
31 Array of six 8bit elements that configures GPIO.
32 0 - floating (reset value)
33 1 - pull down
34 2 - pull up
35
36- realtek,jd1-gpio
37 Configures GPIO Mic Jack detection 1.
38 Select 0 ~ 3 as OFF, GPIO1, GPIO2 and GPIO3 respectively.
39
40- realtek,jd2-gpio
41- realtek,jd3-gpio
42 Configures GPIO Mic Jack detection 2 and 3.
43 Select 0 ~ 3 as OFF, GPIO4, GPIO5 and GPIO6 respectively.
44
30Pins on the device (for linking into audio routes): 45Pins on the device (for linking into audio routes):
31 46
32 * IN1P 47 * IN1P
@@ -56,4 +71,6 @@ rt5677 {
56 realtek,pow-ldo2-gpio = 71 realtek,pow-ldo2-gpio =
57 <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; 72 <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
58 realtek,in1-differential = "true"; 73 realtek,in1-differential = "true";
74 realtek,gpio-config = /bits/ 8 <0 0 0 0 0 2>; /* pull up GPIO6 */
75 realtek,jd2-gpio = <3>; /* Enables Jack detection for GPIO6 */
59}; 76};
diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
index 7386d444ada1..d188296bb6ec 100644
--- a/Documentation/devicetree/bindings/sound/samsung-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
@@ -6,10 +6,17 @@ Required SoC Specific Properties:
6 - samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. 6 - samsung,s3c6410-i2s: for 8/16/24bit stereo I2S.
7 - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with 7 - samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
8 secondary fifo, s/w reset control and internal mux for root clk src. 8 secondary fifo, s/w reset control and internal mux for root clk src.
9 - samsung,exynos5420-i2s: for 8/16/24bit multichannel(7.1) I2S with 9 - samsung,exynos5420-i2s: for 8/16/24bit multichannel(5.1) I2S for
10 secondary fifo, s/w reset control, internal mux for root clk src and 10 playback, sterio channel capture, secondary fifo using internal
11 TDM support. TDM (Time division multiplexing) is to allow transfer of 11 or external dma, s/w reset control, internal mux for root clk src
12 multiple channel audio data on single data line. 12 and 7.1 channel TDM support for playback. TDM (Time division multiplexing)
13 is to allow transfer of multiple channel audio data on single data line.
14 - samsung,exynos7-i2s: with all the available features of exynos5 i2s,
15 exynos7 I2S has 7.1 channel TDM support for capture, secondary fifo
16 with only external dma and more no.of root clk sampling frequencies.
17 - samsung,exynos7-i2s1: I2S1 on previous samsung platforms supports
18 stereo channels. exynos7 i2s1 upgraded to 5.1 multichannel with
19 slightly modified bit offsets.
13 20
14- reg: physical base address of the controller and length of memory mapped 21- reg: physical base address of the controller and length of memory mapped
15 region. 22 region.
diff --git a/Documentation/devicetree/bindings/sound/sgtl5000.txt b/Documentation/devicetree/bindings/sound/sgtl5000.txt
index d556dcb8816b..0e5e4eb3ef1b 100644
--- a/Documentation/devicetree/bindings/sound/sgtl5000.txt
+++ b/Documentation/devicetree/bindings/sound/sgtl5000.txt
@@ -7,6 +7,17 @@ Required properties:
7 7
8- clocks : the clock provider of SYS_MCLK 8- clocks : the clock provider of SYS_MCLK
9 9
10- micbias-resistor-k-ohms : the bias resistor to be used in kOmhs
11 The resistor can take values of 2k, 4k or 8k.
12 If set to 0 it will be off.
13 If this node is not mentioned or if the value is unknown, then
14 micbias resistor is set to 4K.
15
16- micbias-voltage-m-volts : the bias voltage to be used in mVolts
17 The voltage can take values from 1.25V to 3V by 250mV steps
18 If this node is not mentionned or the value is unknown, then
19 the value is set to 1.25V.
20
10- VDDA-supply : the regulator provider of VDDA 21- VDDA-supply : the regulator provider of VDDA
11 22
12- VDDIO-supply: the regulator provider of VDDIO 23- VDDIO-supply: the regulator provider of VDDIO
@@ -21,6 +32,8 @@ codec: sgtl5000@0a {
21 compatible = "fsl,sgtl5000"; 32 compatible = "fsl,sgtl5000";
22 reg = <0x0a>; 33 reg = <0x0a>;
23 clocks = <&clks 150>; 34 clocks = <&clks 150>;
35 micbias-resistor-k-ohms = <2>;
36 micbias-voltage-m-volts = <2250>;
24 VDDA-supply = <&reg_3p3v>; 37 VDDA-supply = <&reg_3p3v>;
25 VDDIO-supply = <&reg_3p3v>; 38 VDDIO-supply = <&reg_3p3v>;
26}; 39};
diff --git a/Documentation/devicetree/bindings/sound/ts3a227e.txt b/Documentation/devicetree/bindings/sound/ts3a227e.txt
new file mode 100644
index 000000000000..e8bf23eb1803
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ts3a227e.txt
@@ -0,0 +1,26 @@
1Texas Instruments TS3A227E
2Autonomous Audio Accessory Detection and Configuration Switch
3
4The TS3A227E detect headsets of 3-ring and 4-ring standards and
5switches automatically to route the microphone correctly. It also
6handles key press detection in accordance with the Android audio
7headset specification v1.0.
8
9Required properties:
10
11 - compatible: Should contain "ti,ts3a227e".
12 - reg: The i2c address. Should contain <0x3b>.
13 - interrupt-parent: The parent interrupt controller
14 - interrupts: Interrupt number for /INT pin from the 227e
15
16
17Examples:
18
19 i2c {
20 ts3a227e@3b {
21 compatible = "ti,ts3a227e";
22 reg = <0x3b>;
23 interrupt-parent = <&gpio>;
24 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
25 };
26 };
diff --git a/Documentation/devicetree/bindings/sound/wm8960.txt b/Documentation/devicetree/bindings/sound/wm8960.txt
new file mode 100644
index 000000000000..2deb8a3da9c5
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/wm8960.txt
@@ -0,0 +1,31 @@
1WM8960 audio CODEC
2
3This device supports I2C only.
4
5Required properties:
6
7 - compatible : "wlf,wm8960"
8
9 - reg : the I2C address of the device.
10
11Optional properties:
12 - wlf,shared-lrclk: This is a boolean property. If present, the LRCM bit of
13 R24 (Additional control 2) gets set, indicating that ADCLRC and DACLRC pins
14 will be disabled only when ADC (Left and Right) and DAC (Left and Right)
15 are disabled.
16 When wm8960 works on synchronize mode and DACLRC pin is used to supply
17 frame clock, it will no frame clock for captrue unless enable DAC to enable
18 DACLRC pin. If shared-lrclk is present, no need to enable DAC for captrue.
19
20 - wlf,capless: This is a boolean property. If present, OUT3 pin will be
21 enabled and disabled together with HP_L and HP_R pins in response to jack
22 detect events.
23
24Example:
25
26codec: wm8960@1a {
27 compatible = "wlf,wm8960";
28 reg = <0x1a>;
29
30 wlf,shared-lrclk;
31};
diff --git a/Documentation/devicetree/bindings/spi/spi-gpio.txt b/Documentation/devicetree/bindings/spi/spi-gpio.txt
index 8a824be15754..a95603bcf6ff 100644
--- a/Documentation/devicetree/bindings/spi/spi-gpio.txt
+++ b/Documentation/devicetree/bindings/spi/spi-gpio.txt
@@ -8,8 +8,10 @@ Required properties:
8 - gpio-sck: GPIO spec for the SCK line to use 8 - gpio-sck: GPIO spec for the SCK line to use
9 - gpio-miso: GPIO spec for the MISO line to use 9 - gpio-miso: GPIO spec for the MISO line to use
10 - gpio-mosi: GPIO spec for the MOSI line to use 10 - gpio-mosi: GPIO spec for the MOSI line to use
11 - cs-gpios: GPIOs to use for chipselect lines 11 - cs-gpios: GPIOs to use for chipselect lines.
12 - num-chipselects: number of chipselect lines 12 Not needed if num-chipselects = <0>.
13 - num-chipselects: Number of chipselect lines. Should be <0> if a single device
14 with no chip select is connected.
13 15
14Example: 16Example:
15 17
diff --git a/Documentation/devicetree/bindings/spi/spi-img-spfi.txt b/Documentation/devicetree/bindings/spi/spi-img-spfi.txt
new file mode 100644
index 000000000000..c7dd50fb8eb2
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-img-spfi.txt
@@ -0,0 +1,37 @@
1IMG Synchronous Peripheral Flash Interface (SPFI) controller
2
3Required properties:
4- compatible: Must be "img,spfi".
5- reg: Must contain the base address and length of the SPFI registers.
6- interrupts: Must contain the SPFI interrupt.
7- clocks: Must contain an entry for each entry in clock-names.
8 See ../clock/clock-bindings.txt for details.
9- clock-names: Must include the following entries:
10 - spfi: SPI operating clock
11 - sys: SPI system interface clock
12- dmas: Must contain an entry for each entry in dma-names.
13 See ../dma/dma.txt for details.
14- dma-names: Must include the following entries:
15 - rx
16 - tx
17- #address-cells: Must be 1.
18- #size-cells: Must be 0.
19
20Optional properties:
21- img,supports-quad-mode: Should be set if the interface supports quad mode
22 SPI transfers.
23
24Example:
25
26spi@18100f00 {
27 compatible = "img,spfi";
28 reg = <0x18100f00 0x100>;
29 interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>;
30 clocks = <&spi_clk>, <&system_clk>;
31 clock-names = "spfi", "sys";
32 dmas = <&mdc 9 0xffffffff 0>, <&mdc 10 0xffffffff 0>;
33 dma-names = "rx", "tx";
34
35 #address-cells = <1>;
36 #size-cells = <0>;
37};
diff --git a/Documentation/devicetree/bindings/spi/spi-meson.txt b/Documentation/devicetree/bindings/spi/spi-meson.txt
new file mode 100644
index 000000000000..bb52a86f3365
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-meson.txt
@@ -0,0 +1,22 @@
1Amlogic Meson SPI controllers
2
3* SPIFC (SPI Flash Controller)
4
5The Meson SPIFC is a controller optimized for communication with SPI
6NOR memories, without DMA support and a 64-byte unified transmit /
7receive buffer.
8
9Required properties:
10 - compatible: should be "amlogic,meson6-spifc"
11 - reg: physical base address and length of the controller registers
12 - clocks: phandle of the input clock for the baud rate generator
13 - #address-cells: should be 1
14 - #size-cells: should be 0
15
16 spi@c1108c80 {
17 compatible = "amlogic,meson6-spifc";
18 reg = <0xc1108c80 0x80>;
19 clocks = <&clk81>;
20 #address-cells = <1>;
21 #size-cells = <0>;
22 };
diff --git a/Documentation/devicetree/bindings/spi/spi-samsung.txt b/Documentation/devicetree/bindings/spi/spi-samsung.txt
index 1e8a8578148f..6dbdeb3c361a 100644
--- a/Documentation/devicetree/bindings/spi/spi-samsung.txt
+++ b/Documentation/devicetree/bindings/spi/spi-samsung.txt
@@ -9,7 +9,7 @@ Required SoC Specific Properties:
9 - samsung,s3c2443-spi: for s3c2443, s3c2416 and s3c2450 platforms 9 - samsung,s3c2443-spi: for s3c2443, s3c2416 and s3c2450 platforms
10 - samsung,s3c6410-spi: for s3c6410 platforms 10 - samsung,s3c6410-spi: for s3c6410 platforms
11 - samsung,s5pv210-spi: for s5pv210 and s5pc110 platforms 11 - samsung,s5pv210-spi: for s5pv210 and s5pc110 platforms
12 - samsung,exynos4210-spi: for exynos4 and exynos5 platforms 12 - samsung,exynos7-spi: for exynos7 platforms
13 13
14- reg: physical base address of the controller and length of memory mapped 14- reg: physical base address of the controller and length of memory mapped
15 region. 15 region.
diff --git a/Documentation/devicetree/bindings/thermal/armada-thermal.txt b/Documentation/devicetree/bindings/thermal/armada-thermal.txt
index 4cf024929a3f..4698e0edc205 100644
--- a/Documentation/devicetree/bindings/thermal/armada-thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/armada-thermal.txt
@@ -5,17 +5,9 @@ Required properties:
5- compatible: Should be set to one of the following: 5- compatible: Should be set to one of the following:
6 marvell,armada370-thermal 6 marvell,armada370-thermal
7 marvell,armada375-thermal 7 marvell,armada375-thermal
8 marvell,armada375-z1-thermal
9 marvell,armada380-thermal 8 marvell,armada380-thermal
10 marvell,armadaxp-thermal 9 marvell,armadaxp-thermal
11 10
12 Note: As the name suggests, "marvell,armada375-z1-thermal"
13 applies for the SoC Z1 stepping only. On such stepping
14 some quirks need to be done and the register offset differs
15 from the one in the A0 stepping.
16 The operating system may auto-detect the SoC stepping and
17 update the compatible and register offsets at runtime.
18
19- reg: Device's register space. 11- reg: Device's register space.
20 Two entries are expected, see the examples below. 12 Two entries are expected, see the examples below.
21 The first one is required for the sensor register; 13 The first one is required for the sensor register;
diff --git a/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
new file mode 100644
index 000000000000..ef802de4957a
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/rockchip-thermal.txt
@@ -0,0 +1,68 @@
1* Temperature Sensor ADC (TSADC) on rockchip SoCs
2
3Required properties:
4- compatible : "rockchip,rk3288-tsadc"
5- reg : physical base address of the controller and length of memory mapped
6 region.
7- interrupts : The interrupt number to the cpu. The interrupt specifier format
8 depends on the interrupt controller.
9- clocks : Must contain an entry for each entry in clock-names.
10- clock-names : Shall be "tsadc" for the converter-clock, and "apb_pclk" for
11 the peripheral clock.
12- resets : Must contain an entry for each entry in reset-names.
13 See ../reset/reset.txt for details.
14- reset-names : Must include the name "tsadc-apb".
15- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description.
16- rockchip,hw-tshut-temp : The hardware-controlled shutdown temperature value.
17- rockchip,hw-tshut-mode : The hardware-controlled shutdown mode 0:CRU 1:GPIO.
18- rockchip,hw-tshut-polarity : The hardware-controlled active polarity 0:LOW
19 1:HIGH.
20
21Exiample:
22tsadc: tsadc@ff280000 {
23 compatible = "rockchip,rk3288-tsadc";
24 reg = <0xff280000 0x100>;
25 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
26 clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
27 clock-names = "tsadc", "apb_pclk";
28 resets = <&cru SRST_TSADC>;
29 reset-names = "tsadc-apb";
30 pinctrl-names = "default";
31 pinctrl-0 = <&otp_out>;
32 #thermal-sensor-cells = <1>;
33 rockchip,hw-tshut-temp = <95000>;
34 rockchip,hw-tshut-mode = <0>;
35 rockchip,hw-tshut-polarity = <0>;
36};
37
38Example: referring to thermal sensors:
39thermal-zones {
40 cpu_thermal: cpu_thermal {
41 polling-delay-passive = <1000>; /* milliseconds */
42 polling-delay = <5000>; /* milliseconds */
43
44 /* sensor ID */
45 thermal-sensors = <&tsadc 1>;
46
47 trips {
48 cpu_alert0: cpu_alert {
49 temperature = <70000>; /* millicelsius */
50 hysteresis = <2000>; /* millicelsius */
51 type = "passive";
52 };
53 cpu_crit: cpu_crit {
54 temperature = <90000>; /* millicelsius */
55 hysteresis = <2000>; /* millicelsius */
56 type = "critical";
57 };
58 };
59
60 cooling-maps {
61 map0 {
62 trip = <&cpu_alert0>;
63 cooling-device =
64 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
65 };
66 };
67 };
68};
diff --git a/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt b/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt
new file mode 100644
index 000000000000..ecf3ed76cd46
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt
@@ -0,0 +1,53 @@
1Tegra124 SOCTHERM thermal management system
2
3The SOCTHERM IP block contains thermal sensors, support for polled
4or interrupt-based thermal monitoring, CPU and GPU throttling based
5on temperature trip points, and handling external overcurrent
6notifications. It is also used to manage emergency shutdown in an
7overheating situation.
8
9Required properties :
10- compatible : "nvidia,tegra124-soctherm".
11- reg : Should contain 1 entry:
12 - SOCTHERM register set
13- interrupts : Defines the interrupt used by SOCTHERM
14- clocks : Must contain an entry for each entry in clock-names.
15 See ../clocks/clock-bindings.txt for details.
16- clock-names : Must include the following entries:
17 - tsensor
18 - soctherm
19- resets : Must contain an entry for each entry in reset-names.
20 See ../reset/reset.txt for details.
21- reset-names : Must include the following entries:
22 - soctherm
23- #thermal-sensor-cells : Should be 1. See ./thermal.txt for a description
24 of this property. See <dt-bindings/thermal/tegra124-soctherm.h> for a
25 list of valid values when referring to thermal sensors.
26
27
28Example :
29
30 soctherm@0,700e2000 {
31 compatible = "nvidia,tegra124-soctherm";
32 reg = <0x0 0x700e2000 0x0 0x1000>;
33 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
34 clocks = <&tegra_car TEGRA124_CLK_TSENSOR>,
35 <&tegra_car TEGRA124_CLK_SOC_THERM>;
36 clock-names = "tsensor", "soctherm";
37 resets = <&tegra_car 78>;
38 reset-names = "soctherm";
39
40 #thermal-sensor-cells = <1>;
41 };
42
43Example: referring to thermal sensors :
44
45 thermal-zones {
46 cpu {
47 polling-delay-passive = <1000>;
48 polling-delay = <1000>;
49
50 thermal-sensors =
51 <&soctherm TEGRA124_SOCTHERM_SENSOR_CPU>;
52 };
53 };
diff --git a/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt b/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt
index f455182b1086..e9c78ce880e6 100644
--- a/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt
+++ b/Documentation/devicetree/bindings/timer/marvell,armada-370-xp-timer.txt
@@ -2,8 +2,10 @@ Marvell Armada 370 and Armada XP Timers
2--------------------------------------- 2---------------------------------------
3 3
4Required properties: 4Required properties:
5- compatible: Should be either "marvell,armada-370-timer" or 5- compatible: Should be one of the following
6 "marvell,armada-xp-timer" as appropriate. 6 "marvell,armada-370-timer",
7 "marvell,armada-375-timer",
8 "marvell,armada-xp-timer".
7- interrupts: Should contain the list of Global Timer interrupts and 9- interrupts: Should contain the list of Global Timer interrupts and
8 then local timer interrupts 10 then local timer interrupts
9- reg: Should contain location and length for timers register. First 11- reg: Should contain location and length for timers register. First
@@ -13,7 +15,8 @@ Required properties:
13Clocks required for compatible = "marvell,armada-370-timer": 15Clocks required for compatible = "marvell,armada-370-timer":
14- clocks : Must contain a single entry describing the clock input 16- clocks : Must contain a single entry describing the clock input
15 17
16Clocks required for compatible = "marvell,armada-xp-timer": 18Clocks required for compatibles = "marvell,armada-xp-timer",
19 "marvell,armada-375-timer":
17- clocks : Must contain an entry for each entry in clock-names. 20- clocks : Must contain an entry for each entry in clock-names.
18- clock-names : Must include the following entries: 21- clock-names : Must include the following entries:
19 "nbclk" (L2/coherency fabric clock), 22 "nbclk" (L2/coherency fabric clock),
diff --git a/Documentation/devicetree/bindings/timer/renesas,mtu2.txt b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt
index d9a8d5af1a21..ba0a34d97eb8 100644
--- a/Documentation/devicetree/bindings/timer/renesas,mtu2.txt
+++ b/Documentation/devicetree/bindings/timer/renesas,mtu2.txt
@@ -1,4 +1,4 @@
1* Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) 1* Renesas Multi-Function Timer Pulse Unit 2 (MTU2)
2 2
3The MTU2 is a multi-purpose, multi-channel timer/counter with configurable 3The MTU2 is a multi-purpose, multi-channel timer/counter with configurable
4clock inputs and programmable compare match. 4clock inputs and programmable compare match.
diff --git a/Documentation/devicetree/bindings/timer/renesas,tmu.txt b/Documentation/devicetree/bindings/timer/renesas,tmu.txt
index 7db89fb25444..cd5f20bf2582 100644
--- a/Documentation/devicetree/bindings/timer/renesas,tmu.txt
+++ b/Documentation/devicetree/bindings/timer/renesas,tmu.txt
@@ -1,4 +1,4 @@
1* Renesas R-Car Timer Unit (TMU) 1* Renesas R-Mobile/R-Car Timer Unit (TMU)
2 2
3The TMU is a 32-bit timer/counter with configurable clock inputs and 3The TMU is a 32-bit timer/counter with configurable clock inputs and
4programmable compare match. 4programmable compare match.
@@ -9,6 +9,8 @@ are independent. The TMU hardware supports up to three channels.
9Required Properties: 9Required Properties:
10 10
11 - compatible: must contain one or more of the following: 11 - compatible: must contain one or more of the following:
12 - "renesas,tmu-r8a7740" for the r8a7740 TMU
13 - "renesas,tmu-r8a7778" for the r8a7778 TMU
12 - "renesas,tmu-r8a7779" for the r8a7779 TMU 14 - "renesas,tmu-r8a7779" for the r8a7779 TMU
13 - "renesas,tmu" for any TMU. 15 - "renesas,tmu" for any TMU.
14 This is a fallback for the above renesas,tmu-* entries 16 This is a fallback for the above renesas,tmu-* entries
diff --git a/Documentation/devicetree/bindings/unittest.txt b/Documentation/devicetree/bindings/unittest.txt
new file mode 100644
index 000000000000..0f92a22fddfa
--- /dev/null
+++ b/Documentation/devicetree/bindings/unittest.txt
@@ -0,0 +1,14 @@
1* OF selftest platform device
2
3** selftest
4
5Required properties:
6- compatible: must be "selftest"
7
8All other properties are optional.
9
10Example:
11 selftest {
12 compatible = "selftest";
13 status = "okay";
14 };
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
new file mode 100644
index 000000000000..27f8b1e5ee46
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt
@@ -0,0 +1,24 @@
1* USB2 ChipIdea USB controller for ci13xxx
2
3Required properties:
4- compatible: should be "chipidea,usb2"
5- reg: base address and length of the registers
6- interrupts: interrupt for the USB controller
7
8Optional properties:
9- clocks: reference to the USB clock
10- phys: reference to the USB PHY
11- phy-names: should be "usb-phy"
12- vbus-supply: reference to the VBUS regulator
13
14Example:
15
16 usb@f7ed0000 {
17 compatible = "chipidea,usb2";
18 reg = <0xf7ed0000 0x10000>;
19 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
20 clocks = <&chip CLKID_USB0>;
21 phys = <&usb_phy0>;
22 phy-names = "usb-phy";
23 vbus-supply = <&reg_usb0_vbus>;
24 };
diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 471366d6a129..cd7f0454e13a 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -14,6 +14,29 @@ Optional properties:
14 - phys: from the *Generic PHY* bindings 14 - phys: from the *Generic PHY* bindings
15 - phy-names: from the *Generic PHY* bindings 15 - phy-names: from the *Generic PHY* bindings
16 - tx-fifo-resize: determines if the FIFO *has* to be reallocated. 16 - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
17 - snps,disable_scramble_quirk: true when SW should disable data scrambling.
18 Only really useful for FPGA builds.
19 - snps,has-lpm-erratum: true when DWC3 was configured with LPM Erratum enabled
20 - snps,lpm-nyet-threshold: LPM NYET threshold
21 - snps,u2exit_lfps_quirk: set if we want to enable u2exit lfps quirk
22 - snps,u2ss_inp3_quirk: set if we enable P3 OK for U2/SS Inactive quirk
23 - snps,req_p1p2p3_quirk: when set, the core will always request for
24 P1/P2/P3 transition sequence.
25 - snps,del_p1p2p3_quirk: when set core will delay P1/P2/P3 until a certain
26 amount of 8B10B errors occur.
27 - snps,del_phy_power_chg_quirk: when set core will delay PHY power change
28 from P0 to P1/P2/P3.
29 - snps,lfps_filter_quirk: when set core will filter LFPS reception.
30 - snps,rx_detect_poll_quirk: when set core will disable a 400us delay to start
31 Polling LFPS after RX.Detect.
32 - snps,tx_de_emphasis_quirk: when set core will set Tx de-emphasis value.
33 - snps,tx_de_emphasis: the value driven to the PHY is controlled by the
34 LTSSM during USB3 Compliance mode.
35 - snps,dis_u3_susphy_quirk: when set core will disable USB3 suspend phy.
36 - snps,dis_u2_susphy_quirk: when set core will disable USB2 suspend phy.
37 - snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
38 utmi_l1_suspend_n, false when asserts utmi_sleep_n
39 - snps,hird-threshold: HIRD threshold
17 40
18This is usually a subnode to DWC3 glue to which it is connected. 41This is usually a subnode to DWC3 glue to which it is connected.
19 42
diff --git a/Documentation/devicetree/bindings/usb/exynos-usb.txt b/Documentation/devicetree/bindings/usb/exynos-usb.txt
index a3b5990d0f2c..9b4dbe3b2acc 100644
--- a/Documentation/devicetree/bindings/usb/exynos-usb.txt
+++ b/Documentation/devicetree/bindings/usb/exynos-usb.txt
@@ -82,8 +82,10 @@ Example:
82 82
83DWC3 83DWC3
84Required properties: 84Required properties:
85 - compatible: should be "samsung,exynos5250-dwusb3" for USB 3.0 DWC3 85 - compatible: should be one of the following -
86 controller. 86 "samsung,exynos5250-dwusb3": for USB 3.0 DWC3 controller on
87 Exynos5250/5420.
88 "samsung,exynos7-dwusb3": for USB 3.0 DWC3 controller on Exynos7.
87 - #address-cells, #size-cells : should be '1' if the device has sub-nodes 89 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
88 with 'reg' property. 90 with 'reg' property.
89 - ranges: allows valid 1:1 translation between child's address space and 91 - ranges: allows valid 1:1 translation between child's address space and
diff --git a/Documentation/devicetree/bindings/usb/pxa-usb.txt b/Documentation/devicetree/bindings/usb/pxa-usb.txt
index 79729a948d5a..9c331799b87c 100644
--- a/Documentation/devicetree/bindings/usb/pxa-usb.txt
+++ b/Documentation/devicetree/bindings/usb/pxa-usb.txt
@@ -29,3 +29,25 @@ Example:
29 marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */ 29 marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */
30 }; 30 };
31 31
32UDC
33
34Required properties:
35 - compatible: Should be "marvell,pxa270-udc" for USB controllers
36 used in device mode.
37 - reg: usb device MMIO address space
38 - interrupts: single interrupt generated by the UDC IP
39 - clocks: input clock of the UDC IP (see clock-bindings.txt)
40
41Optional properties:
42 - gpios:
43 - gpio activated to control the USB D+ pullup (see gpio.txt)
44
45Example:
46
47 pxa27x_udc: udc@40600000 {
48 compatible = "marvell,pxa270-udc";
49 reg = <0x40600000 0x10000>;
50 interrupts = <11>;
51 clocks = <&pxa2xx_clks 11>;
52 gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
53 };
diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
index b968a1aea995..19233b7365e1 100644
--- a/Documentation/devicetree/bindings/usb/usb-ohci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
@@ -9,6 +9,8 @@ Optional properties:
9- big-endian-regs : boolean, set this for hcds with big-endian registers 9- big-endian-regs : boolean, set this for hcds with big-endian registers
10- big-endian-desc : boolean, set this for hcds with big-endian descriptors 10- big-endian-desc : boolean, set this for hcds with big-endian descriptors
11- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc 11- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
12- no-big-frame-no : boolean, set if frame_no lives in bits [15:0] of HCCA
13- num-ports : u32, to override the detected port count
12- clocks : a list of phandle + clock specifier pairs 14- clocks : a list of phandle + clock specifier pairs
13- phys : phandle + phy specifier pair 15- phys : phandle + phy specifier pair
14- phy-names : "usb" 16- phy-names : "usb"
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 723999d73744..b1df0ad1306c 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -34,17 +34,20 @@ chipidea Chipidea, Inc
34chrp Common Hardware Reference Platform 34chrp Common Hardware Reference Platform
35chunghwa Chunghwa Picture Tubes Ltd. 35chunghwa Chunghwa Picture Tubes Ltd.
36cirrus Cirrus Logic, Inc. 36cirrus Cirrus Logic, Inc.
37cnm Chips&Media, Inc.
37cortina Cortina Systems, Inc. 38cortina Cortina Systems, Inc.
38crystalfontz Crystalfontz America, Inc. 39crystalfontz Crystalfontz America, Inc.
39dallas Maxim Integrated Products (formerly Dallas Semiconductor) 40dallas Maxim Integrated Products (formerly Dallas Semiconductor)
40davicom DAVICOM Semiconductor, Inc. 41davicom DAVICOM Semiconductor, Inc.
41denx Denx Software Engineering 42denx Denx Software Engineering
42digi Digi International Inc. 43digi Digi International Inc.
44digilent Diglent, Inc.
43dlg Dialog Semiconductor 45dlg Dialog Semiconductor
44dlink D-Link Corporation 46dlink D-Link Corporation
45dmo Data Modul AG 47dmo Data Modul AG
46ebv EBV Elektronik 48ebv EBV Elektronik
47edt Emerging Display Technologies 49edt Emerging Display Technologies
50elan Elan Microelectronic Corp.
48emmicro EM Microelectronic 51emmicro EM Microelectronic
49energymicro Silicon Laboratories (formerly Energy Micro AS) 52energymicro Silicon Laboratories (formerly Energy Micro AS)
50epcos EPCOS AG 53epcos EPCOS AG
@@ -64,8 +67,10 @@ gmt Global Mixed-mode Technology, Inc.
64google Google, Inc. 67google Google, Inc.
65gumstix Gumstix, Inc. 68gumstix Gumstix, Inc.
66gw Gateworks Corporation 69gw Gateworks Corporation
70hannstar HannStar Display Corporation
67haoyu Haoyu Microelectronic Co. Ltd. 71haoyu Haoyu Microelectronic Co. Ltd.
68hisilicon Hisilicon Limited. 72hisilicon Hisilicon Limited.
73hit Hitachi Ltd.
69honeywell Honeywell 74honeywell Honeywell
70hp Hewlett Packard 75hp Hewlett Packard
71i2se I2SE GmbH 76i2se I2SE GmbH
@@ -77,6 +82,7 @@ innolux Innolux Corporation
77intel Intel Corporation 82intel Intel Corporation
78intercontrol Inter Control Group 83intercontrol Inter Control Group
79isee ISEE 2007 S.L. 84isee ISEE 2007 S.L.
85isil Intersil (deprecated, use isl)
80isl Intersil 86isl Intersil
81karo Ka-Ro electronics GmbH 87karo Ka-Ro electronics GmbH
82keymile Keymile GmbH 88keymile Keymile GmbH
@@ -90,12 +96,15 @@ lltc Linear Technology Corporation
90marvell Marvell Technology Group Ltd. 96marvell Marvell Technology Group Ltd.
91maxim Maxim Integrated Products 97maxim Maxim Integrated Products
92mediatek MediaTek Inc. 98mediatek MediaTek Inc.
99merrii Merrii Technology Co., Ltd.
93micrel Micrel Inc. 100micrel Micrel Inc.
94microchip Microchip Technology Inc. 101microchip Microchip Technology Inc.
102micron Micron Technology Inc.
95mitsubishi Mitsubishi Electric Corporation 103mitsubishi Mitsubishi Electric Corporation
96mosaixtech Mosaix Technologies, Inc. 104mosaixtech Mosaix Technologies, Inc.
97moxa Moxa 105moxa Moxa
98mpl MPL AG 106mpl MPL AG
107mti Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
99mundoreader Mundo Reader S.L. 108mundoreader Mundo Reader S.L.
100murata Murata Manufacturing Co., Ltd. 109murata Murata Manufacturing Co., Ltd.
101mxicy Macronix International Co., Ltd. 110mxicy Macronix International Co., Ltd.
@@ -110,6 +119,7 @@ nxp NXP Semiconductors
110onnn ON Semiconductor Corp. 119onnn ON Semiconductor Corp.
111opencores OpenCores.org 120opencores OpenCores.org
112panasonic Panasonic Corporation 121panasonic Panasonic Corporation
122pericom Pericom Technology Inc.
113phytec PHYTEC Messtechnik GmbH 123phytec PHYTEC Messtechnik GmbH
114picochip Picochip Ltd 124picochip Picochip Ltd
115plathome Plat'Home Co., Ltd. 125plathome Plat'Home Co., Ltd.
@@ -127,6 +137,7 @@ renesas Renesas Electronics Corporation
127ricoh Ricoh Co. Ltd. 137ricoh Ricoh Co. Ltd.
128rockchip Fuzhou Rockchip Electronics Co., Ltd 138rockchip Fuzhou Rockchip Electronics Co., Ltd
129samsung Samsung Semiconductor 139samsung Samsung Semiconductor
140sandisk Sandisk Corporation
130sbs Smart Battery System 141sbs Smart Battery System
131schindler Schindler 142schindler Schindler
132seagate Seagate Technology PLC 143seagate Seagate Technology PLC
@@ -138,7 +149,7 @@ silergy Silergy Corp.
138sirf SiRF Technology, Inc. 149sirf SiRF Technology, Inc.
139sitronix Sitronix Technology Corporation 150sitronix Sitronix Technology Corporation
140smsc Standard Microsystems Corporation 151smsc Standard Microsystems Corporation
141snps Synopsys, Inc. 152snps Synopsys, Inc.
142solidrun SolidRun 153solidrun SolidRun
143sony Sony Corporation 154sony Sony Corporation
144spansion Spansion Inc. 155spansion Spansion Inc.
@@ -146,6 +157,7 @@ st STMicroelectronics
146ste ST-Ericsson 157ste ST-Ericsson
147stericsson ST-Ericsson 158stericsson ST-Ericsson
148synology Synology, Inc. 159synology Synology, Inc.
160tbs TBS Technologies
149thine THine Electronics, Inc. 161thine THine Electronics, Inc.
150ti Texas Instruments 162ti Texas Instruments
151tlm Trusted Logic Mobility 163tlm Trusted Logic Mobility
diff --git a/Documentation/devicetree/bindings/video/adi,adv7511.txt b/Documentation/devicetree/bindings/video/adi,adv7511.txt
new file mode 100644
index 000000000000..96c25ee01501
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/adi,adv7511.txt
@@ -0,0 +1,88 @@
1Analog Device ADV7511(W)/13 HDMI Encoders
2-----------------------------------------
3
4The ADV7511, ADV7511W and ADV7513 are HDMI audio and video transmitters
5compatible with HDMI 1.4 and DVI 1.0. They support color space conversion,
6S/PDIF, CEC and HDCP.
7
8Required properties:
9
10- compatible: Should be one of "adi,adv7511", "adi,adv7511w" or "adi,adv7513"
11- reg: I2C slave address
12
13The ADV7511 supports a large number of input data formats that differ by their
14color depth, color format, clock mode, bit justification and random
15arrangement of components on the data bus. The combination of the following
16properties describe the input and map directly to the video input tables of the
17ADV7511 datasheet that document all the supported combinations.
18
19- adi,input-depth: Number of bits per color component at the input (8, 10 or
20 12).
21- adi,input-colorspace: The input color space, one of "rgb", "yuv422" or
22 "yuv444".
23- adi,input-clock: The input clock type, one of "1x" (one clock cycle per
24 pixel), "2x" (two clock cycles per pixel), "ddr" (one clock cycle per pixel,
25 data driven on both edges).
26
27The following input format properties are required except in "rgb 1x" and
28"yuv444 1x" modes, in which case they must not be specified.
29
30- adi,input-style: The input components arrangement variant (1, 2 or 3), as
31 listed in the input format tables in the datasheet.
32- adi,input-justification: The input bit justification ("left", "evenly",
33 "right").
34
35Optional properties:
36
37- interrupts: Specifier for the ADV7511 interrupt
38- pd-gpios: Specifier for the GPIO connected to the power down signal
39
40- adi,clock-delay: Video data clock delay relative to the pixel clock, in ps
41 (-1200 ps .. 1600 ps). Defaults to no delay.
42- adi,embedded-sync: The input uses synchronization signals embedded in the
43 data stream (similar to BT.656). Defaults to separate H/V synchronization
44 signals.
45
46Required nodes:
47
48The ADV7511 has two video ports. Their connections are modelled using the OF
49graph bindings specified in Documentation/devicetree/bindings/graph.txt.
50
51- Video port 0 for the RGB or YUV input
52- Video port 1 for the HDMI output
53
54
55Example
56-------
57
58 adv7511w: hdmi@39 {
59 compatible = "adi,adv7511w";
60 reg = <39>;
61 interrupt-parent = <&gpio3>;
62 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
63
64 adi,input-depth = <8>;
65 adi,input-colorspace = "rgb";
66 adi,input-clock = "1x";
67 adi,input-style = <1>;
68 adi,input-justification = "evenly";
69
70 ports {
71 #address-cells = <1>;
72 #size-cells = <0>;
73
74 port@0 {
75 reg = <0>;
76 adv7511w_in: endpoint {
77 remote-endpoint = <&dpi_out>;
78 };
79 };
80
81 port@1 {
82 reg = <1>;
83 adv7511_out: endpoint {
84 remote-endpoint = <&hdmi_connector_in>;
85 };
86 };
87 };
88 };
diff --git a/Documentation/devicetree/bindings/video/backlight/lp855x.txt b/Documentation/devicetree/bindings/video/backlight/lp855x.txt
index 96e83a56048e..0a3ecbc3a1b9 100644
--- a/Documentation/devicetree/bindings/video/backlight/lp855x.txt
+++ b/Documentation/devicetree/bindings/video/backlight/lp855x.txt
@@ -12,6 +12,7 @@ Optional properties:
12 - pwm-period: PWM period value. Set only PWM input mode used (u32) 12 - pwm-period: PWM period value. Set only PWM input mode used (u32)
13 - rom-addr: Register address of ROM area to be updated (u8) 13 - rom-addr: Register address of ROM area to be updated (u8)
14 - rom-val: Register value to be updated (u8) 14 - rom-val: Register value to be updated (u8)
15 - power-supply: Regulator which controls the 3V rail
15 16
16Example: 17Example:
17 18
@@ -56,6 +57,7 @@ Example:
56 backlight@2c { 57 backlight@2c {
57 compatible = "ti,lp8557"; 58 compatible = "ti,lp8557";
58 reg = <0x2c>; 59 reg = <0x2c>;
60 power-supply = <&backlight_vdd>;
59 61
60 dev-ctrl = /bits/ 8 <0x41>; 62 dev-ctrl = /bits/ 8 <0x41>;
61 init-brt = /bits/ 8 <0x0a>; 63 init-brt = /bits/ 8 <0x0a>;
diff --git a/Documentation/devicetree/bindings/video/exynos_dsim.txt b/Documentation/devicetree/bindings/video/exynos_dsim.txt
index e74243b4b317..ca2b4aacd9af 100644
--- a/Documentation/devicetree/bindings/video/exynos_dsim.txt
+++ b/Documentation/devicetree/bindings/video/exynos_dsim.txt
@@ -4,6 +4,7 @@ Required properties:
4 - compatible: value should be one of the following 4 - compatible: value should be one of the following
5 "samsung,exynos3250-mipi-dsi" /* for Exynos3250/3472 SoCs */ 5 "samsung,exynos3250-mipi-dsi" /* for Exynos3250/3472 SoCs */
6 "samsung,exynos4210-mipi-dsi" /* for Exynos4 SoCs */ 6 "samsung,exynos4210-mipi-dsi" /* for Exynos4 SoCs */
7 "samsung,exynos4415-mipi-dsi" /* for Exynos4415 SoC */
7 "samsung,exynos5410-mipi-dsi" /* for Exynos5410/5420/5440 SoCs */ 8 "samsung,exynos5410-mipi-dsi" /* for Exynos5410/5420/5440 SoCs */
8 - reg: physical base address and length of the registers set for the device 9 - reg: physical base address and length of the registers set for the device
9 - interrupts: should contain DSI interrupt 10 - interrupts: should contain DSI interrupt
diff --git a/Documentation/devicetree/bindings/video/rockchip-drm.txt b/Documentation/devicetree/bindings/video/rockchip-drm.txt
new file mode 100644
index 000000000000..7fff582495a2
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/rockchip-drm.txt
@@ -0,0 +1,19 @@
1Rockchip DRM master device
2================================
3
4The Rockchip DRM master device is a virtual device needed to list all
5vop devices or other display interface nodes that comprise the
6graphics subsystem.
7
8Required properties:
9- compatible: Should be "rockchip,display-subsystem"
10- ports: Should contain a list of phandles pointing to display interface port
11 of vop devices. vop definitions as defined in
12 Documentation/devicetree/bindings/video/rockchip-vop.txt
13
14example:
15
16display-subsystem {
17 compatible = "rockchip,display-subsystem";
18 ports = <&vopl_out>, <&vopb_out>;
19};
diff --git a/Documentation/devicetree/bindings/video/rockchip-vop.txt b/Documentation/devicetree/bindings/video/rockchip-vop.txt
new file mode 100644
index 000000000000..d15351f2313d
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/rockchip-vop.txt
@@ -0,0 +1,58 @@
1device-tree bindings for rockchip soc display controller (vop)
2
3VOP (Visual Output Processor) is the Display Controller for the Rockchip
4series of SoCs which transfers the image data from a video memory
5buffer to an external LCD interface.
6
7Required properties:
8- compatible: value should be one of the following
9 "rockchip,rk3288-vop";
10
11- interrupts: should contain a list of all VOP IP block interrupts in the
12 order: VSYNC, LCD_SYSTEM. The interrupt specifier
13 format depends on the interrupt controller used.
14
15- clocks: must include clock specifiers corresponding to entries in the
16 clock-names property.
17
18- clock-names: Must contain
19 aclk_vop: for ddr buffer transfer.
20 hclk_vop: for ahb bus to R/W the phy regs.
21 dclk_vop: pixel clock.
22
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 - axi
27 - ahb
28 - dclk
29
30- iommus: required a iommu node
31
32- port: A port node with endpoint definitions as defined in
33 Documentation/devicetree/bindings/media/video-interfaces.txt.
34
35Example:
36SoC specific DT entry:
37 vopb: vopb@ff930000 {
38 compatible = "rockchip,rk3288-vop";
39 reg = <0xff930000 0x19c>;
40 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
41 clocks = <&cru ACLK_VOP0>, <&cru DCLK_VOP0>, <&cru HCLK_VOP0>;
42 clock-names = "aclk_vop", "dclk_vop", "hclk_vop";
43 resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>;
44 reset-names = "axi", "ahb", "dclk";
45 iommus = <&vopb_mmu>;
46 vopb_out: port {
47 #address-cells = <1>;
48 #size-cells = <0>;
49 vopb_out_edp: endpoint@0 {
50 reg = <0>;
51 remote-endpoint=<&edp_in_vopb>;
52 };
53 vopb_out_hdmi: endpoint@1 {
54 reg = <1>;
55 remote-endpoint=<&hdmi_in_vopb>;
56 };
57 };
58 };
diff --git a/Documentation/devicetree/bindings/video/samsung-fimd.txt b/Documentation/devicetree/bindings/video/samsung-fimd.txt
index 4e6c77c85546..cf1af6371021 100644
--- a/Documentation/devicetree/bindings/video/samsung-fimd.txt
+++ b/Documentation/devicetree/bindings/video/samsung-fimd.txt
@@ -11,6 +11,7 @@ Required properties:
11 "samsung,s5pv210-fimd"; /* for S5PV210 SoC */ 11 "samsung,s5pv210-fimd"; /* for S5PV210 SoC */
12 "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */ 12 "samsung,exynos3250-fimd"; /* for Exynos3250/3472 SoCs */
13 "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */ 13 "samsung,exynos4210-fimd"; /* for Exynos4 SoCs */
14 "samsung,exynos4415-fimd"; /* for Exynos4415 SoC */
14 "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */ 15 "samsung,exynos5250-fimd"; /* for Exynos5 SoCs */
15 16
16- reg: physical base address and length of the FIMD registers set. 17- reg: physical base address and length of the FIMD registers set.
diff --git a/Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt b/Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt
new file mode 100644
index 000000000000..c46ba641a1df
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/simple-framebuffer-sunxi.txt
@@ -0,0 +1,33 @@
1Sunxi specific Simple Framebuffer bindings
2
3This binding documents sunxi specific extensions to the simple-framebuffer
4bindings. The sunxi simplefb u-boot code relies on the devicetree containing
5pre-populated simplefb nodes.
6
7These extensions are intended so that u-boot can select the right node based
8on which pipeline is being used. As such they are solely intended for
9firmware / bootloader use, and the OS should ignore them.
10
11Required properties:
12- compatible: "allwinner,simple-framebuffer"
13- allwinner,pipeline, one of:
14 "de_be0-lcd0"
15 "de_be1-lcd1"
16 "de_be0-lcd0-hdmi"
17 "de_be1-lcd1-hdmi"
18
19Example:
20
21chosen {
22 #address-cells = <1>;
23 #size-cells = <1>;
24 ranges;
25
26 framebuffer@0 {
27 compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
28 allwinner,pipeline = "de_be0-lcd0-hdmi";
29 clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>,
30 <&ahb_gates 44>;
31 status = "disabled";
32 };
33};
diff --git a/Documentation/devicetree/bindings/video/simple-framebuffer.txt b/Documentation/devicetree/bindings/video/simple-framebuffer.txt
index 70c26f3a5b9a..4474ef6e0b95 100644
--- a/Documentation/devicetree/bindings/video/simple-framebuffer.txt
+++ b/Documentation/devicetree/bindings/video/simple-framebuffer.txt
@@ -1,8 +1,40 @@
1Simple Framebuffer 1Simple Framebuffer
2 2
3A simple frame-buffer describes a raw memory region that may be rendered to, 3A simple frame-buffer describes a frame-buffer setup by firmware or
4with the assumption that the display hardware has already been set up to scan 4the bootloader, with the assumption that the display hardware has already
5out from that buffer. 5been set up to scan out from the memory pointed to by the reg property.
6
7Since simplefb nodes represent runtime information they must be sub-nodes of
8the chosen node (*). Simplefb nodes must be named "framebuffer@<address>".
9
10If the devicetree contains nodes for the display hardware used by a simplefb,
11then the simplefb node must contain a property called "display", which
12contains a phandle pointing to the primary display hw node, so that the OS
13knows which simplefb to disable when handing over control to a driver for the
14real hardware. The bindings for the hw nodes must specify which node is
15considered the primary node.
16
17It is advised to add display# aliases to help the OS determine how to number
18things. If display# aliases are used, then if the simplefb node contains a
19"display" property then the /aliases/display# path must point to the display
20hw node the "display" property points to, otherwise it must point directly
21to the simplefb node.
22
23If a simplefb node represents the preferred console for user interaction,
24then the chosen node's stdout-path property should point to it, or to the
25primary display hw node, as with display# aliases. If display aliases are
26used then it should be set to the alias instead.
27
28It is advised that devicetree files contain pre-filled, disabled framebuffer
29nodes, so that the firmware only needs to update the mode information and
30enable them. This way if e.g. later on support for more display clocks get
31added, the simplefb nodes will already contain this info and the firmware
32does not need to be updated.
33
34If pre-filled framebuffer nodes are used, the firmware may need extra
35information to find the right node. In that case an extra platform specific
36compatible and platform specific properties should be used and documented,
37see e.g. simple-framebuffer-sunxi.txt .
6 38
7Required properties: 39Required properties:
8- compatible: "simple-framebuffer" 40- compatible: "simple-framebuffer"
@@ -14,13 +46,41 @@ Required properties:
14 - r5g6b5 (16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b). 46 - r5g6b5 (16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b).
15 - a8b8g8r8 (32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r). 47 - a8b8g8r8 (32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r).
16 48
49Optional properties:
50- clocks : List of clocks used by the framebuffer. Clocks listed here
51 are expected to already be configured correctly. The OS must
52 ensure these clocks are not modified or disabled while the
53 simple framebuffer remains active.
54- display : phandle pointing to the primary display hardware node
55
17Example: 56Example:
18 57
19 framebuffer { 58aliases {
59 display0 = &lcdc0;
60}
61
62chosen {
63 framebuffer0: framebuffer@1d385000 {
20 compatible = "simple-framebuffer"; 64 compatible = "simple-framebuffer";
21 reg = <0x1d385000 (1600 * 1200 * 2)>; 65 reg = <0x1d385000 (1600 * 1200 * 2)>;
22 width = <1600>; 66 width = <1600>;
23 height = <1200>; 67 height = <1200>;
24 stride = <(1600 * 2)>; 68 stride = <(1600 * 2)>;
25 format = "r5g6b5"; 69 format = "r5g6b5";
70 clocks = <&ahb_gates 36>, <&ahb_gates 43>, <&ahb_gates 44>;
71 display = <&lcdc0>;
72 };
73 stdout-path = "display0";
74};
75
76soc@01c00000 {
77 lcdc0: lcdc@1c0c000 {
78 compatible = "allwinner,sun4i-a10-lcdc";
79 ...
26 }; 80 };
81};
82
83
84*) Older devicetree files may have a compatible = "simple-framebuffer" node
85in a different place, operating systems must first enumerate any compatible
86nodes found under chosen and then check for other compatible nodes.
diff --git a/Documentation/devicetree/bindings/w1/omap-hdq.txt b/Documentation/devicetree/bindings/w1/omap-hdq.txt
new file mode 100644
index 000000000000..fef794741bd1
--- /dev/null
+++ b/Documentation/devicetree/bindings/w1/omap-hdq.txt
@@ -0,0 +1,17 @@
1* OMAP HDQ One wire bus master controller
2
3Required properties:
4- compatible : should be "ti,omap3-1w"
5- reg : Address and length of the register set for the device
6- interrupts : interrupt line.
7- ti,hwmods : "hdq1w"
8
9Example:
10
11- From omap3.dtsi
12 hdqw1w: 1w@480b2000 {
13 compatible = "ti,omap3-1w";
14 reg = <0x480b2000 0x1000>;
15 interrupts = <58>;
16 ti,hwmods = "hdq1w";
17 };
diff --git a/Documentation/devicetree/bindings/watchdog/marvel.txt b/Documentation/devicetree/bindings/watchdog/marvel.txt
index 97223fddb7bd..858ed9221ac4 100644
--- a/Documentation/devicetree/bindings/watchdog/marvel.txt
+++ b/Documentation/devicetree/bindings/watchdog/marvel.txt
@@ -17,6 +17,18 @@ For "marvell,armada-375-wdt" and "marvell,armada-380-wdt":
17- reg : A third entry is mandatory and should contain the 17- reg : A third entry is mandatory and should contain the
18 shared mask/unmask RSTOUT address. 18 shared mask/unmask RSTOUT address.
19 19
20Clocks required for compatibles = "marvell,orion-wdt",
21 "marvell,armada-370-wdt":
22- clocks : Must contain a single entry describing the clock input
23
24Clocks required for compatibles = "marvell,armada-xp-wdt"
25 "marvell,armada-375-wdt"
26 "marvell,armada-380-wdt":
27- clocks : Must contain an entry for each entry in clock-names.
28- clock-names : Must include the following entries:
29 "nbclk" (L2/coherency fabric clock),
30 "fixed" (Reference 25 MHz fixed-clock).
31
20Optional properties: 32Optional properties:
21 33
22- interrupts : Contains the IRQ for watchdog expiration 34- interrupts : Contains the IRQ for watchdog expiration
@@ -30,4 +42,5 @@ Example:
30 interrupts = <3>; 42 interrupts = <3>;
31 timeout-sec = <10>; 43 timeout-sec = <10>;
32 status = "okay"; 44 status = "okay";
45 clocks = <&gate_clk 7>;
33 }; 46 };
diff --git a/Documentation/devicetree/of_selftest.txt b/Documentation/devicetree/of_selftest.txt
index 1e3d5c92b5e3..57a808b588bf 100644
--- a/Documentation/devicetree/of_selftest.txt
+++ b/Documentation/devicetree/of_selftest.txt
@@ -63,7 +63,6 @@ struct device_node {
63 struct device_node *parent; 63 struct device_node *parent;
64 struct device_node *child; 64 struct device_node *child;
65 struct device_node *sibling; 65 struct device_node *sibling;
66 struct device_node *allnext; /* next in list of all nodes */
67 ... 66 ...
68 }; 67 };
69 68
@@ -99,12 +98,6 @@ child11 -> sibling12 -> sibling13 -> sibling14 -> null
99Figure 1: Generic structure of un-flattened device tree 98Figure 1: Generic structure of un-flattened device tree
100 99
101 100
102*allnext: it is used to link all the nodes of DT into a list. So, for the
103 above tree the list would be as follows:
104
105root->child1->child11->sibling12->sibling13->child131->sibling14->sibling2->
106child21->sibling22->sibling23->sibling3->child31->sibling32->sibling4->null
107
108Before executing OF selftest, it is required to attach the test data to 101Before executing OF selftest, it is required to attach the test data to
109machine's device tree (if present). So, when selftest_data_add() is called, 102machine's device tree (if present). So, when selftest_data_add() is called,
110at first it reads the flattened device tree data linked into the kernel image 103at first it reads the flattened device tree data linked into the kernel image
@@ -131,11 +124,6 @@ root ('/')
131 test-child01 null null null 124 test-child01 null null null
132 125
133 126
134allnext list:
135
136root->testcase-data->test-child0->test-child01->test-sibling1->test-sibling2
137->test-sibling3->null
138
139Figure 2: Example test data tree to be attached to live tree. 127Figure 2: Example test data tree to be attached to live tree.
140 128
141According to the scenario above, the live tree is already present so it isn't 129According to the scenario above, the live tree is already present so it isn't
@@ -204,8 +192,6 @@ detached and then moving up the parent nodes are removed, and eventually the
204whole tree). selftest_data_remove() calls detach_node_and_children() that uses 192whole tree). selftest_data_remove() calls detach_node_and_children() that uses
205of_detach_node() to detach the nodes from the live device tree. 193of_detach_node() to detach the nodes from the live device tree.
206 194
207To detach a node, of_detach_node() first updates all_next linked list, by 195To detach a node, of_detach_node() either updates the child pointer of given
208attaching the previous node's allnext to current node's allnext pointer. And 196node's parent to its sibling or attaches the previous sibling to the given
209then, it either updates the child pointer of given node's parent to its 197node's sibling, as appropriate. That is it :)
210sibling or attaches the previous sibling to the given node's sibling, as
211appropriate. That is it :)
diff --git a/Documentation/devicetree/overlay-notes.txt b/Documentation/devicetree/overlay-notes.txt
new file mode 100644
index 000000000000..30ae758e3eef
--- /dev/null
+++ b/Documentation/devicetree/overlay-notes.txt
@@ -0,0 +1,133 @@
1Device Tree Overlay Notes
2-------------------------
3
4This document describes the implementation of the in-kernel
5device tree overlay functionality residing in drivers/of/overlay.c and is a
6companion document to Documentation/devicetree/dt-object-internal.txt[1] &
7Documentation/devicetree/dynamic-resolution-notes.txt[2]
8
9How overlays work
10-----------------
11
12A Device Tree's overlay purpose is to modify the kernel's live tree, and
13have the modification affecting the state of the the kernel in a way that
14is reflecting the changes.
15Since the kernel mainly deals with devices, any new device node that result
16in an active device should have it created while if the device node is either
17disabled or removed all together, the affected device should be deregistered.
18
19Lets take an example where we have a foo board with the following base tree
20which is taken from [1].
21
22---- foo.dts -----------------------------------------------------------------
23 /* FOO platform */
24 / {
25 compatible = "corp,foo";
26
27 /* shared resources */
28 res: res {
29 };
30
31 /* On chip peripherals */
32 ocp: ocp {
33 /* peripherals that are always instantiated */
34 peripheral1 { ... };
35 }
36 };
37---- foo.dts -----------------------------------------------------------------
38
39The overlay bar.dts, when loaded (and resolved as described in [2]) should
40
41---- bar.dts -----------------------------------------------------------------
42/plugin/; /* allow undefined label references and record them */
43/ {
44 .... /* various properties for loader use; i.e. part id etc. */
45 fragment@0 {
46 target = <&ocp>;
47 __overlay__ {
48 /* bar peripheral */
49 bar {
50 compatible = "corp,bar";
51 ... /* various properties and child nodes */
52 }
53 };
54 };
55};
56---- bar.dts -----------------------------------------------------------------
57
58result in foo+bar.dts
59
60---- foo+bar.dts -------------------------------------------------------------
61 /* FOO platform + bar peripheral */
62 / {
63 compatible = "corp,foo";
64
65 /* shared resources */
66 res: res {
67 };
68
69 /* On chip peripherals */
70 ocp: ocp {
71 /* peripherals that are always instantiated */
72 peripheral1 { ... };
73
74 /* bar peripheral */
75 bar {
76 compatible = "corp,bar";
77 ... /* various properties and child nodes */
78 }
79 }
80 };
81---- foo+bar.dts -------------------------------------------------------------
82
83As a result of the the overlay, a new device node (bar) has been created
84so a bar platform device will be registered and if a matching device driver
85is loaded the device will be created as expected.
86
87Overlay in-kernel API
88--------------------------------
89
90The API is quite easy to use.
91
921. Call of_overlay_create() to create and apply an overlay. The return value
93is a cookie identifying this overlay.
94
952. Call of_overlay_destroy() to remove and cleanup the overlay previously
96created via the call to of_overlay_create(). Removal of an overlay that
97is stacked by another will not be permitted.
98
99Finally, if you need to remove all overlays in one-go, just call
100of_overlay_destroy_all() which will remove every single one in the correct
101order.
102
103Overlay DTS Format
104------------------
105
106The DTS of an overlay should have the following format:
107
108{
109 /* ignored properties by the overlay */
110
111 fragment@0 { /* first child node */
112
113 target=<phandle>; /* phandle target of the overlay */
114 or
115 target-path="/path"; /* target path of the overlay */
116
117 __overlay__ {
118 property-a; /* add property-a to the target */
119 node-a { /* add to an existing, or create a node-a */
120 ...
121 };
122 };
123 }
124 fragment@1 { /* second child node */
125 ...
126 };
127 /* more fragments follow */
128}
129
130Using the non-phandle based target method allows one to use a base DT which does
131not contain a __symbols__ node, i.e. it was not compiled with the -@ option.
132The __symbols__ node is only required for the target=<phandle> method, since it
133contains the information required to map from a phandle to a tree location.
diff --git a/Documentation/devicetree/todo.txt b/Documentation/devicetree/todo.txt
index c3cf0659bd19..b5139d1de811 100644
--- a/Documentation/devicetree/todo.txt
+++ b/Documentation/devicetree/todo.txt
@@ -2,7 +2,6 @@ Todo list for devicetree:
2 2
3=== General structure === 3=== General structure ===
4- Switch from custom lists to (h)list_head for nodes and properties structure 4- Switch from custom lists to (h)list_head for nodes and properties structure
5- Remove of_allnodes list and iterate using list of child nodes alone
6 5
7=== CONFIG_OF_DYNAMIC === 6=== CONFIG_OF_DYNAMIC ===
8- Switch to RCU for tree updates and get rid of global spinlock 7- Switch to RCU for tree updates and get rid of global spinlock