aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/arm/arch_timer.txt59
-rw-r--r--Documentation/devicetree/bindings/arm/atmel-adc.txt7
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/bcm11351.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/kona-timer.txt (renamed from Documentation/devicetree/bindings/arm/bcm/bcm,kona-timer.txt)5
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt15
-rw-r--r--Documentation/devicetree/bindings/arm/l2cc.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/omap/omap.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/ste-u300.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/vexpress-scc.txt33
-rw-r--r--Documentation/devicetree/bindings/arm/vexpress-sysreg.txt4
-rw-r--r--Documentation/devicetree/bindings/ata/ahci-platform.txt18
-rw-r--r--Documentation/devicetree/bindings/ata/sata_highbank.txt44
-rw-r--r--Documentation/devicetree/bindings/bus/imx-weim.txt17
-rw-r--r--Documentation/devicetree/bindings/bus/mvebu-mbus.txt276
-rw-r--r--Documentation/devicetree/bindings/c6x/dscr.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/clk-exynos-audss.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos4-clock.txt1
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5250-clock.txt14
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5420-clock.txt12
-rw-r--r--Documentation/devicetree/bindings/clock/imx5-clock.txt1
-rw-r--r--Documentation/devicetree/bindings/clock/imx6q-clock.txt6
-rw-r--r--Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt77
-rw-r--r--Documentation/devicetree/bindings/clock/st,nomadik.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi.txt12
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt75
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt83
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt98
-rw-r--r--Documentation/devicetree/bindings/crypto/fsl-sec6.txt157
-rw-r--r--Documentation/devicetree/bindings/dma/atmel-dma.txt4
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-dma.txt2
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt7
-rw-r--r--Documentation/devicetree/bindings/dma/k3dma.txt46
-rw-r--r--Documentation/devicetree/bindings/dma/shdma.txt61
-rw-r--r--Documentation/devicetree/bindings/dma/ste-dma40.txt4
-rw-r--r--Documentation/devicetree/bindings/extcon/extcon-palmas.txt (renamed from Documentation/devicetree/bindings/extcon/extcon-twl.txt)6
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt26
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-palmas.txt27
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt45
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-tz1090.txt88
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio.txt55
-rw-r--r--Documentation/devicetree/bindings/gpio/mrvl-gpio.txt7
-rw-r--r--Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt8
-rw-r--r--Documentation/devicetree/bindings/gpu/samsung-g2d.txt7
-rw-r--r--Documentation/devicetree/bindings/gpu/samsung-rotator.txt27
-rw-r--r--Documentation/devicetree/bindings/hid/hid-over-i2c.txt28
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-imx.txt5
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt10
-rw-r--r--Documentation/devicetree/bindings/iio/accel/bma180.txt24
-rw-r--r--Documentation/devicetree/bindings/iio/adc/nuvoton-nau7802.txt18
-rw-r--r--Documentation/devicetree/bindings/iio/light/apds9300.txt22
-rw-r--r--Documentation/devicetree/bindings/input/input-reset.txt33
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt2
-rw-r--r--Documentation/devicetree/bindings/media/i2c/adv7343.txt48
-rw-r--r--Documentation/devicetree/bindings/media/i2c/ths8200.txt19
-rw-r--r--Documentation/devicetree/bindings/media/i2c/tvp7002.txt53
-rw-r--r--Documentation/devicetree/bindings/media/s5p-mfc.txt11
-rw-r--r--Documentation/devicetree/bindings/media/video-interfaces.txt2
-rw-r--r--Documentation/devicetree/bindings/memory.txt168
-rw-r--r--Documentation/devicetree/bindings/metag/pdc-intc.txt105
-rw-r--r--Documentation/devicetree/bindings/mfd/cros-ec.txt2
-rw-r--r--Documentation/devicetree/bindings/mfd/palmas.txt2
-rw-r--r--Documentation/devicetree/bindings/mfd/s2mps11.txt109
-rw-r--r--Documentation/devicetree/bindings/misc/smc.txt5
-rw-r--r--Documentation/devicetree/bindings/mmc/fsl-esdhc.txt4
-rw-r--r--Documentation/devicetree/bindings/mmc/kona-sdhci.txt (renamed from Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt)5
-rw-r--r--Documentation/devicetree/bindings/mtd/atmel-nand.txt28
-rw-r--r--Documentation/devicetree/bindings/mtd/fsmc-nand.txt25
-rw-r--r--Documentation/devicetree/bindings/mtd/partition.txt1
-rw-r--r--Documentation/devicetree/bindings/net/can/atmel-can.txt2
-rw-r--r--Documentation/devicetree/bindings/net/can/sja1000.txt2
-rw-r--r--Documentation/devicetree/bindings/net/micrel-ksz9021.txt49
-rw-r--r--Documentation/devicetree/bindings/net/moxa,moxart-mac.txt21
-rw-r--r--Documentation/devicetree/bindings/net/stmmac.txt5
-rw-r--r--Documentation/devicetree/bindings/pci/designware-pcie.txt3
-rw-r--r--Documentation/devicetree/bindings/pci/mvebu-pci.txt145
-rw-r--r--Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt163
-rw-r--r--Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt11
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt11
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt12
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt41
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt96
-rw-r--r--Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt3
-rw-r--r--Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt6
-rw-r--r--Documentation/devicetree/bindings/power_supply/msm-poweroff.txt17
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt53
-rw-r--r--Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt8
-rw-r--r--Documentation/devicetree/bindings/pwm/imx-pwm.txt4
-rw-r--r--Documentation/devicetree/bindings/pwm/mxs-pwm.txt4
-rw-r--r--Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt5
-rw-r--r--Documentation/devicetree/bindings/pwm/nxp,pca9685-pwm.txt4
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-samsung.txt22
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-tiecap.txt8
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt8
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm.txt7
-rw-r--r--Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt28
-rw-r--r--Documentation/devicetree/bindings/pwm/spear-pwm.txt5
-rw-r--r--Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt4
-rw-r--r--Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt4
-rw-r--r--Documentation/devicetree/bindings/pwm/vt8500-pwm.txt8
-rw-r--r--Documentation/devicetree/bindings/regulator/88pm800.txt38
-rw-r--r--Documentation/devicetree/bindings/regulator/max8660.txt47
-rw-r--r--Documentation/devicetree/bindings/regulator/palmas-pmic.txt9
-rw-r--r--Documentation/devicetree/bindings/regulator/pfuze100.txt115
-rw-r--r--Documentation/devicetree/bindings/regulator/regulator.txt2
-rw-r--r--Documentation/devicetree/bindings/rtc/dw-apb.txt34
-rw-r--r--Documentation/devicetree/bindings/rtc/moxa,moxart-rtc.txt17
-rw-r--r--Documentation/devicetree/bindings/rtc/rtc-omap.txt6
-rw-r--r--Documentation/devicetree/bindings/rtc/rtc-palmas.txt33
-rw-r--r--Documentation/devicetree/bindings/serial/altera_jtaguart.txt3
-rw-r--r--Documentation/devicetree/bindings/serial/altera_uart.txt3
-rw-r--r--Documentation/devicetree/bindings/serial/arc-uart.txt (renamed from Documentation/devicetree/bindings/tty/serial/arc-uart.txt)0
-rw-r--r--Documentation/devicetree/bindings/serial/atmel-usart.txt (renamed from Documentation/devicetree/bindings/tty/serial/atmel-usart.txt)18
-rw-r--r--Documentation/devicetree/bindings/serial/efm32-uart.txt (renamed from Documentation/devicetree/bindings/tty/serial/efm32-uart.txt)0
-rw-r--r--Documentation/devicetree/bindings/serial/fsl-imx-uart.txt22
-rw-r--r--Documentation/devicetree/bindings/serial/fsl-lpuart.txt (renamed from Documentation/devicetree/bindings/tty/serial/fsl-lpuart.txt)0
-rw-r--r--Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt (renamed from Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt)4
-rw-r--r--Documentation/devicetree/bindings/serial/nxp-lpc32xx-hsuart.txt (renamed from Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt)0
-rw-r--r--Documentation/devicetree/bindings/serial/of-serial.txt (renamed from Documentation/devicetree/bindings/tty/serial/of-serial.txt)0
-rw-r--r--Documentation/devicetree/bindings/serial/qcom,msm-uart.txt25
-rw-r--r--Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt53
-rw-r--r--Documentation/devicetree/bindings/serial/rs485.txt2
-rw-r--r--Documentation/devicetree/bindings/serial/sirf-uart.txt33
-rw-r--r--Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt (renamed from Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt)0
-rw-r--r--Documentation/devicetree/bindings/serial/st-asc.txt18
-rw-r--r--Documentation/devicetree/bindings/serial/via,vt8500-uart.txt (renamed from Documentation/devicetree/bindings/tty/serial/via,vt8500-uart.txt)0
-rw-r--r--Documentation/devicetree/bindings/serio/altera_ps2.txt3
-rw-r--r--Documentation/devicetree/bindings/spi/efm32-spi.txt34
-rw-r--r--Documentation/devicetree/bindings/spi/spi-bus.txt10
-rw-r--r--Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt42
-rw-r--r--Documentation/devicetree/bindings/spi/spi_altera.txt3
-rw-r--r--Documentation/devicetree/bindings/spi/ti_qspi.txt22
-rw-r--r--Documentation/devicetree/bindings/thermal/exynos-thermal.txt55
-rw-r--r--Documentation/devicetree/bindings/thermal/imx-thermal.txt17
-rw-r--r--Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt17
-rw-r--r--Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt22
-rw-r--r--Documentation/devicetree/bindings/tty/serial/msm_serial.txt27
-rw-r--r--Documentation/devicetree/bindings/tty/serial/qca,ar9330-uart.txt34
-rw-r--r--Documentation/devicetree/bindings/usb/am33xx-usb.txt222
-rw-r--r--Documentation/devicetree/bindings/usb/dwc3.txt8
-rw-r--r--Documentation/devicetree/bindings/usb/generic.txt24
-rw-r--r--Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt17
-rw-r--r--Documentation/devicetree/bindings/usb/omap-usb.txt5
-rw-r--r--Documentation/devicetree/bindings/usb/samsung-hsotg.txt40
-rw-r--r--Documentation/devicetree/bindings/usb/usb-xhci.txt14
-rw-r--r--Documentation/devicetree/bindings/usb/usb3503.txt7
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt3
-rw-r--r--Documentation/devicetree/bindings/video/simple-framebuffer.txt1
-rw-r--r--Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt (renamed from Documentation/devicetree/bindings/watchdog/sun4i-wdt.txt)5
149 files changed, 3680 insertions, 376 deletions
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
index 20746e5abe6f..06fc7602593a 100644
--- a/Documentation/devicetree/bindings/arm/arch_timer.txt
+++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
@@ -1,10 +1,14 @@
1* ARM architected timer 1* ARM architected timer
2 2
3ARM cores may have a per-core architected timer, which provides per-cpu timers. 3ARM cores may have a per-core architected timer, which provides per-cpu timers,
4or a memory mapped architected timer, which provides up to 8 frames with a
5physical and optional virtual timer per frame.
4 6
5The timer is attached to a GIC to deliver its per-processor interrupts. 7The per-core architected timer is attached to a GIC to deliver its
8per-processor interrupts via PPIs. The memory mapped timer is attached to a GIC
9to deliver its interrupts via SPIs.
6 10
7** Timer node properties: 11** CP15 Timer node properties:
8 12
9- compatible : Should at least contain one of 13- compatible : Should at least contain one of
10 "arm,armv7-timer" 14 "arm,armv7-timer"
@@ -26,3 +30,52 @@ Example:
26 <1 10 0xf08>; 30 <1 10 0xf08>;
27 clock-frequency = <100000000>; 31 clock-frequency = <100000000>;
28 }; 32 };
33
34** Memory mapped timer node properties:
35
36- compatible : Should at least contain "arm,armv7-timer-mem".
37
38- clock-frequency : The frequency of the main counter, in Hz. Optional.
39
40- reg : The control frame base address.
41
42Note that #address-cells, #size-cells, and ranges shall be present to ensure
43the CPU can address a frame's registers.
44
45A timer node has up to 8 frame sub-nodes, each with the following properties:
46
47- frame-number: 0 to 7.
48
49- interrupts : Interrupt list for physical and virtual timers in that order.
50 The virtual timer interrupt is optional.
51
52- reg : The first and second view base addresses in that order. The second view
53 base address is optional.
54
55- status : "disabled" indicates the frame is not available for use. Optional.
56
57Example:
58
59 timer@f0000000 {
60 compatible = "arm,armv7-timer-mem";
61 #address-cells = <1>;
62 #size-cells = <1>;
63 ranges;
64 reg = <0xf0000000 0x1000>;
65 clock-frequency = <50000000>;
66
67 frame@f0001000 {
68 frame-number = <0>
69 interrupts = <0 13 0x8>,
70 <0 14 0x8>;
71 reg = <0xf0001000 0x1000>,
72 <0xf0002000 0x1000>;
73 };
74
75 frame@f0003000 {
76 frame-number = <1>
77 interrupts = <0 15 0x8>;
78 reg = <0xf0003000 0x1000>;
79 status = "disabled";
80 };
81 };
diff --git a/Documentation/devicetree/bindings/arm/atmel-adc.txt b/Documentation/devicetree/bindings/arm/atmel-adc.txt
index 16769d9cedd6..723c205cb10d 100644
--- a/Documentation/devicetree/bindings/arm/atmel-adc.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-adc.txt
@@ -1,18 +1,15 @@
1* AT91's Analog to Digital Converter (ADC) 1* AT91's Analog to Digital Converter (ADC)
2 2
3Required properties: 3Required properties:
4 - compatible: Should be "atmel,at91sam9260-adc" 4 - compatible: Should be "atmel,<chip>-adc"
5 <chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5"
5 - reg: Should contain ADC registers location and length 6 - reg: Should contain ADC registers location and length
6 - interrupts: Should contain the IRQ line for the ADC 7 - interrupts: Should contain the IRQ line for the ADC
7 - atmel,adc-channel-base: Offset of the first channel data register
8 - atmel,adc-channels-used: Bitmask of the channels muxed and enable for this 8 - atmel,adc-channels-used: Bitmask of the channels muxed and enable for this
9 device 9 device
10 - atmel,adc-drdy-mask: Mask of the DRDY interruption in the ADC
11 - atmel,adc-num-channels: Number of channels available in the ADC 10 - atmel,adc-num-channels: Number of channels available in the ADC
12 - atmel,adc-startup-time: Startup Time of the ADC in microseconds as 11 - atmel,adc-startup-time: Startup Time of the ADC in microseconds as
13 defined in the datasheet 12 defined in the datasheet
14 - atmel,adc-status-register: Offset of the Interrupt Status Register
15 - atmel,adc-trigger-register: Offset of the Trigger Register
16 - atmel,adc-vref: Reference voltage in millivolts for the conversions 13 - atmel,adc-vref: Reference voltage in millivolts for the conversions
17 - atmel,adc-res: List of resolution in bits supported by the ADC. List size 14 - atmel,adc-res: List of resolution in bits supported by the ADC. List size
18 must be two at least. 15 must be two at least.
diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm11351.txt b/Documentation/devicetree/bindings/arm/bcm/bcm11351.txt
index fb7b5cd2652f..0ff6560e6094 100644
--- a/Documentation/devicetree/bindings/arm/bcm/bcm11351.txt
+++ b/Documentation/devicetree/bindings/arm/bcm/bcm11351.txt
@@ -6,4 +6,5 @@ bcm11351, bcm28145, bcm28155 SoCs) shall have the following properties:
6 6
7Required root node property: 7Required root node property:
8 8
9compatible = "bcm,bcm11351"; 9compatible = "brcm,bcm11351";
10DEPRECATED: compatible = "bcm,bcm11351";
diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm,kona-timer.txt b/Documentation/devicetree/bindings/arm/bcm/kona-timer.txt
index 59fa6e68d4f6..17d88b233d1b 100644
--- a/Documentation/devicetree/bindings/arm/bcm/bcm,kona-timer.txt
+++ b/Documentation/devicetree/bindings/arm/bcm/kona-timer.txt
@@ -4,14 +4,15 @@ This timer is used in the following Broadcom SoCs:
4 BCM11130, BCM11140, BCM11351, BCM28145, BCM28155 4 BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
5 5
6Required properties: 6Required properties:
7- compatible : "bcm,kona-timer" 7- compatible : "brcm,kona-timer"
8- DEPRECATED: compatible : "bcm,kona-timer"
8- reg : Register range for the timer 9- reg : Register range for the timer
9- interrupts : interrupt for the timer 10- interrupts : interrupt for the timer
10- clock-frequency: frequency that the clock operates 11- clock-frequency: frequency that the clock operates
11 12
12Example: 13Example:
13 timer@35006000 { 14 timer@35006000 {
14 compatible = "bcm,kona-timer"; 15 compatible = "brcm,kona-timer";
15 reg = <0x35006000 0x1000>; 16 reg = <0x35006000 0x1000>;
16 interrupts = <0x0 7 0x4>; 17 interrupts = <0x0 7 0x4>;
17 clock-frequency = <32768>; 18 clock-frequency = <32768>;
diff --git a/Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt b/Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt
new file mode 100644
index 000000000000..2b86a00e351d
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm/kona-wdt.txt
@@ -0,0 +1,15 @@
1Broadcom Kona Family Watchdog Timer
2-----------------------------------
3
4This watchdog timer is used in the following Broadcom SoCs:
5 BCM11130, BCM11140, BCM11351, BCM28145, BCM28155
6
7Required properties:
8 - compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
9 - reg: memory address & range
10
11Example:
12 watchdog@35002f40 {
13 compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
14 reg = <0x35002f40 0x6c>;
15 };
diff --git a/Documentation/devicetree/bindings/arm/l2cc.txt b/Documentation/devicetree/bindings/arm/l2cc.txt
index 69ddf9fad2dc..c0c7626fd0ff 100644
--- a/Documentation/devicetree/bindings/arm/l2cc.txt
+++ b/Documentation/devicetree/bindings/arm/l2cc.txt
@@ -16,9 +16,11 @@ Required properties:
16 performs the same operation). 16 performs the same operation).
17 "marvell,"aurora-outer-cache: Marvell Controller designed to be 17 "marvell,"aurora-outer-cache: Marvell Controller designed to be
18 compatible with the ARM one with outer cache mode. 18 compatible with the ARM one with outer cache mode.
19 "bcm,bcm11351-a2-pl310-cache": For Broadcom bcm11351 chipset where an 19 "brcm,bcm11351-a2-pl310-cache": For Broadcom bcm11351 chipset where an
20 offset needs to be added to the address before passing down to the L2 20 offset needs to be added to the address before passing down to the L2
21 cache controller 21 cache controller
22 "bcm,bcm11351-a2-pl310-cache": DEPRECATED by
23 "brcm,bcm11351-a2-pl310-cache"
22- cache-unified : Specifies the cache is a unified cache. 24- cache-unified : Specifies the cache is a unified cache.
23- cache-level : Should be set to 2 for a level 2 cache. 25- cache-level : Should be set to 2 for a level 2 cache.
24- reg : Physical base address and size of cache controller's memory mapped 26- reg : Physical base address and size of cache controller's memory mapped
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 6d498c758b45..91b7049affa1 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -59,3 +59,6 @@ Boards:
59 59
60- AM43x EPOS EVM 60- AM43x EPOS EVM
61 compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43" 61 compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43"
62
63- DRA7 EVM: Software Developement Board for DRA7XX
64 compatible = "ti,dra7-evm", "ti,dra7"
diff --git a/Documentation/devicetree/bindings/arm/ste-u300.txt b/Documentation/devicetree/bindings/arm/ste-u300.txt
index 69b5ab0b5f4b..d11d80006a19 100644
--- a/Documentation/devicetree/bindings/arm/ste-u300.txt
+++ b/Documentation/devicetree/bindings/arm/ste-u300.txt
@@ -22,7 +22,7 @@ This contains the board-specific information.
22- compatible: must be "stericsson,s365". 22- compatible: must be "stericsson,s365".
23- vana15-supply: the regulator supplying the 1.5V to drive the 23- vana15-supply: the regulator supplying the 1.5V to drive the
24 board. 24 board.
25- syscon: a pointer to the syscon node so we can acccess the 25- syscon: a pointer to the syscon node so we can access the
26 syscon registers to set the board as self-powered. 26 syscon registers to set the board as self-powered.
27 27
28Example: 28Example:
diff --git a/Documentation/devicetree/bindings/arm/vexpress-scc.txt b/Documentation/devicetree/bindings/arm/vexpress-scc.txt
new file mode 100644
index 000000000000..ae5043e42e5d
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/vexpress-scc.txt
@@ -0,0 +1,33 @@
1ARM Versatile Express Serial Configuration Controller
2-----------------------------------------------------
3
4Test chips for ARM Versatile Express platform implement SCC (Serial
5Configuration Controller) interface, used to set initial conditions
6for the test chip.
7
8In some cases its registers are also mapped in normal address space
9and can be used to obtain runtime information about the chip internals
10(like silicon temperature sensors) and as interface to other subsystems
11like platform configuration control and power management.
12
13Required properties:
14
15- compatible value: "arm,vexpress-scc,<model>", "arm,vexpress-scc";
16 where <model> is the full tile model name (as used
17 in the tile's Technical Reference Manual),
18 eg. for Coretile Express A15x2 A7x3 (V2P-CA15_A7):
19 compatible = "arm,vexpress-scc,v2p-ca15_a7", "arm,vexpress-scc";
20
21Optional properties:
22
23- reg: when the SCC is memory mapped, physical address and size of the
24 registers window
25- interrupts: when the SCC can generate a system-level interrupt
26
27Example:
28
29 scc@7fff0000 {
30 compatible = "arm,vexpress-scc,v2p-ca15_a7", "arm,vexpress-scc";
31 reg = <0 0x7fff0000 0 0x1000>;
32 interrupts = <0 95 4>;
33 };
diff --git a/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt b/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
index 9cf3f25544c7..5580e9c4bd85 100644
--- a/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
+++ b/Documentation/devicetree/bindings/arm/vexpress-sysreg.txt
@@ -32,8 +32,8 @@ numbers - see motherboard's TRM for more details.
32The node describing a config device must refer to the sysreg node via 32The node describing a config device must refer to the sysreg node via
33"arm,vexpress,config-bridge" phandle (can be also defined in the node's 33"arm,vexpress,config-bridge" phandle (can be also defined in the node's
34parent) and relies on the board topology properties - see main vexpress 34parent) and relies on the board topology properties - see main vexpress
35node documentation for more details. It must must also define the 35node documentation for more details. It must also define the following
36following property: 36property:
37- arm,vexpress-sysreg,func : must contain two cells: 37- arm,vexpress-sysreg,func : must contain two cells:
38 - first cell defines function number (eg. 1 for clock generator, 38 - first cell defines function number (eg. 1 for clock generator,
39 2 for voltage regulators etc.) 39 2 for voltage regulators etc.)
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
index 3ec0c5c4f0e9..89de1564950c 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
@@ -4,27 +4,17 @@ SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node. 4Each SATA controller should have its own node.
5 5
6Required properties: 6Required properties:
7- compatible : compatible list, contains "calxeda,hb-ahci" or "snps,spear-ahci" 7- compatible : compatible list, contains "snps,spear-ahci"
8- interrupts : <interrupt mapping for SATA IRQ> 8- interrupts : <interrupt mapping for SATA IRQ>
9- reg : <registers mapping> 9- reg : <registers mapping>
10 10
11Optional properties: 11Optional properties:
12- calxeda,port-phys: phandle-combophy and lane assignment, which maps each
13 SATA port to a combophy and a lane within that
14 combophy
15- calxeda,sgpio-gpio: phandle-gpio bank, bit offset, and default on or off,
16 which indicates that the driver supports SGPIO
17 indicator lights using the indicated GPIOs
18- calxeda,led-order : a u32 array that map port numbers to offsets within the
19 SGPIO bitstream.
20- dma-coherent : Present if dma operations are coherent 12- dma-coherent : Present if dma operations are coherent
21 13
22Example: 14Example:
23 sata@ffe08000 { 15 sata@ffe08000 {
24 compatible = "calxeda,hb-ahci"; 16 compatible = "snps,spear-ahci";
25 reg = <0xffe08000 0x1000>; 17 reg = <0xffe08000 0x1000>;
26 interrupts = <115>; 18 interrupts = <115>;
27 calxeda,port-phys = <&combophy5 0 &combophy0 0 &combophy0 1
28 &combophy0 2 &combophy0 3>;
29 19
30 }; 20 };
diff --git a/Documentation/devicetree/bindings/ata/sata_highbank.txt b/Documentation/devicetree/bindings/ata/sata_highbank.txt
new file mode 100644
index 000000000000..aa83407cb7a4
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/sata_highbank.txt
@@ -0,0 +1,44 @@
1* Calxeda AHCI SATA Controller
2
3SATA nodes are defined to describe on-chip Serial ATA controllers.
4The Calxeda SATA controller mostly conforms to the AHCI interface
5with some special extensions to add functionality.
6Each SATA controller should have its own node.
7
8Required properties:
9- compatible : compatible list, contains "calxeda,hb-ahci"
10- interrupts : <interrupt mapping for SATA IRQ>
11- reg : <registers mapping>
12
13Optional properties:
14- dma-coherent : Present if dma operations are coherent
15- calxeda,port-phys : phandle-combophy and lane assignment, which maps each
16 SATA port to a combophy and a lane within that
17 combophy
18- calxeda,sgpio-gpio: phandle-gpio bank, bit offset, and default on or off,
19 which indicates that the driver supports SGPIO
20 indicator lights using the indicated GPIOs
21- calxeda,led-order : a u32 array that map port numbers to offsets within the
22 SGPIO bitstream.
23- calxeda,tx-atten : a u32 array that contains TX attenuation override
24 codes, one per port. The upper 3 bytes are always
25 0 and thus ignored.
26- calxeda,pre-clocks : a u32 that indicates the number of additional clock
27 cycles to transmit before sending an SGPIO pattern
28- calxeda,post-clocks: a u32 that indicates the number of additional clock
29 cycles to transmit after sending an SGPIO pattern
30
31Example:
32 sata@ffe08000 {
33 compatible = "calxeda,hb-ahci";
34 reg = <0xffe08000 0x1000>;
35 interrupts = <115>;
36 dma-coherent;
37 calxeda,port-phys = <&combophy5 0 &combophy0 0 &combophy0 1
38 &combophy0 2 &combophy0 3>;
39 calxeda,sgpio-gpio =<&gpioh 5 1 &gpioh 6 1 &gpioh 7 1>;
40 calxeda,led-order = <4 0 1 2 3>;
41 calxeda,tx-atten = <0xff 22 0xff 0xff 23>;
42 calxeda,pre-clocks = <10>;
43 calxeda,post-clocks = <0>;
44 };
diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt
index cedc2a9c4785..0fd76c405208 100644
--- a/Documentation/devicetree/bindings/bus/imx-weim.txt
+++ b/Documentation/devicetree/bindings/bus/imx-weim.txt
@@ -8,7 +8,7 @@ The actual devices are instantiated from the child nodes of a WEIM node.
8 8
9Required properties: 9Required properties:
10 10
11 - compatible: Should be set to "fsl,imx6q-weim" 11 - compatible: Should be set to "fsl,<soc>-weim"
12 - reg: A resource specifier for the register space 12 - reg: A resource specifier for the register space
13 (see the example below) 13 (see the example below)
14 - clocks: the clock, see the example below. 14 - clocks: the clock, see the example below.
@@ -21,11 +21,18 @@ Required properties:
21 21
22Timing property for child nodes. It is mandatory, not optional. 22Timing property for child nodes. It is mandatory, not optional.
23 23
24 - fsl,weim-cs-timing: The timing array, contains 6 timing values for the 24 - fsl,weim-cs-timing: The timing array, contains timing values for the
25 child node. We can get the CS index from the child 25 child node. We can get the CS index from the child
26 node's "reg" property. This property contains the values 26 node's "reg" property. The number of registers depends
27 for the registers EIM_CSnGCR1, EIM_CSnGCR2, EIM_CSnRCR1, 27 on the selected chip.
28 EIM_CSnRCR2, EIM_CSnWCR1, EIM_CSnWCR2 in this order. 28 For i.MX1, i.MX21 ("fsl,imx1-weim") there are two
29 registers: CSxU, CSxL.
30 For i.MX25, i.MX27, i.MX31 and i.MX35 ("fsl,imx27-weim")
31 there are three registers: CSCRxU, CSCRxL, CSCRxA.
32 For i.MX50, i.MX53 ("fsl,imx50-weim"),
33 i.MX51 ("fsl,imx51-weim") and i.MX6Q ("fsl,imx6q-weim")
34 there are six registers: CSxGCR1, CSxGCR2, CSxRCR1,
35 CSxRCR2, CSxWCR1, CSxWCR2.
29 36
30Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM: 37Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM:
31 38
diff --git a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
new file mode 100644
index 000000000000..7586fb68c072
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
@@ -0,0 +1,276 @@
1
2* Marvell MBus
3
4Required properties:
5
6- compatible: Should be set to one of the following:
7 marvell,armada370-mbus
8 marvell,armadaxp-mbus
9 marvell,armada370-mbus
10 marvell,armadaxp-mbus
11 marvell,kirkwood-mbus
12 marvell,dove-mbus
13 marvell,orion5x-88f5281-mbus
14 marvell,orion5x-88f5182-mbus
15 marvell,orion5x-88f5181-mbus
16 marvell,orion5x-88f6183-mbus
17 marvell,mv78xx0-mbus
18
19- address-cells: Must be '2'. The first cell for the MBus ID encoding,
20 the second cell for the address offset within the window.
21
22- size-cells: Must be '1'.
23
24- ranges: Must be set up to provide a proper translation for each child.
25 See the examples below.
26
27- controller: Contains a single phandle referring to the MBus controller
28 node. This allows to specify the node that contains the
29 registers that control the MBus, which is typically contained
30 within the internal register window (see below).
31
32Optional properties:
33
34- pcie-mem-aperture: This optional property contains the aperture for
35 the memory region of the PCIe driver.
36 If it's defined, it must encode the base address and
37 size for the address decoding windows allocated for
38 the PCIe memory region.
39
40- pcie-io-aperture: Just as explained for the above property, this
41 optional property contains the aperture for the
42 I/O region of the PCIe driver.
43
44* Marvell MBus controller
45
46Required properties:
47
48- compatible: Should be set to "marvell,mbus-controller".
49
50- reg: Device's register space.
51 Two entries are expected (see the examples below):
52 the first one controls the devices decoding window and
53 the second one controls the SDRAM decoding window.
54
55Example:
56
57 soc {
58 compatible = "marvell,armada370-mbus", "simple-bus";
59 #address-cells = <2>;
60 #size-cells = <1>;
61 controller = <&mbusc>;
62 pcie-mem-aperture = <0xe0000000 0x8000000>;
63 pcie-io-aperture = <0xe8000000 0x100000>;
64
65 internal-regs {
66 compatible = "simple-bus";
67
68 mbusc: mbus-controller@20000 {
69 compatible = "marvell,mbus-controller";
70 reg = <0x20000 0x100>, <0x20180 0x20>;
71 };
72
73 /* more children ...*/
74 };
75 };
76
77** MBus address decoding window specification
78
79The MBus children address space is comprised of two cells: the first one for
80the window ID and the second one for the offset within the window.
81In order to allow to describe valid and non-valid window entries, the
82following encoding is used:
83
84 0xSIAA0000 0x00oooooo
85
86Where:
87
88 S = 0x0 for a MBus valid window
89 S = 0xf for a non-valid window (see below)
90
91If S = 0x0, then:
92
93 I = 4-bit window target ID
94 AA = windpw attribute
95
96If S = 0xf, then:
97
98 I = don't care
99 AA = 1 for internal register
100
101Following the above encoding, for each ranges entry for a MBus valid window
102(S = 0x0), an address decoding window is allocated. On the other side,
103entries for translation that do not correspond to valid windows (S = 0xf)
104are skipped.
105
106 soc {
107 compatible = "marvell,armada370-mbus", "simple-bus";
108 #address-cells = <2>;
109 #size-cells = <1>;
110 controller = <&mbusc>;
111
112 ranges = <0xf0010000 0 0 0xd0000000 0x100000
113 0x01e00000 0 0 0xfff00000 0x100000>;
114
115 bootrom {
116 compatible = "marvell,bootrom";
117 reg = <0x01e00000 0 0x100000>;
118 };
119
120 /* other children */
121 ...
122
123 internal-regs {
124 compatible = "simple-bus";
125 ranges = <0 0xf0010000 0 0x100000>;
126
127 mbusc: mbus-controller@20000 {
128 compatible = "marvell,mbus-controller";
129 reg = <0x20000 0x100>, <0x20180 0x20>;
130 };
131
132 /* more children ...*/
133 };
134 };
135
136In the shown example, the translation entry in the 'ranges' property is what
137makes the MBus driver create a static decoding window for the corresponding
138given child device. Note that the binding does not require child nodes to be
139present. Of course, child nodes are needed to probe the devices.
140
141Since each window is identified by its target ID and attribute ID there's
142a special macro that can be use to simplify the translation entries:
143
144#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
145
146Using this macro, the above example would be:
147
148 soc {
149 compatible = "marvell,armada370-mbus", "simple-bus";
150 #address-cells = <2>;
151 #size-cells = <1>;
152 controller = <&mbusc>;
153
154 ranges = < MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
155 MBUS_ID(0x01, 0xe0) 0 0 0xfff00000 0x100000>;
156
157 bootrom {
158 compatible = "marvell,bootrom";
159 reg = <MBUS_ID(0x01, 0xe0) 0 0x100000>;
160 };
161
162 /* other children */
163 ...
164
165 internal-regs {
166 compatible = "simple-bus";
167 #address-cells = <1>;
168 #size-cells = <1>;
169 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
170
171 mbusc: mbus-controller@20000 {
172 compatible = "marvell,mbus-controller";
173 reg = <0x20000 0x100>, <0x20180 0x20>;
174 };
175
176 /* other children */
177 ...
178 };
179 };
180
181
182** About the window base address
183
184Remember the MBus controller allows a great deal of flexibility for choosing
185the decoding window base address. When planning the device tree layout it's
186possible to choose any address as the base address, provided of course there's
187a region large enough available, and with the required alignment.
188
189Yet in other words: there's nothing preventing us from setting a base address
190of 0xf0000000, or 0xd0000000 for the NOR device shown above, if such region is
191unused.
192
193** Window allocation policy
194
195The mbus-node ranges property defines a set of mbus windows that are expected
196to be set by the operating system and that are guaranteed to be free of overlaps
197with one another or with the system memory ranges.
198
199Each entry in the property refers to exactly one window. If the operating system
200choses to use a different set of mbus windows, it must ensure that any address
201translations performed from downstream devices are adapted accordingly.
202
203The operating system may insert additional mbus windows that do not conflict
204with the ones listed in the ranges, e.g. for mapping PCIe devices.
205As a special case, the internal register window must be set up by the boot
206loader at the address listed in the ranges property, since access to that region
207is needed to set up the other windows.
208
209** Example
210
211See the example below, where a more complete device tree is shown:
212
213 soc {
214 compatible = "marvell,armadaxp-mbus", "simple-bus";
215 controller = <&mbusc>;
216
217 ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000 /* internal-regs */
218 MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
219 MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x8000000>;
220
221 bootrom {
222 compatible = "marvell,bootrom";
223 reg = <MBUS_ID(0x01, 0x1d) 0 0x100000>;
224 };
225
226 devbus-bootcs {
227 status = "okay";
228 ranges = <0 MBUS_ID(0x01, 0x2f) 0 0x8000000>;
229
230 /* NOR */
231 nor {
232 compatible = "cfi-flash";
233 reg = <0 0x8000000>;
234 bank-width = <2>;
235 };
236 };
237
238 pcie-controller {
239 compatible = "marvell,armada-xp-pcie";
240 status = "okay";
241 device_type = "pci";
242
243 #address-cells = <3>;
244 #size-cells = <2>;
245
246 ranges =
247 <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000 /* Port 0.0 registers */
248 0x82000000 0 0x42000 MBUS_ID(0xf0, 0x01) 0x42000 0 0x00002000 /* Port 2.0 registers */
249 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000 /* Port 0.1 registers */
250 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000 /* Port 0.2 registers */
251 0x82000000 0 0x4c000 MBUS_ID(0xf0, 0x01) 0x4c000 0 0x00002000 /* Port 0.3 registers */
252 0x82000800 0 0xe0000000 MBUS_ID(0x04, 0xe8) 0xe0000000 0 0x08000000 /* Port 0.0 MEM */
253 0x81000800 0 0 MBUS_ID(0x04, 0xe0) 0xe8000000 0 0x00100000 /* Port 0.0 IO */>;
254
255
256 pcie@1,0 {
257 /* Port 0, Lane 0 */
258 status = "okay";
259 };
260 };
261
262 internal-regs {
263 compatible = "simple-bus";
264 #address-cells = <1>;
265 #size-cells = <1>;
266 ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
267
268 mbusc: mbus-controller@20000 {
269 reg = <0x20000 0x100>, <0x20180 0x20>;
270 };
271
272 interrupt-controller@20000 {
273 reg = <0x20a00 0x2d0>, <0x21070 0x58>;
274 };
275 };
276 };
diff --git a/Documentation/devicetree/bindings/c6x/dscr.txt b/Documentation/devicetree/bindings/c6x/dscr.txt
index d847758f2b20..b0e97144cfb1 100644
--- a/Documentation/devicetree/bindings/c6x/dscr.txt
+++ b/Documentation/devicetree/bindings/c6x/dscr.txt
@@ -5,7 +5,7 @@ TI C6X SoCs contain a region of miscellaneous registers which provide various
5function for SoC control or status. Details vary considerably among from SoC 5function for SoC control or status. Details vary considerably among from SoC
6to SoC with no two being alike. 6to SoC with no two being alike.
7 7
8In general, the Device State Configuraion Registers (DSCR) will provide one or 8In general, the Device State Configuration Registers (DSCR) will provide one or
9more configuration registers often protected by a lock register where one or 9more configuration registers often protected by a lock register where one or
10more key values must be written to a lock register in order to unlock the 10more key values must be written to a lock register in order to unlock the
11configuration register for writes. These configuration register may be used to 11configuration register for writes. These configuration register may be used to
diff --git a/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt b/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt
index a1201802f90d..75e2e1999f87 100644
--- a/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt
+++ b/Documentation/devicetree/bindings/clock/clk-exynos-audss.txt
@@ -2,7 +2,7 @@
2 2
3The Samsung Audio Subsystem clock controller generates and supplies clocks 3The Samsung Audio Subsystem clock controller generates and supplies clocks
4to Audio Subsystem block available in the S5PV210 and Exynos SoCs. The clock 4to Audio Subsystem block available in the S5PV210 and Exynos SoCs. The clock
5binding described here is applicable to all SoC's in Exynos family. 5binding described here is applicable to all SoCs in Exynos family.
6 6
7Required Properties: 7Required Properties:
8 8
diff --git a/Documentation/devicetree/bindings/clock/exynos4-clock.txt b/Documentation/devicetree/bindings/clock/exynos4-clock.txt
index 14d5c2af26f4..c6bf8a6c8f52 100644
--- a/Documentation/devicetree/bindings/clock/exynos4-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos4-clock.txt
@@ -236,6 +236,7 @@ Exynos4 SoC and this is specified where applicable.
236 spi0_isp_sclk 380 Exynos4x12 236 spi0_isp_sclk 380 Exynos4x12
237 spi1_isp_sclk 381 Exynos4x12 237 spi1_isp_sclk 381 Exynos4x12
238 uart_isp_sclk 382 Exynos4x12 238 uart_isp_sclk 382 Exynos4x12
239 tmu_apbif 383
239 240
240 [Mux Clocks] 241 [Mux Clocks]
241 242
diff --git a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
index 781a6276adf7..24765c146e31 100644
--- a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
@@ -59,6 +59,9 @@ clock which they consume.
59 sclk_spi0 154 59 sclk_spi0 154
60 sclk_spi1 155 60 sclk_spi1 155
61 sclk_spi2 156 61 sclk_spi2 156
62 div_i2s1 157
63 div_i2s2 158
64 sclk_hdmiphy 159
62 65
63 66
64 [Peripheral Clock Gates] 67 [Peripheral Clock Gates]
@@ -154,7 +157,16 @@ clock which they consume.
154 dsim0 341 157 dsim0 341
155 dp 342 158 dp 342
156 mixer 343 159 mixer 343
157 hdmi 345 160 hdmi 344
161 g2d 345
162
163
164 [Clock Muxes]
165
166 Clock ID
167 ----------------------------
168 mout_hdmi 1024
169
158 170
159Example 1: An example of a clock controller node is listed below. 171Example 1: An example of a clock controller node is listed below.
160 172
diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
index 9bcc4b1bff51..32aa34ecad36 100644
--- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
@@ -59,6 +59,7 @@ clock which they consume.
59 sclk_pwm 155 59 sclk_pwm 155
60 sclk_gscl_wa 156 60 sclk_gscl_wa 156
61 sclk_gscl_wb 157 61 sclk_gscl_wb 157
62 sclk_hdmiphy 158
62 63
63 [Peripheral Clock Gates] 64 [Peripheral Clock Gates]
64 65
@@ -179,6 +180,17 @@ clock which they consume.
179 fimc_lite3 495 180 fimc_lite3 495
180 aclk_g3d 500 181 aclk_g3d 500
181 g3d 501 182 g3d 501
183 smmu_mixer 502
184
185 Mux ID
186 ----------------------------
187
188 mout_hdmi 640
189
190 Divider ID
191 ----------------------------
192
193 dout_pixel 768
182 194
183Example 1: An example of a clock controller node is listed below. 195Example 1: An example of a clock controller node is listed below.
184 196
diff --git a/Documentation/devicetree/bindings/clock/imx5-clock.txt b/Documentation/devicetree/bindings/clock/imx5-clock.txt
index f46f5625d8ad..4c029a8739d3 100644
--- a/Documentation/devicetree/bindings/clock/imx5-clock.txt
+++ b/Documentation/devicetree/bindings/clock/imx5-clock.txt
@@ -197,6 +197,7 @@ clocks and IDs.
197 spdif0_gate 183 197 spdif0_gate 183
198 spdif1_gate 184 198 spdif1_gate 184
199 spdif_ipg_gate 185 199 spdif_ipg_gate 185
200 ocram 186
200 201
201Examples (for mx53): 202Examples (for mx53):
202 203
diff --git a/Documentation/devicetree/bindings/clock/imx6q-clock.txt b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
index a0e104f0527e..5a90a724b520 100644
--- a/Documentation/devicetree/bindings/clock/imx6q-clock.txt
+++ b/Documentation/devicetree/bindings/clock/imx6q-clock.txt
@@ -209,6 +209,12 @@ clocks and IDs.
209 pll5_post_div 194 209 pll5_post_div 194
210 pll5_video_div 195 210 pll5_video_div 195
211 eim_slow 196 211 eim_slow 196
212 spdif 197
213 cko2_sel 198
214 cko2_podf 199
215 cko2 200
216 cko 201
217 vdoa 202
212 218
213Examples: 219Examples:
214 220
diff --git a/Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt b/Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt
new file mode 100644
index 000000000000..fa171dc4bd3c
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt
@@ -0,0 +1,77 @@
1* Samsung S3C64xx Clock Controller
2
3The S3C64xx clock controller generates and supplies clock to various controllers
4within the SoC. The clock binding described here is applicable to all SoCs in
5the S3C64xx family.
6
7Required Properties:
8
9- compatible: should be one of the following.
10 - "samsung,s3c6400-clock" - controller compatible with S3C6400 SoC.
11 - "samsung,s3c6410-clock" - controller compatible with S3C6410 SoC.
12
13- reg: physical base address of the controller and length of memory mapped
14 region.
15
16- #clock-cells: should be 1.
17
18Each clock is assigned an identifier and client nodes can use this identifier
19to specify the clock which they consume. Some of the clocks are available only
20on a particular S3C64xx SoC and this is specified where applicable.
21
22All available clocks are defined as preprocessor macros in
23dt-bindings/clock/samsung,s3c64xx-clock.h header and can be used in device
24tree sources.
25
26External clocks:
27
28There are several clocks that are generated outside the SoC. It is expected
29that they are defined using standard clock bindings with following
30clock-output-names:
31 - "fin_pll" - PLL input clock (xtal/extclk) - required,
32 - "xusbxti" - USB xtal - required,
33 - "iiscdclk0" - I2S0 codec clock - optional,
34 - "iiscdclk1" - I2S1 codec clock - optional,
35 - "iiscdclk2" - I2S2 codec clock - optional,
36 - "pcmcdclk0" - PCM0 codec clock - optional,
37 - "pcmcdclk1" - PCM1 codec clock - optional, only S3C6410.
38
39Example: Clock controller node:
40
41 clock: clock-controller@7e00f000 {
42 compatible = "samsung,s3c6410-clock";
43 reg = <0x7e00f000 0x1000>;
44 #clock-cells = <1>;
45 };
46
47Example: Required external clocks:
48
49 fin_pll: clock-fin-pll {
50 compatible = "fixed-clock";
51 clock-output-names = "fin_pll";
52 clock-frequency = <12000000>;
53 #clock-cells = <0>;
54 };
55
56 xusbxti: clock-xusbxti {
57 compatible = "fixed-clock";
58 clock-output-names = "xusbxti";
59 clock-frequency = <48000000>;
60 #clock-cells = <0>;
61 };
62
63Example: UART controller node that consumes the clock generated by the clock
64 controller (refer to the standard clock bindings for information about
65 "clocks" and "clock-names" properties):
66
67 uart0: serial@7f005000 {
68 compatible = "samsung,s3c6400-uart";
69 reg = <0x7f005000 0x100>;
70 interrupt-parent = <&vic1>;
71 interrupts = <5>;
72 clock-names = "uart", "clk_uart_baud2",
73 "clk_uart_baud3";
74 clocks = <&clock PCLK_UART0>, <&clocks PCLK_UART0>,
75 <&clock SCLK_UART>;
76 status = "disabled";
77 };
diff --git a/Documentation/devicetree/bindings/clock/st,nomadik.txt b/Documentation/devicetree/bindings/clock/st,nomadik.txt
index 7fc09773de46..40e0cf1f7b99 100644
--- a/Documentation/devicetree/bindings/clock/st,nomadik.txt
+++ b/Documentation/devicetree/bindings/clock/st,nomadik.txt
@@ -17,7 +17,7 @@ Optional properties for the SRC node:
17- disable-mxtal: if present this will disable the MXTALO, 17- disable-mxtal: if present this will disable the MXTALO,
18 i.e. the driver output for the main (~19.2 MHz) chrystal, 18 i.e. the driver output for the main (~19.2 MHz) chrystal,
19 if the board has its own circuitry for providing this 19 if the board has its own circuitry for providing this
20 osciallator 20 oscillator
21 21
22 22
23PLL nodes: these nodes represent the two PLLs on the system, 23PLL nodes: these nodes represent the two PLLs on the system,
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index d495521a79d2..00a5c26454eb 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -8,19 +8,31 @@ Required properties:
8- compatible : shall be one of the following: 8- compatible : shall be one of the following:
9 "allwinner,sun4i-osc-clk" - for a gatable oscillator 9 "allwinner,sun4i-osc-clk" - for a gatable oscillator
10 "allwinner,sun4i-pll1-clk" - for the main PLL clock 10 "allwinner,sun4i-pll1-clk" - for the main PLL clock
11 "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31
11 "allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock 12 "allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock
12 "allwinner,sun4i-axi-clk" - for the AXI clock 13 "allwinner,sun4i-axi-clk" - for the AXI clock
13 "allwinner,sun4i-axi-gates-clk" - for the AXI gates 14 "allwinner,sun4i-axi-gates-clk" - for the AXI gates
14 "allwinner,sun4i-ahb-clk" - for the AHB clock 15 "allwinner,sun4i-ahb-clk" - for the AHB clock
15 "allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10 16 "allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10
16 "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13 17 "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13
18 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
19 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20
20 "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31
21 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31
17 "allwinner,sun4i-apb0-clk" - for the APB0 clock 22 "allwinner,sun4i-apb0-clk" - for the APB0 clock
18 "allwinner,sun4i-apb0-gates-clk" - for the APB0 gates on A10 23 "allwinner,sun4i-apb0-gates-clk" - for the APB0 gates on A10
19 "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 24 "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13
25 "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s
26 "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20
20 "allwinner,sun4i-apb1-clk" - for the APB1 clock 27 "allwinner,sun4i-apb1-clk" - for the APB1 clock
21 "allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing 28 "allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing
22 "allwinner,sun4i-apb1-gates-clk" - for the APB1 gates on A10 29 "allwinner,sun4i-apb1-gates-clk" - for the APB1 gates on A10
23 "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13 30 "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13
31 "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s
32 "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31
33 "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20
34 "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31
35 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
24 36
25Required properties for all clocks: 37Required properties for all clocks:
26- reg : shall be the control register address for the clock. 38- reg : shall be the control register address for the clock.
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt
new file mode 100644
index 000000000000..d24279fe1429
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/sunxi/sun5i-a10s-gates.txt
@@ -0,0 +1,75 @@
1Gate clock outputs
2------------------
3
4 * AXI gates ("allwinner,sun4i-axi-gates-clk")
5
6 DRAM 0
7
8 * AHB gates ("allwinner,sun5i-a10s-ahb-gates-clk")
9
10 USB0 0
11 EHCI0 1
12 OHCI0 2
13
14 SS 5
15 DMA 6
16 BIST 7
17 MMC0 8
18 MMC1 9
19 MMC2 10
20
21 NAND 13
22 SDRAM 14
23
24 EMAC 17
25 TS 18
26
27 SPI0 20
28 SPI1 21
29 SPI2 22
30
31 GPS 26
32
33 HSTIMER 28
34
35 VE 32
36
37 TVE 34
38
39 LCD 36
40
41 CSI 40
42
43 HDMI 43
44 DE_BE 44
45
46 DE_FE 46
47
48 IEP 51
49 MALI400 52
50
51 * APB0 gates ("allwinner,sun5i-a10s-apb0-gates-clk")
52
53 CODEC 0
54
55 IIS 3
56
57 PIO 5
58 IR 6
59
60 KEYPAD 10
61
62 * APB1 gates ("allwinner,sun5i-a10s-apb1-gates-clk")
63
64 I2C0 0
65 I2C1 1
66 I2C2 2
67
68 UART0 16
69 UART1 17
70 UART2 18
71 UART3 19
72
73Notation:
74 [*]: The datasheet didn't mention these, but they are present on AW code
75 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt
new file mode 100644
index 000000000000..fe44932b5c6b
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/sunxi/sun6i-a31-gates.txt
@@ -0,0 +1,83 @@
1Gate clock outputs
2------------------
3
4 * AHB1 gates ("allwinner,sun6i-a31-ahb1-gates-clk")
5
6 MIPI DSI 1
7
8 SS 5
9 DMA 6
10
11 MMC0 8
12 MMC1 9
13 MMC2 10
14 MMC3 11
15
16 NAND1 12
17 NAND0 13
18 SDRAM 14
19
20 GMAC 17
21 TS 18
22 HSTIMER 19
23 SPI0 20
24 SPI1 21
25 SPI2 22
26 SPI3 23
27 USB_OTG 24
28
29 EHCI0 26
30 EHCI1 27
31
32 OHCI0 29
33 OHCI1 30
34 OHCI2 31
35 VE 32
36
37 LCD0 36
38 LCD1 37
39
40 CSI 40
41
42 HDMI 43
43 DE_BE0 44
44 DE_BE1 45
45 DE_FE1 46
46 DE_FE1 47
47
48 MP 50
49
50 GPU 52
51
52 DEU0 55
53 DEU1 56
54 DRC0 57
55 DRC1 58
56
57 * APB1 gates ("allwinner,sun6i-a31-apb1-gates-clk")
58
59 CODEC 0
60
61 DIGITAL MIC 4
62 PIO 5
63
64 DAUDIO0 12
65 DAUDIO1 13
66
67 * APB2 gates ("allwinner,sun6i-a31-apb2-gates-clk")
68
69 I2C0 0
70 I2C1 1
71 I2C2 2
72 I2C3 3
73
74 UART0 16
75 UART1 17
76 UART2 18
77 UART3 19
78 UART4 20
79 UART5 21
80
81Notation:
82 [*]: The datasheet didn't mention these, but they are present on AW code
83 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt b/Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt
new file mode 100644
index 000000000000..357f4fdc02ef
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/sunxi/sun7i-a20-gates.txt
@@ -0,0 +1,98 @@
1Gate clock outputs
2------------------
3
4 * AXI gates ("allwinner,sun4i-axi-gates-clk")
5
6 DRAM 0
7
8 * AHB gates ("allwinner,sun7i-a20-ahb-gates-clk")
9
10 USB0 0
11 EHCI0 1
12 OHCI0 2
13 EHCI1 3
14 OHCI1 4
15 SS 5
16 DMA 6
17 BIST 7
18 MMC0 8
19 MMC1 9
20 MMC2 10
21 MMC3 11
22 MS 12
23 NAND 13
24 SDRAM 14
25
26 ACE 16
27 EMAC 17
28 TS 18
29
30 SPI0 20
31 SPI1 21
32 SPI2 22
33 SPI3 23
34
35 SATA 25
36
37 HSTIMER 28
38
39 VE 32
40 TVD 33
41 TVE0 34
42 TVE1 35
43 LCD0 36
44 LCD1 37
45
46 CSI0 40
47 CSI1 41
48
49 HDMI1 42
50 HDMI0 43
51 DE_BE0 44
52 DE_BE1 45
53 DE_FE1 46
54 DE_FE1 47
55
56 GMAC 49
57 MP 50
58
59 MALI400 52
60
61 * APB0 gates ("allwinner,sun7i-a20-apb0-gates-clk")
62
63 CODEC 0
64 SPDIF 1
65 AC97 2
66 IIS0 3
67 IIS1 4
68 PIO 5
69 IR0 6
70 IR1 7
71 IIS2 8
72
73 KEYPAD 10
74
75 * APB1 gates ("allwinner,sun7i-a20-apb1-gates-clk")
76
77 I2C0 0
78 I2C1 1
79 I2C2 2
80 I2C3 3
81 CAN 4
82 SCR 5
83 PS20 6
84 PS21 7
85
86 I2C4 15
87 UART0 16
88 UART1 17
89 UART2 18
90 UART3 19
91 UART4 20
92 UART5 21
93 UART6 22
94 UART7 23
95
96Notation:
97 [*]: The datasheet didn't mention these, but they are present on AW code
98 [**]: The datasheet had this marked as "NC" but they are used on AW code
diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec6.txt b/Documentation/devicetree/bindings/crypto/fsl-sec6.txt
new file mode 100644
index 000000000000..c0a20cd972e3
--- /dev/null
+++ b/Documentation/devicetree/bindings/crypto/fsl-sec6.txt
@@ -0,0 +1,157 @@
1SEC 6 is as Freescale's Cryptographic Accelerator and Assurance Module (CAAM).
2Currently Freescale powerpc chip C29X is embeded with SEC 6.
3SEC 6 device tree binding include:
4 -SEC 6 Node
5 -Job Ring Node
6 -Full Example
7
8=====================================================================
9SEC 6 Node
10
11Description
12
13 Node defines the base address of the SEC 6 block.
14 This block specifies the address range of all global
15 configuration registers for the SEC 6 block.
16 For example, In C293, we could see three SEC 6 node.
17
18PROPERTIES
19
20 - compatible
21 Usage: required
22 Value type: <string>
23 Definition: Must include "fsl,sec-v6.0".
24
25 - fsl,sec-era
26 Usage: optional
27 Value type: <u32>
28 Definition: A standard property. Define the 'ERA' of the SEC
29 device.
30
31 - #address-cells
32 Usage: required
33 Value type: <u32>
34 Definition: A standard property. Defines the number of cells
35 for representing physical addresses in child nodes.
36
37 - #size-cells
38 Usage: required
39 Value type: <u32>
40 Definition: A standard property. Defines the number of cells
41 for representing the size of physical addresses in
42 child nodes.
43
44 - reg
45 Usage: required
46 Value type: <prop-encoded-array>
47 Definition: A standard property. Specifies the physical
48 address and length of the SEC 6 configuration registers.
49
50 - ranges
51 Usage: required
52 Value type: <prop-encoded-array>
53 Definition: A standard property. Specifies the physical address
54 range of the SEC 6.0 register space (-SNVS not included). A
55 triplet that includes the child address, parent address, &
56 length.
57
58 Note: All other standard properties (see the ePAPR) are allowed
59 but are optional.
60
61EXAMPLE
62 crypto@a0000 {
63 compatible = "fsl,sec-v6.0";
64 fsl,sec-era = <6>;
65 #address-cells = <1>;
66 #size-cells = <1>;
67 reg = <0xa0000 0x20000>;
68 ranges = <0 0xa0000 0x20000>;
69 };
70
71=====================================================================
72Job Ring (JR) Node
73
74 Child of the crypto node defines data processing interface to SEC 6
75 across the peripheral bus for purposes of processing
76 cryptographic descriptors. The specified address
77 range can be made visible to one (or more) cores.
78 The interrupt defined for this node is controlled within
79 the address range of this node.
80
81 - compatible
82 Usage: required
83 Value type: <string>
84 Definition: Must include "fsl,sec-v6.0-job-ring".
85
86 - reg
87 Usage: required
88 Value type: <prop-encoded-array>
89 Definition: Specifies a two JR parameters: an offset from
90 the parent physical address and the length the JR registers.
91
92 - interrupts
93 Usage: required
94 Value type: <prop_encoded-array>
95 Definition: Specifies the interrupts generated by this
96 device. The value of the interrupts property
97 consists of one interrupt specifier. The format
98 of the specifier is defined by the binding document
99 describing the node's interrupt parent.
100
101EXAMPLE
102 jr@1000 {
103 compatible = "fsl,sec-v6.0-job-ring";
104 reg = <0x1000 0x1000>;
105 interrupts = <49 2 0 0>;
106 };
107
108===================================================================
109Full Example
110
111Since some chips may contain more than one SEC, the dtsi contains
112only the node contents, not the node itself. A chip using the SEC
113should include the dtsi inside each SEC node. Example:
114
115In qoriq-sec6.0.dtsi:
116
117 compatible = "fsl,sec-v6.0";
118 fsl,sec-era = <6>;
119 #address-cells = <1>;
120 #size-cells = <1>;
121
122 jr@1000 {
123 compatible = "fsl,sec-v6.0-job-ring",
124 "fsl,sec-v5.2-job-ring",
125 "fsl,sec-v5.0-job-ring",
126 "fsl,sec-v4.4-job-ring",
127 "fsl,sec-v4.0-job-ring";
128 reg = <0x1000 0x1000>;
129 };
130
131 jr@2000 {
132 compatible = "fsl,sec-v6.0-job-ring",
133 "fsl,sec-v5.2-job-ring",
134 "fsl,sec-v5.0-job-ring",
135 "fsl,sec-v4.4-job-ring",
136 "fsl,sec-v4.0-job-ring";
137 reg = <0x2000 0x1000>;
138 };
139
140In the C293 device tree, we add the include of public property:
141
142 crypto@a0000 {
143 /include/ "qoriq-sec6.0.dtsi"
144 }
145
146 crypto@a0000 {
147 reg = <0xa0000 0x20000>;
148 ranges = <0 0xa0000 0x20000>;
149
150 jr@1000 {
151 interrupts = <49 2 0 0>;
152 };
153
154 jr@2000 {
155 interrupts = <50 2 0 0>;
156 };
157 };
diff --git a/Documentation/devicetree/bindings/dma/atmel-dma.txt b/Documentation/devicetree/bindings/dma/atmel-dma.txt
index c280a0e6f42d..e1f343c7a34b 100644
--- a/Documentation/devicetree/bindings/dma/atmel-dma.txt
+++ b/Documentation/devicetree/bindings/dma/atmel-dma.txt
@@ -18,14 +18,14 @@ dma0: dma@ffffec00 {
18 18
19DMA clients connected to the Atmel DMA controller must use the format 19DMA clients connected to the Atmel DMA controller must use the format
20described in the dma.txt file, using a three-cell specifier for each channel: 20described in the dma.txt file, using a three-cell specifier for each channel:
21a phandle plus two interger cells. 21a phandle plus two integer cells.
22The three cells in order are: 22The three cells in order are:
23 23
241. A phandle pointing to the DMA controller. 241. A phandle pointing to the DMA controller.
252. The memory interface (16 most significant bits), the peripheral interface 252. The memory interface (16 most significant bits), the peripheral interface
26(16 less significant bits). 26(16 less significant bits).
273. Parameters for the at91 DMA configuration register which are device 273. Parameters for the at91 DMA configuration register which are device
28dependant: 28dependent:
29 - bit 7-0: peripheral identifier for the hardware handshaking interface. The 29 - bit 7-0: peripheral identifier for the hardware handshaking interface. The
30 identifier can be different for tx and rx. 30 identifier can be different for tx and rx.
31 - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 1 for ASAP. 31 - bit 11-8: FIFO configuration. 0 for half FIFO, 1 for ALAP, 1 for ASAP.
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
index 2717ecb47db9..7bd8847d6394 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-dma.txt
@@ -34,7 +34,7 @@ Clients have to specify the DMA requests with phandles in a list.
34Required properties: 34Required properties:
35- dmas: List of one or more DMA request specifiers. One DMA request specifier 35- dmas: List of one or more DMA request specifiers. One DMA request specifier
36 consists of a phandle to the DMA controller followed by the integer 36 consists of a phandle to the DMA controller followed by the integer
37 specifiying the request line. 37 specifying the request line.
38- dma-names: List of string identifiers for the DMA requests. For the correct 38- dma-names: List of string identifiers for the DMA requests. For the correct
39 names, have a look at the specific client driver. 39 names, have a look at the specific client driver.
40 40
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index 68cee4f5539f..4fa814d38321 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -1,7 +1,12 @@
1* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 1* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
2 2
3Required properties: 3Required properties:
4- compatible : Should be "fsl,<chip>-sdma" 4- compatible : Should be "fsl,imx31-sdma", "fsl,imx31-to1-sdma",
5 "fsl,imx31-to2-sdma", "fsl,imx35-sdma", "fsl,imx35-to1-sdma",
6 "fsl,imx35-to2-sdma", "fsl,imx51-sdma", "fsl,imx53-sdma" or
7 "fsl,imx6q-sdma". The -to variants should be preferred since they
8 allow to determnine the correct ROM script addresses needed for
9 the driver to work without additional firmware.
5- reg : Should contain SDMA registers location and length 10- reg : Should contain SDMA registers location and length
6- interrupts : Should contain SDMA interrupt 11- interrupts : Should contain SDMA interrupt
7- #dma-cells : Must be <3>. 12- #dma-cells : Must be <3>.
diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt
new file mode 100644
index 000000000000..23f8d712c3ce
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/k3dma.txt
@@ -0,0 +1,46 @@
1* Hisilicon K3 DMA controller
2
3See dma.txt first
4
5Required properties:
6- compatible: Should be "hisilicon,k3-dma-1.0"
7- reg: Should contain DMA registers location and length.
8- interrupts: Should contain one interrupt shared by all channel
9- #dma-cells: see dma.txt, should be 1, para number
10- dma-channels: physical channels supported
11- dma-requests: virtual channels supported, each virtual channel
12 have specific request line
13- clocks: clock required
14
15Example:
16
17Controller:
18 dma0: dma@fcd02000 {
19 compatible = "hisilicon,k3-dma-1.0";
20 reg = <0xfcd02000 0x1000>;
21 #dma-cells = <1>;
22 dma-channels = <16>;
23 dma-requests = <27>;
24 interrupts = <0 12 4>;
25 clocks = <&pclk>;
26 status = "disable";
27 };
28
29Client:
30Use specific request line passing from dmax
31For example, i2c0 read channel request line is 18, while write channel use 19
32
33 i2c0: i2c@fcb08000 {
34 compatible = "snps,designware-i2c";
35 dmas = <&dma0 18 /* read channel */
36 &dma0 19>; /* write channel */
37 dma-names = "rx", "tx";
38 };
39
40 i2c1: i2c@fcb09000 {
41 compatible = "snps,designware-i2c";
42 dmas = <&dma0 20 /* read channel */
43 &dma0 21>; /* write channel */
44 dma-names = "rx", "tx";
45 };
46
diff --git a/Documentation/devicetree/bindings/dma/shdma.txt b/Documentation/devicetree/bindings/dma/shdma.txt
index c15994aa1939..2a3f3b8946b9 100644
--- a/Documentation/devicetree/bindings/dma/shdma.txt
+++ b/Documentation/devicetree/bindings/dma/shdma.txt
@@ -22,42 +22,51 @@ Optional properties (currently unused):
22* DMA controller 22* DMA controller
23 23
24Required properties: 24Required properties:
25- compatible: should be "renesas,shdma" 25- compatible: should be of the form "renesas,shdma-<soc>", where <soc> should
26 be replaced with the desired SoC model, e.g.
27 "renesas,shdma-r8a73a4" for the system DMAC on r8a73a4 SoC
26 28
27Example: 29Example:
28 dmac: dma-mux0 { 30 dmac: dma-multiplexer@0 {
29 compatible = "renesas,shdma-mux"; 31 compatible = "renesas,shdma-mux";
30 #dma-cells = <1>; 32 #dma-cells = <1>;
31 dma-channels = <6>; 33 dma-channels = <20>;
32 dma-requests = <256>; 34 dma-requests = <256>;
33 reg = <0 0>; /* Needed for AUXDATA */ 35 #address-cells = <2>;
34 #address-cells = <1>; 36 #size-cells = <2>;
35 #size-cells = <1>;
36 ranges; 37 ranges;
37 38
38 dma0: shdma@fe008020 { 39 dma0: dma-controller@e6700020 {
39 compatible = "renesas,shdma"; 40 compatible = "renesas,shdma-r8a73a4";
40 reg = <0xfe008020 0x270>, 41 reg = <0 0xe6700020 0 0x89e0>;
41 <0xfe009000 0xc>;
42 interrupt-parent = <&gic>; 42 interrupt-parent = <&gic>;
43 interrupts = <0 34 4 43 interrupts = <0 220 4
44 0 28 4 44 0 200 4
45 0 29 4 45 0 201 4
46 0 30 4 46 0 202 4
47 0 31 4 47 0 203 4
48 0 32 4 48 0 204 4
49 0 33 4>; 49 0 205 4
50 0 206 4
51 0 207 4
52 0 208 4
53 0 209 4
54 0 210 4
55 0 211 4
56 0 212 4
57 0 213 4
58 0 214 4
59 0 215 4
60 0 216 4
61 0 217 4
62 0 218 4
63 0 219 4>;
50 interrupt-names = "error", 64 interrupt-names = "error",
51 "ch0", "ch1", "ch2", "ch3", 65 "ch0", "ch1", "ch2", "ch3",
52 "ch4", "ch5"; 66 "ch4", "ch5", "ch6", "ch7",
53 }; 67 "ch8", "ch9", "ch10", "ch11",
54 68 "ch12", "ch13", "ch14", "ch15",
55 dma1: shdma@fe018020 { 69 "ch16", "ch17", "ch18", "ch19";
56 ...
57 };
58
59 dma2: shdma@fe028020 {
60 ...
61 }; 70 };
62 }; 71 };
63 72
diff --git a/Documentation/devicetree/bindings/dma/ste-dma40.txt b/Documentation/devicetree/bindings/dma/ste-dma40.txt
index bea5b73a7390..a8c21c256baa 100644
--- a/Documentation/devicetree/bindings/dma/ste-dma40.txt
+++ b/Documentation/devicetree/bindings/dma/ste-dma40.txt
@@ -37,14 +37,14 @@ Each dmas request consists of 4 cells:
37 1. A phandle pointing to the DMA controller 37 1. A phandle pointing to the DMA controller
38 2. Device Type 38 2. Device Type
39 3. The DMA request line number (only when 'use fixed channel' is set) 39 3. The DMA request line number (only when 'use fixed channel' is set)
40 4. A 32bit mask specifying; mode, direction and endianess [NB: This list will grow] 40 4. A 32bit mask specifying; mode, direction and endianness [NB: This list will grow]
41 0x00000001: Mode: 41 0x00000001: Mode:
42 Logical channel when unset 42 Logical channel when unset
43 Physical channel when set 43 Physical channel when set
44 0x00000002: Direction: 44 0x00000002: Direction:
45 Memory to Device when unset 45 Memory to Device when unset
46 Device to Memory when set 46 Device to Memory when set
47 0x00000004: Endianess: 47 0x00000004: Endianness:
48 Little endian when unset 48 Little endian when unset
49 Big endian when set 49 Big endian when set
50 0x00000008: Use fixed channel: 50 0x00000008: Use fixed channel:
diff --git a/Documentation/devicetree/bindings/extcon/extcon-twl.txt b/Documentation/devicetree/bindings/extcon/extcon-palmas.txt
index 58f531ab4df3..7dab6a8f4a0e 100644
--- a/Documentation/devicetree/bindings/extcon/extcon-twl.txt
+++ b/Documentation/devicetree/bindings/extcon/extcon-palmas.txt
@@ -1,15 +1,15 @@
1EXTCON FOR TWL CHIPS 1EXTCON FOR PALMAS/TWL CHIPS
2 2
3PALMAS USB COMPARATOR 3PALMAS USB COMPARATOR
4Required Properties: 4Required Properties:
5 - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb" 5 - compatible : Should be "ti,palmas-usb" or "ti,twl6035-usb"
6 - vbus-supply : phandle to the regulator device tree node.
7 6
8Optional Properties: 7Optional Properties:
9 - ti,wakeup : To enable the wakeup comparator in probe 8 - ti,wakeup : To enable the wakeup comparator in probe
9 - ti,enable-id-detection: Perform ID detection.
10 - ti,enable-vbus-detection: Perform VBUS detection.
10 11
11palmas-usb { 12palmas-usb {
12 compatible = "ti,twl6035-usb", "ti,palmas-usb"; 13 compatible = "ti,twl6035-usb", "ti,palmas-usb";
13 vbus-supply = <&smps10_reg>;
14 ti,wakeup; 14 ti,wakeup;
15}; 15};
diff --git a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
index 629d0ef17308..daa30174bcc1 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-mcp23s08.txt
@@ -3,10 +3,17 @@ Microchip MCP2308/MCP23S08/MCP23017/MCP23S17 driver for
3 3
4Required properties: 4Required properties:
5- compatible : Should be 5- compatible : Should be
6 - "mcp,mcp23s08" for 8 GPIO SPI version 6 - "mcp,mcp23s08" (DEPRECATED) for 8 GPIO SPI version
7 - "mcp,mcp23s17" for 16 GPIO SPI version 7 - "mcp,mcp23s17" (DEPRECATED) for 16 GPIO SPI version
8 - "mcp,mcp23008" for 8 GPIO I2C version or 8 - "mcp,mcp23008" (DEPRECATED) for 8 GPIO I2C version or
9 - "mcp,mcp23017" for 16 GPIO I2C version of the chip 9 - "mcp,mcp23017" (DEPRECATED) for 16 GPIO I2C version of the chip
10
11 - "microchip,mcp23s08" for 8 GPIO SPI version
12 - "microchip,mcp23s17" for 16 GPIO SPI version
13 - "microchip,mcp23008" for 8 GPIO I2C version or
14 - "microchip,mcp23017" for 16 GPIO I2C version of the chip
15 NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
16 removed.
10- #gpio-cells : Should be two. 17- #gpio-cells : Should be two.
11 - first cell is the pin number 18 - first cell is the pin number
12 - second cell is used to specify flags. Flags are currently unused. 19 - second cell is used to specify flags. Flags are currently unused.
@@ -15,10 +22,11 @@ Required properties:
15 SPI uses this to specify the chipselect line which the chip is 22 SPI uses this to specify the chipselect line which the chip is
16 connected to. The driver and the SPI variant of the chip support 23 connected to. The driver and the SPI variant of the chip support
17 multiple chips on the same chipselect. Have a look at 24 multiple chips on the same chipselect. Have a look at
18 mcp,spi-present-mask below. 25 microchip,spi-present-mask below.
19 26
20Required device specific properties (only for SPI chips): 27Required device specific properties (only for SPI chips):
21- mcp,spi-present-mask : This is a present flag, that makes only sense for SPI 28- mcp,spi-present-mask (DEPRECATED)
29- microchip,spi-present-mask : This is a present flag, that makes only sense for SPI
22 chips - as the name suggests. Multiple SPI chips can share the same 30 chips - as the name suggests. Multiple SPI chips can share the same
23 SPI chipselect. Set a bit in bit0-7 in this mask to 1 if there is a 31 SPI chipselect. Set a bit in bit0-7 in this mask to 1 if there is a
24 chip connected with the corresponding spi address set. For example if 32 chip connected with the corresponding spi address set. For example if
@@ -26,11 +34,13 @@ Required device specific properties (only for SPI chips):
26 which is 0x08. mcp23s08 chip variant only supports bits 0-3. It is not 34 which is 0x08. mcp23s08 chip variant only supports bits 0-3. It is not
27 possible to mix mcp23s08 and mcp23s17 on the same chipselect. Set at 35 possible to mix mcp23s08 and mcp23s17 on the same chipselect. Set at
28 least one bit to 1 for SPI chips. 36 least one bit to 1 for SPI chips.
37 NOTE: Do not use the old mcp prefix any more. It is deprecated and will be
38 removed.
29- spi-max-frequency = The maximum frequency this chip is able to handle 39- spi-max-frequency = The maximum frequency this chip is able to handle
30 40
31Example I2C: 41Example I2C:
32gpiom1: gpio@20 { 42gpiom1: gpio@20 {
33 compatible = "mcp,mcp23017"; 43 compatible = "microchip,mcp23017";
34 gpio-controller; 44 gpio-controller;
35 #gpio-cells = <2>; 45 #gpio-cells = <2>;
36 reg = <0x20>; 46 reg = <0x20>;
@@ -38,7 +48,7 @@ gpiom1: gpio@20 {
38 48
39Example SPI: 49Example SPI:
40gpiom1: gpio@0 { 50gpiom1: gpio@0 {
41 compatible = "mcp,mcp23s17"; 51 compatible = "microchip,mcp23s17";
42 gpio-controller; 52 gpio-controller;
43 #gpio-cells = <2>; 53 #gpio-cells = <2>;
44 spi-present-mask = <0x01>; 54 spi-present-mask = <0x01>;
diff --git a/Documentation/devicetree/bindings/gpio/gpio-palmas.txt b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
new file mode 100644
index 000000000000..08b5b52a3ae0
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-palmas.txt
@@ -0,0 +1,27 @@
1Palmas GPIO controller bindings
2
3Required properties:
4- compatible:
5 - "ti,palams-gpio" for palma series of the GPIO controller
6 - "ti,tps80036-gpio" for Palma series device TPS80036.
7 - "ti,tps65913-gpio" for palma series device TPS65913.
8 - "ti,tps65914-gpio" for palma series device TPS65914.
9- #gpio-cells : Should be two.
10 - first cell is the gpio pin number
11 - second cell is used to specify the gpio polarity:
12 0 = active high
13 1 = active low
14- gpio-controller : Marks the device node as a GPIO controller.
15
16Note: This gpio node will be sub node of palmas node.
17
18Example:
19 palmas: tps65913@58 {
20 :::::::::::
21 palmas_gpio: palmas_gpio {
22 compatible = "ti,palmas-gpio";
23 gpio-controller;
24 #gpio-cells = <2>;
25 };
26 :::::::::::
27 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt b/Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt
new file mode 100644
index 000000000000..1fd98ffa8cb7
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-tz1090-pdc.txt
@@ -0,0 +1,45 @@
1ImgTec TZ1090 PDC GPIO Controller
2
3Required properties:
4- compatible: Compatible property value should be "img,tz1090-pdc-gpio".
5
6- reg: Physical base address of the controller and length of memory mapped
7 region. This starts at and cover the SOC_GPIO_CONTROL registers.
8
9- gpio-controller: Specifies that the node is a gpio controller.
10
11- #gpio-cells: Should be 2. The syntax of the gpio specifier used by client
12 nodes should have the following values.
13 <[phandle of the gpio controller node]
14 [PDC gpio number]
15 [gpio flags]>
16
17 Values for gpio specifier:
18 - GPIO number: a value in the range 0 to 6.
19 - GPIO flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
20 Only the following flags are supported:
21 GPIO_ACTIVE_HIGH
22 GPIO_ACTIVE_LOW
23
24Optional properties:
25- gpio-ranges: Mapping to pin controller pins (as described in
26 Documentation/devicetree/bindings/gpio/gpio.txt)
27
28- interrupts: Individual syswake interrupts (other GPIOs cannot interrupt)
29
30
31Example:
32
33 pdc_gpios: gpio-controller@02006500 {
34 gpio-controller;
35 #gpio-cells = <2>;
36
37 compatible = "img,tz1090-pdc-gpio";
38 reg = <0x02006500 0x100>;
39
40 interrupt-parent = <&pdc>;
41 interrupts = <8 IRQ_TYPE_NONE>, /* Syswake 0 */
42 <9 IRQ_TYPE_NONE>, /* Syswake 1 */
43 <10 IRQ_TYPE_NONE>; /* Syswake 2 */
44 gpio-ranges = <&pdc_pinctrl 0 0 7>;
45 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-tz1090.txt b/Documentation/devicetree/bindings/gpio/gpio-tz1090.txt
new file mode 100644
index 000000000000..174cdf309170
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-tz1090.txt
@@ -0,0 +1,88 @@
1ImgTec TZ1090 GPIO Controller
2
3Required properties:
4- compatible: Compatible property value should be "img,tz1090-gpio".
5
6- reg: Physical base address of the controller and length of memory mapped
7 region.
8
9- #address-cells: Should be 1 (for bank subnodes)
10
11- #size-cells: Should be 0 (for bank subnodes)
12
13- Each bank of GPIOs should have a subnode to represent it.
14
15 Bank subnode required properties:
16 - reg: Index of bank in the range 0 to 2.
17
18 - gpio-controller: Specifies that the node is a gpio controller.
19
20 - #gpio-cells: Should be 2. The syntax of the gpio specifier used by client
21 nodes should have the following values.
22 <[phandle of the gpio controller node]
23 [gpio number within the gpio bank]
24 [gpio flags]>
25
26 Values for gpio specifier:
27 - GPIO number: a value in the range 0 to 29.
28 - GPIO flags: bit field of flags, as defined in <dt-bindings/gpio/gpio.h>.
29 Only the following flags are supported:
30 GPIO_ACTIVE_HIGH
31 GPIO_ACTIVE_LOW
32
33 Bank subnode optional properties:
34 - gpio-ranges: Mapping to pin controller pins (as described in
35 Documentation/devicetree/bindings/gpio/gpio.txt)
36
37 - interrupts: Interrupt for the entire bank
38
39 - interrupt-controller: Specifies that the node is an interrupt controller
40
41 - #interrupt-cells: Should be 2. The syntax of the interrupt specifier used by
42 client nodes should have the following values.
43 <[phandle of the interurupt controller]
44 [gpio number within the gpio bank]
45 [irq flags]>
46
47 Values for irq specifier:
48 - GPIO number: a value in the range 0 to 29
49 - IRQ flags: value to describe edge and level triggering, as defined in
50 <dt-bindings/interrupt-controller/irq.h>. Only the following flags are
51 supported:
52 IRQ_TYPE_EDGE_RISING
53 IRQ_TYPE_EDGE_FALLING
54 IRQ_TYPE_EDGE_BOTH
55 IRQ_TYPE_LEVEL_HIGH
56 IRQ_TYPE_LEVEL_LOW
57
58
59
60Example:
61
62 gpios: gpio-controller@02005800 {
63 #address-cells = <1>;
64 #size-cells = <0>;
65 compatible = "img,tz1090-gpio";
66 reg = <0x02005800 0x90>;
67
68 /* bank 0 with an interrupt */
69 gpios0: bank@0 {
70 #gpio-cells = <2>;
71 #interrupt-cells = <2>;
72 reg = <0>;
73 interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
74 gpio-controller;
75 gpio-ranges = <&pinctrl 0 0 30>;
76 interrupt-controller;
77 };
78
79 /* bank 2 without interrupt */
80 gpios2: bank@2 {
81 #gpio-cells = <2>;
82 reg = <2>;
83 gpio-controller;
84 gpio-ranges = <&pinctrl 0 60 30>;
85 };
86 };
87
88
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index d933af370697..6cec6ff20d2e 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -75,23 +75,36 @@ Example of two SOC GPIO banks defined as gpio-controller nodes:
75 gpio-controller; 75 gpio-controller;
76 }; 76 };
77 77
782.1) gpio-controller and pinctrl subsystem 782.1) gpio- and pin-controller interaction
79------------------------------------------ 79-----------------------------------------
80 80
81gpio-controller on a SOC might be tightly coupled with the pinctrl 81Some or all of the GPIOs provided by a GPIO controller may be routed to pins
82subsystem, in the sense that the pins can be used by other functions 82on the package via a pin controller. This allows muxing those pins between
83together with optional gpio feature. 83GPIO and other functions.
84 84
85While the pin allocation is totally managed by the pin ctrl subsystem, 85It is useful to represent which GPIOs correspond to which pins on which pin
86gpio (under gpiolib) is still maintained by gpio drivers. It may happen 86controllers. The gpio-ranges property described below represents this, and
87that different pin ranges in a SoC is managed by different gpio drivers. 87contains information structures as follows:
88 88
89This makes it logical to let gpio drivers announce their pin ranges to 89 gpio-range-list ::= <single-gpio-range> [gpio-range-list]
90the pin ctrl subsystem and call 'pinctrl_request_gpio' in order to 90 single-gpio-range ::=
91request the corresponding pin before any gpio usage. 91 <pinctrl-phandle> <gpio-base> <pinctrl-base> <count>
92 gpio-phandle : phandle to pin controller node.
93 gpio-base : Base GPIO ID in the GPIO controller
94 pinctrl-base : Base pinctrl pin ID in the pin controller
95 count : The number of GPIOs/pins in this range
92 96
93For this, the gpio controller can use a pinctrl phandle and pins to 97The "pin controller node" mentioned above must conform to the bindings
94announce the pinrange to the pin ctrl subsystem. For example, 98described in ../pinctrl/pinctrl-bindings.txt.
99
100Previous versions of this binding required all pin controller nodes that
101were referenced by any gpio-ranges property to contain a property named
102#gpio-range-cells with value <3>. This requirement is now deprecated.
103However, that property may still exist in older device trees for
104compatibility reasons, and would still be required even in new device
105trees that need to be compatible with older software.
106
107Example:
95 108
96 qe_pio_e: gpio-controller@1460 { 109 qe_pio_e: gpio-controller@1460 {
97 #gpio-cells = <2>; 110 #gpio-cells = <2>;
@@ -99,16 +112,8 @@ announce the pinrange to the pin ctrl subsystem. For example,
99 reg = <0x1460 0x18>; 112 reg = <0x1460 0x18>;
100 gpio-controller; 113 gpio-controller;
101 gpio-ranges = <&pinctrl1 0 20 10>, <&pinctrl2 10 50 20>; 114 gpio-ranges = <&pinctrl1 0 20 10>, <&pinctrl2 10 50 20>;
115 };
102 116
103 } 117Here, a single GPIO controller has GPIOs 0..9 routed to pin controller
104 118pinctrl1's pins 20..29, and GPIOs 10..19 routed to pin controller pinctrl2's
105where, 119pins 50..59.
106 &pinctrl1 and &pinctrl2 is the phandle to the pinctrl DT node.
107
108 Next values specify the base pin and number of pins for the range
109 handled by 'qe_pio_e' gpio. In the given example from base pin 20 to
110 pin 29 under pinctrl1 with gpio offset 0 and pin 50 to pin 69 under
111 pinctrl2 with gpio offset 10 is handled by this gpio controller.
112
113The pinctrl node must have "#gpio-range-cells" property to show number of
114arguments to pass with phandle from gpio controllers node.
diff --git a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
index 9b3f1d4a88d6..66416261e14d 100644
--- a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
@@ -10,8 +10,9 @@ Required properties:
10 There're three gpio interrupts in arch-pxa, and they're gpio0, 10 There're three gpio interrupts in arch-pxa, and they're gpio0,
11 gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp, 11 gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp,
12 gpio_mux. 12 gpio_mux.
13- interrupt-name : Should be the name of irq resource. Each interrupt 13- interrupt-names : Should be the names of irq resources. Each interrupt
14 binds its interrupt-name. 14 uses its own interrupt name, so there should be as many interrupt names
15 as referenced interrups.
15- interrupt-controller : Identifies the node as an interrupt controller. 16- interrupt-controller : Identifies the node as an interrupt controller.
16- #interrupt-cells: Specifies the number of cells needed to encode an 17- #interrupt-cells: Specifies the number of cells needed to encode an
17 interrupt source. 18 interrupt source.
@@ -24,7 +25,7 @@ Example:
24 compatible = "marvell,mmp-gpio"; 25 compatible = "marvell,mmp-gpio";
25 reg = <0xd4019000 0x1000>; 26 reg = <0xd4019000 0x1000>;
26 interrupts = <49>; 27 interrupts = <49>;
27 interrupt-name = "gpio_mux"; 28 interrupt-names = "gpio_mux";
28 gpio-controller; 29 gpio-controller;
29 #gpio-cells = <1>; 30 #gpio-cells = <1>;
30 interrupt-controller; 31 interrupt-controller;
diff --git a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
index cb3dc7bcd8e6..8655df9440d5 100644
--- a/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
+++ b/Documentation/devicetree/bindings/gpio/renesas,gpio-rcar.txt
@@ -23,6 +23,10 @@ Required Properties:
23Please refer to gpio.txt in this directory for details of gpio-ranges property 23Please refer to gpio.txt in this directory for details of gpio-ranges property
24and the common GPIO bindings used by client devices. 24and the common GPIO bindings used by client devices.
25 25
26The GPIO controller also acts as an interrupt controller. It uses the default
27two cells specifier as described in Documentation/devicetree/bindings/
28interrupt-controller/interrupts.txt.
29
26Example: R8A7779 (R-Car H1) GPIO controller nodes 30Example: R8A7779 (R-Car H1) GPIO controller nodes
27 31
28 gpio0: gpio@ffc40000 { 32 gpio0: gpio@ffc40000 {
@@ -33,6 +37,8 @@ Example: R8A7779 (R-Car H1) GPIO controller nodes
33 #gpio-cells = <2>; 37 #gpio-cells = <2>;
34 gpio-controller; 38 gpio-controller;
35 gpio-ranges = <&pfc 0 0 32>; 39 gpio-ranges = <&pfc 0 0 32>;
40 interrupt-controller;
41 #interrupt-cells = <2>;
36 }; 42 };
37 ... 43 ...
38 gpio6: gpio@ffc46000 { 44 gpio6: gpio@ffc46000 {
@@ -43,4 +49,6 @@ Example: R8A7779 (R-Car H1) GPIO controller nodes
43 #gpio-cells = <2>; 49 #gpio-cells = <2>;
44 gpio-controller; 50 gpio-controller;
45 gpio-ranges = <&pfc 0 192 9>; 51 gpio-ranges = <&pfc 0 192 9>;
52 interrupt-controller;
53 #interrupt-cells = <2>;
46 }; 54 };
diff --git a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt b/Documentation/devicetree/bindings/gpu/samsung-g2d.txt
index 3f454ffc654a..c4f358dafdaa 100644
--- a/Documentation/devicetree/bindings/gpu/samsung-g2d.txt
+++ b/Documentation/devicetree/bindings/gpu/samsung-g2d.txt
@@ -11,8 +11,11 @@ Required properties:
11 11
12 - interrupts : G2D interrupt number to the CPU. 12 - interrupts : G2D interrupt number to the CPU.
13 - clocks : from common clock binding: handle to G2D clocks. 13 - clocks : from common clock binding: handle to G2D clocks.
14 - clock-names : from common clock binding: must contain "sclk_fimg2d" and 14 - clock-names : names of clocks listed in clocks property, in the same
15 "fimg2d", corresponding to entries in the clocks property. 15 order, depending on SoC type:
16 - for S5PV210 and Exynos4 based SoCs: "fimg2d" and
17 "sclk_fimg2d"
18 - for Exynos5250 SoC: "fimg2d".
16 19
17Example: 20Example:
18 g2d@12800000 { 21 g2d@12800000 {
diff --git a/Documentation/devicetree/bindings/gpu/samsung-rotator.txt b/Documentation/devicetree/bindings/gpu/samsung-rotator.txt
new file mode 100644
index 000000000000..82cd1ed0be93
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpu/samsung-rotator.txt
@@ -0,0 +1,27 @@
1* Samsung Image Rotator
2
3Required properties:
4 - compatible : value should be one of the following:
5 (a) "samsung,exynos4210-rotator" for Rotator IP in Exynos4210
6 (b) "samsung,exynos4212-rotator" for Rotator IP in Exynos4212/4412
7 (c) "samsung,exynos5250-rotator" for Rotator IP in Exynos5250
8
9 - reg : Physical base address of the IP registers and length of memory
10 mapped region.
11
12 - interrupts : Interrupt specifier for rotator interrupt, according to format
13 specific to interrupt parent.
14
15 - clocks : Clock specifier for rotator clock, according to generic clock
16 bindings. (See Documentation/devicetree/bindings/clock/exynos*.txt)
17
18 - clock-names : Names of clocks. For exynos rotator, it should be "rotator".
19
20Example:
21 rotator@12810000 {
22 compatible = "samsung,exynos4210-rotator";
23 reg = <0x12810000 0x1000>;
24 interrupts = <0 83 0>;
25 clocks = <&clock 278>;
26 clock-names = "rotator";
27 };
diff --git a/Documentation/devicetree/bindings/hid/hid-over-i2c.txt b/Documentation/devicetree/bindings/hid/hid-over-i2c.txt
new file mode 100644
index 000000000000..488edcb264c4
--- /dev/null
+++ b/Documentation/devicetree/bindings/hid/hid-over-i2c.txt
@@ -0,0 +1,28 @@
1* HID over I2C Device-Tree bindings
2
3HID over I2C provides support for various Human Interface Devices over the
4I2C bus. These devices can be for example touchpads, keyboards, touch screens
5or sensors.
6
7The specification has been written by Microsoft and is currently available here:
8http://msdn.microsoft.com/en-us/library/windows/hardware/hh852380.aspx
9
10If this binding is used, the kernel module i2c-hid will handle the communication
11with the device and the generic hid core layer will handle the protocol.
12
13Required properties:
14- compatible: must be "hid-over-i2c"
15- reg: i2c slave address
16- hid-descr-addr: HID descriptor address
17- interrupt-parent: the phandle for the interrupt controller
18- interrupts: interrupt line
19
20Example:
21
22 i2c-hid-dev@2c {
23 compatible = "hid-over-i2c";
24 reg = <0x2c>;
25 hid-descr-addr = <0x0020>;
26 interrupt-parent = <&gpx3>;
27 interrupts = <3 2>;
28 };
diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx.txt b/Documentation/devicetree/bindings/i2c/i2c-imx.txt
index 3614242e7732..4a8513e44740 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx.txt
@@ -1,7 +1,10 @@
1* Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX 1* Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
2 2
3Required properties: 3Required properties:
4- compatible : Should be "fsl,<chip>-i2c" 4- compatible :
5 - "fsl,imx1-i2c" for I2C compatible with the one integrated on i.MX1 SoC
6 - "fsl,imx21-i2c" for I2C compatible with the one integrated on i.MX21 SoC
7 - "fsl,vf610-i2c" for I2C compatible with the one integrated on Vybrid vf610 SoC
5- reg : Should contain I2C/HS-I2C registers location and length 8- reg : Should contain I2C/HS-I2C registers location and length
6- interrupts : Should contain I2C/HS-I2C interrupt 9- interrupts : Should contain I2C/HS-I2C interrupt
7 10
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
index 6113f9275f42..82e8f6f17179 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-mv64xxx.txt
@@ -5,6 +5,7 @@ Required properties :
5 5
6 - reg : Offset and length of the register set for the device 6 - reg : Offset and length of the register set for the device
7 - compatible : Should be "marvell,mv64xxx-i2c" or "allwinner,sun4i-i2c" 7 - compatible : Should be "marvell,mv64xxx-i2c" or "allwinner,sun4i-i2c"
8 or "marvell,mv78230-i2c"
8 - interrupts : The interrupt number 9 - interrupts : The interrupt number
9 10
10Optional properties : 11Optional properties :
@@ -20,3 +21,12 @@ Examples:
20 interrupts = <29>; 21 interrupts = <29>;
21 clock-frequency = <100000>; 22 clock-frequency = <100000>;
22 }; 23 };
24
25For the Armada XP:
26
27 i2c@11000 {
28 compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c";
29 reg = <0x11000 0x100>;
30 interrupts = <29>;
31 clock-frequency = <100000>;
32 };
diff --git a/Documentation/devicetree/bindings/iio/accel/bma180.txt b/Documentation/devicetree/bindings/iio/accel/bma180.txt
new file mode 100644
index 000000000000..c5933573e0f6
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/accel/bma180.txt
@@ -0,0 +1,24 @@
1* Bosch BMA180 triaxial acceleration sensor
2
3http://omapworld.com/BMA180_111_1002839.pdf
4
5Required properties:
6
7 - compatible : should be "bosch,bma180"
8 - reg : the I2C address of the sensor
9
10Optional properties:
11
12 - interrupt-parent : should be the phandle for the interrupt controller
13
14 - interrupts : interrupt mapping for GPIO IRQ, it should by configured with
15 flags IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING
16
17Example:
18
19bma180@40 {
20 compatible = "bosch,bma180";
21 reg = <0x40>;
22 interrupt-parent = <&gpio6>;
23 interrupts = <18 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
24};
diff --git a/Documentation/devicetree/bindings/iio/adc/nuvoton-nau7802.txt b/Documentation/devicetree/bindings/iio/adc/nuvoton-nau7802.txt
new file mode 100644
index 000000000000..e9582e6fe350
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/nuvoton-nau7802.txt
@@ -0,0 +1,18 @@
1* Nuvoton NAU7802 Analog to Digital Converter (ADC)
2
3Required properties:
4 - compatible: Should be "nuvoton,nau7802"
5 - reg: Should contain the ADC I2C address
6
7Optional properties:
8 - nuvoton,vldo: Internal reference voltage in millivolts to be
9 configured valid values are between 2400 mV and 4500 mV.
10 - interrupts: IRQ line for the ADC. If not used the driver will use
11 polling.
12
13Example:
14adc2: nau7802@2a {
15 compatible = "nuvoton,nau7802";
16 reg = <0x2a>;
17 nuvoton,vldo = <3000>;
18};
diff --git a/Documentation/devicetree/bindings/iio/light/apds9300.txt b/Documentation/devicetree/bindings/iio/light/apds9300.txt
new file mode 100644
index 000000000000..d6f66c73ddbf
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/light/apds9300.txt
@@ -0,0 +1,22 @@
1* Avago APDS9300 ambient light sensor
2
3http://www.avagotech.com/docs/AV02-1077EN
4
5Required properties:
6
7 - compatible : should be "avago,apds9300"
8 - reg : the I2C address of the sensor
9
10Optional properties:
11
12 - interrupt-parent : should be the phandle for the interrupt controller
13 - interrupts : interrupt mapping for GPIO IRQ
14
15Example:
16
17apds9300@39 {
18 compatible = "avago,apds9300";
19 reg = <0x39>;
20 interrupt-parent = <&gpio2>;
21 interrupts = <29 8>;
22};
diff --git a/Documentation/devicetree/bindings/input/input-reset.txt b/Documentation/devicetree/bindings/input/input-reset.txt
new file mode 100644
index 000000000000..2bb2626fdb78
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/input-reset.txt
@@ -0,0 +1,33 @@
1Input: sysrq reset sequence
2
3A simple binding to represent a set of keys as described in
4include/uapi/linux/input.h. This is to communicate a sequence of keys to the
5sysrq driver. Upon holding the keys for a specified amount of time (if
6specified) the system is sync'ed and reset.
7
8Key sequences are global to the system but all the keys in a set must be coming
9from the same input device.
10
11The /chosen node should contain a 'linux,sysrq-reset-seq' child node to define
12a set of keys.
13
14Required property:
15sysrq-reset-seq: array of Linux keycodes, one keycode per cell.
16
17Optional property:
18timeout-ms: duration keys must be pressed together in milliseconds before
19generating a sysrq. If omitted the system is rebooted immediately when a valid
20sequence has been recognized.
21
22Example:
23
24 chosen {
25 linux,sysrq-reset-seq {
26 keyset = <0x03
27 0x04
28 0x0a>;
29 timeout-ms = <3000>;
30 };
31 };
32
33Would represent KEY_2, KEY_3 and KEY_9.
diff --git a/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt b/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt
index df70318a617f..49fa14ed155c 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt
@@ -6,7 +6,7 @@ Required properties:
6- interrupt-parent: the phandle for the interrupt controller 6- interrupt-parent: the phandle for the interrupt controller
7- interrupts: touch controller interrupt 7- interrupts: touch controller interrupt
8- wakeup-gpios: the gpio pin to be used for waking up the controller 8- wakeup-gpios: the gpio pin to be used for waking up the controller
9 as well as uased as irq pin 9 and also used as irq pin
10 10
11Example: 11Example:
12 12
diff --git a/Documentation/devicetree/bindings/media/i2c/adv7343.txt b/Documentation/devicetree/bindings/media/i2c/adv7343.txt
new file mode 100644
index 000000000000..5653bc2428b8
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/adv7343.txt
@@ -0,0 +1,48 @@
1* Analog Devices adv7343 video encoder
2
3The ADV7343 are high speed, digital-to-analog video encoders in a 64-lead LQFP
4package. Six high speed, 3.3 V, 11-bit video DACs provide support for composite
5(CVBS), S-Video (Y-C), and component (YPrPb/RGB) analog outputs in standard
6definition (SD), enhanced definition (ED), or high definition (HD) video
7formats.
8
9Required Properties :
10- compatible: Must be "adi,adv7343"
11
12Optional Properties :
13- adi,power-mode-sleep-mode: on enable the current consumption is reduced to
14 micro ampere level. All DACs and the internal PLL
15 circuit are disabled.
16- adi,power-mode-pll-ctrl: PLL and oversampling control. This control allows
17 internal PLL 1 circuit to be powered down and the
18 oversampling to be switched off.
19- ad,adv7343-power-mode-dac: array configuring the power on/off DAC's 1..6,
20 0 = OFF and 1 = ON, Default value when this
21 property is not specified is <0 0 0 0 0 0>.
22- ad,adv7343-sd-config-dac-out: array configure SD DAC Output's 1 and 2, 0 = OFF
23 and 1 = ON, Default value when this property is
24 not specified is <0 0>.
25
26Example:
27
28i2c0@1c22000 {
29 ...
30 ...
31
32 adv7343@2a {
33 compatible = "adi,adv7343";
34 reg = <0x2a>;
35
36 port {
37 adv7343_1: endpoint {
38 adi,power-mode-sleep-mode;
39 adi,power-mode-pll-ctrl;
40 /* Use DAC1..3, DAC6 */
41 adi,dac-enable = <1 1 1 0 0 1>;
42 /* Use SD DAC output 1 */
43 adi,sd-dac-enable = <1 0>;
44 };
45 };
46 };
47 ...
48};
diff --git a/Documentation/devicetree/bindings/media/i2c/ths8200.txt b/Documentation/devicetree/bindings/media/i2c/ths8200.txt
new file mode 100644
index 000000000000..285f6ae7dfa9
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ths8200.txt
@@ -0,0 +1,19 @@
1* Texas Instruments THS8200 video encoder
2
3The ths8200 device is a digital to analog converter used in DVD players, video
4recorders, set-top boxes.
5
6Required Properties :
7- compatible : value must be "ti,ths8200"
8
9Example:
10
11 i2c0@1c22000 {
12 ...
13 ...
14 ths8200@5c {
15 compatible = "ti,ths8200";
16 reg = <0x5c>;
17 };
18 ...
19 };
diff --git a/Documentation/devicetree/bindings/media/i2c/tvp7002.txt b/Documentation/devicetree/bindings/media/i2c/tvp7002.txt
new file mode 100644
index 000000000000..5f28b5d9abcc
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/tvp7002.txt
@@ -0,0 +1,53 @@
1* Texas Instruments TV7002 video decoder
2
3The TVP7002 device supports digitizing of video and graphics signal in RGB and
4YPbPr color space.
5
6Required Properties :
7- compatible : Must be "ti,tvp7002"
8
9Optional Properties:
10- hsync-active: HSYNC Polarity configuration for the bus. Default value when
11 this property is not specified is <0>.
12
13- vsync-active: VSYNC Polarity configuration for the bus. Default value when
14 this property is not specified is <0>.
15
16- pclk-sample: Clock polarity of the bus. Default value when this property is
17 not specified is <0>.
18
19- sync-on-green-active: Active state of Sync-on-green signal property of the
20 endpoint.
21 0 = Normal Operation (Active Low, Default)
22 1 = Inverted operation
23
24- field-even-active: Active-high Field ID output polarity control of the bus.
25 Under normal operation, the field ID output is set to logic 1 for an odd field
26 (field 1) and set to logic 0 for an even field (field 0).
27 0 = Normal Operation (Active Low, Default)
28 1 = FID output polarity inverted
29
30For further reading of port node refer Documentation/devicetree/bindings/media/
31video-interfaces.txt.
32
33Example:
34
35 i2c0@1c22000 {
36 ...
37 ...
38 tvp7002@5c {
39 compatible = "ti,tvp7002";
40 reg = <0x5c>;
41
42 port {
43 tvp7002_1: endpoint {
44 hsync-active = <1>;
45 vsync-active = <1>;
46 pclk-sample = <0>;
47 sync-on-green-active = <1>;
48 field-even-active = <0>;
49 };
50 };
51 };
52 ...
53 };
diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt
index df37b0230c75..f4181680831b 100644
--- a/Documentation/devicetree/bindings/media/s5p-mfc.txt
+++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt
@@ -10,14 +10,15 @@ Required properties:
10 - compatible : value should be either one among the following 10 - compatible : value should be either one among the following
11 (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs 11 (a) "samsung,mfc-v5" for MFC v5 present in Exynos4 SoCs
12 (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs 12 (b) "samsung,mfc-v6" for MFC v6 present in Exynos5 SoCs
13 (b) "samsung,mfc-v7" for MFC v7 present in Exynos5420 SoC
13 14
14 - reg : Physical base address of the IP registers and length of memory 15 - reg : Physical base address of the IP registers and length of memory
15 mapped region. 16 mapped region.
16 17
17 - interrupts : MFC interrupt number to the CPU. 18 - interrupts : MFC interrupt number to the CPU.
18 - clocks : from common clock binding: handle to mfc clocks. 19 - clocks : from common clock binding: handle to mfc clock.
19 - clock-names : from common clock binding: must contain "sclk_mfc" and "mfc", 20 - clock-names : from common clock binding: must contain "mfc",
20 corresponding to entries in the clocks property. 21 corresponding to entry in the clocks property.
21 22
22 - samsung,mfc-r : Base address of the first memory bank used by MFC 23 - samsung,mfc-r : Base address of the first memory bank used by MFC
23 for DMA contiguous memory allocation and its size. 24 for DMA contiguous memory allocation and its size.
@@ -37,8 +38,8 @@ mfc: codec@13400000 {
37 reg = <0x13400000 0x10000>; 38 reg = <0x13400000 0x10000>;
38 interrupts = <0 94 0>; 39 interrupts = <0 94 0>;
39 samsung,power-domain = <&pd_mfc>; 40 samsung,power-domain = <&pd_mfc>;
40 clocks = <&clock 170>, <&clock 273>; 41 clocks = <&clock 273>;
41 clock-names = "sclk_mfc", "mfc"; 42 clock-names = "mfc";
42}; 43};
43 44
44Board specific DT entry: 45Board specific DT entry:
diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
index e022d2dc4962..ce719f89dd1c 100644
--- a/Documentation/devicetree/bindings/media/video-interfaces.txt
+++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
@@ -88,6 +88,8 @@ Optional endpoint properties
88- field-even-active: field signal level during the even field data transmission. 88- field-even-active: field signal level during the even field data transmission.
89- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock 89- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
90 signal. 90 signal.
91- sync-on-green-active: active state of Sync-on-green (SoG) signal, 0/1 for
92 LOW/HIGH respectively.
91- data-lanes: an array of physical data lane indexes. Position of an entry 93- data-lanes: an array of physical data lane indexes. Position of an entry
92 determines the logical lane number, while the value of an entry indicates 94 determines the logical lane number, while the value of an entry indicates
93 physical lane, e.g. for 2-lane MIPI CSI-2 bus we could have 95 physical lane, e.g. for 2-lane MIPI CSI-2 bus we could have
diff --git a/Documentation/devicetree/bindings/memory.txt b/Documentation/devicetree/bindings/memory.txt
new file mode 100644
index 000000000000..eb2469365593
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory.txt
@@ -0,0 +1,168 @@
1*** Memory binding ***
2
3The /memory node provides basic information about the address and size
4of the physical memory. This node is usually filled or updated by the
5bootloader, depending on the actual memory configuration of the given
6hardware.
7
8The memory layout is described by the following node:
9
10/ {
11 #address-cells = <(n)>;
12 #size-cells = <(m)>;
13 memory {
14 device_type = "memory";
15 reg = <(baseaddr1) (size1)
16 (baseaddr2) (size2)
17 ...
18 (baseaddrN) (sizeN)>;
19 };
20 ...
21};
22
23A memory node follows the typical device tree rules for "reg" property:
24n: number of cells used to store base address value
25m: number of cells used to store size value
26baseaddrX: defines a base address of the defined memory bank
27sizeX: the size of the defined memory bank
28
29
30More than one memory bank can be defined.
31
32
33*** Reserved memory regions ***
34
35In /memory/reserved-memory node one can create child nodes describing
36particular reserved (excluded from normal use) memory regions. Such
37memory regions are usually designed for the special usage by various
38device drivers. A good example are contiguous memory allocations or
39memory sharing with other operating system on the same hardware board.
40Those special memory regions might depend on the board configuration and
41devices used on the target system.
42
43Parameters for each memory region can be encoded into the device tree
44with the following convention:
45
46[(label):] (name) {
47 compatible = "linux,contiguous-memory-region", "reserved-memory-region";
48 reg = <(address) (size)>;
49 (linux,default-contiguous-region);
50};
51
52compatible: one or more of:
53 - "linux,contiguous-memory-region" - enables binding of this
54 region to Contiguous Memory Allocator (special region for
55 contiguous memory allocations, shared with movable system
56 memory, Linux kernel-specific).
57 - "reserved-memory-region" - compatibility is defined, given
58 region is assigned for exclusive usage for by the respective
59 devices.
60
61reg: standard property defining the base address and size of
62 the memory region
63
64linux,default-contiguous-region: property indicating that the region
65 is the default region for all contiguous memory
66 allocations, Linux specific (optional)
67
68It is optional to specify the base address, so if one wants to use
69autoconfiguration of the base address, '0' can be specified as a base
70address in the 'reg' property.
71
72The /memory/reserved-memory node must contain the same #address-cells
73and #size-cells value as the root node.
74
75
76*** Device node's properties ***
77
78Once regions in the /memory/reserved-memory node have been defined, they
79may be referenced by other device nodes. Bindings that wish to reference
80memory regions should explicitly document their use of the following
81property:
82
83memory-region = <&phandle_to_defined_region>;
84
85This property indicates that the device driver should use the memory
86region pointed by the given phandle.
87
88
89*** Example ***
90
91This example defines a memory consisting of 4 memory banks. 3 contiguous
92regions are defined for Linux kernel, one default of all device drivers
93(named contig_mem, placed at 0x72000000, 64MiB), one dedicated to the
94framebuffer device (labelled display_mem, placed at 0x78000000, 8MiB)
95and one for multimedia processing (labelled multimedia_mem, placed at
960x77000000, 64MiB). 'display_mem' region is then assigned to fb@12300000
97device for DMA memory allocations (Linux kernel drivers will use CMA is
98available or dma-exclusive usage otherwise). 'multimedia_mem' is
99assigned to scaler@12500000 and codec@12600000 devices for contiguous
100memory allocations when CMA driver is enabled.
101
102The reason for creating a separate region for framebuffer device is to
103match the framebuffer base address to the one configured by bootloader,
104so once Linux kernel drivers starts no glitches on the displayed boot
105logo appears. Scaller and codec drivers should share the memory
106allocations.
107
108/ {
109 #address-cells = <1>;
110 #size-cells = <1>;
111
112 /* ... */
113
114 memory {
115 reg = <0x40000000 0x10000000
116 0x50000000 0x10000000
117 0x60000000 0x10000000
118 0x70000000 0x10000000>;
119
120 reserved-memory {
121 #address-cells = <1>;
122 #size-cells = <1>;
123
124 /*
125 * global autoconfigured region for contiguous allocations
126 * (used only with Contiguous Memory Allocator)
127 */
128 contig_region@0 {
129 compatible = "linux,contiguous-memory-region";
130 reg = <0x0 0x4000000>;
131 linux,default-contiguous-region;
132 };
133
134 /*
135 * special region for framebuffer
136 */
137 display_region: region@78000000 {
138 compatible = "linux,contiguous-memory-region", "reserved-memory-region";
139 reg = <0x78000000 0x800000>;
140 };
141
142 /*
143 * special region for multimedia processing devices
144 */
145 multimedia_region: region@77000000 {
146 compatible = "linux,contiguous-memory-region";
147 reg = <0x77000000 0x4000000>;
148 };
149 };
150 };
151
152 /* ... */
153
154 fb0: fb@12300000 {
155 status = "okay";
156 memory-region = <&display_region>;
157 };
158
159 scaler: scaler@12500000 {
160 status = "okay";
161 memory-region = <&multimedia_region>;
162 };
163
164 codec: codec@12600000 {
165 status = "okay";
166 memory-region = <&multimedia_region>;
167 };
168};
diff --git a/Documentation/devicetree/bindings/metag/pdc-intc.txt b/Documentation/devicetree/bindings/metag/pdc-intc.txt
new file mode 100644
index 000000000000..a69118550344
--- /dev/null
+++ b/Documentation/devicetree/bindings/metag/pdc-intc.txt
@@ -0,0 +1,105 @@
1* ImgTec Powerdown Controller (PDC) Interrupt Controller Binding
2
3This binding specifies what properties must be available in the device tree
4representation of a PDC IRQ controller. This has a number of input interrupt
5lines which can wake the system, and are passed on through output interrupt
6lines.
7
8Required properties:
9
10 - compatible: Specifies the compatibility list for the interrupt controller.
11 The type shall be <string> and the value shall include "img,pdc-intc".
12
13 - reg: Specifies the base PDC physical address(s) and size(s) of the
14 addressable register space. The type shall be <prop-encoded-array>.
15
16 - interrupt-controller: The presence of this property identifies the node
17 as an interrupt controller. No property value shall be defined.
18
19 - #interrupt-cells: Specifies the number of cells needed to encode an
20 interrupt source. The type shall be a <u32> and the value shall be 2.
21
22 - num-perips: Number of waking peripherals.
23
24 - num-syswakes: Number of SysWake inputs.
25
26 - interrupts: List of interrupt specifiers. The first specifier shall be the
27 shared SysWake interrupt, and remaining specifies shall be PDC peripheral
28 interrupts in order.
29
30* Interrupt Specifier Definition
31
32 Interrupt specifiers consists of 2 cells encoded as follows:
33
34 - <1st-cell>: The interrupt-number that identifies the interrupt source.
35 0-7: Peripheral interrupts
36 8-15: SysWake interrupts
37
38 - <2nd-cell>: The level-sense information, encoded using the Linux interrupt
39 flags as follows (only 4 valid for peripheral interrupts):
40 0 = none (decided by software)
41 1 = low-to-high edge triggered
42 2 = high-to-low edge triggered
43 3 = both edge triggered
44 4 = active-high level-sensitive (required for perip irqs)
45 8 = active-low level-sensitive
46
47* Examples
48
49Example 1:
50
51 /*
52 * TZ1090 PDC block
53 */
54 pdc: pdc@0x02006000 {
55 // This is an interrupt controller node.
56 interrupt-controller;
57
58 // Three cells to encode interrupt sources.
59 #interrupt-cells = <2>;
60
61 // Offset address of 0x02006000 and size of 0x1000.
62 reg = <0x02006000 0x1000>;
63
64 // Compatible with Meta hardware trigger block.
65 compatible = "img,pdc-intc";
66
67 // Three peripherals are connected.
68 num-perips = <3>;
69
70 // Four SysWakes are connected.
71 num-syswakes = <4>;
72
73 interrupts = <18 4 /* level */>, /* Syswakes */
74 <30 4 /* level */>, /* Peripheral 0 (RTC) */
75 <29 4 /* level */>, /* Peripheral 1 (IR) */
76 <31 4 /* level */>; /* Peripheral 2 (WDT) */
77 };
78
79Example 2:
80
81 /*
82 * An SoC peripheral that is wired through the PDC.
83 */
84 rtc0 {
85 // The interrupt controller that this device is wired to.
86 interrupt-parent = <&pdc>;
87
88 // Interrupt source Peripheral 0
89 interrupts = <0 /* Peripheral 0 (RTC) */
90 4> /* IRQ_TYPE_LEVEL_HIGH */
91 };
92
93Example 3:
94
95 /*
96 * An interrupt generating device that is wired to a SysWake pin.
97 */
98 touchscreen0 {
99 // The interrupt controller that this device is wired to.
100 interrupt-parent = <&pdc>;
101
102 // Interrupt source SysWake 0 that is active-low level-sensitive
103 interrupts = <8 /* SysWake0 */
104 8 /* IRQ_TYPE_LEVEL_LOW */>;
105 };
diff --git a/Documentation/devicetree/bindings/mfd/cros-ec.txt b/Documentation/devicetree/bindings/mfd/cros-ec.txt
index e0e59c58a1f9..5f229c5f6da9 100644
--- a/Documentation/devicetree/bindings/mfd/cros-ec.txt
+++ b/Documentation/devicetree/bindings/mfd/cros-ec.txt
@@ -4,7 +4,7 @@ Google's ChromeOS EC is a Cortex-M device which talks to the AP and
4implements various function such as keyboard and battery charging. 4implements various function such as keyboard and battery charging.
5 5
6The EC can be connect through various means (I2C, SPI, LPC) and the 6The EC can be connect through various means (I2C, SPI, LPC) and the
7compatible string used depends on the inteface. Each connection method has 7compatible string used depends on the interface. Each connection method has
8its own driver which connects to the top level interface-agnostic EC driver. 8its own driver which connects to the top level interface-agnostic EC driver.
9Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to 9Other Linux driver (such as cros-ec-keyb for the matrix keyboard) connect to
10the top-level driver. 10the top-level driver.
diff --git a/Documentation/devicetree/bindings/mfd/palmas.txt b/Documentation/devicetree/bindings/mfd/palmas.txt
index 892537d1a48f..e5f0f8303461 100644
--- a/Documentation/devicetree/bindings/mfd/palmas.txt
+++ b/Documentation/devicetree/bindings/mfd/palmas.txt
@@ -5,6 +5,7 @@ twl6035 (palmas)
5twl6037 (palmas) 5twl6037 (palmas)
6tps65913 (palmas) 6tps65913 (palmas)
7tps65914 (palmas) 7tps65914 (palmas)
8tps659038
8 9
9Required properties: 10Required properties:
10- compatible : Should be from the list 11- compatible : Should be from the list
@@ -14,6 +15,7 @@ Required properties:
14 ti,tps65913 15 ti,tps65913
15 ti,tps65914 16 ti,tps65914
16 ti,tps80036 17 ti,tps80036
18 ti,tps659038
17and also the generic series names 19and also the generic series names
18 ti,palmas 20 ti,palmas
19- interrupt-controller : palmas has its own internal IRQs 21- interrupt-controller : palmas has its own internal IRQs
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt
new file mode 100644
index 000000000000..c9332c626021
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt
@@ -0,0 +1,109 @@
1
2* Samsung S2MPS11 Voltage and Current Regulator
3
4The Samsung S2MP211 is a multi-function device which includes voltage and
5current regulators, RTC, charger controller and other sub-blocks. It is
6interfaced to the host controller using a I2C interface. Each sub-block is
7addressed by the host system using different I2C slave address.
8
9Required properties:
10- compatible: Should be "samsung,s2mps11-pmic".
11- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
12
13Optional properties:
14- interrupt-parent: Specifies the phandle of the interrupt controller to which
15 the interrupts from s2mps11 are delivered to.
16- interrupts: Interrupt specifiers for interrupt sources.
17
18Optional nodes:
19- clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to
20 register these as clocks with common clock framework instantiate a sub-node
21 named "clocks". It uses the common clock binding documented in :
22 [Documentation/devicetree/bindings/clock/clock-bindings.txt]
23 - #clock-cells: should be 1.
24
25 - The following is the list of clocks generated by the controller. Each clock
26 is assigned an identifier and client nodes use this identifier to specify
27 the clock which they consume.
28 Clock ID
29 ----------------------
30 32KhzAP 0
31 32KhzCP 1
32 32KhzBT 2
33
34- regulators: The regulators of s2mps11 that have to be instantiated should be
35included in a sub-node named 'regulators'. Regulator nodes included in this
36sub-node should be of the format as listed below.
37
38 regulator_name {
39 [standard regulator constraints....];
40 };
41
42 regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
43
44 BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly
45 regulator-ramp-delay = <0> can be used for them to disable ramp delay.
46 In absence of regulator-ramp-delay property, default ramp delay will be used.
47
48NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
49for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
50Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
51BUCK[3, 4], and BUCK[7, 8, 10]
52
53The regulator constraints inside the regulator nodes use the standard regulator
54bindings which are documented elsewhere.
55
56The following are the names of the regulators that the s2mps11 pmic block
57supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
58as per the datasheet of s2mps11.
59
60 - LDOn
61 - valid values for n are 1 to 28
62 - Example: LDO0, LD01, LDO28
63 - BUCKn
64 - valid values for n are 1 to 9.
65 - Example: BUCK1, BUCK2, BUCK9
66
67Example:
68
69 s2mps11_pmic@66 {
70 compatible = "samsung,s2mps11-pmic";
71 reg = <0x66>;
72
73 s2m_osc: clocks{
74 #clock-cells = 1;
75 clock-output-names = "xx", "yy", "zz";
76 };
77
78 regulators {
79 ldo1_reg: LDO1 {
80 regulator-name = "VDD_ABB_3.3V";
81 regulator-min-microvolt = <3300000>;
82 regulator-max-microvolt = <3300000>;
83 };
84
85 ldo2_reg: LDO2 {
86 regulator-name = "VDD_ALIVE_1.1V";
87 regulator-min-microvolt = <1100000>;
88 regulator-max-microvolt = <1100000>;
89 regulator-always-on;
90 };
91
92 buck1_reg: BUCK1 {
93 regulator-name = "vdd_mif";
94 regulator-min-microvolt = <950000>;
95 regulator-max-microvolt = <1350000>;
96 regulator-always-on;
97 regulator-boot-on;
98 };
99
100 buck2_reg: BUCK2 {
101 regulator-name = "vdd_arm";
102 regulator-min-microvolt = <950000>;
103 regulator-max-microvolt = <1350000>;
104 regulator-always-on;
105 regulator-boot-on;
106 regulator-ramp-delay = <50000>;
107 };
108 };
109 };
diff --git a/Documentation/devicetree/bindings/misc/smc.txt b/Documentation/devicetree/bindings/misc/smc.txt
index 02b428136177..6c9f176f3571 100644
--- a/Documentation/devicetree/bindings/misc/smc.txt
+++ b/Documentation/devicetree/bindings/misc/smc.txt
@@ -4,11 +4,12 @@ This binding defines the location of the bounce buffer
4used for non-secure to secure communications. 4used for non-secure to secure communications.
5 5
6Required properties: 6Required properties:
7- compatible : "bcm,kona-smc" 7- compatible : "brcm,kona-smc"
8- DEPRECATED: compatible : "bcm,kona-smc"
8- reg : Location and size of bounce buffer 9- reg : Location and size of bounce buffer
9 10
10Example: 11Example:
11 smc@0x3404c000 { 12 smc@0x3404c000 {
12 compatible = "bcm,bcm11351-smc", "bcm,kona-smc"; 13 compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
13 reg = <0x3404c000 0x400>; //1 KiB in SRAM 14 reg = <0x3404c000 0x400>; //1 KiB in SRAM
14 }; 15 };
diff --git a/Documentation/devicetree/bindings/mmc/fsl-esdhc.txt b/Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
index bd9be0b5bc20..b7943f3f9995 100644
--- a/Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
+++ b/Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
@@ -19,6 +19,9 @@ Optional properties:
19 "bus-width = <1>" property. 19 "bus-width = <1>" property.
20 - sdhci,auto-cmd12: specifies that a controller can only handle auto 20 - sdhci,auto-cmd12: specifies that a controller can only handle auto
21 CMD12. 21 CMD12.
22 - voltage-ranges : two cells are required, first cell specifies minimum
23 slot voltage (mV), second cell specifies maximum slot voltage (mV).
24 Several ranges could be specified.
22 25
23Example: 26Example:
24 27
@@ -29,4 +32,5 @@ sdhci@2e000 {
29 interrupt-parent = <&ipic>; 32 interrupt-parent = <&ipic>;
30 /* Filled in by U-Boot */ 33 /* Filled in by U-Boot */
31 clock-frequency = <0>; 34 clock-frequency = <0>;
35 voltage-ranges = <3300 3300>;
32}; 36};
diff --git a/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt b/Documentation/devicetree/bindings/mmc/kona-sdhci.txt
index 094ae010f2fb..789fb07a426d 100644
--- a/Documentation/devicetree/bindings/mmc/bcm,kona-sdhci.txt
+++ b/Documentation/devicetree/bindings/mmc/kona-sdhci.txt
@@ -4,12 +4,13 @@ This file documents differences between the core properties in mmc.txt
4and the properties present in the bcm281xx SDHCI 4and the properties present in the bcm281xx SDHCI
5 5
6Required properties: 6Required properties:
7- compatible : Should be "bcm,kona-sdhci" 7- compatible : Should be "brcm,kona-sdhci"
8- DEPRECATED: compatible : Should be "bcm,kona-sdhci"
8 9
9Example: 10Example:
10 11
11sdio2: sdio@0x3f1a0000 { 12sdio2: sdio@0x3f1a0000 {
12 compatible = "bcm,kona-sdhci"; 13 compatible = "brcm,kona-sdhci";
13 reg = <0x3f1a0000 0x10000>; 14 reg = <0x3f1a0000 0x10000>;
14 interrupts = <0x0 74 0x4>; 15 interrupts = <0x0 74 0x4>;
15}; 16};
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
index d555421ea49f..c4728839d0c1 100644
--- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
@@ -15,6 +15,7 @@ Required properties:
15 optional gpio and may be set to 0 if not present. 15 optional gpio and may be set to 0 if not present.
16 16
17Optional properties: 17Optional properties:
18- atmel,nand-has-dma : boolean to support dma transfer for nand read/write.
18- nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default. 19- nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default.
19 Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first", 20 Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first",
20 "soft_bch". 21 "soft_bch".
@@ -29,6 +30,14 @@ Optional properties:
29 sector size 1024. 30 sector size 1024.
30- nand-bus-width : 8 or 16 bus width if not present 8 31- nand-bus-width : 8 or 16 bus width if not present 8
31- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false 32- 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
34 - Required properties:
35 - compatible : "atmel,sama5d3-nfc".
36 - reg : should specify the address and size used for NFC command registers,
37 NFC registers and NFC Sram. NFC Sram address and size can be absent
38 if don't want to use it.
39 - Optional properties:
40 - atmel,write-by-sram: boolean to enable NFC write by sram.
32 41
33Examples: 42Examples:
34nand0: nand@40000000,0 { 43nand0: nand@40000000,0 {
@@ -77,3 +86,22 @@ nand0: nand@40000000 {
77 ... 86 ...
78 }; 87 };
79}; 88};
89
90/* for NFC supported chips */
91nand0: nand@40000000 {
92 compatible = "atmel,at91rm9200-nand";
93 #address-cells = <1>;
94 #size-cells = <1>;
95 ranges;
96 ...
97 nfc@70000000 {
98 compatible = "atmel,sama5d3-nfc";
99 #address-cells = <1>;
100 #size-cells = <1>;
101 reg = <
102 0x70000000 0x10000000 /* NFC Command Registers */
103 0xffffc000 0x00000070 /* NFC HSMC regs */
104 0x00200000 0x00100000 /* NFC SRAM banks */
105 >;
106 };
107};
diff --git a/Documentation/devicetree/bindings/mtd/fsmc-nand.txt b/Documentation/devicetree/bindings/mtd/fsmc-nand.txt
index 2240ac09f6ba..ec42935f3908 100644
--- a/Documentation/devicetree/bindings/mtd/fsmc-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/fsmc-nand.txt
@@ -1,4 +1,5 @@
1* FSMC NAND 1ST Microelectronics Flexible Static Memory Controller (FSMC)
2NAND Interface
2 3
3Required properties: 4Required properties:
4- compatible : "st,spear600-fsmc-nand", "stericsson,fsmc-nand" 5- compatible : "st,spear600-fsmc-nand", "stericsson,fsmc-nand"
@@ -9,6 +10,26 @@ Optional properties:
9- bank-width : Width (in bytes) of the device. If not present, the width 10- bank-width : Width (in bytes) of the device. If not present, the width
10 defaults to 1 byte 11 defaults to 1 byte
11- nand-skip-bbtscan: Indicates the the BBT scanning should be skipped 12- nand-skip-bbtscan: Indicates the the BBT scanning should be skipped
13- timings: array of 6 bytes for NAND timings. The meanings of these bytes
14 are:
15 byte 0 TCLR : CLE to RE delay in number of AHB clock cycles, only 4 bits
16 are valid. Zero means one clockcycle, 15 means 16 clock
17 cycles.
18 byte 1 TAR : ALE to RE delay, 4 bits are valid. Same format as TCLR.
19 byte 2 THIZ : number of HCLK clock cycles during which the data bus is
20 kept in Hi-Z (tristate) after the start of a write access.
21 Only valid for write transactions. Zero means zero cycles,
22 255 means 255 cycles.
23 byte 3 THOLD : number of HCLK clock cycles to hold the address (and data
24 when writing) after the command deassertation. Zero means
25 one cycle, 255 means 256 cycles.
26 byte 4 TWAIT : number of HCLK clock cycles to assert the command to the
27 NAND flash in response to SMWAITn. Zero means 1 cycle,
28 255 means 256 cycles.
29 byte 5 TSET : number of HCLK clock cycles to assert the address before the
30 command is asserted. Zero means one cycle, 255 means 256
31 cycles.
32- bank: default NAND bank to use (0-3 are valid, 0 is the default).
12 33
13Example: 34Example:
14 35
@@ -24,6 +45,8 @@ Example:
24 45
25 bank-width = <1>; 46 bank-width = <1>;
26 nand-skip-bbtscan; 47 nand-skip-bbtscan;
48 timings = /bits/ 8 <0 0 0 2 3 0>;
49 bank = <1>;
27 50
28 partition@0 { 51 partition@0 {
29 ... 52 ...
diff --git a/Documentation/devicetree/bindings/mtd/partition.txt b/Documentation/devicetree/bindings/mtd/partition.txt
index 9315ac96b49b..8e5557da1955 100644
--- a/Documentation/devicetree/bindings/mtd/partition.txt
+++ b/Documentation/devicetree/bindings/mtd/partition.txt
@@ -4,6 +4,7 @@ Partitions can be represented by sub-nodes of an mtd device. This can be used
4on platforms which have strong conventions about which portions of a flash are 4on platforms which have strong conventions about which portions of a flash are
5used for what purposes, but which don't use an on-flash partition table such 5used for what purposes, but which don't use an on-flash partition table such
6as RedBoot. 6as RedBoot.
7NOTE: if the sub-node has a compatible string, then it is not a partition.
7 8
8#address-cells & #size-cells must both be present in the mtd device. There are 9#address-cells & #size-cells must both be present in the mtd device. There are
9two valid values for both: 10two valid values for both:
diff --git a/Documentation/devicetree/bindings/net/can/atmel-can.txt b/Documentation/devicetree/bindings/net/can/atmel-can.txt
index 72cf0c5daff4..14e52a0d86ec 100644
--- a/Documentation/devicetree/bindings/net/can/atmel-can.txt
+++ b/Documentation/devicetree/bindings/net/can/atmel-can.txt
@@ -8,7 +8,7 @@ Required properties:
8Example: 8Example:
9 9
10 can0: can@f000c000 { 10 can0: can@f000c000 {
11 compatbile = "atmel,at91sam9x5-can"; 11 compatible = "atmel,at91sam9x5-can";
12 reg = <0xf000c000 0x300>; 12 reg = <0xf000c000 0x300>;
13 interrupts = <40 4 5> 13 interrupts = <40 4 5>
14 }; 14 };
diff --git a/Documentation/devicetree/bindings/net/can/sja1000.txt b/Documentation/devicetree/bindings/net/can/sja1000.txt
index c2dbcec0ee31..f2105a47ec87 100644
--- a/Documentation/devicetree/bindings/net/can/sja1000.txt
+++ b/Documentation/devicetree/bindings/net/can/sja1000.txt
@@ -37,7 +37,7 @@ Optional properties:
37 If not specified or if the specified value is 0, the CLKOUT pin 37 If not specified or if the specified value is 0, the CLKOUT pin
38 will be disabled. 38 will be disabled.
39 39
40- nxp,no-comparator-bypass : Allows to disable the CAN input comperator. 40- nxp,no-comparator-bypass : Allows to disable the CAN input comparator.
41 41
42For further information, please have a look to the SJA1000 data sheet. 42For further information, please have a look to the SJA1000 data sheet.
43 43
diff --git a/Documentation/devicetree/bindings/net/micrel-ksz9021.txt b/Documentation/devicetree/bindings/net/micrel-ksz9021.txt
new file mode 100644
index 000000000000..997a63f1aea1
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/micrel-ksz9021.txt
@@ -0,0 +1,49 @@
1Micrel KSZ9021 Gigabit Ethernet PHY
2
3Some boards require special tuning values, particularly when it comes to
4clock delays. You can specify clock delay values by adding
5micrel-specific properties to an Ethernet OF device node.
6
7All skew control options are specified in picoseconds. The minimum
8value is 0, and the maximum value is 3000.
9
10Optional properties:
11 - rxc-skew-ps : Skew control of RXC pad
12 - rxdv-skew-ps : Skew control of RX CTL pad
13 - txc-skew-ps : Skew control of TXC pad
14 - txen-skew-ps : Skew control of TX_CTL pad
15 - rxd0-skew-ps : Skew control of RX data 0 pad
16 - rxd1-skew-ps : Skew control of RX data 1 pad
17 - rxd2-skew-ps : Skew control of RX data 2 pad
18 - rxd3-skew-ps : Skew control of RX data 3 pad
19 - txd0-skew-ps : Skew control of TX data 0 pad
20 - txd1-skew-ps : Skew control of TX data 1 pad
21 - txd2-skew-ps : Skew control of TX data 2 pad
22 - txd3-skew-ps : Skew control of TX data 3 pad
23
24Examples:
25
26 /* Attach to an Ethernet device with autodetected PHY */
27 &enet {
28 rxc-skew-ps = <3000>;
29 rxdv-skew-ps = <0>;
30 txc-skew-ps = <3000>;
31 txen-skew-ps = <0>;
32 status = "okay";
33 };
34
35 /* Attach to an explicitly-specified PHY */
36 mdio {
37 phy0: ethernet-phy@0 {
38 rxc-skew-ps = <3000>;
39 rxdv-skew-ps = <0>;
40 txc-skew-ps = <3000>;
41 txen-skew-ps = <0>;
42 reg = <0>;
43 };
44 };
45 ethernet@70000 {
46 status = "okay";
47 phy = <&phy0>;
48 phy-mode = "rgmii-id";
49 };
diff --git a/Documentation/devicetree/bindings/net/moxa,moxart-mac.txt b/Documentation/devicetree/bindings/net/moxa,moxart-mac.txt
new file mode 100644
index 000000000000..583418b2c127
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/moxa,moxart-mac.txt
@@ -0,0 +1,21 @@
1MOXA ART Ethernet Controller
2
3Required properties:
4
5- compatible : Must be "moxa,moxart-mac"
6- reg : Should contain register location and length
7- interrupts : Should contain the mac interrupt number
8
9Example:
10
11 mac0: mac@90900000 {
12 compatible = "moxa,moxart-mac";
13 reg = <0x90900000 0x100>;
14 interrupts = <25 0>;
15 };
16
17 mac1: mac@92000000 {
18 compatible = "moxa,moxart-mac";
19 reg = <0x92000000 0x100>;
20 interrupts = <27 0>;
21 };
diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
index 261c563b5f06..eba0e5e59ebe 100644
--- a/Documentation/devicetree/bindings/net/stmmac.txt
+++ b/Documentation/devicetree/bindings/net/stmmac.txt
@@ -22,6 +22,11 @@ Required properties:
22- snps,pbl Programmable Burst Length 22- snps,pbl Programmable Burst Length
23- snps,fixed-burst Program the DMA to use the fixed burst mode 23- snps,fixed-burst Program the DMA to use the fixed burst mode
24- snps,mixed-burst Program the DMA to use the mixed burst mode 24- snps,mixed-burst Program the DMA to use the mixed burst mode
25- snps,force_thresh_dma_mode Force DMA to use the threshold mode for
26 both tx and rx
27- snps,force_sf_dma_mode Force DMA to use the Store and Forward
28 mode for both tx and rx. This flag is
29 ignored if force_thresh_dma_mode is set.
25 30
26Optional properties: 31Optional properties:
27- mac-address: 6 bytes, mac address 32- mac-address: 6 bytes, mac address
diff --git a/Documentation/devicetree/bindings/pci/designware-pcie.txt b/Documentation/devicetree/bindings/pci/designware-pcie.txt
index e2371f5cdebe..eabcb4b5db6e 100644
--- a/Documentation/devicetree/bindings/pci/designware-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/designware-pcie.txt
@@ -18,6 +18,7 @@ Required properties:
18- interrupt-map-mask and interrupt-map: standard PCI properties 18- interrupt-map-mask and interrupt-map: standard PCI properties
19 to define the mapping of the PCIe interface to interrupt 19 to define the mapping of the PCIe interface to interrupt
20 numbers. 20 numbers.
21- num-lanes: number of lanes to use
21- reset-gpio: gpio pin number of power good signal 22- reset-gpio: gpio pin number of power good signal
22 23
23Example: 24Example:
@@ -41,6 +42,7 @@ SoC specific DT Entry:
41 #interrupt-cells = <1>; 42 #interrupt-cells = <1>;
42 interrupt-map-mask = <0 0 0 0>; 43 interrupt-map-mask = <0 0 0 0>;
43 interrupt-map = <0x0 0 &gic 53>; 44 interrupt-map = <0x0 0 &gic 53>;
45 num-lanes = <4>;
44 }; 46 };
45 47
46 pcie@2a0000 { 48 pcie@2a0000 {
@@ -60,6 +62,7 @@ SoC specific DT Entry:
60 #interrupt-cells = <1>; 62 #interrupt-cells = <1>;
61 interrupt-map-mask = <0 0 0 0>; 63 interrupt-map-mask = <0 0 0 0>;
62 interrupt-map = <0x0 0 &gic 56>; 64 interrupt-map = <0x0 0 &gic 56>;
65 num-lanes = <4>;
63 }; 66 };
64 67
65Board specific DT Entry: 68Board specific DT Entry:
diff --git a/Documentation/devicetree/bindings/pci/mvebu-pci.txt b/Documentation/devicetree/bindings/pci/mvebu-pci.txt
index f8d405897a94..9556e2fedf6d 100644
--- a/Documentation/devicetree/bindings/pci/mvebu-pci.txt
+++ b/Documentation/devicetree/bindings/pci/mvebu-pci.txt
@@ -1,6 +1,7 @@
1* Marvell EBU PCIe interfaces 1* Marvell EBU PCIe interfaces
2 2
3Mandatory properties: 3Mandatory properties:
4
4- compatible: one of the following values: 5- compatible: one of the following values:
5 marvell,armada-370-pcie 6 marvell,armada-370-pcie
6 marvell,armada-xp-pcie 7 marvell,armada-xp-pcie
@@ -10,11 +11,49 @@ Mandatory properties:
10- #interrupt-cells, set to <1> 11- #interrupt-cells, set to <1>
11- bus-range: PCI bus numbers covered 12- bus-range: PCI bus numbers covered
12- device_type, set to "pci" 13- device_type, set to "pci"
13- ranges: ranges for the PCI memory and I/O regions, as well as the 14- ranges: ranges describing the MMIO registers to control the PCIe
14 MMIO registers to control the PCIe interfaces. 15 interfaces, and ranges describing the MBus windows needed to access
16 the memory and I/O regions of each PCIe interface.
17
18The ranges describing the MMIO registers have the following layout:
19
20 0x82000000 0 r MBUS_ID(0xf0, 0x01) r 0 s
21
22where:
23
24 * r is a 32-bits value that gives the offset of the MMIO
25 registers of this PCIe interface, from the base of the internal
26 registers.
27
28 * s is a 32-bits value that give the size of this MMIO
29 registers area. This range entry translates the '0x82000000 0 r' PCI
30 address into the 'MBUS_ID(0xf0, 0x01) r' CPU address, which is part
31 of the internal register window (as identified by MBUS_ID(0xf0,
32 0x01)).
33
34The ranges describing the MBus windows have the following layout:
35
36 0x8t000000 s 0 MBUS_ID(w, a) 0 1 0
37
38where:
39
40 * t is the type of the MBus window (as defined by the standard PCI DT
41 bindings), 1 for I/O and 2 for memory.
15 42
16In addition, the Device Tree node must have sub-nodes describing each 43 * s is the PCI slot that corresponds to this PCIe interface
44
45 * w is the 'target ID' value for the MBus window
46
47 * a the 'attribute' value for the MBus window.
48
49Since the location and size of the different MBus windows is not fixed in
50hardware, and only determined in runtime, those ranges cover the full first
514 GB of the physical address space, and do not translate into a valid CPU
52address.
53
54In addition, the device tree node must have sub-nodes describing each
17PCIe interface, having the following mandatory properties: 55PCIe interface, having the following mandatory properties:
56
18- reg: used only for interrupt mapping, so only the first four bytes 57- reg: used only for interrupt mapping, so only the first four bytes
19 are used to refer to the correct bus number and device number. 58 are used to refer to the correct bus number and device number.
20- assigned-addresses: reference to the MMIO registers used to control 59- assigned-addresses: reference to the MMIO registers used to control
@@ -26,7 +65,8 @@ PCIe interface, having the following mandatory properties:
26- #address-cells, set to <3> 65- #address-cells, set to <3>
27- #size-cells, set to <2> 66- #size-cells, set to <2>
28- #interrupt-cells, set to <1> 67- #interrupt-cells, set to <1>
29- ranges, empty property. 68- ranges, translating the MBus windows ranges of the parent node into
69 standard PCI addresses.
30- interrupt-map-mask and interrupt-map, standard PCI properties to 70- interrupt-map-mask and interrupt-map, standard PCI properties to
31 define the mapping of the PCIe interface to interrupt numbers. 71 define the mapping of the PCIe interface to interrupt numbers.
32 72
@@ -47,27 +87,50 @@ pcie-controller {
47 87
48 bus-range = <0x00 0xff>; 88 bus-range = <0x00 0xff>;
49 89
50 ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */ 90 ranges =
51 0x82000000 0 0xd0042000 0xd0042000 0 0x00002000 /* Port 2.0 registers */ 91 <0x82000000 0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x00002000 /* Port 0.0 registers */
52 0x82000000 0 0xd0044000 0xd0044000 0 0x00002000 /* Port 0.1 registers */ 92 0x82000000 0 0x42000 MBUS_ID(0xf0, 0x01) 0x42000 0 0x00002000 /* Port 2.0 registers */
53 0x82000000 0 0xd0048000 0xd0048000 0 0x00002000 /* Port 0.2 registers */ 93 0x82000000 0 0x44000 MBUS_ID(0xf0, 0x01) 0x44000 0 0x00002000 /* Port 0.1 registers */
54 0x82000000 0 0xd004c000 0xd004c000 0 0x00002000 /* Port 0.3 registers */ 94 0x82000000 0 0x48000 MBUS_ID(0xf0, 0x01) 0x48000 0 0x00002000 /* Port 0.2 registers */
55 0x82000000 0 0xd0080000 0xd0080000 0 0x00002000 /* Port 1.0 registers */ 95 0x82000000 0 0x4c000 MBUS_ID(0xf0, 0x01) 0x4c000 0 0x00002000 /* Port 0.3 registers */
56 0x82000000 0 0xd0082000 0xd0082000 0 0x00002000 /* Port 3.0 registers */ 96 0x82000000 0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x00002000 /* Port 1.0 registers */
57 0x82000000 0 0xd0084000 0xd0084000 0 0x00002000 /* Port 1.1 registers */ 97 0x82000000 0 0x82000 MBUS_ID(0xf0, 0x01) 0x82000 0 0x00002000 /* Port 3.0 registers */
58 0x82000000 0 0xd0088000 0xd0088000 0 0x00002000 /* Port 1.2 registers */ 98 0x82000000 0 0x84000 MBUS_ID(0xf0, 0x01) 0x84000 0 0x00002000 /* Port 1.1 registers */
59 0x82000000 0 0xd008c000 0xd008c000 0 0x00002000 /* Port 1.3 registers */ 99 0x82000000 0 0x88000 MBUS_ID(0xf0, 0x01) 0x88000 0 0x00002000 /* Port 1.2 registers */
60 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */ 100 0x82000000 0 0x8c000 MBUS_ID(0xf0, 0x01) 0x8c000 0 0x00002000 /* Port 1.3 registers */
61 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */ 101 0x82000000 0x1 0 MBUS_ID(0x04, 0xe8) 0 1 0 /* Port 0.0 MEM */
102 0x81000000 0x1 0 MBUS_ID(0x04, 0xe0) 0 1 0 /* Port 0.0 IO */
103 0x82000000 0x2 0 MBUS_ID(0x04, 0xd8) 0 1 0 /* Port 0.1 MEM */
104 0x81000000 0x2 0 MBUS_ID(0x04, 0xd0) 0 1 0 /* Port 0.1 IO */
105 0x82000000 0x3 0 MBUS_ID(0x04, 0xb8) 0 1 0 /* Port 0.2 MEM */
106 0x81000000 0x3 0 MBUS_ID(0x04, 0xb0) 0 1 0 /* Port 0.2 IO */
107 0x82000000 0x4 0 MBUS_ID(0x04, 0x78) 0 1 0 /* Port 0.3 MEM */
108 0x81000000 0x4 0 MBUS_ID(0x04, 0x70) 0 1 0 /* Port 0.3 IO */
109
110 0x82000000 0x5 0 MBUS_ID(0x08, 0xe8) 0 1 0 /* Port 1.0 MEM */
111 0x81000000 0x5 0 MBUS_ID(0x08, 0xe0) 0 1 0 /* Port 1.0 IO */
112 0x82000000 0x6 0 MBUS_ID(0x08, 0xd8) 0 1 0 /* Port 1.1 MEM */
113 0x81000000 0x6 0 MBUS_ID(0x08, 0xd0) 0 1 0 /* Port 1.1 IO */
114 0x82000000 0x7 0 MBUS_ID(0x08, 0xb8) 0 1 0 /* Port 1.2 MEM */
115 0x81000000 0x7 0 MBUS_ID(0x08, 0xb0) 0 1 0 /* Port 1.2 IO */
116 0x82000000 0x8 0 MBUS_ID(0x08, 0x78) 0 1 0 /* Port 1.3 MEM */
117 0x81000000 0x8 0 MBUS_ID(0x08, 0x70) 0 1 0 /* Port 1.3 IO */
118
119 0x82000000 0x9 0 MBUS_ID(0x04, 0xf8) 0 1 0 /* Port 2.0 MEM */
120 0x81000000 0x9 0 MBUS_ID(0x04, 0xf0) 0 1 0 /* Port 2.0 IO */
121
122 0x82000000 0xa 0 MBUS_ID(0x08, 0xf8) 0 1 0 /* Port 3.0 MEM */
123 0x81000000 0xa 0 MBUS_ID(0x08, 0xf0) 0 1 0 /* Port 3.0 IO */>;
62 124
63 pcie@1,0 { 125 pcie@1,0 {
64 device_type = "pci"; 126 device_type = "pci";
65 assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>; 127 assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
66 reg = <0x0800 0 0 0 0>; 128 reg = <0x0800 0 0 0 0>;
67 #address-cells = <3>; 129 #address-cells = <3>;
68 #size-cells = <2>; 130 #size-cells = <2>;
69 #interrupt-cells = <1>; 131 #interrupt-cells = <1>;
70 ranges; 132 ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
133 0x81000000 0 0 0x81000000 0x1 0 1 0>;
71 interrupt-map-mask = <0 0 0 0>; 134 interrupt-map-mask = <0 0 0 0>;
72 interrupt-map = <0 0 0 0 &mpic 58>; 135 interrupt-map = <0 0 0 0 &mpic 58>;
73 marvell,pcie-port = <0>; 136 marvell,pcie-port = <0>;
@@ -78,12 +141,13 @@ pcie-controller {
78 141
79 pcie@2,0 { 142 pcie@2,0 {
80 device_type = "pci"; 143 device_type = "pci";
81 assigned-addresses = <0x82001000 0 0xd0044000 0 0x2000>; 144 assigned-addresses = <0x82001000 0 0x44000 0 0x2000>;
82 reg = <0x1000 0 0 0 0>; 145 reg = <0x1000 0 0 0 0>;
83 #address-cells = <3>; 146 #address-cells = <3>;
84 #size-cells = <2>; 147 #size-cells = <2>;
85 #interrupt-cells = <1>; 148 #interrupt-cells = <1>;
86 ranges; 149 ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
150 0x81000000 0 0 0x81000000 0x2 0 1 0>;
87 interrupt-map-mask = <0 0 0 0>; 151 interrupt-map-mask = <0 0 0 0>;
88 interrupt-map = <0 0 0 0 &mpic 59>; 152 interrupt-map = <0 0 0 0 &mpic 59>;
89 marvell,pcie-port = <0>; 153 marvell,pcie-port = <0>;
@@ -94,12 +158,13 @@ pcie-controller {
94 158
95 pcie@3,0 { 159 pcie@3,0 {
96 device_type = "pci"; 160 device_type = "pci";
97 assigned-addresses = <0x82001800 0 0xd0048000 0 0x2000>; 161 assigned-addresses = <0x82001800 0 0x48000 0 0x2000>;
98 reg = <0x1800 0 0 0 0>; 162 reg = <0x1800 0 0 0 0>;
99 #address-cells = <3>; 163 #address-cells = <3>;
100 #size-cells = <2>; 164 #size-cells = <2>;
101 #interrupt-cells = <1>; 165 #interrupt-cells = <1>;
102 ranges; 166 ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
167 0x81000000 0 0 0x81000000 0x3 0 1 0>;
103 interrupt-map-mask = <0 0 0 0>; 168 interrupt-map-mask = <0 0 0 0>;
104 interrupt-map = <0 0 0 0 &mpic 60>; 169 interrupt-map = <0 0 0 0 &mpic 60>;
105 marvell,pcie-port = <0>; 170 marvell,pcie-port = <0>;
@@ -110,12 +175,13 @@ pcie-controller {
110 175
111 pcie@4,0 { 176 pcie@4,0 {
112 device_type = "pci"; 177 device_type = "pci";
113 assigned-addresses = <0x82002000 0 0xd004c000 0 0x2000>; 178 assigned-addresses = <0x82002000 0 0x4c000 0 0x2000>;
114 reg = <0x2000 0 0 0 0>; 179 reg = <0x2000 0 0 0 0>;
115 #address-cells = <3>; 180 #address-cells = <3>;
116 #size-cells = <2>; 181 #size-cells = <2>;
117 #interrupt-cells = <1>; 182 #interrupt-cells = <1>;
118 ranges; 183 ranges = <0x82000000 0 0 0x82000000 0x4 0 1 0
184 0x81000000 0 0 0x81000000 0x4 0 1 0>;
119 interrupt-map-mask = <0 0 0 0>; 185 interrupt-map-mask = <0 0 0 0>;
120 interrupt-map = <0 0 0 0 &mpic 61>; 186 interrupt-map = <0 0 0 0 &mpic 61>;
121 marvell,pcie-port = <0>; 187 marvell,pcie-port = <0>;
@@ -126,12 +192,13 @@ pcie-controller {
126 192
127 pcie@5,0 { 193 pcie@5,0 {
128 device_type = "pci"; 194 device_type = "pci";
129 assigned-addresses = <0x82002800 0 0xd0080000 0 0x2000>; 195 assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
130 reg = <0x2800 0 0 0 0>; 196 reg = <0x2800 0 0 0 0>;
131 #address-cells = <3>; 197 #address-cells = <3>;
132 #size-cells = <2>; 198 #size-cells = <2>;
133 #interrupt-cells = <1>; 199 #interrupt-cells = <1>;
134 ranges; 200 ranges = <0x82000000 0 0 0x82000000 0x5 0 1 0
201 0x81000000 0 0 0x81000000 0x5 0 1 0>;
135 interrupt-map-mask = <0 0 0 0>; 202 interrupt-map-mask = <0 0 0 0>;
136 interrupt-map = <0 0 0 0 &mpic 62>; 203 interrupt-map = <0 0 0 0 &mpic 62>;
137 marvell,pcie-port = <1>; 204 marvell,pcie-port = <1>;
@@ -142,12 +209,13 @@ pcie-controller {
142 209
143 pcie@6,0 { 210 pcie@6,0 {
144 device_type = "pci"; 211 device_type = "pci";
145 assigned-addresses = <0x82003000 0 0xd0084000 0 0x2000>; 212 assigned-addresses = <0x82003000 0 0x84000 0 0x2000>;
146 reg = <0x3000 0 0 0 0>; 213 reg = <0x3000 0 0 0 0>;
147 #address-cells = <3>; 214 #address-cells = <3>;
148 #size-cells = <2>; 215 #size-cells = <2>;
149 #interrupt-cells = <1>; 216 #interrupt-cells = <1>;
150 ranges; 217 ranges = <0x82000000 0 0 0x82000000 0x6 0 1 0
218 0x81000000 0 0 0x81000000 0x6 0 1 0>;
151 interrupt-map-mask = <0 0 0 0>; 219 interrupt-map-mask = <0 0 0 0>;
152 interrupt-map = <0 0 0 0 &mpic 63>; 220 interrupt-map = <0 0 0 0 &mpic 63>;
153 marvell,pcie-port = <1>; 221 marvell,pcie-port = <1>;
@@ -158,12 +226,13 @@ pcie-controller {
158 226
159 pcie@7,0 { 227 pcie@7,0 {
160 device_type = "pci"; 228 device_type = "pci";
161 assigned-addresses = <0x82003800 0 0xd0088000 0 0x2000>; 229 assigned-addresses = <0x82003800 0 0x88000 0 0x2000>;
162 reg = <0x3800 0 0 0 0>; 230 reg = <0x3800 0 0 0 0>;
163 #address-cells = <3>; 231 #address-cells = <3>;
164 #size-cells = <2>; 232 #size-cells = <2>;
165 #interrupt-cells = <1>; 233 #interrupt-cells = <1>;
166 ranges; 234 ranges = <0x82000000 0 0 0x82000000 0x7 0 1 0
235 0x81000000 0 0 0x81000000 0x7 0 1 0>;
167 interrupt-map-mask = <0 0 0 0>; 236 interrupt-map-mask = <0 0 0 0>;
168 interrupt-map = <0 0 0 0 &mpic 64>; 237 interrupt-map = <0 0 0 0 &mpic 64>;
169 marvell,pcie-port = <1>; 238 marvell,pcie-port = <1>;
@@ -174,12 +243,13 @@ pcie-controller {
174 243
175 pcie@8,0 { 244 pcie@8,0 {
176 device_type = "pci"; 245 device_type = "pci";
177 assigned-addresses = <0x82004000 0 0xd008c000 0 0x2000>; 246 assigned-addresses = <0x82004000 0 0x8c000 0 0x2000>;
178 reg = <0x4000 0 0 0 0>; 247 reg = <0x4000 0 0 0 0>;
179 #address-cells = <3>; 248 #address-cells = <3>;
180 #size-cells = <2>; 249 #size-cells = <2>;
181 #interrupt-cells = <1>; 250 #interrupt-cells = <1>;
182 ranges; 251 ranges = <0x82000000 0 0 0x82000000 0x8 0 1 0
252 0x81000000 0 0 0x81000000 0x8 0 1 0>;
183 interrupt-map-mask = <0 0 0 0>; 253 interrupt-map-mask = <0 0 0 0>;
184 interrupt-map = <0 0 0 0 &mpic 65>; 254 interrupt-map = <0 0 0 0 &mpic 65>;
185 marvell,pcie-port = <1>; 255 marvell,pcie-port = <1>;
@@ -187,14 +257,16 @@ pcie-controller {
187 clocks = <&gateclk 12>; 257 clocks = <&gateclk 12>;
188 status = "disabled"; 258 status = "disabled";
189 }; 259 };
260
190 pcie@9,0 { 261 pcie@9,0 {
191 device_type = "pci"; 262 device_type = "pci";
192 assigned-addresses = <0x82004800 0 0xd0042000 0 0x2000>; 263 assigned-addresses = <0x82004800 0 0x42000 0 0x2000>;
193 reg = <0x4800 0 0 0 0>; 264 reg = <0x4800 0 0 0 0>;
194 #address-cells = <3>; 265 #address-cells = <3>;
195 #size-cells = <2>; 266 #size-cells = <2>;
196 #interrupt-cells = <1>; 267 #interrupt-cells = <1>;
197 ranges; 268 ranges = <0x82000000 0 0 0x82000000 0x9 0 1 0
269 0x81000000 0 0 0x81000000 0x9 0 1 0>;
198 interrupt-map-mask = <0 0 0 0>; 270 interrupt-map-mask = <0 0 0 0>;
199 interrupt-map = <0 0 0 0 &mpic 99>; 271 interrupt-map = <0 0 0 0 &mpic 99>;
200 marvell,pcie-port = <2>; 272 marvell,pcie-port = <2>;
@@ -205,12 +277,13 @@ pcie-controller {
205 277
206 pcie@10,0 { 278 pcie@10,0 {
207 device_type = "pci"; 279 device_type = "pci";
208 assigned-addresses = <0x82005000 0 0xd0082000 0 0x2000>; 280 assigned-addresses = <0x82005000 0 0x82000 0 0x2000>;
209 reg = <0x5000 0 0 0 0>; 281 reg = <0x5000 0 0 0 0>;
210 #address-cells = <3>; 282 #address-cells = <3>;
211 #size-cells = <2>; 283 #size-cells = <2>;
212 #interrupt-cells = <1>; 284 #interrupt-cells = <1>;
213 ranges; 285 ranges = <0x82000000 0 0 0x82000000 0xa 0 1 0
286 0x81000000 0 0 0x81000000 0xa 0 1 0>;
214 interrupt-map-mask = <0 0 0 0>; 287 interrupt-map-mask = <0 0 0 0>;
215 interrupt-map = <0 0 0 0 &mpic 103>; 288 interrupt-map = <0 0 0 0 &mpic 103>;
216 marvell,pcie-port = <3>; 289 marvell,pcie-port = <3>;
diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
new file mode 100644
index 000000000000..6b7510775c50
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
@@ -0,0 +1,163 @@
1NVIDIA Tegra PCIe controller
2
3Required properties:
4- compatible: "nvidia,tegra20-pcie" or "nvidia,tegra30-pcie"
5- device_type: Must be "pci"
6- reg: A list of physical base address and length for each set of controller
7 registers. Must contain an entry for each entry in the reg-names property.
8- reg-names: Must include the following entries:
9 "pads": PADS registers
10 "afi": AFI registers
11 "cs": configuration space region
12- interrupts: A list of interrupt outputs of the controller. Must contain an
13 entry for each entry in the interrupt-names property.
14- interrupt-names: Must include the following entries:
15 "intr": The Tegra interrupt that is asserted for controller interrupts
16 "msi": The Tegra interrupt that is asserted when an MSI is received
17- pex-clk-supply: Supply voltage for internal reference clock
18- vdd-supply: Power supply for controller (1.05V)
19- avdd-supply: Power supply for controller (1.05V) (not required for Tegra20)
20- bus-range: Range of bus numbers associated with this controller
21- #address-cells: Address representation for root ports (must be 3)
22 - cell 0 specifies the bus and device numbers of the root port:
23 [23:16]: bus number
24 [15:11]: device number
25 - cell 1 denotes the upper 32 address bits and should be 0
26 - cell 2 contains the lower 32 address bits and is used to translate to the
27 CPU address space
28- #size-cells: Size representation for root ports (must be 2)
29- ranges: Describes the translation of addresses for root ports and standard
30 PCI regions. The entries must be 6 cells each, where the first three cells
31 correspond to the address as described for the #address-cells property
32 above, the fourth cell is the physical CPU address to translate to and the
33 fifth and six cells are as described for the #size-cells property above.
34 - The first two entries are expected to translate the addresses for the root
35 port registers, which are referenced by the assigned-addresses property of
36 the root port nodes (see below).
37 - The remaining entries setup the mapping for the standard I/O, memory and
38 prefetchable PCI regions. The first cell determines the type of region
39 that is setup:
40 - 0x81000000: I/O memory region
41 - 0x82000000: non-prefetchable memory region
42 - 0xc2000000: prefetchable memory region
43 Please refer to the standard PCI bus binding document for a more detailed
44 explanation.
45- clocks: List of clock inputs of the controller. Must contain an entry for
46 each entry in the clock-names property.
47- clock-names: Must include the following entries:
48 "pex": The Tegra clock of that name
49 "afi": The Tegra clock of that name
50 "pcie_xclk": The Tegra clock of that name
51 "pll_e": The Tegra clock of that name
52 "cml": The Tegra clock of that name (not required for Tegra20)
53
54Root ports are defined as subnodes of the PCIe controller node.
55
56Required properties:
57- device_type: Must be "pci"
58- assigned-addresses: Address and size of the port configuration registers
59- reg: PCI bus address of the root port
60- #address-cells: Must be 3
61- #size-cells: Must be 2
62- ranges: Sub-ranges distributed from the PCIe controller node. An empty
63 property is sufficient.
64- nvidia,num-lanes: Number of lanes to use for this port. Valid combinations
65 are:
66 - Root port 0 uses 4 lanes, root port 1 is unused.
67 - Both root ports use 2 lanes.
68
69Example:
70
71SoC DTSI:
72
73 pcie-controller {
74 compatible = "nvidia,tegra20-pcie";
75 device_type = "pci";
76 reg = <0x80003000 0x00000800 /* PADS registers */
77 0x80003800 0x00000200 /* AFI registers */
78 0x90000000 0x10000000>; /* configuration space */
79 reg-names = "pads", "afi", "cs";
80 interrupts = <0 98 0x04 /* controller interrupt */
81 0 99 0x04>; /* MSI interrupt */
82 interrupt-names = "intr", "msi";
83
84 bus-range = <0x00 0xff>;
85 #address-cells = <3>;
86 #size-cells = <2>;
87
88 ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000 /* port 0 registers */
89 0x82000000 0 0x80001000 0x80001000 0 0x00001000 /* port 1 registers */
90 0x81000000 0 0 0x82000000 0 0x00010000 /* downstream I/O */
91 0x82000000 0 0xa0000000 0xa0000000 0 0x10000000 /* non-prefetchable memory */
92 0xc2000000 0 0xb0000000 0xb0000000 0 0x10000000>; /* prefetchable memory */
93
94 clocks = <&tegra_car 70>, <&tegra_car 72>, <&tegra_car 74>,
95 <&tegra_car 118>;
96 clock-names = "pex", "afi", "pcie_xclk", "pll_e";
97 status = "disabled";
98
99 pci@1,0 {
100 device_type = "pci";
101 assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
102 reg = <0x000800 0 0 0 0>;
103 status = "disabled";
104
105 #address-cells = <3>;
106 #size-cells = <2>;
107
108 ranges;
109
110 nvidia,num-lanes = <2>;
111 };
112
113 pci@2,0 {
114 device_type = "pci";
115 assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
116 reg = <0x001000 0 0 0 0>;
117 status = "disabled";
118
119 #address-cells = <3>;
120 #size-cells = <2>;
121
122 ranges;
123
124 nvidia,num-lanes = <2>;
125 };
126 };
127
128
129Board DTS:
130
131 pcie-controller {
132 status = "okay";
133
134 vdd-supply = <&pci_vdd_reg>;
135 pex-clk-supply = <&pci_clk_reg>;
136
137 /* root port 00:01.0 */
138 pci@1,0 {
139 status = "okay";
140
141 /* bridge 01:00.0 (optional) */
142 pci@0,0 {
143 reg = <0x010000 0 0 0 0>;
144
145 #address-cells = <3>;
146 #size-cells = <2>;
147
148 device_type = "pci";
149
150 /* endpoint 02:00.0 */
151 pci@0,0 {
152 reg = <0x020000 0 0 0 0>;
153 };
154 };
155 };
156 };
157
158Note that devices on the PCI bus are dynamically discovered using PCI's bus
159enumeration and therefore don't need corresponding device nodes in DT. However
160if a device on the PCI bus provides a non-probeable bus such as I2C or SPI,
161device nodes need to be added in order to allow the bus' children to be
162instantiated at the proper location in the operating system's device tree (as
163illustrated by the optional nodes in the example above).
diff --git a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
index 648d60eb9fd8..7ccae490ff6d 100644
--- a/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
@@ -37,7 +37,7 @@ Bank: 3 (A, B and C)
37 0xffffffff 0x7fff3ccf /* pioB */ 37 0xffffffff 0x7fff3ccf /* pioB */
38 0xffffffff 0x007fffff /* pioC */ 38 0xffffffff 0x007fffff /* pioC */
39 39
40For each peripheral/bank we will descibe in a u32 if a pin can can be 40For each peripheral/bank we will descibe in a u32 if a pin can be
41configured in it by putting 1 to the pin bit (1 << pin) 41configured in it by putting 1 to the pin bit (1 << pin)
42 42
43Let's take the pioA on peripheral B 43Let's take the pioA on peripheral B
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt
index e204d009f16c..fb70856c5b51 100644
--- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra114-pinmux.txt
@@ -80,6 +80,17 @@ Valid values for pin and group names are:
80 dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg, 80 dbg, sdio3, spi, uaa, uab, uart2, uart3, sdio1, ddc, gma, gme, gmf, gmg,
81 gmh, owr, uda. 81 gmh, owr, uda.
82 82
83Valid values for nvidia,functions are:
84
85 blink, cec, cldvfs, clk12, cpu, dap, dap1, dap2, dev3, displaya,
86 displaya_alt, displayb, dtv, emc_dll, extperiph1, extperiph2,
87 extperiph3, gmi, gmi_alt, hda, hsi, i2c1, i2c2, i2c3, i2c4, i2cpwr,
88 i2s0, i2s1, i2s2, i2s3, i2s4, irda, kbc, nand, nand_alt, owr, pmi,
89 pwm0, pwm1, pwm2, pwm3, pwron, reset_out_n, rsvd1, rsvd2, rsvd3,
90 rsvd4, sdmmc1, sdmmc2, sdmmc3, sdmmc4, soc, spdif, spi1, spi2, spi3,
91 spi4, spi5, spi6, sysclk, trace, uarta, uartb, uartc, uartd, ulpi,
92 usb, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6, vi, vi_alt1, vi_alt3
93
83Example: 94Example:
84 95
85 pinmux: pinmux { 96 pinmux: pinmux {
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
index 683fde93c4fb..61e73cde9ae9 100644
--- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt
@@ -103,6 +103,17 @@ Valid values for pin and group names are:
103 drive_gma, drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_owr, 103 drive_gma, drive_gmb, drive_gmc, drive_gmd, drive_gme, drive_owr,
104 drive_uda. 104 drive_uda.
105 105
106Valid values for nvidia,functions are:
107
108 ahb_clk, apb_clk, audio_sync, crt, dap1, dap2, dap3, dap4, dap5,
109 displaya, displayb, emc_test0_dll, emc_test1_dll, gmi, gmi_int,
110 hdmi, i2cp, i2c1, i2c2, i2c3, ide, irda, kbc, mio, mipi_hs, nand,
111 osc, owr, pcie, plla_out, pllc_out1, pllm_out1, pllp_out2, pllp_out3,
112 pllp_out4, pwm, pwr_intr, pwr_on, rsvd1, rsvd2, rsvd3, rsvd4, rtck,
113 sdio1, sdio2, sdio3, sdio4, sflash, spdif, spi1, spi2, spi2_alt,
114 spi3, spi4, trace, twc, uarta, uartb, uartc, uartd, uarte, ulpi,
115 vi, vi_sensor_clk, xio
116
106Example: 117Example:
107 118
108 pinctrl@70000000 { 119 pinctrl@70000000 {
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt
index 6f426ed7009e..0e6354c11e6d 100644
--- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt
@@ -91,6 +91,18 @@ Valid values for pin and group names are:
91 gmh, gpv, lcd1, lcd2, owr, sdio1, sdio2, sdio3, spi, uaa, uab, uart2, 91 gmh, gpv, lcd1, lcd2, owr, sdio1, sdio2, sdio3, spi, uaa, uab, uart2,
92 uart3, uda, vi1. 92 uart3, uda, vi1.
93 93
94Valid values for nvidia,functions are:
95
96 blink, cec, clk_12m_out, clk_32k_in, core_pwr_req, cpu_pwr_req, crt,
97 dap, ddr, dev3, displaya, displayb, dtv, extperiph1, extperiph2,
98 extperiph3, gmi, gmi_alt, hda, hdcp, hdmi, hsi, i2c1, i2c2, i2c3,
99 i2c4, i2cpwr, i2s0, i2s1, i2s2, i2s3, i2s4, invalid, kbc, mio, nand,
100 nand_alt, owr, pcie, pwm0, pwm1, pwm2, pwm3, pwr_int_n, rsvd1, rsvd2,
101 rsvd3, rsvd4, rtck, sata, sdmmc1, sdmmc2, sdmmc3, sdmmc4, spdif, spi1,
102 spi2, spi2_alt, spi3, spi4, spi5, spi6, sysclk, test, trace, uarta,
103 uartb, uartc, uartd, uarte, ulpi, vgp1, vgp2, vgp3, vgp4, vgp5, vgp6,
104 vi, vi_alt1, vi_alt2, vi_alt3
105
94Example: 106Example:
95 107
96 pinctrl@70000000 { 108 pinctrl@70000000 {
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
index aeb3c995cc04..1958ca9f9e5c 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
@@ -127,21 +127,20 @@ whether there is any interaction between the child and intermediate parent
127nodes, is again defined entirely by the binding for the individual pin 127nodes, is again defined entirely by the binding for the individual pin
128controller device. 128controller device.
129 129
130== Using generic pinconfig options == 130== Generic pin configuration node content ==
131 131
132Generic pinconfig parameters can be used by defining a separate node containing 132Many data items that are represented in a pin configuration node are common
133the applicable parameters (and optional values), like: 133and generic. Pin control bindings should use the properties defined below
134where they are applicable; not all of these properties are relevant or useful
135for all hardware or binding structures. Each individual binding document
136should state which of these generic properties, if any, are used, and the
137structure of the DT nodes that contain these properties.
134 138
135pcfg_pull_up: pcfg_pull_up { 139Supported generic properties are:
136 bias-pull-up;
137 drive-strength = <20>;
138};
139
140This node should then be referenced in the appropriate pinctrl node as a phandle
141and parsed in the driver using the pinconf_generic_parse_dt_config function.
142
143Supported configuration parameters are:
144 140
141pins - the list of pins that properties in the node
142 apply to
143function - the mux function to select
145bias-disable - disable any pin bias 144bias-disable - disable any pin bias
146bias-high-impedance - high impedance mode ("third-state", "floating") 145bias-high-impedance - high impedance mode ("third-state", "floating")
147bias-bus-hold - latch weakly 146bias-bus-hold - latch weakly
@@ -160,7 +159,21 @@ low-power-disable - disable low power mode
160output-low - set the pin to output mode with low level 159output-low - set the pin to output mode with low level
161output-high - set the pin to output mode with high level 160output-high - set the pin to output mode with high level
162 161
163Arguments for parameters: 162Some of the generic properties take arguments. For those that do, the
163arguments are described below.
164
165- pins takes a list of pin names or IDs as a required argument. The specific
166 binding for the hardware defines:
167 - Whether the entries are integers or strings, and their meaning.
168
169- function takes a list of function names/IDs as a required argument. The
170 specific binding for the hardware defines:
171 - Whether the entries are integers or strings, and their meaning.
172 - Whether only a single entry is allowed (which is applied to all entries
173 in the pins property), or whether there may alternatively be one entry per
174 entry in the pins property, in which case the list lengths must match, and
175 for each list index i, the function at list index i is applied to the pin
176 at list index i.
164 177
165- bias-pull-up, -down and -pin-default take as optional argument on hardware 178- bias-pull-up, -down and -pin-default take as optional argument on hardware
166 supporting it the pull strength in Ohm. bias-disable will disable the pull. 179 supporting it the pull strength in Ohm. bias-disable will disable the pull.
@@ -170,7 +183,5 @@ Arguments for parameters:
170- input-debounce takes the debounce time in usec as argument 183- input-debounce takes the debounce time in usec as argument
171 or 0 to disable debouncing 184 or 0 to disable debouncing
172 185
173All parameters not listed here, do not take an argument.
174
175More in-depth documentation on these parameters can be found in 186More in-depth documentation on these parameters can be found in
176<include/linux/pinctrl/pinconfig-generic.h> 187<include/linux/pinctrl/pinconfig-generic.h>
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt
new file mode 100644
index 000000000000..734d9b04d533
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-palmas.txt
@@ -0,0 +1,96 @@
1Palmas Pincontrol bindings
2
3The pins of Palmas device can be set on different option and provides
4the configuration for Pull UP/DOWN, open drain etc.
5
6Required properties:
7- compatible: It must be one of following:
8 - "ti,palmas-pinctrl" for Palma series of the pincontrol.
9 - "ti,tps65913-pinctrl" for Palma series device TPS65913.
10 - "ti,tps80036-pinctrl" for Palma series device TPS80036.
11
12Please refer to pinctrl-bindings.txt in this directory for details of the
13common pinctrl bindings used by client devices, including the meaning of the
14phrase "pin configuration node".
15
16Palmas's pin configuration nodes act as a container for an arbitrary number of
17subnodes. Each of these subnodes represents some desired configuration for a
18list of pins. This configuration can include the mux function to select on
19those pin(s), and various pin configuration parameters, such as pull-up,
20open drain.
21
22The name of each subnode is not important; all subnodes should be enumerated
23and processed purely based on their content.
24
25Each subnode only affects those parameters that are explicitly listed. In
26other words, a subnode that lists a mux function but no pin configuration
27parameters implies no information about any pin configuration parameters.
28Similarly, a pin subnode that describes a pullup parameter implies no
29information about e.g. the mux function.
30
31Optional properties:
32- ti,palmas-enable-dvfs1: Enable DVFS1. Configure pins for DVFS1 mode.
33 Selection primary or secondary function associated to I2C2_SCL_SCE,
34 I2C2_SDA_SDO pin/pad for DVFS1 interface
35- ti,palmas-enable-dvfs2: Enable DVFS2. Configure pins for DVFS2 mode.
36 Selection primary or secondary function associated to GPADC_START
37 and SYSEN2 pin/pad for DVFS2 interface
38
39This binding uses the following generic properties as defined in
40pinctrl-bindings.txt:
41
42Required: pins
43Options: function, bias-disable, bias-pull-up, bias-pull-down,
44 bias-pin-default, drive-open-drain.
45
46Note that many of these properties are only valid for certain specific pins.
47See the Palmas device datasheet for complete details regarding which pins
48support which functionality.
49
50Valid values for pin names are:
51 gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7, gpio8, gpio9,
52 gpio10, gpio11, gpio12, gpio13, gpio14, gpio15, vac, powergood,
53 nreswarm, pwrdown, gpadc_start, reset_in, nsleep, enable1, enable2,
54 int.
55
56Valid value of function names are:
57 gpio, led, pwm, regen, sysen, clk32kgaudio, id, vbus_det, chrg_det,
58 vac, vacok, powergood, usb_psel, msecure, pwrhold, int, nreswarm,
59 simrsto, simrsti, low_vbat, wireless_chrg1, rcm, pwrdown, gpadc_start,
60 reset_in, nsleep, enable.
61
62There are 4 special functions: opt0, opt1, opt2 and opt3. If any of these
63functions is selected then directly pins register will be written with 0, 1, 2
64or 3 respectively if it is valid for that pins or list of pins.
65
66Example:
67 palmas: tps65913 {
68 ....
69 pinctrl {
70 compatible = "ti,tps65913-pinctrl";
71 ti,palmas-enable-dvfs1;
72 pinctrl-names = "default";
73 pinctrl-0 = <&palmas_pins_state>;
74
75 palmas_pins_state: pinmux {
76 gpio0 {
77 pins = "gpio0";
78 function = "id";
79 bias-pull-up;
80 };
81
82 vac {
83 pins = "vac";
84 function = "vacok";
85 bias-pull-down;
86 };
87
88 gpio5 {
89 pins = "gpio5";
90 function = "opt0";
91 drive-open-drain = <1>;
92 };
93 };
94 };
95 ....
96 };
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index 36281e7a2a46..257677de3e6b 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -12,6 +12,7 @@ Required Properties:
12 - "samsung,s3c2440-pinctrl": for S3C2440-compatible pin-controller, 12 - "samsung,s3c2440-pinctrl": for S3C2440-compatible pin-controller,
13 - "samsung,s3c2450-pinctrl": for S3C2450-compatible pin-controller, 13 - "samsung,s3c2450-pinctrl": for S3C2450-compatible pin-controller,
14 - "samsung,s3c64xx-pinctrl": for S3C64xx-compatible pin-controller, 14 - "samsung,s3c64xx-pinctrl": for S3C64xx-compatible pin-controller,
15 - "samsung,s5pv210-pinctrl": for S5PV210-compatible pin-controller,
15 - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. 16 - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller.
16 - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. 17 - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller.
17 - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. 18 - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller.
@@ -128,7 +129,7 @@ B. External Wakeup Interrupts: For supporting external wakeup interrupts, a
128 - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller 129 - samsung,s3c64xx-wakeup-eint: represents wakeup interrupt controller
129 found on Samsung S3C64xx SoCs, 130 found on Samsung S3C64xx SoCs,
130 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller 131 - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller
131 found on Samsung Exynos4210 SoC. 132 found on Samsung Exynos4210 and S5PC110/S5PV210 SoCs.
132 - interrupt-parent: phandle of the interrupt parent to which the external 133 - interrupt-parent: phandle of the interrupt parent to which the external
133 wakeup interrupts are forwarded to. 134 wakeup interrupts are forwarded to.
134 - interrupts: interrupt used by multiplexed wakeup interrupts. 135 - interrupts: interrupt used by multiplexed wakeup interrupts.
diff --git a/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt b/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
index 9a2f3f420526..6b33b9f18e88 100644
--- a/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
+++ b/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
@@ -1,8 +1,8 @@
1ST Ericsson Nomadik pinmux controller 1ST Ericsson Nomadik pinmux controller
2 2
3Required properties: 3Required properties:
4- compatible: "stericsson,nmk-pinctrl", "stericsson,nmk-pinctrl-db8540", 4- compatible: "stericsson,db8500-pinctrl", "stericsson,db8540-pinctrl",
5 "stericsson,nmk-pinctrl-stn8815" 5 "stericsson,stn8815-pinctrl"
6- reg: Should contain the register physical address and length of the PRCMU. 6- reg: Should contain the register physical address and length of the PRCMU.
7 7
8Please refer to pinctrl-bindings.txt in this directory for details of the 8Please refer to pinctrl-bindings.txt in this directory for details of the
@@ -68,7 +68,7 @@ Optional subnode-properties:
68Example board file extract: 68Example board file extract:
69 69
70 pinctrl@80157000 { 70 pinctrl@80157000 {
71 compatible = "stericsson,nmk-pinctrl"; 71 compatible = "stericsson,db8500-pinctrl";
72 reg = <0x80157000 0x2000>; 72 reg = <0x80157000 0x2000>;
73 73
74 pinctrl-names = "default"; 74 pinctrl-names = "default";
diff --git a/Documentation/devicetree/bindings/power_supply/msm-poweroff.txt b/Documentation/devicetree/bindings/power_supply/msm-poweroff.txt
new file mode 100644
index 000000000000..ce44ad357565
--- /dev/null
+++ b/Documentation/devicetree/bindings/power_supply/msm-poweroff.txt
@@ -0,0 +1,17 @@
1MSM Restart Driver
2
3A power supply hold (ps-hold) bit is set to power the msm chipsets.
4Clearing that bit allows us to restart/poweroff. The difference
5between poweroff and restart is determined by unique power manager IC
6settings.
7
8Required Properties:
9-compatible: "qcom,pshold"
10-reg: Specifies the physical address of the ps-hold register
11
12Example:
13
14 restart@fc4ab000 {
15 compatible = "qcom,pshold";
16 reg = <0xfc4ab000 0x4>;
17 };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt b/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt
index 5693877ab377..82dd5b65cf48 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt
@@ -1,21 +1,20 @@
1* Freescale MSI interrupt controller 1* Freescale MSI interrupt controller
2 2
3Required properties: 3Required properties:
4- compatible : compatible list, contains 2 entries, 4- compatible : compatible list, may contain one or two entries
5 first is "fsl,CHIP-msi", where CHIP is the processor(mpc8610, mpc8572, 5 The first is "fsl,CHIP-msi", where CHIP is the processor(mpc8610, mpc8572,
6 etc.) and the second is "fsl,mpic-msi" or "fsl,ipic-msi" depending on 6 etc.) and the second is "fsl,mpic-msi" or "fsl,ipic-msi" or
7 the parent type. 7 "fsl,mpic-msi-v4.3" depending on the parent type and version. If mpic
8 version is 4.3, the number of MSI registers is increased to 16, MSIIR1 is
9 provided to access these 16 registers, and compatible "fsl,mpic-msi-v4.3"
10 should be used. The first entry is optional; the second entry is
11 required.
8 12
9- reg : It may contain one or two regions. The first region should contain 13- reg : It may contain one or two regions. The first region should contain
10 the address and the length of the shared message interrupt register set. 14 the address and the length of the shared message interrupt register set.
11 The second region should contain the address of aliased MSIIR register for 15 The second region should contain the address of aliased MSIIR or MSIIR1
12 platforms that have such an alias. 16 register for platforms that have such an alias, if using MSIIR1, the second
13 17 region must be added because different MSI group has different MSIIR1 offset.
14- msi-available-ranges: use <start count> style section to define which
15 msi interrupt can be used in the 256 msi interrupts. This property is
16 optional, without this, all the 256 MSI interrupts can be used.
17 Each available range must begin and end on a multiple of 32 (i.e.
18 no splitting an individual MSI register or the associated PIC interrupt).
19 18
20- interrupts : each one of the interrupts here is one entry per 32 MSIs, 19- interrupts : each one of the interrupts here is one entry per 32 MSIs,
21 and routed to the host interrupt controller. the interrupts should 20 and routed to the host interrupt controller. the interrupts should
@@ -28,6 +27,14 @@ Required properties:
28 to MPIC. 27 to MPIC.
29 28
30Optional properties: 29Optional properties:
30- msi-available-ranges: use <start count> style section to define which
31 msi interrupt can be used in the 256 msi interrupts. This property is
32 optional, without this, all the MSI interrupts can be used.
33 Each available range must begin and end on a multiple of 32 (i.e.
34 no splitting an individual MSI register or the associated PIC interrupt).
35 MPIC v4.3 does not support this property because the 32 interrupts of an
36 individual register are not continuous when using MSIIR1.
37
31- msi-address-64: 64-bit PCI address of the MSIIR register. The MSIIR register 38- msi-address-64: 64-bit PCI address of the MSIIR register. The MSIIR register
32 is used for MSI messaging. The address of MSIIR in PCI address space is 39 is used for MSI messaging. The address of MSIIR in PCI address space is
33 the MSI message address. 40 the MSI message address.
@@ -54,6 +61,28 @@ Example:
54 interrupt-parent = <&mpic>; 61 interrupt-parent = <&mpic>;
55 }; 62 };
56 63
64 msi@41600 {
65 compatible = "fsl,mpic-msi-v4.3";
66 reg = <0x41600 0x200 0x44148 4>;
67 interrupts = <
68 0xe0 0 0 0
69 0xe1 0 0 0
70 0xe2 0 0 0
71 0xe3 0 0 0
72 0xe4 0 0 0
73 0xe5 0 0 0
74 0xe6 0 0 0
75 0xe7 0 0 0
76 0x100 0 0 0
77 0x101 0 0 0
78 0x102 0 0 0
79 0x103 0 0 0
80 0x104 0 0 0
81 0x105 0 0 0
82 0x106 0 0 0
83 0x107 0 0 0>;
84 };
85
57The Freescale hypervisor and msi-address-64 86The Freescale hypervisor and msi-address-64
58------------------------------------------- 87-------------------------------------------
59Normally, PCI devices have access to all of CCSR via an ATMU mapping. The 88Normally, PCI devices have access to all of CCSR via an ATMU mapping. The
diff --git a/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt b/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt
index de0eaed86651..8031148bcf85 100644
--- a/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt
@@ -2,11 +2,9 @@ Atmel TCB PWM controller
2 2
3Required properties: 3Required properties:
4- compatible: should be "atmel,tcb-pwm" 4- compatible: should be "atmel,tcb-pwm"
5- #pwm-cells: Should be 3. The first cell specifies the per-chip index 5- #pwm-cells: should be 3. See pwm.txt in this directory for a description of
6 of the PWM to use, the second cell is the period in nanoseconds and 6 the cells format. The only third cell flag supported by this binding is
7 bit 0 in the third cell is used to encode the polarity of PWM output. 7 PWM_POLARITY_INVERTED.
8 Set bit 0 of the third cell in PWM specifier to 1 for inverse polarity &
9 set to 0 for normal polarity.
10- tc-block: The Timer Counter block to use as a PWM chip. 8- tc-block: The Timer Counter block to use as a PWM chip.
11 9
12Example: 10Example:
diff --git a/Documentation/devicetree/bindings/pwm/imx-pwm.txt b/Documentation/devicetree/bindings/pwm/imx-pwm.txt
index 8522bfbccfd7..b50d7a6d9d7f 100644
--- a/Documentation/devicetree/bindings/pwm/imx-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/imx-pwm.txt
@@ -3,8 +3,8 @@ Freescale i.MX PWM controller
3Required properties: 3Required properties:
4- compatible: should be "fsl,<soc>-pwm" 4- compatible: should be "fsl,<soc>-pwm"
5- reg: physical base address and length of the controller's registers 5- reg: physical base address and length of the controller's registers
6- #pwm-cells: should be 2. The first cell specifies the per-chip index 6- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
7 of the PWM to use and the second cell is the period in nanoseconds. 7 the cells format.
8- interrupts: The interrupt for the pwm controller 8- interrupts: The interrupt for the pwm controller
9 9
10Example: 10Example:
diff --git a/Documentation/devicetree/bindings/pwm/mxs-pwm.txt b/Documentation/devicetree/bindings/pwm/mxs-pwm.txt
index 9e3f8f1d46a2..96cdde5f6208 100644
--- a/Documentation/devicetree/bindings/pwm/mxs-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/mxs-pwm.txt
@@ -3,8 +3,8 @@ Freescale MXS PWM controller
3Required properties: 3Required properties:
4- compatible: should be "fsl,imx23-pwm" 4- compatible: should be "fsl,imx23-pwm"
5- reg: physical base address and length of the controller's registers 5- reg: physical base address and length of the controller's registers
6- #pwm-cells: should be 2. The first cell specifies the per-chip index 6- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
7 of the PWM to use and the second cell is the period in nanoseconds. 7 the cells format.
8- fsl,pwm-number: the number of PWM devices 8- fsl,pwm-number: the number of PWM devices
9 9
10Example: 10Example:
diff --git a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
index 01438ecd6628..c3fc57af8772 100644
--- a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
@@ -5,9 +5,8 @@ Required properties:
5 - "nvidia,tegra20-pwm" 5 - "nvidia,tegra20-pwm"
6 - "nvidia,tegra30-pwm" 6 - "nvidia,tegra30-pwm"
7- reg: physical base address and length of the controller's registers 7- reg: physical base address and length of the controller's registers
8- #pwm-cells: On Tegra the number of cells used to specify a PWM is 2. The 8- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
9 first cell specifies the per-chip index of the PWM to use and the second 9 the cells format.
10 cell is the period in nanoseconds.
11 10
12Example: 11Example:
13 12
diff --git a/Documentation/devicetree/bindings/pwm/nxp,pca9685-pwm.txt b/Documentation/devicetree/bindings/pwm/nxp,pca9685-pwm.txt
index 1e3dfe7a4894..f84ec9d291ea 100644
--- a/Documentation/devicetree/bindings/pwm/nxp,pca9685-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/nxp,pca9685-pwm.txt
@@ -3,8 +3,8 @@ NXP PCA9685 16-channel 12-bit PWM LED controller
3 3
4Required properties: 4Required properties:
5 - compatible: "nxp,pca9685-pwm" 5 - compatible: "nxp,pca9685-pwm"
6 - #pwm-cells: should be 2. The first cell specifies the per-chip index 6 - #pwm-cells: Should be 2. See pwm.txt in this directory for a description of
7 of the PWM to use and the second cell is the period in nanoseconds. 7 the cells format.
8 The index 16 is the ALLCALL channel, that sets all PWM channels at the same 8 The index 16 is the ALLCALL channel, that sets all PWM channels at the same
9 time. 9 time.
10 10
diff --git a/Documentation/devicetree/bindings/pwm/pwm-samsung.txt b/Documentation/devicetree/bindings/pwm/pwm-samsung.txt
index ac67c687a327..d61fccd40bad 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-samsung.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-samsung.txt
@@ -19,13 +19,19 @@ Required properties:
19- reg: base address and size of register area 19- reg: base address and size of register area
20- interrupts: list of timer interrupts (one interrupt per timer, starting at 20- interrupts: list of timer interrupts (one interrupt per timer, starting at
21 timer 0) 21 timer 0)
22- #pwm-cells: number of cells used for PWM specifier - must be 3 22- clock-names: should contain all following required clock names:
23 the specifier format is as follows: 23 - "timers" - PWM base clock used to generate PWM signals,
24 - phandle to PWM controller node 24 and any subset of following optional clock names:
25 - index of PWM channel (from 0 to 4) 25 - "pwm-tclk0" - first external PWM clock source,
26 - PWM signal period in nanoseconds 26 - "pwm-tclk1" - second external PWM clock source.
27 - bitmask of optional PWM flags: 27 Note that not all IP variants allow using all external clock sources.
28 0x1 - invert PWM signal 28 Refer to SoC documentation to learn which clock source configurations
29 are available.
30- clocks: should contain clock specifiers of all clocks, which input names
31 have been specified in clock-names property, in same order.
32- #pwm-cells: should be 3. See pwm.txt in this directory for a description of
33 the cells format. The only third cell flag supported by this binding is
34 PWM_POLARITY_INVERTED.
29 35
30Optional properties: 36Optional properties:
31- samsung,pwm-outputs: list of PWM channels used as PWM outputs on particular 37- samsung,pwm-outputs: list of PWM channels used as PWM outputs on particular
@@ -38,6 +44,8 @@ Example:
38 reg = <0x7f006000 0x1000>; 44 reg = <0x7f006000 0x1000>;
39 interrupt-parent = <&vic0>; 45 interrupt-parent = <&vic0>;
40 interrupts = <23>, <24>, <25>, <27>, <28>; 46 interrupts = <23>, <24>, <25>, <27>, <28>;
47 clocks = <&clock 67>;
48 clock-names = "timers";
41 samsung,pwm-outputs = <0>, <1>; 49 samsung,pwm-outputs = <0>, <1>;
42 #pwm-cells = <3>; 50 #pwm-cells = <3>;
43 } 51 }
diff --git a/Documentation/devicetree/bindings/pwm/pwm-tiecap.txt b/Documentation/devicetree/bindings/pwm/pwm-tiecap.txt
index 681afad73778..fb81179dce37 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-tiecap.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-tiecap.txt
@@ -4,11 +4,9 @@ Required properties:
4- compatible: Must be "ti,<soc>-ecap". 4- compatible: Must be "ti,<soc>-ecap".
5 for am33xx - compatible = "ti,am33xx-ecap"; 5 for am33xx - compatible = "ti,am33xx-ecap";
6 for da850 - compatible = "ti,da850-ecap", "ti,am33xx-ecap"; 6 for da850 - compatible = "ti,da850-ecap", "ti,am33xx-ecap";
7- #pwm-cells: Should be 3. Number of cells being used to specify PWM property. 7- #pwm-cells: should be 3. See pwm.txt in this directory for a description of
8 First cell specifies the per-chip index of the PWM to use, the second 8 the cells format. The PWM channel index ranges from 0 to 4. The only third
9 cell is the period in nanoseconds and bit 0 in the third cell is used to 9 cell flag supported by this binding is PWM_POLARITY_INVERTED.
10 encode the polarity of PWM output. Set bit 0 of the third in PWM specifier
11 to 1 for inverse polarity & set to 0 for normal polarity.
12- reg: physical base address and size of the registers map. 10- reg: physical base address and size of the registers map.
13 11
14Optional properties: 12Optional properties:
diff --git a/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt b/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
index 337c6fc65d3f..9c100b2c5b23 100644
--- a/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
@@ -4,11 +4,9 @@ Required properties:
4- compatible: Must be "ti,<soc>-ehrpwm". 4- compatible: Must be "ti,<soc>-ehrpwm".
5 for am33xx - compatible = "ti,am33xx-ehrpwm"; 5 for am33xx - compatible = "ti,am33xx-ehrpwm";
6 for da850 - compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm"; 6 for da850 - compatible = "ti,da850-ehrpwm", "ti,am33xx-ehrpwm";
7- #pwm-cells: Should be 3. Number of cells being used to specify PWM property. 7- #pwm-cells: should be 3. See pwm.txt in this directory for a description of
8 First cell specifies the per-chip index of the PWM to use, the second 8 the cells format. The only third cell flag supported by this binding is
9 cell is the period in nanoseconds and bit 0 in the third cell is used to 9 PWM_POLARITY_INVERTED.
10 encode the polarity of PWM output. Set bit 0 of the third in PWM specifier
11 to 1 for inverse polarity & set to 0 for normal polarity.
12- reg: physical base address and size of the registers map. 10- reg: physical base address and size of the registers map.
13 11
14Optional properties: 12Optional properties:
diff --git a/Documentation/devicetree/bindings/pwm/pwm.txt b/Documentation/devicetree/bindings/pwm/pwm.txt
index 06e67247859a..8556263b8502 100644
--- a/Documentation/devicetree/bindings/pwm/pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/pwm.txt
@@ -43,13 +43,14 @@ because the name "backlight" would be used as fallback anyway.
43pwm-specifier typically encodes the chip-relative PWM number and the PWM 43pwm-specifier typically encodes the chip-relative PWM number and the PWM
44period in nanoseconds. 44period in nanoseconds.
45 45
46Optionally, the pwm-specifier can encode a number of flags in a third cell: 46Optionally, the pwm-specifier can encode a number of flags (defined in
47- bit 0: PWM signal polarity (0: normal polarity, 1: inverse polarity) 47<dt-bindings/pwm/pwm.h>) in a third cell:
48- PWM_POLARITY_INVERTED: invert the PWM signal polarity
48 49
49Example with optional PWM specifier for inverse polarity 50Example with optional PWM specifier for inverse polarity
50 51
51 bl: backlight { 52 bl: backlight {
52 pwms = <&pwm 0 5000000 1>; 53 pwms = <&pwm 0 5000000 PWM_POLARITY_INVERTED>;
53 pwm-names = "backlight"; 54 pwm-names = "backlight";
54 }; 55 };
55 56
diff --git a/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt
new file mode 100644
index 000000000000..b067e84a94b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/renesas,tpu-pwm.txt
@@ -0,0 +1,28 @@
1* Renesas R-Car Timer Pulse Unit PWM Controller
2
3Required Properties:
4
5 - compatible: should be one of the following.
6 - "renesas,tpu-r8a73a4": for R8A77A4 (R-Mobile APE6) compatible PWM controller.
7 - "renesas,tpu-r8a7740": for R8A7740 (R-Mobile A1) compatible PWM controller.
8 - "renesas,tpu-r8a7790": for R8A7790 (R-Car H2) compatible PWM controller.
9 - "renesas,tpu-sh7372": for SH7372 (SH-Mobile AP4) compatible PWM controller.
10 - "renesas,tpu": for generic R-Car TPU PWM controller.
11
12 - reg: Base address and length of each memory resource used by the PWM
13 controller hardware module.
14
15 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
16 the cells format. The only third cell flag supported by this binding is
17 PWM_POLARITY_INVERTED.
18
19Please refer to pwm.txt in this directory for details of the common PWM bindings
20used by client devices.
21
22Example: R8A7740 (R-Car A1) TPU controller node
23
24 tpu: pwm@e6600000 {
25 compatible = "renesas,tpu-r8a7740", "renesas,tpu";
26 reg = <0xe6600000 0x100>;
27 #pwm-cells = <3>;
28 };
diff --git a/Documentation/devicetree/bindings/pwm/spear-pwm.txt b/Documentation/devicetree/bindings/pwm/spear-pwm.txt
index 3ac779d83386..b486de2c3fe3 100644
--- a/Documentation/devicetree/bindings/pwm/spear-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/spear-pwm.txt
@@ -5,9 +5,8 @@ Required properties:
5 - "st,spear320-pwm" 5 - "st,spear320-pwm"
6 - "st,spear1340-pwm" 6 - "st,spear1340-pwm"
7- reg: physical base address and length of the controller's registers 7- reg: physical base address and length of the controller's registers
8- #pwm-cells: number of cells used to specify PWM which is fixed to 2 on 8- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
9 SPEAr. The first cell specifies the per-chip index of the PWM to use and 9 the cells format.
10 the second cell is the period in nanoseconds.
11 10
12Example: 11Example:
13 12
diff --git a/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
index 2943ee5fce00..4e32bee11201 100644
--- a/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/ti,twl-pwm.txt
@@ -6,8 +6,8 @@ On TWL6030 series: PWM0 and PWM1
6 6
7Required properties: 7Required properties:
8- compatible: "ti,twl4030-pwm" or "ti,twl6030-pwm" 8- compatible: "ti,twl4030-pwm" or "ti,twl6030-pwm"
9- #pwm-cells: should be 2. The first cell specifies the per-chip index 9- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
10 of the PWM to use and the second cell is the period in nanoseconds. 10 the cells format.
11 11
12Example: 12Example:
13 13
diff --git a/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt b/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
index cb64f3acc10f..9f4b46090782 100644
--- a/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
+++ b/Documentation/devicetree/bindings/pwm/ti,twl-pwmled.txt
@@ -6,8 +6,8 @@ On TWL6030 series: LED PWM (mainly used as charging indicator LED)
6 6
7Required properties: 7Required properties:
8- compatible: "ti,twl4030-pwmled" or "ti,twl6030-pwmled" 8- compatible: "ti,twl4030-pwmled" or "ti,twl6030-pwmled"
9- #pwm-cells: should be 2. The first cell specifies the per-chip index 9- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
10 of the PWM to use and the second cell is the period in nanoseconds. 10 the cells format.
11 11
12Example: 12Example:
13 13
diff --git a/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt b/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt
index d21d82d29855..a76390e6df2e 100644
--- a/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/vt8500-pwm.txt
@@ -3,11 +3,9 @@ VIA/Wondermedia VT8500/WM8xxx series SoC PWM controller
3Required properties: 3Required properties:
4- compatible: should be "via,vt8500-pwm" 4- compatible: should be "via,vt8500-pwm"
5- reg: physical base address and length of the controller's registers 5- reg: physical base address and length of the controller's registers
6- #pwm-cells: Should be 3. Number of cells being used to specify PWM property. 6- #pwm-cells: should be 3. See pwm.txt in this directory for a description of
7 First cell specifies the per-chip index of the PWM to use, the second 7 the cells format. The only third cell flag supported by this binding is
8 cell is the period in nanoseconds and bit 0 in the third cell is used to 8 PWM_POLARITY_INVERTED.
9 encode the polarity of PWM output. Set bit 0 of the third in PWM specifier
10 to 1 for inverse polarity & set to 0 for normal polarity.
11- clocks: phandle to the PWM source clock 9- clocks: phandle to the PWM source clock
12 10
13Example: 11Example:
diff --git a/Documentation/devicetree/bindings/regulator/88pm800.txt b/Documentation/devicetree/bindings/regulator/88pm800.txt
new file mode 100644
index 000000000000..e8a54c2a5821
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/88pm800.txt
@@ -0,0 +1,38 @@
1Marvell 88PM800 regulator
2
3Required properties:
4- compatible: "marvell,88pm800"
5- reg: I2C slave address
6- regulators: A node that houses a sub-node for each regulator within the
7 device. Each sub-node is identified using the node's name (or the deprecated
8 regulator-compatible property if present), with valid values listed below.
9 The content of each sub-node is defined by the standard binding for
10 regulators; see regulator.txt.
11
12The valid names for regulators are:
13
14 buck1, buck2, buck3, buck4, buck5, ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7,
15 ldo8, ldo9, ldo10, ldo11, ldo12, ldo13, ldo14, ldo15, ldo16, ldo17, ldo18, ldo19
16
17Example:
18
19 pmic: 88pm800@31 {
20 compatible = "marvell,88pm800";
21 reg = <0x31>;
22
23 regulators {
24 buck1 {
25 regulator-min-microvolt = <600000>;
26 regulator-max-microvolt = <3950000>;
27 regulator-boot-on;
28 regulator-always-on;
29 };
30 ldo1 {
31 regulator-min-microvolt = <600000>;
32 regulator-max-microvolt = <15000000>;
33 regulator-boot-on;
34 regulator-always-on;
35 };
36...
37 };
38 };
diff --git a/Documentation/devicetree/bindings/regulator/max8660.txt b/Documentation/devicetree/bindings/regulator/max8660.txt
new file mode 100644
index 000000000000..8ba994d8a142
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/max8660.txt
@@ -0,0 +1,47 @@
1Maxim MAX8660 voltage regulator
2
3Required properties:
4- compatible: must be one of "maxim,max8660", "maxim,max8661"
5- reg: I2C slave address, usually 0x34
6- any required generic properties defined in regulator.txt
7
8Example:
9
10 i2c_master {
11 max8660@34 {
12 compatible = "maxim,max8660";
13 reg = <0x34>;
14
15 regulators {
16 regulator@0 {
17 regulator-compatible= "V3(DCDC)";
18 regulator-min-microvolt = <725000>;
19 regulator-max-microvolt = <1800000>;
20 };
21
22 regulator@1 {
23 regulator-compatible= "V4(DCDC)";
24 regulator-min-microvolt = <725000>;
25 regulator-max-microvolt = <1800000>;
26 };
27
28 regulator@2 {
29 regulator-compatible= "V5(LDO)";
30 regulator-min-microvolt = <1700000>;
31 regulator-max-microvolt = <2000000>;
32 };
33
34 regulator@3 {
35 regulator-compatible= "V6(LDO)";
36 regulator-min-microvolt = <1800000>;
37 regulator-max-microvolt = <3300000>;
38 };
39
40 regulator@4 {
41 regulator-compatible= "V7(LDO)";
42 regulator-min-microvolt = <1800000>;
43 regulator-max-microvolt = <3300000>;
44 };
45 };
46 };
47 };
diff --git a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt
index 30b0581bb1ce..875639ae0606 100644
--- a/Documentation/devicetree/bindings/regulator/palmas-pmic.txt
+++ b/Documentation/devicetree/bindings/regulator/palmas-pmic.txt
@@ -25,8 +25,8 @@ Optional nodes:
25 Additional custom properties are listed below. 25 Additional custom properties are listed below.
26 26
27 For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP, 27 For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
28 smps45, smps457, smps7 depending on variant, smps6, smps[8-10], 28 smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
29 ldo[1-9], ldoln, ldousb. 29 smps10_out2, smps10_out1, do[1-9], ldoln, ldousb.
30 30
31 Optional sub-node properties: 31 Optional sub-node properties:
32 ti,warm-reset - maintain voltage during warm reset(boolean) 32 ti,warm-reset - maintain voltage during warm reset(boolean)
@@ -36,6 +36,9 @@ Optional nodes:
36 ti,smps-range - OTP has the wrong range set for the hardware so override 36 ti,smps-range - OTP has the wrong range set for the hardware so override
37 0 - low range, 1 - high range. 37 0 - low range, 1 - high range.
38 38
39- ti,system-power-controller: Telling whether or not this pmic is controlling
40 the system power.
41
39Example: 42Example:
40 43
41#include <dt-bindings/interrupt-controller/irq.h> 44#include <dt-bindings/interrupt-controller/irq.h>
@@ -48,6 +51,8 @@ pmic {
48 51
49 ti,ldo6-vibrator; 52 ti,ldo6-vibrator;
50 53
54 ti,system-power-controller;
55
51 regulators { 56 regulators {
52 smps12_reg : smps12 { 57 smps12_reg : smps12 {
53 regulator-name = "smps12"; 58 regulator-name = "smps12";
diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt
new file mode 100644
index 000000000000..fc989b2e8057
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/pfuze100.txt
@@ -0,0 +1,115 @@
1PFUZE100 family of regulators
2
3Required properties:
4- compatible: "fsl,pfuze100"
5- reg: I2C slave address
6
7Required child node:
8- regulators: This is the list of child nodes that specify the regulator
9 initialization data for defined regulators. Please refer to below doc
10 Documentation/devicetree/bindings/regulator/regulator.txt.
11
12 The valid names for regulators are:
13 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
14
15Each regulator is defined using the standard binding for regulators.
16
17Example:
18
19 pmic: pfuze100@08 {
20 compatible = "fsl,pfuze100";
21 reg = <0x08>;
22
23 regulators {
24 sw1a_reg: sw1ab {
25 regulator-min-microvolt = <300000>;
26 regulator-max-microvolt = <1875000>;
27 regulator-boot-on;
28 regulator-always-on;
29 regulator-ramp-delay = <6250>;
30 };
31
32 sw1c_reg: sw1c {
33 regulator-min-microvolt = <300000>;
34 regulator-max-microvolt = <1875000>;
35 regulator-boot-on;
36 regulator-always-on;
37 };
38
39 sw2_reg: sw2 {
40 regulator-min-microvolt = <800000>;
41 regulator-max-microvolt = <3300000>;
42 regulator-boot-on;
43 regulator-always-on;
44 };
45
46 sw3a_reg: sw3a {
47 regulator-min-microvolt = <400000>;
48 regulator-max-microvolt = <1975000>;
49 regulator-boot-on;
50 regulator-always-on;
51 };
52
53 sw3b_reg: sw3b {
54 regulator-min-microvolt = <400000>;
55 regulator-max-microvolt = <1975000>;
56 regulator-boot-on;
57 regulator-always-on;
58 };
59
60 sw4_reg: sw4 {
61 regulator-min-microvolt = <800000>;
62 regulator-max-microvolt = <3300000>;
63 };
64
65 swbst_reg: swbst {
66 regulator-min-microvolt = <5000000>;
67 regulator-max-microvolt = <5150000>;
68 };
69
70 snvs_reg: vsnvs {
71 regulator-min-microvolt = <1000000>;
72 regulator-max-microvolt = <3000000>;
73 regulator-boot-on;
74 regulator-always-on;
75 };
76
77 vref_reg: vrefddr {
78 regulator-boot-on;
79 regulator-always-on;
80 };
81
82 vgen1_reg: vgen1 {
83 regulator-min-microvolt = <800000>;
84 regulator-max-microvolt = <1550000>;
85 };
86
87 vgen2_reg: vgen2 {
88 regulator-min-microvolt = <800000>;
89 regulator-max-microvolt = <1550000>;
90 };
91
92 vgen3_reg: vgen3 {
93 regulator-min-microvolt = <1800000>;
94 regulator-max-microvolt = <3300000>;
95 };
96
97 vgen4_reg: vgen4 {
98 regulator-min-microvolt = <1800000>;
99 regulator-max-microvolt = <3300000>;
100 regulator-always-on;
101 };
102
103 vgen5_reg: vgen5 {
104 regulator-min-microvolt = <1800000>;
105 regulator-max-microvolt = <3300000>;
106 regulator-always-on;
107 };
108
109 vgen6_reg: vgen6 {
110 regulator-min-microvolt = <1800000>;
111 regulator-max-microvolt = <3300000>;
112 regulator-always-on;
113 };
114 };
115 };
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
index 48a3b8e5d6bd..2bd8f0978765 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/regulator.txt
@@ -12,6 +12,8 @@ Optional properties:
12- regulator-allow-bypass: allow the regulator to go into bypass mode 12- regulator-allow-bypass: allow the regulator to go into bypass mode
13- <name>-supply: phandle to the parent supply/regulator node 13- <name>-supply: phandle to the parent supply/regulator node
14- regulator-ramp-delay: ramp delay for regulator(in uV/uS) 14- regulator-ramp-delay: ramp delay for regulator(in uV/uS)
15 For hardwares which support disabling ramp rate, it should be explicitly
16 intialised to zero (regulator-ramp-delay = <0>) for disabling ramp delay.
15 17
16Deprecated properties: 18Deprecated properties:
17- regulator-compatible: If a regulator chip contains multiple 19- regulator-compatible: If a regulator chip contains multiple
diff --git a/Documentation/devicetree/bindings/rtc/dw-apb.txt b/Documentation/devicetree/bindings/rtc/dw-apb.txt
index eb2327b2bdb3..c703d51abb6c 100644
--- a/Documentation/devicetree/bindings/rtc/dw-apb.txt
+++ b/Documentation/devicetree/bindings/rtc/dw-apb.txt
@@ -1,7 +1,10 @@
1* Designware APB timer 1* Designware APB timer
2 2
3Required properties: 3Required properties:
4- compatible: "snps,dw-apb-timer-sp" or "snps,dw-apb-timer-osc" 4- compatible: One of:
5 "snps,dw-apb-timer"
6 "snps,dw-apb-timer-sp" <DEPRECATED>
7 "snps,dw-apb-timer-osc" <DEPRECATED>
5- reg: physical base address of the controller and length of memory mapped 8- reg: physical base address of the controller and length of memory mapped
6 region. 9 region.
7- interrupts: IRQ line for the timer. 10- interrupts: IRQ line for the timer.
@@ -20,25 +23,10 @@ systems may use one.
20 23
21 24
22Example: 25Example:
23 26 timer@ffe00000 {
24 timer1: timer@ffc09000 { 27 compatible = "snps,dw-apb-timer";
25 compatible = "snps,dw-apb-timer-sp"; 28 interrupts = <0 170 4>;
26 interrupts = <0 168 4>; 29 reg = <0xffe00000 0x1000>;
27 clock-frequency = <200000000>; 30 clocks = <&timer_clk>, <&timer_pclk>;
28 reg = <0xffc09000 0x1000>; 31 clock-names = "timer", "pclk";
29 }; 32 };
30
31 timer2: timer@ffd00000 {
32 compatible = "snps,dw-apb-timer-osc";
33 interrupts = <0 169 4>;
34 clock-frequency = <200000000>;
35 reg = <0xffd00000 0x1000>;
36 };
37
38 timer3: timer@ffe00000 {
39 compatible = "snps,dw-apb-timer-osc";
40 interrupts = <0 170 4>;
41 reg = <0xffe00000 0x1000>;
42 clocks = <&timer_clk>, <&timer_pclk>;
43 clock-names = "timer", "pclk";
44 };
diff --git a/Documentation/devicetree/bindings/rtc/moxa,moxart-rtc.txt b/Documentation/devicetree/bindings/rtc/moxa,moxart-rtc.txt
new file mode 100644
index 000000000000..c9d3ac1477fe
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/moxa,moxart-rtc.txt
@@ -0,0 +1,17 @@
1MOXA ART real-time clock
2
3Required properties:
4
5- compatible : Should be "moxa,moxart-rtc"
6- gpio-rtc-sclk : RTC sclk gpio, with zero flags
7- gpio-rtc-data : RTC data gpio, with zero flags
8- gpio-rtc-reset : RTC reset gpio, with zero flags
9
10Example:
11
12 rtc: rtc {
13 compatible = "moxa,moxart-rtc";
14 gpio-rtc-sclk = <&gpio 5 0>;
15 gpio-rtc-data = <&gpio 6 0>;
16 gpio-rtc-reset = <&gpio 7 0>;
17 };
diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
index b47aa415c820..5a0f02d34d95 100644
--- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt
+++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
@@ -1,7 +1,11 @@
1TI Real Time Clock 1TI Real Time Clock
2 2
3Required properties: 3Required properties:
4- compatible: "ti,da830-rtc" 4- compatible:
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.
7 This RTC IP has special WAKE-EN Register to enable
8 Wakeup generation for event Alarm.
5- reg: Address range of rtc register set 9- reg: Address range of rtc register set
6- interrupts: rtc timer, alarm interrupts in order 10- interrupts: rtc timer, alarm interrupts in order
7- interrupt-parent: phandle for the interrupt controller 11- interrupt-parent: phandle for the interrupt controller
diff --git a/Documentation/devicetree/bindings/rtc/rtc-palmas.txt b/Documentation/devicetree/bindings/rtc/rtc-palmas.txt
new file mode 100644
index 000000000000..adbccc0a51e1
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/rtc-palmas.txt
@@ -0,0 +1,33 @@
1Palmas RTC controller bindings
2
3Required properties:
4- compatible:
5 - "ti,palmas-rtc" for palma series of the RTC controller
6- interrupt-parent: Parent interrupt device, must be handle of palmas node.
7- interrupts: Interrupt number of RTC submodule on device.
8
9Optional properties:
10
11- ti,backup-battery-chargeable: The Palmas series device like TPS65913 or
12 TPS80036 supports the backup battery for powering the RTC when main
13 battery is removed or in very low power state. The backup battery
14 can be chargeable or non-chargeable. This flag will tells whether
15 battery is chargeable or not. If charging battery then driver can
16 enable the charging.
17- ti,backup-battery-charge-high-current: Enable high current charging in
18 backup battery. Device supports the < 100mA and > 100mA charging.
19 The high current will be > 100mA. Absence of this property will
20 charge battery to lower current i.e. < 100mA.
21
22Example:
23 palmas: tps65913@58 {
24 ...
25 palmas_rtc: rtc {
26 compatible = "ti,palmas-rtc";
27 interrupt-parent = <&palmas>;
28 interrupts = <8 0>;
29 ti,backup-battery-chargeable;
30 ti,backup-battery-charge-high-current;
31 };
32 ...
33 };
diff --git a/Documentation/devicetree/bindings/serial/altera_jtaguart.txt b/Documentation/devicetree/bindings/serial/altera_jtaguart.txt
index c152f65f9a28..55a901051e8f 100644
--- a/Documentation/devicetree/bindings/serial/altera_jtaguart.txt
+++ b/Documentation/devicetree/bindings/serial/altera_jtaguart.txt
@@ -1,4 +1,5 @@
1Altera JTAG UART 1Altera JTAG UART
2 2
3Required properties: 3Required properties:
4- compatible : should be "ALTR,juart-1.0" 4- compatible : should be "ALTR,juart-1.0" <DEPRECATED>
5- compatible : should be "altr,juart-1.0"
diff --git a/Documentation/devicetree/bindings/serial/altera_uart.txt b/Documentation/devicetree/bindings/serial/altera_uart.txt
index 71cae3f70100..81bf7ffb1a81 100644
--- a/Documentation/devicetree/bindings/serial/altera_uart.txt
+++ b/Documentation/devicetree/bindings/serial/altera_uart.txt
@@ -1,7 +1,8 @@
1Altera UART 1Altera UART
2 2
3Required properties: 3Required properties:
4- compatible : should be "ALTR,uart-1.0" 4- compatible : should be "ALTR,uart-1.0" <DEPRECATED>
5- compatible : should be "altr,uart-1.0"
5 6
6Optional properties: 7Optional properties:
7- clock-frequency : frequency of the clock input to the UART 8- clock-frequency : frequency of the clock input to the UART
diff --git a/Documentation/devicetree/bindings/tty/serial/arc-uart.txt b/Documentation/devicetree/bindings/serial/arc-uart.txt
index 5cae2eb686f8..5cae2eb686f8 100644
--- a/Documentation/devicetree/bindings/tty/serial/arc-uart.txt
+++ b/Documentation/devicetree/bindings/serial/arc-uart.txt
diff --git a/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt b/Documentation/devicetree/bindings/serial/atmel-usart.txt
index a49d9a1d4ccf..2191dcb9f1da 100644
--- a/Documentation/devicetree/bindings/tty/serial/atmel-usart.txt
+++ b/Documentation/devicetree/bindings/serial/atmel-usart.txt
@@ -10,13 +10,18 @@ Required properties:
10Optional properties: 10Optional properties:
11- atmel,use-dma-rx: use of PDC or DMA for receiving data 11- atmel,use-dma-rx: use of PDC or DMA for receiving data
12- atmel,use-dma-tx: use of PDC or DMA for transmitting data 12- atmel,use-dma-tx: use of PDC or DMA for transmitting data
13- add dma bindings for dma transfer:
14 - dmas: DMA specifier, consisting of a phandle to DMA controller node,
15 memory peripheral interface and USART DMA channel ID, FIFO configuration.
16 Refer to dma.txt and atmel-dma.txt for details.
17 - dma-names: "rx" for RX channel, "tx" for TX channel.
13 18
14<chip> compatible description: 19<chip> compatible description:
15- at91rm9200: legacy USART support 20- at91rm9200: legacy USART support
16- at91sam9260: generic USART implementation for SAM9 SoCs 21- at91sam9260: generic USART implementation for SAM9 SoCs
17 22
18Example: 23Example:
19 24- use PDC:
20 usart0: serial@fff8c000 { 25 usart0: serial@fff8c000 {
21 compatible = "atmel,at91sam9260-usart"; 26 compatible = "atmel,at91sam9260-usart";
22 reg = <0xfff8c000 0x4000>; 27 reg = <0xfff8c000 0x4000>;
@@ -25,3 +30,14 @@ Example:
25 atmel,use-dma-tx; 30 atmel,use-dma-tx;
26 }; 31 };
27 32
33- use DMA:
34 usart0: serial@f001c000 {
35 compatible = "atmel,at91sam9260-usart";
36 reg = <0xf001c000 0x100>;
37 interrupts = <12 4 5>;
38 atmel,use-dma-rx;
39 atmel,use-dma-tx;
40 dmas = <&dma0 2 0x3>,
41 <&dma0 2 0x204>;
42 dma-names = "tx", "rx";
43 };
diff --git a/Documentation/devicetree/bindings/tty/serial/efm32-uart.txt b/Documentation/devicetree/bindings/serial/efm32-uart.txt
index 8e080b893b49..8e080b893b49 100644
--- a/Documentation/devicetree/bindings/tty/serial/efm32-uart.txt
+++ b/Documentation/devicetree/bindings/serial/efm32-uart.txt
diff --git a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
index c58573b5b1a4..35ae1fb3537f 100644
--- a/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-imx-uart.txt
@@ -1,35 +1,29 @@
1* Freescale i.MX UART controller 1* Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
2 2
3Required properties: 3Required properties:
4- compatible : should be "fsl,imx21-uart" 4- compatible : Should be "fsl,<soc>-uart"
5- reg : Address and length of the register set for the device 5- reg : Address and length of the register set for the device
6- interrupts : Should contain UART interrupt number 6- interrupts : Should contain uart interrupt
7 7
8Optional properties: 8Optional properties:
9- fsl,uart-has-rtscts: indicate that RTS/CTS signals are used 9- fsl,uart-has-rtscts : Indicate the uart has rts and cts
10- fsl,irda-mode : Indicate the uart supports irda mode
11- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
12 is DCE mode by default.
10 13
11Note: Each uart controller should have an alias correctly numbered 14Note: Each uart controller should have an alias correctly numbered
12in "aliases" node. 15in "aliases" node.
13 16
14Example: 17Example:
15 18
16- From imx51.dtsi:
17aliases { 19aliases {
18 serial0 = &uart1; 20 serial0 = &uart1;
19 serial1 = &uart2;
20 serial2 = &uart3;
21}; 21};
22 22
23uart1: serial@73fbc000 { 23uart1: serial@73fbc000 {
24 compatible = "fsl,imx51-uart", "fsl,imx21-uart"; 24 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
25 reg = <0x73fbc000 0x4000>; 25 reg = <0x73fbc000 0x4000>;
26 interrupts = <31>; 26 interrupts = <31>;
27 status = "disabled";
28}
29
30- From imx51-babbage.dts:
31uart1: serial@73fbc000 {
32 fsl,uart-has-rtscts; 27 fsl,uart-has-rtscts;
33 status = "okay"; 28 fsl,dte-mode;
34}; 29};
35
diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
index 6fd1dd1638dd..6fd1dd1638dd 100644
--- a/Documentation/devicetree/bindings/tty/serial/fsl-lpuart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt
index 2c00ec64628e..59a40f18d551 100644
--- a/Documentation/devicetree/bindings/tty/serial/fsl-mxs-auart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-mxs-auart.txt
@@ -10,6 +10,10 @@ Required properties:
10 Refer to dma.txt and fsl-mxs-dma.txt for details. 10 Refer to dma.txt and fsl-mxs-dma.txt for details.
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:
14- fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines,
15 it also means you enable the DMA support for this UART.
16
13Example: 17Example:
14auart0: serial@8006a000 { 18auart0: serial@8006a000 {
15 compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 19 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
diff --git a/Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt b/Documentation/devicetree/bindings/serial/nxp-lpc32xx-hsuart.txt
index 0d439dfc1aa5..0d439dfc1aa5 100644
--- a/Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt
+++ b/Documentation/devicetree/bindings/serial/nxp-lpc32xx-hsuart.txt
diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/serial/of-serial.txt
index 1928a3e83cd0..1928a3e83cd0 100644
--- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt
+++ b/Documentation/devicetree/bindings/serial/of-serial.txt
diff --git a/Documentation/devicetree/bindings/serial/qcom,msm-uart.txt b/Documentation/devicetree/bindings/serial/qcom,msm-uart.txt
new file mode 100644
index 000000000000..ce8c90161959
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/qcom,msm-uart.txt
@@ -0,0 +1,25 @@
1* MSM Serial UART
2
3The MSM serial UART hardware is designed for low-speed use cases where a
4dma-engine isn't needed. From a software perspective it's mostly compatible
5with the MSM serial UARTDM except that it only supports reading and writing one
6character at a time.
7
8Required properties:
9- compatible: Should contain "qcom,msm-uart"
10- reg: Should contain UART register location and length.
11- interrupts: Should contain UART interrupt.
12- clocks: Should contain the core clock.
13- clock-names: Should be "core".
14
15Example:
16
17A uart device at 0xa9c00000 with interrupt 11.
18
19serial@a9c00000 {
20 compatible = "qcom,msm-uart";
21 reg = <0xa9c00000 0x1000>;
22 interrupts = <11>;
23 clocks = <&uart_cxc>;
24 clock-names = "core";
25};
diff --git a/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt
new file mode 100644
index 000000000000..ffa5b784c66e
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt
@@ -0,0 +1,53 @@
1* MSM Serial UARTDM
2
3The MSM serial UARTDM hardware is designed for high-speed use cases where the
4transmit and/or receive channels can be offloaded to a dma-engine. From a
5software perspective it's mostly compatible with the MSM serial UART except
6that it supports reading and writing multiple characters at a time.
7
8Required properties:
9- compatible: Should contain at least "qcom,msm-uartdm".
10 A more specific property should be specified as follows depending
11 on the version:
12 "qcom,msm-uartdm-v1.1"
13 "qcom,msm-uartdm-v1.2"
14 "qcom,msm-uartdm-v1.3"
15 "qcom,msm-uartdm-v1.4"
16- reg: Should contain UART register locations and lengths. The first
17 register shall specify the main control registers. An optional second
18 register location shall specify the GSBI control region.
19 "qcom,msm-uartdm-v1.3" is the only compatible value that might
20 need the GSBI control region.
21- interrupts: Should contain UART interrupt.
22- clocks: Should contain the core clock and the AHB clock.
23- clock-names: Should be "core" for the core clock and "iface" for the
24 AHB clock.
25
26Optional properties:
27- dmas: Should contain dma specifiers for transmit and receive channels
28- dma-names: Should contain "tx" for transmit and "rx" for receive channels
29
30Examples:
31
32A uartdm v1.4 device with dma capabilities.
33
34serial@f991e000 {
35 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
36 reg = <0xf991e000 0x1000>;
37 interrupts = <0 108 0x0>;
38 clocks = <&blsp1_uart2_apps_cxc>, <&blsp1_ahb_cxc>;
39 clock-names = "core", "iface";
40 dmas = <&dma0 0>, <&dma0 1>;
41 dma-names = "tx", "rx";
42};
43
44A uartdm v1.3 device without dma capabilities and part of a GSBI complex.
45
46serial@19c40000 {
47 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
48 reg = <0x19c40000 0x1000>,
49 <0x19c00000 0x1000>;
50 interrupts = <0 195 0x0>;
51 clocks = <&gsbi5_uart_cxc>, <&gsbi5_ahb_cxc>;
52 clock-names = "core", "iface";
53};
diff --git a/Documentation/devicetree/bindings/serial/rs485.txt b/Documentation/devicetree/bindings/serial/rs485.txt
index 1e753c69fc83..32b1fa1f2a5b 100644
--- a/Documentation/devicetree/bindings/serial/rs485.txt
+++ b/Documentation/devicetree/bindings/serial/rs485.txt
@@ -7,7 +7,7 @@ UART node.
7 7
8Required properties: 8Required properties:
9- rs485-rts-delay: prop-encoded-array <a b> where: 9- rs485-rts-delay: prop-encoded-array <a b> where:
10 * a is the delay beteween rts signal and beginning of data sent in milliseconds. 10 * a is the delay between rts signal and beginning of data sent in milliseconds.
11 it corresponds to the delay before sending data. 11 it corresponds to the delay before sending data.
12 * b is the delay between end of data sent and rts signal in milliseconds 12 * b is the delay between end of data sent and rts signal in milliseconds
13 it corresponds to the delay after sending data and actual release of the line. 13 it corresponds to the delay after sending data and actual release of the line.
diff --git a/Documentation/devicetree/bindings/serial/sirf-uart.txt b/Documentation/devicetree/bindings/serial/sirf-uart.txt
new file mode 100644
index 000000000000..a2dfc6522a91
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/sirf-uart.txt
@@ -0,0 +1,33 @@
1* CSR SiRFprimaII/atlasVI Universal Synchronous Asynchronous Receiver/Transmitter *
2
3Required properties:
4- compatible : Should be "sirf,prima2-uart" or "sirf, prima2-usp-uart"
5- reg : Offset and length of the register set for the device
6- interrupts : Should contain uart interrupt
7- fifosize : Should define hardware rx/tx fifo size
8- clocks : Should contain uart clock number
9
10Optional properties:
11- sirf,uart-has-rtscts: we have hardware flow controller pins in hardware
12- rts-gpios: RTS pin for USP-based UART if sirf,uart-has-rtscts is true
13- cts-gpios: CTS pin for USP-based UART if sirf,uart-has-rtscts is true
14
15Example:
16
17uart0: uart@b0050000 {
18 cell-index = <0>;
19 compatible = "sirf,prima2-uart";
20 reg = <0xb0050000 0x1000>;
21 interrupts = <17>;
22 fifosize = <128>;
23 clocks = <&clks 13>;
24};
25
26On the board-specific dts, we can put rts-gpios and cts-gpios like
27
28usp@b0090000 {
29 compatible = "sirf,prima2-usp-uart";
30 sirf,uart-has-rtscts;
31 rts-gpios = <&gpio 15 0>;
32 cts-gpios = <&gpio 46 0>;
33};
diff --git a/Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt
index f13f1c5be91c..f13f1c5be91c 100644
--- a/Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt
+++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.txt
diff --git a/Documentation/devicetree/bindings/serial/st-asc.txt b/Documentation/devicetree/bindings/serial/st-asc.txt
new file mode 100644
index 000000000000..75d877f5968f
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/st-asc.txt
@@ -0,0 +1,18 @@
1*st-asc(Serial Port)
2
3Required properties:
4- compatible : Should be "st,asc".
5- reg, reg-names, interrupts, interrupt-names : Standard way to define device
6 resources with names. look in
7 Documentation/devicetree/bindings/resource-names.txt
8
9Optional properties:
10- st,hw-flow-ctrl bool flag to enable hardware flow control.
11- st,force-m1 bool flat to force asc to be in Mode-1 recommeded
12 for high bit rates (above 19.2K)
13Example:
14serial@fe440000{
15 compatible = "st,asc";
16 reg = <0xfe440000 0x2c>;
17 interrupts = <0 209 0>;
18};
diff --git a/Documentation/devicetree/bindings/tty/serial/via,vt8500-uart.txt b/Documentation/devicetree/bindings/serial/via,vt8500-uart.txt
index 5feef1ef167d..5feef1ef167d 100644
--- a/Documentation/devicetree/bindings/tty/serial/via,vt8500-uart.txt
+++ b/Documentation/devicetree/bindings/serial/via,vt8500-uart.txt
diff --git a/Documentation/devicetree/bindings/serio/altera_ps2.txt b/Documentation/devicetree/bindings/serio/altera_ps2.txt
index 4d9eecc2ef7d..520199e2e347 100644
--- a/Documentation/devicetree/bindings/serio/altera_ps2.txt
+++ b/Documentation/devicetree/bindings/serio/altera_ps2.txt
@@ -1,4 +1,5 @@
1Altera UP PS/2 controller 1Altera UP PS/2 controller
2 2
3Required properties: 3Required properties:
4- compatible : should be "ALTR,ps2-1.0". 4- compatible : should be "ALTR,ps2-1.0". <DEPRECATED>
5- compatible : should be "altr,ps2-1.0".
diff --git a/Documentation/devicetree/bindings/spi/efm32-spi.txt b/Documentation/devicetree/bindings/spi/efm32-spi.txt
new file mode 100644
index 000000000000..a590ca51be75
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/efm32-spi.txt
@@ -0,0 +1,34 @@
1* Energy Micro EFM32 SPI
2
3Required properties:
4- #address-cells: see spi-bus.txt
5- #size-cells: see spi-bus.txt
6- compatible: should be "efm32,spi"
7- reg: Offset and length of the register set for the controller
8- interrupts: pair specifying rx and tx irq
9- clocks: phandle to the spi clock
10- cs-gpios: see spi-bus.txt
11- location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values.
12
13Example:
14
15spi1: spi@0x4000c400 { /* USART1 */
16 #address-cells = <1>;
17 #size-cells = <0>;
18 compatible = "efm32,spi";
19 reg = <0x4000c400 0x400>;
20 interrupts = <15 16>;
21 clocks = <&cmu 20>;
22 cs-gpios = <&gpio 51 1>; // D3
23 location = <1>;
24 status = "ok";
25
26 ks8851@0 {
27 compatible = "ks8851";
28 spi-max-frequency = <6000000>;
29 reg = <0>;
30 interrupt-parent = <&boardfpga>;
31 interrupts = <4>;
32 status = "ok";
33 };
34};
diff --git a/Documentation/devicetree/bindings/spi/spi-bus.txt b/Documentation/devicetree/bindings/spi/spi-bus.txt
index 296015e3c632..800dafe5b01b 100644
--- a/Documentation/devicetree/bindings/spi/spi-bus.txt
+++ b/Documentation/devicetree/bindings/spi/spi-bus.txt
@@ -55,6 +55,16 @@ contain the following properties.
55 chip select active high 55 chip select active high
56- spi-3wire - (optional) Empty property indicating device requires 56- spi-3wire - (optional) Empty property indicating device requires
57 3-wire mode. 57 3-wire mode.
58- spi-tx-bus-width - (optional) The bus width(number of data wires) that
59 used for MOSI. Defaults to 1 if not present.
60- spi-rx-bus-width - (optional) The bus width(number of data wires) that
61 used for MISO. Defaults to 1 if not present.
62
63Some SPI controllers and devices support Dual and Quad SPI transfer mode.
64It allows data in SPI system transfered in 2 wires(DUAL) or 4 wires(QUAD).
65Now the value that spi-tx-bus-width and spi-rx-bus-width can receive is
66only 1(SINGLE), 2(DUAL) and 4(QUAD).
67Dual/Quad mode is not allowed when 3-wire mode is used.
58 68
59If a gpio chipselect is used for the SPI slave the gpio number will be passed 69If a gpio chipselect is used for the SPI slave the gpio number will be passed
60via the cs_gpio 70via the cs_gpio
diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
new file mode 100644
index 000000000000..a1fb3035a42b
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
@@ -0,0 +1,42 @@
1ARM Freescale DSPI controller
2
3Required properties:
4- compatible : "fsl,vf610-dspi"
5- reg : Offset and length of the register set for the device
6- interrupts : Should contain SPI controller interrupt
7- clocks: from common clock binding: handle to dspi clock.
8- clock-names: from common clock binding: Shall be "dspi".
9- pinctrl-0: pin control group to be used for this controller.
10- pinctrl-names: must contain a "default" entry.
11- spi-num-chipselects : the number of the chipselect signals.
12- bus-num : the slave chip chipselect signal number.
13Example:
14
15dspi0@4002c000 {
16 #address-cells = <1>;
17 #size-cells = <0>;
18 compatible = "fsl,vf610-dspi";
19 reg = <0x4002c000 0x1000>;
20 interrupts = <0 67 0x04>;
21 clocks = <&clks VF610_CLK_DSPI0>;
22 clock-names = "dspi";
23 spi-num-chipselects = <5>;
24 bus-num = <0>;
25 pinctrl-names = "default";
26 pinctrl-0 = <&pinctrl_dspi0_1>;
27 status = "okay";
28
29 sflash: at26df081a@0 {
30 #address-cells = <1>;
31 #size-cells = <1>;
32 compatible = "atmel,at26df081a";
33 spi-max-frequency = <16000000>;
34 spi-cpol;
35 spi-cpha;
36 reg = <0>;
37 linux,modalias = "m25p80";
38 modal = "at26df081a";
39 };
40};
41
42
diff --git a/Documentation/devicetree/bindings/spi/spi_altera.txt b/Documentation/devicetree/bindings/spi/spi_altera.txt
index dda375943506..31319dcf30ab 100644
--- a/Documentation/devicetree/bindings/spi/spi_altera.txt
+++ b/Documentation/devicetree/bindings/spi/spi_altera.txt
@@ -1,4 +1,5 @@
1Altera SPI 1Altera SPI
2 2
3Required properties: 3Required properties:
4- compatible : should be "ALTR,spi-1.0". 4- compatible : should be "ALTR,spi-1.0". <DEPRECATED>
5- compatible : should be "altr,spi-1.0".
diff --git a/Documentation/devicetree/bindings/spi/ti_qspi.txt b/Documentation/devicetree/bindings/spi/ti_qspi.txt
new file mode 100644
index 000000000000..1f9641ade0b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/ti_qspi.txt
@@ -0,0 +1,22 @@
1TI QSPI controller.
2
3Required properties:
4- compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".
5- reg: Should contain QSPI registers location and length.
6- #address-cells, #size-cells : Must be present if the device has sub-nodes
7- ti,hwmods: Name of the hwmod associated to the QSPI
8
9Recommended properties:
10- spi-max-frequency: Definition as per
11 Documentation/devicetree/bindings/spi/spi-bus.txt
12
13Example:
14
15qspi: qspi@4b300000 {
16 compatible = "ti,dra7xxx-qspi";
17 reg = <0x4b300000 0x100>;
18 #address-cells = <1>;
19 #size-cells = <0>;
20 spi-max-frequency = <25000000>;
21 ti,hwmods = "qspi";
22};
diff --git a/Documentation/devicetree/bindings/thermal/exynos-thermal.txt b/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
new file mode 100644
index 000000000000..284f5300fd8b
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
@@ -0,0 +1,55 @@
1* Exynos Thermal Management Unit (TMU)
2
3** Required properties:
4
5- compatible : One of the following:
6 "samsung,exynos4412-tmu"
7 "samsung,exynos4210-tmu"
8 "samsung,exynos5250-tmu"
9 "samsung,exynos5440-tmu"
10- interrupt-parent : The phandle for the interrupt controller
11- reg : Address range of the thermal registers. For soc's which has multiple
12 instances of TMU and some registers are shared across all TMU's like
13 interrupt related then 2 set of register has to supplied. First set
14 belongs to each instance of TMU and second set belongs to common TMU
15 registers.
16- interrupts : Should contain interrupt for thermal system
17- clocks : The main clock for TMU device
18- clock-names : Thermal system clock name
19- vtmu-supply: This entry is optional and provides the regulator node supplying
20 voltage to TMU. If needed this entry can be placed inside
21 board/platform specific dts file.
22
23Example 1):
24
25 tmu@100C0000 {
26 compatible = "samsung,exynos4412-tmu";
27 interrupt-parent = <&combiner>;
28 reg = <0x100C0000 0x100>;
29 interrupts = <2 4>;
30 clocks = <&clock 383>;
31 clock-names = "tmu_apbif";
32 status = "disabled";
33 vtmu-supply = <&tmu_regulator_node>;
34 };
35
36Example 2):
37
38 tmuctrl_0: tmuctrl@160118 {
39 compatible = "samsung,exynos5440-tmu";
40 reg = <0x160118 0x230>, <0x160368 0x10>;
41 interrupts = <0 58 0>;
42 clocks = <&clock 21>;
43 clock-names = "tmu_apbif";
44 };
45
46Note: For multi-instance tmu each instance should have an alias correctly
47numbered in "aliases" node.
48
49Example:
50
51aliases {
52 tmuctrl0 = &tmuctrl_0;
53 tmuctrl1 = &tmuctrl_1;
54 tmuctrl2 = &tmuctrl_2;
55};
diff --git a/Documentation/devicetree/bindings/thermal/imx-thermal.txt b/Documentation/devicetree/bindings/thermal/imx-thermal.txt
new file mode 100644
index 000000000000..541c25e49abf
--- /dev/null
+++ b/Documentation/devicetree/bindings/thermal/imx-thermal.txt
@@ -0,0 +1,17 @@
1* Temperature Monitor (TEMPMON) on Freescale i.MX SoCs
2
3Required properties:
4- compatible : "fsl,imx6q-thermal"
5- fsl,tempmon : phandle pointer to system controller that contains TEMPMON
6 control registers, e.g. ANATOP on imx6q.
7- fsl,tempmon-data : phandle pointer to fuse controller that contains TEMPMON
8 calibration data, e.g. OCOTP on imx6q. The details about calibration data
9 can be found in SoC Reference Manual.
10
11Example:
12
13tempmon {
14 compatible = "fsl,imx6q-tempmon";
15 fsl,tempmon = <&anatop>;
16 fsl,tempmon-data = <&ocotp>;
17};
diff --git a/Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt b/Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
new file mode 100644
index 000000000000..da2d510cae47
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
@@ -0,0 +1,17 @@
1MOXA ART timer
2
3Required properties:
4
5- compatible : Must be "moxa,moxart-timer"
6- reg : Should contain registers location and length
7- interrupts : Should contain the timer interrupt number
8- clocks : Should contain phandle for the clock that drives the counter
9
10Example:
11
12 timer: timer@98400000 {
13 compatible = "moxa,moxart-timer";
14 reg = <0x98400000 0x42>;
15 interrupts = <19 1>;
16 clocks = <&coreclk>;
17 };
diff --git a/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt b/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt
deleted file mode 100644
index c662eb36be29..000000000000
--- a/Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt
+++ /dev/null
@@ -1,22 +0,0 @@
1* Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
2
3Required properties:
4- compatible : Should be "fsl,<soc>-uart"
5- reg : Address and length of the register set for the device
6- interrupts : Should contain uart interrupt
7
8Optional properties:
9- fsl,uart-has-rtscts : Indicate the uart has rts and cts
10- fsl,irda-mode : Indicate the uart supports irda mode
11- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
12 is DCE mode by default.
13
14Example:
15
16serial@73fbc000 {
17 compatible = "fsl,imx51-uart", "fsl,imx21-uart";
18 reg = <0x73fbc000 0x4000>;
19 interrupts = <31>;
20 fsl,uart-has-rtscts;
21 fsl,dte-mode;
22};
diff --git a/Documentation/devicetree/bindings/tty/serial/msm_serial.txt b/Documentation/devicetree/bindings/tty/serial/msm_serial.txt
deleted file mode 100644
index aef383eb8876..000000000000
--- a/Documentation/devicetree/bindings/tty/serial/msm_serial.txt
+++ /dev/null
@@ -1,27 +0,0 @@
1* Qualcomm MSM UART
2
3Required properties:
4- compatible :
5 - "qcom,msm-uart", and one of "qcom,msm-hsuart" or
6 "qcom,msm-lsuart".
7- reg : offset and length of the register set for the device
8 for the hsuart operating in compatible mode, there should be a
9 second pair describing the gsbi registers.
10- interrupts : should contain the uart interrupt.
11
12There are two different UART blocks used in MSM devices,
13"qcom,msm-hsuart" and "qcom,msm-lsuart". The msm-serial driver is
14able to handle both of these, and matches against the "qcom,msm-uart"
15as the compatibility.
16
17The registers for the "qcom,msm-hsuart" device need to specify both
18register blocks, even for the common driver.
19
20Example:
21
22 uart@19c400000 {
23 compatible = "qcom,msm-hsuart", "qcom,msm-uart";
24 reg = <0x19c40000 0x1000>,
25 <0x19c00000 0x1000>;
26 interrupts = <195>;
27 };
diff --git a/Documentation/devicetree/bindings/tty/serial/qca,ar9330-uart.txt b/Documentation/devicetree/bindings/tty/serial/qca,ar9330-uart.txt
new file mode 100644
index 000000000000..c5e032c85bf9
--- /dev/null
+++ b/Documentation/devicetree/bindings/tty/serial/qca,ar9330-uart.txt
@@ -0,0 +1,34 @@
1* Qualcomm Atheros AR9330 High-Speed UART
2
3Required properties:
4
5- compatible: Must be "qca,ar9330-uart"
6
7- reg: Specifies the physical base address of the controller and
8 the length of the memory mapped region.
9
10- interrupt-parent: The phandle for the interrupt controller that
11 services interrupts for this device.
12
13- interrupts: Specifies the interrupt source of the parent interrupt
14 controller. The format of the interrupt specifier depends on the
15 parent interrupt controller.
16
17Additional requirements:
18
19 Each UART port must have an alias correctly numbered in "aliases"
20 node.
21
22Example:
23
24 aliases {
25 serial0 = &uart0;
26 };
27
28 uart0: uart@18020000 {
29 compatible = "qca,ar9330-uart";
30 reg = <0x18020000 0x14>;
31
32 interrupt-parent = <&intc>;
33 interrupts = <3>;
34 };
diff --git a/Documentation/devicetree/bindings/usb/am33xx-usb.txt b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
index dc9dc8c87f15..20c2ff2ba07e 100644
--- a/Documentation/devicetree/bindings/usb/am33xx-usb.txt
+++ b/Documentation/devicetree/bindings/usb/am33xx-usb.txt
@@ -1,35 +1,197 @@
1AM33XX MUSB GLUE 1 AM33xx MUSB
2 - compatible : Should be "ti,musb-am33xx" 2~~~~~~~~~~~~~~~
3 - reg : offset and length of register sets, first usbss, then for musb instances 3- compatible: ti,am33xx-usb
4 - interrupts : usbss, musb instance interrupts in order 4- reg: offset and length of the usbss register sets
5 - ti,hwmods : must be "usb_otg_hs" 5- ti,hwmods : must be "usb_otg_hs"
6 - multipoint : Should be "1" indicating the musb controller supports 6
7 multipoint. This is a MUSB configuration-specific setting. 7The glue layer contains multiple child nodes. It is required the have
8 - num-eps : Specifies the number of endpoints. This is also a 8at least a control module node, USB node and a PHY node. The second USB
9 MUSB configuration-specific setting. Should be set to "16" 9node and its PHY node is optional. The DMA node is also optional.
10 - ram-bits : Specifies the ram address size. Should be set to "12" 10
11 - port0-mode : Should be "3" to represent OTG. "1" signifies HOST and "2" 11Reset module
12 represents PERIPHERAL. 12~~~~~~~~~~~~
13 - port1-mode : Should be "1" to represent HOST. "3" signifies OTG and "2" 13- compatible: ti,am335x-usb-ctrl-module
14 represents PERIPHERAL. 14- reg: offset and length of the "USB control registers" in the "Control
15 - power : Should be "250". This signifies the controller can supply up to 15 Module" block. A second offset and length for the USB wake up control
16 500mA when operating in host mode. 16 in the same memory block.
17- reg-names: "phy_ctrl" for the "USB control registers" and "wakeup" for
18 the USB wake up control register.
19
20USB PHY
21~~~~~~~
22compatible: ti,am335x-usb-phy
23reg: offset and length of the "USB PHY" register space
24ti,ctrl_mod: reference to the "reset module" node
25reg-names: phy
26The PHY should have a "phy" alias numbered properly in the alias
27node.
28
29USB
30~~~
31- compatible: ti,musb-am33xx
32- reg: offset and length of "USB Controller Registers", and offset and
33 length of "USB Core" register space.
34- reg-names: control for the ""USB Controller Registers" and "mc" for
35 "USB Core" register space
36- interrupts: USB interrupt number
37- interrupt-names: mc
38- dr_mode: Should be one of "host", "peripheral" or "otg".
39- mentor,multipoint: Should be "1" indicating the musb controller supports
40 multipoint. This is a MUSB configuration-specific setting.
41- mentor,num-eps: Specifies the number of endpoints. This is also a
42 MUSB configuration-specific setting. Should be set to "16"
43- mentor,ram-bits: Specifies the ram address size. Should be set to "12"
44- mentor,power: Should be "500". This signifies the controller can supply up to
45 500mA when operating in host mode.
46- phys: reference to the USB phy
47- dmas: specifies the dma channels
48- dma-names: specifies the names of the channels. Use "rxN" for receive
49 and "txN" for transmit endpoints. N specifies the endpoint number.
50
51The controller should have an "usb" alias numbered properly in the alias
52node.
53
54DMA
55~~~
56- compatible: ti,am3359-cppi41
57- reg: offset and length of the following register spaces: USBSS, USB
58 CPPI DMA Controller, USB CPPI DMA Scheduler, USB Queue Manager
59- reg-names: glue, controller, scheduler, queuemgr
60- #dma-cells: should be set to 2. The first number represents the
61 endpoint number (0 … 14 for endpoints 1 … 15 on instance 0 and 15 … 29
62 for endpoints 1 … 15 on instance 1). The second number is 0 for RX and
63 1 for TX transfers.
64- #dma-channels: should be set to 30 representing the 15 endpoints for
65 each USB instance.
17 66
18Example: 67Example:
68~~~~~~~~
69The following example contains all the nodes as used on am335x-evm:
70
71aliases {
72 usb0 = &usb0;
73 usb1 = &usb1;
74 phy0 = &usb0_phy;
75 phy1 = &usb1_phy;
76};
19 77
20usb@47400000 { 78usb: usb@47400000 {
21 compatible = "ti,musb-am33xx"; 79 compatible = "ti,am33xx-usb";
22 reg = <0x47400000 0x1000 /* usbss */ 80 reg = <0x47400000 0x1000>;
23 0x47401000 0x800 /* musb instance 0 */ 81 ranges;
24 0x47401800 0x800>; /* musb instance 1 */ 82 #address-cells = <1>;
25 interrupts = <17 /* usbss */ 83 #size-cells = <1>;
26 18 /* musb instance 0 */
27 19>; /* musb instance 1 */
28 multipoint = <1>;
29 num-eps = <16>;
30 ram-bits = <12>;
31 port0-mode = <3>;
32 port1-mode = <3>;
33 power = <250>;
34 ti,hwmods = "usb_otg_hs"; 84 ti,hwmods = "usb_otg_hs";
85
86 ctrl_mod: control@44e10000 {
87 compatible = "ti,am335x-usb-ctrl-module";
88 reg = <0x44e10620 0x10
89 0x44e10648 0x4>;
90 reg-names = "phy_ctrl", "wakeup";
91 };
92
93 usb0_phy: usb-phy@47401300 {
94 compatible = "ti,am335x-usb-phy";
95 reg = <0x47401300 0x100>;
96 reg-names = "phy";
97 ti,ctrl_mod = <&ctrl_mod>;
98 };
99
100 usb0: usb@47401000 {
101 compatible = "ti,musb-am33xx";
102 reg = <0x47401400 0x400
103 0x47401000 0x200>;
104 reg-names = "mc", "control";
105
106 interrupts = <18>;
107 interrupt-names = "mc";
108 dr_mode = "otg"
109 mentor,multipoint = <1>;
110 mentor,num-eps = <16>;
111 mentor,ram-bits = <12>;
112 mentor,power = <500>;
113 phys = <&usb0_phy>;
114
115 dmas = <&cppi41dma 0 0 &cppi41dma 1 0
116 &cppi41dma 2 0 &cppi41dma 3 0
117 &cppi41dma 4 0 &cppi41dma 5 0
118 &cppi41dma 6 0 &cppi41dma 7 0
119 &cppi41dma 8 0 &cppi41dma 9 0
120 &cppi41dma 10 0 &cppi41dma 11 0
121 &cppi41dma 12 0 &cppi41dma 13 0
122 &cppi41dma 14 0 &cppi41dma 0 1
123 &cppi41dma 1 1 &cppi41dma 2 1
124 &cppi41dma 3 1 &cppi41dma 4 1
125 &cppi41dma 5 1 &cppi41dma 6 1
126 &cppi41dma 7 1 &cppi41dma 8 1
127 &cppi41dma 9 1 &cppi41dma 10 1
128 &cppi41dma 11 1 &cppi41dma 12 1
129 &cppi41dma 13 1 &cppi41dma 14 1>;
130 dma-names =
131 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
132 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
133 "rx14", "rx15",
134 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
135 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
136 "tx14", "tx15";
137 };
138
139 usb1_phy: usb-phy@47401b00 {
140 compatible = "ti,am335x-usb-phy";
141 reg = <0x47401b00 0x100>;
142 reg-names = "phy";
143 ti,ctrl_mod = <&ctrl_mod>;
144 };
145
146 usb1: usb@47401800 {
147 compatible = "ti,musb-am33xx";
148 reg = <0x47401c00 0x400
149 0x47401800 0x200>;
150 reg-names = "mc", "control";
151 interrupts = <19>;
152 interrupt-names = "mc";
153 dr_mode = "host"
154 mentor,multipoint = <1>;
155 mentor,num-eps = <16>;
156 mentor,ram-bits = <12>;
157 mentor,power = <500>;
158 phys = <&usb1_phy>;
159
160 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
161 &cppi41dma 17 0 &cppi41dma 18 0
162 &cppi41dma 19 0 &cppi41dma 20 0
163 &cppi41dma 21 0 &cppi41dma 22 0
164 &cppi41dma 23 0 &cppi41dma 24 0
165 &cppi41dma 25 0 &cppi41dma 26 0
166 &cppi41dma 27 0 &cppi41dma 28 0
167 &cppi41dma 29 0 &cppi41dma 15 1
168 &cppi41dma 16 1 &cppi41dma 17 1
169 &cppi41dma 18 1 &cppi41dma 19 1
170 &cppi41dma 20 1 &cppi41dma 21 1
171 &cppi41dma 22 1 &cppi41dma 23 1
172 &cppi41dma 24 1 &cppi41dma 25 1
173 &cppi41dma 26 1 &cppi41dma 27 1
174 &cppi41dma 28 1 &cppi41dma 29 1>;
175 dma-names =
176 "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
177 "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
178 "rx14", "rx15",
179 "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
180 "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
181 "tx14", "tx15";
182 };
183
184 cppi41dma: dma-controller@07402000 {
185 compatible = "ti,am3359-cppi41";
186 reg = <0x47400000 0x1000
187 0x47402000 0x1000
188 0x47403000 0x1000
189 0x47404000 0x4000>;
190 reg-names = "glue", "controller", "scheduler", "queuemgr";
191 interrupts = <17>;
192 interrupt-names = "glue";
193 #dma-cells = <2>;
194 #dma-channels = <30>;
195 #dma-requests = <256>;
196 };
35}; 197};
diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index 7a95c651ceb3..e807635f9e1c 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -3,10 +3,12 @@ synopsys DWC3 CORE
3DWC3- USB3 CONTROLLER 3DWC3- USB3 CONTROLLER
4 4
5Required properties: 5Required properties:
6 - compatible: must be "synopsys,dwc3" 6 - compatible: must be "snps,dwc3"
7 - reg : Address and length of the register set for the device 7 - reg : Address and length of the register set for the device
8 - interrupts: Interrupts used by the dwc3 controller. 8 - interrupts: Interrupts used by the dwc3 controller.
9 - usb-phy : array of phandle for the PHY device 9 - usb-phy : array of phandle for the PHY device. The first element
10 in the array is expected to be a handle to the USB2/HS PHY and
11 the second element is expected to be a handle to the USB3/SS PHY
10 12
11Optional properties: 13Optional properties:
12 - tx-fifo-resize: determines if the FIFO *has* to be reallocated. 14 - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
@@ -14,7 +16,7 @@ Optional properties:
14This is usually a subnode to DWC3 glue to which it is connected. 16This is usually a subnode to DWC3 glue to which it is connected.
15 17
16dwc3@4a030000 { 18dwc3@4a030000 {
17 compatible = "synopsys,dwc3"; 19 compatible = "snps,dwc3";
18 reg = <0x4a030000 0xcfff>; 20 reg = <0x4a030000 0xcfff>;
19 interrupts = <0 92 4> 21 interrupts = <0 92 4>
20 usb-phy = <&usb2_phy>, <&usb3,phy>; 22 usb-phy = <&usb2_phy>, <&usb3,phy>;
diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
new file mode 100644
index 000000000000..477d5bb5e51c
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/generic.txt
@@ -0,0 +1,24 @@
1Generic USB Properties
2
3Optional properties:
4 - maximum-speed: tells USB controllers we want to work up to a certain
5 speed. Valid arguments are "super-speed", "high-speed",
6 "full-speed" and "low-speed". In case this isn't passed
7 via DT, USB controllers should default to their maximum
8 HW capability.
9 - dr_mode: tells Dual-Role USB controllers that we want to work on a
10 particular mode. Valid arguments are "host",
11 "peripheral" and "otg". In case this attribute isn't
12 passed via DT, USB DRD controllers should default to
13 OTG.
14
15This is an attribute to a USB controller such as:
16
17dwc3@4a030000 {
18 compatible = "synopsys,dwc3";
19 reg = <0x4a030000 0xcfff>;
20 interrupts = <0 92 4>
21 usb-phy = <&usb2_phy>, <&usb3,phy>;
22 maximum-speed = "super-speed";
23 dr_mode = "otg";
24};
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
index c4c9e9e664aa..ba797d3e6326 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
@@ -3,7 +3,7 @@ Tegra SOC USB PHY
3The device node for Tegra SOC USB PHY: 3The device node for Tegra SOC USB PHY:
4 4
5Required properties : 5Required properties :
6 - compatible : Should be "nvidia,tegra20-usb-phy". 6 - compatible : Should be "nvidia,tegra<chip>-usb-phy".
7 - reg : Defines the following set of registers, in the order listed: 7 - reg : Defines the following set of registers, in the order listed:
8 - The PHY's own register set. 8 - The PHY's own register set.
9 Always present. 9 Always present.
@@ -24,17 +24,26 @@ Required properties :
24Required properties for phy_type == ulpi: 24Required properties for phy_type == ulpi:
25 - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. 25 - nvidia,phy-reset-gpio : The GPIO used to reset the PHY.
26 26
27Required PHY timing params for utmi phy: 27Required PHY timing params for utmi phy, for all chips:
28 - nvidia,hssync-start-delay : Number of 480 Mhz clock cycles to wait before 28 - nvidia,hssync-start-delay : Number of 480 Mhz clock cycles to wait before
29 start of sync launches RxActive 29 start of sync launches RxActive
30 - nvidia,elastic-limit : Variable FIFO Depth of elastic input store 30 - nvidia,elastic-limit : Variable FIFO Depth of elastic input store
31 - nvidia,idle-wait-delay : Number of 480 Mhz clock cycles of idle to wait 31 - nvidia,idle-wait-delay : Number of 480 Mhz clock cycles of idle to wait
32 before declare IDLE. 32 before declare IDLE.
33 - nvidia,term-range-adj : Range adjusment on terminations 33 - nvidia,term-range-adj : Range adjusment on terminations
34 - nvidia,xcvr-setup : HS driver output control 34 - Either one of the following for HS driver output control:
35 - nvidia,xcvr-setup : integer, uses the provided value.
36 - nvidia,xcvr-setup-use-fuses : boolean, indicates that the value is read
37 from the on-chip fuses
38 If both are provided, nvidia,xcvr-setup-use-fuses takes precedence.
35 - nvidia,xcvr-lsfslew : LS falling slew rate control. 39 - nvidia,xcvr-lsfslew : LS falling slew rate control.
36 - nvidia,xcvr-lsrslew : LS rising slew rate control. 40 - nvidia,xcvr-lsrslew : LS rising slew rate control.
37 41
42Required PHY timing params for utmi phy, only on Tegra30 and above:
43 - nvidia,xcvr-hsslew : HS slew rate control.
44 - nvidia,hssquelch-level : HS squelch detector level.
45 - nvidia,hsdiscon-level : HS disconnect detector level.
46
38Optional properties: 47Optional properties:
39 - nvidia,has-legacy-mode : boolean indicates whether this controller can 48 - nvidia,has-legacy-mode : boolean indicates whether this controller can
40 operate in legacy mode (as APX 2500 / 2600). In legacy mode some 49 operate in legacy mode (as APX 2500 / 2600). In legacy mode some
@@ -48,5 +57,5 @@ Optional properties:
48 peripheral means it is device controller 57 peripheral means it is device controller
49 otg means it can operate as either ("on the go") 58 otg means it can operate as either ("on the go")
50 59
51Required properties for dr_mode == otg: 60VBUS control (required for dr_mode == otg, optional for dr_mode == host):
52 - vbus-supply: regulator for VBUS 61 - vbus-supply: regulator for VBUS
diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt b/Documentation/devicetree/bindings/usb/omap-usb.txt
index 57e71f6817d0..9088ab09e200 100644
--- a/Documentation/devicetree/bindings/usb/omap-usb.txt
+++ b/Documentation/devicetree/bindings/usb/omap-usb.txt
@@ -53,6 +53,11 @@ OMAP DWC3 GLUE
53 It should be set to "1" for HW mode and "2" for SW mode. 53 It should be set to "1" for HW mode and "2" for SW mode.
54 - ranges: the child address space are mapped 1:1 onto the parent address space 54 - ranges: the child address space are mapped 1:1 onto the parent address space
55 55
56Optional Properties:
57 - extcon : phandle for the extcon device omap dwc3 uses to detect
58 connect/disconnect events.
59 - vbus-supply : phandle to the regulator device tree node if needed.
60
56Sub-nodes: 61Sub-nodes:
57The dwc3 core should be added as subnode to omap dwc3 glue. 62The dwc3 core should be added as subnode to omap dwc3 glue.
58- dwc3 : 63- dwc3 :
diff --git a/Documentation/devicetree/bindings/usb/samsung-hsotg.txt b/Documentation/devicetree/bindings/usb/samsung-hsotg.txt
new file mode 100644
index 000000000000..b83d428a265e
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/samsung-hsotg.txt
@@ -0,0 +1,40 @@
1Samsung High Speed USB OTG controller
2-----------------------------
3
4The Samsung HSOTG IP can be found on Samsung SoCs, from S3C6400 onwards.
5It gives functionality of OTG-compliant USB 2.0 host and device with
6support for USB 2.0 high-speed (480Mbps) and full-speed (12 Mbps)
7operation.
8
9Currently only device mode is supported.
10
11Binding details
12-----
13
14Required properties:
15- compatible: "samsung,s3c6400-hsotg" should be used for all currently
16 supported SoC,
17- interrupt-parent: phandle for the interrupt controller to which the
18 interrupt signal of the HSOTG block is routed,
19- interrupts: specifier of interrupt signal of interrupt controller,
20 according to bindings of interrupt controller,
21- clocks: contains an array of clock specifiers:
22 - first entry: OTG clock
23- clock-names: contains array of clock names:
24 - first entry: must be "otg"
25- vusb_d-supply: phandle to voltage regulator of digital section,
26- vusb_a-supply: phandle to voltage regulator of analog section.
27
28Example
29-----
30
31 hsotg@12480000 {
32 compatible = "samsung,s3c6400-hsotg";
33 reg = <0x12480000 0x20000>;
34 interrupts = <0 71 0>;
35 clocks = <&clock 305>;
36 clock-names = "otg";
37 vusb_d-supply = <&vusb_reg>;
38 vusb_a-supply = <&vusbdac_reg>;
39 };
40
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
new file mode 100644
index 000000000000..5752df0e17a2
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
@@ -0,0 +1,14 @@
1USB xHCI controllers
2
3Required properties:
4 - compatible: should be "xhci-platform".
5 - reg: should contain address and length of the standard XHCI
6 register set for the device.
7 - interrupts: one XHCI interrupt should be described here.
8
9Example:
10 usb@f0931000 {
11 compatible = "xhci-platform";
12 reg = <0xf0931000 0x8c8>;
13 interrupts = <0x0 0x4e 0x0>;
14 };
diff --git a/Documentation/devicetree/bindings/usb/usb3503.txt b/Documentation/devicetree/bindings/usb/usb3503.txt
index 8c5be48b43c8..a018da4a7ad7 100644
--- a/Documentation/devicetree/bindings/usb/usb3503.txt
+++ b/Documentation/devicetree/bindings/usb/usb3503.txt
@@ -1,8 +1,11 @@
1SMSC USB3503 High-Speed Hub Controller 1SMSC USB3503 High-Speed Hub Controller
2 2
3Required properties: 3Required properties:
4- compatible: Should be "smsc,usb3503". 4- compatible: Should be "smsc,usb3503" or "smsc,usb3503a".
5- reg: Specifies the i2c slave address, it should be 0x08. 5
6Optional properties:
7- reg: Specifies the i2c slave address, it is required and should be 0x08
8 if I2C is used.
6- connect-gpios: Should specify GPIO for connect. 9- connect-gpios: Should specify GPIO for connect.
7- disabled-ports: Should specify the ports unused. 10- disabled-ports: Should specify the ports unused.
8 '1' or '2' or '3' are availe for this property to describe the port 11 '1' or '2' or '3' are availe for this property to describe the port
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 366ce9b87240..2956800f0240 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -7,10 +7,12 @@ ad Avionic Design GmbH
7adi Analog Devices, Inc. 7adi Analog Devices, Inc.
8aeroflexgaisler Aeroflex Gaisler AB 8aeroflexgaisler Aeroflex Gaisler AB
9ak Asahi Kasei Corp. 9ak Asahi Kasei Corp.
10altr Altera Corp.
10amcc Applied Micro Circuits Corporation (APM, formally AMCC) 11amcc Applied Micro Circuits Corporation (APM, formally AMCC)
11apm Applied Micro Circuits Corporation (APM) 12apm Applied Micro Circuits Corporation (APM)
12arm ARM Ltd. 13arm ARM Ltd.
13atmel Atmel Corporation 14atmel Atmel Corporation
15avago Avago Technologies
14bosch Bosch Sensortec GmbH 16bosch Bosch Sensortec GmbH
15brcm Broadcom Corporation 17brcm Broadcom Corporation
16cavium Cavium, Inc. 18cavium Cavium, Inc.
@@ -36,6 +38,7 @@ linux Linux-specific binding
36lsi LSI Corp. (LSI Logic) 38lsi LSI Corp. (LSI Logic)
37marvell Marvell Technology Group Ltd. 39marvell Marvell Technology Group Ltd.
38maxim Maxim Integrated Products 40maxim Maxim Integrated Products
41microchip Microchip Technology Inc.
39mosaixtech Mosaix Technologies, Inc. 42mosaixtech Mosaix Technologies, Inc.
40national National Semiconductor 43national National Semiconductor
41nintendo Nintendo 44nintendo Nintendo
diff --git a/Documentation/devicetree/bindings/video/simple-framebuffer.txt b/Documentation/devicetree/bindings/video/simple-framebuffer.txt
index 3ea460583111..70c26f3a5b9a 100644
--- a/Documentation/devicetree/bindings/video/simple-framebuffer.txt
+++ b/Documentation/devicetree/bindings/video/simple-framebuffer.txt
@@ -12,6 +12,7 @@ Required properties:
12- stride: The number of bytes in each line of the framebuffer. 12- stride: The number of bytes in each line of the framebuffer.
13- format: The format of the framebuffer surface. Valid values are: 13- format: The format of the framebuffer surface. Valid values are:
14 - r5g6b5 (16-bit pixels, d[15:11]=r, d[10:5]=g, d[4:0]=b). 14 - 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).
15 16
16Example: 17Example:
17 18
diff --git a/Documentation/devicetree/bindings/watchdog/sun4i-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
index ecd650adff31..e39cb266c8f4 100644
--- a/Documentation/devicetree/bindings/watchdog/sun4i-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
@@ -1,8 +1,9 @@
1Allwinner sun4i Watchdog timer 1Allwinner SoCs Watchdog timer
2 2
3Required properties: 3Required properties:
4 4
5- compatible : should be "allwinner,sun4i-wdt" 5- compatible : should be "allwinner,<soc-family>-wdt", the currently supported
6 SoC families being sun4i and sun6i
6- reg : Specifies base physical address and size of the registers. 7- reg : Specifies base physical address and size of the registers.
7 8
8Example: 9Example: