aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/arm/armada-38x.txt7
-rw-r--r--Documentation/devicetree/bindings/arm/atmel-at91.txt17
-rw-r--r--Documentation/devicetree/bindings/arm/brcm-brcmstb.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/coresight.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/cpus.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/digicolor.txt6
-rw-r--r--Documentation/devicetree/bindings/arm/exynos/power_domain.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/fsl.txt20
-rw-r--r--Documentation/devicetree/bindings/arm/gic.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt25
-rw-r--r--Documentation/devicetree/bindings/arm/l2cc.txt10
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/msm/timer.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip.txt10
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt16
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/exynos-chipid.txt12
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/pmu.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/sirf.txt6
-rw-r--r--Documentation/devicetree/bindings/arm/sprd.txt11
-rw-r--r--Documentation/devicetree/bindings/arm/sti.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt5
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt32
-rw-r--r--Documentation/devicetree/bindings/arm/versatile-sysreg.txt10
-rw-r--r--Documentation/devicetree/bindings/ata/ahci-platform.txt9
-rw-r--r--Documentation/devicetree/bindings/ata/cavium-compact-flash.txt2
-rw-r--r--Documentation/devicetree/bindings/ata/tegra-sata.txt4
-rw-r--r--Documentation/devicetree/bindings/bus/mvebu-mbus.txt4
-rw-r--r--Documentation/devicetree/bindings/c6x/dscr.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/alphascale,acc.txt115
-rw-r--r--Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt35
-rw-r--r--Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt110
-rw-r--r--Documentation/devicetree/bindings/dma/img-mdc-dma.txt57
-rw-r--r--Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt5
-rw-r--r--Documentation/devicetree/bindings/dma/snps-dma.txt2
-rw-r--r--Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt53
-rw-r--r--Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt50
-rw-r--r--Documentation/devicetree/bindings/drm/msm/hdmi.txt2
-rw-r--r--Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt17
-rw-r--r--Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt10
-rw-r--r--Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt20
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-max732x.txt59
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt2
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-sx150x.txt40
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt32
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio.txt5
-rw-r--r--Documentation/devicetree/bindings/gpio/mrvl-gpio.txt4
-rw-r--r--Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt8
-rw-r--r--Documentation/devicetree/bindings/gpu/st,stih4xx.txt29
-rw-r--r--Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt10
-rw-r--r--Documentation/devicetree/bindings/i2c/trivial-devices.txt2
-rw-r--r--Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt22
-rw-r--r--Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt129
-rw-r--r--Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt2
-rw-r--r--Documentation/devicetree/bindings/iio/sensorhub.txt25
-rw-r--r--Documentation/devicetree/bindings/input/e3x0-button.txt25
-rw-r--r--Documentation/devicetree/bindings/input/regulator-haptic.txt21
-rw-r--r--Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt62
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/sun4i.txt4
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt15
-rw-r--r--Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt17
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt21
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt5
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt28
-rw-r--r--Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt41
-rw-r--r--Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt6
-rw-r--r--Documentation/devicetree/bindings/leds/common.txt30
-rw-r--r--Documentation/devicetree/bindings/mailbox/altera-mailbox.txt49
-rw-r--r--Documentation/devicetree/bindings/media/atmel-isi.txt2
-rw-r--r--Documentation/devicetree/bindings/media/i2c/nokia,smia.txt63
-rw-r--r--Documentation/devicetree/bindings/media/s5p-mfc.txt4
-rw-r--r--Documentation/devicetree/bindings/media/sunxi-ir.txt4
-rw-r--r--Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt61
-rw-r--r--Documentation/devicetree/bindings/media/video-interfaces.txt5
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt44
-rw-r--r--Documentation/devicetree/bindings/mfd/atmel-matrix.txt24
-rw-r--r--Documentation/devicetree/bindings/mfd/atmel-smc.txt19
-rw-r--r--Documentation/devicetree/bindings/mfd/da9063.txt93
-rw-r--r--Documentation/devicetree/bindings/mfd/max77686.txt14
-rw-r--r--Documentation/devicetree/bindings/mfd/max77693.txt45
-rw-r--r--Documentation/devicetree/bindings/mfd/qcom-rpm.txt70
-rw-r--r--Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt40
-rw-r--r--Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt9
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt25
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt25
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc.txt62
-rw-r--r--Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt6
-rw-r--r--Documentation/devicetree/bindings/mmc/sdhci-fujitsu.txt30
-rw-r--r--Documentation/devicetree/bindings/mmc/sdhci-pxa.txt15
-rw-r--r--Documentation/devicetree/bindings/mtd/atmel-nand.txt2
-rw-r--r--Documentation/devicetree/bindings/mtd/fsl-quadspi.txt2
-rw-r--r--Documentation/devicetree/bindings/mtd/fsmc-nand.txt2
-rw-r--r--Documentation/devicetree/bindings/mtd/gpmi-nand.txt2
-rw-r--r--Documentation/devicetree/bindings/mtd/hisi504-nand.txt47
-rw-r--r--Documentation/devicetree/bindings/mtd/mtd-physmap.txt5
-rw-r--r--Documentation/devicetree/bindings/net/amd-xgbe-phy.txt21
-rw-r--r--Documentation/devicetree/bindings/net/broadcom-systemport.txt2
-rw-r--r--Documentation/devicetree/bindings/net/davicom-dm9000.txt4
-rw-r--r--Documentation/devicetree/bindings/net/fsl-fec.txt2
-rw-r--r--Documentation/devicetree/bindings/net/fsl-tsec-phy.txt11
-rw-r--r--Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt88
-rw-r--r--Documentation/devicetree/bindings/net/keystone-netcp.txt197
-rw-r--r--Documentation/devicetree/bindings/net/nfc/st21nfca.txt11
-rw-r--r--Documentation/devicetree/bindings/net/nfc/st21nfcb.txt4
-rw-r--r--Documentation/devicetree/bindings/net/rockchip-dwmac.txt68
-rw-r--r--Documentation/devicetree/bindings/net/sti-dwmac.txt14
-rw-r--r--Documentation/devicetree/bindings/net/stmmac.txt1
-rw-r--r--Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt30
-rw-r--r--Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt7
-rw-r--r--Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt8
-rw-r--r--Documentation/devicetree/bindings/pci/versatile.txt59
-rw-r--r--Documentation/devicetree/bindings/phy/phy-miphy28lp.txt43
-rw-r--r--Documentation/devicetree/bindings/phy/phy-miphy365x.txt15
-rw-r--r--Documentation/devicetree/bindings/phy/phy-stih407-usb.txt10
-rw-r--r--Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt37
-rw-r--r--Documentation/devicetree/bindings/phy/samsung-phy.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt3
-rw-r--r--Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt4
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt186
-rw-r--r--Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt9
-rw-r--r--Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt12
-rw-r--r--Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt35
-rw-r--r--Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt104
-rw-r--r--Documentation/devicetree/bindings/power/ltc2941.txt27
-rw-r--r--Documentation/devicetree/bindings/power/renesas,sysc-rmobile.txt99
-rw-r--r--Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt13
-rw-r--r--Documentation/devicetree/bindings/power/rockchip-io-domain.txt2
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/fman.txt70
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/lbc.txt18
-rw-r--r--Documentation/devicetree/bindings/pwm/img-pwm.txt24
-rw-r--r--Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt7
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-sun4i.txt20
-rw-r--r--Documentation/devicetree/bindings/regulator/da9211.txt7
-rw-r--r--Documentation/devicetree/bindings/regulator/isl9305.txt4
-rw-r--r--Documentation/devicetree/bindings/regulator/mt6397-regulator.txt217
-rw-r--r--Documentation/devicetree/bindings/regulator/pfuze100.txt94
-rw-r--r--Documentation/devicetree/bindings/rtc/armada-380-rtc.txt22
-rw-r--r--Documentation/devicetree/bindings/rtc/isil,isl12057.txt78
-rw-r--r--Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt4
-rw-r--r--Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt16
-rw-r--r--Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt36
-rw-r--r--Documentation/devicetree/bindings/serial/digicolor-usart.txt27
-rw-r--r--Documentation/devicetree/bindings/serial/mtk-uart.txt6
-rw-r--r--Documentation/devicetree/bindings/serial/of-serial.txt17
-rw-r--r--Documentation/devicetree/bindings/serial/sirf-uart.txt4
-rw-r--r--Documentation/devicetree/bindings/serial/sprd-uart.txt7
-rw-r--r--Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt23
-rw-r--r--Documentation/devicetree/bindings/soc/fsl/bman.txt12
-rw-r--r--Documentation/devicetree/bindings/soc/fsl/qman.txt14
-rw-r--r--Documentation/devicetree/bindings/sound/atmel_ac97c.txt20
-rw-r--r--Documentation/devicetree/bindings/sound/cdns,xtfpga-i2s.txt18
-rw-r--r--Documentation/devicetree/bindings/sound/designware-i2s.txt31
-rw-r--r--Documentation/devicetree/bindings/sound/ingenic,jz4740-i2s.txt23
-rw-r--r--Documentation/devicetree/bindings/sound/max98357a.txt14
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt67
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt4
-rw-r--r--Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/pcm512x.txt28
-rw-r--r--Documentation/devicetree/bindings/sound/samsung-i2s.txt22
-rw-r--r--Documentation/devicetree/bindings/sound/simple-card.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/st,sta32x.txt92
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic3x.txt10
-rw-r--r--Documentation/devicetree/bindings/sound/ts3a227e.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/wm8904.txt2
-rw-r--r--Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt4
-rw-r--r--Documentation/devicetree/bindings/spi/sh-msiof.txt16
-rw-r--r--Documentation/devicetree/bindings/spi/spi-sirf.txt41
-rw-r--r--Documentation/devicetree/bindings/spi/spi-st-ssc.txt40
-rw-r--r--Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt4
-rw-r--r--Documentation/devicetree/bindings/submitting-patches.txt23
-rw-r--r--Documentation/devicetree/bindings/thermal/exynos-thermal.txt21
-rw-r--r--Documentation/devicetree/bindings/thermal/tegra-soctherm.txt4
-rw-r--r--Documentation/devicetree/bindings/thermal/thermal.txt74
-rw-r--r--Documentation/devicetree/bindings/timer/digicolor-timer.txt18
-rw-r--r--Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt4
-rw-r--r--Documentation/devicetree/bindings/timer/rockchip,rk3288-timer.txt18
-rw-r--r--Documentation/devicetree/bindings/unittest.txt59
-rw-r--r--Documentation/devicetree/bindings/usb/atmel-usb.txt15
-rw-r--r--Documentation/devicetree/bindings/usb/dwc2.txt4
-rw-r--r--Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt5
-rw-r--r--Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt5
-rw-r--r--Documentation/devicetree/bindings/usb/renesas_usbhs.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/usb-ehci.txt1
-rw-r--r--Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt10
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt22
-rw-r--r--Documentation/devicetree/bindings/video/bridge/ps8622.txt31
-rw-r--r--Documentation/devicetree/bindings/video/bridge/ptn3460.txt (renamed from Documentation/devicetree/bindings/drm/bridge/ptn3460.txt)16
-rw-r--r--Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt46
-rw-r--r--Documentation/devicetree/bindings/video/exynos7-decon.txt68
-rw-r--r--Documentation/devicetree/bindings/video/exynos_dp.txt12
-rw-r--r--Documentation/devicetree/bindings/video/exynos_dsim.txt4
-rw-r--r--Documentation/devicetree/bindings/video/exynos_mixer.txt1
-rw-r--r--Documentation/devicetree/bindings/video/renesas,du.txt4
-rw-r--r--Documentation/devicetree/bindings/video/samsung-fimd.txt4
-rw-r--r--Documentation/devicetree/bindings/video/ti,dra7-dss.txt69
-rw-r--r--Documentation/devicetree/bindings/video/ti,opa362.txt38
-rw-r--r--Documentation/devicetree/bindings/watchdog/gpio-wdt.txt5
-rw-r--r--Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt19
-rw-r--r--Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt12
-rw-r--r--Documentation/devicetree/bindings/watchdog/mtk-wdt.txt13
-rw-r--r--Documentation/devicetree/overlay-notes.txt4
204 files changed, 4835 insertions, 244 deletions
diff --git a/Documentation/devicetree/bindings/arm/armada-38x.txt b/Documentation/devicetree/bindings/arm/armada-38x.txt
index ad9f8ed4d9bd..202953f1887e 100644
--- a/Documentation/devicetree/bindings/arm/armada-38x.txt
+++ b/Documentation/devicetree/bindings/arm/armada-38x.txt
@@ -15,6 +15,13 @@ Required root node property:
15 15
16compatible: must contain "marvell,armada385" 16compatible: must contain "marvell,armada385"
17 17
18In addition, boards using the Marvell Armada 388 SoC shall have the
19following property before the previous one:
20
21Required root node property:
22
23compatible: must contain "marvell,armada388"
24
18Example: 25Example:
19 26
20compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380"; 27compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380";
diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.txt b/Documentation/devicetree/bindings/arm/atmel-at91.txt
index 562cda9d86d9..ad319f84f560 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.txt
@@ -24,6 +24,7 @@ compatible: must be one of:
24 o "atmel,at91sam9g45" 24 o "atmel,at91sam9g45"
25 o "atmel,at91sam9n12" 25 o "atmel,at91sam9n12"
26 o "atmel,at91sam9rl" 26 o "atmel,at91sam9rl"
27 o "atmel,at91sam9xe"
27 * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific 28 * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific
28 SoC family: 29 SoC family:
29 o "atmel,sama5d3" shall be extended with the specific SoC compatible: 30 o "atmel,sama5d3" shall be extended with the specific SoC compatible:
@@ -136,3 +137,19 @@ Example:
136 compatible = "atmel,at91sam9260-rstc"; 137 compatible = "atmel,at91sam9260-rstc";
137 reg = <0xfffffd00 0x10>; 138 reg = <0xfffffd00 0x10>;
138 }; 139 };
140
141Special Function Registers (SFR)
142
143Special Function Registers (SFR) manage specific aspects of the integrated
144memory, bridge implementations, processor and other functionality not controlled
145elsewhere.
146
147required properties:
148- compatible: Should be "atmel,<chip>-sfr", "syscon".
149 <chip> can be "sama5d3" or "sama5d4".
150- reg: Should contain registers location and length
151
152 sfr@f0038000 {
153 compatible = "atmel,sama5d3-sfr", "syscon";
154 reg = <0xf0038000 0x60>;
155 };
diff --git a/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt
index 3c436cc4f35d..430608ec09f0 100644
--- a/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt
+++ b/Documentation/devicetree/bindings/arm/brcm-brcmstb.txt
@@ -79,7 +79,9 @@ reboot
79Required properties 79Required properties
80 80
81 - compatible 81 - compatible
82 The string property "brcm,brcmstb-reboot". 82 The string property "brcm,brcmstb-reboot" for 40nm/28nm chips with
83 the new SYS_CTRL interface, or "brcm,bcm7038-reboot" for 65nm
84 chips with the old SUN_TOP_CTRL interface.
83 85
84 - syscon 86 - syscon
85 A phandle / integer array that points to the syscon node which describes 87 A phandle / integer array that points to the syscon node which describes
diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
index d790f49066f3..a3089359aaa6 100644
--- a/Documentation/devicetree/bindings/arm/coresight.txt
+++ b/Documentation/devicetree/bindings/arm/coresight.txt
@@ -38,8 +38,6 @@ its hardware characteristcs.
38 AMBA markee): 38 AMBA markee):
39 - "arm,coresight-replicator" 39 - "arm,coresight-replicator"
40 40
41 * id: a unique number that will identify this replicator.
42
43 * port or ports: same as above. 41 * port or ports: same as above.
44 42
45* Optional properties for ETM/PTMs: 43* Optional properties for ETM/PTMs:
@@ -94,8 +92,6 @@ Example:
94 * AMBA bus. As such no need to add "arm,primecell". 92 * AMBA bus. As such no need to add "arm,primecell".
95 */ 93 */
96 compatible = "arm,coresight-replicator"; 94 compatible = "arm,coresight-replicator";
97 /* this will show up in debugfs as "0.replicator" */
98 id = <0>;
99 95
100 ports { 96 ports {
101 #address-cells = <1>; 97 #address-cells = <1>;
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index b2aacbe16ed9..8b9e0a95de31 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -175,6 +175,7 @@ nodes to be present and contain the properties described below.
175 "marvell,pj4a" 175 "marvell,pj4a"
176 "marvell,pj4b" 176 "marvell,pj4b"
177 "marvell,sheeva-v5" 177 "marvell,sheeva-v5"
178 "nvidia,tegra132-denver"
178 "qcom,krait" 179 "qcom,krait"
179 "qcom,scorpion" 180 "qcom,scorpion"
180 - enable-method 181 - enable-method
diff --git a/Documentation/devicetree/bindings/arm/digicolor.txt b/Documentation/devicetree/bindings/arm/digicolor.txt
new file mode 100644
index 000000000000..658553f40b23
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/digicolor.txt
@@ -0,0 +1,6 @@
1Conexant Digicolor Platforms Device Tree Bindings
2
3Each device tree must specify which Conexant Digicolor SoC it uses.
4Must be the following compatible string:
5
6 cnxt,cx92755
diff --git a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
index abde1ea8a119..f4445e5a2bbb 100644
--- a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
+++ b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt
@@ -23,7 +23,7 @@ Optional Properties:
23 devices in this power domain. Maximum of 4 pairs (N = 0 to 3) 23 devices in this power domain. Maximum of 4 pairs (N = 0 to 3)
24 are supported currently. 24 are supported currently.
25 25
26Node of a device using power domains must have a samsung,power-domain property 26Node of a device using power domains must have a power-domains property
27defined with a phandle to respective power domain. 27defined with a phandle to respective power domain.
28 28
29Example: 29Example:
diff --git a/Documentation/devicetree/bindings/arm/fsl.txt b/Documentation/devicetree/bindings/arm/fsl.txt
index 4e8b7df7fc62..a5462b6b3c30 100644
--- a/Documentation/devicetree/bindings/arm/fsl.txt
+++ b/Documentation/devicetree/bindings/arm/fsl.txt
@@ -75,6 +75,18 @@ i.MX6q generic board
75Required root node properties: 75Required root node properties:
76 - compatible = "fsl,imx6q"; 76 - compatible = "fsl,imx6q";
77 77
78Freescale Vybrid Platform Device Tree Bindings
79----------------------------------------------
80
81For the Vybrid SoC familiy all variants with DDR controller are supported,
82which is the VF5xx and VF6xx series. Out of historical reasons, in most
83places the kernel uses vf610 to refer to the whole familiy.
84
85Required root node compatible property (one of them):
86 - compatible = "fsl,vf500";
87 - compatible = "fsl,vf510";
88 - compatible = "fsl,vf600";
89 - compatible = "fsl,vf610";
78 90
79Freescale LS1021A Platform Device Tree Bindings 91Freescale LS1021A Platform Device Tree Bindings
80------------------------------------------------ 92------------------------------------------------
@@ -112,3 +124,11 @@ Example:
112 compatible = "fsl,ls1021a-dcfg"; 124 compatible = "fsl,ls1021a-dcfg";
113 reg = <0x0 0x1ee0000 0x0 0x10000>; 125 reg = <0x0 0x1ee0000 0x0 0x10000>;
114 }; 126 };
127
128Freescale LS2085A SoC Device Tree Bindings
129------------------------------------------
130
131LS2085A ARMv8 based Simulator model
132Required root node properties:
133 - compatible = "fsl,ls2085a-simu", "fsl,ls2085a";
134
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
index 8112d0c3675a..c97484b73e72 100644
--- a/Documentation/devicetree/bindings/arm/gic.txt
+++ b/Documentation/devicetree/bindings/arm/gic.txt
@@ -32,12 +32,16 @@ Main node required properties:
32 The 3rd cell is the flags, encoded as follows: 32 The 3rd cell is the flags, encoded as follows:
33 bits[3:0] trigger type and level flags. 33 bits[3:0] trigger type and level flags.
34 1 = low-to-high edge triggered 34 1 = low-to-high edge triggered
35 2 = high-to-low edge triggered 35 2 = high-to-low edge triggered (invalid for SPIs)
36 4 = active high level-sensitive 36 4 = active high level-sensitive
37 8 = active low level-sensitive 37 8 = active low level-sensitive (invalid for SPIs).
38 bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of 38 bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of
39 the 8 possible cpus attached to the GIC. A bit set to '1' indicated 39 the 8 possible cpus attached to the GIC. A bit set to '1' indicated
40 the interrupt is wired to that CPU. Only valid for PPI interrupts. 40 the interrupt is wired to that CPU. Only valid for PPI interrupts.
41 Also note that the configurability of PPI interrupts is IMPLEMENTATION
42 DEFINED and as such not guaranteed to be present (most SoC available
43 in 2014 seem to ignore the setting of this flag and use the hardware
44 default value).
41 45
42- reg : Specifies base physical address(s) and size of the GIC registers. The 46- reg : Specifies base physical address(s) and size of the GIC registers. The
43 first region is the GIC distributor register base and size. The 2nd region is 47 first region is the GIC distributor register base and size. The 2nd region is
diff --git a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
index f717c7b48603..35b1bd49cfa1 100644
--- a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
+++ b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
@@ -9,6 +9,10 @@ HiP04 D01 Board
9Required root node properties: 9Required root node properties:
10 - compatible = "hisilicon,hip04-d01"; 10 - compatible = "hisilicon,hip04-d01";
11 11
12HiP01 ca9x2 Board
13Required root node properties:
14 - compatible = "hisilicon,hip01-ca9x2";
15
12 16
13Hisilicon system controller 17Hisilicon system controller
14 18
@@ -37,6 +41,27 @@ Example:
37 }; 41 };
38 42
39----------------------------------------------------------------------- 43-----------------------------------------------------------------------
44Hisilicon HiP01 system controller
45
46Required properties:
47- compatible : "hisilicon,hip01-sysctrl"
48- reg : Register address and size
49
50The HiP01 system controller is mostly compatible with hisilicon
51system controller,but it has some specific control registers for
52HIP01 SoC family, such as slave core boot, and also some same
53registers located at different offset.
54
55Example:
56
57 /* for hip01-ca9x2 */
58 sysctrl: system-controller@10000000 {
59 compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
60 reg = <0x10000000 0x1000>;
61 reboot-offset = <0x4>;
62 };
63
64-----------------------------------------------------------------------
40Hisilicon CPU controller 65Hisilicon CPU controller
41 66
42Required properties: 67Required properties:
diff --git a/Documentation/devicetree/bindings/arm/l2cc.txt b/Documentation/devicetree/bindings/arm/l2cc.txt
index 292ef7ca3058..0dbabe9a6b0a 100644
--- a/Documentation/devicetree/bindings/arm/l2cc.txt
+++ b/Documentation/devicetree/bindings/arm/l2cc.txt
@@ -57,6 +57,16 @@ Optional properties:
57- cache-id-part: cache id part number to be used if it is not present 57- cache-id-part: cache id part number to be used if it is not present
58 on hardware 58 on hardware
59- wt-override: If present then L2 is forced to Write through mode 59- wt-override: If present then L2 is forced to Write through mode
60- arm,double-linefill : Override double linefill enable setting. Enable if
61 non-zero, disable if zero.
62- arm,double-linefill-incr : Override double linefill on INCR read. Enable
63 if non-zero, disable if zero.
64- arm,double-linefill-wrap : Override double linefill on WRAP read. Enable
65 if non-zero, disable if zero.
66- arm,prefetch-drop : Override prefetch drop enable setting. Enable if non-zero,
67 disable if zero.
68- arm,prefetch-offset : Override prefetch offset value. Valid values are
69 0-7, 15, 23, and 31.
60 70
61Example: 71Example:
62 72
diff --git a/Documentation/devicetree/bindings/arm/mediatek.txt b/Documentation/devicetree/bindings/arm/mediatek.txt
index 3be40139cfbb..dd7550a29db6 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek.txt
@@ -9,6 +9,7 @@ compatible: Must contain one of
9 "mediatek,mt6592" 9 "mediatek,mt6592"
10 "mediatek,mt8127" 10 "mediatek,mt8127"
11 "mediatek,mt8135" 11 "mediatek,mt8135"
12 "mediatek,mt8173"
12 13
13 14
14Supported boards: 15Supported boards:
@@ -25,3 +26,6 @@ Supported boards:
25- MTK mt8135 tablet EVB: 26- MTK mt8135 tablet EVB:
26 Required root node properties: 27 Required root node properties:
27 - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135"; 28 - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135";
29- MTK mt8173 tablet EVB:
30 Required root node properties:
31 - compatible = "mediatek,mt8173-evb", "mediatek,mt8173";
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt
index d680b07ec6e8..4f5a5352ccd8 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt
@@ -5,8 +5,10 @@ interrupt.
5 5
6Required properties: 6Required properties:
7- compatible: should be one of: 7- compatible: should be one of:
8 "mediatek,mt8173-sysirq"
8 "mediatek,mt8135-sysirq" 9 "mediatek,mt8135-sysirq"
9 "mediatek,mt8127-sysirq" 10 "mediatek,mt8127-sysirq"
11 "mediatek,mt6592-sysirq"
10 "mediatek,mt6589-sysirq" 12 "mediatek,mt6589-sysirq"
11 "mediatek,mt6582-sysirq" 13 "mediatek,mt6582-sysirq"
12 "mediatek,mt6577-sysirq" 14 "mediatek,mt6577-sysirq"
diff --git a/Documentation/devicetree/bindings/arm/msm/timer.txt b/Documentation/devicetree/bindings/arm/msm/timer.txt
index c6ef8f13dc7e..74607b6c1117 100644
--- a/Documentation/devicetree/bindings/arm/msm/timer.txt
+++ b/Documentation/devicetree/bindings/arm/msm/timer.txt
@@ -8,7 +8,7 @@ Properties:
8 "qcom,kpss-timer" - krait subsystem 8 "qcom,kpss-timer" - krait subsystem
9 "qcom,scss-timer" - scorpion subsystem 9 "qcom,scss-timer" - scorpion subsystem
10 10
11- interrupts : Interrupts for the the debug timer, the first general purpose 11- interrupts : Interrupts for the debug timer, the first general purpose
12 timer, and optionally a second general purpose timer in that 12 timer, and optionally a second general purpose timer in that
13 order. 13 order.
14 14
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index eaa3d1a0eb05..6809e4e51ed2 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -9,6 +9,16 @@ Rockchip platforms device tree bindings
9 Required root node properties: 9 Required root node properties:
10 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a"; 10 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
11 11
12- ChipSPARK Rayeager PX2 board:
13 Required root node properties:
14 - compatible = "chipspark,rayeager-px2", "rockchip,rk3066a";
15
12- Radxa Rock board: 16- Radxa Rock board:
13 Required root node properties: 17 Required root node properties:
14 - compatible = "radxa,rock", "rockchip,rk3188"; 18 - compatible = "radxa,rock", "rockchip,rk3188";
19
20- Firefly Firefly-RK3288 board:
21 Required root node properties:
22 - compatible = "firefly,firefly-rk3288", "rockchip,rk3288";
23 or
24 - compatible = "firefly,firefly-rk3288-beta", "rockchip,rk3288";
diff --git a/Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt b/Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt
new file mode 100644
index 000000000000..6b42fda306ff
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt
@@ -0,0 +1,16 @@
1Rockchip SRAM for pmu:
2------------------------------
3
4The sram of pmu is used to store the function of resume from maskrom(the 1st
5level loader). This is a common use of the "pmu-sram" because it keeps power
6even in low power states in the system.
7
8Required node properties:
9- compatible : should be "rockchip,rk3288-pmu-sram"
10- reg : physical base address and the size of the registers window
11
12Example:
13 sram@ff720000 {
14 compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";
15 reg = <0xff720000 0x1000>;
16 };
diff --git a/Documentation/devicetree/bindings/arm/samsung/exynos-chipid.txt b/Documentation/devicetree/bindings/arm/samsung/exynos-chipid.txt
new file mode 100644
index 000000000000..85c5dfd4a720
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/samsung/exynos-chipid.txt
@@ -0,0 +1,12 @@
1SAMSUNG Exynos SoCs Chipid driver.
2
3Required properties:
4- compatible : Should at least contain "samsung,exynos4210-chipid".
5
6- reg: offset and length of the register set
7
8Example:
9 chipid@10000000 {
10 compatible = "samsung,exynos4210-chipid";
11 reg = <0x10000000 0x100>;
12 };
diff --git a/Documentation/devicetree/bindings/arm/samsung/pmu.txt b/Documentation/devicetree/bindings/arm/samsung/pmu.txt
index 1e1979b229ff..67b211381f2b 100644
--- a/Documentation/devicetree/bindings/arm/samsung/pmu.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/pmu.txt
@@ -10,6 +10,7 @@ Properties:
10 - "samsung,exynos5260-pmu" - for Exynos5260 SoC. 10 - "samsung,exynos5260-pmu" - for Exynos5260 SoC.
11 - "samsung,exynos5410-pmu" - for Exynos5410 SoC, 11 - "samsung,exynos5410-pmu" - for Exynos5410 SoC,
12 - "samsung,exynos5420-pmu" - for Exynos5420 SoC. 12 - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
13 - "samsung,exynos7-pmu" - for Exynos7 SoC.
13 second value must be always "syscon". 14 second value must be always "syscon".
14 15
15 - reg : offset and length of the register set. 16 - reg : offset and length of the register set.
diff --git a/Documentation/devicetree/bindings/arm/sirf.txt b/Documentation/devicetree/bindings/arm/sirf.txt
index c6ba6d3c747f..7b28ee6fee91 100644
--- a/Documentation/devicetree/bindings/arm/sirf.txt
+++ b/Documentation/devicetree/bindings/arm/sirf.txt
@@ -3,7 +3,9 @@ CSR SiRFprimaII and SiRFmarco device tree bindings.
3 3
4Required root node properties: 4Required root node properties:
5 - compatible: 5 - compatible:
6 - "sirf,atlas6-cb" : atlas6 "cb" evaluation board
7 - "sirf,atlas6" : atlas6 device based board
8 - "sirf,atlas7-cb" : atlas7 "cb" evaluation board
9 - "sirf,atlas7" : atlas7 device based board
6 - "sirf,prima2-cb" : prima2 "cb" evaluation board 10 - "sirf,prima2-cb" : prima2 "cb" evaluation board
7 - "sirf,marco-cb" : marco "cb" evaluation board
8 - "sirf,prima2" : prima2 device based board 11 - "sirf,prima2" : prima2 device based board
9 - "sirf,marco" : marco device based board
diff --git a/Documentation/devicetree/bindings/arm/sprd.txt b/Documentation/devicetree/bindings/arm/sprd.txt
new file mode 100644
index 000000000000..31a629dc75b8
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/sprd.txt
@@ -0,0 +1,11 @@
1Spreadtrum SoC Platforms Device Tree Bindings
2----------------------------------------------------
3
4Sharkl64 is a Spreadtrum's SoC Platform which is based
5on ARM 64-bit processor.
6
7SC9836 openphone board with SC9836 SoC based on the
8Sharkl64 Platform shall have the following properties.
9
10Required root node properties:
11 - compatible = "sprd,sc9836-openphone", "sprd,sc9836";
diff --git a/Documentation/devicetree/bindings/arm/sti.txt b/Documentation/devicetree/bindings/arm/sti.txt
index 92f16c78bb69..d70ec358736c 100644
--- a/Documentation/devicetree/bindings/arm/sti.txt
+++ b/Documentation/devicetree/bindings/arm/sti.txt
@@ -13,3 +13,7 @@ Boards with the ST STiH407 SoC shall have the following properties:
13Required root node property: 13Required root node property:
14compatible = "st,stih407"; 14compatible = "st,stih407";
15 15
16Boards with the ST STiH418 SoC shall have the following properties:
17Required root node property:
18compatible = "st,stih418";
19
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt
index 234406d41c12..067c9790062f 100644
--- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt
@@ -1,7 +1,10 @@
1NVIDIA Tegra AHB 1NVIDIA Tegra AHB
2 2
3Required properties: 3Required properties:
4- compatible : "nvidia,tegra20-ahb" or "nvidia,tegra30-ahb" 4- compatible : For Tegra20, must contain "nvidia,tegra20-ahb". For
5 Tegra30, must contain "nvidia,tegra30-ahb". Otherwise, must contain
6 '"nvidia,<chip>-ahb", "nvidia,tegra30-ahb"' where <chip> is tegra124,
7 tegra132, or tegra210.
5- reg : Should contain 1 register ranges(address and length) 8- reg : Should contain 1 register ranges(address and length)
6 9
7Example: 10Example:
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
index 68ac65f82a1c..02c27004d4a8 100644
--- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt
@@ -6,7 +6,11 @@ modes. It provides power-gating controllers for SoC and CPU power-islands.
6 6
7Required properties: 7Required properties:
8- name : Should be pmc 8- name : Should be pmc
9- compatible : Should contain "nvidia,tegra<chip>-pmc". 9- compatible : For Tegra20, must contain "nvidia,tegra20-pmc". For Tegra30,
10 must contain "nvidia,tegra30-pmc". For Tegra114, must contain
11 "nvidia,tegra114-pmc". For Tegra124, must contain "nvidia,tegra124-pmc".
12 Otherwise, must contain "nvidia,<chip>-pmc", plus at least one of the
13 above, where <chip> is tegra132.
10- reg : Offset and length of the register set for the device 14- reg : Offset and length of the register set for the device
11- clocks : Must contain an entry for each entry in clock-names. 15- clocks : Must contain an entry for each entry in clock-names.
12 See ../clocks/clock-bindings.txt for details. 16 See ../clocks/clock-bindings.txt for details.
@@ -47,6 +51,23 @@ Required properties when nvidia,suspend-mode=<0>:
47 sleep mode, the warm boot code will restore some PLLs, clocks and then 51 sleep mode, the warm boot code will restore some PLLs, clocks and then
48 bring up CPU0 for resuming the system. 52 bring up CPU0 for resuming the system.
49 53
54Hardware-triggered thermal reset:
55On Tegra30, Tegra114 and Tegra124, if the 'i2c-thermtrip' subnode exists,
56hardware-triggered thermal reset will be enabled.
57
58Required properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'):
59- nvidia,i2c-controller-id : ID of I2C controller to send poweroff command to. Valid values are
60 described in section 9.2.148 "APBDEV_PMC_SCRATCH53_0" of the
61 Tegra K1 Technical Reference Manual.
62- nvidia,bus-addr : Bus address of the PMU on the I2C bus
63- nvidia,reg-addr : I2C register address to write poweroff command to
64- nvidia,reg-data : Poweroff command to write to PMU
65
66Optional properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'):
67- nvidia,pinmux-id : Pinmux used by the hardware when issuing poweroff command.
68 Defaults to 0. Valid values are described in section 12.5.2
69 "Pinmux Support" of the Tegra4 Technical Reference Manual.
70
50Example: 71Example:
51 72
52/ SoC dts including file 73/ SoC dts including file
@@ -69,6 +90,15 @@ pmc@7000f400 {
69/ Tegra board dts file 90/ Tegra board dts file
70{ 91{
71 ... 92 ...
93 pmc@7000f400 {
94 i2c-thermtrip {
95 nvidia,i2c-controller-id = <4>;
96 nvidia,bus-addr = <0x40>;
97 nvidia,reg-addr = <0x36>;
98 nvidia,reg-data = <0x2>;
99 };
100 };
101 ...
72 clocks { 102 clocks {
73 compatible = "simple-bus"; 103 compatible = "simple-bus";
74 #address-cells = <1>; 104 #address-cells = <1>;
diff --git a/Documentation/devicetree/bindings/arm/versatile-sysreg.txt b/Documentation/devicetree/bindings/arm/versatile-sysreg.txt
new file mode 100644
index 000000000000..a4f15262d717
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/versatile-sysreg.txt
@@ -0,0 +1,10 @@
1ARM Versatile system registers
2--------------------------------------
3
4This is a system control registers block, providing multiple low level
5platform functions like board detection and identification, software
6interrupt generation, MMC and NOR Flash control etc.
7
8Required node properties:
9- compatible value : = "arm,versatile-sysreg", "syscon"
10- reg : physical base address and the size of the registers window
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
index 4ab09f2202d4..c2340eeeb97f 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
@@ -37,9 +37,10 @@ Required properties when using sub-nodes:
37 37
38 38
39Sub-nodes required properties: 39Sub-nodes required properties:
40- reg : the port number 40- reg : the port number
41- phys : reference to the SATA PHY node 41And at least one of the following properties:
42 42- phys : reference to the SATA PHY node
43- target-supply : regulator for SATA target power
43 44
44Examples: 45Examples:
45 sata@ffe08000 { 46 sata@ffe08000 {
@@ -68,10 +69,12 @@ With sub-nodes:
68 sata0: sata-port@0 { 69 sata0: sata-port@0 {
69 reg = <0>; 70 reg = <0>;
70 phys = <&sata_phy 0>; 71 phys = <&sata_phy 0>;
72 target-supply = <&reg_sata0>;
71 }; 73 };
72 74
73 sata1: sata-port@1 { 75 sata1: sata-port@1 {
74 reg = <1>; 76 reg = <1>;
75 phys = <&sata_phy 1>; 77 phys = <&sata_phy 1>;
78 target-supply = <&reg_sata1>;;
76 }; 79 };
77 }; 80 };
diff --git a/Documentation/devicetree/bindings/ata/cavium-compact-flash.txt b/Documentation/devicetree/bindings/ata/cavium-compact-flash.txt
index 93986a5a8018..3bacc8e0931e 100644
--- a/Documentation/devicetree/bindings/ata/cavium-compact-flash.txt
+++ b/Documentation/devicetree/bindings/ata/cavium-compact-flash.txt
@@ -9,7 +9,7 @@ Properties:
9 9
10 Compatibility with many Cavium evaluation boards. 10 Compatibility with many Cavium evaluation boards.
11 11
12- reg: The base address of the the CF chip select banks. Depending on 12- reg: The base address of the CF chip select banks. Depending on
13 the device configuration, there may be one or two banks. 13 the device configuration, there may be one or two banks.
14 14
15- cavium,bus-width: The width of the connection to the CF devices. Valid 15- cavium,bus-width: The width of the connection to the CF devices. Valid
diff --git a/Documentation/devicetree/bindings/ata/tegra-sata.txt b/Documentation/devicetree/bindings/ata/tegra-sata.txt
index 946f2072570b..66c83c3e8915 100644
--- a/Documentation/devicetree/bindings/ata/tegra-sata.txt
+++ b/Documentation/devicetree/bindings/ata/tegra-sata.txt
@@ -1,7 +1,9 @@
1Tegra124 SoC SATA AHCI controller 1Tegra124 SoC SATA AHCI controller
2 2
3Required properties : 3Required properties :
4- compatible : "nvidia,tegra124-ahci". 4- compatible : For Tegra124, must contain "nvidia,tegra124-ahci". Otherwise,
5 must contain '"nvidia,<chip>-ahci", "nvidia,tegra124-ahci"', where <chip>
6 is tegra132.
5- reg : Should contain 2 entries: 7- reg : Should contain 2 entries:
6 - AHCI register set (SATA BAR5) 8 - AHCI register set (SATA BAR5)
7 - SATA register set 9 - SATA register set
diff --git a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
index 5e16c3ccb061..fa6cde41b460 100644
--- a/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
+++ b/Documentation/devicetree/bindings/bus/mvebu-mbus.txt
@@ -6,8 +6,8 @@ Required properties:
6- compatible: Should be set to one of the following: 6- compatible: Should be set to one of the following:
7 marvell,armada370-mbus 7 marvell,armada370-mbus
8 marvell,armadaxp-mbus 8 marvell,armadaxp-mbus
9 marvell,armada370-mbus 9 marvell,armada375-mbus
10 marvell,armadaxp-mbus 10 marvell,armada380-mbus
11 marvell,kirkwood-mbus 11 marvell,kirkwood-mbus
12 marvell,dove-mbus 12 marvell,dove-mbus
13 marvell,orion5x-88f5281-mbus 13 marvell,orion5x-88f5281-mbus
diff --git a/Documentation/devicetree/bindings/c6x/dscr.txt b/Documentation/devicetree/bindings/c6x/dscr.txt
index b0e97144cfb1..92672235de57 100644
--- a/Documentation/devicetree/bindings/c6x/dscr.txt
+++ b/Documentation/devicetree/bindings/c6x/dscr.txt
@@ -12,7 +12,7 @@ configuration register for writes. These configuration register may be used to
12enable (and disable in some cases) SoC pin drivers, select peripheral clock 12enable (and disable in some cases) SoC pin drivers, select peripheral clock
13sources (internal or pin), etc. In some cases, a configuration register is 13sources (internal or pin), etc. In some cases, a configuration register is
14write once or the individual bits are write once. In addition to device config, 14write once or the individual bits are write once. In addition to device config,
15the DSCR block may provide registers which which are used to reset peripherals, 15the DSCR block may provide registers which are used to reset peripherals,
16provide device ID information, provide ethernet MAC addresses, as well as other 16provide device ID information, provide ethernet MAC addresses, as well as other
17miscellaneous functions. 17miscellaneous functions.
18 18
diff --git a/Documentation/devicetree/bindings/clock/alphascale,acc.txt b/Documentation/devicetree/bindings/clock/alphascale,acc.txt
new file mode 100644
index 000000000000..62e67e883e76
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/alphascale,acc.txt
@@ -0,0 +1,115 @@
1Alphascale Clock Controller
2
3The ACC (Alphascale Clock Controller) is responsible of choising proper
4clock source, setting deviders and clock gates.
5
6Required properties for the ACC node:
7 - compatible: must be "alphascale,asm9260-clock-controller"
8 - reg: must contain the ACC register base and size
9 - #clock-cells : shall be set to 1.
10
11Simple one-cell clock specifier format is used, where the only cell is used
12as an index of the clock inside the provider.
13It is encouraged to use dt-binding for clock index definitions. SoC specific
14dt-binding should be included to the device tree descriptor. For example
15Alphascale ASM9260:
16#include <dt-bindings/clock/alphascale,asm9260.h>
17
18This binding contains two types of clock providers:
19 _AHB_ - AHB gate;
20 _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.
21All clock specific details can be found in the SoC documentation.
22CLKID_AHB_ROM 0
23CLKID_AHB_RAM 1
24CLKID_AHB_GPIO 2
25CLKID_AHB_MAC 3
26CLKID_AHB_EMI 4
27CLKID_AHB_USB0 5
28CLKID_AHB_USB1 6
29CLKID_AHB_DMA0 7
30CLKID_AHB_DMA1 8
31CLKID_AHB_UART0 9
32CLKID_AHB_UART1 10
33CLKID_AHB_UART2 11
34CLKID_AHB_UART3 12
35CLKID_AHB_UART4 13
36CLKID_AHB_UART5 14
37CLKID_AHB_UART6 15
38CLKID_AHB_UART7 16
39CLKID_AHB_UART8 17
40CLKID_AHB_UART9 18
41CLKID_AHB_I2S0 19
42CLKID_AHB_I2C0 20
43CLKID_AHB_I2C1 21
44CLKID_AHB_SSP0 22
45CLKID_AHB_IOCONFIG 23
46CLKID_AHB_WDT 24
47CLKID_AHB_CAN0 25
48CLKID_AHB_CAN1 26
49CLKID_AHB_MPWM 27
50CLKID_AHB_SPI0 28
51CLKID_AHB_SPI1 29
52CLKID_AHB_QEI 30
53CLKID_AHB_QUADSPI0 31
54CLKID_AHB_CAMIF 32
55CLKID_AHB_LCDIF 33
56CLKID_AHB_TIMER0 34
57CLKID_AHB_TIMER1 35
58CLKID_AHB_TIMER2 36
59CLKID_AHB_TIMER3 37
60CLKID_AHB_IRQ 38
61CLKID_AHB_RTC 39
62CLKID_AHB_NAND 40
63CLKID_AHB_ADC0 41
64CLKID_AHB_LED 42
65CLKID_AHB_DAC0 43
66CLKID_AHB_LCD 44
67CLKID_AHB_I2S1 45
68CLKID_AHB_MAC1 46
69
70CLKID_SYS_CPU 47
71CLKID_SYS_AHB 48
72CLKID_SYS_I2S0M 49
73CLKID_SYS_I2S0S 50
74CLKID_SYS_I2S1M 51
75CLKID_SYS_I2S1S 52
76CLKID_SYS_UART0 53
77CLKID_SYS_UART1 54
78CLKID_SYS_UART2 55
79CLKID_SYS_UART3 56
80CLKID_SYS_UART4 56
81CLKID_SYS_UART5 57
82CLKID_SYS_UART6 58
83CLKID_SYS_UART7 59
84CLKID_SYS_UART8 60
85CLKID_SYS_UART9 61
86CLKID_SYS_SPI0 62
87CLKID_SYS_SPI1 63
88CLKID_SYS_QUADSPI 64
89CLKID_SYS_SSP0 65
90CLKID_SYS_NAND 66
91CLKID_SYS_TRACE 67
92CLKID_SYS_CAMM 68
93CLKID_SYS_WDT 69
94CLKID_SYS_CLKOUT 70
95CLKID_SYS_MAC 71
96CLKID_SYS_LCD 72
97CLKID_SYS_ADCANA 73
98
99Example of clock consumer with _SYS_ and _AHB_ sinks.
100uart4: serial@80010000 {
101 compatible = "alphascale,asm9260-uart";
102 reg = <0x80010000 0x4000>;
103 clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;
104 interrupts = <19>;
105 status = "disabled";
106};
107
108Clock consumer with only one, _AHB_ sink.
109timer0: timer@80088000 {
110 compatible = "alphascale,asm9260-timer";
111 reg = <0x80088000 0x4000>;
112 clocks = <&acc CLKID_AHB_TIMER0>;
113 interrupts = <29>;
114};
115
diff --git a/Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt
new file mode 100644
index 000000000000..a8978ec94831
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt
@@ -0,0 +1,35 @@
1These bindings should be considered EXPERIMENTAL for now.
2
3* Renesas SH73A0 Clock Pulse Generator (CPG)
4
5The CPG generates core clocks for the SH73A0 SoC. It includes four PLLs
6and several fixed ratio dividers.
7
8Required Properties:
9
10 - compatible: Must be "renesas,sh73a0-cpg-clocks"
11
12 - reg: Base address and length of the memory resource used by the CPG
13
14 - clocks: Reference to the parent clocks ("extal1" and "extal2")
15
16 - #clock-cells: Must be 1
17
18 - clock-output-names: The names of the clocks. Supported clocks are "main",
19 "pll0", "pll1", "pll2", "pll3", "dsi0phy", "dsi1phy", "zg", "m3", "b",
20 "m1", "m2", "z", "zx", and "hp".
21
22
23Example
24-------
25
26 cpg_clocks: cpg_clocks@e6150000 {
27 compatible = "renesas,sh73a0-cpg-clocks";
28 reg = <0 0xe6150000 0 0x10000>;
29 clocks = <&extal1_clk>, <&extal2_clk>;
30 #clock-cells = <1>;
31 clock-output-names = "main", "pll0", "pll1", "pll2",
32 "pll3", "dsi0phy", "dsi1phy",
33 "zg", "m3", "b", "m1", "m2",
34 "z", "zx", "hp";
35 };
diff --git a/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
new file mode 100644
index 000000000000..b54bf3a2ff57
--- /dev/null
+++ b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
@@ -0,0 +1,110 @@
1
2* Samsung Exynos PPMU (Platform Performance Monitoring Unit) device
3
4The Samsung Exynos SoC has PPMU (Platform Performance Monitoring Unit) for
5each IP. PPMU provides the primitive values to get performance data. These
6PPMU events provide information of the SoC's behaviors so that you may
7use to analyze system performance, to make behaviors visible and to count
8usages of each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D, MFC).
9The Exynos PPMU driver uses the devfreq-event class to provide event data
10to various devfreq devices. The devfreq devices would use the event data when
11derterming the current state of each IP.
12
13Required properties:
14- compatible: Should be "samsung,exynos-ppmu".
15- reg: physical base address of each PPMU and length of memory mapped region.
16
17Optional properties:
18- clock-names : the name of clock used by the PPMU, "ppmu"
19- clocks : phandles for clock specified in "clock-names" property
20- #clock-cells: should be 1.
21
22Example1 : PPMU nodes in exynos3250.dtsi are listed below.
23
24 ppmu_dmc0: ppmu_dmc0@106a0000 {
25 compatible = "samsung,exynos-ppmu";
26 reg = <0x106a0000 0x2000>;
27 status = "disabled";
28 };
29
30 ppmu_dmc1: ppmu_dmc1@106b0000 {
31 compatible = "samsung,exynos-ppmu";
32 reg = <0x106b0000 0x2000>;
33 status = "disabled";
34 };
35
36 ppmu_cpu: ppmu_cpu@106c0000 {
37 compatible = "samsung,exynos-ppmu";
38 reg = <0x106c0000 0x2000>;
39 status = "disabled";
40 };
41
42 ppmu_rightbus: ppmu_rightbus@112a0000 {
43 compatible = "samsung,exynos-ppmu";
44 reg = <0x112a0000 0x2000>;
45 clocks = <&cmu CLK_PPMURIGHT>;
46 clock-names = "ppmu";
47 status = "disabled";
48 };
49
50 ppmu_leftbus: ppmu_leftbus0@116a0000 {
51 compatible = "samsung,exynos-ppmu";
52 reg = <0x116a0000 0x2000>;
53 clocks = <&cmu CLK_PPMULEFT>;
54 clock-names = "ppmu";
55 status = "disabled";
56 };
57
58Example2 : Events of each PPMU node in exynos3250-rinato.dts are listed below.
59
60 &ppmu_dmc0 {
61 status = "okay";
62
63 events {
64 ppmu_dmc0_3: ppmu-event3-dmc0 {
65 event-name = "ppmu-event3-dmc0";
66 };
67
68 ppmu_dmc0_2: ppmu-event2-dmc0 {
69 event-name = "ppmu-event2-dmc0";
70 };
71
72 ppmu_dmc0_1: ppmu-event1-dmc0 {
73 event-name = "ppmu-event1-dmc0";
74 };
75
76 ppmu_dmc0_0: ppmu-event0-dmc0 {
77 event-name = "ppmu-event0-dmc0";
78 };
79 };
80 };
81
82 &ppmu_dmc1 {
83 status = "okay";
84
85 events {
86 ppmu_dmc1_3: ppmu-event3-dmc1 {
87 event-name = "ppmu-event3-dmc1";
88 };
89 };
90 };
91
92 &ppmu_leftbus {
93 status = "okay";
94
95 events {
96 ppmu_leftbus_3: ppmu-event3-leftbus {
97 event-name = "ppmu-event3-leftbus";
98 };
99 };
100 };
101
102 &ppmu_rightbus {
103 status = "okay";
104
105 events {
106 ppmu_rightbus_3: ppmu-event3-rightbus {
107 event-name = "ppmu-event3-rightbus";
108 };
109 };
110 };
diff --git a/Documentation/devicetree/bindings/dma/img-mdc-dma.txt b/Documentation/devicetree/bindings/dma/img-mdc-dma.txt
new file mode 100644
index 000000000000..28c1341db346
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/img-mdc-dma.txt
@@ -0,0 +1,57 @@
1* IMG Multi-threaded DMA Controller (MDC)
2
3Required properties:
4- compatible: Must be "img,pistachio-mdc-dma".
5- reg: Must contain the base address and length of the MDC registers.
6- interrupts: Must contain all the per-channel DMA interrupts.
7- clocks: Must contain an entry for each entry in clock-names.
8 See ../clock/clock-bindings.txt for details.
9- clock-names: Must include the following entries:
10 - sys: MDC system interface clock.
11- img,cr-periph: Must contain a phandle to the peripheral control syscon
12 node which contains the DMA request to channel mapping registers.
13- img,max-burst-multiplier: Must be the maximum supported burst size multiplier.
14 The maximum burst size is this value multiplied by the hardware-reported bus
15 width.
16- #dma-cells: Must be 3:
17 - The first cell is the peripheral's DMA request line.
18 - The second cell is a bitmap specifying to which channels the DMA request
19 line may be mapped (i.e. bit N set indicates channel N is usable).
20 - The third cell is the thread ID to be used by the channel.
21
22Optional properties:
23- dma-channels: Number of supported DMA channels, up to 32. If not specified
24 the number reported by the hardware is used.
25
26Example:
27
28mdc: dma-controller@18143000 {
29 compatible = "img,pistachio-mdc-dma";
30 reg = <0x18143000 0x1000>;
31 interrupts = <GIC_SHARED 27 IRQ_TYPE_LEVEL_HIGH>,
32 <GIC_SHARED 28 IRQ_TYPE_LEVEL_HIGH>,
33 <GIC_SHARED 29 IRQ_TYPE_LEVEL_HIGH>,
34 <GIC_SHARED 30 IRQ_TYPE_LEVEL_HIGH>,
35 <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>,
36 <GIC_SHARED 32 IRQ_TYPE_LEVEL_HIGH>,
37 <GIC_SHARED 33 IRQ_TYPE_LEVEL_HIGH>,
38 <GIC_SHARED 34 IRQ_TYPE_LEVEL_HIGH>,
39 <GIC_SHARED 35 IRQ_TYPE_LEVEL_HIGH>,
40 <GIC_SHARED 36 IRQ_TYPE_LEVEL_HIGH>,
41 <GIC_SHARED 37 IRQ_TYPE_LEVEL_HIGH>,
42 <GIC_SHARED 38 IRQ_TYPE_LEVEL_HIGH>;
43 clocks = <&system_clk>;
44 clock-names = "sys";
45
46 img,max-burst-multiplier = <16>;
47 img,cr-periph = <&cr_periph>;
48
49 #dma-cells = <3>;
50};
51
52spi@18100f00 {
53 ...
54 dmas = <&mdc 9 0xffffffff 0>, <&mdc 10 0xffffffff 0>;
55 dma-names = "tx", "rx";
56 ...
57};
diff --git a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
index df0f48bcf75a..09daeef1ff22 100644
--- a/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
+++ b/Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt
@@ -1,13 +1,10 @@
1* Renesas R-Car DMA Controller Device Tree bindings 1* Renesas R-Car DMA Controller Device Tree bindings
2 2
3Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA 3Renesas R-Car Generation 2 SoCs have multiple multi-channel DMA
4controller instances named DMAC capable of serving multiple clients. Channels 4controller instances named DMAC capable of serving multiple clients. Channels
5can be dedicated to specific clients or shared between a large number of 5can be dedicated to specific clients or shared between a large number of
6clients. 6clients.
7 7
8DMA clients are connected to the DMAC ports referenced by an 8-bit identifier
9called MID/RID.
10
11Each DMA client is connected to one dedicated port of the DMAC, identified by 8Each DMA client is connected to one dedicated port of the DMAC, identified by
12an 8-bit port number called the MID/RID. A DMA controller can thus serve up to 9an 8-bit port number called the MID/RID. A DMA controller can thus serve up to
13256 clients in total. When the number of hardware channels is lower than the 10256 clients in total. When the number of hardware channels is lower than the
diff --git a/Documentation/devicetree/bindings/dma/snps-dma.txt b/Documentation/devicetree/bindings/dma/snps-dma.txt
index d58675ea1abf..c261598164a7 100644
--- a/Documentation/devicetree/bindings/dma/snps-dma.txt
+++ b/Documentation/devicetree/bindings/dma/snps-dma.txt
@@ -38,7 +38,7 @@ Example:
38 chan_allocation_order = <1>; 38 chan_allocation_order = <1>;
39 chan_priority = <1>; 39 chan_priority = <1>;
40 block_size = <0xfff>; 40 block_size = <0xfff>;
41 data_width = <3 3 0 0>; 41 data_width = <3 3>;
42 }; 42 };
43 43
44DMA clients connected to the Designware DMA controller must use the format 44DMA clients connected to the Designware DMA controller must use the format
diff --git a/Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt b/Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt
new file mode 100644
index 000000000000..ebc1a914bda3
--- /dev/null
+++ b/Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt
@@ -0,0 +1,53 @@
1Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
2
3The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
4See ../mfd/atmel-hlcdc.txt for more details.
5
6Required properties:
7 - compatible: value should be "atmel,hlcdc-display-controller"
8 - pinctrl-names: the pin control state names. Should contain "default".
9 - pinctrl-0: should contain the default pinctrl states.
10 - #address-cells: should be set to 1.
11 - #size-cells: should be set to 0.
12
13Required children nodes:
14 Children nodes are encoding available output ports and their connections
15 to external devices using the OF graph reprensentation (see ../graph.txt).
16 At least one port node is required.
17
18Example:
19
20 hlcdc: hlcdc@f0030000 {
21 compatible = "atmel,sama5d3-hlcdc";
22 reg = <0xf0030000 0x2000>;
23 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
24 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
25 clock-names = "periph_clk","sys_clk", "slow_clk";
26 status = "disabled";
27
28 hlcdc-display-controller {
29 compatible = "atmel,hlcdc-display-controller";
30 pinctrl-names = "default";
31 pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
32 #address-cells = <1>;
33 #size-cells = <0>;
34
35 port@0 {
36 #address-cells = <1>;
37 #size-cells = <0>;
38 reg = <0>;
39
40 hlcdc_panel_output: endpoint@0 {
41 reg = <0>;
42 remote-endpoint = <&panel_input>;
43 };
44 };
45 };
46
47 hlcdc_pwm: hlcdc-pwm {
48 compatible = "atmel,hlcdc-pwm";
49 pinctrl-names = "default";
50 pinctrl-0 = <&pinctrl_lcd_pwm>;
51 #pwm-cells = <3>;
52 };
53 };
diff --git a/Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt b/Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt
new file mode 100644
index 000000000000..a905c1413558
--- /dev/null
+++ b/Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt
@@ -0,0 +1,50 @@
1DesignWare HDMI bridge bindings
2
3Required properties:
4- compatible: platform specific such as:
5 * "snps,dw-hdmi-tx"
6 * "fsl,imx6q-hdmi"
7 * "fsl,imx6dl-hdmi"
8 * "rockchip,rk3288-dw-hdmi"
9- reg: Physical base address and length of the controller's registers.
10- interrupts: The HDMI interrupt number
11- clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks,
12 as described in Documentation/devicetree/bindings/clock/clock-bindings.txt,
13 the clocks are soc specific, the clock-names should be "iahb", "isfr"
14-port@[X]: SoC specific port nodes with endpoint definitions as defined
15 in Documentation/devicetree/bindings/media/video-interfaces.txt,
16 please refer to the SoC specific binding document:
17 * Documentation/devicetree/bindings/drm/imx/hdmi.txt
18 * Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
19
20Optional properties
21- reg-io-width: the width of the reg:1,4, default set to 1 if not present
22- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
23- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
24
25Example:
26 hdmi: hdmi@0120000 {
27 compatible = "fsl,imx6q-hdmi";
28 reg = <0x00120000 0x9000>;
29 interrupts = <0 115 0x04>;
30 gpr = <&gpr>;
31 clocks = <&clks 123>, <&clks 124>;
32 clock-names = "iahb", "isfr";
33 ddc-i2c-bus = <&i2c2>;
34
35 port@0 {
36 reg = <0>;
37
38 hdmi_mux_0: endpoint {
39 remote-endpoint = <&ipu1_di0_hdmi>;
40 };
41 };
42
43 port@1 {
44 reg = <1>;
45
46 hdmi_mux_1: endpoint {
47 remote-endpoint = <&ipu1_di1_hdmi>;
48 };
49 };
50 };
diff --git a/Documentation/devicetree/bindings/drm/msm/hdmi.txt b/Documentation/devicetree/bindings/drm/msm/hdmi.txt
index aca917fe2ba7..a29a55f3d937 100644
--- a/Documentation/devicetree/bindings/drm/msm/hdmi.txt
+++ b/Documentation/devicetree/bindings/drm/msm/hdmi.txt
@@ -2,6 +2,8 @@ Qualcomm adreno/snapdragon hdmi output
2 2
3Required properties: 3Required properties:
4- compatible: one of the following 4- compatible: one of the following
5 * "qcom,hdmi-tx-8084"
6 * "qcom,hdmi-tx-8074"
5 * "qcom,hdmi-tx-8660" 7 * "qcom,hdmi-tx-8660"
6 * "qcom,hdmi-tx-8960" 8 * "qcom,hdmi-tx-8960"
7- reg: Physical base address and length of the controller's registers 9- reg: Physical base address and length of the controller's registers
diff --git a/Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt b/Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt
new file mode 100644
index 000000000000..9b027a615486
--- /dev/null
+++ b/Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt
@@ -0,0 +1,17 @@
1Altera SOCFPGA FPGA Manager
2
3Required properties:
4- compatible : should contain "altr,socfpga-fpga-mgr"
5- reg : base address and size for memory mapped io.
6 - The first index is for FPGA manager register access.
7 - The second index is for writing FPGA configuration data.
8- interrupts : interrupt for the FPGA Manager device.
9
10Example:
11
12 hps_0_fpgamgr: fpgamgr@0xff706000 {
13 compatible = "altr,socfpga-fpga-mgr";
14 reg = <0xFF706000 0x1000
15 0xFFB90000 0x1000>;
16 interrupts = <0 175 4>;
17 };
diff --git a/Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt b/Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt
index d8c98c7614d0..23e1d3194174 100644
--- a/Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt
+++ b/Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt
@@ -1,11 +1,11 @@
1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block. 1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block.
2 2
3Required properties: 3Required properties:
4- compatible : should be: 4- compatible : For Tegra20, must contain "nvidia,tegra20-efuse". For Tegra30,
5 "nvidia,tegra20-efuse" 5 must contain "nvidia,tegra30-efuse". For Tegra114, must contain
6 "nvidia,tegra30-efuse" 6 "nvidia,tegra114-efuse". For Tegra124, must contain "nvidia,tegra124-efuse".
7 "nvidia,tegra114-efuse" 7 Otherwise, must contain "nvidia,<chip>-efuse", plus one of the above, where
8 "nvidia,tegra124-efuse" 8 <chip> is tegra132.
9 Details: 9 Details:
10 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data 10 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data
11 due to a hardware bug. Tegra20 also lacks certain information which is 11 due to a hardware bug. Tegra20 also lacks certain information which is
diff --git a/Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt b/Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt
new file mode 100644
index 000000000000..bef353f370d8
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt
@@ -0,0 +1,20 @@
1Fujitsu MB86S7x GPIO Controller
2-------------------------------
3
4Required properties:
5- compatible: Should be "fujitsu,mb86s70-gpio"
6- reg: Base address and length of register space
7- clocks: Specify the clock
8- gpio-controller: Marks the device node as a gpio controller.
9- #gpio-cells: Should be <2>. The first cell is the pin number and the
10 second cell is used to specify optional parameters:
11 - bit 0 specifies polarity (0 for normal, 1 for inverted).
12
13Examples:
14 gpio0: gpio@31000000 {
15 compatible = "fujitsu,mb86s70-gpio";
16 reg = <0 0x31000000 0x10000>;
17 gpio-controller;
18 #gpio-cells = <2>;
19 clocks = <&clk 0 2 1>;
20 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-max732x.txt b/Documentation/devicetree/bindings/gpio/gpio-max732x.txt
new file mode 100644
index 000000000000..5fdc843b4542
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-max732x.txt
@@ -0,0 +1,59 @@
1* MAX732x-compatible I/O expanders
2
3Required properties:
4 - compatible: Should be one of the following:
5 - "maxim,max7319": For the Maxim MAX7319
6 - "maxim,max7320": For the Maxim MAX7320
7 - "maxim,max7321": For the Maxim MAX7321
8 - "maxim,max7322": For the Maxim MAX7322
9 - "maxim,max7323": For the Maxim MAX7323
10 - "maxim,max7324": For the Maxim MAX7324
11 - "maxim,max7325": For the Maxim MAX7325
12 - "maxim,max7326": For the Maxim MAX7326
13 - "maxim,max7327": For the Maxim MAX7327
14 - reg: I2C slave address for this device.
15 - gpio-controller: Marks the device node as a GPIO controller.
16 - #gpio-cells: Should be 2.
17 - first cell is the GPIO number
18 - second cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
19 Only the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
20
21Optional properties:
22
23 The I/O expander can detect input state changes, and thus optionally act as
24 an interrupt controller. When the expander interrupt line is connected all the
25 following properties must be set. For more information please see the
26 interrupt controller device tree bindings documentation available at
27 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt.
28
29 - interrupt-controller: Identifies the node as an interrupt controller.
30 - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
31 - first cell is the pin number
32 - second cell is used to specify flags
33 - interrupt-parent: phandle of the parent interrupt controller.
34 - interrupts: Interrupt specifier for the controllers interrupt.
35
36Please refer to gpio.txt in this directory for details of the common GPIO
37bindings used by client devices.
38
39Example 1. MAX7325 with interrupt support enabled (CONFIG_GPIO_MAX732X_IRQ=y):
40
41 expander: max7325@6d {
42 compatible = "maxim,max7325";
43 reg = <0x6d>;
44 gpio-controller;
45 #gpio-cells = <2>;
46 interrupt-controller;
47 #interrupt-cells = <2>;
48 interrupt-parent = <&gpio4>;
49 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
50 };
51
52Example 2. MAX7325 with interrupt support disabled (CONFIG_GPIO_MAX732X_IRQ=n):
53
54 expander: max7325@6d {
55 compatible = "maxim,max7325";
56 reg = <0x6d>;
57 gpio-controller;
58 #gpio-cells = <2>;
59 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt b/Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt
index d63194a2c848..ada4e2973323 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt
@@ -39,7 +39,7 @@ Optional Properties:
39 - lines-initial-states: Bitmask that specifies the initial state of each 39 - lines-initial-states: Bitmask that specifies the initial state of each
40 line. When a bit is set to zero, the corresponding line will be initialized to 40 line. When a bit is set to zero, the corresponding line will be initialized to
41 the input (pulled-up) state. When the bit is set to one, the line will be 41 the input (pulled-up) state. When the bit is set to one, the line will be
42 initialized the the low-level output state. If the property is not specified 42 initialized the low-level output state. If the property is not specified
43 all lines will be initialized to the input state. 43 all lines will be initialized to the input state.
44 44
45 The I/O expander can detect input state changes, and thus optionally act as 45 The I/O expander can detect input state changes, and thus optionally act as
diff --git a/Documentation/devicetree/bindings/gpio/gpio-sx150x.txt b/Documentation/devicetree/bindings/gpio/gpio-sx150x.txt
new file mode 100644
index 000000000000..ba2bb84eeac3
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-sx150x.txt
@@ -0,0 +1,40 @@
1SEMTECH SX150x GPIO expander bindings
2
3
4Required properties:
5
6- compatible: should be "semtech,sx1506q",
7 "semtech,sx1508q",
8 "semtech,sx1509q".
9
10- reg: The I2C slave address for this device.
11
12- interrupt-parent: phandle of the parent interrupt controller.
13
14- interrupts: Interrupt specifier for the controllers interrupt.
15
16- #gpio-cells: Should be 2. The first cell is the GPIO number and the
17 second cell is used to specify optional parameters:
18 bit 0: polarity (0: normal, 1: inverted)
19
20- gpio-controller: Marks the device as a GPIO controller.
21
22- interrupt-controller: Marks the device as a interrupt controller.
23
24The GPIO expander can optionally be used as an interrupt controller, in
25which case it uses the default two cell specifier as described in
26Documentation/devicetree/bindings/interrupt-controller/interrupts.txt.
27
28Example:
29
30 i2c_gpio_expander@20{
31 #gpio-cells = <2>;
32 #interrupt-cells = <2>;
33 compatible = "semtech,sx1506q";
34 reg = <0x20>;
35 interrupt-parent = <&gpio_1>;
36 interrupts = <16 0>;
37
38 gpio-controller;
39 interrupt-controller;
40 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt b/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt
new file mode 100644
index 000000000000..dae130060537
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt
@@ -0,0 +1,32 @@
1APM X-Gene Standby GPIO controller bindings
2
3This is a gpio controller in the standby domain.
4
5There are 20 GPIO pins from 0..21. There is no GPIO_DS14 or GPIO_DS15,
6only GPIO_DS8..GPIO_DS13 support interrupts. The IRQ mapping
7is currently 1-to-1 on interrupts 0x28 thru 0x2d.
8
9Required properties:
10- compatible: "apm,xgene-gpio-sb" for the X-Gene Standby GPIO controller
11- reg: Physical base address and size of the controller's registers
12- #gpio-cells: Should be two.
13 - first cell is the pin number
14 - second cell is used to specify the gpio polarity:
15 0 = active high
16 1 = active low
17- gpio-controller: Marks the device node as a GPIO controller.
18- interrupts: Shall contain exactly 6 interrupts.
19
20Example:
21 sbgpio: sbgpio@17001000 {
22 compatible = "apm,xgene-gpio-sb";
23 reg = <0x0 0x17001000 0x0 0x400>;
24 #gpio-cells = <2>;
25 gpio-controller;
26 interrupts = <0x0 0x28 0x1>,
27 <0x0 0x29 0x1>,
28 <0x0 0x2a 0x1>,
29 <0x0 0x2b 0x1>,
30 <0x0 0x2c 0x1>,
31 <0x0 0x2d 0x1>;
32 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index b9bd1d64cfa6..f7a158d85862 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -69,7 +69,8 @@ GPIO pin number, and GPIO flags as accepted by the "qe_pio_e" gpio-controller.
69---------------------------------- 69----------------------------------
70 70
71A gpio-specifier should contain a flag indicating the GPIO polarity; active- 71A gpio-specifier should contain a flag indicating the GPIO polarity; active-
72high or active-low. If it does, the follow best practices should be followed: 72high or active-low. If it does, the following best practices should be
73followed:
73 74
74The gpio-specifier's polarity flag should represent the physical level at the 75The gpio-specifier's polarity flag should represent the physical level at the
75GPIO controller that achieves (or represents, for inputs) a logically asserted 76GPIO controller that achieves (or represents, for inputs) a logically asserted
@@ -147,7 +148,7 @@ contains information structures as follows:
147 numeric-gpio-range ::= 148 numeric-gpio-range ::=
148 <pinctrl-phandle> <gpio-base> <pinctrl-base> <count> 149 <pinctrl-phandle> <gpio-base> <pinctrl-base> <count>
149 named-gpio-range ::= <pinctrl-phandle> <gpio-base> '<0 0>' 150 named-gpio-range ::= <pinctrl-phandle> <gpio-base> '<0 0>'
150 gpio-phandle : phandle to pin controller node. 151 pinctrl-phandle : phandle to pin controller node
151 gpio-base : Base GPIO ID in the GPIO controller 152 gpio-base : Base GPIO ID in the GPIO controller
152 pinctrl-base : Base pinctrl pin ID in the pin controller 153 pinctrl-base : Base pinctrl pin ID in the pin controller
153 count : The number of GPIOs/pins in this range 154 count : The number of GPIOs/pins in this range
diff --git a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
index b2afdb27adeb..67a2e4e414a5 100644
--- a/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/mrvl-gpio.txt
@@ -3,8 +3,8 @@
3Required properties: 3Required properties:
4- compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio", 4- compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio",
5 "intel,pxa27x-gpio", "intel,pxa3xx-gpio", 5 "intel,pxa27x-gpio", "intel,pxa3xx-gpio",
6 "marvell,pxa93x-gpio", "marvell,mmp-gpio" or 6 "marvell,pxa93x-gpio", "marvell,mmp-gpio",
7 "marvell,mmp2-gpio". 7 "marvell,mmp2-gpio" or marvell,pxa1928-gpio.
8- reg : Address and length of the register set for the device 8- reg : Address and length of the register set for the device
9- interrupts : Should be the port interrupt shared by all gpio pins. 9- interrupts : Should be the port interrupt shared by all gpio pins.
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,
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
index 4c32ef0b7db8..009f4bfa1590 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
@@ -197,7 +197,9 @@ of the following host1x client modules:
197- sor: serial output resource 197- sor: serial output resource
198 198
199 Required properties: 199 Required properties:
200 - compatible: "nvidia,tegra124-sor" 200 - compatible: For Tegra124, must contain "nvidia,tegra124-sor". Otherwise,
201 must contain '"nvidia,<chip>-sor", "nvidia,tegra124-sor"', where <chip>
202 is tegra132.
201 - reg: Physical base address and length of the controller's registers. 203 - reg: Physical base address and length of the controller's registers.
202 - interrupts: The interrupt outputs from the controller. 204 - interrupts: The interrupt outputs from the controller.
203 - clocks: Must contain an entry for each entry in clock-names. 205 - clocks: Must contain an entry for each entry in clock-names.
@@ -222,7 +224,9 @@ of the following host1x client modules:
222 - nvidia,dpaux: phandle to a DispayPort AUX interface 224 - nvidia,dpaux: phandle to a DispayPort AUX interface
223 225
224- dpaux: DisplayPort AUX interface 226- dpaux: DisplayPort AUX interface
225 - compatible: "nvidia,tegra124-dpaux" 227 - compatible: For Tegra124, must contain "nvidia,tegra124-dpaux". Otherwise,
228 must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where
229 <chip> is tegra132.
226 - reg: Physical base address and length of the controller's registers. 230 - reg: Physical base address and length of the controller's registers.
227 - interrupts: The interrupt outputs from the controller. 231 - interrupts: The interrupt outputs from the controller.
228 - clocks: Must contain an entry for each entry in clock-names. 232 - clocks: Must contain an entry for each entry in clock-names.
diff --git a/Documentation/devicetree/bindings/gpu/st,stih4xx.txt b/Documentation/devicetree/bindings/gpu/st,stih4xx.txt
index c99eb34e640b..6b1d75f1a529 100644
--- a/Documentation/devicetree/bindings/gpu/st,stih4xx.txt
+++ b/Documentation/devicetree/bindings/gpu/st,stih4xx.txt
@@ -83,6 +83,22 @@ sti-hda:
83 - clock-names: names of the clocks listed in clocks property in the same 83 - clock-names: names of the clocks listed in clocks property in the same
84 order. 84 order.
85 85
86sti-dvo:
87 Required properties:
88 must be a child of sti-tvout
89 - compatible: "st,stih<chip>-dvo"
90 - reg: Physical base address of the IP registers and length of memory mapped region.
91 - reg-names: names of the mapped memory regions listed in regs property in
92 the same order.
93 - clocks: from common clock binding: handle hardware IP needed clocks, the
94 number of clocks may depend of the SoC type.
95 See ../clocks/clock-bindings.txt for details.
96 - clock-names: names of the clocks listed in clocks property in the same
97 order.
98 - pinctrl-0: pin control handle
99 - pinctrl-name: names of the pin control to use
100 - sti,panel: phandle of the panel connected to the DVO output
101
86sti-hqvdp: 102sti-hqvdp:
87 must be a child of sti-display-subsystem 103 must be a child of sti-display-subsystem
88 Required properties: 104 Required properties:
@@ -198,6 +214,19 @@ Example:
198 clock-names = "pix", "hddac"; 214 clock-names = "pix", "hddac";
199 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; 215 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;
200 }; 216 };
217
218 sti-dvo@8d00400 {
219 compatible = "st,stih407-dvo";
220 reg = <0x8d00400 0x200>;
221 reg-names = "dvo-reg";
222 clock-names = "dvo_pix", "dvo",
223 "main_parent", "aux_parent";
224 clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>,
225 <&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>;
226 pinctrl-names = "default";
227 pinctrl-0 = <&pinctrl_dvo>;
228 sti,panel = <&panel_dvo>;
229 };
201 }; 230 };
202 231
203 sti-hqvdp@9c000000 { 232 sti-hqvdp@9c000000 {
diff --git a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt
index 87507e9ce6db..656716b72cc4 100644
--- a/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt
+++ b/Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt
@@ -1,11 +1,11 @@
1NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver. 1NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver.
2 2
3Required properties: 3Required properties:
4- compatible : should be: 4- compatible : For Tegra20, must be one of "nvidia,tegra20-i2c-dvc" or
5 "nvidia,tegra114-i2c" 5 "nvidia,tegra20-i2c". For Tegra30, must be "nvidia,tegra30-i2c".
6 "nvidia,tegra30-i2c" 6 For Tegra114, must be "nvidia,tegra114-i2c". Otherwise, must be
7 "nvidia,tegra20-i2c" 7 "nvidia,<chip>-i2c", plus at least one of the above, where <chip> is
8 "nvidia,tegra20-i2c-dvc" 8 tegra124, tegra132, or tegra210.
9 Details of compatible are as follows: 9 Details of compatible are as follows:
10 nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C 10 nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C
11 controller. This only support master mode of I2C communication. Register 11 controller. This only support master mode of I2C communication. Register
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index 9f41d05be3be..4dcd88d5f7ca 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -9,6 +9,7 @@ document for it just like any other devices.
9 9
10Compatible Vendor / Chip 10Compatible Vendor / Chip
11========== ============= 11========== =============
12abracon,abb5zes3 AB-RTCMC-32.768kHz-B5ZE-S3: Real Time Clock/Calendar Module with I2C Interface
12ad,ad7414 SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin 13ad,ad7414 SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin
13ad,adm9240 ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems 14ad,adm9240 ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems
14adi,adt7461 +/-1C TDM Extended Temp Range I.C 15adi,adt7461 +/-1C TDM Extended Temp Range I.C
@@ -34,6 +35,7 @@ atmel,24c512 i2c serial eeprom (24cxx)
34atmel,24c1024 i2c serial eeprom (24cxx) 35atmel,24c1024 i2c serial eeprom (24cxx)
35atmel,at97sc3204t i2c trusted platform module (TPM) 36atmel,at97sc3204t i2c trusted platform module (TPM)
36capella,cm32181 CM32181: Ambient Light Sensor 37capella,cm32181 CM32181: Ambient Light Sensor
38capella,cm3232 CM3232: Ambient Light Sensor
37catalyst,24c32 i2c serial eeprom 39catalyst,24c32 i2c serial eeprom
38cirrus,cs42l51 Cirrus Logic CS42L51 audio codec 40cirrus,cs42l51 Cirrus Logic CS42L51 audio codec
39dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock 41dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock
diff --git a/Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt b/Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt
new file mode 100644
index 000000000000..904f76de9055
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt
@@ -0,0 +1,22 @@
1* Cosmic Circuits - Analog to Digital Converter (CC-10001-ADC)
2
3Required properties:
4 - compatible: Should be "cosmic,10001-adc"
5 - reg: Should contain adc registers location and length.
6 - clock-names: Should contain "adc".
7 - clocks: Should contain a clock specifier for each entry in clock-names
8 - vref-supply: The regulator supply ADC reference voltage.
9
10Optional properties:
11 - adc-reserved-channels: Bitmask of reserved channels,
12 i.e. channels that cannot be used by the OS.
13
14Example:
15adc: adc@18101600 {
16 compatible = "cosmic,10001-adc";
17 reg = <0x18101600 0x24>;
18 adc-reserved-channels = <0x2>;
19 clocks = <&adc_clk>;
20 clock-names = "adc";
21 vref-supply = <&reg_1v8>;
22};
diff --git a/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt
new file mode 100644
index 000000000000..0fb46137f936
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt
@@ -0,0 +1,129 @@
1Qualcomm's SPMI PMIC voltage ADC
2
3SPMI PMIC voltage ADC (VADC) provides interface to clients to read
4voltage. The VADC is a 15-bit sigma-delta ADC.
5
6VADC node:
7
8- compatible:
9 Usage: required
10 Value type: <string>
11 Definition: Should contain "qcom,spmi-vadc".
12
13- reg:
14 Usage: required
15 Value type: <prop-encoded-array>
16 Definition: VADC base address and length in the SPMI PMIC register map.
17
18- #address-cells:
19 Usage: required
20 Value type: <u32>
21 Definition: Must be one. Child node 'reg' property should define ADC
22 channel number.
23
24- #size-cells:
25 Usage: required
26 Value type: <u32>
27 Definition: Must be zero.
28
29- #io-channel-cells:
30 Usage: required
31 Value type: <u32>
32 Definition: Must be one. For details about IIO bindings see:
33 Documentation/devicetree/bindings/iio/iio-bindings.txt
34
35- interrupts:
36 Usage: optional
37 Value type: <prop-encoded-array>
38 Definition: End of conversion interrupt.
39
40Channel node properties:
41
42- reg:
43 Usage: required
44 Value type: <u32>
45 Definition: ADC channel number.
46 See include/dt-bindings/iio/qcom,spmi-vadc.h
47
48- qcom,decimation:
49 Usage: optional
50 Value type: <u32>
51 Definition: This parameter is used to decrease ADC sampling rate.
52 Quicker measurements can be made by reducing decimation ratio.
53 Valid values are 512, 1024, 2048, 4096.
54 If property is not found, default value of 512 will be used.
55
56- qcom,pre-scaling:
57 Usage: optional
58 Value type: <u32 array>
59 Definition: Used for scaling the channel input signal before the signal is
60 fed to VADC. The configuration for this node is to know the
61 pre-determined ratio and use it for post scaling. Select one from
62 the following options.
63 <1 1>, <1 3>, <1 4>, <1 6>, <1 20>, <1 8>, <10 81>, <1 10>
64 If property is not found default value depending on chip will be used.
65
66- qcom,ratiometric:
67 Usage: optional
68 Value type: <empty>
69 Definition: Channel calibration type. If this property is specified
70 VADC will use the VDD reference (1.8V) and GND for channel
71 calibration. If property is not found, channel will be
72 calibrated with 0.625V and 1.25V reference channels, also
73 known as absolute calibration.
74
75- qcom,hw-settle-time:
76 Usage: optional
77 Value type: <u32>
78 Definition: Time between AMUX getting configured and the ADC starting
79 conversion. Delay = 100us * (value) for value < 11, and
80 2ms * (value - 10) otherwise.
81 Valid values are: 0, 100, 200, 300, 400, 500, 600, 700, 800,
82 900 us and 1, 2, 4, 6, 8, 10 ms
83 If property is not found, channel will use 0us.
84
85- qcom,avg-samples:
86 Usage: optional
87 Value type: <u32>
88 Definition: Number of samples to be used for measurement.
89 Averaging provides the option to obtain a single measurement
90 from the ADC that is an average of multiple samples. The value
91 selected is 2^(value).
92 Valid values are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
93 If property is not found, 1 sample will be used.
94
95NOTE:
96
97Following channels, also known as reference point channels, are used for
98result calibration and their channel configuration nodes should be defined:
99VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
100VADC_GND_REF and VADC_VDD_VADC.
101
102Example:
103
104 /* VADC node */
105 pmic_vadc: vadc@3100 {
106 compatible = "qcom,spmi-vadc";
107 reg = <0x3100 0x100>;
108 interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
109 #address-cells = <1>;
110 #size-cells = <0>;
111 #io-channel-cells = <1>;
112 io-channel-ranges;
113
114 /* Channel node */
115 usb_id_nopull {
116 reg = <VADC_LR_MUX10_USB_ID>;
117 qcom,decimation = <512>;
118 qcom,ratiometric;
119 qcom,hw-settle-time = <200>;
120 qcom,avg-samples = <1>;
121 qcom,pre-scaling = <1 3>;
122 };
123 };
124
125 /* IIO client node */
126 usb {
127 io-channels = <&pmic_vadc VADC_LR_MUX10_USB_ID>;
128 io-channel-names = "vadc";
129 };
diff --git a/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt b/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
index d9ee909d2b78..d71258e2d456 100644
--- a/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
+++ b/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
@@ -59,7 +59,7 @@ Optional properties:
59 Each child node represents one channel and has the following 59 Each child node represents one channel and has the following
60 properties: 60 properties:
61 Required properties: 61 Required properties:
62 * reg: Pair of pins the the channel is connected to. 62 * reg: Pair of pins the channel is connected to.
63 0: VP/VN 63 0: VP/VN
64 1: VAUXP[0]/VAUXN[0] 64 1: VAUXP[0]/VAUXN[0]
65 2: VAUXP[1]/VAUXN[1] 65 2: VAUXP[1]/VAUXN[1]
diff --git a/Documentation/devicetree/bindings/iio/sensorhub.txt b/Documentation/devicetree/bindings/iio/sensorhub.txt
new file mode 100644
index 000000000000..8d57571d5c0b
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/sensorhub.txt
@@ -0,0 +1,25 @@
1Samsung Sensorhub driver
2
3Sensorhub is a MCU which manages several sensors and also plays the role
4of a virtual sensor device.
5
6Required properties:
7- compatible: "samsung,sensorhub-rinato" or "samsung,sensorhub-thermostat"
8- spi-max-frequency: max SPI clock frequency
9- interrupt-parent: interrupt parent
10- interrupts: communication interrupt
11- ap-mcu-gpios: [out] ap to sensorhub line - used during communication
12- mcu-ap-gpios: [in] sensorhub to ap - used during communication
13- mcu-reset-gpios: [out] sensorhub reset
14
15Example:
16
17 shub_spi: shub {
18 compatible = "samsung,sensorhub-rinato";
19 spi-max-frequency = <5000000>;
20 interrupt-parent = <&gpx0>;
21 interrupts = <2 0>;
22 ap-mcu-gpios = <&gpx0 0 0>;
23 mcu-ap-gpios = <&gpx0 4 0>;
24 mcu-reset-gpios = <&gpx0 5 0>;
25 };
diff --git a/Documentation/devicetree/bindings/input/e3x0-button.txt b/Documentation/devicetree/bindings/input/e3x0-button.txt
new file mode 100644
index 000000000000..751665e8e47a
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/e3x0-button.txt
@@ -0,0 +1,25 @@
1National Instruments Ettus Research USRP E3x0 button driver
2
3This module is part of the NI Ettus Research USRP E3x0 SDR.
4
5This module provides a simple power button event via two interrupts.
6
7Required properties:
8- compatible: should be one of the following
9 - "ettus,e3x0-button": For devices such as the NI Ettus Research USRP E3x0
10- interrupt-parent:
11 - a phandle to the interrupt controller that it is attached to.
12- interrupts: should be one of the following
13 - <0 30 1>, <0 31 1>: For devices such as the NI Ettus Research USRP E3x0
14- interrupt-names: should be one of the following
15 - "press", "release": For devices such as the NI Ettus Research USRP E3x0
16
17Note: Interrupt numbers might vary depending on the FPGA configuration.
18
19Example:
20 button {
21 compatible = "ettus,e3x0-button";
22 interrupt-parent = <&intc>;
23 interrupts = <0 30 1>, <0 31 1>;
24 interrupt-names = "press", "release";
25 }
diff --git a/Documentation/devicetree/bindings/input/regulator-haptic.txt b/Documentation/devicetree/bindings/input/regulator-haptic.txt
new file mode 100644
index 000000000000..3ed1c7eb2f97
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/regulator-haptic.txt
@@ -0,0 +1,21 @@
1* Regulator Haptic Device Tree Bindings
2
3Required Properties:
4 - compatible : Should be "regulator-haptic"
5 - haptic-supply : Power supply to the haptic motor.
6 [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
7
8 - max-microvolt : The maximum voltage value supplied to the haptic motor.
9 [The unit of the voltage is a micro]
10
11 - min-microvolt : The minimum voltage value supplied to the haptic motor.
12 [The unit of the voltage is a micro]
13
14Example:
15
16 haptics {
17 compatible = "regulator-haptic";
18 haptic-supply = <&motor_regulator>;
19 max-microvolt = <2700000>;
20 min-microvolt = <1100000>;
21 };
diff --git a/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt b/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
new file mode 100644
index 000000000000..b9c32f6fd687
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
@@ -0,0 +1,62 @@
1Allwinner sun4i low res adc attached tablet keys
2------------------------------------------------
3
4Required properties:
5 - compatible: "allwinner,sun4i-a10-lradc-keys"
6 - reg: mmio address range of the chip
7 - interrupts: interrupt to which the chip is connected
8 - vref-supply: powersupply for the lradc reference voltage
9
10Each key is represented as a sub-node of "allwinner,sun4i-a10-lradc-keys":
11
12Required subnode-properties:
13 - label: Descriptive name of the key.
14 - linux,code: Keycode to emit.
15 - channel: Channel this key is attached to, mut be 0 or 1.
16 - voltage: Voltage in µV at lradc input when this key is pressed.
17
18Example:
19
20#include <dt-bindings/input/input.h>
21
22 lradc: lradc@01c22800 {
23 compatible = "allwinner,sun4i-a10-lradc-keys";
24 reg = <0x01c22800 0x100>;
25 interrupts = <31>;
26 vref-supply = <&reg_vcc3v0>;
27
28 button@191 {
29 label = "Volume Up";
30 linux,code = <KEY_VOLUMEUP>;
31 channel = <0>;
32 voltage = <191274>;
33 };
34
35 button@392 {
36 label = "Volume Down";
37 linux,code = <KEY_VOLUMEDOWN>;
38 channel = <0>;
39 voltage = <392644>;
40 };
41
42 button@601 {
43 label = "Menu";
44 linux,code = <KEY_MENU>;
45 channel = <0>;
46 voltage = <601151>;
47 };
48
49 button@795 {
50 label = "Enter";
51 linux,code = <KEY_ENTER>;
52 channel = <0>;
53 voltage = <795090>;
54 };
55
56 button@987 {
57 label = "Home";
58 linux,code = <KEY_HOMEPAGE>;
59 channel = <0>;
60 voltage = <987387>;
61 };
62 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
index aef57791f40b..433332d3b2ba 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
@@ -2,9 +2,10 @@ sun4i resistive touchscreen controller
2-------------------------------------- 2--------------------------------------
3 3
4Required properties: 4Required properties:
5 - compatible: "allwinner,sun4i-a10-ts" 5 - compatible: "allwinner,sun4i-a10-ts" or "allwinner,sun6i-a31-ts"
6 - reg: mmio address range of the chip 6 - reg: mmio address range of the chip
7 - interrupts: interrupt to which the chip is connected 7 - interrupts: interrupt to which the chip is connected
8 - #thermal-sensor-cells: shall be 0
8 9
9Optional properties: 10Optional properties:
10 - allwinner,ts-attached: boolean indicating that an actual touchscreen is 11 - allwinner,ts-attached: boolean indicating that an actual touchscreen is
@@ -17,4 +18,5 @@ Example:
17 reg = <0x01c25000 0x100>; 18 reg = <0x01c25000 0x100>;
18 interrupts = <29>; 19 interrupts = <29>;
19 allwinner,ts-attached; 20 allwinner,ts-attached;
21 #thermal-sensor-cells = <0>;
20 }; 22 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt b/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
index 878549ba814d..6c4fb34823d3 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
@@ -28,6 +28,20 @@ Required properties:
28 ti,adc-channels: List of analog inputs available for ADC. 28 ti,adc-channels: List of analog inputs available for ADC.
29 AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7. 29 AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
30 30
31Optional properties:
32- child "tsc"
33 ti,charge-delay: Length of touch screen charge delay step in terms of
34 ADC clock cycles. Charge delay value should be large
35 in order to avoid false pen-up events. This value
36 effects the overall sampling speed, hence need to be
37 kept as low as possible, while avoiding false pen-up
38 event. Start from a lower value, say 0x400, and
39 increase value until false pen-up events are avoided.
40 The pen-up detection happens immediately after the
41 charge step, so this does in fact function as a
42 hardware knob for adjusting the amount of "settling
43 time".
44
31Example: 45Example:
32 tscadc: tscadc@44e0d000 { 46 tscadc: tscadc@44e0d000 {
33 compatible = "ti,am3359-tscadc"; 47 compatible = "ti,am3359-tscadc";
@@ -36,6 +50,7 @@ Example:
36 ti,x-plate-resistance = <200>; 50 ti,x-plate-resistance = <200>;
37 ti,coordiante-readouts = <5>; 51 ti,coordiante-readouts = <5>;
38 ti,wire-config = <0x00 0x11 0x22 0x33>; 52 ti,wire-config = <0x00 0x11 0x22 0x33>;
53 ti,charge-delay = <0x400>;
39 }; 54 };
40 55
41 adc { 56 adc {
diff --git a/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt b/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt
new file mode 100644
index 000000000000..e30e0b93f2b3
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt
@@ -0,0 +1,17 @@
1Texas Instruments TPS65218 power button
2
3This driver provides a simple power button event via an Interrupt.
4
5Required properties:
6- compatible: should be "ti,tps65218-pwrbutton"
7- interrupts: should be one of the following
8 - <3 IRQ_TYPE_EDGE_BOTH>: For controllers compatible with tps65218
9
10Example:
11
12&tps {
13 power-button {
14 compatible = "ti,tps65218-pwrbutton";
15 interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
16 };
17};
diff --git a/Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt
new file mode 100644
index 000000000000..42d41ec84c7b
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt
@@ -0,0 +1,21 @@
1Conexant Digicolor Interrupt Controller
2
3Required properties:
4
5- compatible : should be "cnxt,cx92755-ic"
6- reg : Specifies base physical address and size of the interrupt controller
7 registers (IC) area
8- interrupt-controller : Identifies the node as an interrupt controller
9- #interrupt-cells : Specifies the number of cells needed to encode an
10 interrupt source. The value shall be 1.
11- syscon: A phandle to the syscon node describing UC registers
12
13Example:
14
15 intc: interrupt-controller@f0000040 {
16 compatible = "cnxt,cx92755-ic";
17 interrupt-controller;
18 #interrupt-cells = <1>;
19 reg = <0xf0000040 0x40>;
20 syscon = <&uc_regs>;
21 };
diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
index c73acd060093..4f7946ae8adc 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt
@@ -9,6 +9,11 @@ Required properties:
9 - "renesas,intc-irqpin-r8a7778" (R-Car M1A) 9 - "renesas,intc-irqpin-r8a7778" (R-Car M1A)
10 - "renesas,intc-irqpin-r8a7779" (R-Car H1) 10 - "renesas,intc-irqpin-r8a7779" (R-Car H1)
11 - "renesas,intc-irqpin-sh73a0" (SH-Mobile AG5) 11 - "renesas,intc-irqpin-sh73a0" (SH-Mobile AG5)
12
13- reg: Base address and length of each register bank used by the external
14 IRQ pins driven by the interrupt controller hardware module. The base
15 addresses, length and number of required register banks varies with soctype.
16
12- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in 17- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in
13 interrupts.txt in this directory 18 interrupts.txt in this directory
14 19
diff --git a/Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt b/Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt
new file mode 100644
index 000000000000..38ce5d037722
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt
@@ -0,0 +1,28 @@
1Omap2/3 intc controller
2
3On TI omap2 and 3 the intc interrupt controller can provide
496 or 128 IRQ signals to the ARM host depending on the SoC.
5
6Required Properties:
7- compatible: should be one of
8 "ti,omap2-intc"
9 "ti,omap3-intc"
10 "ti,dm814-intc"
11 "ti,dm816-intc"
12 "ti,am33xx-intc"
13
14- interrupt-controller : Identifies the node as an interrupt controller
15- #interrupt-cells : Specifies the number of cells needed to encode interrupt
16 source, should be 1 for intc
17- interrupts: interrupt reference to primary interrupt controller
18
19Please refer to interrupts.txt in this directory for details of the common
20Interrupt Controllers bindings used by client devices.
21
22Example:
23 intc: interrupt-controller@48200000 {
24 compatible = "ti,omap3-intc";
25 interrupt-controller;
26 #interrupt-cells = <1>;
27 reg = <0x48200000 0x1000>;
28 };
diff --git a/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt b/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt
new file mode 100644
index 000000000000..cd29083e16ec
--- /dev/null
+++ b/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt
@@ -0,0 +1,41 @@
1* Renesas VMSA-Compatible IOMMU
2
3The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables.
4It provides address translation for bus masters outside of the CPU, each
5connected to the IPMMU through a port called micro-TLB.
6
7
8Required Properties:
9
10 - compatible: Must contain "renesas,ipmmu-vmsa".
11 - reg: Base address and size of the IPMMU registers.
12 - interrupts: Specifiers for the MMU fault interrupts. For instances that
13 support secure mode two interrupts must be specified, for non-secure and
14 secure mode, in that order. For instances that don't support secure mode a
15 single interrupt must be specified.
16
17 - #iommu-cells: Must be 1.
18
19Each bus master connected to an IPMMU must reference the IPMMU in its device
20node with the following property:
21
22 - iommus: A reference to the IPMMU in two cells. The first cell is a phandle
23 to the IPMMU and the second cell the number of the micro-TLB that the
24 device is connected to.
25
26
27Example: R8A7791 IPMMU-MX and VSP1-D0 bus master
28
29 ipmmu_mx: mmu@fe951000 {
30 compatible = "renasas,ipmmu-vmsa";
31 reg = <0 0xfe951000 0 0x1000>;
32 interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
33 <0 221 IRQ_TYPE_LEVEL_HIGH>;
34 #iommu-cells = <1>;
35 };
36
37 vsp1@fe928000 {
38 ...
39 iommus = <&ipmmu_mx 13>;
40 ...
41 };
diff --git a/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt b/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
index 6fa4c737af23..729543c47046 100644
--- a/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
+++ b/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
@@ -45,7 +45,7 @@ Required properties:
45 Exynos4 SoCs, there needs no "master" clock. 45 Exynos4 SoCs, there needs no "master" clock.
46 Exynos5 SoCs, some System MMUs must have "master" clocks. 46 Exynos5 SoCs, some System MMUs must have "master" clocks.
47- clocks: Required if the System MMU is needed to gate its clock. 47- clocks: Required if the System MMU is needed to gate its clock.
48- samsung,power-domain: Required if the System MMU is needed to gate its power. 48- power-domains: Required if the System MMU is needed to gate its power.
49 Please refer to the following document: 49 Please refer to the following document:
50 Documentation/devicetree/bindings/arm/exynos/power_domain.txt 50 Documentation/devicetree/bindings/arm/exynos/power_domain.txt
51 51
@@ -54,7 +54,7 @@ Examples:
54 compatible = "samsung,exynos5-gsc"; 54 compatible = "samsung,exynos5-gsc";
55 reg = <0x13e00000 0x1000>; 55 reg = <0x13e00000 0x1000>;
56 interrupts = <0 85 0>; 56 interrupts = <0 85 0>;
57 samsung,power-domain = <&pd_gsc>; 57 power-domains = <&pd_gsc>;
58 clocks = <&clock CLK_GSCL0>; 58 clocks = <&clock CLK_GSCL0>;
59 clock-names = "gscl"; 59 clock-names = "gscl";
60 }; 60 };
@@ -66,5 +66,5 @@ Examples:
66 interrupts = <2 0>; 66 interrupts = <2 0>;
67 clock-names = "sysmmu", "master"; 67 clock-names = "sysmmu", "master";
68 clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>; 68 clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
69 samsung,power-domain = <&pd_gsc>; 69 power-domains = <&pd_gsc>;
70 }; 70 };
diff --git a/Documentation/devicetree/bindings/leds/common.txt b/Documentation/devicetree/bindings/leds/common.txt
index 2d88816dd550..34811c57db69 100644
--- a/Documentation/devicetree/bindings/leds/common.txt
+++ b/Documentation/devicetree/bindings/leds/common.txt
@@ -1,6 +1,19 @@
1Common leds properties. 1Common leds properties.
2 2
3LED and flash LED devices provide the same basic functionality as current
4regulators, but extended with LED and flash LED specific features like
5blinking patterns, flash timeout, flash faults and external flash strobe mode.
6
7Many LED devices expose more than one current output that can be connected
8to one or more discrete LED component. Since the arrangement of connections
9can influence the way of the LED device initialization, the LED components
10have to be tightly coupled with the LED device binding. They are represented
11by child nodes of the parent LED device binding.
12
3Optional properties for child nodes: 13Optional properties for child nodes:
14- led-sources : List of device current outputs the LED is connected to. The
15 outputs are identified by the numbers that must be defined
16 in the LED device binding documentation.
4- label : The label for this LED. If omitted, the label is 17- label : The label for this LED. If omitted, the label is
5 taken from the node name (excluding the unit address). 18 taken from the node name (excluding the unit address).
6 19
@@ -14,6 +27,15 @@ Optional properties for child nodes:
14 "ide-disk" - LED indicates disk activity 27 "ide-disk" - LED indicates disk activity
15 "timer" - LED flashes at a fixed, configurable rate 28 "timer" - LED flashes at a fixed, configurable rate
16 29
30- max-microamp : maximum intensity in microamperes of the LED
31 (torch LED for flash devices)
32- flash-max-microamp : maximum intensity in microamperes of the
33 flash LED; it is mandatory if the LED should
34 support the flash mode
35- flash-timeout-us : timeout in microseconds after which the flash
36 LED is turned off
37
38
17Examples: 39Examples:
18 40
19system-status { 41system-status {
@@ -21,3 +43,11 @@ system-status {
21 linux,default-trigger = "heartbeat"; 43 linux,default-trigger = "heartbeat";
22 ... 44 ...
23}; 45};
46
47camera-flash {
48 label = "Flash";
49 led-sources = <0>, <1>;
50 max-microamp = <50000>;
51 flash-max-microamp = <320000>;
52 flash-timeout-us = <500000>;
53};
diff --git a/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt b/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
new file mode 100644
index 000000000000..c2619797ce0c
--- /dev/null
+++ b/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
@@ -0,0 +1,49 @@
1Altera Mailbox Driver
2=====================
3
4Required properties:
5- compatible : "altr,mailbox-1.0".
6- reg : physical base address of the mailbox and length of
7 memory mapped region.
8- #mbox-cells: Common mailbox binding property to identify the number
9 of cells required for the mailbox specifier. Should be 1.
10
11Optional properties:
12- interrupt-parent : interrupt source phandle.
13- interrupts : interrupt number. The interrupt specifier format
14 depends on the interrupt controller parent.
15
16Example:
17 mbox_tx: mailbox@0x100 {
18 compatible = "altr,mailbox-1.0";
19 reg = <0x100 0x8>;
20 interrupt-parent = < &gic_0 >;
21 interrupts = <5>;
22 #mbox-cells = <1>;
23 };
24
25 mbox_rx: mailbox@0x200 {
26 compatible = "altr,mailbox-1.0";
27 reg = <0x200 0x8>;
28 interrupt-parent = < &gic_0 >;
29 interrupts = <6>;
30 #mbox-cells = <1>;
31 };
32
33Mailbox client
34===============
35"mboxes" and the optional "mbox-names" (please see
36Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
37of the mboxes property should contain a phandle to the mailbox controller
38device node and second argument is the channel index. It must be 0 (hardware
39support only one channel).The equivalent "mbox-names" property value can be
40used to give a name to the communication channel to be used by the client user.
41
42Example:
43 mclient0: mclient0@0x400 {
44 compatible = "client-1.0";
45 reg = <0x400 0x10>;
46 mbox-names = "mbox-tx", "mbox-rx";
47 mboxes = <&mbox_tx 0>,
48 <&mbox_rx 0>;
49 };
diff --git a/Documentation/devicetree/bindings/media/atmel-isi.txt b/Documentation/devicetree/bindings/media/atmel-isi.txt
index 17e71b7b44c6..251f008f220c 100644
--- a/Documentation/devicetree/bindings/media/atmel-isi.txt
+++ b/Documentation/devicetree/bindings/media/atmel-isi.txt
@@ -38,7 +38,7 @@ Example:
38 38
39 i2c1: i2c@f0018000 { 39 i2c1: i2c@f0018000 {
40 ov2640: camera@0x30 { 40 ov2640: camera@0x30 {
41 compatible = "omnivision,ov2640"; 41 compatible = "ovti,ov2640";
42 reg = <0x30>; 42 reg = <0x30>;
43 43
44 port { 44 port {
diff --git a/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
new file mode 100644
index 000000000000..855e1faf73e2
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
@@ -0,0 +1,63 @@
1SMIA/SMIA++ sensor
2
3SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
4defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
5of that. These definitions are valid for both types of sensors.
6
7More detailed documentation can be found in
8Documentation/devicetree/bindings/media/video-interfaces.txt .
9
10
11Mandatory properties
12--------------------
13
14- compatible: "nokia,smia"
15- reg: I2C address (0x10, or an alternative address)
16- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
17 dependent).
18- clocks: External clock to the sensor
19- clock-frequency: Frequency of the external clock to the sensor
20- link-frequencies: List of allowed data link frequencies. An array of
21 64-bit elements.
22
23
24Optional properties
25-------------------
26
27- nokia,nvm-size: The size of the NVM, in bytes. If the size is not given,
28 the NVM contents will not be read.
29- reset-gpios: XSHUTDOWN GPIO
30
31
32Endpoint node mandatory properties
33----------------------------------
34
35- clock-lanes: <0>
36- data-lanes: <1..n>
37- remote-endpoint: A phandle to the bus receiver's endpoint node.
38
39
40Example
41-------
42
43&i2c2 {
44 clock-frequency = <400000>;
45
46 smiapp_1: camera@10 {
47 compatible = "nokia,smia";
48 reg = <0x10>;
49 reset-gpios = <&gpio3 20 0>;
50 vana-supply = <&vaux3>;
51 clocks = <&omap3_isp 0>;
52 clock-frequency = <9600000>;
53 nokia,nvm-size = <512>; /* 8 * 64 */
54 link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
55 port {
56 smiapp_1_1: endpoint {
57 clock-lanes = <0>;
58 data-lanes = <1 2>;
59 remote-endpoint = <&csi2a_ep>;
60 };
61 };
62 };
63};
diff --git a/Documentation/devicetree/bindings/media/s5p-mfc.txt b/Documentation/devicetree/bindings/media/s5p-mfc.txt
index 3e3c5f349570..2d5787eac91a 100644
--- a/Documentation/devicetree/bindings/media/s5p-mfc.txt
+++ b/Documentation/devicetree/bindings/media/s5p-mfc.txt
@@ -28,7 +28,7 @@ Required properties:
28 for DMA contiguous memory allocation and its size. 28 for DMA contiguous memory allocation and its size.
29 29
30Optional properties: 30Optional properties:
31 - samsung,power-domain : power-domain property defined with a phandle 31 - power-domains : power-domain property defined with a phandle
32 to respective power domain. 32 to respective power domain.
33 33
34Example: 34Example:
@@ -38,7 +38,7 @@ mfc: codec@13400000 {
38 compatible = "samsung,mfc-v5"; 38 compatible = "samsung,mfc-v5";
39 reg = <0x13400000 0x10000>; 39 reg = <0x13400000 0x10000>;
40 interrupts = <0 94 0>; 40 interrupts = <0 94 0>;
41 samsung,power-domain = <&pd_mfc>; 41 power-domains = <&pd_mfc>;
42 clocks = <&clock 273>; 42 clocks = <&clock 273>;
43 clock-names = "mfc"; 43 clock-names = "mfc";
44}; 44};
diff --git a/Documentation/devicetree/bindings/media/sunxi-ir.txt b/Documentation/devicetree/bindings/media/sunxi-ir.txt
index 23dd5ad07b7c..1811a067c72c 100644
--- a/Documentation/devicetree/bindings/media/sunxi-ir.txt
+++ b/Documentation/devicetree/bindings/media/sunxi-ir.txt
@@ -1,7 +1,7 @@
1Device-Tree bindings for SUNXI IR controller found in sunXi SoC family 1Device-Tree bindings for SUNXI IR controller found in sunXi SoC family
2 2
3Required properties: 3Required properties:
4- compatible : should be "allwinner,sun4i-a10-ir"; 4- compatible : "allwinner,sun4i-a10-ir" or "allwinner,sun5i-a13-ir"
5- clocks : list of clock specifiers, corresponding to 5- clocks : list of clock specifiers, corresponding to
6 entries in clock-names property; 6 entries in clock-names property;
7- clock-names : should contain "apb" and "ir" entries; 7- clock-names : should contain "apb" and "ir" entries;
@@ -10,6 +10,7 @@ Required properties:
10 10
11Optional properties: 11Optional properties:
12- linux,rc-map-name : Remote control map name. 12- linux,rc-map-name : Remote control map name.
13- resets : phandle + reset specifier pair
13 14
14Example: 15Example:
15 16
@@ -17,6 +18,7 @@ ir0: ir@01c21800 {
17 compatible = "allwinner,sun4i-a10-ir"; 18 compatible = "allwinner,sun4i-a10-ir";
18 clocks = <&apb0_gates 6>, <&ir0_clk>; 19 clocks = <&apb0_gates 6>, <&ir0_clk>;
19 clock-names = "apb", "ir"; 20 clock-names = "apb", "ir";
21 resets = <&apb0_rst 1>;
20 interrupts = <0 5 1>; 22 interrupts = <0 5 1>;
21 reg = <0x01C21800 0x40>; 23 reg = <0x01C21800 0x40>;
22 linux,rc-map-name = "rc-rc6-mce"; 24 linux,rc-map-name = "rc-rc6-mce";
diff --git a/Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt b/Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt
new file mode 100644
index 000000000000..3932e766553a
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt
@@ -0,0 +1,61 @@
1Texas Instruments AM437x CAMERA (VPFE)
2--------------------------------------
3
4The Video Processing Front End (VPFE) is a key component for image capture
5applications. The capture module provides the system interface and the
6processing capability to connect RAW image-sensor modules and video decoders
7to the AM437x device.
8
9Required properties:
10- compatible: must be "ti,am437x-vpfe"
11- reg: physical base address and length of the registers set for the device;
12- interrupts: should contain IRQ line for the VPFE;
13- ti,am437x-vpfe-interface: can be one of the following,
14 0 - Raw Bayer Interface.
15 1 - 8 Bit BT656 Interface.
16 2 - 10 Bit BT656 Interface.
17 3 - YCbCr 8 Bit Interface.
18 4 - YCbCr 16 Bit Interface.
19
20VPFE supports a single port node with parallel bus. It should contain one
21'port' child node with child 'endpoint' node. Please refer to the bindings
22defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
23
24Example:
25 vpfe: vpfe@f0034000 {
26 compatible = "ti,am437x-vpfe";
27 reg = <0x48328000 0x2000>;
28 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
29
30 pinctrl-names = "default", "sleep";
31 pinctrl-0 = <&vpfe_pins_default>;
32 pinctrl-1 = <&vpfe_pins_sleep>;
33
34 port {
35 #address-cells = <1>;
36 #size-cells = <0>;
37
38 vpfe0_ep: endpoint {
39 remote-endpoint = <&ov2659_1>;
40 ti,am437x-vpfe-interface = <0>;
41 bus-width = <8>;
42 hsync-active = <0>;
43 vsync-active = <0>;
44 };
45 };
46 };
47
48 i2c1: i2c@4802a000 {
49
50 ov2659@30 {
51 compatible = "ti,ov2659";
52 reg = <0x30>;
53
54 port {
55 ov2659_1: endpoint {
56 remote-endpoint = <&vpfe0_ep>;
57 bus-width = <8>;
58 mclk-frequency = <12000000>;
59 };
60 };
61 };
diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
index ce719f89dd1c..571b4c60665f 100644
--- a/Documentation/devicetree/bindings/media/video-interfaces.txt
+++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
@@ -103,6 +103,9 @@ Optional endpoint properties
103 array contains only one entry. 103 array contains only one entry.
104- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous 104- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous
105 clock mode. 105 clock mode.
106- link-frequencies: Allowed data bus frequencies. For MIPI CSI-2, for
107 instance, this is the actual frequency of the bus, not bits per clock per
108 lane value. An array of 64-bit unsigned integers.
106 109
107 110
108Example 111Example
@@ -159,7 +162,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
159 i2c0: i2c@0xfff20000 { 162 i2c0: i2c@0xfff20000 {
160 ... 163 ...
161 ov772x_1: camera@0x21 { 164 ov772x_1: camera@0x21 {
162 compatible = "omnivision,ov772x"; 165 compatible = "ovti,ov772x";
163 reg = <0x21>; 166 reg = <0x21>;
164 vddio-supply = <&regulator1>; 167 vddio-supply = <&regulator1>;
165 vddcore-supply = <&regulator2>; 168 vddcore-supply = <&regulator2>;
diff --git a/Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt b/Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt
new file mode 100644
index 000000000000..c64b7925cd09
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt
@@ -0,0 +1,44 @@
1DT bindings for Renesas R-Mobile and SH-Mobile memory controllers
2=================================================================
3
4Renesas R-Mobile and SH-Mobile SoCs contain one or more memory controllers.
5These memory controllers differ from one SoC variant to another, and are called
6by different names ("DDR Bus Controller (DBSC)", "DDR3 Bus State Controller
7(DBSC3)", "SDRAM Bus State Controller (SBSC)").
8
9Currently memory controller device nodes are used only to reference PM
10domains, and prevent these PM domains from being powered down, which would
11crash the system.
12
13As there exist no actual drivers for these controllers yet, these bindings
14should be considered EXPERIMENTAL for now.
15
16Required properties:
17 - compatible: Must be one of the following SoC-specific values:
18 - "renesas,dbsc-r8a73a4" (R-Mobile APE6)
19 - "renesas,dbsc3-r8a7740" (R-Mobile A1)
20 - "renesas,sbsc-sh73a0" (SH-Mobile AG5)
21 - reg: Must contain the base address and length of the memory controller's
22 registers.
23
24Optional properties:
25 - interrupts: Must contain a list of interrupt specifiers for memory
26 controller interrupts, if available.
27 - interrupts-names: Must contain a list of interrupt names corresponding to
28 the interrupts in the interrupts property, if available.
29 Valid interrupt names are:
30 - "sec" (secure interrupt)
31 - "temp" (normal (temperature) interrupt)
32 - power-domains: Must contain a reference to the PM domain that the memory
33 controller belongs to, if available.
34
35Example:
36
37 sbsc1: memory-controller@fe400000 {
38 compatible = "renesas,sbsc-sh73a0";
39 reg = <0xfe400000 0x400>;
40 interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>,
41 <0 36 IRQ_TYPE_LEVEL_HIGH>;
42 interrupt-names = "sec", "temp";
43 power-domains = <&pd_a4bc0>;
44 };
diff --git a/Documentation/devicetree/bindings/mfd/atmel-matrix.txt b/Documentation/devicetree/bindings/mfd/atmel-matrix.txt
new file mode 100644
index 000000000000..e3ef50ca02a5
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel-matrix.txt
@@ -0,0 +1,24 @@
1* Device tree bindings for Atmel Bus Matrix
2
3The Bus Matrix registers are used to configure Atmel SoCs internal bus
4behavior (master/slave priorities, undefined burst length type, ...)
5
6Required properties:
7- compatible: Should be one of the following
8 "atmel,at91sam9260-matrix", "syscon"
9 "atmel,at91sam9261-matrix", "syscon"
10 "atmel,at91sam9263-matrix", "syscon"
11 "atmel,at91sam9rl-matrix", "syscon"
12 "atmel,at91sam9g45-matrix", "syscon"
13 "atmel,at91sam9n12-matrix", "syscon"
14 "atmel,at91sam9x5-matrix", "syscon"
15 "atmel,sama5d3-matrix", "syscon"
16- reg: Contains offset/length value of the Bus Matrix
17 memory region.
18
19Example:
20
21matrix: matrix@ffffec00 {
22 compatible = "atmel,sama5d3-matrix", "syscon";
23 reg = <0xffffec00 0x200>;
24};
diff --git a/Documentation/devicetree/bindings/mfd/atmel-smc.txt b/Documentation/devicetree/bindings/mfd/atmel-smc.txt
new file mode 100644
index 000000000000..26eeed373934
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel-smc.txt
@@ -0,0 +1,19 @@
1* Device tree bindings for Atmel SMC (Static Memory Controller)
2
3The SMC registers are used to configure Atmel EBI (External Bus Interface)
4to interface with standard memory devices (NAND, NOR, SRAM or specialized
5devices like FPGAs).
6
7Required properties:
8- compatible: Should be one of the following
9 "atmel,at91sam9260-smc", "syscon"
10 "atmel,sama5d3-smc", "syscon"
11- reg: Contains offset/length value of the SMC memory
12 region.
13
14Example:
15
16smc: smc@ffffc000 {
17 compatible = "atmel,sama5d3-smc", "syscon";
18 reg = <0xffffc000 0x1000>;
19};
diff --git a/Documentation/devicetree/bindings/mfd/da9063.txt b/Documentation/devicetree/bindings/mfd/da9063.txt
new file mode 100644
index 000000000000..42c6fa6f1c9a
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/da9063.txt
@@ -0,0 +1,93 @@
1* Dialog DA9063 Power Management Integrated Circuit (PMIC)
2
3DA9093 consists of a large and varied group of sub-devices (I2C Only):
4
5Device Supply Names Description
6------ ------------ -----------
7da9063-regulator : : LDOs & BUCKs
8da9063-rtc : : Real-Time Clock
9da9063-watchdog : : Watchdog
10
11======
12
13Required properties:
14
15- compatible : Should be "dlg,da9063"
16- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
17 modified to match the chip's OTP settings).
18- interrupt-parent : Specifies the reference to the interrupt controller for
19 the DA9063.
20- interrupts : IRQ line information.
21- interrupt-controller
22
23Sub-nodes:
24
25- regulators : This node defines the settings for the LDOs and BUCKs. The
26 DA9063 regulators are bound using their names listed below:
27
28 bcore1 : BUCK CORE1
29 bcore2 : BUCK CORE2
30 bpro : BUCK PRO
31 bmem : BUCK MEM
32 bio : BUCK IO
33 bperi : BUCK PERI
34 ldo1 : LDO_1
35 ldo2 : LDO_2
36 ldo3 : LDO_3
37 ldo4 : LDO_4
38 ldo5 : LDO_5
39 ldo6 : LDO_6
40 ldo7 : LDO_7
41 ldo8 : LDO_8
42 ldo9 : LDO_9
43 ldo10 : LDO_10
44 ldo11 : LDO_11
45
46 The component follows the standard regulator framework and the bindings
47 details of individual regulator device can be found in:
48 Documentation/devicetree/bindings/regulator/regulator.txt
49
50- rtc : This node defines settings for the Real-Time Clock associated with
51 the DA9063. There are currently no entries in this binding, however
52 compatible = "dlg,da9063-rtc" should be added if a node is created.
53
54- watchdog : This node defines settings for the Watchdog timer associated
55 with the DA9063. There are currently no entries in this binding, however
56 compatible = "dlg,da9063-watchdog" should be added if a node is created.
57
58
59Example:
60
61 pmic0: da9063@58 {
62 compatible = "dlg,da9063"
63 reg = <0x58>;
64 interrupt-parent = <&gpio6>;
65 interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
66 interrupt-controller;
67
68 rtc {
69 compatible = "dlg,da9063-rtc";
70 };
71
72 wdt {
73 compatible = "dlg,da9063-watchdog";
74 };
75
76 regulators {
77 DA9063_BCORE1: bcore1 {
78 regulator-name = "BCORE1";
79 regulator-min-microvolt = <300000>;
80 regulator-max-microvolt = <1570000>;
81 regulator-min-microamp = <500000>;
82 regulator-max-microamp = <2000000>;
83 regulator-boot-on;
84 };
85 DA9063_LDO11: ldo11 {
86 regulator-name = "LDO_11";
87 regulator-min-microvolt = <900000>;
88 regulator-max-microvolt = <3600000>;
89 regulator-boot-on;
90 };
91 };
92 };
93
diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt
index 75fdfaf41831..e39f0bc1f55e 100644
--- a/Documentation/devicetree/bindings/mfd/max77686.txt
+++ b/Documentation/devicetree/bindings/mfd/max77686.txt
@@ -39,6 +39,12 @@ to get matched with their hardware counterparts as follow:
39 -BUCKn : 1-4. 39 -BUCKn : 1-4.
40 Use standard regulator bindings for it ('regulator-off-in-suspend'). 40 Use standard regulator bindings for it ('regulator-off-in-suspend').
41 41
42 LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
43 control. To turn this feature on this property must be added to the regulator
44 sub-node:
45 - maxim,ena-gpios : one GPIO specifier enable control (the gpio
46 flags are actually ignored and always
47 ACTIVE_HIGH is used)
42 48
43Example: 49Example:
44 50
@@ -65,4 +71,12 @@ Example:
65 regulator-always-on; 71 regulator-always-on;
66 regulator-boot-on; 72 regulator-boot-on;
67 }; 73 };
74
75 buck9_reg {
76 regulator-compatible = "BUCK9";
77 regulator-name = "CAM_ISP_CORE_1.2V";
78 regulator-min-microvolt = <1000000>;
79 regulator-max-microvolt = <1200000>;
80 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
81 };
68 } 82 }
diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt
index 01e9f30fe678..38e64405e98d 100644
--- a/Documentation/devicetree/bindings/mfd/max77693.txt
+++ b/Documentation/devicetree/bindings/mfd/max77693.txt
@@ -41,6 +41,41 @@ Optional properties:
41 To get more informations, please refer to documentaion. 41 To get more informations, please refer to documentaion.
42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt 42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
43 43
44- charger : Node configuring the charger driver.
45 If present, required properties:
46 - compatible : Must be "maxim,max77693-charger".
47
48 Optional properties (if not set, defaults will be used):
49 - maxim,constant-microvolt : Battery constant voltage in uV. The charger
50 will operate in fast charge constant current mode till battery voltage
51 reaches this level. Then the charger will switch to fast charge constant
52 voltage mode. Also vsys (system voltage) will be set to this value when
53 DC power is supplied but charger is not enabled.
54 Valid values: 3650000 - 4400000, step by 25000 (rounded down)
55 Default: 4200000
56
57 - maxim,min-system-microvolt : Minimal system voltage in uV.
58 Valid values: 3000000 - 3700000, step by 100000 (rounded down)
59 Default: 3600000
60
61 - maxim,thermal-regulation-celsius : Temperature in Celsius for entering
62 high temperature charging mode. If die temperature exceeds this value
63 the charging current will be reduced by 105 mA/Celsius.
64 Valid values: 70, 85, 100, 115
65 Default: 100
66
67 - maxim,battery-overcurrent-microamp : Overcurrent protection threshold
68 in uA (current from battery to system).
69 Valid values: 2000000 - 3500000, step by 250000 (rounded down)
70 Default: 3500000
71
72 - maxim,charge-input-threshold-microvolt : Threshold voltage in uV for
73 triggering input voltage regulation loop. If input voltage decreases
74 below this value, the input current will be reduced to reach the
75 threshold voltage.
76 Valid values: 4300000, 4700000, 4800000, 4900000
77 Default: 4300000
78
44Example: 79Example:
45 max77693@66 { 80 max77693@66 {
46 compatible = "maxim,max77693"; 81 compatible = "maxim,max77693";
@@ -73,4 +108,14 @@ Example:
73 pwms = <&pwm 0 40000 0>; 108 pwms = <&pwm 0 40000 0>;
74 pwm-names = "haptic"; 109 pwm-names = "haptic";
75 }; 110 };
111
112 charger {
113 compatible = "maxim,max77693-charger";
114
115 maxim,constant-microvolt = <4200000>;
116 maxim,min-system-microvolt = <3600000>;
117 maxim,thermal-regulation-celsius = <75>;
118 maxim,battery-overcurrent-microamp = <3000000>;
119 maxim,charge-input-threshold-microvolt = <4300000>;
120 };
76 }; 121 };
diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
new file mode 100644
index 000000000000..85e31980017a
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
@@ -0,0 +1,70 @@
1Qualcomm Resource Power Manager (RPM)
2
3This driver is used to interface with the Resource Power Manager (RPM) found in
4various Qualcomm platforms. The RPM allows each component in the system to vote
5for state of the system resources, such as clocks, regulators and bus
6frequencies.
7
8- compatible:
9 Usage: required
10 Value type: <string>
11 Definition: must be one of:
12 "qcom,rpm-apq8064"
13 "qcom,rpm-msm8660"
14 "qcom,rpm-msm8960"
15
16- reg:
17 Usage: required
18 Value type: <prop-encoded-array>
19 Definition: base address and size of the RPM's message ram
20
21- interrupts:
22 Usage: required
23 Value type: <prop-encoded-array>
24 Definition: three entries specifying the RPM's:
25 1. acknowledgement interrupt
26 2. error interrupt
27 3. wakeup interrupt
28
29- interrupt-names:
30 Usage: required
31 Value type: <string-array>
32 Definition: must be the three strings "ack", "err" and "wakeup", in order
33
34- #address-cells:
35 Usage: required
36 Value type: <u32>
37 Definition: must be 1
38
39- #size-cells:
40 Usage: required
41 Value type: <u32>
42 Definition: must be 0
43
44- qcom,ipc:
45 Usage: required
46 Value type: <prop-encoded-array>
47
48 Definition: three entries specifying the outgoing ipc bit used for
49 signaling the RPM:
50 - phandle to a syscon node representing the apcs registers
51 - u32 representing offset to the register within the syscon
52 - u32 representing the ipc bit within the register
53
54
55= EXAMPLE
56
57 #include <dt-bindings/mfd/qcom-rpm.h>
58
59 rpm@108000 {
60 compatible = "qcom,rpm-msm8960";
61 reg = <0x108000 0x1000>;
62 qcom,ipc = <&apcs 0x8 2>;
63
64 interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
65 interrupt-names = "ack", "err", "wakeup";
66
67 #address-cells = <1>;
68 #size-cells = <0>;
69 };
70
diff --git a/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt b/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
new file mode 100644
index 000000000000..c7a26ca8da12
--- /dev/null
+++ b/Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt
@@ -0,0 +1,40 @@
1* Freescale Management Complex
2
3The Freescale Management Complex (fsl-mc) is a hardware resource
4manager that manages specialized hardware objects used in
5network-oriented packet processing applications. After the fsl-mc
6block is enabled, pools of hardware resources are available, such as
7queues, buffer pools, I/O interfaces. These resources are building
8blocks that can be used to create functional hardware objects/devices
9such as network interfaces, crypto accelerator instances, L2 switches,
10etc.
11
12Required properties:
13
14 - compatible
15 Value type: <string>
16 Definition: Must be "fsl,qoriq-mc". A Freescale Management Complex
17 compatible with this binding must have Block Revision
18 Registers BRR1 and BRR2 at offset 0x0BF8 and 0x0BFC in
19 the MC control register region.
20
21 - reg
22 Value type: <prop-encoded-array>
23 Definition: A standard property. Specifies one or two regions
24 defining the MC's registers:
25
26 -the first region is the command portal for the
27 this machine and must always be present
28
29 -the second region is the MC control registers. This
30 region may not be present in some scenarios, such
31 as in the device tree presented to a virtual machine.
32
33Example:
34
35 fsl_mc: fsl-mc@80c000000 {
36 compatible = "fsl,qoriq-mc";
37 reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
38 <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
39 };
40
diff --git a/Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt b/Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt
index b97b8bef1fe5..47b205cc9cc7 100644
--- a/Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt
+++ b/Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt
@@ -1,11 +1,10 @@
1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block 1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block
2 2
3Required properties: 3Required properties:
4- compatible : should be: 4- compatible : For Tegra20, must be "nvidia,tegra20-apbmisc". For Tegra30,
5 "nvidia,tegra20-apbmisc" 5 must be "nvidia,tegra30-apbmisc". Otherwise, must contain
6 "nvidia,tegra30-apbmisc" 6 "nvidia,<chip>-apbmisc", plus one of the above, where <chip> is tegra114,
7 "nvidia,tegra114-apbmisc" 7 tegra124, tegra132.
8 "nvidia,tegra124-apbmisc"
9- reg: Should contain 2 entries: the first entry gives the physical address 8- reg: Should contain 2 entries: the first entry gives the physical address
10 and length of the registers which contain revision and debug features. 9 and length of the registers which contain revision and debug features.
11 The second entry gives the physical address and length of the 10 The second entry gives the physical address and length of the
diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt
new file mode 100644
index 000000000000..0cb827bf9435
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt
@@ -0,0 +1,25 @@
1* The simple eMMC hardware reset provider
2
3The purpose of this driver is to perform standard eMMC hw reset
4procedure, as descibed by Jedec 4.4 specification. This procedure is
5performed just after MMC core enabled power to the given mmc host (to
6fix possible issues if bootloader has left eMMC card in initialized or
7unknown state), and before performing complete system reboot (also in
8case of emergency reboot call). The latter is needed on boards, which
9doesn't have hardware reset logic connected to emmc card and (limited or
10broken) ROM bootloaders are unable to read second stage from the emmc
11card if the card is left in unknown or already initialized state.
12
13Required properties:
14- compatible : contains "mmc-pwrseq-emmc".
15- reset-gpios : contains a GPIO specifier. The reset GPIO is asserted
16 and then deasserted to perform eMMC card reset. To perform
17 reset procedure as described in Jedec 4.4 specification, the
18 gpio line should be defined as GPIO_ACTIVE_LOW.
19
20Example:
21
22 sdhci0_pwrseq {
23 compatible = "mmc-pwrseq-emmc";
24 reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
25 }
diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
new file mode 100644
index 000000000000..a462c50f19a8
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
@@ -0,0 +1,25 @@
1* The simple MMC power sequence provider
2
3The purpose of the simple MMC power sequence provider is to supports a set of
4common properties between various SOC designs. It thus enables us to use the
5same provider for several SOC designs.
6
7Required properties:
8- compatible : contains "mmc-pwrseq-simple".
9
10Optional properties:
11- reset-gpios : contains a list of GPIO specifiers. The reset GPIOs are asserted
12 at initialization and prior we start the power up procedure of the card.
13 They will be de-asserted right after the power has been provided to the
14 card.
15- clocks : Must contain an entry for the entry in clock-names.
16 See ../clocks/clock-bindings.txt for details.
17- clock-names : Must include the following entry:
18 "ext_clock" (External clock provided to the card).
19
20Example:
21
22 sdhci0_pwrseq {
23 compatible = "mmc-pwrseq-simple";
24 reset-gpios = <&gpio1 12 0>;
25 }
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
index b52628b18a53..438899e8829b 100644
--- a/Documentation/devicetree/bindings/mmc/mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/mmc.txt
@@ -64,7 +64,43 @@ Optional SDIO properties:
64- keep-power-in-suspend: Preserves card power during a suspend/resume cycle 64- keep-power-in-suspend: Preserves card power during a suspend/resume cycle
65- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion 65- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion
66 66
67Example: 67
68MMC power sequences:
69--------------------
70
71System on chip designs may specify a specific MMC power sequence. To
72successfully detect an (e)MMC/SD/SDIO card, that power sequence must be
73maintained while initializing the card.
74
75Optional property:
76- mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*"
77 for documentation of MMC power sequence bindings.
78
79
80Use of Function subnodes
81------------------------
82
83On embedded systems the cards connected to a host may need additional
84properties. These can be specified in subnodes to the host controller node.
85The subnodes are identified by the standard 'reg' property.
86Which information exactly can be specified depends on the bindings for the
87SDIO function driver for the subnode, as specified by the compatible string.
88
89Required host node properties when using function subnodes:
90- #address-cells: should be one. The cell is the slot id.
91- #size-cells: should be zero.
92
93Required function subnode properties:
94- compatible: name of SDIO function following generic names recommended practice
95- reg: Must contain the SDIO function number of the function this subnode
96 describes. A value of 0 denotes the memory SD function, values from
97 1 to 7 denote the SDIO functions.
98
99
100Examples
101--------
102
103Basic example:
68 104
69sdhci@ab000000 { 105sdhci@ab000000 {
70 compatible = "sdhci"; 106 compatible = "sdhci";
@@ -77,4 +113,28 @@ sdhci@ab000000 {
77 max-frequency = <50000000>; 113 max-frequency = <50000000>;
78 keep-power-in-suspend; 114 keep-power-in-suspend;
79 enable-sdio-wakeup; 115 enable-sdio-wakeup;
116 mmc-pwrseq = <&sdhci0_pwrseq>
80} 117}
118
119Example with sdio function subnode:
120
121mmc3: mmc@01c12000 {
122 #address-cells = <1>;
123 #size-cells = <0>;
124
125 pinctrl-names = "default";
126 pinctrl-0 = <&mmc3_pins_a>;
127 vmmc-supply = <&reg_vmmc3>;
128 bus-width = <4>;
129 non-removable;
130 mmc-pwrseq = <&sdhci0_pwrseq>
131 status = "okay";
132
133 brcmf: bcrmf@1 {
134 reg = <1>;
135 compatible = "brcm,bcm43xx-fmac";
136 interrupt-parent = <&pio>;
137 interrupts = <10 8>; /* PH10 / EINT10 */
138 interrupt-names = "host-wake";
139 };
140};
diff --git a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt
index f357c16ea815..15b8368ee1f2 100644
--- a/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt
+++ b/Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt
@@ -7,7 +7,11 @@ This file documents differences between the core properties described
7by mmc.txt and the properties used by the sdhci-tegra driver. 7by mmc.txt and the properties used by the sdhci-tegra driver.
8 8
9Required properties: 9Required properties:
10- compatible : Should be "nvidia,<chip>-sdhci" 10- compatible : For Tegra20, must contain "nvidia,tegra20-sdhci".
11 For Tegra30, must contain "nvidia,tegra30-sdhci". For Tegra114,
12 must contain "nvidia,tegra114-sdhci". For Tegra124, must contain
13 "nvidia,tegra124-sdhci". Otherwise, must contain "nvidia,<chip>-sdhci",
14 plus one of the above, where <chip> is tegra132 or tegra210.
11- clocks : Must contain one entry, for the module clock. 15- clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details. 16 See ../clocks/clock-bindings.txt for details.
13- resets : Must contain an entry for each entry in reset-names. 17- resets : Must contain an entry for each entry in reset-names.
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-fujitsu.txt b/Documentation/devicetree/bindings/mmc/sdhci-fujitsu.txt
new file mode 100644
index 000000000000..de2c53cff4f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/sdhci-fujitsu.txt
@@ -0,0 +1,30 @@
1* Fujitsu SDHCI controller
2
3This file documents differences between the core properties in mmc.txt
4and the properties used by the sdhci_f_sdh30 driver.
5
6Required properties:
7- compatible: "fujitsu,mb86s70-sdhci-3.0"
8- clocks: Must contain an entry for each entry in clock-names. It is a
9 list of phandles and clock-specifier pairs.
10 See ../clocks/clock-bindings.txt for details.
11- clock-names: Should contain the following two entries:
12 "iface" - clock used for sdhci interface
13 "core" - core clock for sdhci controller
14
15Optional properties:
16- vqmmc-supply: phandle to the regulator device tree node, mentioned
17 as the VCCQ/VDD_IO supply in the eMMC/SD specs.
18
19Example:
20
21 sdhci1: mmc@36600000 {
22 compatible = "fujitsu,mb86s70-sdhci-3.0";
23 reg = <0 0x36600000 0x1000>;
24 interrupts = <0 172 0x4>,
25 <0 173 0x4>;
26 bus-width = <4>;
27 vqmmc-supply = <&vccq_sdhci1>;
28 clocks = <&clock 2 2 0>, <&clock 2 3 0>;
29 clock-names = "iface", "core";
30 };
diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
index 4dd6deb90719..3d1b449d6097 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
+++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.txt
@@ -9,9 +9,13 @@ Required properties:
9- reg: 9- reg:
10 * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for 10 * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for
11 the SDHCI registers. 11 the SDHCI registers.
12 * for "marvell,armada-380-sdhci", two register areas. The first one 12
13 for the SDHCI registers themselves, and the second one for the 13 * for "marvell,armada-380-sdhci", three register areas. The first
14 AXI/Mbus bridge registers of the SDHCI unit. 14 one for the SDHCI registers themselves, the second one for the
15 AXI/Mbus bridge registers of the SDHCI unit, the third one for the
16 SDIO3 Configuration register
17- reg names: should be "sdhci", "mbus", "conf-sdio3". only mandatory
18 for "marvell,armada-380-sdhci"
15- clocks: Array of clocks required for SDHCI; requires at least one for 19- clocks: Array of clocks required for SDHCI; requires at least one for
16 I/O clock. 20 I/O clock.
17- clock-names: Array of names corresponding to clocks property; shall be 21- clock-names: Array of names corresponding to clocks property; shall be
@@ -35,7 +39,10 @@ sdhci@d4280800 {
35 39
36sdhci@d8000 { 40sdhci@d8000 {
37 compatible = "marvell,armada-380-sdhci"; 41 compatible = "marvell,armada-380-sdhci";
38 reg = <0xd8000 0x1000>, <0xdc000 0x100>; 42 reg-names = "sdhci", "mbus", "conf-sdio3";
43 reg = <0xd8000 0x1000>,
44 <0xdc000 0x100>;
45 <0x18454 0x4>;
39 interrupts = <0 25 0x4>; 46 interrupts = <0 25 0x4>;
40 clocks = <&gateclk 17>; 47 clocks = <&gateclk 17>;
41 clock-names = "io"; 48 clock-names = "io";
diff --git a/Documentation/devicetree/bindings/mtd/atmel-nand.txt b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
index 1fe6dde98499..7d4c8eb775a5 100644
--- a/Documentation/devicetree/bindings/mtd/atmel-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/atmel-nand.txt
@@ -1,7 +1,7 @@
1Atmel NAND flash 1Atmel NAND flash
2 2
3Required properties: 3Required properties:
4- compatible : "atmel,at91rm9200-nand". 4- compatible : should be "atmel,at91rm9200-nand" or "atmel,sama5d4-nand".
5- reg : should specify localbus address and size used for the chip, 5- reg : should specify localbus address and size used for the chip,
6 and hardware ECC controller if available. 6 and hardware ECC controller if available.
7 If the hardware ECC is PMECC, it should contain address and size for 7 If the hardware ECC is PMECC, it should contain address and size for
diff --git a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
index 823d13412195..4461dc71cb10 100644
--- a/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
+++ b/Documentation/devicetree/bindings/mtd/fsl-quadspi.txt
@@ -1,7 +1,7 @@
1* Freescale Quad Serial Peripheral Interface(QuadSPI) 1* Freescale Quad Serial Peripheral Interface(QuadSPI)
2 2
3Required properties: 3Required properties:
4 - compatible : Should be "fsl,vf610-qspi" 4 - compatible : Should be "fsl,vf610-qspi" or "fsl,imx6sx-qspi"
5 - reg : the first contains the register location and length, 5 - reg : the first contains the register location and length,
6 the second contains the memory mapping address and length 6 the second contains the memory mapping address and length
7 - reg-names: Should contain the reg names "QuadSPI" and "QuadSPI-memory" 7 - reg-names: Should contain the reg names "QuadSPI" and "QuadSPI-memory"
diff --git a/Documentation/devicetree/bindings/mtd/fsmc-nand.txt b/Documentation/devicetree/bindings/mtd/fsmc-nand.txt
index ec42935f3908..5235cbc551b0 100644
--- a/Documentation/devicetree/bindings/mtd/fsmc-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/fsmc-nand.txt
@@ -9,7 +9,7 @@ Required properties:
9Optional properties: 9Optional properties:
10- 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
11 defaults to 1 byte 11 defaults to 1 byte
12- nand-skip-bbtscan: Indicates the the BBT scanning should be skipped 12- nand-skip-bbtscan: Indicates the BBT scanning should be skipped
13- timings: array of 6 bytes for NAND timings. The meanings of these bytes 13- timings: array of 6 bytes for NAND timings. The meanings of these bytes
14 are: 14 are:
15 byte 0 TCLR : CLE to RE delay in number of AHB clock cycles, only 4 bits 15 byte 0 TCLR : CLE to RE delay in number of AHB clock cycles, only 4 bits
diff --git a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt
index a011fdf61dbf..d02acaff3c35 100644
--- a/Documentation/devicetree/bindings/mtd/gpmi-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/gpmi-nand.txt
@@ -1,7 +1,7 @@
1* Freescale General-Purpose Media Interface (GPMI) 1* Freescale General-Purpose Media Interface (GPMI)
2 2
3The GPMI nand controller provides an interface to control the 3The GPMI nand controller provides an interface to control the
4NAND flash chips. We support only one NAND chip now. 4NAND flash chips.
5 5
6Required properties: 6Required properties:
7 - compatible : should be "fsl,<chip>-gpmi-nand" 7 - compatible : should be "fsl,<chip>-gpmi-nand"
diff --git a/Documentation/devicetree/bindings/mtd/hisi504-nand.txt b/Documentation/devicetree/bindings/mtd/hisi504-nand.txt
new file mode 100644
index 000000000000..2e35f0662912
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/hisi504-nand.txt
@@ -0,0 +1,47 @@
1Hisilicon Hip04 Soc NAND controller DT binding
2
3Required properties:
4
5- compatible: Should be "hisilicon,504-nfc".
6- reg: The first contains base physical address and size of
7 NAND controller's registers. The second contains base
8 physical address and size of NAND controller's buffer.
9- interrupts: Interrupt number for nfc.
10- nand-bus-width: See nand.txt.
11- nand-ecc-mode: Support none and hw ecc mode.
12- #address-cells: Partition address, should be set 1.
13- #size-cells: Partition size, should be set 1.
14
15Optional properties:
16
17- nand-ecc-strength: Number of bits to correct per ECC step.
18- nand-ecc-step-size: Number of data bytes covered by a single ECC step.
19
20The following ECC strength and step size are currently supported:
21
22 - nand-ecc-strength = <16>, nand-ecc-step-size = <1024>
23
24Flash chip may optionally contain additional sub-nodes describing partitions of
25the address space. See partition.txt for more detail.
26
27Example:
28
29 nand: nand@4020000 {
30 compatible = "hisilicon,504-nfc";
31 reg = <0x4020000 0x10000>, <0x5000000 0x1000>;
32 interrupts = <0 379 4>;
33 nand-bus-width = <8>;
34 nand-ecc-mode = "hw";
35 nand-ecc-strength = <16>;
36 nand-ecc-step-size = <1024>;
37 #address-cells = <1>;
38 #size-cells = <1>;
39
40 partition@0 {
41 label = "nand_text";
42 reg = <0x00000000 0x00400000>;
43 };
44
45 ...
46
47 };
diff --git a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
index 6b9f680cb579..4a0a48bf4ecb 100644
--- a/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
+++ b/Documentation/devicetree/bindings/mtd/mtd-physmap.txt
@@ -36,6 +36,11 @@ are defined:
36 - vendor-id : Contains the flash chip's vendor id (1 byte). 36 - vendor-id : Contains the flash chip's vendor id (1 byte).
37 - device-id : Contains the flash chip's device id (1 byte). 37 - device-id : Contains the flash chip's device id (1 byte).
38 38
39For ROM compatible devices (and ROM fallback from cfi-flash), the following
40additional (optional) property is defined:
41
42 - erase-size : The chip's physical erase block size in bytes.
43
39The device tree may optionally contain sub-nodes describing partitions of the 44The device tree may optionally contain sub-nodes describing partitions of the
40address space. See partition.txt for more detail. 45address space. See partition.txt for more detail.
41 46
diff --git a/Documentation/devicetree/bindings/net/amd-xgbe-phy.txt b/Documentation/devicetree/bindings/net/amd-xgbe-phy.txt
index 42409bfe04c4..33df3932168e 100644
--- a/Documentation/devicetree/bindings/net/amd-xgbe-phy.txt
+++ b/Documentation/devicetree/bindings/net/amd-xgbe-phy.txt
@@ -7,17 +7,38 @@ Required properties:
7 - SerDes Rx/Tx registers 7 - SerDes Rx/Tx registers
8 - SerDes integration registers (1/2) 8 - SerDes integration registers (1/2)
9 - SerDes integration registers (2/2) 9 - SerDes integration registers (2/2)
10- interrupt-parent: Should be the phandle for the interrupt controller
11 that services interrupts for this device
12- interrupts: Should contain the amd-xgbe-phy interrupt.
10 13
11Optional properties: 14Optional properties:
12- amd,speed-set: Speed capabilities of the device 15- amd,speed-set: Speed capabilities of the device
13 0 - 1GbE and 10GbE (default) 16 0 - 1GbE and 10GbE (default)
14 1 - 2.5GbE and 10GbE 17 1 - 2.5GbE and 10GbE
15 18
19The following optional properties are represented by an array with each
20value corresponding to a particular speed. The first array value represents
21the setting for the 1GbE speed, the second value for the 2.5GbE speed and
22the third value for the 10GbE speed. All three values are required if the
23property is used.
24- amd,serdes-blwc: Baseline wandering correction enablement
25 0 - Off
26 1 - On
27- amd,serdes-cdr-rate: CDR rate speed selection
28- amd,serdes-pq-skew: PQ (data sampling) skew
29- amd,serdes-tx-amp: TX amplitude boost
30
16Example: 31Example:
17 xgbe_phy@e1240800 { 32 xgbe_phy@e1240800 {
18 compatible = "amd,xgbe-phy-seattle-v1a", "ethernet-phy-ieee802.3-c45"; 33 compatible = "amd,xgbe-phy-seattle-v1a", "ethernet-phy-ieee802.3-c45";
19 reg = <0 0xe1240800 0 0x00400>, 34 reg = <0 0xe1240800 0 0x00400>,
20 <0 0xe1250000 0 0x00060>, 35 <0 0xe1250000 0 0x00060>,
21 <0 0xe1250080 0 0x00004>; 36 <0 0xe1250080 0 0x00004>;
37 interrupt-parent = <&gic>;
38 interrupts = <0 323 4>;
22 amd,speed-set = <0>; 39 amd,speed-set = <0>;
40 amd,serdes-blwc = <1>, <1>, <0>;
41 amd,serdes-cdr-rate = <2>, <2>, <7>;
42 amd,serdes-pq-skew = <10>, <10>, <30>;
43 amd,serdes-tx-amp = <15>, <15>, <10>;
23 }; 44 };
diff --git a/Documentation/devicetree/bindings/net/broadcom-systemport.txt b/Documentation/devicetree/bindings/net/broadcom-systemport.txt
index aa7ad622259d..877da34145b0 100644
--- a/Documentation/devicetree/bindings/net/broadcom-systemport.txt
+++ b/Documentation/devicetree/bindings/net/broadcom-systemport.txt
@@ -3,7 +3,7 @@
3Required properties: 3Required properties:
4- compatible: should be one of "brcm,systemport-v1.00" or "brcm,systemport" 4- compatible: should be one of "brcm,systemport-v1.00" or "brcm,systemport"
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: interrupts for the device, first cell must be for the the rx 6- interrupts: interrupts for the device, first cell must be for the rx
7 interrupts, and the second cell should be for the transmit queues. An 7 interrupts, and the second cell should be for the transmit queues. An
8 optional third interrupt cell for Wake-on-LAN can be specified 8 optional third interrupt cell for Wake-on-LAN can be specified
9- local-mac-address: Ethernet MAC address (48 bits) of this adapter 9- local-mac-address: Ethernet MAC address (48 bits) of this adapter
diff --git a/Documentation/devicetree/bindings/net/davicom-dm9000.txt b/Documentation/devicetree/bindings/net/davicom-dm9000.txt
index 28767ed7c1bd..5224bf05f6f8 100644
--- a/Documentation/devicetree/bindings/net/davicom-dm9000.txt
+++ b/Documentation/devicetree/bindings/net/davicom-dm9000.txt
@@ -11,6 +11,8 @@ Required properties:
11Optional properties: 11Optional properties:
12- davicom,no-eeprom : Configuration EEPROM is not available 12- davicom,no-eeprom : Configuration EEPROM is not available
13- davicom,ext-phy : Use external PHY 13- davicom,ext-phy : Use external PHY
14- reset-gpios : phandle of gpio that will be used to reset chip during probe
15- vcc-supply : phandle of regulator that will be used to enable power to chip
14 16
15Example: 17Example:
16 18
@@ -21,4 +23,6 @@ Example:
21 interrupts = <7 4>; 23 interrupts = <7 4>;
22 local-mac-address = [00 00 de ad be ef]; 24 local-mac-address = [00 00 de ad be ef];
23 davicom,no-eeprom; 25 davicom,no-eeprom;
26 reset-gpios = <&gpf 12 GPIO_ACTIVE_LOW>;
27 vcc-supply = <&eth0_power>;
24 }; 28 };
diff --git a/Documentation/devicetree/bindings/net/fsl-fec.txt b/Documentation/devicetree/bindings/net/fsl-fec.txt
index 0c8775c45798..a9eb611bee68 100644
--- a/Documentation/devicetree/bindings/net/fsl-fec.txt
+++ b/Documentation/devicetree/bindings/net/fsl-fec.txt
@@ -22,6 +22,8 @@ Optional properties:
22- fsl,num-rx-queues : The property is valid for enet-avb IP, which supports 22- fsl,num-rx-queues : The property is valid for enet-avb IP, which supports
23 hw multi queues. Should specify the rx queue number, otherwise set rx queue 23 hw multi queues. Should specify the rx queue number, otherwise set rx queue
24 number to 1. 24 number to 1.
25- fsl,magic-packet : If present, indicates that the hardware supports waking
26 up via magic packet.
25 27
26Optional subnodes: 28Optional subnodes:
27- mdio : specifies the mdio bus in the FEC, used as a container for phy nodes 29- mdio : specifies the mdio bus in the FEC, used as a container for phy nodes
diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
index be6ea8960f20..1e97532a0b79 100644
--- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
+++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
@@ -8,7 +8,16 @@ of how to define a PHY.
8Required properties: 8Required properties:
9 - reg : Offset and length of the register set for the device 9 - reg : Offset and length of the register set for the device
10 - compatible : Should define the compatible device type for the 10 - compatible : Should define the compatible device type for the
11 mdio. Currently, this is most likely to be "fsl,gianfar-mdio" 11 mdio. Currently supported strings/devices are:
12 - "fsl,gianfar-tbi"
13 - "fsl,gianfar-mdio"
14 - "fsl,etsec2-tbi"
15 - "fsl,etsec2-mdio"
16 - "fsl,ucc-mdio"
17 - "fsl,fman-mdio"
18 When device_type is "mdio", the following strings are also considered:
19 - "gianfar"
20 - "ucc_geth_phy"
12 21
13Example: 22Example:
14 23
diff --git a/Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt b/Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt
new file mode 100644
index 000000000000..988fc694b663
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt
@@ -0,0 +1,88 @@
1Hisilicon hip04 Ethernet Controller
2
3* Ethernet controller node
4
5Required properties:
6- compatible: should be "hisilicon,hip04-mac".
7- reg: address and length of the register set for the device.
8- interrupts: interrupt for the device.
9- port-handle: <phandle port channel>
10 phandle, specifies a reference to the syscon ppe node
11 port, port number connected to the controller
12 channel, recv channel start from channel * number (RX_DESC_NUM)
13- phy-mode: see ethernet.txt [1].
14
15Optional properties:
16- phy-handle: see ethernet.txt [1].
17
18[1] Documentation/devicetree/bindings/net/ethernet.txt
19
20
21* Ethernet ppe node:
22Control rx & tx fifos of all ethernet controllers.
23Have 2048 recv channels shared by all ethernet controllers, only if no overlap.
24Each controller's recv channel start from channel * number (RX_DESC_NUM).
25
26Required properties:
27- compatible: "hisilicon,hip04-ppe", "syscon".
28- reg: address and length of the register set for the device.
29
30
31* MDIO bus node:
32
33Required properties:
34
35- compatible: should be "hisilicon,hip04-mdio".
36- Inherits from MDIO bus node binding [2]
37[2] Documentation/devicetree/bindings/net/phy.txt
38
39Example:
40 mdio {
41 compatible = "hisilicon,hip04-mdio";
42 reg = <0x28f1000 0x1000>;
43 #address-cells = <1>;
44 #size-cells = <0>;
45
46 phy0: ethernet-phy@0 {
47 compatible = "ethernet-phy-ieee802.3-c22";
48 reg = <0>;
49 marvell,reg-init = <18 0x14 0 0x8001>;
50 };
51
52 phy1: ethernet-phy@1 {
53 compatible = "ethernet-phy-ieee802.3-c22";
54 reg = <1>;
55 marvell,reg-init = <18 0x14 0 0x8001>;
56 };
57 };
58
59 ppe: ppe@28c0000 {
60 compatible = "hisilicon,hip04-ppe", "syscon";
61 reg = <0x28c0000 0x10000>;
62 };
63
64 fe: ethernet@28b0000 {
65 compatible = "hisilicon,hip04-mac";
66 reg = <0x28b0000 0x10000>;
67 interrupts = <0 413 4>;
68 phy-mode = "mii";
69 port-handle = <&ppe 31 0>;
70 };
71
72 ge0: ethernet@2800000 {
73 compatible = "hisilicon,hip04-mac";
74 reg = <0x2800000 0x10000>;
75 interrupts = <0 402 4>;
76 phy-mode = "sgmii";
77 port-handle = <&ppe 0 1>;
78 phy-handle = <&phy0>;
79 };
80
81 ge8: ethernet@2880000 {
82 compatible = "hisilicon,hip04-mac";
83 reg = <0x2880000 0x10000>;
84 interrupts = <0 410 4>;
85 phy-mode = "sgmii";
86 port-handle = <&ppe 8 2>;
87 phy-handle = <&phy1>;
88 };
diff --git a/Documentation/devicetree/bindings/net/keystone-netcp.txt b/Documentation/devicetree/bindings/net/keystone-netcp.txt
new file mode 100644
index 000000000000..f9c07710478d
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/keystone-netcp.txt
@@ -0,0 +1,197 @@
1This document describes the device tree bindings associated with the
2keystone network coprocessor(NetCP) driver support.
3
4The network coprocessor (NetCP) is a hardware accelerator that processes
5Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsytem with a ethernet
6switch sub-module to send and receive packets. NetCP also includes a packet
7accelerator (PA) module to perform packet classification operations such as
8header matching, and packet modification operations such as checksum
9generation. NetCP can also optionally include a Security Accelerator (SA)
10capable of performing IPSec operations on ingress/egress packets.
11
12Keystone II SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
13includes a 3-port Ethernet switch sub-module capable of 10Gb/s and 1Gb/s rates
14per Ethernet port.
15
16Keystone NetCP driver has a plug-in module architecture where each of the NetCP
17sub-modules exist as a loadable kernel module which plug in to the netcp core.
18These sub-modules are represented as "netcp-devices" in the dts bindings. It is
19mandatory to have the ethernet switch sub-module for the ethernet interface to
20be operational. Any other sub-module like the PA is optional.
21
22NetCP Ethernet SubSystem Layout:
23
24-----------------------------
25 NetCP subsystem(10G or 1G)
26-----------------------------
27 |
28 |-> NetCP Devices -> |
29 | |-> GBE/XGBE Switch
30 | |
31 | |-> Packet Accelerator
32 | |
33 | |-> Security Accelerator
34 |
35 |
36 |
37 |-> NetCP Interfaces -> |
38 |-> Ethernet Port 0
39 |
40 |-> Ethernet Port 1
41 |
42 |-> Ethernet Port 2
43 |
44 |-> Ethernet Port 3
45
46
47NetCP subsystem properties:
48Required properties:
49- compatible: Should be "ti,netcp-1.0"
50- clocks: phandle to the reference clocks for the subsystem.
51- dma-id: Navigator packet dma instance id.
52
53Optional properties:
54- reg: register location and the size for the following register
55 regions in the specified order.
56 - Efuse MAC address register
57- dma-coherent: Present if dma operations are coherent
58- big-endian: Keystone devices can be operated in a mode where the DSP is in
59 the big endian mode. In such cases enable this option. This
60 option should also be enabled if the ARM is operated in
61 big endian mode with the DSP in little endian.
62
63NetCP device properties: Device specification for NetCP sub-modules.
641Gb/10Gb (gbe/xgbe) ethernet switch sub-module specifications.
65Required properties:
66- label: Must be "netcp-gbe" for 1Gb & "netcp-xgbe" for 10Gb.
67- reg: register location and the size for the following register
68 regions in the specified order.
69 - subsystem registers
70 - serdes registers
71- tx-channel: the navigator packet dma channel name for tx.
72- tx-queue: the navigator queue number associated with the tx dma channel.
73- interfaces: specification for each of the switch port to be registered as a
74 network interface in the stack.
75-- slave-port: Switch port number, 0 based numbering.
76-- link-interface: type of link interface, supported options are
77 - mac<->mac auto negotiate mode: 0
78 - mac<->phy mode: 1
79 - mac<->mac forced mode: 2
80 - mac<->fiber mode: 3
81 - mac<->phy mode with no mdio: 4
82 - 10Gb mac<->phy mode : 10
83 - 10Gb mac<->mac forced mode : 11
84----phy-handle: phandle to PHY device
85
86Optional properties:
87- enable-ale: NetCP driver keeps the address learning feature in the ethernet
88 switch module disabled. This attribute is to enable the address
89 learning.
90- secondary-slave-ports: specification for each of the switch port not be
91 registered as a network interface. NetCP driver
92 will only initialize these ports and attach PHY
93 driver to them if needed.
94
95NetCP interface properties: Interface specification for NetCP sub-modules.
96Required properties:
97- rx-channel: the navigator packet dma channel name for rx.
98- rx-queue: the navigator queue number associated with rx dma channel.
99- rx-pool: specifies the number of descriptors to be used & the region-id
100 for creating the rx descriptor pool.
101- tx-pool: specifies the number of descriptors to be used & the region-id
102 for creating the tx descriptor pool.
103- rx-queue-depth: number of descriptors in each of the free descriptor
104 queue (FDQ) for the pktdma Rx flow. There can be at
105 present a maximum of 4 queues per Rx flow.
106- rx-buffer-size: the buffer size for each of the Rx flow FDQ.
107- tx-completion-queue: the navigator queue number where the descriptors are
108 recycled after Tx DMA completion.
109
110Optional properties:
111- efuse-mac: If this is 1, then the MAC address for the interface is
112 obtained from the device efuse mac address register
113- local-mac-address: the driver is designed to use the of_get_mac_address api
114 only if efuse-mac is 0. When efuse-mac is 0, the MAC
115 address is obtained from local-mac-address. If this
116 attribute is not present, then the driver will use a
117 random MAC address.
118- "netcp-device label": phandle to the device specification for each of NetCP
119 sub-module attached to this interface.
120
121Example binding:
122
123netcp: netcp@2090000 {
124 reg = <0x2620110 0x8>;
125 reg-names = "efuse";
126 compatible = "ti,netcp-1.0";
127 #address-cells = <1>;
128 #size-cells = <1>;
129 ranges;
130
131 clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
132 dma-coherent;
133 /* big-endian; */
134 dma-id = <0>;
135
136 netcp-devices {
137 #address-cells = <1>;
138 #size-cells = <1>;
139 ranges;
140 gbe@0x2090000 {
141 label = "netcp-gbe";
142 reg = <0x2090000 0xf00>;
143 /* enable-ale; */
144 tx-queue = <648>;
145 tx-channel = <8>;
146
147 interfaces {
148 gbe0: interface-0 {
149 slave-port = <0>;
150 link-interface = <4>;
151 };
152 gbe1: interface-1 {
153 slave-port = <1>;
154 link-interface = <4>;
155 };
156 };
157
158 secondary-slave-ports {
159 port-2 {
160 slave-port = <2>;
161 link-interface = <2>;
162 };
163 port-3 {
164 slave-port = <3>;
165 link-interface = <2>;
166 };
167 };
168 };
169 };
170
171 netcp-interfaces {
172 interface-0 {
173 rx-channel = <22>;
174 rx-pool = <1024 12>;
175 tx-pool = <1024 12>;
176 rx-queue-depth = <128 128 0 0>;
177 rx-buffer-size = <1518 4096 0 0>;
178 rx-queue = <8704>;
179 tx-completion-queue = <8706>;
180 efuse-mac = <1>;
181 netcp-gbe = <&gbe0>;
182
183 };
184 interface-1 {
185 rx-channel = <23>;
186 rx-pool = <1024 12>;
187 tx-pool = <1024 12>;
188 rx-queue-depth = <128 128 0 0>;
189 rx-buffer-size = <1518 4096 0 0>;
190 rx-queue = <8705>;
191 tx-completion-queue = <8707>;
192 efuse-mac = <0>;
193 local-mac-address = [02 18 31 7e 3e 6f];
194 netcp-gbe = <&gbe1>;
195 };
196 };
197};
diff --git a/Documentation/devicetree/bindings/net/nfc/st21nfca.txt b/Documentation/devicetree/bindings/net/nfc/st21nfca.txt
index e4faa2e8dfeb..7bb2e213d6f9 100644
--- a/Documentation/devicetree/bindings/net/nfc/st21nfca.txt
+++ b/Documentation/devicetree/bindings/net/nfc/st21nfca.txt
@@ -1,7 +1,7 @@
1* STMicroelectronics SAS. ST21NFCA NFC Controller 1* STMicroelectronics SAS. ST21NFCA NFC Controller
2 2
3Required properties: 3Required properties:
4- compatible: Should be "st,st21nfca_i2c". 4- compatible: Should be "st,st21nfca-i2c".
5- clock-frequency: I²C work frequency. 5- clock-frequency: I²C work frequency.
6- reg: address on the bus 6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller 7- interrupt-parent: phandle for the interrupt gpio controller
@@ -11,6 +11,10 @@ Required properties:
11Optional SoC Specific Properties: 11Optional SoC Specific Properties:
12- pinctrl-names: Contains only one value - "default". 12- pinctrl-names: Contains only one value - "default".
13- pintctrl-0: Specifies the pin control groups used for this controller. 13- pintctrl-0: Specifies the pin control groups used for this controller.
14- ese-present: Specifies that an ese is physically connected to the nfc
15controller.
16- uicc-present: Specifies that the uicc swp signal can be physically
17connected to the nfc controller.
14 18
15Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2): 19Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2):
16 20
@@ -20,7 +24,7 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2):
20 24
21 st21nfca: st21nfca@1 { 25 st21nfca: st21nfca@1 {
22 26
23 compatible = "st,st21nfca_i2c"; 27 compatible = "st,st21nfca-i2c";
24 28
25 reg = <0x01>; 29 reg = <0x01>;
26 clock-frequency = <400000>; 30 clock-frequency = <400000>;
@@ -29,5 +33,8 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2):
29 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 33 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
30 34
31 enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>; 35 enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
36
37 ese-present;
38 uicc-present;
32 }; 39 };
33}; 40};
diff --git a/Documentation/devicetree/bindings/net/nfc/st21nfcb.txt b/Documentation/devicetree/bindings/net/nfc/st21nfcb.txt
index 9005608cbbd1..bb237072dbe9 100644
--- a/Documentation/devicetree/bindings/net/nfc/st21nfcb.txt
+++ b/Documentation/devicetree/bindings/net/nfc/st21nfcb.txt
@@ -1,7 +1,7 @@
1* STMicroelectronics SAS. ST21NFCB NFC Controller 1* STMicroelectronics SAS. ST21NFCB NFC Controller
2 2
3Required properties: 3Required properties:
4- compatible: Should be "st,st21nfcb_i2c". 4- compatible: Should be "st,st21nfcb-i2c".
5- clock-frequency: I²C work frequency. 5- clock-frequency: I²C work frequency.
6- reg: address on the bus 6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller 7- interrupt-parent: phandle for the interrupt gpio controller
@@ -20,7 +20,7 @@ Example (for ARM-based BeagleBoard xM with ST21NFCB on I2C2):
20 20
21 st21nfcb: st21nfcb@8 { 21 st21nfcb: st21nfcb@8 {
22 22
23 compatible = "st,st21nfcb_i2c"; 23 compatible = "st,st21nfcb-i2c";
24 24
25 reg = <0x08>; 25 reg = <0x08>;
26 clock-frequency = <400000>; 26 clock-frequency = <400000>;
diff --git a/Documentation/devicetree/bindings/net/rockchip-dwmac.txt b/Documentation/devicetree/bindings/net/rockchip-dwmac.txt
new file mode 100644
index 000000000000..21fd199e89b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/rockchip-dwmac.txt
@@ -0,0 +1,68 @@
1Rockchip SoC RK3288 10/100/1000 Ethernet driver(GMAC)
2
3The device node has following properties.
4
5Required properties:
6 - compatible: Can be "rockchip,rk3288-gmac".
7 - reg: addresses and length of the register sets for the device.
8 - interrupts: Should contain the GMAC interrupts.
9 - interrupt-names: Should contain the interrupt names "macirq".
10 - rockchip,grf: phandle to the syscon grf used to control speed and mode.
11 - clocks: <&cru SCLK_MAC>: clock selector for main clock, from PLL or PHY.
12 <&cru SCLK_MAC_PLL>: PLL clock for SCLK_MAC
13 <&cru SCLK_MAC_RX>: clock gate for RX
14 <&cru SCLK_MAC_TX>: clock gate for TX
15 <&cru SCLK_MACREF>: clock gate for RMII referce clock
16 <&cru SCLK_MACREF_OUT> clock gate for RMII reference clock output
17 <&cru ACLK_GMAC>: AXI clock gate for GMAC
18 <&cru PCLK_GMAC>: APB clock gate for GMAC
19 - clock-names: One name for each entry in the clocks property.
20 - phy-mode: See ethernet.txt file in the same directory.
21 - pinctrl-names: Names corresponding to the numbered pinctrl states.
22 - pinctrl-0: pin-control mode. can be <&rgmii_pins> or <&rmii_pins>.
23 - clock_in_out: For RGMII, it must be "input", means main clock(125MHz)
24 is not sourced from SoC's PLL, but input from PHY; For RMII, "input" means
25 PHY provides the reference clock(50MHz), "output" means GMAC provides the
26 reference clock.
27 - snps,reset-gpio gpio number for phy reset.
28 - snps,reset-active-low boolean flag to indicate if phy reset is active low.
29 - assigned-clocks: main clock, should be <&cru SCLK_MAC>;
30 - assigned-clock-parents = parent of main clock.
31 can be <&ext_gmac> or <&cru SCLK_MAC_PLL>.
32
33Optional properties:
34 - tx_delay: Delay value for TXD timing. Range value is 0~0x7F, 0x30 as default.
35 - rx_delay: Delay value for RXD timing. Range value is 0~0x7F, 0x10 as default.
36 - phy-supply: phandle to a regulator if the PHY needs one
37
38Example:
39
40gmac: ethernet@ff290000 {
41 compatible = "rockchip,rk3288-gmac";
42 reg = <0xff290000 0x10000>;
43 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
44 interrupt-names = "macirq";
45 rockchip,grf = <&grf>;
46 clocks = <&cru SCLK_MAC>,
47 <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
48 <&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
49 <&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
50 clock-names = "stmmaceth",
51 "mac_clk_rx", "mac_clk_tx",
52 "clk_mac_ref", "clk_mac_refout",
53 "aclk_mac", "pclk_mac";
54 phy-mode = "rgmii";
55 pinctrl-names = "default";
56 pinctrl-0 = <&rgmii_pins /*&rmii_pins*/>;
57
58 clock_in_out = "input";
59 snps,reset-gpio = <&gpio4 7 0>;
60 snps,reset-active-low;
61
62 assigned-clocks = <&cru SCLK_MAC>;
63 assigned-clock-parents = <&ext_gmac>;
64 tx_delay = <0x30>;
65 rx_delay = <0x10>;
66
67 status = "ok";
68};
diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt
index 6762a6b5da7e..d05c1e1fd9b6 100644
--- a/Documentation/devicetree/bindings/net/sti-dwmac.txt
+++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt
@@ -9,14 +9,10 @@ The device node has following properties.
9Required properties: 9Required properties:
10 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac", 10 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac",
11 "st,stih407-dwmac", "st,stid127-dwmac". 11 "st,stih407-dwmac", "st,stid127-dwmac".
12 - reg : Offset of the glue configuration register map in system 12 - st,syscon : Should be phandle/offset pair. The phandle to the syscon node which
13 configuration regmap pointed by st,syscon property and size. 13 encompases the glue register, and the offset of the control register.
14 - st,syscon : Should be phandle to system configuration node which
15 encompases this glue registers.
16 - st,gmac_en: this is to enable the gmac into a dedicated sysctl control 14 - st,gmac_en: this is to enable the gmac into a dedicated sysctl control
17 register available on STiH407 SoC. 15 register available on STiH407 SoC.
18 - sti-ethconf: this is the gmac glue logic register to enable the GMAC,
19 select among the different modes and program the clk retiming.
20 - pinctrl-0: pin-control for all the MII mode supported. 16 - pinctrl-0: pin-control for all the MII mode supported.
21 17
22Optional properties: 18Optional properties:
@@ -40,10 +36,10 @@ ethernet0: dwmac@9630000 {
40 device_type = "network"; 36 device_type = "network";
41 status = "disabled"; 37 status = "disabled";
42 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710"; 38 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
43 reg = <0x9630000 0x8000>, <0x80 0x4>; 39 reg = <0x9630000 0x8000>;
44 reg-names = "stmmaceth", "sti-ethconf"; 40 reg-names = "stmmaceth";
45 41
46 st,syscon = <&syscfg_sbc_reg>; 42 st,syscon = <&syscfg_sbc_reg 0x80>;
47 st,gmac_en; 43 st,gmac_en;
48 resets = <&softreset STIH407_ETH1_SOFTRESET>; 44 resets = <&softreset STIH407_ETH1_SOFTRESET>;
49 reset-names = "stmmaceth"; 45 reset-names = "stmmaceth";
diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
index c41afd963edf..8ca65cec52ae 100644
--- a/Documentation/devicetree/bindings/net/stmmac.txt
+++ b/Documentation/devicetree/bindings/net/stmmac.txt
@@ -43,6 +43,7 @@ Optional properties:
43 available this clock is used for programming the Timestamp Addend Register. 43 available this clock is used for programming the Timestamp Addend Register.
44 If not passed then the system clock will be used and this is fine on some 44 If not passed then the system clock will be used and this is fine on some
45 platforms. 45 platforms.
46- snps,burst_len: The AXI burst lenth value of the AXI BUS MODE register.
46 47
47Examples: 48Examples:
48 49
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt
new file mode 100644
index 000000000000..edefc26c6204
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt
@@ -0,0 +1,30 @@
1* Qualcomm Atheros ath10k wireless devices
2
3For ath10k devices the calibration data can be provided through Device
4Tree. The node is a child node of the PCI controller.
5
6Required properties:
7-compatible : Should be "qcom,ath10k"
8
9Optional properties:
10- qcom,ath10k-calibration-data : calibration data as an array, the
11 length can vary between hw versions
12
13
14Example:
15
16pci {
17 pcie@0 {
18 reg = <0 0 0 0 0>;
19 #interrupt-cells = <1>;
20 #size-cells = <2>;
21 #address-cells = <3>;
22 device_type = "pci";
23
24 ath10k@0,0 {
25 reg = <0 0 0 0 0>;
26 device_type = "pci";
27 qcom,ath10k-calibration-data = [ 01 02 03 ... ];
28 };
29 };
30};
diff --git a/Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt b/Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt
new file mode 100644
index 000000000000..b6f2f3e8f44e
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt
@@ -0,0 +1,7 @@
1Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
2
3Required properties:
4- compatible: should be "avic,tm070ddh03"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt b/Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt
new file mode 100644
index 000000000000..24b0b624434b
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt
@@ -0,0 +1,7 @@
1GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
2
3Required properties:
4- compatible: should be "giantplus,gpg48273qs5"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
index d763e047c6ae..75321ae23c08 100644
--- a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
@@ -1,10 +1,10 @@
1NVIDIA Tegra PCIe controller 1NVIDIA Tegra PCIe controller
2 2
3Required properties: 3Required properties:
4- compatible: Must be one of: 4- compatible: For Tegra20, must contain "nvidia,tegra20-pcie". For Tegra30,
5 - "nvidia,tegra20-pcie" 5 "nvidia,tegra30-pcie". For Tegra124, must contain "nvidia,tegra124-pcie".
6 - "nvidia,tegra30-pcie" 6 Otherwise, must contain "nvidia,<chip>-pcie", plus one of the above, where
7 - "nvidia,tegra124-pcie" 7 <chip> is tegra132 or tegra210.
8- device_type: Must be "pci" 8- device_type: Must be "pci"
9- reg: A list of physical base address and length for each set of controller 9- reg: A list of physical base address and length for each set of controller
10 registers. Must contain an entry for each entry in the reg-names property. 10 registers. Must contain an entry for each entry in the reg-names property.
diff --git a/Documentation/devicetree/bindings/pci/versatile.txt b/Documentation/devicetree/bindings/pci/versatile.txt
new file mode 100644
index 000000000000..ebd1e7d0403e
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/versatile.txt
@@ -0,0 +1,59 @@
1* ARM Versatile Platform Baseboard PCI interface
2
3PCI host controller found on the ARM Versatile PB board's FPGA.
4
5Required properties:
6- compatible: should contain "arm,versatile-pci" to identify the Versatile PCI
7 controller.
8- reg: base addresses and lengths of the pci controller. There must be 3
9 entries:
10 - Versatile-specific registers
11 - Self Config space
12 - Config space
13- #address-cells: set to <3>
14- #size-cells: set to <2>
15- device_type: set to "pci"
16- bus-range: set to <0 0xff>
17- ranges: ranges for the PCI memory and I/O regions
18- #interrupt-cells: set to <1>
19- interrupt-map-mask and interrupt-map: standard PCI properties to define
20 the mapping of the PCI interface to interrupt numbers.
21
22Example:
23
24pci-controller@10001000 {
25 compatible = "arm,versatile-pci";
26 device_type = "pci";
27 reg = <0x10001000 0x1000
28 0x41000000 0x10000
29 0x42000000 0x100000>;
30 bus-range = <0 0xff>;
31 #address-cells = <3>;
32 #size-cells = <2>;
33 #interrupt-cells = <1>;
34
35 ranges = <0x01000000 0 0x00000000 0x43000000 0 0x00010000 /* downstream I/O */
36 0x02000000 0 0x50000000 0x50000000 0 0x10000000 /* non-prefetchable memory */
37 0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */
38
39 interrupt-map-mask = <0x1800 0 0 7>;
40 interrupt-map = <0x1800 0 0 1 &sic 28
41 0x1800 0 0 2 &sic 29
42 0x1800 0 0 3 &sic 30
43 0x1800 0 0 4 &sic 27
44
45 0x1000 0 0 1 &sic 27
46 0x1000 0 0 2 &sic 28
47 0x1000 0 0 3 &sic 29
48 0x1000 0 0 4 &sic 30
49
50 0x0800 0 0 1 &sic 30
51 0x0800 0 0 2 &sic 27
52 0x0800 0 0 3 &sic 28
53 0x0800 0 0 4 &sic 29
54
55 0x0000 0 0 1 &sic 29
56 0x0000 0 0 2 &sic 30
57 0x0000 0 0 3 &sic 27
58 0x0000 0 0 4 &sic 28>;
59};
diff --git a/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt b/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt
index 46a135dae6b3..89caa885d08c 100644
--- a/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt
+++ b/Documentation/devicetree/bindings/phy/phy-miphy28lp.txt
@@ -26,6 +26,7 @@ Required properties (port (child) node):
26 filled in "reg". It can also contain the offset of the system configuration 26 filled in "reg". It can also contain the offset of the system configuration
27 registers used as glue-logic to setup the device for SATA/PCIe or USB3 27 registers used as glue-logic to setup the device for SATA/PCIe or USB3
28 devices. 28 devices.
29- st,syscfg : Offset of the parent configuration register.
29- resets : phandle to the parent reset controller. 30- resets : phandle to the parent reset controller.
30- reset-names : Associated name must be "miphy-sw-rst". 31- reset-names : Associated name must be "miphy-sw-rst".
31 32
@@ -54,18 +55,12 @@ example:
54 phy_port0: port@9b22000 { 55 phy_port0: port@9b22000 {
55 reg = <0x9b22000 0xff>, 56 reg = <0x9b22000 0xff>,
56 <0x9b09000 0xff>, 57 <0x9b09000 0xff>,
57 <0x9b04000 0xff>, 58 <0x9b04000 0xff>;
58 <0x114 0x4>, /* sysctrl MiPHY cntrl */
59 <0x818 0x4>, /* sysctrl MiPHY status*/
60 <0xe0 0x4>, /* sysctrl PCIe */
61 <0xec 0x4>; /* sysctrl SATA */
62 reg-names = "sata-up", 59 reg-names = "sata-up",
63 "pcie-up", 60 "pcie-up",
64 "pipew", 61 "pipew";
65 "miphy-ctrl-glue", 62
66 "miphy-status-glue", 63 st,syscfg = <0x114 0x818 0xe0 0xec>;
67 "pcie-glue",
68 "sata-glue";
69 #phy-cells = <1>; 64 #phy-cells = <1>;
70 st,osc-rdy; 65 st,osc-rdy;
71 reset-names = "miphy-sw-rst"; 66 reset-names = "miphy-sw-rst";
@@ -75,18 +70,13 @@ example:
75 phy_port1: port@9b2a000 { 70 phy_port1: port@9b2a000 {
76 reg = <0x9b2a000 0xff>, 71 reg = <0x9b2a000 0xff>,
77 <0x9b19000 0xff>, 72 <0x9b19000 0xff>,
78 <0x9b14000 0xff>, 73 <0x9b14000 0xff>;
79 <0x118 0x4>,
80 <0x81c 0x4>,
81 <0xe4 0x4>,
82 <0xf0 0x4>;
83 reg-names = "sata-up", 74 reg-names = "sata-up",
84 "pcie-up", 75 "pcie-up",
85 "pipew", 76 "pipew";
86 "miphy-ctrl-glue", 77
87 "miphy-status-glue", 78 st,syscfg = <0x118 0x81c 0xe4 0xf0>;
88 "pcie-glue", 79
89 "sata-glue";
90 #phy-cells = <1>; 80 #phy-cells = <1>;
91 st,osc-force-ext; 81 st,osc-force-ext;
92 reset-names = "miphy-sw-rst"; 82 reset-names = "miphy-sw-rst";
@@ -95,13 +85,12 @@ example:
95 85
96 phy_port2: port@8f95000 { 86 phy_port2: port@8f95000 {
97 reg = <0x8f95000 0xff>, 87 reg = <0x8f95000 0xff>,
98 <0x8f90000 0xff>, 88 <0x8f90000 0xff>;
99 <0x11c 0x4>,
100 <0x820 0x4>;
101 reg-names = "pipew", 89 reg-names = "pipew",
102 "usb3-up", 90 "usb3-up";
103 "miphy-ctrl-glue", 91
104 "miphy-status-glue"; 92 st,syscfg = <0x11c 0x820>;
93
105 #phy-cells = <1>; 94 #phy-cells = <1>;
106 reset-names = "miphy-sw-rst"; 95 reset-names = "miphy-sw-rst";
107 resets = <&softreset STIH407_MIPHY2_SOFTRESET>; 96 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
@@ -125,4 +114,4 @@ example:
125 114
126Macro definitions for the supported miphy configuration can be found in: 115Macro definitions for the supported miphy configuration can be found in:
127 116
128include/dt-bindings/phy/phy-miphy28lp.h 117include/dt-bindings/phy/phy.h
diff --git a/Documentation/devicetree/bindings/phy/phy-miphy365x.txt b/Documentation/devicetree/bindings/phy/phy-miphy365x.txt
index 42c880886cf7..9802d5d911aa 100644
--- a/Documentation/devicetree/bindings/phy/phy-miphy365x.txt
+++ b/Documentation/devicetree/bindings/phy/phy-miphy365x.txt
@@ -6,8 +6,10 @@ for SATA and PCIe.
6 6
7Required properties (controller (parent) node): 7Required properties (controller (parent) node):
8- compatible : Should be "st,miphy365x-phy" 8- compatible : Should be "st,miphy365x-phy"
9- st,syscfg : Should be a phandle of the system configuration register group 9- st,syscfg : Phandle / integer array property. Phandle of sysconfig group
10 which contain the SATA, PCIe mode setting bits 10 containing the miphy registers and integer array should contain
11 an entry for each port sub-node, specifying the control
12 register offset inside the sysconfig group.
11 13
12Required nodes : A sub-node is required for each channel the controller 14Required nodes : A sub-node is required for each channel the controller
13 provides. Address range information including the usual 15 provides. Address range information including the usual
@@ -26,7 +28,6 @@ Required properties (port (child) node):
26 registers filled in "reg": 28 registers filled in "reg":
27 - sata: For SATA devices 29 - sata: For SATA devices
28 - pcie: For PCIe devices 30 - pcie: For PCIe devices
29 - syscfg: To specify the syscfg based config register
30 31
31Optional properties (port (child) node): 32Optional properties (port (child) node):
32- st,sata-gen : Generation of locally attached SATA IP. Expected values 33- st,sata-gen : Generation of locally attached SATA IP. Expected values
@@ -39,20 +40,20 @@ Example:
39 40
40 miphy365x_phy: miphy365x@fe382000 { 41 miphy365x_phy: miphy365x@fe382000 {
41 compatible = "st,miphy365x-phy"; 42 compatible = "st,miphy365x-phy";
42 st,syscfg = <&syscfg_rear>; 43 st,syscfg = <&syscfg_rear 0x824 0x828>;
43 #address-cells = <1>; 44 #address-cells = <1>;
44 #size-cells = <1>; 45 #size-cells = <1>;
45 ranges; 46 ranges;
46 47
47 phy_port0: port@fe382000 { 48 phy_port0: port@fe382000 {
48 reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>; 49 reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
49 reg-names = "sata", "pcie", "syscfg"; 50 reg-names = "sata", "pcie";
50 #phy-cells = <1>; 51 #phy-cells = <1>;
51 st,sata-gen = <3>; 52 st,sata-gen = <3>;
52 }; 53 };
53 54
54 phy_port1: port@fe38a000 { 55 phy_port1: port@fe38a000 {
55 reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>;; 56 reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;;
56 reg-names = "sata", "pcie", "syscfg"; 57 reg-names = "sata", "pcie", "syscfg";
57 #phy-cells = <1>; 58 #phy-cells = <1>;
58 st,pcie-tx-pol-inv; 59 st,pcie-tx-pol-inv;
diff --git a/Documentation/devicetree/bindings/phy/phy-stih407-usb.txt b/Documentation/devicetree/bindings/phy/phy-stih407-usb.txt
index 1ef8228db73b..de6a706abcdb 100644
--- a/Documentation/devicetree/bindings/phy/phy-stih407-usb.txt
+++ b/Documentation/devicetree/bindings/phy/phy-stih407-usb.txt
@@ -5,10 +5,7 @@ host controllers (when controlling usb2/1.1 devices) available on STiH407 SoC fa
5 5
6Required properties: 6Required properties:
7- compatible : should be "st,stih407-usb2-phy" 7- compatible : should be "st,stih407-usb2-phy"
8- reg : contain the offset and length of the system configuration registers 8- st,syscfg : phandle of sysconfig bank plus integer array containing phyparam and phyctrl register offsets
9 used as glue logic to control & parameter phy
10- reg-names : the names of the system configuration registers in "reg", should be "param" and "reg"
11- st,syscfg : sysconfig register to manage phy parameter at driver level
12- resets : list of phandle and reset specifier pairs. There should be two entries, one 9- resets : list of phandle and reset specifier pairs. There should be two entries, one
13 for the whole phy and one for the port 10 for the whole phy and one for the port
14- reset-names : list of reset signal names. Should be "global" and "port" 11- reset-names : list of reset signal names. Should be "global" and "port"
@@ -19,11 +16,8 @@ Example:
19 16
20usb2_picophy0: usbpicophy@f8 { 17usb2_picophy0: usbpicophy@f8 {
21 compatible = "st,stih407-usb2-phy"; 18 compatible = "st,stih407-usb2-phy";
22 reg = <0xf8 0x04>, /* syscfg 5062 */
23 <0xf4 0x04>; /* syscfg 5061 */
24 reg-names = "param", "ctrl";
25 #phy-cells = <0>; 19 #phy-cells = <0>;
26 st,syscfg = <&syscfg_core>; 20 st,syscfg = <&syscfg_core 0x100 0xf4>;
27 resets = <&softreset STIH407_PICOPHY_SOFTRESET>, 21 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
28 <&picophyreset STIH407_PICOPHY0_RESET>; 22 <&picophyreset STIH407_PICOPHY0_RESET>;
29 reset-names = "global", "port"; 23 reset-names = "global", "port";
diff --git a/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt b/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt
new file mode 100644
index 000000000000..826454ac43bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt
@@ -0,0 +1,37 @@
1ROCKCHIP USB2 PHY
2
3Required properties:
4 - compatible: rockchip,rk3288-usb-phy
5 - rockchip,grf : phandle to the syscon managing the "general
6 register files"
7 - #address-cells: should be 1
8 - #size-cells: should be 0
9
10Sub-nodes:
11Each PHY should be represented as a sub-node.
12
13Sub-nodes
14required properties:
15- #phy-cells: should be 0
16- reg: PHY configure reg address offset in GRF
17 "0x320" - for PHY attach to OTG controller
18 "0x334" - for PHY attach to HOST0 controller
19 "0x348" - for PHY attach to HOST1 controller
20
21Optional Properties:
22- clocks : phandle + clock specifier for the phy clocks
23- clock-names: string, clock name, must be "phyclk"
24
25Example:
26
27usbphy: phy {
28 compatible = "rockchip,rk3288-usb-phy";
29 rockchip,grf = <&grf>;
30 #address-cells = <1>;
31 #size-cells = <0>;
32
33 usbphy0: usb-phy0 {
34 #phy-cells = <0>;
35 reg = <0x320>;
36 };
37};
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt
index d5bad920827f..91e38cfe1f8f 100644
--- a/Documentation/devicetree/bindings/phy/samsung-phy.txt
+++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt
@@ -3,8 +3,8 @@ Samsung S5P/EXYNOS SoC series MIPI CSIS/DSIM DPHY
3 3
4Required properties: 4Required properties:
5- compatible : should be "samsung,s5pv210-mipi-video-phy"; 5- compatible : should be "samsung,s5pv210-mipi-video-phy";
6- reg : offset and length of the MIPI DPHY register set;
7- #phy-cells : from the generic phy bindings, must be 1; 6- #phy-cells : from the generic phy bindings, must be 1;
7- syscon - phandle to the PMU system controller;
8 8
9For "samsung,s5pv210-mipi-video-phy" compatible PHYs the second cell in 9For "samsung,s5pv210-mipi-video-phy" compatible PHYs the second cell in
10the PHY specifier identifies the PHY and its meaning is as follows: 10the PHY specifier identifies the PHY and its meaning is as follows:
diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
index 93ce12eb422a..fdd8046e650a 100644
--- a/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt
@@ -11,6 +11,7 @@ Required properties:
11 "allwinner,sun5i-a10s-pinctrl" 11 "allwinner,sun5i-a10s-pinctrl"
12 "allwinner,sun5i-a13-pinctrl" 12 "allwinner,sun5i-a13-pinctrl"
13 "allwinner,sun6i-a31-pinctrl" 13 "allwinner,sun6i-a31-pinctrl"
14 "allwinner,sun6i-a31s-pinctrl"
14 "allwinner,sun6i-a31-r-pinctrl" 15 "allwinner,sun6i-a31-r-pinctrl"
15 "allwinner,sun7i-a20-pinctrl" 16 "allwinner,sun7i-a20-pinctrl"
16 "allwinner,sun8i-a23-pinctrl" 17 "allwinner,sun8i-a23-pinctrl"
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt
index 189814e7cdc7..ecb5c0d25218 100644
--- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt
@@ -6,7 +6,8 @@ nvidia,tegra30-pinmux.txt. In fact, this document assumes that binding as
6a baseline, and only documents the differences between the two bindings. 6a baseline, and only documents the differences between the two bindings.
7 7
8Required properties: 8Required properties:
9- compatible: "nvidia,tegra124-pinmux" 9- compatible: For Tegra124, must contain "nvidia,tegra124-pinmux". For
10 Tegra132, must contain '"nvidia,tegra132-pinmux", "nvidia-tegra124-pinmux"'.
10- reg: Should contain a list of base address and size pairs for: 11- reg: Should contain a list of base address and size pairs for:
11 -- first entry - the drive strength and pad control registers. 12 -- first entry - the drive strength and pad control registers.
12 -- second entry - the pinmux registers 13 -- second entry - the pinmux registers
diff --git a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt
index 2f9c0bd66457..30676ded85bb 100644
--- a/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt
@@ -13,7 +13,9 @@ how to describe and reference PHYs in device trees.
13 13
14Required properties: 14Required properties:
15-------------------- 15--------------------
16- compatible: should be "nvidia,tegra124-xusb-padctl" 16- compatible: For Tegra124, must contain "nvidia,tegra124-xusb-padctl".
17 Otherwise, must contain '"nvidia,<chip>-xusb-padctl",
18 "nvidia-tegra124-xusb-padctl"', where <chip> is tegra132 or tegra210.
17- reg: Physical base address and length of the controller's registers. 19- reg: Physical base address and length of the controller's registers.
18- resets: Must contain an entry for each entry in reset-names. 20- resets: Must contain an entry for each entry in reset-names.
19 See ../reset/reset.txt for details. 21 See ../reset/reset.txt for details.
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt
new file mode 100644
index 000000000000..498caff6029e
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt
@@ -0,0 +1,186 @@
1Qualcomm MSM8916 TLMM block
2
3This binding describes the Top Level Mode Multiplexer block found in the
4MSM8916 platform.
5
6- compatible:
7 Usage: required
8 Value type: <string>
9 Definition: must be "qcom,msm8916-pinctrl"
10
11- reg:
12 Usage: required
13 Value type: <prop-encoded-array>
14 Definition: the base address and size of the TLMM register space.
15
16- interrupts:
17 Usage: required
18 Value type: <prop-encoded-array>
19 Definition: should specify the TLMM summary IRQ.
20
21- interrupt-controller:
22 Usage: required
23 Value type: <none>
24 Definition: identifies this node as an interrupt controller
25
26- #interrupt-cells:
27 Usage: required
28 Value type: <u32>
29 Definition: must be 2. Specifying the pin number and flags, as defined
30 in <dt-bindings/interrupt-controller/irq.h>
31
32- gpio-controller:
33 Usage: required
34 Value type: <none>
35 Definition: identifies this node as a gpio controller
36
37- #gpio-cells:
38 Usage: required
39 Value type: <u32>
40 Definition: must be 2. Specifying the pin number and flags, as defined
41 in <dt-bindings/gpio/gpio.h>
42
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.
45
46Please refer to pinctrl-bindings.txt in this directory for details of the
47common pinctrl bindings used by client devices, including the meaning of the
48phrase "pin configuration node".
49
50The pin configuration nodes act as a container for an arbitrary number of
51subnodes. Each of these subnodes represents some desired configuration for a
52pin, a group, or a list of pins or groups. This configuration can include the
53mux function to select on those pin(s)/group(s), and various pin configuration
54parameters, such as pull-up, drive strength, etc.
55
56
57PIN CONFIGURATION NODES:
58
59The name of each subnode is not important; all subnodes should be enumerated
60and processed purely based on their content.
61
62Each subnode only affects those parameters that are explicitly listed. In
63other words, a subnode that lists a mux function but no pin configuration
64parameters implies no information about any pin configuration parameters.
65Similarly, a pin subnode that describes a pullup parameter implies no
66information about e.g. the mux function.
67
68
69The following generic properties as defined in pinctrl-bindings.txt are valid
70to specify in a pin configuration subnode:
71
72- pins:
73 Usage: required
74 Value type: <string-array>
75 Definition: List of gpio pins affected by the properties specified in
76 this subnode. Valid pins are:
77 gpio0-gpio121,
78 sdc1_clk,
79 sdc1_cmd,
80 sdc1_data
81 sdc2_clk,
82 sdc2_cmd,
83 sdc2_data,
84 qdsd_cmd,
85 qdsd_data0,
86 qdsd_data1,
87 qdsd_data2,
88 qdsd_data3
89
90- function:
91 Usage: required
92 Value type: <string>
93 Definition: Specify the alternative function to be configured for the
94 specified pins. Functions are only valid for gpio pins.
95 Valid values are:
96 adsp_ext, alsp_int, atest_bbrx0, atest_bbrx1, atest_char, atest_char0,
97 atest_char1, atest_char2, atest_char3, atest_combodac, atest_gpsadc0,
98 atest_gpsadc1, atest_tsens, atest_wlan0, atest_wlan1, backlight_en,
99 bimc_dte0,bimc_dte1, blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c4,
100 blsp_i2c5, blsp_i2c6, blsp_spi1, blsp_spi1_cs1, blsp_spi1_cs2,
101 blsp_spi1_cs3, blsp_spi2, blsp_spi2_cs1, blsp_spi2_cs2, blsp_spi2_cs3,
102 blsp_spi3, blsp_spi3_cs1, blsp_spi3_cs2, blsp_spi3_cs3, blsp_spi4,
103 blsp_spi5, blsp_spi6, blsp_uart1, blsp_uart2, blsp_uim1, blsp_uim2,
104 cam1_rst, cam1_standby, cam_mclk0, cam_mclk1, cci_async, cci_i2c,
105 cci_timer0, cci_timer1, cci_timer2, cdc_pdm0, codec_mad, dbg_out,
106 display_5v, dmic0_clk, dmic0_data, dsi_rst, ebi0_wrcdc, euro_us,
107 ext_lpass, flash_strobe, gcc_gp1_clk_a, gcc_gp1_clk_b, gcc_gp2_clk_a,
108 gcc_gp2_clk_b, gcc_gp3_clk_a, gcc_gp3_clk_b, gpio, gsm0_tx0, gsm0_tx1,
109 gsm1_tx0, gsm1_tx1, gyro_accl, kpsns0, kpsns1, kpsns2, ldo_en,
110 ldo_update, mag_int, mdp_vsync, modem_tsync, m_voc, nav_pps, nav_tsync,
111 pa_indicator, pbs0, pbs1, pbs2, pri_mi2s, pri_mi2s_ws, prng_rosc,
112 pwr_crypto_enabled_a, pwr_crypto_enabled_b, pwr_modem_enabled_a,
113 pwr_modem_enabled_b, pwr_nav_enabled_a, pwr_nav_enabled_b,
114 qdss_ctitrig_in_a0, qdss_ctitrig_in_a1, qdss_ctitrig_in_b0,
115 qdss_ctitrig_in_b1, qdss_ctitrig_out_a0, qdss_ctitrig_out_a1,
116 qdss_ctitrig_out_b0, qdss_ctitrig_out_b1, qdss_traceclk_a,
117 qdss_traceclk_b, qdss_tracectl_a, qdss_tracectl_b, qdss_tracedata_a,
118 qdss_tracedata_b, reset_n, sd_card, sd_write, sec_mi2s, smb_int,
119 ssbi_wtr0, ssbi_wtr1, uim1, uim2, uim3, uim_batt, wcss_bt, wcss_fm,
120 wcss_wlan, webcam1_rst
121
122- bias-disable:
123 Usage: optional
124 Value type: <none>
125 Definition: The specified pins should be configued as no pull.
126
127- bias-pull-down:
128 Usage: optional
129 Value type: <none>
130 Definition: The specified pins should be configued as pull down.
131
132- bias-pull-up:
133 Usage: optional
134 Value type: <none>
135 Definition: The specified pins should be configued as pull up.
136
137- output-high:
138 Usage: optional
139 Value type: <none>
140 Definition: The specified pins are configured in output mode, driven
141 high.
142 Not valid for sdc pins.
143
144- output-low:
145 Usage: optional
146 Value type: <none>
147 Definition: The specified pins are configured in output mode, driven
148 low.
149 Not valid for sdc pins.
150
151- drive-strength:
152 Usage: optional
153 Value type: <u32>
154 Definition: Selects the drive strength for the specified pins, in mA.
155 Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
156
157Example:
158
159 tlmm: pinctrl@1000000 {
160 compatible = "qcom,msm8916-pinctrl";
161 reg = <0x1000000 0x300000>;
162 interrupts = <0 208 0>;
163 gpio-controller;
164 #gpio-cells = <2>;
165 interrupt-controller;
166 #interrupt-cells = <2>;
167
168 uart2: uart2-default {
169 mux {
170 pins = "gpio4", "gpio5";
171 function = "blsp_uart2";
172 };
173
174 tx {
175 pins = "gpio4";
176 drive-strength = <4>;
177 bias-disable;
178 };
179
180 rx {
181 pins = "gpio5";
182 drive-strength = <2>;
183 bias-pull-up;
184 };
185 };
186 };
diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt
index daef6fad6a5f..bfe72ec055e3 100644
--- a/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt
@@ -1,7 +1,7 @@
1* Renesas Pin Function Controller (GPIO and Pin Mux/Config) 1* Renesas Pin Function Controller (GPIO and Pin Mux/Config)
2 2
3The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH7372, 3The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH73A0,
4SH73A0, R8A73A4 and R8A7740 it also acts as a GPIO controller. 4R8A73A4 and R8A7740 it also acts as a GPIO controller.
5 5
6 6
7Pin Control 7Pin Control
@@ -10,13 +10,13 @@ Pin Control
10Required Properties: 10Required Properties:
11 11
12 - compatible: should be one of the following. 12 - compatible: should be one of the following.
13 - "renesas,pfc-emev2": for EMEV2 (EMMA Mobile EV2) compatible pin-controller.
13 - "renesas,pfc-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible pin-controller. 14 - "renesas,pfc-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible pin-controller.
14 - "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller. 15 - "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller.
15 - "renesas,pfc-r8a7778": for R8A7778 (R-Mobile M1) compatible pin-controller. 16 - "renesas,pfc-r8a7778": for R8A7778 (R-Mobile M1) compatible pin-controller.
16 - "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller. 17 - "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller.
17 - "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller. 18 - "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller.
18 - "renesas,pfc-r8a7791": for R8A7791 (R-Car M2) compatible pin-controller. 19 - "renesas,pfc-r8a7791": for R8A7791 (R-Car M2) compatible pin-controller.
19 - "renesas,pfc-sh7372": for SH7372 (SH-Mobile AP4) compatible pin-controller.
20 - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller. 20 - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller.
21 21
22 - reg: Base address and length of each memory resource used by the pin 22 - reg: Base address and length of each memory resource used by the pin
@@ -75,8 +75,7 @@ bias-disable, bias-pull-up and bias-pull-down.
75GPIO 75GPIO
76---- 76----
77 77
78On SH7372, SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller 78On SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller node.
79node.
80 79
81Required Properties: 80Required Properties:
82 81
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index 8425838a6dff..9d2a995293e6 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -171,6 +171,18 @@ Aliases:
171All the pin controller nodes should be represented in the aliases node using 171All the pin controller nodes should be represented in the aliases node using
172the following format 'pinctrl{n}' where n is a unique number for the alias. 172the following format 'pinctrl{n}' where n is a unique number for the alias.
173 173
174Aliases for controllers compatible with "samsung,exynos7-pinctrl":
175- pinctrl0: pin controller of ALIVE block,
176- pinctrl1: pin controller of BUS0 block,
177- pinctrl2: pin controller of NFC block,
178- pinctrl3: pin controller of TOUCH block,
179- pinctrl4: pin controller of FF block,
180- pinctrl5: pin controller of ESE block,
181- pinctrl6: pin controller of FSYS0 block,
182- pinctrl7: pin controller of FSYS1 block,
183- pinctrl8: pin controller of BUS1 block,
184- pinctrl9: pin controller of AUDIO block,
185
174Example: A pin-controller node with pin banks: 186Example: A pin-controller node with pin banks:
175 187
176 pinctrl_0: pinctrl@11400000 { 188 pinctrl_0: pinctrl@11400000 {
diff --git a/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt b/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
index 6b33b9f18e88..f63fcb3ed352 100644
--- a/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
+++ b/Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt
@@ -16,17 +16,22 @@ mux function to select on those pin(s)/group(s), and various pin configuration
16parameters, such as input, output, pull up, pull down... 16parameters, such as input, output, pull up, pull down...
17 17
18The name of each subnode is not important; all subnodes should be enumerated 18The name of each subnode is not important; all subnodes should be enumerated
19and processed purely based on their content. 19and processed purely based on their content. The subnodes use the generic
20pin multiplexing node layout from the standard pin control bindings
21(see pinctrl-bindings.txt):
20 22
21Required subnode-properties: 23Required pin multiplexing subnode properties:
22- ste,pins : An array of strings. Each string contains the name of a pin or 24- function: A string containing the name of the function to mux to the
23 group.
24
25Optional subnode-properties:
26- ste,function: A string containing the name of the function to mux to the
27 pin or group. 25 pin or group.
26- groups : An array of strings. Each string contains the name of a pin
27 group that will be combined with the function to form a multiplexing
28 set-up.
28 29
29- ste,config: Handle of pin configuration node (e.g. ste,config = <&slpm_in_wkup_pdis>) 30Required pin configuration subnode properties:
31- pins: A string array describing the pins affected by the configuration
32 in the node.
33- ste,config: Handle of pin configuration node
34 (e.g. ste,config = <&slpm_in_wkup_pdis>)
30 35
31- ste,input : <0/1/2> 36- ste,input : <0/1/2>
32 0: input with no pull 37 0: input with no pull
@@ -97,32 +102,32 @@ Example board file extract:
97 uart0 { 102 uart0 {
98 uart0_default_mux: uart0_mux { 103 uart0_default_mux: uart0_mux {
99 u0_default_mux { 104 u0_default_mux {
100 ste,function = "u0"; 105 function = "u0";
101 ste,pins = "u0_a_1"; 106 pins = "u0_a_1";
102 }; 107 };
103 }; 108 };
104 uart0_default_mode: uart0_default { 109 uart0_default_mode: uart0_default {
105 uart0_default_cfg1 { 110 uart0_default_cfg1 {
106 ste,pins = "GPIO0", "GPIO2"; 111 pins = "GPIO0", "GPIO2";
107 ste,input = <1>; 112 ste,input = <1>;
108 }; 113 };
109 114
110 uart0_default_cfg2 { 115 uart0_default_cfg2 {
111 ste,pins = "GPIO1", "GPIO3"; 116 pins = "GPIO1", "GPIO3";
112 ste,output = <1>; 117 ste,output = <1>;
113 }; 118 };
114 }; 119 };
115 uart0_sleep_mode: uart0_sleep { 120 uart0_sleep_mode: uart0_sleep {
116 uart0_sleep_cfg1 { 121 uart0_sleep_cfg1 {
117 ste,pins = "GPIO0", "GPIO2"; 122 pins = "GPIO0", "GPIO2";
118 ste,config = <&slpm_in_wkup_pdis>; 123 ste,config = <&slpm_in_wkup_pdis>;
119 }; 124 };
120 uart0_sleep_cfg2 { 125 uart0_sleep_cfg2 {
121 ste,pins = "GPIO1"; 126 pins = "GPIO1";
122 ste,config = <&slpm_out_hi_wkup_pdis>; 127 ste,config = <&slpm_out_hi_wkup_pdis>;
123 }; 128 };
124 uart0_sleep_cfg3 { 129 uart0_sleep_cfg3 {
125 ste,pins = "GPIO3"; 130 pins = "GPIO3";
126 ste,config = <&slpm_out_wkup_pdis>; 131 ste,config = <&slpm_out_wkup_pdis>;
127 }; 132 };
128 }; 133 };
diff --git a/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt
new file mode 100644
index 000000000000..b7b55a964f65
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt
@@ -0,0 +1,104 @@
1 Binding for Xilinx Zynq Pinctrl
2
3Required properties:
4- compatible: "xlnx,zynq-pinctrl"
5- syscon: phandle to SLCR
6- reg: Offset and length of pinctrl space in SLCR
7
8Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node".
11
12Zynq's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those pin(s)/group(s), and various pin configuration
16parameters, such as pull-up, slew rate, etc.
17
18Each configuration node can consist of multiple nodes describing the pinmux and
19pinconf options. Those nodes can be pinmux nodes or pinconf nodes.
20
21The name of each subnode is not important; all subnodes should be enumerated
22and processed purely based on their content.
23
24Required properties for pinmux nodes are:
25 - groups: A list of pinmux groups.
26 - function: The name of a pinmux function to activate for the specified set
27 of groups.
28
29Required properties for configuration nodes:
30One of:
31 - pins: a list of pin names
32 - groups: A list of pinmux groups.
33
34The following generic properties as defined in pinctrl-bindings.txt are valid
35to specify in a pinmux subnode:
36 groups, function
37
38The following generic properties as defined in pinctrl-bindings.txt are valid
39to specify in a pinconf subnode:
40 groups, pins, bias-disable, bias-high-impedance, bias-pull-up, slew-rate,
41 low-power-disable, low-power-enable
42
43 Valid arguments for 'slew-rate' are '0' and '1' to select between slow and fast
44 respectively.
45
46 Valid values for groups are:
47 ethernet0_0_grp, ethernet1_0_grp, mdio0_0_grp, mdio1_0_grp,
48 qspi0_0_grp, qspi1_0_grp, qspi_fbclk, qspi_cs1_grp, spi0_0_grp,
49 spi0_1_grp - spi0_2_grp, spi1_0_grp - spi1_3_grp, sdio0_0_grp - sdio0_2_grp,
50 sdio1_0_grp - sdio1_3_grp, sdio0_emio_wp, sdio0_emio_cd, sdio1_emio_wp,
51 sdio1_emio_cd, smc0_nor, smc0_nor_cs1_grp, smc0_nor_addr25_grp, smc0_nand,
52 can0_0_grp - can0_10_grp, can1_0_grp - can1_11_grp, uart0_0_grp - uart0_10_grp,
53 uart1_0_grp - uart1_11_grp, i2c0_0_grp - i2c0_10_grp, i2c1_0_grp - i2c1_10_grp,
54 ttc0_0_grp - ttc0_2_grp, ttc1_0_grp - ttc1_2_grp, swdt0_0_grp - swdt0_4_grp,
55 gpio0_0_grp - gpio0_53_grp, usb0_0_grp, usb1_0_grp
56
57 Valid values for pins are:
58 MIO0 - MIO53
59
60 Valid values for function are:
61 ethernet0, ethernet1, mdio0, mdio1, qspi0, qspi1, qspi_fbclk, qspi_cs1,
62 spi0, spi1, sdio0, sdio0_pc, sdio0_cd, sdio0_wp,
63 sdio1, sdio1_pc, sdio1_cd, sdio1_wp,
64 smc0_nor, smc0_nor_cs1, smc0_nor_addr25, smc0_nand, can0, can1, uart0, uart1,
65 i2c0, i2c1, ttc0, ttc1, swdt0, gpio0, usb0, usb1
66
67The following driver-specific properties as defined here are valid to specify in
68a pin configuration subnode:
69 - io-standard: Configure the pin to use the selected IO standard according to
70 this mapping:
71 1: LVCMOS18
72 2: LVCMOS25
73 3: LVCMOS33
74 4: HSTL
75
76Example:
77 pinctrl0: pinctrl@700 {
78 compatible = "xlnx,pinctrl-zynq";
79 reg = <0x700 0x200>;
80 syscon = <&slcr>;
81
82 pinctrl_uart1_default: uart1-default {
83 mux {
84 groups = "uart1_10_grp";
85 function = "uart1";
86 };
87
88 conf {
89 groups = "uart1_10_grp";
90 slew-rate = <0>;
91 io-standard = <1>;
92 };
93
94 conf-rx {
95 pins = "MIO49";
96 bias-high-impedance;
97 };
98
99 conf-tx {
100 pins = "MIO48";
101 bias-disable;
102 };
103 };
104 };
diff --git a/Documentation/devicetree/bindings/power/ltc2941.txt b/Documentation/devicetree/bindings/power/ltc2941.txt
new file mode 100644
index 000000000000..ea42ae12d924
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/ltc2941.txt
@@ -0,0 +1,27 @@
1binding for LTC2941 and LTC2943 battery gauges
2
3Both the LTC2941 and LTC2943 measure battery capacity.
4The LTC2943 is compatible with the LTC2941, it adds voltage and
5temperature monitoring, and uses a slightly different conversion
6formula for the charge counter.
7
8Required properties:
9- compatible: Should contain "ltc2941" or "ltc2943" which also indicates the
10 type of I2C chip attached.
11- reg: The 7-bit I2C address.
12- lltc,resistor-sense: The sense resistor value in milli-ohms. Can be a 32-bit
13 negative value when the battery has been connected to the wrong end of the
14 resistor.
15- lltc,prescaler-exponent: The prescaler exponent as explained in the datasheet.
16 This determines the range and accuracy of the gauge. The value is programmed
17 into the chip only if it differs from the current setting. The setting is
18 lost when the battery is disconnected.
19
20Example from the Topic Miami Florida board:
21
22 fuelgauge: ltc2943@64 {
23 compatible = "ltc2943";
24 reg = <0x64>;
25 lltc,resistor-sense = <15>;
26 lltc,prescaler-exponent = <5>; /* 2^(2*5) = 1024 */
27 };
diff --git a/Documentation/devicetree/bindings/power/renesas,sysc-rmobile.txt b/Documentation/devicetree/bindings/power/renesas,sysc-rmobile.txt
new file mode 100644
index 000000000000..cc3b1f0a9b1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/renesas,sysc-rmobile.txt
@@ -0,0 +1,99 @@
1DT bindings for the Renesas R-Mobile System Controller
2
3== System Controller Node ==
4
5The R-Mobile System Controller provides the following functions:
6 - Boot mode management,
7 - Reset generation,
8 - Power management.
9
10Required properties:
11- compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as
12 fallback.
13 Examples with soctypes are:
14 - "renesas,sysc-r8a7740" (R-Mobile A1)
15 - "renesas,sysc-sh73a0" (SH-Mobile AG5)
16- reg: Two address start and address range blocks for the device:
17 - The first block refers to the normally accessible registers,
18 - the second block refers to the registers protected by the HPB
19 semaphore.
20
21Optional nodes:
22- pm-domains: This node contains a hierarchy of PM domain nodes, which should
23 match the Power Area Hierarchy in the Power Domain Specifications section of
24 the device's datasheet.
25
26
27== PM Domain Nodes ==
28
29Each of the PM domain nodes represents a PM domain, as documented by the
30generic PM domain bindings in
31Documentation/devicetree/bindings/power/power_domain.txt.
32
33The nodes should be named by the real power area names, and thus their names
34should be unique.
35
36Required properties:
37 - #power-domain-cells: Must be 0.
38
39Optional properties:
40- reg: If the PM domain is not always-on, this property must contain the bit
41 index number for the corresponding power area in the various Power
42 Control and Status Registers. The parent's node must contain the
43 following two properties:
44 - #address-cells: Must be 1,
45 - #size-cells: Must be 0.
46 If the PM domain is always-on, this property must be omitted.
47
48
49Example:
50
51This shows a subset of the r8a7740 PM domain hierarchy, containing the
52C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain,
53which is a subdomain of A4S.
54
55 sysc: system-controller@e6180000 {
56 compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
57 reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
58
59 pm-domains {
60 pd_c5: c5 {
61 #address-cells = <1>;
62 #size-cells = <0>;
63 #power-domain-cells = <0>;
64
65 pd_a4s: a4s@10 {
66 reg = <10>;
67 #address-cells = <1>;
68 #size-cells = <0>;
69 #power-domain-cells = <0>;
70
71 pd_a3sp: a3sp@11 {
72 reg = <11>;
73 #power-domain-cells = <0>;
74 };
75 };
76
77 pd_a4su: a4su@20 {
78 reg = <20>;
79 #power-domain-cells = <0>;
80 };
81 };
82 };
83 };
84
85
86== PM Domain Consumers ==
87
88Hardware blocks belonging to a PM domain should contain a "power-domains"
89property that is a phandle pointing to the corresponding PM domain node.
90
91Example:
92
93 tpu: pwm@e6600000 {
94 compatible = "renesas,tpu-r8a7740", "renesas,tpu";
95 reg = <0xe6600000 0x100>;
96 clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
97 power-domains = <&pd_a3sp>;
98 #pwm-cells = <3>;
99 };
diff --git a/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt b/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt
index 0c94c637f63b..cd2d7f58a9d7 100644
--- a/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt
+++ b/Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt
@@ -1,20 +1,23 @@
1Binding for the LTC2952 PowerPath controller 1Binding for the LTC2952 PowerPath controller
2 2
3This chip is used to externally trigger a system shut down. Once the trigger has 3This chip is used to externally trigger a system shut down. Once the trigger has
4been sent, the chips' watchdog has to be reset to gracefully shut down. 4been sent, the chip's watchdog has to be reset to gracefully shut down.
5If the Linux systems decides to shut down it powers off the platform via the 5A full powerdown can be triggered via the kill signal.
6kill signal.
7 6
8Required properties: 7Required properties:
9 8
10- compatible: Must contain: "lltc,ltc2952" 9- compatible: Must contain: "lltc,ltc2952"
11- trigger-gpios: phandle + gpio-specifier for the GPIO connected to the
12 chip's trigger line
13- watchdog-gpios: phandle + gpio-specifier for the GPIO connected to the 10- watchdog-gpios: phandle + gpio-specifier for the GPIO connected to the
14 chip's watchdog line 11 chip's watchdog line
15- kill-gpios: phandle + gpio-specifier for the GPIO connected to the 12- kill-gpios: phandle + gpio-specifier for the GPIO connected to the
16 chip's kill line 13 chip's kill line
17 14
15Optional properties:
16- trigger-gpios: phandle + gpio-specifier for the GPIO connected to the
17 chip's trigger line. If this property is not set, the
18 trigger function is ignored and the chip is kept alive
19 until an explicit kill signal is received
20
18Example: 21Example:
19 22
20ltc2952 { 23ltc2952 {
diff --git a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
index 6fbf6e7ecde6..8b70db103ca7 100644
--- a/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
+++ b/Documentation/devicetree/bindings/power/rockchip-io-domain.txt
@@ -37,7 +37,7 @@ Required properties:
37 37
38 38
39You specify supplies using the standard regulator bindings by including 39You specify supplies using the standard regulator bindings by including
40a phandle the the relevant regulator. All specified supplies must be able 40a phandle the relevant regulator. All specified supplies must be able
41to report their voltage. The IO Voltage Domain for any non-specified 41to report their voltage. The IO Voltage Domain for any non-specified
42supplies will be not be touched. 42supplies will be not be touched.
43 43
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/fman.txt b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
index edeea160ca39..edda55f74004 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/fman.txt
@@ -7,6 +7,7 @@ CONTENTS
7 - FMan MURAM Node 7 - FMan MURAM Node
8 - FMan dTSEC/XGEC/mEMAC Node 8 - FMan dTSEC/XGEC/mEMAC Node
9 - FMan IEEE 1588 Node 9 - FMan IEEE 1588 Node
10 - FMan MDIO Node
10 - Example 11 - Example
11 12
12============================================================================= 13=============================================================================
@@ -357,6 +358,69 @@ ptp-timer@fe000 {
357}; 358};
358 359
359============================================================================= 360=============================================================================
361FMan MDIO Node
362
363DESCRIPTION
364
365The MDIO is a bus to which the PHY devices are connected.
366
367PROPERTIES
368
369- compatible
370 Usage: required
371 Value type: <stringlist>
372 Definition: A standard property.
373 Must include "fsl,fman-mdio" for 1 Gb/s MDIO from FMan v2.
374 Must include "fsl,fman-xmdio" for 10 Gb/s MDIO from FMan v2.
375 Must include "fsl,fman-memac-mdio" for 1/10 Gb/s MDIO from
376 FMan v3.
377
378- reg
379 Usage: required
380 Value type: <prop-encoded-array>
381 Definition: A standard property.
382
383- bus-frequency
384 Usage: optional
385 Value type: <u32>
386 Definition: Specifies the external MDIO bus clock speed to
387 be used, if different from the standard 2.5 MHz.
388 This may be due to the standard speed being unsupported (e.g.
389 due to a hardware problem), or to advertise that all relevant
390 components in the system support a faster speed.
391
392- interrupts
393 Usage: required for external MDIO
394 Value type: <prop-encoded-array>
395 Definition: Event interrupt of external MDIO controller.
396
397- fsl,fman-internal-mdio
398 Usage: required for internal MDIO
399 Value type: boolean
400 Definition: Fman has internal MDIO for internal PCS(Physical
401 Coding Sublayer) PHYs and external MDIO for external PHYs.
402 The settings and programming routines for internal/external
403 MDIO are different. Must be included for internal MDIO.
404
405EXAMPLE
406
407Example for FMan v2 external MDIO:
408
409mdio@f1000 {
410 compatible = "fsl,fman-xmdio";
411 reg = <0xf1000 0x1000>;
412 interrupts = <101 2 0 0>;
413};
414
415Example for FMan v3 internal MDIO:
416
417mdio@f1000 {
418 compatible = "fsl,fman-memac-mdio";
419 reg = <0xf1000 0x1000>;
420 fsl,fman-internal-mdio;
421};
422
423=============================================================================
360Example 424Example
361 425
362fman@400000 { 426fman@400000 {
@@ -531,4 +595,10 @@ fman@400000 {
531 compatible = "fsl,fman-ptp-timer"; 595 compatible = "fsl,fman-ptp-timer";
532 reg = <0xfe000 0x1000>; 596 reg = <0xfe000 0x1000>;
533 }; 597 };
598
599 mdio@f1000 {
600 compatible = "fsl,fman-xmdio";
601 reg = <0xf1000 0x1000>;
602 interrupts = <101 2 0 0>;
603 };
534}; 604};
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt b/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
index 3300fec501c5..1c80fcedebb5 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
@@ -16,20 +16,28 @@ Example:
16 "fsl,pq2-localbus"; 16 "fsl,pq2-localbus";
17 #address-cells = <2>; 17 #address-cells = <2>;
18 #size-cells = <1>; 18 #size-cells = <1>;
19 reg = <f0010100 40>; 19 reg = <0xf0010100 0x40>;
20 20
21 ranges = <0 0 fe000000 02000000 21 ranges = <0x0 0x0 0xfe000000 0x02000000
22 1 0 f4500000 00008000>; 22 0x1 0x0 0xf4500000 0x00008000
23 0x2 0x0 0xfd810000 0x00010000>;
23 24
24 flash@0,0 { 25 flash@0,0 {
25 compatible = "jedec-flash"; 26 compatible = "jedec-flash";
26 reg = <0 0 2000000>; 27 reg = <0x0 0x0 0x2000000>;
27 bank-width = <4>; 28 bank-width = <4>;
28 device-width = <1>; 29 device-width = <1>;
29 }; 30 };
30 31
31 board-control@1,0 { 32 board-control@1,0 {
32 reg = <1 0 20>; 33 reg = <0x1 0x0 0x20>;
33 compatible = "fsl,mpc8272ads-bcsr"; 34 compatible = "fsl,mpc8272ads-bcsr";
34 }; 35 };
36
37 simple-periph@2,0 {
38 compatible = "fsl,elbc-gpcm-uio";
39 reg = <0x2 0x0 0x10000>;
40 elbc-gpcm-br = <0xfd810800>;
41 elbc-gpcm-or = <0xffff09f7>;
42 };
35 }; 43 };
diff --git a/Documentation/devicetree/bindings/pwm/img-pwm.txt b/Documentation/devicetree/bindings/pwm/img-pwm.txt
new file mode 100644
index 000000000000..fade5f26fcac
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/img-pwm.txt
@@ -0,0 +1,24 @@
1*Imagination Technologies PWM DAC driver
2
3Required properties:
4 - compatible: Should be "img,pistachio-pwm"
5 - reg: Should contain physical base address and length of pwm registers.
6 - clocks: Must contain an entry for each entry in clock-names.
7 See ../clock/clock-bindings.txt for details.
8 - clock-names: Must include the following entries.
9 - pwm: PWM operating clock.
10 - sys: PWM system interface clock.
11 - #pwm-cells: Should be 2. See pwm.txt in this directory for the
12 description of the cells format.
13 - img,cr-periph: Must contain a phandle to the peripheral control
14 syscon node which contains PWM control registers.
15
16Example:
17 pwm: pwm@18101300 {
18 compatible = "img,pistachio-pwm";
19 reg = <0x18101300 0x100>;
20 clocks = <&pwm_clk>, <&system_clk>;
21 clock-names = "pwm", "sys";
22 #pwm-cells = <2>;
23 img,cr-periph = <&cr_periph>;
24 };
diff --git a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
index c7ea9d4a988b..c52f03b5032f 100644
--- a/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
+++ b/Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt
@@ -1,9 +1,10 @@
1Tegra SoC PWFM controller 1Tegra SoC PWFM controller
2 2
3Required properties: 3Required properties:
4- compatible: should be one of: 4- compatible: For Tegra20, must contain "nvidia,tegra20-pwm". For Tegra30,
5 - "nvidia,tegra20-pwm" 5 must contain "nvidia,tegra30-pwm". Otherwise, must contain
6 - "nvidia,tegra30-pwm" 6 "nvidia,<chip>-pwm", plus one of the above, where <chip> is tegra114,
7 tegra124, tegra132, or tegra210.
7- reg: physical base address and length of the controller's registers 8- reg: physical base address and length of the controller's registers
8- #pwm-cells: should be 2. See pwm.txt in this directory for a description of 9- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
9 the cells format. 10 the cells format.
diff --git a/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt b/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt
new file mode 100644
index 000000000000..ae0273e19506
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/pwm-sun4i.txt
@@ -0,0 +1,20 @@
1Allwinner sun4i and sun7i SoC PWM controller
2
3Required properties:
4 - compatible: should be one of:
5 - "allwinner,sun4i-a10-pwm"
6 - "allwinner,sun7i-a20-pwm"
7 - reg: physical base address and length of the controller's registers
8 - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
9 the cells format.
10 - clocks: From common clock binding, handle to the parent clock.
11
12Example:
13
14 pwm: pwm@01c20e00 {
15 compatible = "allwinner,sun7i-a20-pwm";
16 reg = <0x01c20e00 0xc>;
17 clocks = <&osc24M>;
18 #pwm-cells = <3>;
19 status = "disabled";
20 };
diff --git a/Documentation/devicetree/bindings/regulator/da9211.txt b/Documentation/devicetree/bindings/regulator/da9211.txt
index 240019a82f9a..eb618907c7de 100644
--- a/Documentation/devicetree/bindings/regulator/da9211.txt
+++ b/Documentation/devicetree/bindings/regulator/da9211.txt
@@ -11,6 +11,7 @@ Required properties:
11 BUCKA and BUCKB. 11 BUCKA and BUCKB.
12 12
13Optional properties: 13Optional properties:
14- enable-gpios: platform gpio for control of BUCKA/BUCKB.
14- Any optional property defined in regulator.txt 15- Any optional property defined in regulator.txt
15 16
16Example 1) DA9211 17Example 1) DA9211
@@ -27,6 +28,7 @@ Example 1) DA9211
27 regulator-max-microvolt = <1570000>; 28 regulator-max-microvolt = <1570000>;
28 regulator-min-microamp = <2000000>; 29 regulator-min-microamp = <2000000>;
29 regulator-max-microamp = <5000000>; 30 regulator-max-microamp = <5000000>;
31 enable-gpios = <&gpio 27 0>;
30 }; 32 };
31 BUCKB { 33 BUCKB {
32 regulator-name = "VBUCKB"; 34 regulator-name = "VBUCKB";
@@ -34,11 +36,12 @@ Example 1) DA9211
34 regulator-max-microvolt = <1570000>; 36 regulator-max-microvolt = <1570000>;
35 regulator-min-microamp = <2000000>; 37 regulator-min-microamp = <2000000>;
36 regulator-max-microamp = <5000000>; 38 regulator-max-microamp = <5000000>;
39 enable-gpios = <&gpio 17 0>;
37 }; 40 };
38 }; 41 };
39 }; 42 };
40 43
41Example 2) DA92113 44Example 2) DA9213
42 pmic: da9213@68 { 45 pmic: da9213@68 {
43 compatible = "dlg,da9213"; 46 compatible = "dlg,da9213";
44 reg = <0x68>; 47 reg = <0x68>;
@@ -51,6 +54,7 @@ Example 2) DA92113
51 regulator-max-microvolt = <1570000>; 54 regulator-max-microvolt = <1570000>;
52 regulator-min-microamp = <3000000>; 55 regulator-min-microamp = <3000000>;
53 regulator-max-microamp = <6000000>; 56 regulator-max-microamp = <6000000>;
57 enable-gpios = <&gpio 27 0>;
54 }; 58 };
55 BUCKB { 59 BUCKB {
56 regulator-name = "VBUCKB"; 60 regulator-name = "VBUCKB";
@@ -58,6 +62,7 @@ Example 2) DA92113
58 regulator-max-microvolt = <1570000>; 62 regulator-max-microvolt = <1570000>;
59 regulator-min-microamp = <3000000>; 63 regulator-min-microamp = <3000000>;
60 regulator-max-microamp = <6000000>; 64 regulator-max-microamp = <6000000>;
65 enable-gpios = <&gpio 17 0>;
61 }; 66 };
62 }; 67 };
63 }; 68 };
diff --git a/Documentation/devicetree/bindings/regulator/isl9305.txt b/Documentation/devicetree/bindings/regulator/isl9305.txt
index a626fc1bbf0d..d6e7c9ec9413 100644
--- a/Documentation/devicetree/bindings/regulator/isl9305.txt
+++ b/Documentation/devicetree/bindings/regulator/isl9305.txt
@@ -2,7 +2,7 @@ Intersil ISL9305/ISL9305H voltage regulator
2 2
3Required properties: 3Required properties:
4 4
5- compatible: "isl,isl9305" or "isl,isl9305h" 5- compatible: "isil,isl9305" or "isil,isl9305h"
6- reg: I2C slave address, usually 0x68. 6- reg: I2C slave address, usually 0x68.
7- regulators: A node that houses a sub-node for each regulator within the 7- regulators: A node that houses a sub-node for each regulator within the
8 device. Each sub-node is identified using the node's name, with valid 8 device. Each sub-node is identified using the node's name, with valid
@@ -19,7 +19,7 @@ Optional properties:
19Example 19Example
20 20
21 pmic: isl9305@68 { 21 pmic: isl9305@68 {
22 compatible = "isl,isl9305"; 22 compatible = "isil,isl9305";
23 reg = <0x68>; 23 reg = <0x68>;
24 24
25 VINDCD1-supply = <&system_power>; 25 VINDCD1-supply = <&system_power>;
diff --git a/Documentation/devicetree/bindings/regulator/mt6397-regulator.txt b/Documentation/devicetree/bindings/regulator/mt6397-regulator.txt
new file mode 100644
index 000000000000..a42b1d6e9863
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/mt6397-regulator.txt
@@ -0,0 +1,217 @@
1Mediatek MT6397 Regulator Driver
2
3Required properties:
4- compatible: "mediatek,mt6397-regulator"
5- mt6397regulator: List of regulators provided by this controller. It is named
6 according to its regulator type, buck_<name> and ldo_<name>.
7 The definition for each of these nodes is defined using the standard binding
8 for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.
9
10The valid names for regulators are::
11BUCK:
12 buck_vpca15, buck_vpca7, buck_vsramca15, buck_vsramca7, buck_vcore, buck_vgpu,
13 buck_vdrm, buck_vio18
14LDO:
15 ldo_vtcxo, ldo_va28, ldo_vcama, ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch,
16 ldo_vemc3v3, ldo_vgp1, ldo_vgp2, ldo_vgp3, ldo_vgp4, ldo_vgp5, ldo_vgp6,
17 ldo_vibr
18
19Example:
20 pmic {
21 compatible = "mediatek,mt6397";
22
23 mt6397regulator: mt6397regulator {
24 compatible = "mediatek,mt6397-regulator";
25
26 mt6397_vpca15_reg: buck_vpca15 {
27 regulator-compatible = "buck_vpca15";
28 regulator-name = "vpca15";
29 regulator-min-microvolt = < 850000>;
30 regulator-max-microvolt = <1350000>;
31 regulator-ramp-delay = <12500>;
32 regulator-enable-ramp-delay = <200>;
33 };
34
35 mt6397_vpca7_reg: buck_vpca7 {
36 regulator-compatible = "buck_vpca7";
37 regulator-name = "vpca7";
38 regulator-min-microvolt = < 850000>;
39 regulator-max-microvolt = <1350000>;
40 regulator-ramp-delay = <12500>;
41 regulator-enable-ramp-delay = <115>;
42 };
43
44 mt6397_vsramca15_reg: buck_vsramca15 {
45 regulator-compatible = "buck_vsramca15";
46 regulator-name = "vsramca15";
47 regulator-min-microvolt = < 850000>;
48 regulator-max-microvolt = <1350000>;
49 regulator-ramp-delay = <12500>;
50 regulator-enable-ramp-delay = <115>;
51
52 };
53
54 mt6397_vsramca7_reg: buck_vsramca7 {
55 regulator-compatible = "buck_vsramca7";
56 regulator-name = "vsramca7";
57 regulator-min-microvolt = < 850000>;
58 regulator-max-microvolt = <1350000>;
59 regulator-ramp-delay = <12500>;
60 regulator-enable-ramp-delay = <115>;
61
62 };
63
64 mt6397_vcore_reg: buck_vcore {
65 regulator-compatible = "buck_vcore";
66 regulator-name = "vcore";
67 regulator-min-microvolt = < 850000>;
68 regulator-max-microvolt = <1350000>;
69 regulator-ramp-delay = <12500>;
70 regulator-enable-ramp-delay = <115>;
71 };
72
73 mt6397_vgpu_reg: buck_vgpu {
74 regulator-compatible = "buck_vgpu";
75 regulator-name = "vgpu";
76 regulator-min-microvolt = < 700000>;
77 regulator-max-microvolt = <1350000>;
78 regulator-ramp-delay = <12500>;
79 regulator-enable-ramp-delay = <115>;
80 };
81
82 mt6397_vdrm_reg: buck_vdrm {
83 regulator-compatible = "buck_vdrm";
84 regulator-name = "vdrm";
85 regulator-min-microvolt = < 800000>;
86 regulator-max-microvolt = <1400000>;
87 regulator-ramp-delay = <12500>;
88 regulator-enable-ramp-delay = <500>;
89 };
90
91 mt6397_vio18_reg: buck_vio18 {
92 regulator-compatible = "buck_vio18";
93 regulator-name = "vio18";
94 regulator-min-microvolt = <1500000>;
95 regulator-max-microvolt = <2120000>;
96 regulator-ramp-delay = <12500>;
97 regulator-enable-ramp-delay = <500>;
98 };
99
100 mt6397_vtcxo_reg: ldo_vtcxo {
101 regulator-compatible = "ldo_vtcxo";
102 regulator-name = "vtcxo";
103 regulator-min-microvolt = <2800000>;
104 regulator-max-microvolt = <2800000>;
105 regulator-enable-ramp-delay = <90>;
106 };
107
108 mt6397_va28_reg: ldo_va28 {
109 regulator-compatible = "ldo_va28";
110 regulator-name = "va28";
111 /* fixed output 2.8 V */
112 regulator-enable-ramp-delay = <218>;
113 };
114
115 mt6397_vcama_reg: ldo_vcama {
116 regulator-compatible = "ldo_vcama";
117 regulator-name = "vcama";
118 regulator-min-microvolt = <1500000>;
119 regulator-max-microvolt = <2800000>;
120 regulator-enable-ramp-delay = <218>;
121 };
122
123 mt6397_vio28_reg: ldo_vio28 {
124 regulator-compatible = "ldo_vio28";
125 regulator-name = "vio28";
126 /* fixed output 2.8 V */
127 regulator-enable-ramp-delay = <240>;
128 };
129
130 mt6397_usb_reg: ldo_vusb {
131 regulator-compatible = "ldo_vusb";
132 regulator-name = "vusb";
133 /* fixed output 3.3 V */
134 regulator-enable-ramp-delay = <218>;
135 };
136
137 mt6397_vmc_reg: ldo_vmc {
138 regulator-compatible = "ldo_vmc";
139 regulator-name = "vmc";
140 regulator-min-microvolt = <1800000>;
141 regulator-max-microvolt = <3300000>;
142 regulator-enable-ramp-delay = <218>;
143 };
144
145 mt6397_vmch_reg: ldo_vmch {
146 regulator-compatible = "ldo_vmch";
147 regulator-name = "vmch";
148 regulator-min-microvolt = <3000000>;
149 regulator-max-microvolt = <3300000>;
150 regulator-enable-ramp-delay = <218>;
151 };
152
153 mt6397_vemc_3v3_reg: ldo_vemc3v3 {
154 regulator-compatible = "ldo_vemc3v3";
155 regulator-name = "vemc_3v3";
156 regulator-min-microvolt = <3000000>;
157 regulator-max-microvolt = <3300000>;
158 regulator-enable-ramp-delay = <218>;
159 };
160
161 mt6397_vgp1_reg: ldo_vgp1 {
162 regulator-compatible = "ldo_vgp1";
163 regulator-name = "vcamd";
164 regulator-min-microvolt = <1220000>;
165 regulator-max-microvolt = <3300000>;
166 regulator-enable-ramp-delay = <240>;
167 };
168
169 mt6397_vgp2_reg: ldo_vgp2 {
170 egulator-compatible = "ldo_vgp2";
171 regulator-name = "vcamio";
172 regulator-min-microvolt = <1000000>;
173 regulator-max-microvolt = <3300000>;
174 regulator-enable-ramp-delay = <218>;
175 };
176
177 mt6397_vgp3_reg: ldo_vgp3 {
178 regulator-compatible = "ldo_vgp3";
179 regulator-name = "vcamaf";
180 regulator-min-microvolt = <1200000>;
181 regulator-max-microvolt = <3300000>;
182 regulator-enable-ramp-delay = <218>;
183 };
184
185 mt6397_vgp4_reg: ldo_vgp4 {
186 regulator-compatible = "ldo_vgp4";
187 regulator-name = "vgp4";
188 regulator-min-microvolt = <1200000>;
189 regulator-max-microvolt = <3300000>;
190 regulator-enable-ramp-delay = <218>;
191 };
192
193 mt6397_vgp5_reg: ldo_vgp5 {
194 regulator-compatible = "ldo_vgp5";
195 regulator-name = "vgp5";
196 regulator-min-microvolt = <1200000>;
197 regulator-max-microvolt = <3000000>;
198 regulator-enable-ramp-delay = <218>;
199 };
200
201 mt6397_vgp6_reg: ldo_vgp6 {
202 regulator-compatible = "ldo_vgp6";
203 regulator-name = "vgp6";
204 regulator-min-microvolt = <1200000>;
205 regulator-max-microvolt = <3300000>;
206 regulator-enable-ramp-delay = <218>;
207 };
208
209 mt6397_vibr_reg: ldo_vibr {
210 regulator-compatible = "ldo_vibr";
211 regulator-name = "vibr";
212 regulator-min-microvolt = <1200000>;
213 regulator-max-microvolt = <3300000>;
214 regulator-enable-ramp-delay = <218>;
215 };
216 };
217 };
diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt
index 34ef5d16d0f1..9b40db88f637 100644
--- a/Documentation/devicetree/bindings/regulator/pfuze100.txt
+++ b/Documentation/devicetree/bindings/regulator/pfuze100.txt
@@ -1,7 +1,7 @@
1PFUZE100 family of regulators 1PFUZE100 family of regulators
2 2
3Required properties: 3Required properties:
4- compatible: "fsl,pfuze100" or "fsl,pfuze200" 4- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000"
5- reg: I2C slave address 5- reg: I2C slave address
6 6
7Required child node: 7Required child node:
@@ -14,6 +14,8 @@ Required child node:
14 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 14 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
15 --PFUZE200 15 --PFUZE200
16 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6 16 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6
17 --PFUZE3000
18 sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4
17 19
18Each regulator is defined using the standard binding for regulators. 20Each regulator is defined using the standard binding for regulators.
19 21
@@ -205,3 +207,93 @@ Example 2: PFUZE200
205 }; 207 };
206 }; 208 };
207 }; 209 };
210
211Example 3: PFUZE3000
212
213 pmic: pfuze3000@08 {
214 compatible = "fsl,pfuze3000";
215 reg = <0x08>;
216
217 regulators {
218 sw1a_reg: sw1a {
219 regulator-min-microvolt = <700000>;
220 regulator-max-microvolt = <1475000>;
221 regulator-boot-on;
222 regulator-always-on;
223 regulator-ramp-delay = <6250>;
224 };
225 /* use sw1c_reg to align with pfuze100/pfuze200 */
226 sw1c_reg: sw1b {
227 regulator-min-microvolt = <700000>;
228 regulator-max-microvolt = <1475000>;
229 regulator-boot-on;
230 regulator-always-on;
231 regulator-ramp-delay = <6250>;
232 };
233
234 sw2_reg: sw2 {
235 regulator-min-microvolt = <2500000>;
236 regulator-max-microvolt = <3300000>;
237 regulator-boot-on;
238 regulator-always-on;
239 };
240
241 sw3a_reg: sw3 {
242 regulator-min-microvolt = <900000>;
243 regulator-max-microvolt = <1650000>;
244 regulator-boot-on;
245 regulator-always-on;
246 };
247
248 swbst_reg: swbst {
249 regulator-min-microvolt = <5000000>;
250 regulator-max-microvolt = <5150000>;
251 };
252
253 snvs_reg: vsnvs {
254 regulator-min-microvolt = <1000000>;
255 regulator-max-microvolt = <3000000>;
256 regulator-boot-on;
257 regulator-always-on;
258 };
259
260 vref_reg: vrefddr {
261 regulator-boot-on;
262 regulator-always-on;
263 };
264
265 vgen1_reg: vldo1 {
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <3300000>;
268 regulator-always-on;
269 };
270
271 vgen2_reg: vldo2 {
272 regulator-min-microvolt = <800000>;
273 regulator-max-microvolt = <1550000>;
274 };
275
276 vgen3_reg: vccsd {
277 regulator-min-microvolt = <2850000>;
278 regulator-max-microvolt = <3300000>;
279 regulator-always-on;
280 };
281
282 vgen4_reg: v33 {
283 regulator-min-microvolt = <2850000>;
284 regulator-max-microvolt = <3300000>;
285 };
286
287 vgen5_reg: vldo3 {
288 regulator-min-microvolt = <1800000>;
289 regulator-max-microvolt = <3300000>;
290 regulator-always-on;
291 };
292
293 vgen6_reg: vldo4 {
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <3300000>;
296 regulator-always-on;
297 };
298 };
299 };
diff --git a/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt b/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt
new file mode 100644
index 000000000000..2eb9d4ee7dc0
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/armada-380-rtc.txt
@@ -0,0 +1,22 @@
1* Real Time Clock of the Armada 38x SoCs
2
3RTC controller for the Armada 38x SoCs
4
5Required properties:
6- compatible : Should be "marvell,armada-380-rtc"
7- reg: a list of base address and size pairs, one for each entry in
8 reg-names
9- reg names: should contain:
10 * "rtc" for the RTC registers
11 * "rtc-soc" for the SoC related registers and among them the one
12 related to the interrupt.
13- interrupts: IRQ line for the RTC.
14
15Example:
16
17rtc@a3800 {
18 compatible = "marvell,armada-380-rtc";
19 reg = <0xa3800 0x20>, <0x184a0 0x0c>;
20 reg-names = "rtc", "rtc-soc";
21 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
22};
diff --git a/Documentation/devicetree/bindings/rtc/isil,isl12057.txt b/Documentation/devicetree/bindings/rtc/isil,isl12057.txt
new file mode 100644
index 000000000000..501c39ceae79
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/isil,isl12057.txt
@@ -0,0 +1,78 @@
1Intersil ISL12057 I2C RTC/Alarm chip
2
3ISL12057 is a trivial I2C device (it has simple device tree bindings,
4consisting of a compatible field, an address and possibly an interrupt
5line).
6
7Nonetheless, it also supports an option boolean property
8("isil,irq2-can-wakeup-machine") to handle the specific use-case found
9on at least three in-tree users of the chip (NETGEAR ReadyNAS 102, 104
10and 2120 ARM-based NAS); On those devices, the IRQ#2 pin of the chip
11(associated with the alarm supported by the driver) is not connected
12to the SoC but to a PMIC. It allows the device to be powered up when
13RTC alarm rings. In order to mark the device has a wakeup source and
14get access to the 'wakealarm' sysfs entry, this specific property can
15be set when the IRQ#2 pin of the chip is not connected to the SoC but
16can wake up the device.
17
18Required properties supported by the device:
19
20 - "compatible": must be "isil,isl12057"
21 - "reg": I2C bus address of the device
22
23Optional properties:
24
25 - "isil,irq2-can-wakeup-machine": mark the chip as a wakeup source,
26 independently of the availability of an IRQ line connected to the
27 SoC.
28
29 - "interrupt-parent", "interrupts": for passing the interrupt line
30 of the SoC connected to IRQ#2 of the RTC chip.
31
32
33Example isl12057 node without IRQ#2 pin connected (no alarm support):
34
35 isl12057: isl12057@68 {
36 compatible = "isil,isl12057";
37 reg = <0x68>;
38 };
39
40
41Example isl12057 node with IRQ#2 pin connected to main SoC via MPP6 (note
42that the pinctrl-related properties below are given for completeness and
43may not be required or may be different depending on your system or
44SoC, and the main function of the MPP used as IRQ line, i.e.
45"interrupt-parent" and "interrupts" are usually sufficient):
46
47 pinctrl {
48 ...
49
50 rtc_alarm_pin: rtc_alarm_pin {
51 marvell,pins = "mpp6";
52 marvell,function = "gpio";
53 };
54
55 ...
56
57 };
58
59 ...
60
61 isl12057: isl12057@68 {
62 compatible = "isil,isl12057";
63 reg = <0x68>;
64 pinctrl-0 = <&rtc_alarm_pin>;
65 pinctrl-names = "default";
66 interrupt-parent = <&gpio0>;
67 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
68 };
69
70
71Example isl12057 node without IRQ#2 pin connected to the SoC but to a
72PMIC, allowing the device to be started based on configured alarm:
73
74 isl12057: isl12057@68 {
75 compatible = "isil,isl12057";
76 reg = <0x68>;
77 isil,irq2-can-wakeup-machine;
78 };
diff --git a/Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt b/Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt
index 652d1ff2e8be..b7d98ed3e098 100644
--- a/Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt
+++ b/Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt
@@ -6,7 +6,9 @@ state.
6 6
7Required properties: 7Required properties:
8 8
9- compatible : should be "nvidia,tegra20-rtc". 9- compatible : For Tegra20, must contain "nvidia,tegra20-rtc". Otherwise,
10 must contain '"nvidia,<chip>-rtc", "nvidia,tegra20-rtc"', where <chip>
11 can be tegra30, tegra114, tegra124, or tegra132.
10- reg : Specifies base physical address and size of the registers. 12- reg : Specifies base physical address and size of the registers.
11- interrupts : A single interrupt specifier. 13- interrupts : A single interrupt specifier.
12- clocks : Must contain one entry, for the module clock. 14- clocks : Must contain one entry, for the module clock.
diff --git a/Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt b/Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt
new file mode 100644
index 000000000000..5cbc0b145a61
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt
@@ -0,0 +1,16 @@
1NXP PCF2123 SPI Real Time Clock
2
3Required properties:
4- compatible: should be: "nxp,rtc-pcf2123"
5- reg: should be the SPI slave chipselect address
6
7Optional properties:
8- spi-cs-high: PCF2123 needs chipselect high
9
10Example:
11
12rtc: nxp,rtc-pcf2123@3 {
13 compatible = "nxp,rtc-pcf2123"
14 reg = <3>
15 spi-cs-high;
16};
diff --git a/Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt b/Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt
new file mode 100644
index 000000000000..3ad115efed1e
--- /dev/null
+++ b/Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt
@@ -0,0 +1,36 @@
1* STMicroelectronics SAS. ST33ZP24 TPM SoC
2
3Required properties:
4- compatible: Should be "st,st33zp24-i2c".
5- clock-frequency: I²C work frequency.
6- reg: address on the bus
7
8Optional ST33ZP24 Properties:
9- interrupt-parent: phandle for the interrupt gpio controller
10- interrupts: GPIO interrupt to which the chip is connected
11- lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.
12If set, power must be present when the platform is going into sleep/hibernate mode.
13
14Optional SoC Specific Properties:
15- pinctrl-names: Contains only one value - "default".
16- pintctrl-0: Specifies the pin control groups used for this controller.
17
18Example (for ARM-based BeagleBoard xM with ST33ZP24 on I2C2):
19
20&i2c2 {
21
22 status = "okay";
23
24 st33zp24: st33zp24@13 {
25
26 compatible = "st,st33zp24-i2c";
27
28 reg = <0x13>;
29 clock-frequency = <400000>;
30
31 interrupt-parent = <&gpio5>;
32 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
33
34 lpcpd-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
35 };
36};
diff --git a/Documentation/devicetree/bindings/serial/digicolor-usart.txt b/Documentation/devicetree/bindings/serial/digicolor-usart.txt
new file mode 100644
index 000000000000..2d3ede66889d
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/digicolor-usart.txt
@@ -0,0 +1,27 @@
1Binding for Conexant Digicolor USART
2
3Note: this binding is only applicable for using the USART peripheral as
4UART. USART also support synchronous serial protocols like SPI and I2S. Use
5the binding that matches the wiring of your system.
6
7Required properties:
8- compatible : should be "cnxt,cx92755-usart".
9- reg: Should contain USART controller registers location and length.
10- interrupts: Should contain a single USART controller interrupt.
11- clocks: Must contain phandles to the USART clock
12 See ../clocks/clock-bindings.txt for details.
13
14Note: Each UART port should have an alias correctly numbered
15in "aliases" node.
16
17Example:
18 aliases {
19 serial0 = &uart0;
20 };
21
22 uart0: uart@f0000740 {
23 compatible = "cnxt,cx92755-usart";
24 reg = <0xf0000740 0x20>;
25 clocks = <&main_clk>;
26 interrupts = <44>;
27 };
diff --git a/Documentation/devicetree/bindings/serial/mtk-uart.txt b/Documentation/devicetree/bindings/serial/mtk-uart.txt
index 48358a33ea7d..44152261e5c5 100644
--- a/Documentation/devicetree/bindings/serial/mtk-uart.txt
+++ b/Documentation/devicetree/bindings/serial/mtk-uart.txt
@@ -2,9 +2,13 @@
2 2
3Required properties: 3Required properties:
4- compatible should contain: 4- compatible should contain:
5 * "mediatek,mt8135-uart" for MT8135 compatible UARTS
6 * "mediatek,mt8127-uart" for MT8127 compatible UARTS
7 * "mediatek,mt8173-uart" for MT8173 compatible UARTS
5 * "mediatek,mt6589-uart" for MT6589 compatible UARTS 8 * "mediatek,mt6589-uart" for MT6589 compatible UARTS
6 * "mediatek,mt6582-uart" for MT6582 compatible UARTS 9 * "mediatek,mt6582-uart" for MT6582 compatible UARTS
7 * "mediatek,mt6577-uart" for all compatible UARTS (MT6589, MT6582, MT6577) 10 * "mediatek,mt6577-uart" for all compatible UARTS (MT8173, MT6589, MT6582,
11 MT6577)
8 12
9- reg: The base address of the UART register bank. 13- reg: The base address of the UART register bank.
10 14
diff --git a/Documentation/devicetree/bindings/serial/of-serial.txt b/Documentation/devicetree/bindings/serial/of-serial.txt
index b52b98234b9b..91d5ab0e60fc 100644
--- a/Documentation/devicetree/bindings/serial/of-serial.txt
+++ b/Documentation/devicetree/bindings/serial/of-serial.txt
@@ -8,7 +8,10 @@ Required properties:
8 - "ns16550" 8 - "ns16550"
9 - "ns16750" 9 - "ns16750"
10 - "ns16850" 10 - "ns16850"
11 - "nvidia,tegra20-uart" 11 - For Tegra20, must contain "nvidia,tegra20-uart"
12 - For other Tegra, must contain '"nvidia,<chip>-uart",
13 "nvidia,tegra20-uart"' where <chip> is tegra30, tegra114, tegra124,
14 tegra132, or tegra210.
12 - "nxp,lpc3220-uart" 15 - "nxp,lpc3220-uart"
13 - "ralink,rt2880-uart" 16 - "ralink,rt2880-uart"
14 - "ibm,qpace-nwp-serial" 17 - "ibm,qpace-nwp-serial"
@@ -16,6 +19,7 @@ Required properties:
16 - "altr,16550-FIFO64" 19 - "altr,16550-FIFO64"
17 - "altr,16550-FIFO128" 20 - "altr,16550-FIFO128"
18 - "fsl,16550-FIFO64" 21 - "fsl,16550-FIFO64"
22 - "fsl,ns16550"
19 - "serial" if the port type is unknown. 23 - "serial" if the port type is unknown.
20- reg : offset and length of the register set for the device. 24- reg : offset and length of the register set for the device.
21- interrupts : should contain uart interrupt. 25- interrupts : should contain uart interrupt.
@@ -40,6 +44,17 @@ Optional properties:
40 driver is allowed to detect support for the capability even without this 44 driver is allowed to detect support for the capability even without this
41 property. 45 property.
42 46
47Note:
48* fsl,ns16550:
49 ------------
50 Freescale DUART is very similar to the PC16552D (and to a
51 pair of NS16550A), albeit with some nonstandard behavior such as
52 erratum A-004737 (relating to incorrect BRK handling).
53
54 Represents a single port that is compatible with the DUART found
55 on many Freescale chips (examples include mpc8349, mpc8548,
56 mpc8641d, p4080 and ls2085a).
57
43Example: 58Example:
44 59
45 uart@80230000 { 60 uart@80230000 {
diff --git a/Documentation/devicetree/bindings/serial/sirf-uart.txt b/Documentation/devicetree/bindings/serial/sirf-uart.txt
index 3acdd969edf1..f0c39261c5d4 100644
--- a/Documentation/devicetree/bindings/serial/sirf-uart.txt
+++ b/Documentation/devicetree/bindings/serial/sirf-uart.txt
@@ -2,7 +2,7 @@
2 2
3Required properties: 3Required properties:
4- compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart", 4- compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart",
5 "sirf,marco-uart" or "sirf,marco-bt-uart" which means 5 "sirf,atlas7-uart" or "sirf,atlas7-bt-uart" which means
6 uart located in BT module and used for BT. 6 uart located in BT module and used for BT.
7- reg : Offset and length of the register set for the device 7- reg : Offset and length of the register set for the device
8- interrupts : Should contain uart interrupt 8- interrupts : Should contain uart interrupt
@@ -37,7 +37,7 @@ usp@b0090000 {
37for uart use in BT module, 37for uart use in BT module,
38uart6: uart@11000000 { 38uart6: uart@11000000 {
39 cell-index = <6>; 39 cell-index = <6>;
40 compatible = "sirf,marco-bt-uart", "sirf,marco-uart"; 40 compatible = "sirf,atlas7-bt-uart", "sirf,atlas7-uart";
41 reg = <0x11000000 0x1000>; 41 reg = <0x11000000 0x1000>;
42 interrupts = <0 100 0>; 42 interrupts = <0 100 0>;
43 clocks = <&clks 138>, <&clks 140>, <&clks 141>; 43 clocks = <&clks 138>, <&clks 140>, <&clks 141>;
diff --git a/Documentation/devicetree/bindings/serial/sprd-uart.txt b/Documentation/devicetree/bindings/serial/sprd-uart.txt
new file mode 100644
index 000000000000..2aff0f22c9fa
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/sprd-uart.txt
@@ -0,0 +1,7 @@
1* Spreadtrum serial UART
2
3Required properties:
4- compatible: must be "sprd,sc9836-uart"
5- reg: offset and length of the register set for the device
6- interrupts: exactly one interrupt specifier
7- clocks: phandles to input clocks.
diff --git a/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt b/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt
new file mode 100644
index 000000000000..362a76925bcd
--- /dev/null
+++ b/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt
@@ -0,0 +1,23 @@
1* Device tree bindings for Allwinner A10, A20 PS2 host controller
2
3A20 PS2 is dual role controller (PS2 host and PS2 device). These bindings are
4for PS2 A10/A20 host controller. IBM compliant IBM PS2 and AT-compatible keyboard
5and mouse can be connected.
6
7Required properties:
8
9 - reg : Offset and length of the register set for the device.
10 - compatible : Should be as of the following:
11 - "allwinner,sun4i-a10-ps2"
12 - interrupts : The interrupt line connected to the PS2.
13 - clocks : The gate clk connected to the PS2.
14
15
16Example:
17 ps20: ps2@0x01c2a000 {
18 compatible = "allwinner,sun4i-a10-ps2";
19 reg = <0x01c2a000 0x400>;
20 interrupts = <0 62 4>;
21 clocks = <&apb1_gates 6>;
22 status = "disabled";
23 };
diff --git a/Documentation/devicetree/bindings/soc/fsl/bman.txt b/Documentation/devicetree/bindings/soc/fsl/bman.txt
index 9f80bf8709ac..47ac834414d8 100644
--- a/Documentation/devicetree/bindings/soc/fsl/bman.txt
+++ b/Documentation/devicetree/bindings/soc/fsl/bman.txt
@@ -36,6 +36,11 @@ are located at offsets 0xbf8 and 0xbfc
36 Value type: <prop-encoded-array> 36 Value type: <prop-encoded-array>
37 Definition: Standard property. The error interrupt 37 Definition: Standard property. The error interrupt
38 38
39- fsl,bman-portals
40 Usage: Required
41 Value type: <phandle>
42 Definition: Phandle to this BMan instance's portals
43
39- fsl,liodn 44- fsl,liodn
40 Usage: See pamu.txt 45 Usage: See pamu.txt
41 Value type: <prop-encoded-array> 46 Value type: <prop-encoded-array>
@@ -96,7 +101,7 @@ The example below shows a BMan FBPR dynamic allocation memory node
96 101
97 bman_fbpr: bman-fbpr { 102 bman_fbpr: bman-fbpr {
98 compatible = "fsl,bman-fbpr"; 103 compatible = "fsl,bman-fbpr";
99 alloc-ranges = <0 0 0xf 0xffffffff>; 104 alloc-ranges = <0 0 0x10 0>;
100 size = <0 0x1000000>; 105 size = <0 0x1000000>;
101 alignment = <0 0x1000000>; 106 alignment = <0 0x1000000>;
102 }; 107 };
@@ -104,6 +109,10 @@ The example below shows a BMan FBPR dynamic allocation memory node
104 109
105The example below shows a (P4080) BMan CCSR-space node 110The example below shows a (P4080) BMan CCSR-space node
106 111
112 bportals: bman-portals@ff4000000 {
113 ...
114 };
115
107 crypto@300000 { 116 crypto@300000 {
108 ... 117 ...
109 fsl,bman = <&bman, 2>; 118 fsl,bman = <&bman, 2>;
@@ -115,6 +124,7 @@ The example below shows a (P4080) BMan CCSR-space node
115 reg = <0x31a000 0x1000>; 124 reg = <0x31a000 0x1000>;
116 interrupts = <16 2 1 2>; 125 interrupts = <16 2 1 2>;
117 fsl,liodn = <0x17>; 126 fsl,liodn = <0x17>;
127 fsl,bman-portals = <&bportals>;
118 memory-region = <&bman_fbpr>; 128 memory-region = <&bman_fbpr>;
119 }; 129 };
120 130
diff --git a/Documentation/devicetree/bindings/soc/fsl/qman.txt b/Documentation/devicetree/bindings/soc/fsl/qman.txt
index 063e3a0b9d04..556ebb8be75d 100644
--- a/Documentation/devicetree/bindings/soc/fsl/qman.txt
+++ b/Documentation/devicetree/bindings/soc/fsl/qman.txt
@@ -38,6 +38,11 @@ are located at offsets 0xbf8 and 0xbfc
38 Value type: <prop-encoded-array> 38 Value type: <prop-encoded-array>
39 Definition: Standard property. The error interrupt 39 Definition: Standard property. The error interrupt
40 40
41- fsl,qman-portals
42 Usage: Required
43 Value type: <phandle>
44 Definition: Phandle to this QMan instance's portals
45
41- fsl,liodn 46- fsl,liodn
42 Usage: See pamu.txt 47 Usage: See pamu.txt
43 Value type: <prop-encoded-array> 48 Value type: <prop-encoded-array>
@@ -113,13 +118,13 @@ The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes
113 118
114 qman_fqd: qman-fqd { 119 qman_fqd: qman-fqd {
115 compatible = "fsl,qman-fqd"; 120 compatible = "fsl,qman-fqd";
116 alloc-ranges = <0 0 0xf 0xffffffff>; 121 alloc-ranges = <0 0 0x10 0>;
117 size = <0 0x400000>; 122 size = <0 0x400000>;
118 alignment = <0 0x400000>; 123 alignment = <0 0x400000>;
119 }; 124 };
120 qman_pfdr: qman-pfdr { 125 qman_pfdr: qman-pfdr {
121 compatible = "fsl,qman-pfdr"; 126 compatible = "fsl,qman-pfdr";
122 alloc-ranges = <0 0 0xf 0xffffffff>; 127 alloc-ranges = <0 0 0x10 0>;
123 size = <0 0x2000000>; 128 size = <0 0x2000000>;
124 alignment = <0 0x2000000>; 129 alignment = <0 0x2000000>;
125 }; 130 };
@@ -127,6 +132,10 @@ The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes
127 132
128The example below shows a (P4080) QMan CCSR-space node 133The example below shows a (P4080) QMan CCSR-space node
129 134
135 qportals: qman-portals@ff4200000 {
136 ...
137 };
138
130 clockgen: global-utilities@e1000 { 139 clockgen: global-utilities@e1000 {
131 ... 140 ...
132 sysclk: sysclk { 141 sysclk: sysclk {
@@ -154,6 +163,7 @@ The example below shows a (P4080) QMan CCSR-space node
154 reg = <0x318000 0x1000>; 163 reg = <0x318000 0x1000>;
155 interrupts = <16 2 1 3> 164 interrupts = <16 2 1 3>
156 fsl,liodn = <0x16>; 165 fsl,liodn = <0x16>;
166 fsl,qman-portals = <&qportals>;
157 memory-region = <&qman_fqd &qman_pfdr>; 167 memory-region = <&qman_fqd &qman_pfdr>;
158 clocks = <&platform_pll 1>; 168 clocks = <&platform_pll 1>;
159 }; 169 };
diff --git a/Documentation/devicetree/bindings/sound/atmel_ac97c.txt b/Documentation/devicetree/bindings/sound/atmel_ac97c.txt
new file mode 100644
index 000000000000..b151bd902ce3
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/atmel_ac97c.txt
@@ -0,0 +1,20 @@
1* Atmel AC97 controller
2
3Required properties:
4 - compatible: "atmel,at91sam9263-ac97c"
5 - reg: Address and length of the register set for the device
6 - interrupts: Should contain AC97 interrupt
7 - ac97-gpios: Please refer to soc-ac97link.txt, only ac97-reset is used
8Optional properties:
9 - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
10
11Example:
12sound@fffa0000 {
13 compatible = "atmel,at91sam9263-ac97c";
14 pinctrl-names = "default";
15 pinctrl-0 = <&pinctrl_ac97>;
16 reg = <0xfffa0000 0x4000>;
17 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 5>;
18
19 ac97-gpios = <&pioB 0 0 &pioB 2 0 &pioC 29 GPIO_ACTIVE_LOW>;
20};
diff --git a/Documentation/devicetree/bindings/sound/cdns,xtfpga-i2s.txt b/Documentation/devicetree/bindings/sound/cdns,xtfpga-i2s.txt
new file mode 100644
index 000000000000..befd125d18bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/cdns,xtfpga-i2s.txt
@@ -0,0 +1,18 @@
1Bindings for I2S controller built into xtfpga Xtensa bitstreams.
2
3Required properties:
4- compatible: shall be "cdns,xtfpga-i2s".
5- reg: memory region (address and length) with device registers.
6- interrupts: interrupt for the device.
7- clocks: phandle to the clk used as master clock. I2S bus clock
8 is derived from it.
9
10Examples:
11
12 i2s0: xtfpga-i2s@0d080000 {
13 #sound-dai-cells = <0>;
14 compatible = "cdns,xtfpga-i2s";
15 reg = <0x0d080000 0x40>;
16 interrupts = <2 1>;
17 clocks = <&cdce706 4>;
18 };
diff --git a/Documentation/devicetree/bindings/sound/designware-i2s.txt b/Documentation/devicetree/bindings/sound/designware-i2s.txt
new file mode 100644
index 000000000000..7bb54247f8e8
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/designware-i2s.txt
@@ -0,0 +1,31 @@
1DesignWare I2S controller
2
3Required properties:
4 - compatible : Must be "snps,designware-i2s"
5 - reg : Must contain the I2S core's registers location and length
6 - clocks : Pairs of phandle and specifier referencing the controller's
7 clocks. The controller expects one clock: the clock used as the sampling
8 rate reference clock sample.
9 - clock-names : "i2sclk" for the sample rate reference clock.
10 - dmas: Pairs of phandle and specifier for the DMA channels that are used by
11 the core. The core expects one or two dma channels: one for transmit and
12 one for receive.
13 - dma-names : "tx" for the transmit channel, "rx" for the receive channel.
14
15For more details on the 'dma', 'dma-names', 'clock' and 'clock-names'
16properties please check:
17 * resource-names.txt
18 * clock/clock-bindings.txt
19 * dma/dma.txt
20
21Example:
22
23 soc_i2s: i2s@7ff90000 {
24 compatible = "snps,designware-i2s";
25 reg = <0x0 0x7ff90000 0x0 0x1000>;
26 clocks = <&scpi_i2sclk 0>;
27 clock-names = "i2sclk";
28 #sound-dai-cells = <0>;
29 dmas = <&dma0 5>;
30 dma-names = "tx";
31 };
diff --git a/Documentation/devicetree/bindings/sound/ingenic,jz4740-i2s.txt b/Documentation/devicetree/bindings/sound/ingenic,jz4740-i2s.txt
new file mode 100644
index 000000000000..b41433386e2f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/ingenic,jz4740-i2s.txt
@@ -0,0 +1,23 @@
1Ingenic JZ4740 I2S controller
2
3Required properties:
4- compatible : "ingenic,jz4740-i2s"
5- reg : I2S registers location and length
6- clocks : AIC and I2S PLL clock specifiers.
7- clock-names: "aic" and "i2s"
8- dmas: DMA controller phandle and DMA request line for I2S Tx and Rx channels
9- dma-names: Must be "tx" and "rx"
10
11Example:
12
13i2s: i2s@10020000 {
14 compatible = "ingenic,jz4740-i2s";
15 reg = <0x10020000 0x94>;
16
17 clocks = <&cgu JZ4740_CLK_AIC>, <&cgu JZ4740_CLK_I2SPLL>;
18 clock-names = "aic", "i2s";
19
20 dmas = <&dma 2>, <&dma 3>;
21 dma-names = "tx", "rx";
22
23};
diff --git a/Documentation/devicetree/bindings/sound/max98357a.txt b/Documentation/devicetree/bindings/sound/max98357a.txt
new file mode 100644
index 000000000000..a7a149a236e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/max98357a.txt
@@ -0,0 +1,14 @@
1Maxim MAX98357A audio DAC
2
3This node models the Maxim MAX98357A DAC.
4
5Required properties:
6- compatible : "maxim,max98357a"
7- sdmode-gpios : GPIO specifier for the GPIO -> DAC SDMODE pin
8
9Example:
10
11max98357a {
12 compatible = "maxim,max98357a";
13 sdmode-gpios = <&qcom_pinmux 25 0>;
14};
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt
new file mode 100644
index 000000000000..a4589cda214e
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt
@@ -0,0 +1,67 @@
1NVIDIA Tegra audio complex, with RT5677 CODEC
2
3Required properties:
4- compatible : "nvidia,tegra-audio-rt5677"
5- clocks : Must contain an entry for each entry in clock-names.
6 See ../clocks/clock-bindings.txt for details.
7- clock-names : Must include the following entries:
8 - pll_a
9 - pll_a_out0
10 - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
11- nvidia,model : The user-visible name of this sound complex.
12- nvidia,audio-routing : A list of the connections between audio components.
13 Each entry is a pair of strings, the first being the connection's sink,
14 the second being the connection's source. Valid names for sources and
15 sinks are the RT5677's pins (as documented in its binding), and the jacks
16 on the board:
17
18 * Headphone
19 * Speaker
20 * Headset Mic
21 * Internal Mic 1
22 * Internal Mic 2
23
24- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
25 connected to the CODEC.
26- nvidia,audio-codec : The phandle of the RT5677 audio codec. This binding
27 assumes that AIF1 on the CODEC is connected to Tegra.
28
29Optional properties:
30- nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in
31- nvidia,hp-en-gpios : The GPIO that enables headphone amplifier
32- nvidia,mic-present-gpios: The GPIO that mic jack is plugged in
33- nvidia,dmic-clk-en-gpios : The GPIO that gates DMIC clock signal
34
35Example:
36
37sound {
38 compatible = "nvidia,tegra-audio-rt5677-ryu",
39 "nvidia,tegra-audio-rt5677";
40 nvidia,model = "NVIDIA Tegra Ryu";
41
42 nvidia,audio-routing =
43 "Headphone", "LOUT2",
44 "Headphone", "LOUT1",
45 "Headset Mic", "MICBIAS1",
46 "IN1P", "Headset Mic",
47 "IN1N", "Headset Mic",
48 "DMIC L1", "Internal Mic 1",
49 "DMIC R1", "Internal Mic 1",
50 "DMIC L2", "Internal Mic 2",
51 "DMIC R2", "Internal Mic 2",
52 "Speaker", "PDM1L",
53 "Speaker", "PDM1R";
54
55 nvidia,i2s-controller = <&tegra_i2s1>;
56 nvidia,audio-codec = <&rt5677>;
57
58 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
59 nvidia,mic-present-gpios = <&gpio TEGRA_GPIO(O, 5) GPIO_ACTIVE_LOW>;
60 nvidia,hp-en-gpios = <&rt5677 1 GPIO_ACTIVE_HIGH>;
61 nvidia,dmic-clk-en-gpios = <&rt5677 2 GPIO_ACTIVE_HIGH>;
62
63 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
64 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
65 <&tegra_car TEGRA124_CLK_EXTERN1>;
66 clock-names = "pll_a", "pll_a_out0", "mclk";
67};
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt
index 946e2ac46091..0e9a1895d7fb 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt
@@ -1,7 +1,10 @@
1NVIDIA Tegra30 AHUB (Audio Hub) 1NVIDIA Tegra30 AHUB (Audio Hub)
2 2
3Required properties: 3Required properties:
4- compatible : "nvidia,tegra30-ahub", "nvidia,tegra114-ahub", etc. 4- compatible : For Tegra30, must contain "nvidia,tegra30-ahub". For Tegra114,
5 must contain "nvidia,tegra114-ahub". For Tegra124, must contain
6 "nvidia,tegra124-ahub". Otherwise, must contain "nvidia,<chip>-ahub",
7 plus at least one of the above, where <chip> is tegra132.
5- reg : Should contain the register physical address and length for each of 8- reg : Should contain the register physical address and length for each of
6 the AHUB's register blocks. 9 the AHUB's register blocks.
7 - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks. 10 - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt
index b4730c2822bc..13e2ef496724 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt
@@ -1,7 +1,9 @@
1NVIDIA Tegra30 HDA controller 1NVIDIA Tegra30 HDA controller
2 2
3Required properties: 3Required properties:
4- compatible : "nvidia,tegra30-hda" 4- compatible : For Tegra30, must contain "nvidia,tegra30-hda". Otherwise,
5 must contain '"nvidia,<chip>-hda", "nvidia,tegra30-hda"', where <chip> is
6 tegra114, tegra124, or tegra132.
5- reg : Should contain the HDA registers location and length. 7- reg : Should contain the HDA registers location and length.
6- interrupts : The interrupt from the HDA controller. 8- interrupts : The interrupt from the HDA controller.
7- clocks : Must contain an entry for each required entry in clock-names. 9- clocks : Must contain an entry for each required entry in clock-names.
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt
index 0c113ffe3814..38caa936f6f8 100644
--- a/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt
@@ -1,7 +1,10 @@
1NVIDIA Tegra30 I2S controller 1NVIDIA Tegra30 I2S controller
2 2
3Required properties: 3Required properties:
4- compatible : "nvidia,tegra30-i2s" 4- compatible : For Tegra30, must contain "nvidia,tegra30-i2s". For Tegra124,
5 must contain "nvidia,tegra124-i2s". Otherwise, must contain
6 "nvidia,<chip>-i2s" plus at least one of the above, where <chip> is
7 tegra114 or tegra132.
5- reg : Should contain I2S registers location and length 8- reg : Should contain I2S registers location and length
6- clocks : Must contain one entry, for the module clock. 9- clocks : Must contain one entry, for the module clock.
7 See ../clocks/clock-bindings.txt for details. 10 See ../clocks/clock-bindings.txt for details.
diff --git a/Documentation/devicetree/bindings/sound/pcm512x.txt b/Documentation/devicetree/bindings/sound/pcm512x.txt
index faff75e64573..3aae3b41bd8e 100644
--- a/Documentation/devicetree/bindings/sound/pcm512x.txt
+++ b/Documentation/devicetree/bindings/sound/pcm512x.txt
@@ -5,7 +5,8 @@ on the board).
5 5
6Required properties: 6Required properties:
7 7
8 - compatible : One of "ti,pcm5121" or "ti,pcm5122" 8 - compatible : One of "ti,pcm5121", "ti,pcm5122", "ti,pcm5141" or
9 "ti,pcm5142"
9 10
10 - reg : the I2C address of the device for I2C, the chip select 11 - reg : the I2C address of the device for I2C, the chip select
11 number for SPI. 12 number for SPI.
@@ -16,9 +17,16 @@ Required properties:
16Optional properties: 17Optional properties:
17 18
18 - clocks : A clock specifier for the clock connected as SCLK. If this 19 - clocks : A clock specifier for the clock connected as SCLK. If this
19 is absent the device will be configured to clock from BCLK. 20 is absent the device will be configured to clock from BCLK. If pll-in
21 and pll-out are specified in addition to a clock, the device is
22 configured to accept clock input on a specified gpio pin.
20 23
21Example: 24 - pll-in, pll-out : gpio pins used to connect the pll using <1>
25 through <6>. The device will be configured for clock input on the
26 given pll-in pin and PLL output on the given pll-out pin. An
27 external connection from the pll-out pin to the SCLK pin is assumed.
28
29Examples:
22 30
23 pcm5122: pcm5122@4c { 31 pcm5122: pcm5122@4c {
24 compatible = "ti,pcm5122"; 32 compatible = "ti,pcm5122";
@@ -28,3 +36,17 @@ Example:
28 DVDD-supply = <&reg_1v8>; 36 DVDD-supply = <&reg_1v8>;
29 CPVDD-supply = <&reg_3v3>; 37 CPVDD-supply = <&reg_3v3>;
30 }; 38 };
39
40
41 pcm5142: pcm5142@4c {
42 compatible = "ti,pcm5142";
43 reg = <0x4c>;
44
45 AVDD-supply = <&reg_3v3_analog>;
46 DVDD-supply = <&reg_1v8>;
47 CPVDD-supply = <&reg_3v3>;
48
49 clocks = <&sck>;
50 pll-in = <3>;
51 pll-out = <6>;
52 };
diff --git a/Documentation/devicetree/bindings/sound/samsung-i2s.txt b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
index d188296bb6ec..09e0e18591ae 100644
--- a/Documentation/devicetree/bindings/sound/samsung-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/samsung-i2s.txt
@@ -33,6 +33,25 @@ Required SoC Specific Properties:
33 "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root 33 "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
34 clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2 34 clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
35 doesn't have any such mux. 35 doesn't have any such mux.
36- #clock-cells: should be 1, this property must be present if the I2S device
37 is a clock provider in terms of the common clock bindings, described in
38 ../clock/clock-bindings.txt.
39- clock-output-names: from the common clock bindings, names of the CDCLK
40 I2S output clocks, suggested values are "i2s_cdclk0", "i2s_cdclk1",
41 "i2s_cdclk3" for the I2S0, I2S1, I2S2 devices recpectively.
42
43There are following clocks available at the I2S device nodes:
44 CLK_I2S_CDCLK - the CDCLK (CODECLKO) gate clock,
45 CLK_I2S_RCLK_PSR - the RCLK prescaler divider clock (corresponding to the
46 IISPSR register),
47 CLK_I2S_RCLK_SRC - the RCLKSRC mux clock (corresponding to RCLKSRC bit in
48 IISMOD register).
49
50Refer to the SoC datasheet for availability of the above clocks.
51The CLK_I2S_RCLK_PSR and CLK_I2S_RCLK_SRC clocks are usually only available
52in the IIS Multi Audio Interface (I2S0).
53Note: Old DTs may not have the #clock-cells, clock-output-names properties
54and then not use the I2S node as a clock supplier.
36 55
37Optional SoC Specific Properties: 56Optional SoC Specific Properties:
38 57
@@ -41,6 +60,7 @@ Optional SoC Specific Properties:
41- pinctrl-0: Should specify pin control groups used for this controller. 60- pinctrl-0: Should specify pin control groups used for this controller.
42- pinctrl-names: Should contain only one value - "default". 61- pinctrl-names: Should contain only one value - "default".
43 62
63
44Example: 64Example:
45 65
46i2s0: i2s@03830000 { 66i2s0: i2s@03830000 {
@@ -54,6 +74,8 @@ i2s0: i2s@03830000 {
54 <&clock_audss EXYNOS_I2S_BUS>, 74 <&clock_audss EXYNOS_I2S_BUS>,
55 <&clock_audss EXYNOS_SCLK_I2S>; 75 <&clock_audss EXYNOS_SCLK_I2S>;
56 clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 76 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
77 #clock-cells;
78 clock-output-names = "i2s_cdclk0";
57 samsung,idma-addr = <0x03000000>; 79 samsung,idma-addr = <0x03000000>;
58 pinctrl-names = "default"; 80 pinctrl-names = "default";
59 pinctrl-0 = <&i2s0_bus>; 81 pinctrl-0 = <&i2s0_bus>;
diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt
index c3cba600bf11..73bf314f7240 100644
--- a/Documentation/devicetree/bindings/sound/simple-card.txt
+++ b/Documentation/devicetree/bindings/sound/simple-card.txt
@@ -75,6 +75,11 @@ Optional CPU/CODEC subnodes properties:
75 it can be specified via "clocks" if system has 75 it can be specified via "clocks" if system has
76 clock node (= common clock), or "system-clock-frequency" 76 clock node (= common clock), or "system-clock-frequency"
77 (if system doens't support common clock) 77 (if system doens't support common clock)
78 If a clock is specified, it is
79 enabled with clk_prepare_enable()
80 in dai startup() and disabled with
81 clk_disable_unprepare() in dai
82 shutdown().
78 83
79Example 1 - single DAI link: 84Example 1 - single DAI link:
80 85
diff --git a/Documentation/devicetree/bindings/sound/st,sta32x.txt b/Documentation/devicetree/bindings/sound/st,sta32x.txt
new file mode 100644
index 000000000000..255de3ae5b2f
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/st,sta32x.txt
@@ -0,0 +1,92 @@
1STA32X audio CODEC
2
3The driver for this device only supports I2C.
4
5Required properties:
6
7 - compatible: "st,sta32x"
8 - reg: the I2C address of the device for I2C
9 - reset-gpios: a GPIO spec for the reset pin. If specified, it will be
10 deasserted before communication to the codec starts.
11
12 - power-down-gpios: a GPIO spec for the power down pin. If specified,
13 it will be deasserted before communication to the codec
14 starts.
15
16 - Vdda-supply: regulator spec, providing 3.3V
17 - Vdd3-supply: regulator spec, providing 3.3V
18 - Vcc-supply: regulator spec, providing 5V - 26V
19
20Optional properties:
21
22 - st,output-conf: number, Selects the output configuration:
23 0: 2-channel (full-bridge) power, 2-channel data-out
24 1: 2 (half-bridge). 1 (full-bridge) on-board power
25 2: 2 Channel (Full-Bridge) Power, 1 Channel FFX
26 3: 1 Channel Mono-Parallel
27 If parameter is missing, mode 0 will be enabled.
28 This property has to be specified as '/bits/ 8' value.
29
30 - st,ch1-output-mapping: Channel 1 output mapping
31 - st,ch2-output-mapping: Channel 2 output mapping
32 - st,ch3-output-mapping: Channel 3 output mapping
33 0: Channel 1
34 1: Channel 2
35 2: Channel 3
36 If parameter is missing, channel 1 is chosen.
37 This properties have to be specified as '/bits/ 8' values.
38
39 - st,thermal-warning-recover:
40 If present, thermal warning recovery is enabled.
41
42 - st,thermal-warning-adjustment:
43 If present, thermal warning adjustment is enabled.
44
45 - st,fault-detect-recovery:
46 If present, then fault recovery will be enabled.
47
48 - st,drop-compensation-ns: number
49 Only required for "st,ffx-power-output-mode" ==
50 "variable-drop-compensation".
51 Specifies the drop compensation in nanoseconds.
52 The value must be in the range of 0..300, and only
53 multiples of 20 are allowed. Default is 140ns.
54
55 - st,max-power-use-mpcc:
56 If present, then MPCC bits are used for MPC coefficients,
57 otherwise standard MPC coefficients are used.
58
59 - st,max-power-corr:
60 If present, power bridge correction for THD reduction near maximum
61 power output is enabled.
62
63 - st,am-reduction-mode:
64 If present, FFX mode runs in AM reduction mode, otherwise normal
65 FFX mode is used.
66
67 - st,odd-pwm-speed-mode:
68 If present, PWM speed mode run on odd speed mode (341.3 kHz) on all
69 channels. If not present, normal PWM spped mode (384 kHz) will be used.
70
71 - st,invalid-input-detect-mute:
72 If present, automatic invalid input detect mute is enabled.
73
74Example:
75
76codec: sta32x@38 {
77 compatible = "st,sta32x";
78 reg = <0x1c>;
79 reset-gpios = <&gpio1 19 0>;
80 power-down-gpios = <&gpio1 16 0>;
81 st,output-conf = /bits/ 8 <0x3>; // set output to 2-channel
82 // (full-bridge) power,
83 // 2-channel data-out
84 st,ch1-output-mapping = /bits/ 8 <0>; // set channel 1 output ch 1
85 st,ch2-output-mapping = /bits/ 8 <0>; // set channel 2 output ch 1
86 st,ch3-output-mapping = /bits/ 8 <0>; // set channel 3 output ch 1
87 st,max-power-correction; // enables power bridge
88 // correction for THD reduction
89 // near maximum power output
90 st,invalid-input-detect-mute; // mute if no valid digital
91 // audio signal is provided.
92};
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
index 5e6040c2c2e9..47a213c411ce 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
@@ -9,6 +9,7 @@ Required properties:
9 "ti,tlv320aic33" - TLV320AIC33 9 "ti,tlv320aic33" - TLV320AIC33
10 "ti,tlv320aic3007" - TLV320AIC3007 10 "ti,tlv320aic3007" - TLV320AIC3007
11 "ti,tlv320aic3106" - TLV320AIC3106 11 "ti,tlv320aic3106" - TLV320AIC3106
12 "ti,tlv320aic3104" - TLV320AIC3104
12 13
13 14
14- reg - <int> - I2C slave address 15- reg - <int> - I2C slave address
@@ -18,6 +19,7 @@ Optional properties:
18 19
19- gpio-reset - gpio pin number used for codec reset 20- gpio-reset - gpio pin number used for codec reset
20- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality 21- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
22 - Not supported on tlv320aic3104
21- ai3x-micbias-vg - MicBias Voltage required. 23- ai3x-micbias-vg - MicBias Voltage required.
22 1 - MICBIAS output is powered to 2.0V, 24 1 - MICBIAS output is powered to 2.0V,
23 2 - MICBIAS output is powered to 2.5V, 25 2 - MICBIAS output is powered to 2.5V,
@@ -36,7 +38,13 @@ CODEC output pins:
36 * HPLCOM 38 * HPLCOM
37 * HPRCOM 39 * HPRCOM
38 40
39CODEC input pins: 41CODEC input pins for TLV320AIC3104:
42 * MIC2L
43 * MIC2R
44 * LINE1L
45 * LINE1R
46
47CODEC input pins for other compatible codecs:
40 * MIC3L 48 * MIC3L
41 * MIC3R 49 * MIC3R
42 * LINE1L 50 * LINE1L
diff --git a/Documentation/devicetree/bindings/sound/ts3a227e.txt b/Documentation/devicetree/bindings/sound/ts3a227e.txt
index e8bf23eb1803..a836881d9608 100644
--- a/Documentation/devicetree/bindings/sound/ts3a227e.txt
+++ b/Documentation/devicetree/bindings/sound/ts3a227e.txt
@@ -13,6 +13,11 @@ Required properties:
13 - interrupt-parent: The parent interrupt controller 13 - interrupt-parent: The parent interrupt controller
14 - interrupts: Interrupt number for /INT pin from the 227e 14 - interrupts: Interrupt number for /INT pin from the 227e
15 15
16Optional properies:
17 - ti,micbias: Intended MICBIAS voltage (datasheet section 9.6.7).
18 Select 0/1/2/3/4/5/6/7 to specify MACBIAS voltage
19 2.1V/2.2V/2.3V/2.4V/2.5V/2.6V/2.7V/2.8V
20 Default value is "1" (2.2V).
16 21
17Examples: 22Examples:
18 23
diff --git a/Documentation/devicetree/bindings/sound/wm8904.txt b/Documentation/devicetree/bindings/sound/wm8904.txt
index e99f4097c83c..66bf261423b9 100644
--- a/Documentation/devicetree/bindings/sound/wm8904.txt
+++ b/Documentation/devicetree/bindings/sound/wm8904.txt
@@ -3,7 +3,7 @@ WM8904 audio CODEC
3This device supports I2C only. 3This device supports I2C only.
4 4
5Required properties: 5Required properties:
6 - compatible: "wlf,wm8904" 6 - compatible: "wlf,wm8904" or "wlf,wm8912"
7 - reg: the I2C address of the device. 7 - reg: the I2C address of the device.
8 - clock-names: "mclk" 8 - clock-names: "mclk"
9 - clocks: reference to 9 - clocks: reference to
diff --git a/Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt b/Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt
index 7ea701e07dc2..b785976fe98a 100644
--- a/Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt
+++ b/Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt
@@ -1,7 +1,9 @@
1NVIDIA Tegra114 SPI controller. 1NVIDIA Tegra114 SPI controller.
2 2
3Required properties: 3Required properties:
4- compatible : should be "nvidia,tegra114-spi". 4- compatible : For Tegra114, must contain "nvidia,tegra114-spi".
5 Otherwise, must contain '"nvidia,<chip>-spi", "nvidia,tegra114-spi"' where
6 <chip> is tegra124, tegra132, or tegra210.
5- reg: Should contain SPI registers location and length. 7- reg: Should contain SPI registers location and length.
6- interrupts: Should contain SPI interrupts. 8- interrupts: Should contain SPI interrupts.
7- clock-names : Must include the following entries: 9- clock-names : Must include the following entries:
diff --git a/Documentation/devicetree/bindings/spi/sh-msiof.txt b/Documentation/devicetree/bindings/spi/sh-msiof.txt
index d11c3721e7cd..4c388bb2f0a2 100644
--- a/Documentation/devicetree/bindings/spi/sh-msiof.txt
+++ b/Documentation/devicetree/bindings/spi/sh-msiof.txt
@@ -30,6 +30,22 @@ Optional properties:
30 specifiers, one for transmission, and one for 30 specifiers, one for transmission, and one for
31 reception. 31 reception.
32- dma-names : Must contain a list of two DMA names, "tx" and "rx". 32- dma-names : Must contain a list of two DMA names, "tx" and "rx".
33- renesas,dtdl : delay sync signal (setup) in transmit mode.
34 Must contain one of the following values:
35 0 (no bit delay)
36 50 (0.5-clock-cycle delay)
37 100 (1-clock-cycle delay)
38 150 (1.5-clock-cycle delay)
39 200 (2-clock-cycle delay)
40
41- renesas,syncdl : delay sync signal (hold) in transmit mode.
42 Must contain one of the following values:
43 0 (no bit delay)
44 50 (0.5-clock-cycle delay)
45 100 (1-clock-cycle delay)
46 150 (1.5-clock-cycle delay)
47 200 (2-clock-cycle delay)
48 300 (3-clock-cycle delay)
33 49
34Optional properties, deprecated for soctype-specific bindings: 50Optional properties, deprecated for soctype-specific bindings:
35- renesas,tx-fifo-size : Overrides the default tx fifo size given in words 51- renesas,tx-fifo-size : Overrides the default tx fifo size given in words
diff --git a/Documentation/devicetree/bindings/spi/spi-sirf.txt b/Documentation/devicetree/bindings/spi/spi-sirf.txt
new file mode 100644
index 000000000000..4c7adb8f777c
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-sirf.txt
@@ -0,0 +1,41 @@
1* CSR SiRFprimaII Serial Peripheral Interface
2
3Required properties:
4- compatible : Should be "sirf,prima2-spi"
5- reg : Offset and length of the register set for the device
6- interrupts : Should contain SPI interrupt
7- resets: phandle to the reset controller asserting this device in
8 reset
9 See ../reset/reset.txt for details.
10- dmas : Must contain an entry for each entry in clock-names.
11 See ../dma/dma.txt for details.
12- dma-names : Must include the following entries:
13 - rx
14 - tx
15- clocks : Must contain an entry for each entry in clock-names.
16 See ../clocks/clock-bindings.txt for details.
17
18- #address-cells: Number of cells required to define a chip select
19 address on the SPI bus. Should be set to 1.
20- #size-cells: Should be zero.
21
22Optional properties:
23- spi-max-frequency: Specifies maximum SPI clock frequency,
24 Units - Hz. Definition as per
25 Documentation/devicetree/bindings/spi/spi-bus.txt
26- cs-gpios: should specify GPIOs used for chipselects.
27
28Example:
29
30spi0: spi@b00d0000 {
31 compatible = "sirf,prima2-spi";
32 reg = <0xb00d0000 0x10000>;
33 interrupts = <15>;
34 dmas = <&dmac1 9>,
35 <&dmac1 4>;
36 dma-names = "rx", "tx";
37 #address-cells = <1>;
38 #size-cells = <0>;
39 clocks = <&clks 19>;
40 resets = <&rstc 26>;
41};
diff --git a/Documentation/devicetree/bindings/spi/spi-st-ssc.txt b/Documentation/devicetree/bindings/spi/spi-st-ssc.txt
new file mode 100644
index 000000000000..fe54959ec957
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-st-ssc.txt
@@ -0,0 +1,40 @@
1STMicroelectronics SSC (SPI) Controller
2---------------------------------------
3
4Required properties:
5- compatible : "st,comms-ssc4-spi"
6- reg : Offset and length of the device's register set
7- interrupts : The interrupt specifier
8- clock-names : Must contain "ssc"
9- clocks : Must contain an entry for each name in clock-names
10 See ../clk/*
11- pinctrl-names : Uses "default", can use "sleep" if provided
12 See ../pinctrl/pinctrl-binding.txt
13
14Optional properties:
15- cs-gpios : List of GPIO chip selects
16 See ../spi/spi-bus.txt
17
18Child nodes represent devices on the SPI bus
19 See ../spi/spi-bus.txt
20
21Example:
22 spi@9840000 {
23 compatible = "st,comms-ssc4-spi";
24 reg = <0x9840000 0x110>;
25 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
26 clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
27 clock-names = "ssc";
28 pinctrl-0 = <&pinctrl_spi0_default>;
29 pinctrl-names = "default";
30 cs-gpios = <&pio17 5 0>;
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 st95hf@0{
35 compatible = "st,st95hf";
36 reg = <0>;
37 spi-max-frequency = <1000000>;
38 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
39 };
40 };
diff --git a/Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt b/Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt
index ee05dc390694..307537787574 100644
--- a/Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt
+++ b/Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt
@@ -12,9 +12,9 @@ Optional properties:
12 property is not present, then the touchscreen is 12 property is not present, then the touchscreen is
13 disabled. 5 wires is valid for i.MX28 SoC only. 13 disabled. 5 wires is valid for i.MX28 SoC only.
14- fsl,ave-ctrl: number of samples per direction to calculate an average value. 14- fsl,ave-ctrl: number of samples per direction to calculate an average value.
15 Allowed value is 1 ... 31, default is 4 15 Allowed value is 1 ... 32, default is 4
16- fsl,ave-delay: delay between consecutive samples. Allowed value is 16- fsl,ave-delay: delay between consecutive samples. Allowed value is
17 1 ... 2047. It is used if 'fsl,ave-ctrl' > 1, counts at 17 2 ... 2048. It is used if 'fsl,ave-ctrl' > 1, counts at
18 2 kHz and its default is 2 (= 1 ms) 18 2 kHz and its default is 2 (= 1 ms)
19- fsl,settling: delay between plate switch to next sample. Allowed value is 19- fsl,settling: delay between plate switch to next sample. Allowed value is
20 1 ... 2047. It counts at 2 kHz and its default is 20 1 ... 2047. It counts at 2 kHz and its default is
diff --git a/Documentation/devicetree/bindings/submitting-patches.txt b/Documentation/devicetree/bindings/submitting-patches.txt
index b7ba01ad1426..56742bc70218 100644
--- a/Documentation/devicetree/bindings/submitting-patches.txt
+++ b/Documentation/devicetree/bindings/submitting-patches.txt
@@ -15,6 +15,29 @@ I. For patch submitters
15 3) The Documentation/ portion of the patch should come in the series before 15 3) The Documentation/ portion of the patch should come in the series before
16 the code implementing the binding. 16 the code implementing the binding.
17 17
18 4) Any compatible strings used in a chip or board DTS file must be
19 previously documented in the corresponding DT binding text file
20 in Documentation/devicetree/bindings. This rule applies even if
21 the Linux device driver does not yet match on the compatible
22 string. [ checkpatch will emit warnings if this step is not
23 followed as of commit bff5da4335256513497cc8c79f9a9d1665e09864
24 ("checkpatch: add DT compatible string documentation checks"). ]
25
26 5) The wildcard "<chip>" may be used in compatible strings, as in
27 the following example:
28
29 - compatible: Must contain '"nvidia,<chip>-pcie",
30 "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, ...
31
32 As in the above example, the known values of "<chip>" should be
33 documented if it is used.
34
35 6) If a documented compatible string is not yet matched by the
36 driver, the documentation should also include a compatible
37 string that is matched by the driver (as in the "nvidia,tegra20-pcie"
38 example above).
39
40
18II. For kernel maintainers 41II. For kernel maintainers
19 42
20 1) If you aren't comfortable reviewing a given binding, reply to it and ask 43 1) If you aren't comfortable reviewing a given binding, reply to it and ask
diff --git a/Documentation/devicetree/bindings/thermal/exynos-thermal.txt b/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
index ae738f562acc..695150a4136b 100644
--- a/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
@@ -12,6 +12,7 @@
12 "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4 12 "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4
13 Exynos5420 (Must pass triminfo base and triminfo clock) 13 Exynos5420 (Must pass triminfo base and triminfo clock)
14 "samsung,exynos5440-tmu" 14 "samsung,exynos5440-tmu"
15 "samsung,exynos7-tmu"
15- interrupt-parent : The phandle for the interrupt controller 16- interrupt-parent : The phandle for the interrupt controller
16- reg : Address range of the thermal registers. For soc's which has multiple 17- reg : Address range of the thermal registers. For soc's which has multiple
17 instances of TMU and some registers are shared across all TMU's like 18 instances of TMU and some registers are shared across all TMU's like
@@ -32,13 +33,28 @@
32- clocks : The main clocks for TMU device 33- clocks : The main clocks for TMU device
33 -- 1. operational clock for TMU channel 34 -- 1. operational clock for TMU channel
34 -- 2. optional clock to access the shared registers of TMU channel 35 -- 2. optional clock to access the shared registers of TMU channel
36 -- 3. optional special clock for functional operation
35- clock-names : Thermal system clock name 37- clock-names : Thermal system clock name
36 -- "tmu_apbif" operational clock for current TMU channel 38 -- "tmu_apbif" operational clock for current TMU channel
37 -- "tmu_triminfo_apbif" clock to access the shared triminfo register 39 -- "tmu_triminfo_apbif" clock to access the shared triminfo register
38 for current TMU channel 40 for current TMU channel
41 -- "tmu_sclk" clock for functional operation of the current TMU
42 channel
39- vtmu-supply: This entry is optional and provides the regulator node supplying 43- vtmu-supply: This entry is optional and provides the regulator node supplying
40 voltage to TMU. If needed this entry can be placed inside 44 voltage to TMU. If needed this entry can be placed inside
41 board/platform specific dts file. 45 board/platform specific dts file.
46Following properties are mandatory (depending on SoC):
47- samsung,tmu_gain: Gain value for internal TMU operation.
48- samsung,tmu_reference_voltage: Value of TMU IP block's reference voltage
49- samsung,tmu_noise_cancel_mode: Mode for noise cancellation
50- samsung,tmu_efuse_value: Default level of temperature - it is needed when
51 in factory fusing produced wrong value
52- samsung,tmu_min_efuse_value: Minimum temperature fused value
53- samsung,tmu_max_efuse_value: Maximum temperature fused value
54- samsung,tmu_first_point_trim: First point trimming value
55- samsung,tmu_second_point_trim: Second point trimming value
56- samsung,tmu_default_temp_offset: Default temperature offset
57- samsung,tmu_cal_type: Callibration type
42 58
43Example 1): 59Example 1):
44 60
@@ -51,6 +67,7 @@ Example 1):
51 clock-names = "tmu_apbif"; 67 clock-names = "tmu_apbif";
52 status = "disabled"; 68 status = "disabled";
53 vtmu-supply = <&tmu_regulator_node>; 69 vtmu-supply = <&tmu_regulator_node>;
70 #include "exynos4412-tmu-sensor-conf.dtsi"
54 }; 71 };
55 72
56Example 2): 73Example 2):
@@ -61,6 +78,7 @@ Example 2):
61 interrupts = <0 58 0>; 78 interrupts = <0 58 0>;
62 clocks = <&clock 21>; 79 clocks = <&clock 21>;
63 clock-names = "tmu_apbif"; 80 clock-names = "tmu_apbif";
81 #include "exynos5440-tmu-sensor-conf.dtsi"
64 }; 82 };
65 83
66Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") 84Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
@@ -70,6 +88,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
70 interrupts = <0 184 0>; 88 interrupts = <0 184 0>;
71 clocks = <&clock 318>, <&clock 318>; 89 clocks = <&clock 318>, <&clock 318>;
72 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 90 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
91 #include "exynos4412-tmu-sensor-conf.dtsi"
73 }; 92 };
74 93
75 tmu_cpu3: tmu@1006c000 { 94 tmu_cpu3: tmu@1006c000 {
@@ -78,6 +97,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
78 interrupts = <0 185 0>; 97 interrupts = <0 185 0>;
79 clocks = <&clock 318>, <&clock 319>; 98 clocks = <&clock 318>, <&clock 319>;
80 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 99 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
100 #include "exynos4412-tmu-sensor-conf.dtsi"
81 }; 101 };
82 102
83 tmu_gpu: tmu@100a0000 { 103 tmu_gpu: tmu@100a0000 {
@@ -86,6 +106,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
86 interrupts = <0 215 0>; 106 interrupts = <0 215 0>;
87 clocks = <&clock 319>, <&clock 318>; 107 clocks = <&clock 319>, <&clock 318>;
88 clock-names = "tmu_apbif", "tmu_triminfo_apbif"; 108 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
109 #include "exynos4412-tmu-sensor-conf.dtsi"
89 }; 110 };
90 111
91Note: For multi-instance tmu each instance should have an alias correctly 112Note: For multi-instance tmu each instance should have an alias correctly
diff --git a/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt b/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt
index ecf3ed76cd46..6b68cd150405 100644
--- a/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt
+++ b/Documentation/devicetree/bindings/thermal/tegra-soctherm.txt
@@ -7,7 +7,9 @@ notifications. It is also used to manage emergency shutdown in an
7overheating situation. 7overheating situation.
8 8
9Required properties : 9Required properties :
10- compatible : "nvidia,tegra124-soctherm". 10- compatible : For Tegra124, must contain "nvidia,tegra124-soctherm".
11 For Tegra132, must contain "nvidia,tegra132-soctherm".
12 For Tegra210, must contain "nvidia,tegra210-soctherm".
11- reg : Should contain 1 entry: 13- reg : Should contain 1 entry:
12 - SOCTHERM register set 14 - SOCTHERM register set
13- interrupts : Defines the interrupt used by SOCTHERM 15- interrupts : Defines the interrupt used by SOCTHERM
diff --git a/Documentation/devicetree/bindings/thermal/thermal.txt b/Documentation/devicetree/bindings/thermal/thermal.txt
index f5db6b72a36f..29fe0bfae38e 100644
--- a/Documentation/devicetree/bindings/thermal/thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/thermal.txt
@@ -251,24 +251,24 @@ ocp {
251}; 251};
252 252
253thermal-zones { 253thermal-zones {
254 cpu-thermal: cpu-thermal { 254 cpu_thermal: cpu-thermal {
255 polling-delay-passive = <250>; /* milliseconds */ 255 polling-delay-passive = <250>; /* milliseconds */
256 polling-delay = <1000>; /* milliseconds */ 256 polling-delay = <1000>; /* milliseconds */
257 257
258 thermal-sensors = <&bandgap0>; 258 thermal-sensors = <&bandgap0>;
259 259
260 trips { 260 trips {
261 cpu-alert0: cpu-alert { 261 cpu_alert0: cpu-alert0 {
262 temperature = <90000>; /* millicelsius */ 262 temperature = <90000>; /* millicelsius */
263 hysteresis = <2000>; /* millicelsius */ 263 hysteresis = <2000>; /* millicelsius */
264 type = "active"; 264 type = "active";
265 }; 265 };
266 cpu-alert1: cpu-alert { 266 cpu_alert1: cpu-alert1 {
267 temperature = <100000>; /* millicelsius */ 267 temperature = <100000>; /* millicelsius */
268 hysteresis = <2000>; /* millicelsius */ 268 hysteresis = <2000>; /* millicelsius */
269 type = "passive"; 269 type = "passive";
270 }; 270 };
271 cpu-crit: cpu-crit { 271 cpu_crit: cpu-crit {
272 temperature = <125000>; /* millicelsius */ 272 temperature = <125000>; /* millicelsius */
273 hysteresis = <2000>; /* millicelsius */ 273 hysteresis = <2000>; /* millicelsius */
274 type = "critical"; 274 type = "critical";
@@ -277,17 +277,17 @@ thermal-zones {
277 277
278 cooling-maps { 278 cooling-maps {
279 map0 { 279 map0 {
280 trip = <&cpu-alert0>; 280 trip = <&cpu_alert0>;
281 cooling-device = <&fan0 THERMAL_NO_LIMITS 4>; 281 cooling-device = <&fan0 THERMAL_NO_LIMIT 4>;
282 }; 282 };
283 map1 { 283 map1 {
284 trip = <&cpu-alert1>; 284 trip = <&cpu_alert1>;
285 cooling-device = <&fan0 5 THERMAL_NO_LIMITS>; 285 cooling-device = <&fan0 5 THERMAL_NO_LIMIT>;
286 }; 286 };
287 map2 { 287 map2 {
288 trip = <&cpu-alert1>; 288 trip = <&cpu_alert1>;
289 cooling-device = 289 cooling-device =
290 <&cpu0 THERMAL_NO_LIMITS THERMAL_NO_LIMITS>; 290 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
291 }; 291 };
292 }; 292 };
293 }; 293 };
@@ -298,13 +298,13 @@ used to monitor the zone 'cpu-thermal' using its sole sensor. A fan
298device (fan0) is controlled via I2C bus 1, at address 0x48, and has ten 298device (fan0) is controlled via I2C bus 1, at address 0x48, and has ten
299different cooling states 0-9. It is used to remove the heat out of 299different cooling states 0-9. It is used to remove the heat out of
300the thermal zone 'cpu-thermal' using its cooling states 300the thermal zone 'cpu-thermal' using its cooling states
301from its minimum to 4, when it reaches trip point 'cpu-alert0' 301from its minimum to 4, when it reaches trip point 'cpu_alert0'
302at 90C, as an example of active cooling. The same cooling device is used at 302at 90C, as an example of active cooling. The same cooling device is used at
303'cpu-alert1', but from 5 to its maximum state. The cpu@0 device is also 303'cpu_alert1', but from 5 to its maximum state. The cpu@0 device is also
304linked to the same thermal zone, 'cpu-thermal', as a passive cooling device, 304linked to the same thermal zone, 'cpu-thermal', as a passive cooling device,
305using all its cooling states at trip point 'cpu-alert1', 305using all its cooling states at trip point 'cpu_alert1',
306which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the 306which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the
307temperature of 125C, represented by the trip point 'cpu-crit', the silicon 307temperature of 125C, represented by the trip point 'cpu_crit', the silicon
308is not reliable anymore. 308is not reliable anymore.
309 309
310(b) - IC with several internal sensors 310(b) - IC with several internal sensors
@@ -329,7 +329,7 @@ ocp {
329}; 329};
330 330
331thermal-zones { 331thermal-zones {
332 cpu-thermal: cpu-thermal { 332 cpu_thermal: cpu-thermal {
333 polling-delay-passive = <250>; /* milliseconds */ 333 polling-delay-passive = <250>; /* milliseconds */
334 polling-delay = <1000>; /* milliseconds */ 334 polling-delay = <1000>; /* milliseconds */
335 335
@@ -338,12 +338,12 @@ thermal-zones {
338 338
339 trips { 339 trips {
340 /* each zone within the SoC may have its own trips */ 340 /* each zone within the SoC may have its own trips */
341 cpu-alert: cpu-alert { 341 cpu_alert: cpu-alert {
342 temperature = <100000>; /* millicelsius */ 342 temperature = <100000>; /* millicelsius */
343 hysteresis = <2000>; /* millicelsius */ 343 hysteresis = <2000>; /* millicelsius */
344 type = "passive"; 344 type = "passive";
345 }; 345 };
346 cpu-crit: cpu-crit { 346 cpu_crit: cpu-crit {
347 temperature = <125000>; /* millicelsius */ 347 temperature = <125000>; /* millicelsius */
348 hysteresis = <2000>; /* millicelsius */ 348 hysteresis = <2000>; /* millicelsius */
349 type = "critical"; 349 type = "critical";
@@ -356,7 +356,7 @@ thermal-zones {
356 }; 356 };
357 }; 357 };
358 358
359 gpu-thermal: gpu-thermal { 359 gpu_thermal: gpu-thermal {
360 polling-delay-passive = <120>; /* milliseconds */ 360 polling-delay-passive = <120>; /* milliseconds */
361 polling-delay = <1000>; /* milliseconds */ 361 polling-delay = <1000>; /* milliseconds */
362 362
@@ -365,12 +365,12 @@ thermal-zones {
365 365
366 trips { 366 trips {
367 /* each zone within the SoC may have its own trips */ 367 /* each zone within the SoC may have its own trips */
368 gpu-alert: gpu-alert { 368 gpu_alert: gpu-alert {
369 temperature = <90000>; /* millicelsius */ 369 temperature = <90000>; /* millicelsius */
370 hysteresis = <2000>; /* millicelsius */ 370 hysteresis = <2000>; /* millicelsius */
371 type = "passive"; 371 type = "passive";
372 }; 372 };
373 gpu-crit: gpu-crit { 373 gpu_crit: gpu-crit {
374 temperature = <105000>; /* millicelsius */ 374 temperature = <105000>; /* millicelsius */
375 hysteresis = <2000>; /* millicelsius */ 375 hysteresis = <2000>; /* millicelsius */
376 type = "critical"; 376 type = "critical";
@@ -383,7 +383,7 @@ thermal-zones {
383 }; 383 };
384 }; 384 };
385 385
386 dsp-thermal: dsp-thermal { 386 dsp_thermal: dsp-thermal {
387 polling-delay-passive = <50>; /* milliseconds */ 387 polling-delay-passive = <50>; /* milliseconds */
388 polling-delay = <1000>; /* milliseconds */ 388 polling-delay = <1000>; /* milliseconds */
389 389
@@ -392,12 +392,12 @@ thermal-zones {
392 392
393 trips { 393 trips {
394 /* each zone within the SoC may have its own trips */ 394 /* each zone within the SoC may have its own trips */
395 dsp-alert: gpu-alert { 395 dsp_alert: dsp-alert {
396 temperature = <90000>; /* millicelsius */ 396 temperature = <90000>; /* millicelsius */
397 hysteresis = <2000>; /* millicelsius */ 397 hysteresis = <2000>; /* millicelsius */
398 type = "passive"; 398 type = "passive";
399 }; 399 };
400 dsp-crit: gpu-crit { 400 dsp_crit: gpu-crit {
401 temperature = <135000>; /* millicelsius */ 401 temperature = <135000>; /* millicelsius */
402 hysteresis = <2000>; /* millicelsius */ 402 hysteresis = <2000>; /* millicelsius */
403 type = "critical"; 403 type = "critical";
@@ -457,7 +457,7 @@ ocp {
457}; 457};
458 458
459thermal-zones { 459thermal-zones {
460 cpu-thermal: cpu-thermal { 460 cpu_thermal: cpu-thermal {
461 polling-delay-passive = <250>; /* milliseconds */ 461 polling-delay-passive = <250>; /* milliseconds */
462 polling-delay = <1000>; /* milliseconds */ 462 polling-delay = <1000>; /* milliseconds */
463 463
@@ -508,7 +508,7 @@ with many sensors and many cooling devices.
508 /* 508 /*
509 * An IC with several temperature sensor. 509 * An IC with several temperature sensor.
510 */ 510 */
511 adc-dummy: sensor@0x50 { 511 adc_dummy: sensor@0x50 {
512 ... 512 ...
513 #thermal-sensor-cells = <1>; /* sensor internal ID */ 513 #thermal-sensor-cells = <1>; /* sensor internal ID */
514 }; 514 };
@@ -520,7 +520,7 @@ thermal-zones {
520 polling-delay = <2500>; /* milliseconds */ 520 polling-delay = <2500>; /* milliseconds */
521 521
522 /* sensor ID */ 522 /* sensor ID */
523 thermal-sensors = <&adc-dummy 4>; 523 thermal-sensors = <&adc_dummy 4>;
524 524
525 trips { 525 trips {
526 ... 526 ...
@@ -531,14 +531,14 @@ thermal-zones {
531 }; 531 };
532 }; 532 };
533 533
534 board-thermal: board-thermal { 534 board_thermal: board-thermal {
535 polling-delay-passive = <1000>; /* milliseconds */ 535 polling-delay-passive = <1000>; /* milliseconds */
536 polling-delay = <2500>; /* milliseconds */ 536 polling-delay = <2500>; /* milliseconds */
537 537
538 /* sensor ID */ 538 /* sensor ID */
539 thermal-sensors = <&adc-dummy 0>, /* pcb top edge */ 539 thermal-sensors = <&adc_dummy 0>, /* pcb top edge */
540 <&adc-dummy 1>, /* lcd */ 540 <&adc_dummy 1>, /* lcd */
541 <&adc-dymmy 2>; /* back cover */ 541 <&adc_dummy 2>; /* back cover */
542 /* 542 /*
543 * An array of coefficients describing the sensor 543 * An array of coefficients describing the sensor
544 * linear relation. E.g.: 544 * linear relation. E.g.:
@@ -548,22 +548,22 @@ thermal-zones {
548 548
549 trips { 549 trips {
550 /* Trips are based on resulting linear equation */ 550 /* Trips are based on resulting linear equation */
551 cpu-trip: cpu-trip { 551 cpu_trip: cpu-trip {
552 temperature = <60000>; /* millicelsius */ 552 temperature = <60000>; /* millicelsius */
553 hysteresis = <2000>; /* millicelsius */ 553 hysteresis = <2000>; /* millicelsius */
554 type = "passive"; 554 type = "passive";
555 }; 555 };
556 gpu-trip: gpu-trip { 556 gpu_trip: gpu-trip {
557 temperature = <55000>; /* millicelsius */ 557 temperature = <55000>; /* millicelsius */
558 hysteresis = <2000>; /* millicelsius */ 558 hysteresis = <2000>; /* millicelsius */
559 type = "passive"; 559 type = "passive";
560 } 560 }
561 lcd-trip: lcp-trip { 561 lcd_trip: lcp-trip {
562 temperature = <53000>; /* millicelsius */ 562 temperature = <53000>; /* millicelsius */
563 hysteresis = <2000>; /* millicelsius */ 563 hysteresis = <2000>; /* millicelsius */
564 type = "passive"; 564 type = "passive";
565 }; 565 };
566 crit-trip: crit-trip { 566 crit_trip: crit-trip {
567 temperature = <68000>; /* millicelsius */ 567 temperature = <68000>; /* millicelsius */
568 hysteresis = <2000>; /* millicelsius */ 568 hysteresis = <2000>; /* millicelsius */
569 type = "critical"; 569 type = "critical";
@@ -572,17 +572,17 @@ thermal-zones {
572 572
573 cooling-maps { 573 cooling-maps {
574 map0 { 574 map0 {
575 trip = <&cpu-trip>; 575 trip = <&cpu_trip>;
576 cooling-device = <&cpu0 0 2>; 576 cooling-device = <&cpu0 0 2>;
577 contribution = <55>; 577 contribution = <55>;
578 }; 578 };
579 map1 { 579 map1 {
580 trip = <&gpu-trip>; 580 trip = <&gpu_trip>;
581 cooling-device = <&gpu0 0 2>; 581 cooling-device = <&gpu0 0 2>;
582 contribution = <20>; 582 contribution = <20>;
583 }; 583 };
584 map2 { 584 map2 {
585 trip = <&lcd-trip>; 585 trip = <&lcd_trip>;
586 cooling-device = <&lcd0 5 10>; 586 cooling-device = <&lcd0 5 10>;
587 contribution = <15>; 587 contribution = <15>;
588 }; 588 };
diff --git a/Documentation/devicetree/bindings/timer/digicolor-timer.txt b/Documentation/devicetree/bindings/timer/digicolor-timer.txt
new file mode 100644
index 000000000000..d1b659bbc29f
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/digicolor-timer.txt
@@ -0,0 +1,18 @@
1Conexant Digicolor SoCs Timer Controller
2
3Required properties:
4
5- compatible : should be "cnxt,cx92755-timer"
6- reg : Specifies base physical address and size of the "Agent Communication"
7 timer registers
8- interrupts : Contains 8 interrupts, one for each timer
9- clocks: phandle to the main clock
10
11Example:
12
13 timer@f0000fc0 {
14 compatible = "cnxt,cx92755-timer";
15 reg = <0xf0000fc0 0x40>;
16 interrupts = <19>, <31>, <34>, <35>, <52>, <53>, <54>, <55>;
17 clocks = <&main_clk>;
18 };
diff --git a/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt b/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt
index b5082a1cf461..1761f53ee36f 100644
--- a/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt
+++ b/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt
@@ -6,7 +6,9 @@ trigger a legacy watchdog reset.
6 6
7Required properties: 7Required properties:
8 8
9- compatible : should be "nvidia,tegra30-timer", "nvidia,tegra20-timer". 9- compatible : For Tegra30, must contain "nvidia,tegra30-timer". Otherwise,
10 must contain '"nvidia,<chip>-timer", "nvidia,tegra30-timer"' where
11 <chip> is tegra124 or tegra132.
10- reg : Specifies base physical address and size of the registers. 12- reg : Specifies base physical address and size of the registers.
11- interrupts : A list of 6 interrupts; one per each of timer channels 1 13- interrupts : A list of 6 interrupts; one per each of timer channels 1
12 through 5, and one for the shared interrupt for the remaining channels. 14 through 5, and one for the shared interrupt for the remaining channels.
diff --git a/Documentation/devicetree/bindings/timer/rockchip,rk3288-timer.txt b/Documentation/devicetree/bindings/timer/rockchip,rk3288-timer.txt
new file mode 100644
index 000000000000..87f0b0042bae
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/rockchip,rk3288-timer.txt
@@ -0,0 +1,18 @@
1Rockchip rk3288 timer
2
3Required properties:
4- compatible: shall be "rockchip,rk3288-timer"
5- reg: base address of the timer register starting with TIMERS CONTROL register
6- interrupts: should contain the interrupts for Timer0
7- clocks : must contain an entry for each entry in clock-names
8- clock-names : must include the following entries:
9 "timer", "pclk"
10
11Example:
12 timer: timer@ff810000 {
13 compatible = "rockchip,rk3288-timer";
14 reg = <0xff810000 0x20>;
15 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
16 clocks = <&xin24m>, <&cru PCLK_TIMER>;
17 clock-names = "timer", "pclk";
18 };
diff --git a/Documentation/devicetree/bindings/unittest.txt b/Documentation/devicetree/bindings/unittest.txt
index 0f92a22fddfa..8933211f32f9 100644
--- a/Documentation/devicetree/bindings/unittest.txt
+++ b/Documentation/devicetree/bindings/unittest.txt
@@ -1,4 +1,4 @@
1* OF selftest platform device 11) OF selftest platform device
2 2
3** selftest 3** selftest
4 4
@@ -12,3 +12,60 @@ Example:
12 compatible = "selftest"; 12 compatible = "selftest";
13 status = "okay"; 13 status = "okay";
14 }; 14 };
15
162) OF selftest i2c adapter platform device
17
18** platform device unittest adapter
19
20Required properties:
21- compatible: must be selftest-i2c-bus
22
23Children nodes contain selftest i2c devices.
24
25Example:
26 selftest-i2c-bus {
27 compatible = "selftest-i2c-bus";
28 status = "okay";
29 };
30
313) OF selftest i2c device
32
33** I2C selftest device
34
35Required properties:
36- compatible: must be selftest-i2c-dev
37
38All other properties are optional
39
40Example:
41 selftest-i2c-dev {
42 compatible = "selftest-i2c-dev";
43 status = "okay";
44 };
45
464) OF selftest i2c mux device
47
48** I2C selftest mux
49
50Required properties:
51- compatible: must be selftest-i2c-mux
52
53Children nodes contain selftest i2c bus nodes per channel.
54
55Example:
56 selftest-i2c-mux {
57 compatible = "selftest-i2c-mux";
58 status = "okay";
59 #address-cells = <1>;
60 #size-cells = <0>;
61 channel-0 {
62 reg = <0>;
63 #address-cells = <1>;
64 #size-cells = <0>;
65 i2c-dev {
66 reg = <8>;
67 compatible = "selftest-i2c-dev";
68 status = "okay";
69 };
70 };
71 };
diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt
index bc2222ca3f2a..e180d56c75db 100644
--- a/Documentation/devicetree/bindings/usb/atmel-usb.txt
+++ b/Documentation/devicetree/bindings/usb/atmel-usb.txt
@@ -33,9 +33,17 @@ usb1: ehci@00800000 {
33AT91 USB device controller 33AT91 USB device controller
34 34
35Required properties: 35Required properties:
36 - compatible: Should be "atmel,at91rm9200-udc" 36 - compatible: Should be one of the following
37 "atmel,at91rm9200-udc"
38 "atmel,at91sam9260-udc"
39 "atmel,at91sam9261-udc"
40 "atmel,at91sam9263-udc"
37 - reg: Address and length of the register set for the device 41 - reg: Address and length of the register set for the device
38 - interrupts: Should contain macb interrupt 42 - interrupts: Should contain macb interrupt
43 - clocks: Should reference the peripheral and the AHB clocks
44 - clock-names: Should contains two strings
45 "pclk" for the peripheral clock
46 "hclk" for the AHB clock
39 47
40Optional properties: 48Optional properties:
41 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 49 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
@@ -51,7 +59,10 @@ usb1: gadget@fffa4000 {
51Atmel High-Speed USB device controller 59Atmel High-Speed USB device controller
52 60
53Required properties: 61Required properties:
54 - compatible: Should be "atmel,at91sam9rl-udc" 62 - compatible: Should be one of the following
63 "at91sam9rl-udc"
64 "at91sam9g45-udc"
65 "sama5d3-udc"
55 - reg: Address and length of the register set for the device 66 - reg: Address and length of the register set for the device
56 - interrupts: Should contain usba interrupt 67 - interrupts: Should contain usba interrupt
57 - ep childnode: To specify the number of endpoints and their properties. 68 - ep childnode: To specify the number of endpoints and their properties.
diff --git a/Documentation/devicetree/bindings/usb/dwc2.txt b/Documentation/devicetree/bindings/usb/dwc2.txt
index 482f815363ef..fd132cbee70e 100644
--- a/Documentation/devicetree/bindings/usb/dwc2.txt
+++ b/Documentation/devicetree/bindings/usb/dwc2.txt
@@ -20,6 +20,10 @@ Optional properties:
20Refer to phy/phy-bindings.txt for generic phy consumer properties 20Refer to phy/phy-bindings.txt for generic phy consumer properties
21- dr_mode: shall be one of "host", "peripheral" and "otg" 21- dr_mode: shall be one of "host", "peripheral" and "otg"
22 Refer to usb/generic.txt 22 Refer to usb/generic.txt
23- g-use-dma: enable dma usage in gadget driver.
24- g-rx-fifo-size: size of rx fifo size in gadget mode.
25- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
26- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
23 27
24Example: 28Example:
25 29
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
index 3dc9140e3dfb..f60785f73d3d 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
@@ -6,7 +6,10 @@ Practice : Universal Serial Bus" with the following modifications
6and additions : 6and additions :
7 7
8Required properties : 8Required properties :
9 - compatible : Should be "nvidia,tegra20-ehci". 9 - compatible : For Tegra20, must contain "nvidia,tegra20-ehci".
10 For Tegra30, must contain "nvidia,tegra30-ehci". Otherwise, must contain
11 "nvidia,<chip>-ehci" plus at least one of the above, where <chip> is
12 tegra114, tegra124, tegra132, or tegra210.
10 - nvidia,phy : phandle of the PHY that the controller is connected to. 13 - nvidia,phy : phandle of the PHY that the controller is connected to.
11 - clocks : Must contain one entry, for the module clock. 14 - clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details. 15 See ../clocks/clock-bindings.txt for details.
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
index c9205fbf26e2..a9aa79fb90ed 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
@@ -3,7 +3,10 @@ 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,tegra<chip>-usb-phy". 6 - compatible : For Tegra20, must contain "nvidia,tegra20-usb-phy".
7 For Tegra30, must contain "nvidia,tegra30-usb-phy". Otherwise, must contain
8 "nvidia,<chip>-usb-phy" plus at least one of the above, where <chip> is
9 tegra114, tegra124, tegra132, or tegra210.
7 - reg : Defines the following set of registers, in the order listed: 10 - reg : Defines the following set of registers, in the order listed:
8 - The PHY's own register set. 11 - The PHY's own register set.
9 Always present. 12 Always present.
diff --git a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
index b08c903f8668..61b045b6d50e 100644
--- a/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
+++ b/Documentation/devicetree/bindings/usb/renesas_usbhs.txt
@@ -14,6 +14,8 @@ Optional properties:
14 function should be enabled 14 function should be enabled
15 - phys: phandle + phy specifier pair 15 - phys: phandle + phy specifier pair
16 - phy-names: must be "usb" 16 - phy-names: must be "usb"
17 - dmas: Must contain a list of references to DMA specifiers.
18 - dma-names : Must contain a list of DMA names, "tx" or "rx".
17 19
18Example: 20Example:
19 usbhs: usb@e6590000 { 21 usbhs: usb@e6590000 {
diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
index 43c1a4e06767..0b04fdff9d5a 100644
--- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
@@ -12,6 +12,7 @@ Optional properties:
12 - big-endian-regs : boolean, set this for hcds with big-endian registers 12 - big-endian-regs : boolean, set this for hcds with big-endian registers
13 - big-endian-desc : boolean, set this for hcds with big-endian descriptors 13 - big-endian-desc : boolean, set this for hcds with big-endian descriptors
14 - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc 14 - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
15 - needs-reset-on-resume : boolean, set this to force EHCI reset after resume
15 - clocks : a list of phandle + clock specifier pairs 16 - clocks : a list of phandle + clock specifier pairs
16 - phys : phandle + phy specifier pair 17 - phys : phandle + phy specifier pair
17 - phy-names : "usb" 18 - phy-names : "usb"
diff --git a/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt b/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt
index 1bd37faba05b..5be01c859b7a 100644
--- a/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt
+++ b/Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt
@@ -13,10 +13,15 @@ Optional properties:
13- clock-frequency: the clock frequency (in Hz) that the PHY clock must 13- clock-frequency: the clock frequency (in Hz) that the PHY clock must
14 be configured to. 14 be configured to.
15 15
16- vcc-supply: phandle to the regulator that provides RESET to the PHY. 16- vcc-supply: phandle to the regulator that provides power to the PHY.
17 17
18- reset-gpios: Should specify the GPIO for reset. 18- reset-gpios: Should specify the GPIO for reset.
19 19
20- vbus-detect-gpio: should specify the GPIO detecting a VBus insertion
21 (see Documentation/devicetree/bindings/gpio/gpio.txt)
22- vbus-regulator : should specifiy the regulator supplying current drawn from
23 the VBus line (see Documentation/devicetree/bindings/regulator/regulator.txt).
24
20Example: 25Example:
21 26
22 hsusb1_phy { 27 hsusb1_phy {
@@ -26,8 +31,11 @@ Example:
26 clock-names = "main_clk"; 31 clock-names = "main_clk";
27 vcc-supply = <&hsusb1_vcc_regulator>; 32 vcc-supply = <&hsusb1_vcc_regulator>;
28 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; 33 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
34 vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
35 vbus-regulator = <&vbus_regulator>;
29 }; 36 };
30 37
31hsusb1_phy is a NOP USB PHY device that gets its clock from an oscillator 38hsusb1_phy is a NOP USB PHY device that gets its clock from an oscillator
32and expects that clock to be configured to 19.2MHz by the NOP PHY driver. 39and expects that clock to be configured to 19.2MHz by the NOP PHY driver.
33hsusb1_vcc_regulator provides power to the PHY and GPIO 7 controls RESET. 40hsusb1_vcc_regulator provides power to the PHY and GPIO 7 controls RESET.
41GPIO 13 detects VBus insertion, and accordingly notifies the vbus-regulator.
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index d443279c95dc..389ca1347a77 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -4,12 +4,15 @@ This isn't an exhaustive list, but you should add new prefixes to it before
4using them to avoid name-space collisions. 4using them to avoid name-space collisions.
5 5
6abilis Abilis Systems 6abilis Abilis Systems
7abcn Abracon Corporation
7active-semi Active-Semi International Inc 8active-semi Active-Semi International Inc
8ad Avionic Design GmbH 9ad Avionic Design GmbH
9adapteva Adapteva, Inc. 10adapteva Adapteva, Inc.
11adh AD Holdings Plc.
10adi Analog Devices, Inc. 12adi Analog Devices, Inc.
11aeroflexgaisler Aeroflex Gaisler AB 13aeroflexgaisler Aeroflex Gaisler AB
12allwinner Allwinner Technology Co., Ltd. 14allwinner Allwinner Technology Co., Ltd.
15alphascale AlphaScale Integrated Circuits Systems, Inc.
13altr Altera Corp. 16altr Altera Corp.
14amcc Applied Micro Circuits Corporation (APM, formally AMCC) 17amcc Applied Micro Circuits Corporation (APM, formally AMCC)
15amd Advanced Micro Devices (AMD), Inc. 18amd Advanced Micro Devices (AMD), Inc.
@@ -23,6 +26,7 @@ asahi-kasei Asahi Kasei Corp.
23atmel Atmel Corporation 26atmel Atmel Corporation
24auo AU Optronics Corporation 27auo AU Optronics Corporation
25avago Avago Technologies 28avago Avago Technologies
29avic Shanghai AVIC Optoelectronics Co., Ltd.
26bosch Bosch Sensortec GmbH 30bosch Bosch Sensortec GmbH
27brcm Broadcom Corporation 31brcm Broadcom Corporation
28buffalo Buffalo, Inc. 32buffalo Buffalo, Inc.
@@ -31,11 +35,15 @@ capella Capella Microsystems, Inc
31cavium Cavium, Inc. 35cavium Cavium, Inc.
32cdns Cadence Design Systems Inc. 36cdns Cadence Design Systems Inc.
33chipidea Chipidea, Inc 37chipidea Chipidea, Inc
38chipspark ChipSPARK
34chrp Common Hardware Reference Platform 39chrp Common Hardware Reference Platform
35chunghwa Chunghwa Picture Tubes Ltd. 40chunghwa Chunghwa Picture Tubes Ltd.
36cirrus Cirrus Logic, Inc. 41cirrus Cirrus Logic, Inc.
42cloudengines Cloud Engines, Inc.
37cnm Chips&Media, Inc. 43cnm Chips&Media, Inc.
44cnxt Conexant Systems, Inc.
38cortina Cortina Systems, Inc. 45cortina Cortina Systems, Inc.
46cosmic Cosmic Circuits
39crystalfontz Crystalfontz America, Inc. 47crystalfontz Crystalfontz America, Inc.
40dallas Maxim Integrated Products (formerly Dallas Semiconductor) 48dallas Maxim Integrated Products (formerly Dallas Semiconductor)
41davicom DAVICOM Semiconductor, Inc. 49davicom DAVICOM Semiconductor, Inc.
@@ -54,14 +62,18 @@ epcos EPCOS AG
54epfl Ecole Polytechnique Fédérale de Lausanne 62epfl Ecole Polytechnique Fédérale de Lausanne
55epson Seiko Epson Corp. 63epson Seiko Epson Corp.
56est ESTeem Wireless Modems 64est ESTeem Wireless Modems
65ettus NI Ettus Research
57eukrea Eukréa Electromatique 66eukrea Eukréa Electromatique
58everest Everest Semiconductor Co. Ltd. 67everest Everest Semiconductor Co. Ltd.
68everspin Everspin Technologies, Inc.
59excito Excito 69excito Excito
60fcs Fairchild Semiconductor 70fcs Fairchild Semiconductor
71firefly Firefly
61fsl Freescale Semiconductor 72fsl Freescale Semiconductor
62GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc. 73GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
63gef GE Fanuc Intelligent Platforms Embedded Systems, Inc. 74gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
64geniatech Geniatech, Inc. 75geniatech Geniatech, Inc.
76giantplus Giantplus Technology Co., Ltd.
65globalscale Globalscale Technologies, Inc. 77globalscale Globalscale Technologies, Inc.
66gmt Global Mixed-mode Technology, Inc. 78gmt Global Mixed-mode Technology, Inc.
67google Google, Inc. 79google Google, Inc.
@@ -69,6 +81,7 @@ gumstix Gumstix, Inc.
69gw Gateworks Corporation 81gw Gateworks Corporation
70hannstar HannStar Display Corporation 82hannstar HannStar Display Corporation
71haoyu Haoyu Microelectronic Co. Ltd. 83haoyu Haoyu Microelectronic Co. Ltd.
84himax Himax Technologies, Inc.
72hisilicon Hisilicon Limited. 85hisilicon Hisilicon Limited.
73hit Hitachi Ltd. 86hit Hitachi Ltd.
74honeywell Honeywell 87honeywell Honeywell
@@ -82,8 +95,7 @@ innolux Innolux Corporation
82intel Intel Corporation 95intel Intel Corporation
83intercontrol Inter Control Group 96intercontrol Inter Control Group
84isee ISEE 2007 S.L. 97isee ISEE 2007 S.L.
85isil Intersil (deprecated, use isl) 98isil Intersil
86isl Intersil
87karo Ka-Ro electronics GmbH 99karo Ka-Ro electronics GmbH
88keymile Keymile GmbH 100keymile Keymile GmbH
89lacie LaCie 101lacie LaCie
@@ -118,7 +130,9 @@ nvidia NVIDIA
118nxp NXP Semiconductors 130nxp NXP Semiconductors
119onnn ON Semiconductor Corp. 131onnn ON Semiconductor Corp.
120opencores OpenCores.org 132opencores OpenCores.org
133ovti OmniVision Technologies
121panasonic Panasonic Corporation 134panasonic Panasonic Corporation
135parade Parade Technologies Inc.
122pericom Pericom Technology Inc. 136pericom Pericom Technology Inc.
123phytec PHYTEC Messtechnik GmbH 137phytec PHYTEC Messtechnik GmbH
124picochip Picochip Ltd 138picochip Picochip Ltd
@@ -142,8 +156,10 @@ sandisk Sandisk Corporation
142sbs Smart Battery System 156sbs Smart Battery System
143schindler Schindler 157schindler Schindler
144seagate Seagate Technology PLC 158seagate Seagate Technology PLC
159semtech Semtech Corporation
145sil Silicon Image 160sil Silicon Image
146silabs Silicon Laboratories 161silabs Silicon Laboratories
162siliconmitus Silicon Mitus, Inc.
147simtek 163simtek
148sii Seiko Instruments, Inc. 164sii Seiko Instruments, Inc.
149silergy Silergy Corp. 165silergy Silergy Corp.
@@ -154,6 +170,7 @@ snps Synopsys, Inc.
154solidrun SolidRun 170solidrun SolidRun
155sony Sony Corporation 171sony Sony Corporation
156spansion Spansion Inc. 172spansion Spansion Inc.
173sprd Spreadtrum Communications Inc.
157st STMicroelectronics 174st STMicroelectronics
158ste ST-Ericsson 175ste ST-Ericsson
159stericsson ST-Ericsson 176stericsson ST-Ericsson
@@ -165,6 +182,7 @@ tlm Trusted Logic Mobility
165toradex Toradex AG 182toradex Toradex AG
166toshiba Toshiba Corporation 183toshiba Toshiba Corporation
167toumaz Toumaz 184toumaz Toumaz
185truly Truly Semiconductors Limited
168usi Universal Scientific Industrial Co., Ltd. 186usi Universal Scientific Industrial Co., Ltd.
169v3 V3 Semiconductor 187v3 V3 Semiconductor
170variscite Variscite Ltd. 188variscite Variscite Ltd.
diff --git a/Documentation/devicetree/bindings/video/bridge/ps8622.txt b/Documentation/devicetree/bindings/video/bridge/ps8622.txt
new file mode 100644
index 000000000000..c989c3807f2b
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/bridge/ps8622.txt
@@ -0,0 +1,31 @@
1ps8622-bridge bindings
2
3Required properties:
4 - compatible: "parade,ps8622" or "parade,ps8625"
5 - reg: first i2c address of the bridge
6 - sleep-gpios: OF device-tree gpio specification for PD_ pin.
7 - reset-gpios: OF device-tree gpio specification for RST_ pin.
8
9Optional properties:
10 - lane-count: number of DP lanes to use
11 - use-external-pwm: backlight will be controlled by an external PWM
12 - video interfaces: Device node can contain video interface port
13 nodes for panel according to [1].
14
15[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
16
17Example:
18 lvds-bridge@48 {
19 compatible = "parade,ps8622";
20 reg = <0x48>;
21 sleep-gpios = <&gpc3 6 1 0 0>;
22 reset-gpios = <&gpc3 1 1 0 0>;
23 lane-count = <1>;
24 ports {
25 port@0 {
26 bridge_out: endpoint {
27 remote-endpoint = <&panel_in>;
28 };
29 };
30 };
31 };
diff --git a/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt b/Documentation/devicetree/bindings/video/bridge/ptn3460.txt
index 52b93b2c6748..361971ba104d 100644
--- a/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt
+++ b/Documentation/devicetree/bindings/video/bridge/ptn3460.txt
@@ -3,8 +3,8 @@ ptn3460 bridge bindings
3Required properties: 3Required properties:
4 - compatible: "nxp,ptn3460" 4 - compatible: "nxp,ptn3460"
5 - reg: i2c address of the bridge 5 - reg: i2c address of the bridge
6 - powerdown-gpio: OF device-tree gpio specification 6 - powerdown-gpio: OF device-tree gpio specification for PD_N pin.
7 - reset-gpio: OF device-tree gpio specification 7 - reset-gpio: OF device-tree gpio specification for RST_N pin.
8 - edid-emulation: The EDID emulation entry to use 8 - edid-emulation: The EDID emulation entry to use
9 +-------+------------+------------------+ 9 +-------+------------+------------------+
10 | Value | Resolution | Description | 10 | Value | Resolution | Description |
@@ -17,6 +17,11 @@ Required properties:
17 | 6 | 1600x900 | ChiMei M215HGE | 17 | 6 | 1600x900 | ChiMei M215HGE |
18 +-------+------------+------------------+ 18 +-------+------------+------------------+
19 19
20 - video interfaces: Device node can contain video interface port
21 nodes for panel according to [1].
22
23[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
24
20Example: 25Example:
21 lvds-bridge@20 { 26 lvds-bridge@20 {
22 compatible = "nxp,ptn3460"; 27 compatible = "nxp,ptn3460";
@@ -24,4 +29,11 @@ Example:
24 powerdown-gpio = <&gpy2 5 1 0 0>; 29 powerdown-gpio = <&gpy2 5 1 0 0>;
25 reset-gpio = <&gpx1 5 1 0 0>; 30 reset-gpio = <&gpx1 5 1 0 0>;
26 edid-emulation = <5>; 31 edid-emulation = <5>;
32 ports {
33 port@0 {
34 bridge_out: endpoint {
35 remote-endpoint = <&panel_in>;
36 };
37 };
38 };
27 }; 39 };
diff --git a/Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt b/Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
new file mode 100644
index 000000000000..668091f27674
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
@@ -0,0 +1,46 @@
1Rockchip specific extensions to the Synopsys Designware HDMI
2================================
3
4Required properties:
5- compatible: "rockchip,rk3288-dw-hdmi";
6- reg: Physical base address and length of the controller's registers.
7- clocks: phandle to hdmi iahb and isfr clocks.
8- clock-names: should be "iahb" "isfr"
9- rockchip,grf: this soc should set GRF regs to mux vopl/vopb.
10- interrupts: HDMI interrupt number
11- ports: contain a port node with endpoint definitions as defined in
12 Documentation/devicetree/bindings/media/video-interfaces.txt. For
13 vopb,set the reg = <0> and set the reg = <1> for vopl.
14- reg-io-width: the width of the reg:1,4, the value should be 4 on
15 rk3288 platform
16
17Optional properties
18- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
19- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
20
21Example:
22hdmi: hdmi@ff980000 {
23 compatible = "rockchip,rk3288-dw-hdmi";
24 reg = <0xff980000 0x20000>;
25 reg-io-width = <4>;
26 ddc-i2c-bus = <&i2c5>;
27 rockchip,grf = <&grf>;
28 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
29 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
30 clock-names = "iahb", "isfr";
31 status = "disabled";
32 ports {
33 hdmi_in: port {
34 #address-cells = <1>;
35 #size-cells = <0>;
36 hdmi_in_vopb: endpoint@0 {
37 reg = <0>;
38 remote-endpoint = <&vopb_out_hdmi>;
39 };
40 hdmi_in_vopl: endpoint@1 {
41 reg = <1>;
42 remote-endpoint = <&vopl_out_hdmi>;
43 };
44 };
45 };
46};
diff --git a/Documentation/devicetree/bindings/video/exynos7-decon.txt b/Documentation/devicetree/bindings/video/exynos7-decon.txt
new file mode 100644
index 000000000000..f5f9c8d4a55a
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/exynos7-decon.txt
@@ -0,0 +1,68 @@
1Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
2
3DECON (Display and Enhancement Controller) is the Display Controller for the
4Exynos7 series of SoCs which transfers the image data from a video memory
5buffer to an external LCD interface.
6
7Required properties:
8- compatible: value should be "samsung,exynos7-decon";
9
10- reg: physical base address and length of the DECON registers set.
11
12- interrupt-parent: should be the phandle of the decon controller's
13 parent interrupt controller.
14
15- interrupts: should contain a list of all DECON IP block interrupts in the
16 order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
17 format depends on the interrupt controller used.
18
19- interrupt-names: should contain the interrupt names: "fifo", "vsync",
20 "lcd_sys", in the same order as they were listed in the interrupts
21 property.
22
23- pinctrl-0: pin control group to be used for this controller.
24
25- pinctrl-names: must contain a "default" entry.
26
27- clocks: must include clock specifiers corresponding to entries in the
28 clock-names property.
29
30- clock-names: list of clock names sorted in the same order as the clocks
31 property. Must contain "pclk_decon0", "aclk_decon0",
32 "decon0_eclk", "decon0_vclk".
33- i80-if-timings: timing configuration for lcd i80 interface support.
34
35Optional Properties:
36- samsung,power-domain: a phandle to DECON power domain node.
37- display-timings: timing settings for DECON, as described in document [1].
38 Can be used in case timings cannot be provided otherwise
39 or to override timings provided by the panel.
40
41[1]: Documentation/devicetree/bindings/video/display-timing.txt
42
43Example:
44
45SoC specific DT entry:
46
47 decon@13930000 {
48 compatible = "samsung,exynos7-decon";
49 interrupt-parent = <&combiner>;
50 reg = <0x13930000 0x1000>;
51 interrupt-names = "lcd_sys", "vsync", "fifo";
52 interrupts = <0 188 0>, <0 189 0>, <0 190 0>;
53 clocks = <&clock_disp PCLK_DECON_INT>,
54 <&clock_disp ACLK_DECON_INT>,
55 <&clock_disp SCLK_DECON_INT_ECLK>,
56 <&clock_disp SCLK_DECON_INT_EXTCLKPLL>;
57 clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk",
58 "decon0_vclk";
59 status = "disabled";
60 };
61
62Board specific DT entry:
63
64 decon@13930000 {
65 pinctrl-0 = <&lcd_clk &pwm1_out>;
66 pinctrl-names = "default";
67 status = "okay";
68 };
diff --git a/Documentation/devicetree/bindings/video/exynos_dp.txt b/Documentation/devicetree/bindings/video/exynos_dp.txt
index 53dbccfa80ca..7a3a9cdb86ab 100644
--- a/Documentation/devicetree/bindings/video/exynos_dp.txt
+++ b/Documentation/devicetree/bindings/video/exynos_dp.txt
@@ -66,6 +66,10 @@ Optional properties for dp-controller:
66 Hotplug detect GPIO. 66 Hotplug detect GPIO.
67 Indicates which GPIO should be used for hotplug 67 Indicates which GPIO should be used for hotplug
68 detection 68 detection
69 -video interfaces: Device node can contain video interface port
70 nodes according to [1].
71
72[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
69 73
70Example: 74Example:
71 75
@@ -105,4 +109,12 @@ Board Specific portion:
105 vsync-len = <6>; 109 vsync-len = <6>;
106 }; 110 };
107 }; 111 };
112
113 ports {
114 port@0 {
115 dp_out: endpoint {
116 remote-endpoint = <&bridge_in>;
117 };
118 };
119 };
108 }; 120 };
diff --git a/Documentation/devicetree/bindings/video/exynos_dsim.txt b/Documentation/devicetree/bindings/video/exynos_dsim.txt
index ca2b4aacd9af..802aa7ef64e5 100644
--- a/Documentation/devicetree/bindings/video/exynos_dsim.txt
+++ b/Documentation/devicetree/bindings/video/exynos_dsim.txt
@@ -21,7 +21,7 @@ Required properties:
21 according to DSI host bindings (see MIPI DSI bindings [1]) 21 according to DSI host bindings (see MIPI DSI bindings [1])
22 22
23Optional properties: 23Optional properties:
24 - samsung,power-domain: a phandle to DSIM power domain node 24 - power-domains: a phandle to DSIM power domain node
25 25
26Child nodes: 26Child nodes:
27 Should contain DSI peripheral nodes (see MIPI DSI bindings [1]). 27 Should contain DSI peripheral nodes (see MIPI DSI bindings [1]).
@@ -53,7 +53,7 @@ Example:
53 phy-names = "dsim"; 53 phy-names = "dsim";
54 vddcore-supply = <&vusb_reg>; 54 vddcore-supply = <&vusb_reg>;
55 vddio-supply = <&vmipi_reg>; 55 vddio-supply = <&vmipi_reg>;
56 samsung,power-domain = <&pd_lcd0>; 56 power-domains = <&pd_lcd0>;
57 #address-cells = <1>; 57 #address-cells = <1>;
58 #size-cells = <0>; 58 #size-cells = <0>;
59 samsung,pll-clock-frequency = <24000000>; 59 samsung,pll-clock-frequency = <24000000>;
diff --git a/Documentation/devicetree/bindings/video/exynos_mixer.txt b/Documentation/devicetree/bindings/video/exynos_mixer.txt
index 08b394b1edbf..3e38128f866b 100644
--- a/Documentation/devicetree/bindings/video/exynos_mixer.txt
+++ b/Documentation/devicetree/bindings/video/exynos_mixer.txt
@@ -15,6 +15,7 @@ Required properties:
15 a) mixer: Gate of Mixer IP bus clock. 15 a) mixer: Gate of Mixer IP bus clock.
16 b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of 16 b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of
17 mixer mux. 17 mixer mux.
18 c) hdmi: Gate of HDMI IP bus clock, needed together with sclk_hdmi.
18 19
19Example: 20Example:
20 21
diff --git a/Documentation/devicetree/bindings/video/renesas,du.txt b/Documentation/devicetree/bindings/video/renesas,du.txt
index 5102830f2760..c902323928f7 100644
--- a/Documentation/devicetree/bindings/video/renesas,du.txt
+++ b/Documentation/devicetree/bindings/video/renesas,du.txt
@@ -26,6 +26,10 @@ Required Properties:
26 per LVDS encoder. The functional clocks must be named "du.x" with "x" 26 per LVDS encoder. The functional clocks must be named "du.x" with "x"
27 being the channel numerical index. The LVDS clocks must be named 27 being the channel numerical index. The LVDS clocks must be named
28 "lvds.x" with "x" being the LVDS encoder numerical index. 28 "lvds.x" with "x" being the LVDS encoder numerical index.
29 - In addition to the functional and encoder clocks, all DU versions also
30 support externally supplied pixel clocks. Those clocks are optional.
31 When supplied they must be named "dclkin.x" with "x" being the input
32 clock numerical index.
29 33
30Required nodes: 34Required nodes:
31 35
diff --git a/Documentation/devicetree/bindings/video/samsung-fimd.txt b/Documentation/devicetree/bindings/video/samsung-fimd.txt
index cf1af6371021..a8bbbde03e79 100644
--- a/Documentation/devicetree/bindings/video/samsung-fimd.txt
+++ b/Documentation/devicetree/bindings/video/samsung-fimd.txt
@@ -38,7 +38,7 @@ Required properties:
38 property. Must contain "sclk_fimd" and "fimd". 38 property. Must contain "sclk_fimd" and "fimd".
39 39
40Optional Properties: 40Optional Properties:
41- samsung,power-domain: a phandle to FIMD power domain node. 41- power-domains: a phandle to FIMD power domain node.
42- samsung,invert-vden: video enable signal is inverted 42- samsung,invert-vden: video enable signal is inverted
43- samsung,invert-vclk: video clock signal is inverted 43- samsung,invert-vclk: video clock signal is inverted
44- display-timings: timing settings for FIMD, as described in document [1]. 44- display-timings: timing settings for FIMD, as described in document [1].
@@ -97,7 +97,7 @@ SoC specific DT entry:
97 interrupts = <11 0>, <11 1>, <11 2>; 97 interrupts = <11 0>, <11 1>, <11 2>;
98 clocks = <&clock 140>, <&clock 283>; 98 clocks = <&clock 140>, <&clock 283>;
99 clock-names = "sclk_fimd", "fimd"; 99 clock-names = "sclk_fimd", "fimd";
100 samsung,power-domain = <&pd_lcd0>; 100 power-domains = <&pd_lcd0>;
101 status = "disabled"; 101 status = "disabled";
102 }; 102 };
103 103
diff --git a/Documentation/devicetree/bindings/video/ti,dra7-dss.txt b/Documentation/devicetree/bindings/video/ti,dra7-dss.txt
new file mode 100644
index 000000000000..f33a05137b0e
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,dra7-dss.txt
@@ -0,0 +1,69 @@
1Texas Instruments DRA7x Display Subsystem
2=========================================
3
4See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic
5description about OMAP Display Subsystem bindings.
6
7DSS Core
8--------
9
10Required properties:
11- compatible: "ti,dra7-dss"
12- reg: address and length of the register spaces for 'dss'
13- ti,hwmods: "dss_core"
14- clocks: handle to fclk
15- clock-names: "fck"
16- syscon: phandle to control module core syscon node
17
18Optional properties:
19
20Some DRA7xx SoCs have one dedicated video PLL, some have two. These properties
21can be used to describe the video PLLs:
22
23- reg: address and length of the register spaces for 'pll1_clkctrl',
24 'pll1', 'pll2_clkctrl', 'pll2'
25- clocks: handle to video1 pll clock and video2 pll clock
26- clock-names: "video1_clk" and "video2_clk"
27
28Required nodes:
29- DISPC
30
31Optional nodes:
32- DSS Submodules: HDMI
33- Video port for DPI output
34
35DPI Endpoint required properties:
36- data-lines: number of lines used
37
38
39DISPC
40-----
41
42Required properties:
43- compatible: "ti,dra7-dispc"
44- reg: address and length of the register space
45- ti,hwmods: "dss_dispc"
46- interrupts: the DISPC interrupt
47- clocks: handle to fclk
48- clock-names: "fck"
49
50HDMI
51----
52
53Required properties:
54- compatible: "ti,dra7-hdmi"
55- reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy',
56 'core'
57- reg-names: "wp", "pll", "phy", "core"
58- interrupts: the HDMI interrupt line
59- ti,hwmods: "dss_hdmi"
60- vdda-supply: vdda power supply
61- clocks: handles to fclk and pll clock
62- clock-names: "fck", "sys_clk"
63
64Optional nodes:
65- Video port for HDMI output
66
67HDMI Endpoint optional properties:
68- lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-,
69 D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
diff --git a/Documentation/devicetree/bindings/video/ti,opa362.txt b/Documentation/devicetree/bindings/video/ti,opa362.txt
new file mode 100644
index 000000000000..f96083c0bd17
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,opa362.txt
@@ -0,0 +1,38 @@
1OPA362 analog video amplifier
2
3Required properties:
4- compatible: "ti,opa362"
5- enable-gpios: enable/disable output gpio
6
7Required node:
8- Video port 0 for opa362 input
9- Video port 1 for opa362 output
10
11Example:
12
13tv_amp: opa362 {
14 compatible = "ti,opa362";
15 enable-gpios = <&gpio1 23 0>; /* GPIO to enable video out amplifier */
16
17 ports {
18 #address-cells = <1>;
19 #size-cells = <0>;
20
21 port@0 {
22 reg = <0>;
23 opa_in: endpoint@0 {
24 remote-endpoint = <&venc_out>;
25 };
26 };
27
28 port@1 {
29 reg = <1>;
30 opa_out: endpoint@0 {
31 remote-endpoint = <&tv_connector_in>;
32 };
33 };
34 };
35};
36
37
38
diff --git a/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt b/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
index 37afec194949..198794963786 100644
--- a/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/gpio-wdt.txt
@@ -13,6 +13,11 @@ Required Properties:
13 by the GPIO flags. 13 by the GPIO flags.
14- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds). 14- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
15 15
16Optional Properties:
17- always-running: If the watchdog timer cannot be disabled, add this flag to
18 have the driver keep toggling the signal without a client. It will only cease
19 to toggle the signal when the device is open and the timeout elapsed.
20
16Example: 21Example:
17 watchdog: watchdog { 22 watchdog: watchdog {
18 /* ADM706 */ 23 /* ADM706 */
diff --git a/Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt b/Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt
new file mode 100644
index 000000000000..b2fa11fd43de
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt
@@ -0,0 +1,19 @@
1*ImgTec PowerDown Controller (PDC) Watchdog Timer (WDT)
2
3Required properties:
4- compatible : Should be "img,pdc-wdt"
5- reg : Should contain WDT registers location and length
6- clocks: Must contain an entry for each entry in clock-names.
7- clock-names: Should contain "wdt" and "sys"; the watchdog counter
8 clock and register interface clock respectively.
9- interrupts : Should contain WDT interrupt
10
11Examples:
12
13watchdog@18102100 {
14 compatible = "img,pdc-wdt";
15 reg = <0x18102100 0x100>;
16 clocks = <&pdc_wdt_clk>, <&sys_clk>;
17 clock-names = "wdt", "sys";
18 interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
19};
diff --git a/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt b/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
new file mode 100644
index 000000000000..e27763ef0049
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
@@ -0,0 +1,12 @@
1Ingenic Watchdog Timer (WDT) Controller for JZ4740
2
3Required properties:
4compatible: "ingenic,jz4740-watchdog"
5reg: Register address and length for watchdog registers
6
7Example:
8
9watchdog: jz4740-watchdog@0x10002000 {
10 compatible = "ingenic,jz4740-watchdog";
11 reg = <0x10002000 0x100>;
12};
diff --git a/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt b/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt
new file mode 100644
index 000000000000..af9eb5b8a253
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/mtk-wdt.txt
@@ -0,0 +1,13 @@
1Mediatek SoCs Watchdog timer
2
3Required properties:
4
5- compatible : should be "mediatek,mt6589-wdt"
6- reg : Specifies base physical address and size of the registers.
7
8Example:
9
10wdt: watchdog@010000000 {
11 compatible = "mediatek,mt6589-wdt";
12 reg = <0x10000000 0x18>;
13};
diff --git a/Documentation/devicetree/overlay-notes.txt b/Documentation/devicetree/overlay-notes.txt
index 30ae758e3eef..d418a6ce9812 100644
--- a/Documentation/devicetree/overlay-notes.txt
+++ b/Documentation/devicetree/overlay-notes.txt
@@ -10,7 +10,7 @@ How overlays work
10----------------- 10-----------------
11 11
12A Device Tree's overlay purpose is to modify the kernel's live tree, and 12A Device Tree's overlay purpose is to modify the kernel's live tree, and
13have the modification affecting the state of the the kernel in a way that 13have the modification affecting the state of the kernel in a way that
14is reflecting the changes. 14is reflecting the changes.
15Since the kernel mainly deals with devices, any new device node that result 15Since the kernel mainly deals with devices, any new device node that result
16in an active device should have it created while if the device node is either 16in an active device should have it created while if the device node is either
@@ -80,7 +80,7 @@ result in foo+bar.dts
80 }; 80 };
81---- foo+bar.dts ------------------------------------------------------------- 81---- foo+bar.dts -------------------------------------------------------------
82 82
83As a result of the the overlay, a new device node (bar) has been created 83As a result of the overlay, a new device node (bar) has been created
84so a bar platform device will be registered and if a matching device driver 84so a bar platform device will be registered and if a matching device driver
85is loaded the device will be created as expected. 85is loaded the device will be created as expected.
86 86