aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings')
-rw-r--r--Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/armada-375.txt9
-rw-r--r--Documentation/devicetree/bindings/arm/armada-38x.txt10
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/bcm21664.txt15
-rw-r--r--Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt14
-rw-r--r--Documentation/devicetree/bindings/arm/bcm4708.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/cpus.txt25
-rw-r--r--Documentation/devicetree/bindings/arm/gic.txt6
-rw-r--r--Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt14
-rw-r--r--Documentation/devicetree/bindings/arm/keystone/keystone.txt10
-rw-r--r--Documentation/devicetree/bindings/arm/marvell,dove.txt22
-rw-r--r--Documentation/devicetree/bindings/arm/mrvl/feroceon.txt16
-rw-r--r--Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt30
-rw-r--r--Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt35
-rw-r--r--Documentation/devicetree/bindings/arm/mvebu-system-controller.txt3
-rw-r--r--Documentation/devicetree/bindings/arm/omap/crossbar.txt27
-rw-r--r--Documentation/devicetree/bindings/arm/omap/dmm.txt22
-rw-r--r--Documentation/devicetree/bindings/arm/omap/omap.txt8
-rw-r--r--Documentation/devicetree/bindings/arm/pmu.txt10
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip/pmu.txt16
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt30
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/pmu.txt15
-rw-r--r--Documentation/devicetree/bindings/arm/topology.txt7
-rw-r--r--Documentation/devicetree/bindings/ata/ahci-platform.txt22
-rw-r--r--Documentation/devicetree/bindings/ata/apm-xgene.txt76
-rw-r--r--Documentation/devicetree/bindings/ata/exynos-sata-phy.txt14
-rw-r--r--Documentation/devicetree/bindings/ata/exynos-sata.txt31
-rw-r--r--Documentation/devicetree/bindings/bus/imx-weim.txt28
-rw-r--r--Documentation/devicetree/bindings/clock/altr_socfpga.txt5
-rw-r--r--Documentation/devicetree/bindings/clock/arm-integrator.txt34
-rw-r--r--Documentation/devicetree/bindings/clock/axi-clkgen.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/clock-bindings.txt17
-rw-r--r--Documentation/devicetree/bindings/clock/exynos4-clock.txt259
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5250-clock.txt163
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5420-clock.txt184
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5440-clock.txt45
-rw-r--r--Documentation/devicetree/bindings/clock/hi3620-clock.txt1
-rw-r--r--Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt48
-rw-r--r--Documentation/devicetree/bindings/clock/mvebu-core-clock.txt14
-rw-r--r--Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt5
-rw-r--r--Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt65
-rw-r--r--Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt4
-rw-r--r--Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt29
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt49
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt36
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt48
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt36
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt53
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,clkgen.txt83
-rw-r--r--Documentation/devicetree/bindings/clock/st/st,quadfs.txt45
-rw-r--r--Documentation/devicetree/bindings/clock/sunxi.txt102
-rw-r--r--Documentation/devicetree/bindings/clock/zynq-7000.txt4
-rw-r--r--Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt16
-rw-r--r--Documentation/devicetree/bindings/drm/bridge/ptn3460.txt27
-rw-r--r--Documentation/devicetree/bindings/drm/i2c/tda998x.txt27
-rw-r--r--Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt17
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-davinci.txt25
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-zevio.txt16
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio.txt60
-rw-r--r--Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt60
-rw-r--r--Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt42
-rw-r--r--Documentation/devicetree/bindings/graph.txt129
-rw-r--r--Documentation/devicetree/bindings/i2c/trivial-devices.txt2
-rw-r--r--Documentation/devicetree/bindings/iio/adc/at91_adc.txt (renamed from Documentation/devicetree/bindings/arm/atmel-adc.txt)38
-rw-r--r--Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt24
-rw-r--r--Documentation/devicetree/bindings/iio/adc/vf610-adc.txt22
-rw-r--r--Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt113
-rw-r--r--Documentation/devicetree/bindings/input/clps711x-keypad.txt27
-rw-r--r--Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt89
-rw-r--r--Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt46
-rw-r--r--Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt22
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt55
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt30
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt4
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt27
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt41
-rw-r--r--Documentation/devicetree/bindings/iommu/arm,smmu.txt6
-rw-r--r--Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt26
-rw-r--r--Documentation/devicetree/bindings/media/img-ir-rev1.txt34
-rw-r--r--Documentation/devicetree/bindings/media/samsung-fimc.txt44
-rw-r--r--Documentation/devicetree/bindings/media/samsung-s5c73m3.txt97
-rw-r--r--Documentation/devicetree/bindings/media/samsung-s5k6a3.txt33
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt (renamed from Documentation/devicetree/bindings/powerpc/fsl/ifc.txt)0
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt210
-rw-r--r--Documentation/devicetree/bindings/mfd/arizona.txt23
-rw-r--r--Documentation/devicetree/bindings/mfd/bcm590xx.txt37
-rw-r--r--Documentation/devicetree/bindings/mfd/da9055.txt72
-rw-r--r--Documentation/devicetree/bindings/mfd/omap-usb-host.txt23
-rw-r--r--Documentation/devicetree/bindings/mfd/omap-usb-tll.txt10
-rw-r--r--Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt96
-rw-r--r--Documentation/devicetree/bindings/mfd/s2mpa01.txt90
-rw-r--r--Documentation/devicetree/bindings/mfd/s2mps11.txt36
-rw-r--r--Documentation/devicetree/bindings/mfd/tps65910.txt2
-rw-r--r--Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt4
-rw-r--r--Documentation/devicetree/bindings/misc/atmel-ssc.txt8
-rw-r--r--Documentation/devicetree/bindings/misc/sram.txt35
-rw-r--r--Documentation/devicetree/bindings/mmc/atmel-hsmci.txt5
-rw-r--r--Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt23
-rw-r--r--Documentation/devicetree/bindings/mtd/nand.txt14
-rw-r--r--Documentation/devicetree/bindings/mtd/st-fsm.txt26
-rw-r--r--Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt11
-rw-r--r--Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt5
-rw-r--r--Documentation/devicetree/bindings/net/altera_tse.txt114
-rw-r--r--Documentation/devicetree/bindings/net/arc_emac.txt11
-rw-r--r--Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt121
-rw-r--r--Documentation/devicetree/bindings/net/can/sja1000.txt4
-rw-r--r--Documentation/devicetree/bindings/net/cavium-mix.txt7
-rw-r--r--Documentation/devicetree/bindings/net/cavium-pip.txt7
-rw-r--r--Documentation/devicetree/bindings/net/cdns-emac.txt6
-rw-r--r--Documentation/devicetree/bindings/net/cpsw.txt5
-rw-r--r--Documentation/devicetree/bindings/net/davicom-dm9000.txt2
-rw-r--r--Documentation/devicetree/bindings/net/davinci_emac.txt3
-rw-r--r--Documentation/devicetree/bindings/net/ethernet.txt25
-rw-r--r--Documentation/devicetree/bindings/net/fsl-fec.txt5
-rw-r--r--Documentation/devicetree/bindings/net/fsl-tsec-phy.txt13
-rw-r--r--Documentation/devicetree/bindings/net/lpc-eth.txt5
-rw-r--r--Documentation/devicetree/bindings/net/macb.txt6
-rw-r--r--Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt6
-rw-r--r--Documentation/devicetree/bindings/net/marvell-orion-net.txt4
-rw-r--r--Documentation/devicetree/bindings/net/micrel-ks8851.txt2
-rw-r--r--Documentation/devicetree/bindings/net/micrel.txt18
-rw-r--r--Documentation/devicetree/bindings/net/nfc/trf7970a.txt34
-rw-r--r--Documentation/devicetree/bindings/net/opencores-ethoc.txt22
-rw-r--r--Documentation/devicetree/bindings/net/phy.txt10
-rw-r--r--Documentation/devicetree/bindings/net/samsung-sxgbe.txt52
-rw-r--r--Documentation/devicetree/bindings/net/sh_eth.txt55
-rw-r--r--Documentation/devicetree/bindings/net/smsc-lan91c111.txt3
-rw-r--r--Documentation/devicetree/bindings/net/smsc911x.txt5
-rw-r--r--Documentation/devicetree/bindings/net/socfpga-dwmac.txt27
-rw-r--r--Documentation/devicetree/bindings/net/sti-dwmac.txt58
-rw-r--r--Documentation/devicetree/bindings/net/stmmac.txt13
-rw-r--r--Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt39
-rw-r--r--Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/lg,lh500wx1-sd03.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/lg,lp129qe.txt7
-rw-r--r--Documentation/devicetree/bindings/panel/samsung,ld9040.txt66
-rw-r--r--Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt56
-rw-r--r--Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt8
-rw-r--r--Documentation/devicetree/bindings/phy/apm-xgene-phy.txt79
-rw-r--r--Documentation/devicetree/bindings/phy/samsung-phy.txt94
-rw-r--r--Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt26
-rw-r--r--Documentation/devicetree/bindings/phy/ti-phy.txt86
-rw-r--r--Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt (renamed from Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt)8
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt82
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt80
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt7
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt73
-rw-r--r--Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt14
-rw-r--r--Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/power/bq2415x.txt47
-rw-r--r--Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt5
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt23
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt27
-rw-r--r--Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt16
-rw-r--r--Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt35
-rw-r--r--Documentation/devicetree/bindings/regulator/gpio-regulator.txt4
-rw-r--r--Documentation/devicetree/bindings/regulator/pfuze100.txt96
-rw-r--r--Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt13
-rw-r--r--Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt6
-rw-r--r--Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt133
-rw-r--r--Documentation/devicetree/bindings/reset/sirf,rstc.txt42
-rw-r--r--Documentation/devicetree/bindings/reset/st,sti-powerdown.txt47
-rw-r--r--Documentation/devicetree/bindings/reset/st,sti-softreset.txt46
-rw-r--r--Documentation/devicetree/bindings/rtc/sunxi-rtc.txt4
-rw-r--r--Documentation/devicetree/bindings/serial/atmel-usart.txt3
-rw-r--r--Documentation/devicetree/bindings/serial/efm32-uart.txt4
-rw-r--r--Documentation/devicetree/bindings/serial/fsl-lpuart.txt21
-rw-r--r--Documentation/devicetree/bindings/serial/maxim,max310x.txt36
-rw-r--r--Documentation/devicetree/bindings/serial/renesas,sci-serial.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/armada-370db-audio.txt27
-rw-r--r--Documentation/devicetree/bindings/sound/cs42xx8.txt28
-rw-r--r--Documentation/devicetree/bindings/sound/da9055.txt22
-rw-r--r--Documentation/devicetree/bindings/sound/davinci-evm-audio.txt9
-rw-r--r--Documentation/devicetree/bindings/sound/eukrea-tlv320.txt21
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,esai.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/fsl,spdif.txt5
-rw-r--r--Documentation/devicetree/bindings/sound/mvebu-audio.txt1
-rw-r--r--Documentation/devicetree/bindings/sound/pcm512x.txt30
-rw-r--r--Documentation/devicetree/bindings/sound/renesas,rsnd.txt105
-rw-r--r--Documentation/devicetree/bindings/sound/simple-card.txt65
-rw-r--r--Documentation/devicetree/bindings/sound/sirf-audio-codec.txt17
-rw-r--r--Documentation/devicetree/bindings/sound/sirf-audio-port.txt20
-rw-r--r--Documentation/devicetree/bindings/sound/sirf-audio.txt41
-rw-r--r--Documentation/devicetree/bindings/sound/tdm-slot.txt20
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic31xx.txt61
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic32x4.txt30
-rw-r--r--Documentation/devicetree/bindings/sound/tlv320aic3x.txt1
-rw-r--r--Documentation/devicetree/bindings/sound/widgets.txt20
-rw-r--r--Documentation/devicetree/bindings/spi/efm32-spi.txt8
-rw-r--r--Documentation/devicetree/bindings/spi/qcom,spi-qup.txt85
-rw-r--r--Documentation/devicetree/bindings/spi/sh-hspi.txt28
-rw-r--r--Documentation/devicetree/bindings/spi/sh-msiof.txt42
-rw-r--r--Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt2
-rw-r--r--Documentation/devicetree/bindings/spi/spi-rspi.txt61
-rw-r--r--Documentation/devicetree/bindings/spi/spi-sun4i.txt24
-rw-r--r--Documentation/devicetree/bindings/spi/spi-sun6i.txt24
-rw-r--r--Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt9
-rw-r--r--Documentation/devicetree/bindings/spi/spi_atmel.txt5
-rw-r--r--Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt61
-rw-r--r--Documentation/devicetree/bindings/spmi/spmi.txt41
-rw-r--r--Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt48
-rw-r--r--Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt58
-rw-r--r--Documentation/devicetree/bindings/staging/imx-drm/ldb.txt20
-rw-r--r--Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt4
-rw-r--r--Documentation/devicetree/bindings/timer/ti,keystone-timer.txt29
-rw-r--r--Documentation/devicetree/bindings/usb/atmel-usb.txt4
-rw-r--r--Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt17
-rw-r--r--Documentation/devicetree/bindings/usb/dwc3.txt6
-rw-r--r--Documentation/devicetree/bindings/usb/ehci-omap.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/fsl-usb.txt4
-rw-r--r--Documentation/devicetree/bindings/usb/mxs-phy.txt8
-rw-r--r--Documentation/devicetree/bindings/usb/ohci-omap3.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/omap-usb.txt24
-rw-r--r--Documentation/devicetree/bindings/usb/usb-ehci.txt27
-rw-r--r--Documentation/devicetree/bindings/usb/usb-ohci.txt25
-rw-r--r--Documentation/devicetree/bindings/usb/usb-phy.txt48
-rw-r--r--Documentation/devicetree/bindings/usb/usb-uhci.txt (renamed from Documentation/devicetree/bindings/usb/platform-uhci.txt)4
-rw-r--r--Documentation/devicetree/bindings/usb/usb-xhci.txt4
-rw-r--r--Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt15
-rw-r--r--Documentation/devicetree/bindings/usb/vt8500-ehci.txt12
-rw-r--r--Documentation/devicetree/bindings/vendor-prefixes.txt30
-rw-r--r--Documentation/devicetree/bindings/video/analog-tv-connector.txt25
-rw-r--r--Documentation/devicetree/bindings/video/dvi-connector.txt35
-rw-r--r--Documentation/devicetree/bindings/video/exynos_dp.txt17
-rw-r--r--Documentation/devicetree/bindings/video/exynos_dsim.txt80
-rw-r--r--Documentation/devicetree/bindings/video/exynos_hdmi.txt5
-rw-r--r--Documentation/devicetree/bindings/video/fsl,imx-fb.txt4
-rw-r--r--Documentation/devicetree/bindings/video/hdmi-connector.txt28
-rw-r--r--Documentation/devicetree/bindings/video/panel-dsi-cm.txt29
-rw-r--r--Documentation/devicetree/bindings/video/samsung-fimd.txt17
-rw-r--r--Documentation/devicetree/bindings/video/sony,acx565akm.txt30
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap-dss.txt211
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap2-dss.txt54
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap3-dss.txt83
-rw-r--r--Documentation/devicetree/bindings/video/ti,omap4-dss.txt111
-rw-r--r--Documentation/devicetree/bindings/video/ti,tfp410.txt41
-rw-r--r--Documentation/devicetree/bindings/video/ti,tpd12s015.txt44
-rw-r--r--Documentation/devicetree/bindings/watchdog/marvel.txt11
-rw-r--r--Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt23
-rw-r--r--Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt6
246 files changed, 6917 insertions, 1038 deletions
diff --git a/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt b/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt
index d74091a8a3bf..5fc03134a999 100644
--- a/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt
+++ b/Documentation/devicetree/bindings/arm/armada-370-xp-mpic.txt
@@ -1,4 +1,4 @@
1Marvell Armada 370 and Armada XP Interrupt Controller 1Marvell Armada 370, 375, 38x, XP Interrupt Controller
2----------------------------------------------------- 2-----------------------------------------------------
3 3
4Required properties: 4Required properties:
@@ -16,7 +16,13 @@ Required properties:
16 automatically map to the interrupt controller registers of the 16 automatically map to the interrupt controller registers of the
17 current CPU) 17 current CPU)
18 18
19Optional properties:
19 20
21- interrupts: If defined, then it indicates that this MPIC is
22 connected as a slave to another interrupt controller. This is
23 typically the case on Armada 375 and Armada 38x, where the MPIC is
24 connected as a slave to the Cortex-A9 GIC. The provided interrupt
25 indicate to which GIC interrupt the MPIC output is connected.
20 26
21Example: 27Example:
22 28
diff --git a/Documentation/devicetree/bindings/arm/armada-375.txt b/Documentation/devicetree/bindings/arm/armada-375.txt
new file mode 100644
index 000000000000..867d0b80cb8f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/armada-375.txt
@@ -0,0 +1,9 @@
1Marvell Armada 375 Platforms Device Tree Bindings
2-------------------------------------------------
3
4Boards with a SoC of the Marvell Armada 375 family shall have the
5following property:
6
7Required root node property:
8
9compatible: must contain "marvell,armada375"
diff --git a/Documentation/devicetree/bindings/arm/armada-38x.txt b/Documentation/devicetree/bindings/arm/armada-38x.txt
new file mode 100644
index 000000000000..11f2330a6554
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/armada-38x.txt
@@ -0,0 +1,10 @@
1Marvell Armada 38x Platforms Device Tree Bindings
2-------------------------------------------------
3
4Boards with a SoC of the Marvell Armada 38x family shall have the
5following property:
6
7Required root node property:
8
9 - compatible: must contain either "marvell,armada380" or
10 "marvell,armada385" depending on the variant of the SoC being used.
diff --git a/Documentation/devicetree/bindings/arm/bcm/bcm21664.txt b/Documentation/devicetree/bindings/arm/bcm/bcm21664.txt
new file mode 100644
index 000000000000..e0774255e1a6
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm/bcm21664.txt
@@ -0,0 +1,15 @@
1Broadcom BCM21664 device tree bindings
2--------------------------------------
3
4This document describes the device tree bindings for boards with the BCM21664
5SoC.
6
7Required root node property:
8 - compatible: brcm,bcm21664
9
10Example:
11 / {
12 model = "BCM21664 SoC";
13 compatible = "brcm,bcm21664";
14 [...]
15 }
diff --git a/Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt b/Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt
new file mode 100644
index 000000000000..93f31ca1ef4b
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm/kona-resetmgr.txt
@@ -0,0 +1,14 @@
1Broadcom Kona Family Reset Manager
2----------------------------------
3
4The reset manager is used on the Broadcom BCM21664 SoC.
5
6Required properties:
7 - compatible: brcm,bcm21664-resetmgr
8 - reg: memory address & range
9
10Example:
11 brcm,resetmgr@35001f00 {
12 compatible = "brcm,bcm21664-resetmgr";
13 reg = <0x35001f00 0x24>;
14 };
diff --git a/Documentation/devicetree/bindings/arm/bcm4708.txt b/Documentation/devicetree/bindings/arm/bcm4708.txt
new file mode 100644
index 000000000000..6b0f49f6f499
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/bcm4708.txt
@@ -0,0 +1,8 @@
1Broadcom BCM4708 device tree bindings
2-------------------------------------------
3
4Boards with the BCM4708 SoC shall have the following properties:
5
6Required root node property:
7
8compatible = "brcm,bcm4708";
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index 91304353eea4..333f4aea3029 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -180,7 +180,11 @@ nodes to be present and contain the properties described below.
180 be one of: 180 be one of:
181 "spin-table" 181 "spin-table"
182 "psci" 182 "psci"
183 # On ARM 32-bit systems this property is optional. 183 # On ARM 32-bit systems this property is optional and
184 can be one of:
185 "qcom,gcc-msm8660"
186 "qcom,kpss-acc-v1"
187 "qcom,kpss-acc-v2"
184 188
185 - cpu-release-addr 189 - cpu-release-addr
186 Usage: required for systems that have an "enable-method" 190 Usage: required for systems that have an "enable-method"
@@ -191,6 +195,21 @@ nodes to be present and contain the properties described below.
191 property identifying a 64-bit zero-initialised 195 property identifying a 64-bit zero-initialised
192 memory location. 196 memory location.
193 197
198 - qcom,saw
199 Usage: required for systems that have an "enable-method"
200 property value of "qcom,kpss-acc-v1" or
201 "qcom,kpss-acc-v2"
202 Value type: <phandle>
203 Definition: Specifies the SAW[1] node associated with this CPU.
204
205 - qcom,acc
206 Usage: required for systems that have an "enable-method"
207 property value of "qcom,kpss-acc-v1" or
208 "qcom,kpss-acc-v2"
209 Value type: <phandle>
210 Definition: Specifies the ACC[2] node associated with this CPU.
211
212
194Example 1 (dual-cluster big.LITTLE system 32-bit): 213Example 1 (dual-cluster big.LITTLE system 32-bit):
195 214
196 cpus { 215 cpus {
@@ -382,3 +401,7 @@ cpus {
382 cpu-release-addr = <0 0x20000000>; 401 cpu-release-addr = <0 0x20000000>;
383 }; 402 };
384}; 403};
404
405--
406[1] arm/msm/qcom,saw2.txt
407[2] arm/msm/qcom,kpss-acc.txt
diff --git a/Documentation/devicetree/bindings/arm/gic.txt b/Documentation/devicetree/bindings/arm/gic.txt
index bae0d87a38b2..5573c08d3180 100644
--- a/Documentation/devicetree/bindings/arm/gic.txt
+++ b/Documentation/devicetree/bindings/arm/gic.txt
@@ -50,6 +50,11 @@ Optional
50 regions, used when the GIC doesn't have banked registers. The offset is 50 regions, used when the GIC doesn't have banked registers. The offset is
51 cpu-offset * cpu-nr. 51 cpu-offset * cpu-nr.
52 52
53- arm,routable-irqs : Total number of gic irq inputs which are not directly
54 connected from the peripherals, but are routed dynamically
55 by a crossbar/multiplexer preceding the GIC. The GIC irq
56 input line is assigned dynamically when the corresponding
57 peripheral's crossbar line is mapped.
53Example: 58Example:
54 59
55 intc: interrupt-controller@fff11000 { 60 intc: interrupt-controller@fff11000 {
@@ -57,6 +62,7 @@ Example:
57 #interrupt-cells = <3>; 62 #interrupt-cells = <3>;
58 #address-cells = <1>; 63 #address-cells = <1>;
59 interrupt-controller; 64 interrupt-controller;
65 arm,routable-irqs = <160>;
60 reg = <0xfff11000 0x1000>, 66 reg = <0xfff11000 0x1000>,
61 <0xfff10100 0x100>; 67 <0xfff10100 0x100>;
62 }; 68 };
diff --git a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
index 8c7a4653508d..df0a452b8526 100644
--- a/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
+++ b/Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
@@ -30,3 +30,17 @@ Example:
30 resume-offset = <0x308>; 30 resume-offset = <0x308>;
31 reboot-offset = <0x4>; 31 reboot-offset = <0x4>;
32 }; 32 };
33
34PCTRL: Peripheral misc control register
35
36Required Properties:
37- compatible: "hisilicon,pctrl"
38- reg: Address and size of pctrl.
39
40Example:
41
42 /* for Hi3620 */
43 pctrl: pctrl@fca09000 {
44 compatible = "hisilicon,pctrl";
45 reg = <0xfca09000 0x1000>;
46 };
diff --git a/Documentation/devicetree/bindings/arm/keystone/keystone.txt b/Documentation/devicetree/bindings/arm/keystone/keystone.txt
index 63c0e6ae5cf7..59d7a46f85eb 100644
--- a/Documentation/devicetree/bindings/arm/keystone/keystone.txt
+++ b/Documentation/devicetree/bindings/arm/keystone/keystone.txt
@@ -8,3 +8,13 @@ Required properties:
8 - compatible: All TI specific devices present in Keystone SOC should be in 8 - compatible: All TI specific devices present in Keystone SOC should be in
9 the form "ti,keystone-*". Generic devices like gic, arch_timers, ns16550 9 the form "ti,keystone-*". Generic devices like gic, arch_timers, ns16550
10 type UART should use the specified compatible for those devices. 10 type UART should use the specified compatible for those devices.
11
12Boards:
13- Keystone 2 Hawking/Kepler EVM
14 compatible = "ti,k2hk-evm","ti,keystone"
15
16- Keystone 2 Lamarr EVM
17 compatible = "ti,k2l-evm","ti,keystone"
18
19- Keystone 2 Edison EVM
20 compatible = "ti,k2e-evm","ti,keystone"
diff --git a/Documentation/devicetree/bindings/arm/marvell,dove.txt b/Documentation/devicetree/bindings/arm/marvell,dove.txt
new file mode 100644
index 000000000000..aaaf64c56e44
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/marvell,dove.txt
@@ -0,0 +1,22 @@
1Marvell Dove Platforms Device Tree Bindings
2-----------------------------------------------
3
4Boards with a Marvell Dove SoC shall have the following properties:
5
6Required root node property:
7- compatible: must contain "marvell,dove";
8
9* Global Configuration registers
10
11Global Configuration registers of Dove SoC are shared by a syscon node.
12
13Required properties:
14- compatible: must contain "marvell,dove-global-config" and "syscon".
15- reg: base address and size of the Global Configuration registers.
16
17Example:
18
19gconf: global-config@e802c {
20 compatible = "marvell,dove-global-config", "syscon";
21 reg = <0xe802c 0x14>;
22};
diff --git a/Documentation/devicetree/bindings/arm/mrvl/feroceon.txt b/Documentation/devicetree/bindings/arm/mrvl/feroceon.txt
new file mode 100644
index 000000000000..0d244b999d10
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/mrvl/feroceon.txt
@@ -0,0 +1,16 @@
1* Marvell Feroceon Cache
2
3Required properties:
4- compatible : Should be either "marvell,feroceon-cache" or
5 "marvell,kirkwood-cache".
6
7Optional properties:
8- reg : Address of the L2 cache control register. Mandatory for
9 "marvell,kirkwood-cache", not used by "marvell,feroceon-cache"
10
11
12Example:
13 l2: l2-cache@20128 {
14 compatible = "marvell,kirkwood-cache";
15 reg = <0x20128 0x4>;
16 };
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
new file mode 100644
index 000000000000..1333db9acfee
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
@@ -0,0 +1,30 @@
1Krait Processor Sub-system (KPSS) Application Clock Controller (ACC)
2
3The KPSS ACC provides clock, power domain, and reset control to a Krait CPU.
4There is one ACC register region per CPU within the KPSS remapped region as
5well as an alias register region that remaps accesses to the ACC associated
6with the CPU accessing the region.
7
8PROPERTIES
9
10- compatible:
11 Usage: required
12 Value type: <string>
13 Definition: should be one of:
14 "qcom,kpss-acc-v1"
15 "qcom,kpss-acc-v2"
16
17- reg:
18 Usage: required
19 Value type: <prop-encoded-array>
20 Definition: the first element specifies the base address and size of
21 the register region. An optional second element specifies
22 the base address and size of the alias register region.
23
24Example:
25
26 clock-controller@2088000 {
27 compatible = "qcom,kpss-acc-v2";
28 reg = <0x02088000 0x1000>,
29 <0x02008000 0x1000>;
30 };
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
new file mode 100644
index 000000000000..1505fb8e131a
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
@@ -0,0 +1,35 @@
1SPM AVS Wrapper 2 (SAW2)
2
3The SAW2 is a wrapper around the Subsystem Power Manager (SPM) and the
4Adaptive Voltage Scaling (AVS) hardware. The SPM is a programmable
5micro-controller that transitions a piece of hardware (like a processor or
6subsystem) into and out of low power modes via a direct connection to
7the PMIC. It can also be wired up to interact with other processors in the
8system, notifying them when a low power state is entered or exited.
9
10PROPERTIES
11
12- compatible:
13 Usage: required
14 Value type: <string>
15 Definition: shall contain "qcom,saw2". A more specific value should be
16 one of:
17 "qcom,saw2-v1"
18 "qcom,saw2-v1.1"
19 "qcom,saw2-v2"
20 "qcom,saw2-v2.1"
21
22- reg:
23 Usage: required
24 Value type: <prop-encoded-array>
25 Definition: the first element specifies the base address and size of
26 the register region. An optional second element specifies
27 the base address and size of the alias register region.
28
29
30Example:
31
32 regulator@2099000 {
33 compatible = "qcom,saw2";
34 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
35 };
diff --git a/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt b/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt
index 081c6a786c8a..d24ab2ebf8a7 100644
--- a/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt
+++ b/Documentation/devicetree/bindings/arm/mvebu-system-controller.txt
@@ -1,12 +1,13 @@
1MVEBU System Controller 1MVEBU System Controller
2----------------------- 2-----------------------
3MVEBU (Marvell SOCs: Armada 370/XP, Dove, mv78xx0, Kirkwood, Orion5x) 3MVEBU (Marvell SOCs: Armada 370/375/XP, Dove, mv78xx0, Kirkwood, Orion5x)
4 4
5Required properties: 5Required properties:
6 6
7- compatible: one of: 7- compatible: one of:
8 - "marvell,orion-system-controller" 8 - "marvell,orion-system-controller"
9 - "marvell,armada-370-xp-system-controller" 9 - "marvell,armada-370-xp-system-controller"
10 - "marvell,armada-375-system-controller"
10- reg: Should contain system controller registers location and length. 11- reg: Should contain system controller registers location and length.
11 12
12Example: 13Example:
diff --git a/Documentation/devicetree/bindings/arm/omap/crossbar.txt b/Documentation/devicetree/bindings/arm/omap/crossbar.txt
new file mode 100644
index 000000000000..fb88585cfb93
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/crossbar.txt
@@ -0,0 +1,27 @@
1Some socs have a large number of interrupts requests to service
2the needs of its many peripherals and subsystems. All of the
3interrupt lines from the subsystems are not needed at the same
4time, so they have to be muxed to the irq-controller appropriately.
5In such places a interrupt controllers are preceded by an CROSSBAR
6that provides flexibility in muxing the device requests to the controller
7inputs.
8
9Required properties:
10- compatible : Should be "ti,irq-crossbar"
11- reg: Base address and the size of the crossbar registers.
12- ti,max-irqs: Total number of irqs available at the interrupt controller.
13- ti,reg-size: Size of a individual register in bytes. Every individual
14 register is assumed to be of same size. Valid sizes are 1, 2, 4.
15- ti,irqs-reserved: List of the reserved irq lines that are not muxed using
16 crossbar. These interrupt lines are reserved in the soc,
17 so crossbar bar driver should not consider them as free
18 lines.
19
20Examples:
21 crossbar_mpu: @4a020000 {
22 compatible = "ti,irq-crossbar";
23 reg = <0x4a002a48 0x130>;
24 ti,max-irqs = <160>;
25 ti,reg-size = <2>;
26 ti,irqs-reserved = <0 1 2 3 5 6 131 132 139 140>;
27 };
diff --git a/Documentation/devicetree/bindings/arm/omap/dmm.txt b/Documentation/devicetree/bindings/arm/omap/dmm.txt
new file mode 100644
index 000000000000..8bd6d0a238a8
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/omap/dmm.txt
@@ -0,0 +1,22 @@
1OMAP Dynamic Memory Manager (DMM) bindings
2
3The dynamic memory manager (DMM) is a module located immediately in front of the
4SDRAM controllers (called EMIFs on OMAP). DMM manages various aspects of memory
5accesses such as priority generation amongst initiators, configuration of SDRAM
6interleaving, optimizing transfer of 2D block objects, and provide MMU-like page
7translation for initiators which need contiguous dma bus addresses.
8
9Required properties:
10- compatible: Should contain "ti,omap4-dmm" for OMAP4 family
11 Should contain "ti,omap5-dmm" for OMAP5 and DRA7x family
12- reg: Contains DMM register address range (base address and length)
13- interrupts: Should contain an interrupt-specifier for DMM_IRQ.
14- ti,hwmods: Name of the hwmod associated to DMM, which is typically "dmm"
15
16Example:
17
18dmm@4e000000 {
19 compatible = "ti,omap4-dmm";
20 reg = <0x4e000000 0x800>;
21 ti,hwmods = "dmm";
22};
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 34dc40cffdfd..36ede19a1630 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -91,7 +91,7 @@ Boards:
91 compatible = "ti,omap3-beagle", "ti,omap3" 91 compatible = "ti,omap3-beagle", "ti,omap3"
92 92
93- OMAP3 Tobi with Overo : Commercial expansion board with daughter board 93- OMAP3 Tobi with Overo : Commercial expansion board with daughter board
94 compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" 94 compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3"
95 95
96- OMAP4 SDP : Software Development Board 96- OMAP4 SDP : Software Development Board
97 compatible = "ti,omap4-sdp", "ti,omap4430" 97 compatible = "ti,omap4-sdp", "ti,omap4430"
@@ -99,6 +99,9 @@ Boards:
99- OMAP4 PandaBoard : Low cost community board 99- OMAP4 PandaBoard : Low cost community board
100 compatible = "ti,omap4-panda", "ti,omap4430" 100 compatible = "ti,omap4-panda", "ti,omap4430"
101 101
102- OMAP4 DuoVero with Parlor : Commercial expansion board with daughter board
103 compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
104
102- OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x 105- OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x
103 compatible = "ti,omap3-evm", "ti,omap3" 106 compatible = "ti,omap3-evm", "ti,omap3"
104 107
@@ -114,5 +117,8 @@ Boards:
114- AM43x EPOS EVM 117- AM43x EPOS EVM
115 compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43" 118 compatible = "ti,am43x-epos-evm", "ti,am4372", "ti,am43"
116 119
120- AM437x GP EVM
121 compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"
122
117- DRA7 EVM: Software Developement Board for DRA7XX 123- DRA7 EVM: Software Developement Board for DRA7XX
118 compatible = "ti,dra7-evm", "ti,dra7" 124 compatible = "ti,dra7-evm", "ti,dra7"
diff --git a/Documentation/devicetree/bindings/arm/pmu.txt b/Documentation/devicetree/bindings/arm/pmu.txt
index 3e1e498fea96..fe5cef8976cb 100644
--- a/Documentation/devicetree/bindings/arm/pmu.txt
+++ b/Documentation/devicetree/bindings/arm/pmu.txt
@@ -9,6 +9,7 @@ Required properties:
9- compatible : should be one of 9- compatible : should be one of
10 "arm,armv8-pmuv3" 10 "arm,armv8-pmuv3"
11 "arm,cortex-a15-pmu" 11 "arm,cortex-a15-pmu"
12 "arm,cortex-a12-pmu"
12 "arm,cortex-a9-pmu" 13 "arm,cortex-a9-pmu"
13 "arm,cortex-a8-pmu" 14 "arm,cortex-a8-pmu"
14 "arm,cortex-a7-pmu" 15 "arm,cortex-a7-pmu"
@@ -16,7 +17,14 @@ Required properties:
16 "arm,arm11mpcore-pmu" 17 "arm,arm11mpcore-pmu"
17 "arm,arm1176-pmu" 18 "arm,arm1176-pmu"
18 "arm,arm1136-pmu" 19 "arm,arm1136-pmu"
19- interrupts : 1 combined interrupt or 1 per core. 20 "qcom,krait-pmu"
21- interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu
22 interrupt (PPI) then 1 interrupt should be specified.
23
24Optional properties:
25
26- qcom,no-pc-write : Indicates that this PMU doesn't support the 0xc and 0xd
27 events.
20 28
21Example: 29Example:
22 30
diff --git a/Documentation/devicetree/bindings/arm/rockchip/pmu.txt b/Documentation/devicetree/bindings/arm/rockchip/pmu.txt
new file mode 100644
index 000000000000..3ee9b428b2f7
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/rockchip/pmu.txt
@@ -0,0 +1,16 @@
1Rockchip power-management-unit:
2-------------------------------
3
4The pmu is used to turn off and on different power domains of the SoCs
5This includes the power to the CPU cores.
6
7Required node properties:
8- compatible value : = "rockchip,rk3066-pmu";
9- reg : physical base address and the size of the registers window
10
11Example:
12
13 pmu@20004000 {
14 compatible = "rockchip,rk3066-pmu";
15 reg = <0x20004000 0x100>;
16 };
diff --git a/Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt b/Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt
new file mode 100644
index 000000000000..d9416fb8db6f
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/rockchip/smp-sram.txt
@@ -0,0 +1,30 @@
1Rockchip SRAM for smp bringup:
2------------------------------
3
4Rockchip's smp-capable SoCs use the first part of the sram for the bringup
5of the cores. Once the core gets powered up it executes the code that is
6residing at the very beginning of the sram.
7
8Therefore a reserved section sub-node has to be added to the mmio-sram
9declaration.
10
11Required sub-node properties:
12- compatible : should be "rockchip,rk3066-smp-sram"
13
14The rest of the properties should follow the generic mmio-sram discription
15found in ../../misc/sram.txt
16
17Example:
18
19 sram: sram@10080000 {
20 compatible = "mmio-sram";
21 reg = <0x10080000 0x10000>;
22 #address-cells = <1>;
23 #size-cells = <1>;
24 ranges;
25
26 smp-sram@10080000 {
27 compatible = "rockchip,rk3066-smp-sram";
28 reg = <0x10080000 0x50>;
29 };
30 };
diff --git a/Documentation/devicetree/bindings/arm/samsung/pmu.txt b/Documentation/devicetree/bindings/arm/samsung/pmu.txt
new file mode 100644
index 000000000000..f1f155255f28
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/samsung/pmu.txt
@@ -0,0 +1,15 @@
1SAMSUNG Exynos SoC series PMU Registers
2
3Properties:
4 - compatible : should contain two values. First value must be one from following list:
5 - "samsung,exynos5250-pmu" - for Exynos5250 SoC,
6 - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
7 second value must be always "syscon".
8
9 - reg : offset and length of the register set.
10
11Example :
12pmu_system_controller: system-controller@10040000 {
13 compatible = "samsung,exynos5250-pmu", "syscon";
14 reg = <0x10040000 0x5000>;
15};
diff --git a/Documentation/devicetree/bindings/arm/topology.txt b/Documentation/devicetree/bindings/arm/topology.txt
index 4aa20e7a424e..1061faf5f602 100644
--- a/Documentation/devicetree/bindings/arm/topology.txt
+++ b/Documentation/devicetree/bindings/arm/topology.txt
@@ -75,9 +75,10 @@ The cpu-map node can only contain three types of child nodes:
75 75
76whose bindings are described in paragraph 3. 76whose bindings are described in paragraph 3.
77 77
78The nodes describing the CPU topology (cluster/core/thread) can only be 78The nodes describing the CPU topology (cluster/core/thread) can only
79defined within the cpu-map node. 79be defined within the cpu-map node and every core/thread in the system
80Any other configuration is consider invalid and therefore must be ignored. 80must be defined within the topology. Any other configuration is
81invalid and therefore must be ignored.
81 82
82=========================================== 83===========================================
832.1 - cpu-map child nodes naming convention 842.1 - cpu-map child nodes naming convention
diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
index 89de1564950c..48b285ffa3a6 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
@@ -4,17 +4,33 @@ SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node. 4Each SATA controller should have its own node.
5 5
6Required properties: 6Required properties:
7- compatible : compatible list, contains "snps,spear-ahci" 7- compatible : compatible list, one of "snps,spear-ahci",
8 "snps,exynos5440-ahci", "ibm,476gtr-ahci",
9 "allwinner,sun4i-a10-ahci", "fsl,imx53-ahci"
10 "fsl,imx6q-ahci" or "snps,dwc-ahci"
8- interrupts : <interrupt mapping for SATA IRQ> 11- interrupts : <interrupt mapping for SATA IRQ>
9- reg : <registers mapping> 12- reg : <registers mapping>
10 13
11Optional properties: 14Optional properties:
12- dma-coherent : Present if dma operations are coherent 15- dma-coherent : Present if dma operations are coherent
16- clocks : a list of phandle + clock specifier pairs
17- target-supply : regulator for SATA target power
13 18
14Example: 19"fsl,imx53-ahci", "fsl,imx6q-ahci" required properties:
20- clocks : must contain the sata, sata_ref and ahb clocks
21- clock-names : must contain "ahb" for the ahb clock
22
23Examples:
15 sata@ffe08000 { 24 sata@ffe08000 {
16 compatible = "snps,spear-ahci"; 25 compatible = "snps,spear-ahci";
17 reg = <0xffe08000 0x1000>; 26 reg = <0xffe08000 0x1000>;
18 interrupts = <115>; 27 interrupts = <115>;
19
20 }; 28 };
29
30 ahci: sata@01c18000 {
31 compatible = "allwinner,sun4i-a10-ahci";
32 reg = <0x01c18000 0x1000>;
33 interrupts = <56>;
34 clocks = <&pll6 0>, <&ahb_gates 25>;
35 target-supply = <&reg_ahci_5v>;
36 };
diff --git a/Documentation/devicetree/bindings/ata/apm-xgene.txt b/Documentation/devicetree/bindings/ata/apm-xgene.txt
new file mode 100644
index 000000000000..7bcfbf59810e
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/apm-xgene.txt
@@ -0,0 +1,76 @@
1* APM X-Gene 6.0 Gb/s SATA host controller nodes
2
3SATA host controller nodes are defined to describe on-chip Serial ATA
4controllers. Each SATA controller (pair of ports) have its own node.
5
6Required properties:
7- compatible : Shall contain:
8 * "apm,xgene-ahci"
9- reg : First memory resource shall be the AHCI memory
10 resource.
11 Second memory resource shall be the host controller
12 core memory resource.
13 Third memory resource shall be the host controller
14 diagnostic memory resource.
15 4th memory resource shall be the host controller
16 AXI memory resource.
17 5th optional memory resource shall be the host
18 controller MUX memory resource if required.
19- interrupts : Interrupt-specifier for SATA host controller IRQ.
20- clocks : Reference to the clock entry.
21- phys : A list of phandles + phy-specifiers, one for each
22 entry in phy-names.
23- phy-names : Should contain:
24 * "sata-phy" for the SATA 6.0Gbps PHY
25
26Optional properties:
27- status : Shall be "ok" if enabled or "disabled" if disabled.
28 Default is "ok".
29
30Example:
31 sataclk: sataclk {
32 compatible = "fixed-clock";
33 #clock-cells = <1>;
34 clock-frequency = <100000000>;
35 clock-output-names = "sataclk";
36 };
37
38 phy2: phy@1f22a000 {
39 compatible = "apm,xgene-phy";
40 reg = <0x0 0x1f22a000 0x0 0x100>;
41 #phy-cells = <1>;
42 };
43
44 phy3: phy@1f23a000 {
45 compatible = "apm,xgene-phy";
46 reg = <0x0 0x1f23a000 0x0 0x100>;
47 #phy-cells = <1>;
48 };
49
50 sata2: sata@1a400000 {
51 compatible = "apm,xgene-ahci";
52 reg = <0x0 0x1a400000 0x0 0x1000>,
53 <0x0 0x1f220000 0x0 0x1000>,
54 <0x0 0x1f22d000 0x0 0x1000>,
55 <0x0 0x1f22e000 0x0 0x1000>,
56 <0x0 0x1f227000 0x0 0x1000>;
57 interrupts = <0x0 0x87 0x4>;
58 status = "ok";
59 clocks = <&sataclk 0>;
60 phys = <&phy2 0>;
61 phy-names = "sata-phy";
62 };
63
64 sata3: sata@1a800000 {
65 compatible = "apm,xgene-ahci-pcie";
66 reg = <0x0 0x1a800000 0x0 0x1000>,
67 <0x0 0x1f230000 0x0 0x1000>,
68 <0x0 0x1f23d000 0x0 0x1000>,
69 <0x0 0x1f23e000 0x0 0x1000>,
70 <0x0 0x1f237000 0x0 0x1000>;
71 interrupts = <0x0 0x88 0x4>;
72 status = "ok";
73 clocks = <&sataclk 0>;
74 phys = <&phy3 0>;
75 phy-names = "sata-phy";
76 };
diff --git a/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt b/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt
deleted file mode 100644
index 37824fac688e..000000000000
--- a/Documentation/devicetree/bindings/ata/exynos-sata-phy.txt
+++ /dev/null
@@ -1,14 +0,0 @@
1* Samsung SATA PHY Controller
2
3SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
4Each SATA PHY controller should have its own node.
5
6Required properties:
7- compatible : compatible list, contains "samsung,exynos5-sata-phy"
8- reg : <registers mapping>
9
10Example:
11 sata@ffe07000 {
12 compatible = "samsung,exynos5-sata-phy";
13 reg = <0xffe07000 0x1000>;
14 };
diff --git a/Documentation/devicetree/bindings/ata/exynos-sata.txt b/Documentation/devicetree/bindings/ata/exynos-sata.txt
index 0849f1025e34..cb48448247ea 100644
--- a/Documentation/devicetree/bindings/ata/exynos-sata.txt
+++ b/Documentation/devicetree/bindings/ata/exynos-sata.txt
@@ -4,14 +4,27 @@ SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node. 4Each SATA controller should have its own node.
5 5
6Required properties: 6Required properties:
7- compatible : compatible list, contains "samsung,exynos5-sata" 7- compatible : compatible list, contains "samsung,exynos5-sata"
8- interrupts : <interrupt mapping for SATA IRQ> 8- interrupts : <interrupt mapping for SATA IRQ>
9- reg : <registers mapping> 9- reg : <registers mapping>
10- samsung,sata-freq : <frequency in MHz> 10- samsung,sata-freq : <frequency in MHz>
11- phys : Must contain exactly one entry as specified
12 in phy-bindings.txt
13- phy-names : Must be "sata-phy"
14
15Optional properties:
16- clocks : Must contain an entry for each entry in clock-names.
17- clock-names : Shall be "sata" for the external SATA bus clock,
18 and "sclk_sata" for the internal controller clock.
11 19
12Example: 20Example:
13 sata@ffe08000 { 21 sata@122f0000 {
14 compatible = "samsung,exynos5-sata"; 22 compatible = "snps,dwc-ahci";
15 reg = <0xffe08000 0x1000>; 23 samsung,sata-freq = <66>;
16 interrupts = <115>; 24 reg = <0x122f0000 0x1ff>;
17 }; 25 interrupts = <0 115 0>;
26 clocks = <&clock 277>, <&clock 143>;
27 clock-names = "sata", "sclk_sata";
28 phys = <&sata_phy>;
29 phy-names = "sata-phy";
30 };
diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt
index 0fd76c405208..6630d842c7a3 100644
--- a/Documentation/devicetree/bindings/bus/imx-weim.txt
+++ b/Documentation/devicetree/bindings/bus/imx-weim.txt
@@ -8,7 +8,12 @@ The actual devices are instantiated from the child nodes of a WEIM node.
8 8
9Required properties: 9Required properties:
10 10
11 - compatible: Should be set to "fsl,<soc>-weim" 11 - compatible: Should contain one of the following:
12 "fsl,imx1-weim"
13 "fsl,imx27-weim"
14 "fsl,imx51-weim"
15 "fsl,imx50-weim"
16 "fsl,imx6q-weim"
12 - reg: A resource specifier for the register space 17 - reg: A resource specifier for the register space
13 (see the example below) 18 (see the example below)
14 - clocks: the clock, see the example below. 19 - clocks: the clock, see the example below.
@@ -19,6 +24,26 @@ Required properties:
19 24
20 <cs-number> 0 <physical address of mapping> <size> 25 <cs-number> 0 <physical address of mapping> <size>
21 26
27Optional properties:
28
29 - fsl,weim-cs-gpr: For "fsl,imx50-weim" and "fsl,imx6q-weim" type of
30 devices, it should be the phandle to the system General
31 Purpose Register controller that contains WEIM CS GPR
32 register, e.g. IOMUXC_GPR1 on i.MX6Q. IOMUXC_GPR1[11:0]
33 should be set up as one of the following 4 possible
34 values depending on the CS space configuration.
35
36 IOMUXC_GPR1[11:0] CS0 CS1 CS2 CS3
37 ---------------------------------------------
38 05 128M 0M 0M 0M
39 033 64M 64M 0M 0M
40 0113 64M 32M 32M 0M
41 01111 32M 32M 32M 32M
42
43 In case that the property is absent, the reset value or
44 what bootloader sets up in IOMUXC_GPR1[11:0] will be
45 used.
46
22Timing property for child nodes. It is mandatory, not optional. 47Timing property for child nodes. It is mandatory, not optional.
23 48
24 - fsl,weim-cs-timing: The timing array, contains timing values for the 49 - fsl,weim-cs-timing: The timing array, contains timing values for the
@@ -43,6 +68,7 @@ Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM:
43 #address-cells = <2>; 68 #address-cells = <2>;
44 #size-cells = <1>; 69 #size-cells = <1>;
45 ranges = <0 0 0x08000000 0x08000000>; 70 ranges = <0 0 0x08000000 0x08000000>;
71 fsl,weim-cs-gpr = <&gpr>;
46 72
47 nor@0,0 { 73 nor@0,0 {
48 compatible = "cfi-flash"; 74 compatible = "cfi-flash";
diff --git a/Documentation/devicetree/bindings/clock/altr_socfpga.txt b/Documentation/devicetree/bindings/clock/altr_socfpga.txt
index 0045433eae1f..5dfd145d3ccf 100644
--- a/Documentation/devicetree/bindings/clock/altr_socfpga.txt
+++ b/Documentation/devicetree/bindings/clock/altr_socfpga.txt
@@ -23,3 +23,8 @@ Optional properties:
23 and the bit index. 23 and the bit index.
24- div-reg : For "socfpga-gate-clk", div-reg contains the divider register, bit shift, 24- div-reg : For "socfpga-gate-clk", div-reg contains the divider register, bit shift,
25 and width. 25 and width.
26- clk-phase : For the sdmmc_clk, contains the value of the clock phase that controls
27 the SDMMC CIU clock. The first value is the clk_sample(smpsel), and the second
28 value is the cclk_in_drv(drvsel). The clk-phase is used to enable the correct
29 hold/delay times that is needed for the SD/MMC CIU clock. The values of both
30 can be 0-315 degrees, in 45 degree increments.
diff --git a/Documentation/devicetree/bindings/clock/arm-integrator.txt b/Documentation/devicetree/bindings/clock/arm-integrator.txt
new file mode 100644
index 000000000000..652914b17b95
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/arm-integrator.txt
@@ -0,0 +1,34 @@
1Clock bindings for ARM Integrator Core Module clocks
2
3Auxilary Oscillator Clock
4
5This is a configurable clock fed from a 24 MHz chrystal,
6used for generating e.g. video clocks. It is located on the
7core module and there is only one of these.
8
9This clock node *must* be a subnode of the core module, since
10it obtains the base address for it's address range from its
11parent node.
12
13
14Required properties:
15- compatible: must be "arm,integrator-cm-auxosc"
16- #clock-cells: must be <0>
17
18Optional properties:
19- clocks: parent clock(s)
20
21Example:
22
23core-module@10000000 {
24 xtal24mhz: xtal24mhz@24M {
25 #clock-cells = <0>;
26 compatible = "fixed-clock";
27 clock-frequency = <24000000>;
28 };
29 auxosc: cm_aux_osc@25M {
30 #clock-cells = <0>;
31 compatible = "arm,integrator-cm-auxosc";
32 clocks = <&xtal24mhz>;
33 };
34};
diff --git a/Documentation/devicetree/bindings/clock/axi-clkgen.txt b/Documentation/devicetree/bindings/clock/axi-clkgen.txt
index 028b493e97ff..20e1704e7df2 100644
--- a/Documentation/devicetree/bindings/clock/axi-clkgen.txt
+++ b/Documentation/devicetree/bindings/clock/axi-clkgen.txt
@@ -5,7 +5,7 @@ This binding uses the common clock binding[1].
5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6 6
7Required properties: 7Required properties:
8- compatible : shall be "adi,axi-clkgen". 8- compatible : shall be "adi,axi-clkgen-1.00.a" or "adi,axi-clkgen-2.00.a".
9- #clock-cells : from common clock binding; Should always be set to 0. 9- #clock-cells : from common clock binding; Should always be set to 0.
10- reg : Address and length of the axi-clkgen register set. 10- reg : Address and length of the axi-clkgen register set.
11- clocks : Phandle and clock specifier for the parent clock. 11- clocks : Phandle and clock specifier for the parent clock.
diff --git a/Documentation/devicetree/bindings/clock/clock-bindings.txt b/Documentation/devicetree/bindings/clock/clock-bindings.txt
index 7c52c29d99fa..700e7aac3717 100644
--- a/Documentation/devicetree/bindings/clock/clock-bindings.txt
+++ b/Documentation/devicetree/bindings/clock/clock-bindings.txt
@@ -44,6 +44,23 @@ For example:
44 clocks by index. The names should reflect the clock output signal 44 clocks by index. The names should reflect the clock output signal
45 names for the device. 45 names for the device.
46 46
47clock-indices: If the identifyng number for the clocks in the node
48 is not linear from zero, then the this mapping allows
49 the mapping of identifiers into the clock-output-names
50 array.
51
52For example, if we have two clocks <&oscillator 1> and <&oscillator 3>:
53
54 oscillator {
55 compatible = "myclocktype";
56 #clock-cells = <1>;
57 clock-indices = <1>, <3>;
58 clock-output-names = "clka", "clkb";
59 }
60
61 This ensures we do not have any empty nodes in clock-output-names
62
63
47==Clock consumers== 64==Clock consumers==
48 65
49Required properties: 66Required properties:
diff --git a/Documentation/devicetree/bindings/clock/exynos4-clock.txt b/Documentation/devicetree/bindings/clock/exynos4-clock.txt
index a2ac2d9ac71a..f5a5b19ed3b2 100644
--- a/Documentation/devicetree/bindings/clock/exynos4-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos4-clock.txt
@@ -15,259 +15,12 @@ Required Properties:
15 15
16- #clock-cells: should be 1. 16- #clock-cells: should be 1.
17 17
18The following is the list of clocks generated by the controller. Each clock is 18Each clock is assigned an identifier and client nodes can use this identifier
19assigned an identifier and client nodes use this identifier to specify the 19to specify the clock which they consume.
20clock which they consume. Some of the clocks are available only on a particular
21Exynos4 SoC and this is specified where applicable.
22
23
24 [Core Clocks]
25
26 Clock ID SoC (if specific)
27 -----------------------------------------------
28
29 xxti 1
30 xusbxti 2
31 fin_pll 3
32 fout_apll 4
33 fout_mpll 5
34 fout_epll 6
35 fout_vpll 7
36 sclk_apll 8
37 sclk_mpll 9
38 sclk_epll 10
39 sclk_vpll 11
40 arm_clk 12
41 aclk200 13
42 aclk100 14
43 aclk160 15
44 aclk133 16
45 mout_mpll_user_t 17 Exynos4x12
46 mout_mpll_user_c 18 Exynos4x12
47 mout_core 19
48 mout_apll 20
49
50
51 [Clock Gate for Special Clocks]
52
53 Clock ID SoC (if specific)
54 -----------------------------------------------
55
56 sclk_fimc0 128
57 sclk_fimc1 129
58 sclk_fimc2 130
59 sclk_fimc3 131
60 sclk_cam0 132
61 sclk_cam1 133
62 sclk_csis0 134
63 sclk_csis1 135
64 sclk_hdmi 136
65 sclk_mixer 137
66 sclk_dac 138
67 sclk_pixel 139
68 sclk_fimd0 140
69 sclk_mdnie0 141 Exynos4412
70 sclk_mdnie_pwm0 12 142 Exynos4412
71 sclk_mipi0 143
72 sclk_audio0 144
73 sclk_mmc0 145
74 sclk_mmc1 146
75 sclk_mmc2 147
76 sclk_mmc3 148
77 sclk_mmc4 149
78 sclk_sata 150 Exynos4210
79 sclk_uart0 151
80 sclk_uart1 152
81 sclk_uart2 153
82 sclk_uart3 154
83 sclk_uart4 155
84 sclk_audio1 156
85 sclk_audio2 157
86 sclk_spdif 158
87 sclk_spi0 159
88 sclk_spi1 160
89 sclk_spi2 161
90 sclk_slimbus 162
91 sclk_fimd1 163 Exynos4210
92 sclk_mipi1 164 Exynos4210
93 sclk_pcm1 165
94 sclk_pcm2 166
95 sclk_i2s1 167
96 sclk_i2s2 168
97 sclk_mipihsi 169 Exynos4412
98 sclk_mfc 170
99 sclk_pcm0 171
100 sclk_g3d 172
101 sclk_pwm_isp 173 Exynos4x12
102 sclk_spi0_isp 174 Exynos4x12
103 sclk_spi1_isp 175 Exynos4x12
104 sclk_uart_isp 176 Exynos4x12
105 sclk_fimg2d 177
106
107 [Peripheral Clock Gates]
108
109 Clock ID SoC (if specific)
110 -----------------------------------------------
111
112 fimc0 256
113 fimc1 257
114 fimc2 258
115 fimc3 259
116 csis0 260
117 csis1 261
118 jpeg 262
119 smmu_fimc0 263
120 smmu_fimc1 264
121 smmu_fimc2 265
122 smmu_fimc3 266
123 smmu_jpeg 267
124 vp 268
125 mixer 269
126 tvenc 270 Exynos4210
127 hdmi 271
128 smmu_tv 272
129 mfc 273
130 smmu_mfcl 274
131 smmu_mfcr 275
132 g3d 276
133 g2d 277
134 rotator 278 Exynos4210
135 mdma 279 Exynos4210
136 smmu_g2d 280 Exynos4210
137 smmu_rotator 281 Exynos4210
138 smmu_mdma 282 Exynos4210
139 fimd0 283
140 mie0 284
141 mdnie0 285 Exynos4412
142 dsim0 286
143 smmu_fimd0 287
144 fimd1 288 Exynos4210
145 mie1 289 Exynos4210
146 dsim1 290 Exynos4210
147 smmu_fimd1 291 Exynos4210
148 pdma0 292
149 pdma1 293
150 pcie_phy 294
151 sata_phy 295 Exynos4210
152 tsi 296
153 sdmmc0 297
154 sdmmc1 298
155 sdmmc2 299
156 sdmmc3 300
157 sdmmc4 301
158 sata 302 Exynos4210
159 sromc 303
160 usb_host 304
161 usb_device 305
162 pcie 306
163 onenand 307
164 nfcon 308
165 smmu_pcie 309
166 gps 310
167 smmu_gps 311
168 uart0 312
169 uart1 313
170 uart2 314
171 uart3 315
172 uart4 316
173 i2c0 317
174 i2c1 318
175 i2c2 319
176 i2c3 320
177 i2c4 321
178 i2c5 322
179 i2c6 323
180 i2c7 324
181 i2c_hdmi 325
182 tsadc 326
183 spi0 327
184 spi1 328
185 spi2 329
186 i2s1 330
187 i2s2 331
188 pcm0 332
189 i2s0 333
190 pcm1 334
191 pcm2 335
192 pwm 336
193 slimbus 337
194 spdif 338
195 ac97 339
196 modemif 340
197 chipid 341
198 sysreg 342
199 hdmi_cec 343
200 mct 344
201 wdt 345
202 rtc 346
203 keyif 347
204 audss 348
205 mipi_hsi 349 Exynos4210
206 mdma2 350 Exynos4210
207 pixelasyncm0 351
208 pixelasyncm1 352
209 fimc_lite0 353 Exynos4x12
210 fimc_lite1 354 Exynos4x12
211 ppmuispx 355 Exynos4x12
212 ppmuispmx 356 Exynos4x12
213 fimc_isp 357 Exynos4x12
214 fimc_drc 358 Exynos4x12
215 fimc_fd 359 Exynos4x12
216 mcuisp 360 Exynos4x12
217 gicisp 361 Exynos4x12
218 smmu_isp 362 Exynos4x12
219 smmu_drc 363 Exynos4x12
220 smmu_fd 364 Exynos4x12
221 smmu_lite0 365 Exynos4x12
222 smmu_lite1 366 Exynos4x12
223 mcuctl_isp 367 Exynos4x12
224 mpwm_isp 368 Exynos4x12
225 i2c0_isp 369 Exynos4x12
226 i2c1_isp 370 Exynos4x12
227 mtcadc_isp 371 Exynos4x12
228 pwm_isp 372 Exynos4x12
229 wdt_isp 373 Exynos4x12
230 uart_isp 374 Exynos4x12
231 asyncaxim 375 Exynos4x12
232 smmu_ispcx 376 Exynos4x12
233 spi0_isp 377 Exynos4x12
234 spi1_isp 378 Exynos4x12
235 pwm_isp_sclk 379 Exynos4x12
236 spi0_isp_sclk 380 Exynos4x12
237 spi1_isp_sclk 381 Exynos4x12
238 uart_isp_sclk 382 Exynos4x12
239 tmu_apbif 383
240
241 [Mux Clocks]
242
243 Clock ID SoC (if specific)
244 -----------------------------------------------
245
246 mout_fimc0 384
247 mout_fimc1 385
248 mout_fimc2 386
249 mout_fimc3 387
250 mout_cam0 388
251 mout_cam1 389
252 mout_csis0 390
253 mout_csis1 391
254 mout_g3d0 392
255 mout_g3d1 393
256 mout_g3d 394
257 aclk400_mcuisp 395 Exynos4x12
258
259 [Div Clocks]
260
261 Clock ID SoC (if specific)
262 -----------------------------------------------
263
264 div_isp0 450 Exynos4x12
265 div_isp1 451 Exynos4x12
266 div_mcuisp0 452 Exynos4x12
267 div_mcuisp1 453 Exynos4x12
268 div_aclk200 454 Exynos4x12
269 div_aclk400_mcuisp 455 Exynos4x12
270 20
21All available clocks are defined as preprocessor macros in
22dt-bindings/clock/exynos4.h header and can be used in device
23tree sources.
271 24
272Example 1: An example of a clock controller node is listed below. 25Example 1: An example of a clock controller node is listed below.
273 26
@@ -285,6 +38,6 @@ Example 2: UART controller node that consumes the clock generated by the clock
285 compatible = "samsung,exynos4210-uart"; 38 compatible = "samsung,exynos4210-uart";
286 reg = <0x13820000 0x100>; 39 reg = <0x13820000 0x100>;
287 interrupts = <0 54 0>; 40 interrupts = <0 54 0>;
288 clocks = <&clock 314>, <&clock 153>; 41 clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
289 clock-names = "uart", "clk_uart_baud0"; 42 clock-names = "uart", "clk_uart_baud0";
290 }; 43 };
diff --git a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
index 72ce617dea82..536eacd1063f 100644
--- a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
@@ -13,163 +13,12 @@ Required Properties:
13 13
14- #clock-cells: should be 1. 14- #clock-cells: should be 1.
15 15
16The following is the list of clocks generated by the controller. Each clock is 16Each clock is assigned an identifier and client nodes can use this identifier
17assigned an identifier and client nodes use this identifier to specify the 17to specify the clock which they consume.
18clock which they consume.
19
20
21 [Core Clocks]
22
23 Clock ID
24 ----------------------------
25
26 fin_pll 1
27
28 [Clock Gate for Special Clocks]
29
30 Clock ID
31 ----------------------------
32
33 sclk_cam_bayer 128
34 sclk_cam0 129
35 sclk_cam1 130
36 sclk_gscl_wa 131
37 sclk_gscl_wb 132
38 sclk_fimd1 133
39 sclk_mipi1 134
40 sclk_dp 135
41 sclk_hdmi 136
42 sclk_pixel 137
43 sclk_audio0 138
44 sclk_mmc0 139
45 sclk_mmc1 140
46 sclk_mmc2 141
47 sclk_mmc3 142
48 sclk_sata 143
49 sclk_usb3 144
50 sclk_jpeg 145
51 sclk_uart0 146
52 sclk_uart1 147
53 sclk_uart2 148
54 sclk_uart3 149
55 sclk_pwm 150
56 sclk_audio1 151
57 sclk_audio2 152
58 sclk_spdif 153
59 sclk_spi0 154
60 sclk_spi1 155
61 sclk_spi2 156
62 div_i2s1 157
63 div_i2s2 158
64 sclk_hdmiphy 159
65 div_pcm0 160
66
67
68 [Peripheral Clock Gates]
69
70 Clock ID
71 ----------------------------
72
73 gscl0 256
74 gscl1 257
75 gscl2 258
76 gscl3 259
77 gscl_wa 260
78 gscl_wb 261
79 smmu_gscl0 262
80 smmu_gscl1 263
81 smmu_gscl2 264
82 smmu_gscl3 265
83 mfc 266
84 smmu_mfcl 267
85 smmu_mfcr 268
86 rotator 269
87 jpeg 270
88 mdma1 271
89 smmu_rotator 272
90 smmu_jpeg 273
91 smmu_mdma1 274
92 pdma0 275
93 pdma1 276
94 sata 277
95 usbotg 278
96 mipi_hsi 279
97 sdmmc0 280
98 sdmmc1 281
99 sdmmc2 282
100 sdmmc3 283
101 sromc 284
102 usb2 285
103 usb3 286
104 sata_phyctrl 287
105 sata_phyi2c 288
106 uart0 289
107 uart1 290
108 uart2 291
109 uart3 292
110 uart4 293
111 i2c0 294
112 i2c1 295
113 i2c2 296
114 i2c3 297
115 i2c4 298
116 i2c5 299
117 i2c6 300
118 i2c7 301
119 i2c_hdmi 302
120 adc 303
121 spi0 304
122 spi1 305
123 spi2 306
124 i2s1 307
125 i2s2 308
126 pcm1 309
127 pcm2 310
128 pwm 311
129 spdif 312
130 ac97 313
131 hsi2c0 314
132 hsi2c1 315
133 hs12c2 316
134 hs12c3 317
135 chipid 318
136 sysreg 319
137 pmu 320
138 cmu_top 321
139 cmu_core 322
140 cmu_mem 323
141 tzpc0 324
142 tzpc1 325
143 tzpc2 326
144 tzpc3 327
145 tzpc4 328
146 tzpc5 329
147 tzpc6 330
148 tzpc7 331
149 tzpc8 332
150 tzpc9 333
151 hdmi_cec 334
152 mct 335
153 wdt 336
154 rtc 337
155 tmu 338
156 fimd1 339
157 mie1 340
158 dsim0 341
159 dp 342
160 mixer 343
161 hdmi 344
162 g2d 345
163 mdma0 346
164 smmu_mdma0 347
165
166
167 [Clock Muxes]
168
169 Clock ID
170 ----------------------------
171 mout_hdmi 1024
172 18
19All available clocks are defined as preprocessor macros in
20dt-bindings/clock/exynos5250.h header and can be used in device
21tree sources.
173 22
174Example 1: An example of a clock controller node is listed below. 23Example 1: An example of a clock controller node is listed below.
175 24
@@ -187,6 +36,6 @@ Example 2: UART controller node that consumes the clock generated by the clock
187 compatible = "samsung,exynos4210-uart"; 36 compatible = "samsung,exynos4210-uart";
188 reg = <0x13820000 0x100>; 37 reg = <0x13820000 0x100>;
189 interrupts = <0 54 0>; 38 interrupts = <0 54 0>;
190 clocks = <&clock 314>, <&clock 153>; 39 clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
191 clock-names = "uart", "clk_uart_baud0"; 40 clock-names = "uart", "clk_uart_baud0";
192 }; 41 };
diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
index 458f34789e5d..ca88c97a8562 100644
--- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
@@ -13,184 +13,12 @@ Required Properties:
13 13
14- #clock-cells: should be 1. 14- #clock-cells: should be 1.
15 15
16The following is the list of clocks generated by the controller. Each clock is 16Each clock is assigned an identifier and client nodes can use this identifier
17assigned an identifier and client nodes use this identifier to specify the 17to specify the clock which they consume.
18clock which they consume.
19 18
20 19All available clocks are defined as preprocessor macros in
21 [Core Clocks] 20dt-bindings/clock/exynos5420.h header and can be used in device
22 21tree sources.
23 Clock ID
24 ----------------------------
25
26 fin_pll 1
27
28 [Clock Gate for Special Clocks]
29
30 Clock ID
31 ----------------------------
32 sclk_uart0 128
33 sclk_uart1 129
34 sclk_uart2 130
35 sclk_uart3 131
36 sclk_mmc0 132
37 sclk_mmc1 133
38 sclk_mmc2 134
39 sclk_spi0 135
40 sclk_spi1 136
41 sclk_spi2 137
42 sclk_i2s1 138
43 sclk_i2s2 139
44 sclk_pcm1 140
45 sclk_pcm2 141
46 sclk_spdif 142
47 sclk_hdmi 143
48 sclk_pixel 144
49 sclk_dp1 145
50 sclk_mipi1 146
51 sclk_fimd1 147
52 sclk_maudio0 148
53 sclk_maupcm0 149
54 sclk_usbd300 150
55 sclk_usbd301 151
56 sclk_usbphy300 152
57 sclk_usbphy301 153
58 sclk_unipro 154
59 sclk_pwm 155
60 sclk_gscl_wa 156
61 sclk_gscl_wb 157
62 sclk_hdmiphy 158
63
64 [Peripheral Clock Gates]
65
66 Clock ID
67 ----------------------------
68
69 aclk66_peric 256
70 uart0 257
71 uart1 258
72 uart2 259
73 uart3 260
74 i2c0 261
75 i2c1 262
76 i2c2 263
77 i2c3 264
78 i2c4 265
79 i2c5 266
80 i2c6 267
81 i2c7 268
82 i2c_hdmi 269
83 tsadc 270
84 spi0 271
85 spi1 272
86 spi2 273
87 keyif 274
88 i2s1 275
89 i2s2 276
90 pcm1 277
91 pcm2 278
92 pwm 279
93 spdif 280
94 i2c8 281
95 i2c9 282
96 i2c10 283
97 aclk66_psgen 300
98 chipid 301
99 sysreg 302
100 tzpc0 303
101 tzpc1 304
102 tzpc2 305
103 tzpc3 306
104 tzpc4 307
105 tzpc5 308
106 tzpc6 309
107 tzpc7 310
108 tzpc8 311
109 tzpc9 312
110 hdmi_cec 313
111 seckey 314
112 mct 315
113 wdt 316
114 rtc 317
115 tmu 318
116 tmu_gpu 319
117 pclk66_gpio 330
118 aclk200_fsys2 350
119 mmc0 351
120 mmc1 352
121 mmc2 353
122 sromc 354
123 ufs 355
124 aclk200_fsys 360
125 tsi 361
126 pdma0 362
127 pdma1 363
128 rtic 364
129 usbh20 365
130 usbd300 366
131 usbd301 377
132 aclk400_mscl 380
133 mscl0 381
134 mscl1 382
135 mscl2 383
136 smmu_mscl0 384
137 smmu_mscl1 385
138 smmu_mscl2 386
139 aclk333 400
140 mfc 401
141 smmu_mfcl 402
142 smmu_mfcr 403
143 aclk200_disp1 410
144 dsim1 411
145 dp1 412
146 hdmi 413
147 aclk300_disp1 420
148 fimd1 421
149 smmu_fimd1 422
150 aclk166 430
151 mixer 431
152 aclk266 440
153 rotator 441
154 mdma1 442
155 smmu_rotator 443
156 smmu_mdma1 444
157 aclk300_jpeg 450
158 jpeg 451
159 jpeg2 452
160 smmu_jpeg 453
161 aclk300_gscl 460
162 smmu_gscl0 461
163 smmu_gscl1 462
164 gscl_wa 463
165 gscl_wb 464
166 gscl0 465
167 gscl1 466
168 clk_3aa 467
169 aclk266_g2d 470
170 sss 471
171 slim_sss 472
172 mdma0 473
173 aclk333_g2d 480
174 g2d 481
175 aclk333_432_gscl 490
176 smmu_3aa 491
177 smmu_fimcl0 492
178 smmu_fimcl1 493
179 smmu_fimcl3 494
180 fimc_lite3 495
181 aclk_g3d 500
182 g3d 501
183 smmu_mixer 502
184
185 Mux ID
186 ----------------------------
187
188 mout_hdmi 640
189
190 Divider ID
191 ----------------------------
192
193 dout_pixel 768
194 22
195Example 1: An example of a clock controller node is listed below. 23Example 1: An example of a clock controller node is listed below.
196 24
@@ -208,6 +36,6 @@ Example 2: UART controller node that consumes the clock generated by the clock
208 compatible = "samsung,exynos4210-uart"; 36 compatible = "samsung,exynos4210-uart";
209 reg = <0x13820000 0x100>; 37 reg = <0x13820000 0x100>;
210 interrupts = <0 54 0>; 38 interrupts = <0 54 0>;
211 clocks = <&clock 259>, <&clock 130>; 39 clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
212 clock-names = "uart", "clk_uart_baud0"; 40 clock-names = "uart", "clk_uart_baud0";
213 }; 41 };
diff --git a/Documentation/devicetree/bindings/clock/exynos5440-clock.txt b/Documentation/devicetree/bindings/clock/exynos5440-clock.txt
index 9955dc9c7d96..5f7005f73058 100644
--- a/Documentation/devicetree/bindings/clock/exynos5440-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5440-clock.txt
@@ -12,45 +12,12 @@ Required Properties:
12 12
13- #clock-cells: should be 1. 13- #clock-cells: should be 1.
14 14
15The following is the list of clocks generated by the controller. Each clock is 15Each clock is assigned an identifier and client nodes can use this identifier
16assigned an identifier and client nodes use this identifier to specify the 16to specify the clock which they consume.
17clock which they consume. 17
18 18All available clocks are defined as preprocessor macros in
19 19dt-bindings/clock/exynos5440.h header and can be used in device
20 [Core Clocks] 20tree sources.
21
22 Clock ID
23 ----------------------------
24
25 xtal 1
26 arm_clk 2
27
28 [Peripheral Clock Gates]
29
30 Clock ID
31 ----------------------------
32
33 spi_baud 16
34 pb0_250 17
35 pr0_250 18
36 pr1_250 19
37 b_250 20
38 b_125 21
39 b_200 22
40 sata 23
41 usb 24
42 gmac0 25
43 cs250 26
44 pb0_250_o 27
45 pr0_250_o 28
46 pr1_250_o 29
47 b_250_o 30
48 b_125_o 31
49 b_200_o 32
50 sata_o 33
51 usb_o 34
52 gmac0_o 35
53 cs250_o 36
54 21
55Example: An example of a clock controller node is listed below. 22Example: An example of a clock controller node is listed below.
56 23
diff --git a/Documentation/devicetree/bindings/clock/hi3620-clock.txt b/Documentation/devicetree/bindings/clock/hi3620-clock.txt
index 4b71ab41be53..dad6269f52c5 100644
--- a/Documentation/devicetree/bindings/clock/hi3620-clock.txt
+++ b/Documentation/devicetree/bindings/clock/hi3620-clock.txt
@@ -7,6 +7,7 @@ Required Properties:
7 7
8- compatible: should be one of the following. 8- compatible: should be one of the following.
9 - "hisilicon,hi3620-clock" - controller compatible with Hi3620 SoC. 9 - "hisilicon,hi3620-clock" - controller compatible with Hi3620 SoC.
10 - "hisilicon,hi3620-mmc-clock" - controller specific for Hi3620 mmc.
10 11
11- reg: physical base address of the controller and length of memory mapped 12- reg: physical base address of the controller and length of memory mapped
12 region. 13 region.
diff --git a/Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt b/Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt
new file mode 100644
index 000000000000..fedea84314a1
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/moxa,moxart-clock.txt
@@ -0,0 +1,48 @@
1Device Tree Clock bindings for arch-moxart
2
3This binding uses the common clock binding[1].
4
5[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6
7MOXA ART SoCs allow to determine PLL output and APB frequencies
8by reading registers holding multiplier and divisor information.
9
10
11PLL:
12
13Required properties:
14- compatible : Must be "moxa,moxart-pll-clock"
15- #clock-cells : Should be 0
16- reg : Should contain registers location and length
17- clocks : Should contain phandle + clock-specifier for the parent clock
18
19Optional properties:
20- clock-output-names : Should contain clock name
21
22
23APB:
24
25Required properties:
26- compatible : Must be "moxa,moxart-apb-clock"
27- #clock-cells : Should be 0
28- reg : Should contain registers location and length
29- clocks : Should contain phandle + clock-specifier for the parent clock
30
31Optional properties:
32- clock-output-names : Should contain clock name
33
34
35For example:
36
37 clk_pll: clk_pll@98100000 {
38 compatible = "moxa,moxart-pll-clock";
39 #clock-cells = <0>;
40 reg = <0x98100000 0x34>;
41 };
42
43 clk_apb: clk_apb@98100000 {
44 compatible = "moxa,moxart-apb-clock";
45 #clock-cells = <0>;
46 reg = <0x98100000 0x34>;
47 clocks = <&clk_pll>;
48 };
diff --git a/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt b/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt
index 1e662948661e..307a503c5db8 100644
--- a/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt
+++ b/Documentation/devicetree/bindings/clock/mvebu-core-clock.txt
@@ -11,6 +11,18 @@ The following is a list of provided IDs and clock names on Armada 370/XP:
11 3 = hclk (DRAM control clock) 11 3 = hclk (DRAM control clock)
12 4 = dramclk (DDR clock) 12 4 = dramclk (DDR clock)
13 13
14The following is a list of provided IDs and clock names on Armada 375:
15 0 = tclk (Internal Bus clock)
16 1 = cpuclk (CPU clock)
17 2 = l2clk (L2 Cache clock)
18 3 = ddrclk (DDR clock)
19
20The following is a list of provided IDs and clock names on Armada 380/385:
21 0 = tclk (Internal Bus clock)
22 1 = cpuclk (CPU clock)
23 2 = l2clk (L2 Cache clock)
24 3 = ddrclk (DDR clock)
25
14The following is a list of provided IDs and clock names on Kirkwood and Dove: 26The following is a list of provided IDs and clock names on Kirkwood and Dove:
15 0 = tclk (Internal Bus clock) 27 0 = tclk (Internal Bus clock)
16 1 = cpuclk (CPU0 clock) 28 1 = cpuclk (CPU0 clock)
@@ -20,6 +32,8 @@ The following is a list of provided IDs and clock names on Kirkwood and Dove:
20Required properties: 32Required properties:
21- compatible : shall be one of the following: 33- compatible : shall be one of the following:
22 "marvell,armada-370-core-clock" - For Armada 370 SoC core clocks 34 "marvell,armada-370-core-clock" - For Armada 370 SoC core clocks
35 "marvell,armada-375-core-clock" - For Armada 375 SoC core clocks
36 "marvell,armada-380-core-clock" - For Armada 380/385 SoC core clocks
23 "marvell,armada-xp-core-clock" - For Armada XP SoC core clocks 37 "marvell,armada-xp-core-clock" - For Armada XP SoC core clocks
24 "marvell,dove-core-clock" - for Dove SoC core clocks 38 "marvell,dove-core-clock" - for Dove SoC core clocks
25 "marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180) 39 "marvell,kirkwood-core-clock" - for Kirkwood SoC (except mv88f6180)
diff --git a/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt b/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt
index c62391fc0e39..520562a7dc2a 100644
--- a/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt
+++ b/Documentation/devicetree/bindings/clock/mvebu-corediv-clock.txt
@@ -4,7 +4,10 @@ The following is a list of provided IDs and clock names on Armada 370/XP:
4 0 = nand (NAND clock) 4 0 = nand (NAND clock)
5 5
6Required properties: 6Required properties:
7- compatible : must be "marvell,armada-370-corediv-clock" 7- compatible : must be "marvell,armada-370-corediv-clock",
8 "marvell,armada-375-corediv-clock",
9 "marvell,armada-380-corediv-clock",
10
8- reg : must be the register address of Core Divider control register 11- reg : must be the register address of Core Divider control register
9- #clock-cells : from common clock binding; shall be set to 1 12- #clock-cells : from common clock binding; shall be set to 1
10- clocks : must be set to the parent's phandle 13- clocks : must be set to the parent's phandle
diff --git a/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt b/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt
index fc2910fa7e45..76477be742b2 100644
--- a/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt
+++ b/Documentation/devicetree/bindings/clock/mvebu-gated-clock.txt
@@ -1,9 +1,10 @@
1* Gated Clock bindings for Marvell EBU SoCs 1* Gated Clock bindings for Marvell EBU SoCs
2 2
3Marvell Armada 370/XP, Dove and Kirkwood allow some peripheral clocks to be 3Marvell Armada 370/375/380/385/XP, Dove and Kirkwood allow some
4gated to save some power. The clock consumer should specify the desired clock 4peripheral clocks to be gated to save some power. The clock consumer
5by having the clock ID in its "clocks" phandle cell. The clock ID is directly 5should specify the desired clock by having the clock ID in its
6mapped to the corresponding clock gating control bit in HW to ease manual clock 6"clocks" phandle cell. The clock ID is directly mapped to the
7corresponding clock gating control bit in HW to ease manual clock
7lookup in datasheet. 8lookup in datasheet.
8 9
9The following is a list of provided IDs for Armada 370: 10The following is a list of provided IDs for Armada 370:
@@ -22,6 +23,60 @@ ID Clock Peripheral
2228 ddr DDR Cntrl 2328 ddr DDR Cntrl
2330 sata1 SATA Host 0 2430 sata1 SATA Host 0
24 25
26The following is a list of provided IDs for Armada 375:
27ID Clock Peripheral
28-----------------------------------
292 mu Management Unit
303 pp Packet Processor
314 ptp PTP
325 pex0 PCIe 0 Clock out
336 pex1 PCIe 1 Clock out
348 audio Audio Cntrl
3511 nd_clk Nand Flash Cntrl
3614 sata0_link SATA 0 Link
3715 sata0_core SATA 0 Core
3816 usb3 USB3 Host
3917 sdio SDHCI Host
4018 usb USB Host
4119 gop Gigabit Ethernet MAC
4220 sata1_link SATA 1 Link
4321 sata1_core SATA 1 Core
4422 xor0 XOR DMA 0
4523 xor1 XOR DMA 0
4624 copro Coprocessor
4725 tdm Time Division Mplx
4828 crypto0_enc Cryptographic Unit Port 0 Encryption
4929 crypto0_core Cryptographic Unit Port 0 Core
5030 crypto1_enc Cryptographic Unit Port 1 Encryption
5131 crypto1_core Cryptographic Unit Port 1 Core
52
53The following is a list of provided IDs for Armada 380/385:
54ID Clock Peripheral
55-----------------------------------
560 audio Audio
572 ge2 Gigabit Ethernet 2
583 ge1 Gigabit Ethernet 1
594 ge0 Gigabit Ethernet 0
605 pex1 PCIe 1
616 pex2 PCIe 2
627 pex3 PCIe 3
638 pex0 PCIe 0
649 usb3h0 USB3 Host 0
6510 usb3h1 USB3 Host 1
6611 usb3d USB3 Device
6713 bm Buffer Management
6814 crypto0z Cryptographic 0 Z
6915 sata0 SATA 0
7016 crypto1z Cryptographic 1 Z
7117 sdio SDIO
7218 usb2 USB 2
7321 crypto1 Cryptographic 1
7422 xor0 XOR 0
7523 crypto0 Cryptographic 0
7625 tdm Time Division Multiplexing
7728 xor1 XOR 1
7830 sata1 SATA 1
79
25The following is a list of provided IDs for Armada XP: 80The following is a list of provided IDs for Armada XP:
26ID Clock Peripheral 81ID Clock Peripheral
27----------------------------------- 82-----------------------------------
@@ -95,6 +150,8 @@ ID Clock Peripheral
95Required properties: 150Required properties:
96- compatible : shall be one of the following: 151- compatible : shall be one of the following:
97 "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating 152 "marvell,armada-370-gating-clock" - for Armada 370 SoC clock gating
153 "marvell,armada-375-gating-clock" - for Armada 375 SoC clock gating
154 "marvell,armada-380-gating-clock" - for Armada 380/385 SoC clock gating
98 "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating 155 "marvell,armada-xp-gating-clock" - for Armada XP SoC clock gating
99 "marvell,dove-gating-clock" - for Dove SoC clock gating 156 "marvell,dove-gating-clock" - for Dove SoC clock gating
100 "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating 157 "marvell,kirkwood-gating-clock" - for Kirkwood SoC clock gating
diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
index a6a352c2771e..5992dceec7af 100644
--- a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
+++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt
@@ -21,9 +21,9 @@ Required Properties:
21 must appear in the same order as the output clocks. 21 must appear in the same order as the output clocks.
22 - #clock-cells: Must be 1 22 - #clock-cells: Must be 1
23 - clock-output-names: The name of the clocks as free-form strings 23 - clock-output-names: The name of the clocks as free-form strings
24 - renesas,indices: Indices of the gate clocks into the group (0 to 31) 24 - renesas,clock-indices: Indices of the gate clocks into the group (0 to 31)
25 25
26The clocks, clock-output-names and renesas,indices properties contain one 26The clocks, clock-output-names and renesas,clock-indices properties contain one
27entry per gate clock. The MSTP groups are sparsely populated. Unimplemented 27entry per gate clock. The MSTP groups are sparsely populated. Unimplemented
28gate clocks must not be declared. 28gate clocks must not be declared.
29 29
diff --git a/Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt
new file mode 100644
index 000000000000..98a257492522
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt
@@ -0,0 +1,29 @@
1* Renesas RZ Clock Pulse Generator (CPG)
2
3The CPG generates core clocks for the RZ SoCs. It includes the PLL, variable
4CPU and GPU clocks, and several fixed ratio dividers.
5
6Required Properties:
7
8 - compatible: Must be one of
9 - "renesas,r7s72100-cpg-clocks" for the r7s72100 CPG
10 - "renesas,rz-cpg-clocks" for the generic RZ CPG
11 - reg: Base address and length of the memory resource used by the CPG
12 - clocks: References to possible parent clocks. Order must match clock modes
13 in the datasheet. For the r7s72100, this is extal, usb_x1.
14 - #clock-cells: Must be 1
15 - clock-output-names: The names of the clocks. Supported clocks are "pll",
16 "i", and "g"
17
18
19Example
20-------
21
22 cpg_clocks: cpg_clocks@fcfe0000 {
23 #clock-cells = <1>;
24 compatible = "renesas,r7s72100-cpg-clocks",
25 "renesas,rz-cpg-clocks";
26 reg = <0xfcfe0000 0x18>;
27 clocks = <&extal_clk>, <&usb_x1_clk>;
28 clock-output-names = "pll", "i", "g";
29 };
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt
new file mode 100644
index 000000000000..ae56315fcec5
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-divmux.txt
@@ -0,0 +1,49 @@
1Binding for a ST divider and multiplexer clock driver.
2
3This binding uses the common clock binding[1].
4Base address is located to the parent node. See clock binding[2]
5
6[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
7[2] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
8
9Required properties:
10
11- compatible : shall be:
12 "st,clkgena-divmux-c65-hs", "st,clkgena-divmux"
13 "st,clkgena-divmux-c65-ls", "st,clkgena-divmux"
14 "st,clkgena-divmux-c32-odf0", "st,clkgena-divmux"
15 "st,clkgena-divmux-c32-odf1", "st,clkgena-divmux"
16 "st,clkgena-divmux-c32-odf2", "st,clkgena-divmux"
17 "st,clkgena-divmux-c32-odf3", "st,clkgena-divmux"
18
19- #clock-cells : From common clock binding; shall be set to 1.
20
21- clocks : From common clock binding
22
23- clock-output-names : From common clock binding.
24
25Example:
26
27 clockgenA@fd345000 {
28 reg = <0xfd345000 0xb50>;
29
30 CLK_M_A1_DIV1: CLK_M_A1_DIV1 {
31 #clock-cells = <1>;
32 compatible = "st,clkgena-divmux-c32-odf1",
33 "st,clkgena-divmux";
34
35 clocks = <&CLK_M_A1_OSC_PREDIV>,
36 <&CLK_M_A1_PLL0 1>, /* PLL0 PHI1 */
37 <&CLK_M_A1_PLL1 1>; /* PLL1 PHI1 */
38
39 clock-output-names = "CLK_M_RX_ICN_TS",
40 "CLK_M_RX_ICN_VDP_0",
41 "", /* Unused */
42 "CLK_M_PRV_T1_BUS",
43 "CLK_M_ICN_REG_12",
44 "CLK_M_ICN_REG_10",
45 "", /* Unused */
46 "CLK_M_ICN_ST231";
47 };
48 };
49
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt
new file mode 100644
index 000000000000..943e0808e212
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-mux.txt
@@ -0,0 +1,36 @@
1Binding for a ST multiplexed clock driver.
2
3This binding supports only simple indexed multiplexers, it does not
4support table based parent index to hardware value translations.
5
6This binding uses the common clock binding[1].
7
8[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
9
10Required properties:
11
12- compatible : shall be:
13 "st,stih416-clkgenc-vcc-hd", "st,clkgen-mux"
14 "st,stih416-clkgenf-vcc-fvdp", "st,clkgen-mux"
15 "st,stih416-clkgenf-vcc-hva", "st,clkgen-mux"
16 "st,stih416-clkgenf-vcc-hd", "st,clkgen-mux"
17 "st,stih416-clkgenf-vcc-sd", "st,clkgen-mux"
18 "st,stih415-clkgen-a9-mux", "st,clkgen-mux"
19 "st,stih416-clkgen-a9-mux", "st,clkgen-mux"
20
21
22- #clock-cells : from common clock binding; shall be set to 0.
23
24- reg : A Base address and length of the register set.
25
26- clocks : from common clock binding
27
28Example:
29
30 CLK_M_HVA: CLK_M_HVA {
31 #clock-cells = <0>;
32 compatible = "st,stih416-clkgenf-vcc-hva", "st,clkgen-mux";
33 reg = <0xfd690868 4>;
34
35 clocks = <&CLOCKGEN_F 1>, <&CLK_M_A1_DIV0 3>;
36 };
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt
new file mode 100644
index 000000000000..81eb3855ab92
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-pll.txt
@@ -0,0 +1,48 @@
1Binding for a ST pll clock driver.
2
3This binding uses the common clock binding[1].
4Base address is located to the parent node. See clock binding[2]
5
6[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
7[2] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
8
9Required properties:
10
11- compatible : shall be:
12 "st,clkgena-prediv-c65", "st,clkgena-prediv"
13 "st,clkgena-prediv-c32", "st,clkgena-prediv"
14
15 "st,clkgena-plls-c65"
16 "st,plls-c32-a1x-0", "st,clkgen-plls-c32"
17 "st,plls-c32-a1x-1", "st,clkgen-plls-c32"
18 "st,stih415-plls-c32-a9", "st,clkgen-plls-c32"
19 "st,stih415-plls-c32-ddr", "st,clkgen-plls-c32"
20 "st,stih416-plls-c32-a9", "st,clkgen-plls-c32"
21 "st,stih416-plls-c32-ddr", "st,clkgen-plls-c32"
22
23 "st,stih415-gpu-pll-c32", "st,clkgengpu-pll-c32"
24 "st,stih416-gpu-pll-c32", "st,clkgengpu-pll-c32"
25
26
27- #clock-cells : From common clock binding; shall be set to 1.
28
29- clocks : From common clock binding
30
31- clock-output-names : From common clock binding.
32
33Example:
34
35 clockgenA@fee62000 {
36 reg = <0xfee62000 0xb48>;
37
38 CLK_S_A0_PLL: CLK_S_A0_PLL {
39 #clock-cells = <1>;
40 compatible = "st,clkgena-plls-c65";
41
42 clocks = <&CLK_SYSIN>;
43
44 clock-output-names = "CLK_S_A0_PLL0_HS",
45 "CLK_S_A0_PLL0_LS",
46 "CLK_S_A0_PLL1";
47 };
48 };
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt
new file mode 100644
index 000000000000..566c9d79ed32
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-prediv.txt
@@ -0,0 +1,36 @@
1Binding for a ST pre-divider clock driver.
2
3This binding uses the common clock binding[1].
4Base address is located to the parent node. See clock binding[2]
5
6[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
7[2] Documentation/devicetree/bindings/clock/st/st,clkgen.txt
8
9Required properties:
10
11- compatible : shall be:
12 "st,clkgena-prediv-c65", "st,clkgena-prediv"
13 "st,clkgena-prediv-c32", "st,clkgena-prediv"
14
15- #clock-cells : From common clock binding; shall be set to 0.
16
17- clocks : From common clock binding
18
19- clock-output-names : From common clock binding.
20
21Example:
22
23 clockgenA@fd345000 {
24 reg = <0xfd345000 0xb50>;
25
26 CLK_M_A2_OSC_PREDIV: CLK_M_A2_OSC_PREDIV {
27 #clock-cells = <0>;
28 compatible = "st,clkgena-prediv-c32",
29 "st,clkgena-prediv";
30
31 clocks = <&CLK_SYSIN>;
32
33 clock-output-names = "CLK_M_A2_OSC_PREDIV";
34 };
35 };
36
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt
new file mode 100644
index 000000000000..4e3ff28b04c3
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,clkgen-vcc.txt
@@ -0,0 +1,53 @@
1Binding for a type of STMicroelectronics clock crossbar (VCC).
2
3The crossbar can take up to 4 input clocks and control up to 16
4output clocks. Not all inputs or outputs have to be in use in a
5particular instantiation. Each output can be individually enabled,
6select any of the input clocks and apply a divide (by 1,2,4 or 8) to
7that selected clock.
8
9This binding uses the common clock binding[1].
10
11[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
12
13Required properties:
14
15- compatible : shall be:
16 "st,stih416-clkgenc", "st,vcc"
17 "st,stih416-clkgenf", "st,vcc"
18
19- #clock-cells : from common clock binding; shall be set to 1.
20
21- reg : A Base address and length of the register set.
22
23- clocks : from common clock binding
24
25- clock-output-names : From common clock binding. The block has 16
26 clock outputs but not all of them in a specific instance
27 have to be used in the SoC. If a clock name is left as
28 an empty string then no clock will be created for the
29 output associated with that string index. If fewer than
30 16 strings are provided then no clocks will be created
31 for the remaining outputs.
32
33Example:
34
35 CLOCKGEN_C_VCC: CLOCKGEN_C_VCC {
36 #clock-cells = <1>;
37 compatible = "st,stih416-clkgenc", "st,clkgen-vcc";
38 reg = <0xfe8308ac 12>;
39
40 clocks = <&CLK_S_VCC_HD>, <&CLOCKGEN_C 1>,
41 <&CLK_S_TMDS_FROMPHY>, <&CLOCKGEN_C 2>;
42
43 clock-output-names =
44 "CLK_S_PIX_HDMI", "CLK_S_PIX_DVO",
45 "CLK_S_OUT_DVO", "CLK_S_PIX_HD",
46 "CLK_S_HDDAC", "CLK_S_DENC",
47 "CLK_S_SDDAC", "CLK_S_PIX_MAIN",
48 "CLK_S_PIX_AUX", "CLK_S_STFE_FRC_0",
49 "CLK_S_REF_MCRU", "CLK_S_SLAVE_MCRU",
50 "CLK_S_TMDS_HDMI", "CLK_S_HDMI_REJECT_PLL",
51 "CLK_S_THSENS";
52 };
53
diff --git a/Documentation/devicetree/bindings/clock/st/st,clkgen.txt b/Documentation/devicetree/bindings/clock/st/st,clkgen.txt
new file mode 100644
index 000000000000..49ec5ae18b5b
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,clkgen.txt
@@ -0,0 +1,83 @@
1Binding for a Clockgen hardware block found on
2certain STMicroelectronics consumer electronics SoC devices.
3
4A Clockgen node can contain pll, diviser or multiplexer nodes.
5
6We will find only the base address of the Clockgen, this base
7address is common of all subnode.
8
9 clockgen_node {
10 reg = <>;
11
12 pll_node {
13 ...
14 };
15
16 prediv_node {
17 ...
18 };
19
20 divmux_node {
21 ...
22 };
23
24 quadfs_node {
25 ...
26 };
27 ...
28 };
29
30This binding uses the common clock binding[1].
31Each subnode should use the binding discribe in [2]..[4]
32
33[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
34[2] Documentation/devicetree/bindings/clock/st,quadfs.txt
35[3] Documentation/devicetree/bindings/clock/st,quadfs.txt
36[4] Documentation/devicetree/bindings/clock/st,quadfs.txt
37
38Required properties:
39- reg : A Base address and length of the register set.
40
41Example:
42
43 clockgenA@fee62000 {
44
45 reg = <0xfee62000 0xb48>;
46
47 CLK_S_A0_PLL: CLK_S_A0_PLL {
48 #clock-cells = <1>;
49 compatible = "st,clkgena-plls-c65";
50
51 clocks = <&CLK_SYSIN>;
52
53 clock-output-names = "CLK_S_A0_PLL0_HS",
54 "CLK_S_A0_PLL0_LS",
55 "CLK_S_A0_PLL1";
56 };
57
58 CLK_S_A0_OSC_PREDIV: CLK_S_A0_OSC_PREDIV {
59 #clock-cells = <0>;
60 compatible = "st,clkgena-prediv-c65",
61 "st,clkgena-prediv";
62
63 clocks = <&CLK_SYSIN>;
64
65 clock-output-names = "CLK_S_A0_OSC_PREDIV";
66 };
67
68 CLK_S_A0_HS: CLK_S_A0_HS {
69 #clock-cells = <1>;
70 compatible = "st,clkgena-divmux-c65-hs",
71 "st,clkgena-divmux";
72
73 clocks = <&CLK_S_A0_OSC_PREDIV>,
74 <&CLK_S_A0_PLL 0>, /* PLL0 HS */
75 <&CLK_S_A0_PLL 2>; /* PLL1 */
76
77 clock-output-names = "CLK_S_FDMA_0",
78 "CLK_S_FDMA_1",
79 ""; /* CLK_S_JIT_SENSE */
80 /* Fourth output unused */
81 };
82 };
83
diff --git a/Documentation/devicetree/bindings/clock/st/st,quadfs.txt b/Documentation/devicetree/bindings/clock/st/st,quadfs.txt
new file mode 100644
index 000000000000..ec86d62ca283
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/st/st,quadfs.txt
@@ -0,0 +1,45 @@
1Binding for a type of quad channel digital frequency synthesizer found on
2certain STMicroelectronics consumer electronics SoC devices.
3
4This version contains a programmable PLL which can generate up to 216, 432
5or 660MHz (from a 30MHz oscillator input) as the input to the digital
6synthesizers.
7
8This binding uses the common clock binding[1].
9
10[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
11
12Required properties:
13- compatible : shall be:
14 "st,stih416-quadfs216", "st,quadfs"
15 "st,stih416-quadfs432", "st,quadfs"
16 "st,stih416-quadfs660-E", "st,quadfs"
17 "st,stih416-quadfs660-F", "st,quadfs"
18
19- #clock-cells : from common clock binding; shall be set to 1.
20
21- reg : A Base address and length of the register set.
22
23- clocks : from common clock binding
24
25- clock-output-names : From common clock binding. The block has 4
26 clock outputs but not all of them in a specific instance
27 have to be used in the SoC. If a clock name is left as
28 an empty string then no clock will be created for the
29 output associated with that string index. If fewer than
30 4 strings are provided then no clocks will be created
31 for the remaining outputs.
32
33Example:
34
35 CLOCKGEN_E: CLOCKGEN_E {
36 #clock-cells = <1>;
37 compatible = "st,stih416-quadfs660-E", "st,quadfs";
38 reg = <0xfd3208bc 0xB0>;
39
40 clocks = <&CLK_SYSIN>;
41 clock-output-names = "CLK_M_PIX_MDTP_0",
42 "CLK_M_PIX_MDTP_1",
43 "CLK_M_PIX_MDTP_2",
44 "CLK_M_MPELPC";
45 };
diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
index c2cb7621ad2d..a5160d8cbb5f 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -6,37 +6,41 @@ This binding uses the common clock binding[1].
6 6
7Required properties: 7Required properties:
8- compatible : shall be one of the following: 8- compatible : shall be one of the following:
9 "allwinner,sun4i-osc-clk" - for a gatable oscillator 9 "allwinner,sun4i-a10-osc-clk" - for a gatable oscillator
10 "allwinner,sun4i-pll1-clk" - for the main PLL clock and PLL4 10 "allwinner,sun4i-a10-pll1-clk" - for the main PLL clock and PLL4
11 "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31 11 "allwinner,sun6i-a31-pll1-clk" - for the main PLL clock on A31
12 "allwinner,sun4i-pll5-clk" - for the PLL5 clock 12 "allwinner,sun4i-a10-pll5-clk" - for the PLL5 clock
13 "allwinner,sun4i-pll6-clk" - for the PLL6 clock 13 "allwinner,sun4i-a10-pll6-clk" - for the PLL6 clock
14 "allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock 14 "allwinner,sun6i-a31-pll6-clk" - for the PLL6 clock on A31
15 "allwinner,sun4i-axi-clk" - for the AXI clock 15 "allwinner,sun4i-a10-cpu-clk" - for the CPU multiplexer clock
16 "allwinner,sun4i-axi-gates-clk" - for the AXI gates 16 "allwinner,sun4i-a10-axi-clk" - for the AXI clock
17 "allwinner,sun4i-ahb-clk" - for the AHB clock 17 "allwinner,sun4i-a10-axi-gates-clk" - for the AXI gates
18 "allwinner,sun4i-ahb-gates-clk" - for the AHB gates on A10 18 "allwinner,sun4i-a10-ahb-clk" - for the AHB clock
19 "allwinner,sun4i-a10-ahb-gates-clk" - for the AHB gates on A10
19 "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13 20 "allwinner,sun5i-a13-ahb-gates-clk" - for the AHB gates on A13
20 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s 21 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
21 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20 22 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20
22 "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31 23 "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31
23 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31 24 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31
24 "allwinner,sun4i-apb0-clk" - for the APB0 clock 25 "allwinner,sun4i-a10-apb0-clk" - for the APB0 clock
25 "allwinner,sun4i-apb0-gates-clk" - for the APB0 gates on A10 26 "allwinner,sun4i-a10-apb0-gates-clk" - for the APB0 gates on A10
26 "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13 27 "allwinner,sun5i-a13-apb0-gates-clk" - for the APB0 gates on A13
27 "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s 28 "allwinner,sun5i-a10s-apb0-gates-clk" - for the APB0 gates on A10s
28 "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20 29 "allwinner,sun7i-a20-apb0-gates-clk" - for the APB0 gates on A20
29 "allwinner,sun4i-apb1-clk" - for the APB1 clock 30 "allwinner,sun4i-a10-apb1-clk" - for the APB1 clock
30 "allwinner,sun4i-apb1-mux-clk" - for the APB1 clock muxing 31 "allwinner,sun4i-a10-apb1-mux-clk" - for the APB1 clock muxing
31 "allwinner,sun4i-apb1-gates-clk" - for the APB1 gates on A10 32 "allwinner,sun4i-a10-apb1-gates-clk" - for the APB1 gates on A10
32 "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13 33 "allwinner,sun5i-a13-apb1-gates-clk" - for the APB1 gates on A13
33 "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s 34 "allwinner,sun5i-a10s-apb1-gates-clk" - for the APB1 gates on A10s
34 "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31 35 "allwinner,sun6i-a31-apb1-gates-clk" - for the APB1 gates on A31
35 "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20 36 "allwinner,sun7i-a20-apb1-gates-clk" - for the APB1 gates on A20
36 "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31 37 "allwinner,sun6i-a31-apb2-div-clk" - for the APB2 gates on A31
37 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31 38 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
38 "allwinner,sun4i-mod0-clk" - for the module 0 family of clocks 39 "allwinner,sun4i-a10-mod0-clk" - for the module 0 family of clocks
39 "allwinner,sun7i-a20-out-clk" - for the external output clocks 40 "allwinner,sun7i-a20-out-clk" - for the external output clocks
41 "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31
42 "allwinner,sun4i-a10-usb-clk" - for usb gates + resets on A10 / A20
43 "allwinner,sun5i-a13-usb-clk" - for usb gates + resets on A13
40 44
41Required properties for all clocks: 45Required properties for all clocks:
42- reg : shall be the control register address for the clock. 46- reg : shall be the control register address for the clock.
@@ -44,10 +48,17 @@ Required properties for all clocks:
44 multiplexed clocks, the list order must match the hardware 48 multiplexed clocks, the list order must match the hardware
45 programming order. 49 programming order.
46- #clock-cells : from common clock binding; shall be set to 0 except for 50- #clock-cells : from common clock binding; shall be set to 0 except for
47 "allwinner,*-gates-clk" where it shall be set to 1 51 "allwinner,*-gates-clk", "allwinner,sun4i-pll5-clk" and
52 "allwinner,sun4i-pll6-clk" where it shall be set to 1
53- clock-output-names : shall be the corresponding names of the outputs.
54 If the clock module only has one output, the name shall be the
55 module name.
48 56
49Additionally, "allwinner,*-gates-clk" clocks require: 57And "allwinner,*-usb-clk" clocks also require:
50- clock-output-names : the corresponding gate names that the clock controls 58- reset-cells : shall be set to 1
59
60For "allwinner,sun7i-a20-gmac-clk", the parent clocks shall be fixed rate
61dummy clocks at 25 MHz and 125 MHz, respectively. See example.
51 62
52Clock consumers should specify the desired clocks they use with a 63Clock consumers should specify the desired clocks they use with a
53"clocks" phandle cell. Consumers that are using a gated clock should 64"clocks" phandle cell. Consumers that are using a gated clock should
@@ -56,23 +67,68 @@ offset of the bit controlling this particular gate in the register.
56 67
57For example: 68For example:
58 69
59osc24M: osc24M@01c20050 { 70osc24M: clk@01c20050 {
60 #clock-cells = <0>; 71 #clock-cells = <0>;
61 compatible = "allwinner,sun4i-osc-clk"; 72 compatible = "allwinner,sun4i-a10-osc-clk";
62 reg = <0x01c20050 0x4>; 73 reg = <0x01c20050 0x4>;
63 clocks = <&osc24M_fixed>; 74 clocks = <&osc24M_fixed>;
75 clock-output-names = "osc24M";
64}; 76};
65 77
66pll1: pll1@01c20000 { 78pll1: clk@01c20000 {
67 #clock-cells = <0>; 79 #clock-cells = <0>;
68 compatible = "allwinner,sun4i-pll1-clk"; 80 compatible = "allwinner,sun4i-a10-pll1-clk";
69 reg = <0x01c20000 0x4>; 81 reg = <0x01c20000 0x4>;
70 clocks = <&osc24M>; 82 clocks = <&osc24M>;
83 clock-output-names = "pll1";
84};
85
86pll5: clk@01c20020 {
87 #clock-cells = <1>;
88 compatible = "allwinner,sun4i-pll5-clk";
89 reg = <0x01c20020 0x4>;
90 clocks = <&osc24M>;
91 clock-output-names = "pll5_ddr", "pll5_other";
71}; 92};
72 93
73cpu: cpu@01c20054 { 94cpu: cpu@01c20054 {
74 #clock-cells = <0>; 95 #clock-cells = <0>;
75 compatible = "allwinner,sun4i-cpu-clk"; 96 compatible = "allwinner,sun4i-a10-cpu-clk";
76 reg = <0x01c20054 0x4>; 97 reg = <0x01c20054 0x4>;
77 clocks = <&osc32k>, <&osc24M>, <&pll1>; 98 clocks = <&osc32k>, <&osc24M>, <&pll1>;
99 clock-output-names = "cpu";
100};
101
102mmc0_clk: clk@01c20088 {
103 #clock-cells = <0>;
104 compatible = "allwinner,sun4i-mod0-clk";
105 reg = <0x01c20088 0x4>;
106 clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
107 clock-output-names = "mmc0";
108};
109
110mii_phy_tx_clk: clk@2 {
111 #clock-cells = <0>;
112 compatible = "fixed-clock";
113 clock-frequency = <25000000>;
114 clock-output-names = "mii_phy_tx";
115};
116
117gmac_int_tx_clk: clk@3 {
118 #clock-cells = <0>;
119 compatible = "fixed-clock";
120 clock-frequency = <125000000>;
121 clock-output-names = "gmac_int_tx";
122};
123
124gmac_clk: clk@01c20164 {
125 #clock-cells = <0>;
126 compatible = "allwinner,sun7i-a20-gmac-clk";
127 reg = <0x01c20164 0x4>;
128 /*
129 * The first clock must be fixed at 25MHz;
130 * the second clock must be fixed at 125MHz
131 */
132 clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
133 clock-output-names = "gmac";
78}; 134};
diff --git a/Documentation/devicetree/bindings/clock/zynq-7000.txt b/Documentation/devicetree/bindings/clock/zynq-7000.txt
index 17b4a94916d6..d93746cf2975 100644
--- a/Documentation/devicetree/bindings/clock/zynq-7000.txt
+++ b/Documentation/devicetree/bindings/clock/zynq-7000.txt
@@ -14,6 +14,7 @@ for all clock consumers of PS clocks.
14Required properties: 14Required properties:
15 - #clock-cells : Must be 1 15 - #clock-cells : Must be 1
16 - compatible : "xlnx,ps7-clkc" 16 - compatible : "xlnx,ps7-clkc"
17 - reg : SLCR offset and size taken via syscon < 0x100 0x100 >
17 - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ 18 - ps-clk-frequency : Frequency of the oscillator providing ps_clk in HZ
18 (usually 33 MHz oscillators are used for Zynq platforms) 19 (usually 33 MHz oscillators are used for Zynq platforms)
19 - clock-output-names : List of strings used to name the clock outputs. Shall be 20 - clock-output-names : List of strings used to name the clock outputs. Shall be
@@ -87,10 +88,11 @@ Clock outputs:
87 47: dbg_apb 88 47: dbg_apb
88 89
89Example: 90Example:
90 clkc: clkc { 91 clkc: clkc@100 {
91 #clock-cells = <1>; 92 #clock-cells = <1>;
92 compatible = "xlnx,ps7-clkc"; 93 compatible = "xlnx,ps7-clkc";
93 ps-clk-frequency = <33333333>; 94 ps-clk-frequency = <33333333>;
95 reg = <0x100 0x100>;
94 clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", 96 clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x",
95 "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", 97 "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x",
96 "dci", "lqspi", "smc", "pcap", "gem0", "gem1", 98 "dci", "lqspi", "smc", "pcap", "gem0", "gem1",
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index 68b83ecc3850..ee9be9961524 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -1,12 +1,16 @@
1* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX 1* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
2 2
3Required properties: 3Required properties:
4- compatible : Should be "fsl,imx31-sdma", "fsl,imx31-to1-sdma", 4- compatible : Should be one of
5 "fsl,imx31-to2-sdma", "fsl,imx35-sdma", "fsl,imx35-to1-sdma", 5 "fsl,imx25-sdma"
6 "fsl,imx35-to2-sdma", "fsl,imx51-sdma", "fsl,imx53-sdma" or 6 "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma"
7 "fsl,imx6q-sdma". The -to variants should be preferred since they 7 "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma"
8 allow to determnine the correct ROM script addresses needed for 8 "fsl,imx51-sdma"
9 the driver to work without additional firmware. 9 "fsl,imx53-sdma"
10 "fsl,imx6q-sdma"
11 The -to variants should be preferred since they allow to determnine the
12 correct ROM script addresses needed for the driver to work without additional
13 firmware.
10- reg : Should contain SDMA registers location and length 14- reg : Should contain SDMA registers location and length
11- interrupts : Should contain SDMA interrupt 15- interrupts : Should contain SDMA interrupt
12- #dma-cells : Must be <3>. 16- #dma-cells : Must be <3>.
diff --git a/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt b/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt
new file mode 100644
index 000000000000..52b93b2c6748
--- /dev/null
+++ b/Documentation/devicetree/bindings/drm/bridge/ptn3460.txt
@@ -0,0 +1,27 @@
1ptn3460 bridge bindings
2
3Required properties:
4 - compatible: "nxp,ptn3460"
5 - reg: i2c address of the bridge
6 - powerdown-gpio: OF device-tree gpio specification
7 - reset-gpio: OF device-tree gpio specification
8 - edid-emulation: The EDID emulation entry to use
9 +-------+------------+------------------+
10 | Value | Resolution | Description |
11 | 0 | 1024x768 | NXP Generic |
12 | 1 | 1920x1080 | NXP Generic |
13 | 2 | 1920x1080 | NXP Generic |
14 | 3 | 1600x900 | Samsung LTM200KT |
15 | 4 | 1920x1080 | Samsung LTM230HT |
16 | 5 | 1366x768 | NXP Generic |
17 | 6 | 1600x900 | ChiMei M215HGE |
18 +-------+------------+------------------+
19
20Example:
21 lvds-bridge@20 {
22 compatible = "nxp,ptn3460";
23 reg = <0x20>;
24 powerdown-gpio = <&gpy2 5 1 0 0>;
25 reset-gpio = <&gpx1 5 1 0 0>;
26 edid-emulation = <5>;
27 };
diff --git a/Documentation/devicetree/bindings/drm/i2c/tda998x.txt b/Documentation/devicetree/bindings/drm/i2c/tda998x.txt
new file mode 100644
index 000000000000..d7df01c5bb3a
--- /dev/null
+++ b/Documentation/devicetree/bindings/drm/i2c/tda998x.txt
@@ -0,0 +1,27 @@
1Device-Tree bindings for the NXP TDA998x HDMI transmitter
2
3Required properties;
4 - compatible: must be "nxp,tda998x"
5
6Optional properties:
7 - interrupts: interrupt number and trigger type
8 default: polling
9
10 - pinctrl-0: pin control group to be used for
11 screen plug/unplug interrupt.
12
13 - pinctrl-names: must contain a "default" entry.
14
15 - video-ports: 24 bits value which defines how the video controller
16 output is wired to the TDA998x input - default: <0x230145>
17
18Example:
19
20 tda998x: hdmi-encoder {
21 compatible = "nxp,tda998x";
22 reg = <0x70>;
23 interrupt-parent = <&gpio0>;
24 interrupts = <27 2>; /* falling edge */
25 pinctrl-0 = <&pmx_camera>;
26 pinctrl-names = "default";
27 };
diff --git a/Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt b/Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt
new file mode 100644
index 000000000000..94ae9f82dcf8
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/cirrus,clps711x-mctrl-gpio.txt
@@ -0,0 +1,17 @@
1* ARM Cirrus Logic CLPS711X SYSFLG1 MCTRL GPIOs
2
3Required properties:
4- compatible: Should contain "cirrus,clps711x-mctrl-gpio".
5- gpio-controller: Marks the device node as a gpio controller.
6- #gpio-cells: Should be two. The first cell is the pin number and
7 the second cell is used to specify the gpio polarity:
8 0 = Active high,
9 1 = Active low.
10
11Example:
12 sysgpio: sysgpio {
13 compatible = "cirrus,ep7312-mctrl-gpio",
14 "cirrus,clps711x-mctrl-gpio";
15 gpio-controller;
16 #gpio-cells = <2>;
17 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt
index a2e839d6e338..5079ba7d6568 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-davinci.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-davinci.txt
@@ -1,13 +1,17 @@
1Davinci GPIO controller bindings 1Davinci/Keystone GPIO controller bindings
2 2
3Required Properties: 3Required Properties:
4- compatible: should be "ti,dm6441-gpio" 4- compatible: should be "ti,dm6441-gpio", "ti,keystone-gpio"
5 5
6- reg: Physical base address of the controller and the size of memory mapped 6- reg: Physical base address of the controller and the size of memory mapped
7 registers. 7 registers.
8 8
9- gpio-controller : Marks the device node as a gpio controller. 9- gpio-controller : Marks the device node as a gpio controller.
10 10
11- #gpio-cells : Should be two.
12 - first cell is the pin number
13 - second cell is used to specify optional parameters (unused)
14
11- interrupt-parent: phandle of the parent interrupt controller. 15- interrupt-parent: phandle of the parent interrupt controller.
12 16
13- interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are 17- interrupts: Array of GPIO interrupt number. Only banked or unbanked IRQs are
@@ -27,6 +31,7 @@ Example:
27gpio: gpio@1e26000 { 31gpio: gpio@1e26000 {
28 compatible = "ti,dm6441-gpio"; 32 compatible = "ti,dm6441-gpio";
29 gpio-controller; 33 gpio-controller;
34 #gpio-cells = <2>;
30 reg = <0x226000 0x1000>; 35 reg = <0x226000 0x1000>;
31 interrupt-parent = <&intc>; 36 interrupt-parent = <&intc>;
32 interrupts = <42 IRQ_TYPE_EDGE_BOTH 43 IRQ_TYPE_EDGE_BOTH 37 interrupts = <42 IRQ_TYPE_EDGE_BOTH 43 IRQ_TYPE_EDGE_BOTH
@@ -39,3 +44,19 @@ gpio: gpio@1e26000 {
39 interrupt-controller; 44 interrupt-controller;
40 #interrupt-cells = <2>; 45 #interrupt-cells = <2>;
41}; 46};
47
48leds {
49 compatible = "gpio-leds";
50
51 led1 {
52 label = "davinci:green:usr1";
53 gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
54 ...
55 };
56
57 led2 {
58 label = "davinci:red:debug1";
59 gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
60 ...
61 };
62};
diff --git a/Documentation/devicetree/bindings/gpio/gpio-zevio.txt b/Documentation/devicetree/bindings/gpio/gpio-zevio.txt
new file mode 100644
index 000000000000..a37bd9ae2730
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-zevio.txt
@@ -0,0 +1,16 @@
1Zevio GPIO controller
2
3Required properties:
4- compatible: Should be "lsi,zevio-gpio"
5- reg: Address and length of the register set for the device
6- #gpio-cells: Should be two. The first cell is the pin number and the
7 second cell is used to specify optional parameters (currently unused).
8- gpio-controller: Marks the device node as a GPIO controller.
9
10Example:
11 gpio: gpio@90000000 {
12 compatible = "lsi,zevio-gpio";
13 reg = <0x90000000 0x1000>;
14 gpio-controller;
15 #gpio-cells = <2>;
16 };
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index 0c85bb6e3a80..3fb8f53071b8 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -13,11 +13,11 @@ properties, each containing a 'gpio-list':
13 gpio-specifier : Array of #gpio-cells specifying specific gpio 13 gpio-specifier : Array of #gpio-cells specifying specific gpio
14 (controller specific) 14 (controller specific)
15 15
16GPIO properties should be named "[<name>-]gpios". Exact 16GPIO properties should be named "[<name>-]gpios". The exact
17meaning of each gpios property must be documented in the device tree 17meaning of each gpios property must be documented in the device tree
18binding for each device. 18binding for each device.
19 19
20For example, the following could be used to describe gpios pins to use 20For example, the following could be used to describe GPIO pins used
21as chip select lines; with chip selects 0, 1 and 3 populated, and chip 21as chip select lines; with chip selects 0, 1 and 3 populated, and chip
22select 2 left empty: 22select 2 left empty:
23 23
@@ -44,35 +44,79 @@ whether pin is open-drain and whether pin is logically inverted.
44Exact meaning of each specifier cell is controller specific, and must 44Exact meaning of each specifier cell is controller specific, and must
45be documented in the device tree binding for the device. 45be documented in the device tree binding for the device.
46 46
47Example of the node using GPIOs: 47Example of a node using GPIOs:
48 48
49 node { 49 node {
50 gpios = <&qe_pio_e 18 0>; 50 gpios = <&qe_pio_e 18 0>;
51 }; 51 };
52 52
53In this example gpio-specifier is "18 0" and encodes GPIO pin number, 53In this example gpio-specifier is "18 0" and encodes GPIO pin number,
54and empty GPIO flags as accepted by the "qe_pio_e" gpio-controller. 54and GPIO flags as accepted by the "qe_pio_e" gpio-controller.
55
561.1) GPIO specifier best practices
57----------------------------------
58
59A gpio-specifier should contain a flag indicating the GPIO polarity; active-
60high or active-low. If it does, the follow best practices should be followed:
61
62The gpio-specifier's polarity flag should represent the physical level at the
63GPIO controller that achieves (or represents, for inputs) a logically asserted
64value at the device. The exact definition of logically asserted should be
65defined by the binding for the device. If the board inverts the signal between
66the GPIO controller and the device, then the gpio-specifier will represent the
67opposite physical level than the signal at the device's pin.
68
69When the device's signal polarity is configurable, the binding for the
70device must either:
71
72a) Define a single static polarity for the signal, with the expectation that
73any software using that binding would statically program the device to use
74that signal polarity.
75
76The static choice of polarity may be either:
77
78a1) (Preferred) Dictated by a binding-specific DT property.
79
80or:
81
82a2) Defined statically by the DT binding itself.
83
84In particular, the polarity cannot be derived from the gpio-specifier, since
85that would prevent the DT from separately representing the two orthogonal
86concepts of configurable signal polarity in the device, and possible board-
87level signal inversion.
88
89or:
90
91b) Pick a single option for device signal polarity, and document this choice
92in the binding. The gpio-specifier should represent the polarity of the signal
93(at the GPIO controller) assuming that the device is configured for this
94particular signal polarity choice. If software chooses to program the device
95to generate or receive a signal of the opposite polarity, software will be
96responsible for correctly interpreting (inverting) the GPIO signal at the GPIO
97controller.
55 98
562) gpio-controller nodes 992) gpio-controller nodes
57------------------------ 100------------------------
58 101
59Every GPIO controller node must both an empty "gpio-controller" 102Every GPIO controller node must contain both an empty "gpio-controller"
60property, and have #gpio-cells contain the size of the gpio-specifier. 103property, and a #gpio-cells integer property, which indicates the number of
104cells in a gpio-specifier.
61 105
62Example of two SOC GPIO banks defined as gpio-controller nodes: 106Example of two SOC GPIO banks defined as gpio-controller nodes:
63 107
64 qe_pio_a: gpio-controller@1400 { 108 qe_pio_a: gpio-controller@1400 {
65 #gpio-cells = <2>;
66 compatible = "fsl,qe-pario-bank-a", "fsl,qe-pario-bank"; 109 compatible = "fsl,qe-pario-bank-a", "fsl,qe-pario-bank";
67 reg = <0x1400 0x18>; 110 reg = <0x1400 0x18>;
68 gpio-controller; 111 gpio-controller;
112 #gpio-cells = <2>;
69 }; 113 };
70 114
71 qe_pio_e: gpio-controller@1460 { 115 qe_pio_e: gpio-controller@1460 {
72 #gpio-cells = <2>;
73 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank"; 116 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank";
74 reg = <0x1460 0x18>; 117 reg = <0x1460 0x18>;
75 gpio-controller; 118 gpio-controller;
119 #gpio-cells = <2>;
76 }; 120 };
77 121
782.1) gpio- and pin-controller interaction 1222.1) gpio- and pin-controller interaction
diff --git a/Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt b/Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
new file mode 100644
index 000000000000..dd5d2c0394b1
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/snps-dwapb-gpio.txt
@@ -0,0 +1,60 @@
1* Synopsys DesignWare APB GPIO controller
2
3Required properties:
4- compatible : Should contain "snps,dw-apb-gpio"
5- reg : Address and length of the register set for the device.
6- #address-cells : should be 1 (for addressing port subnodes).
7- #size-cells : should be 0 (port subnodes).
8
9The GPIO controller has a configurable number of ports, each of which are
10represented as child nodes with the following properties:
11
12Required properties:
13- compatible : "snps,dw-apb-gpio-port"
14- gpio-controller : Marks the device node as a gpio controller.
15- #gpio-cells : Should be two. The first cell is the pin number and
16 the second cell is used to specify the gpio polarity:
17 0 = active high
18 1 = active low
19- reg : The integer port index of the port, a single cell.
20
21Optional properties:
22- interrupt-controller : The first port may be configured to be an interrupt
23controller.
24- #interrupt-cells : Specifies the number of cells needed to encode an
25 interrupt. Shall be set to 2. The first cell defines the interrupt number,
26 the second encodes the triger flags encoded as described in
27 Documentation/devicetree/bindings/interrupts.txt
28- interrupt-parent : The parent interrupt controller.
29- interrupts : The interrupt to the parent controller raised when GPIOs
30 generate the interrupts.
31- snps,nr-gpios : The number of pins in the port, a single cell.
32
33Example:
34
35gpio: gpio@20000 {
36 compatible = "snps,dw-apb-gpio";
37 reg = <0x20000 0x1000>;
38 #address-cells = <1>;
39 #size-cells = <0>;
40
41 porta: gpio-controller@0 {
42 compatible = "snps,dw-apb-gpio-port";
43 gpio-controller;
44 #gpio-cells = <2>;
45 snps,nr-gpios = <8>;
46 reg = <0>;
47 interrupt-controller;
48 #interrupt-cells = <2>;
49 interrupt-parent = <&vic1>;
50 interrupts = <0>;
51 };
52
53 portb: gpio-controller@1 {
54 compatible = "snps,dw-apb-gpio-port";
55 gpio-controller;
56 #gpio-cells = <2>;
57 snps,nr-gpios = <8>;
58 reg = <1>;
59 };
60};
diff --git a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
index efaeec8961b6..efa8b8451f93 100644
--- a/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
+++ b/Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
@@ -190,6 +190,48 @@ of the following host1x client modules:
190 - nvidia,edid: supplies a binary EDID blob 190 - nvidia,edid: supplies a binary EDID blob
191 - nvidia,panel: phandle of a display panel 191 - nvidia,panel: phandle of a display panel
192 192
193- sor: serial output resource
194
195 Required properties:
196 - compatible: "nvidia,tegra124-sor"
197 - reg: Physical base address and length of the controller's registers.
198 - interrupts: The interrupt outputs from the controller.
199 - clocks: Must contain an entry for each entry in clock-names.
200 See ../clocks/clock-bindings.txt for details.
201 - clock-names: Must include the following entries:
202 - sor: clock input for the SOR hardware
203 - parent: input for the pixel clock
204 - dp: reference clock for the SOR clock
205 - safe: safe reference for the SOR clock during power up
206 - resets: Must contain an entry for each entry in reset-names.
207 See ../reset/reset.txt for details.
208 - reset-names: Must include the following entries:
209 - sor
210
211 Optional properties:
212 - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
213 - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
214 - nvidia,edid: supplies a binary EDID blob
215 - nvidia,panel: phandle of a display panel
216
217 Optional properties when driving an eDP output:
218 - nvidia,dpaux: phandle to a DispayPort AUX interface
219
220- dpaux: DisplayPort AUX interface
221 - compatible: "nvidia,tegra124-dpaux"
222 - reg: Physical base address and length of the controller's registers.
223 - interrupts: The interrupt outputs from the controller.
224 - clocks: Must contain an entry for each entry in clock-names.
225 See ../clocks/clock-bindings.txt for details.
226 - clock-names: Must include the following entries:
227 - dpaux: clock input for the DPAUX hardware
228 - parent: reference clock
229 - resets: Must contain an entry for each entry in reset-names.
230 See ../reset/reset.txt for details.
231 - reset-names: Must include the following entries:
232 - dpaux
233 - vdd-supply: phandle of a supply that powers the DisplayPort link
234
193Example: 235Example:
194 236
195/ { 237/ {
diff --git a/Documentation/devicetree/bindings/graph.txt b/Documentation/devicetree/bindings/graph.txt
new file mode 100644
index 000000000000..1a69c078adf2
--- /dev/null
+++ b/Documentation/devicetree/bindings/graph.txt
@@ -0,0 +1,129 @@
1Common bindings for device graphs
2
3General concept
4---------------
5
6The hierarchical organisation of the device tree is well suited to describe
7control flow to devices, but there can be more complex connections between
8devices that work together to form a logical compound device, following an
9arbitrarily complex graph.
10There already is a simple directed graph between devices tree nodes using
11phandle properties pointing to other nodes to describe connections that
12can not be inferred from device tree parent-child relationships. The device
13tree graph bindings described herein abstract more complex devices that can
14have multiple specifiable ports, each of which can be linked to one or more
15ports of other devices.
16
17These common bindings do not contain any information about the direction or
18type of the connections, they just map their existence. Specific properties
19may be described by specialized bindings depending on the type of connection.
20
21To see how this binding applies to video pipelines, for example, see
22Documentation/device-tree/bindings/media/video-interfaces.txt.
23Here the ports describe data interfaces, and the links between them are
24the connecting data buses. A single port with multiple connections can
25correspond to multiple devices being connected to the same physical bus.
26
27Organisation of ports and endpoints
28-----------------------------------
29
30Ports are described by child 'port' nodes contained in the device node.
31Each port node contains an 'endpoint' subnode for each remote device port
32connected to this port. If a single port is connected to more than one
33remote device, an 'endpoint' child node must be provided for each link.
34If more than one port is present in a device node or there is more than one
35endpoint at a port, or a port node needs to be associated with a selected
36hardware interface, a common scheme using '#address-cells', '#size-cells'
37and 'reg' properties is used number the nodes.
38
39device {
40 ...
41 #address-cells = <1>;
42 #size-cells = <0>;
43
44 port@0 {
45 #address-cells = <1>;
46 #size-cells = <0>;
47 reg = <0>;
48
49 endpoint@0 {
50 reg = <0>;
51 ...
52 };
53 endpoint@1 {
54 reg = <1>;
55 ...
56 };
57 };
58
59 port@1 {
60 reg = <1>;
61
62 endpoint { ... };
63 };
64};
65
66All 'port' nodes can be grouped under an optional 'ports' node, which
67allows to specify #address-cells, #size-cells properties for the 'port'
68nodes independently from any other child device nodes a device might
69have.
70
71device {
72 ...
73 ports {
74 #address-cells = <1>;
75 #size-cells = <0>;
76
77 port@0 {
78 ...
79 endpoint@0 { ... };
80 endpoint@1 { ... };
81 };
82
83 port@1 { ... };
84 };
85};
86
87Links between endpoints
88-----------------------
89
90Each endpoint should contain a 'remote-endpoint' phandle property that points
91to the corresponding endpoint in the port of the remote device. In turn, the
92remote endpoint should contain a 'remote-endpoint' property. If it has one,
93it must not point to another than the local endpoint. Two endpoints with their
94'remote-endpoint' phandles pointing at each other form a link between the
95containing ports.
96
97device-1 {
98 port {
99 device_1_output: endpoint {
100 remote-endpoint = <&device_2_input>;
101 };
102 };
103};
104
105device-2 {
106 port {
107 device_2_input: endpoint {
108 remote-endpoint = <&device_1_output>;
109 };
110 };
111};
112
113
114Required properties
115-------------------
116
117If there is more than one 'port' or more than one 'endpoint' node or 'reg'
118property is present in port and/or endpoint nodes the following properties
119are required in a relevant parent node:
120
121 - #address-cells : number of cells required to define port/endpoint
122 identifier, should be 1.
123 - #size-cells : should be zero.
124
125Optional endpoint properties
126----------------------------
127
128- remote-endpoint: phandle to an 'endpoint' subnode of a remote device node.
129
diff --git a/Documentation/devicetree/bindings/i2c/trivial-devices.txt b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
index 1a1ac2e560e9..71724d026ffa 100644
--- a/Documentation/devicetree/bindings/i2c/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/i2c/trivial-devices.txt
@@ -18,6 +18,7 @@ atmel,24c02 i2c serial eeprom (24cxx)
18atmel,at97sc3204t i2c trusted platform module (TPM) 18atmel,at97sc3204t i2c trusted platform module (TPM)
19capella,cm32181 CM32181: Ambient Light Sensor 19capella,cm32181 CM32181: Ambient Light Sensor
20catalyst,24c32 i2c serial eeprom 20catalyst,24c32 i2c serial eeprom
21cirrus,cs42l51 Cirrus Logic CS42L51 audio codec
21dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock 22dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock
22dallas,ds1338 I2C RTC with 56-Byte NV RAM 23dallas,ds1338 I2C RTC with 56-Byte NV RAM
23dallas,ds1339 I2C Serial Real-Time Clock 24dallas,ds1339 I2C Serial Real-Time Clock
@@ -58,6 +59,7 @@ plx,pex8648 48-Lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch
58ramtron,24c64 i2c serial eeprom (24cxx) 59ramtron,24c64 i2c serial eeprom (24cxx)
59ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC 60ricoh,rs5c372a I2C bus SERIAL INTERFACE REAL-TIME CLOCK IC
60samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power) 61samsung,24ad0xd1 S524AD0XF1 (128K/256K-bit Serial EEPROM for Low Power)
62sii,s35390a 2-wire CMOS real-time clock
61st-micro,24c256 i2c serial eeprom (24cxx) 63st-micro,24c256 i2c serial eeprom (24cxx)
62stm,m41t00 Serial Access TIMEKEEPER 64stm,m41t00 Serial Access TIMEKEEPER
63stm,m41t62 Serial real-time clock (RTC) with alarm 65stm,m41t62 Serial real-time clock (RTC) with alarm
diff --git a/Documentation/devicetree/bindings/arm/atmel-adc.txt b/Documentation/devicetree/bindings/iio/adc/at91_adc.txt
index d1061469f63d..0f813dec5e08 100644
--- a/Documentation/devicetree/bindings/arm/atmel-adc.txt
+++ b/Documentation/devicetree/bindings/iio/adc/at91_adc.txt
@@ -5,32 +5,35 @@ Required properties:
5 <chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5" 5 <chip> can be "at91sam9260", "at91sam9g45" or "at91sam9x5"
6 - reg: Should contain ADC registers location and length 6 - reg: Should contain ADC registers location and length
7 - interrupts: Should contain the IRQ line for the ADC 7 - interrupts: Should contain the IRQ line for the ADC
8 - atmel,adc-channels-used: Bitmask of the channels muxed and enable for this 8 - clock-names: tuple listing input clock names.
9 Required elements: "adc_clk", "adc_op_clk".
10 - clocks: phandles to input clocks.
11 - atmel,adc-channels-used: Bitmask of the channels muxed and enabled for this
9 device 12 device
10 - atmel,adc-startup-time: Startup Time of the ADC in microseconds as 13 - atmel,adc-startup-time: Startup Time of the ADC in microseconds as
11 defined in the datasheet 14 defined in the datasheet
12 - atmel,adc-vref: Reference voltage in millivolts for the conversions 15 - atmel,adc-vref: Reference voltage in millivolts for the conversions
13 - atmel,adc-res: List of resolution in bits supported by the ADC. List size 16 - atmel,adc-res: List of resolutions in bits supported by the ADC. List size
14 must be two at least. 17 must be two at least.
15 - atmel,adc-res-names: Contains one identifier string for each resolution 18 - atmel,adc-res-names: Contains one identifier string for each resolution
16 in atmel,adc-res property. "lowres" and "highres" 19 in atmel,adc-res property. "lowres" and "highres"
17 identifiers are required. 20 identifiers are required.
18 21
19Optional properties: 22Optional properties:
20 - atmel,adc-use-external: Boolean to enable of external triggers 23 - atmel,adc-use-external-triggers: Boolean to enable the external triggers
21 - atmel,adc-use-res: String corresponding to an identifier from 24 - atmel,adc-use-res: String corresponding to an identifier from
22 atmel,adc-res-names property. If not specified, the highest 25 atmel,adc-res-names property. If not specified, the highest
23 resolution will be used. 26 resolution will be used.
24 - atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion 27 - atmel,adc-sleep-mode: Boolean to enable sleep mode when no conversion
25 - atmel,adc-sample-hold-time: Sample and Hold Time in microseconds 28 - atmel,adc-sample-hold-time: Sample and Hold Time in microseconds
26 - atmel,adc-ts-wires: Number of touch screen wires. Should be 4 or 5. If this 29 - atmel,adc-ts-wires: Number of touchscreen wires. Should be 4 or 5. If this
27 value is set, then adc driver will enable touch screen 30 value is set, then the adc driver will enable touchscreen
28 support. 31 support.
29 NOTE: when adc touch screen enabled, the adc hardware trigger will be 32 NOTE: when adc touchscreen is enabled, the adc hardware trigger will be
30 disabled. Since touch screen will occupied the trigger register. 33 disabled. Since touchscreen will occupy the trigger register.
31 - atmel,adc-ts-pressure-threshold: a pressure threshold for touchscreen. It 34 - atmel,adc-ts-pressure-threshold: a pressure threshold for touchscreen. It
32 make touch detect more precision. 35 makes touch detection more precise.
33 36
34Optional trigger Nodes: 37Optional trigger Nodes:
35 - Required properties: 38 - Required properties:
36 * trigger-name: Name of the trigger exposed to the user 39 * trigger-name: Name of the trigger exposed to the user
@@ -41,40 +44,43 @@ Optional trigger Nodes:
41 44
42Examples: 45Examples:
43adc0: adc@fffb0000 { 46adc0: adc@fffb0000 {
47 #address-cells = <1>;
48 #size-cells = <0>;
44 compatible = "atmel,at91sam9260-adc"; 49 compatible = "atmel,at91sam9260-adc";
45 reg = <0xfffb0000 0x100>; 50 reg = <0xfffb0000 0x100>;
46 interrupts = <20 4>; 51 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
47 atmel,adc-channel-base = <0x30>; 52 clocks = <&adc_clk>, <&adc_op_clk>;
53 clock-names = "adc_clk", "adc_op_clk";
48 atmel,adc-channels-used = <0xff>; 54 atmel,adc-channels-used = <0xff>;
49 atmel,adc-drdy-mask = <0x10000>;
50 atmel,adc-num-channels = <8>;
51 atmel,adc-startup-time = <40>; 55 atmel,adc-startup-time = <40>;
52 atmel,adc-status-register = <0x1c>; 56 atmel,adc-use-external-triggers;
53 atmel,adc-trigger-register = <0x08>;
54 atmel,adc-use-external;
55 atmel,adc-vref = <3300>; 57 atmel,adc-vref = <3300>;
56 atmel,adc-res = <8 10>; 58 atmel,adc-res = <8 10>;
57 atmel,adc-res-names = "lowres", "highres"; 59 atmel,adc-res-names = "lowres", "highres";
58 atmel,adc-use-res = "lowres"; 60 atmel,adc-use-res = "lowres";
59 61
60 trigger@0 { 62 trigger@0 {
63 reg = <0>;
61 trigger-name = "external-rising"; 64 trigger-name = "external-rising";
62 trigger-value = <0x1>; 65 trigger-value = <0x1>;
63 trigger-external; 66 trigger-external;
64 }; 67 };
65 trigger@1 { 68 trigger@1 {
69 reg = <1>;
66 trigger-name = "external-falling"; 70 trigger-name = "external-falling";
67 trigger-value = <0x2>; 71 trigger-value = <0x2>;
68 trigger-external; 72 trigger-external;
69 }; 73 };
70 74
71 trigger@2 { 75 trigger@2 {
76 reg = <2>;
72 trigger-name = "external-any"; 77 trigger-name = "external-any";
73 trigger-value = <0x3>; 78 trigger-value = <0x3>;
74 trigger-external; 79 trigger-external;
75 }; 80 };
76 81
77 trigger@3 { 82 trigger@3 {
83 reg = <3>;
78 trigger-name = "continuous"; 84 trigger-name = "continuous";
79 trigger-value = <0x6>; 85 trigger-value = <0x6>;
80 }; 86 };
diff --git a/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt b/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt
new file mode 100644
index 000000000000..6bdd21404b57
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/twl4030-madc.txt
@@ -0,0 +1,24 @@
1* TWL4030 Monitoring Analog to Digital Converter (MADC)
2
3The MADC subsystem in the TWL4030 consists of a 10-bit ADC
4combined with a 16-input analog multiplexer.
5
6Required properties:
7 - compatible: Should contain "ti,twl4030-madc".
8 - interrupts: IRQ line for the MADC submodule.
9 - #io-channel-cells: Should be set to <1>.
10
11Optional properties:
12 - ti,system-uses-second-madc-irq: boolean, set if the second madc irq register
13 should be used, which is intended to be used
14 by Co-Processors (e.g. a modem).
15
16Example:
17
18&twl {
19 madc {
20 compatible = "ti,twl4030-madc";
21 interrupts = <3>;
22 #io-channel-cells = <1>;
23 };
24};
diff --git a/Documentation/devicetree/bindings/iio/adc/vf610-adc.txt b/Documentation/devicetree/bindings/iio/adc/vf610-adc.txt
new file mode 100644
index 000000000000..dcebff1928e1
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/vf610-adc.txt
@@ -0,0 +1,22 @@
1Freescale vf610 Analog to Digital Converter bindings
2
3The devicetree bindings are for the new ADC driver written for
4vf610/i.MX6slx and upward SoCs from Freescale.
5
6Required properties:
7- compatible: Should contain "fsl,vf610-adc"
8- reg: Offset and length of the register set for the device
9- interrupts: Should contain the interrupt for the device
10- clocks: The clock is needed by the ADC controller, ADC clock source is ipg clock.
11- clock-names: Must contain "adc", matching entry in the clocks property.
12- vref-supply: The regulator supply ADC refrence voltage.
13
14Example:
15adc0: adc@4003b000 {
16 compatible = "fsl,vf610-adc";
17 reg = <0x4003b000 0x1000>;
18 interrupts = <0 53 0x04>;
19 clocks = <&clks VF610_CLK_ADC0>;
20 clock-names = "adc";
21 vref-supply = <&reg_vcc_3v3_mcu>;
22};
diff --git a/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt b/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
new file mode 100644
index 000000000000..d9ee909d2b78
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
@@ -0,0 +1,113 @@
1Xilinx XADC device driver
2
3This binding document describes the bindings for both of them since the
4bindings are very similar. The Xilinx XADC is a ADC that can be found in the
5series 7 FPGAs from Xilinx. The XADC has a DRP interface for communication.
6Currently two different frontends for the DRP interface exist. One that is only
7available on the ZYNQ family as a hardmacro in the SoC portion of the ZYNQ. The
8other one is available on all series 7 platforms and is a softmacro with a AXI
9interface. This binding document describes the bindings for both of them since
10the bindings are very similar.
11
12Required properties:
13 - compatible: Should be one of
14 * "xlnx,zynq-xadc-1.00.a": When using the ZYNQ device
15 configuration interface to interface to the XADC hardmacro.
16 * "xlnx,axi-xadc-1.00.a": When using the axi-xadc pcore to
17 interface to the XADC hardmacro.
18 - reg: Address and length of the register set for the device
19 - interrupts: Interrupt for the XADC control interface.
20 - clocks: When using the ZYNQ this must be the ZYNQ PCAP clock,
21 when using the AXI-XADC pcore this must be the clock that provides the
22 clock to the AXI bus interface of the core.
23
24Optional properties:
25 - interrupt-parent: phandle to the parent interrupt controller
26 - xlnx,external-mux:
27 * "none": No external multiplexer is used, this is the default
28 if the property is omitted.
29 * "single": External multiplexer mode is used with one
30 multiplexer.
31 * "dual": External multiplexer mode is used with two
32 multiplexers for simultaneous sampling.
33 - xlnx,external-mux-channel: Configures which pair of pins is used to
34 sample data in external mux mode.
35 Valid values for single external multiplexer mode are:
36 0: VP/VN
37 1: VAUXP[0]/VAUXN[0]
38 2: VAUXP[1]/VAUXN[1]
39 ...
40 16: VAUXP[15]/VAUXN[15]
41 Valid values for dual external multiplexer mode are:
42 1: VAUXP[0]/VAUXN[0] - VAUXP[8]/VAUXN[8]
43 2: VAUXP[1]/VAUXN[1] - VAUXP[9]/VAUXN[9]
44 ...
45 8: VAUXP[7]/VAUXN[7] - VAUXP[15]/VAUXN[15]
46
47 This property needs to be present if the device is configured for
48 external multiplexer mode (either single or dual). If the device is
49 not using external multiplexer mode the property is ignored.
50 - xnlx,channels: List of external channels that are connected to the ADC
51 Required properties:
52 * #address-cells: Should be 1.
53 * #size-cells: Should be 0.
54
55 The child nodes of this node represent the external channels which are
56 connected to the ADC. If the property is no present no external
57 channels will be assumed to be connected.
58
59 Each child node represents one channel and has the following
60 properties:
61 Required properties:
62 * reg: Pair of pins the the channel is connected to.
63 0: VP/VN
64 1: VAUXP[0]/VAUXN[0]
65 2: VAUXP[1]/VAUXN[1]
66 ...
67 16: VAUXP[15]/VAUXN[15]
68 Note each channel number should only be used at most
69 once.
70 Optional properties:
71 * xlnx,bipolar: If set the channel is used in bipolar
72 mode.
73
74
75Examples:
76 xadc@f8007100 {
77 compatible = "xlnx,zynq-xadc-1.00.a";
78 reg = <0xf8007100 0x20>;
79 interrupts = <0 7 4>;
80 interrupt-parent = <&gic>;
81 clocks = <&pcap_clk>;
82
83 xlnx,channels {
84 #address-cells = <1>;
85 #size-cells = <0>;
86 channel@0 {
87 reg = <0>;
88 };
89 channel@1 {
90 reg = <1>;
91 };
92 channel@8 {
93 reg = <8>;
94 };
95 };
96 };
97
98 xadc@43200000 {
99 compatible = "xlnx,axi-xadc-1.00.a";
100 reg = <0x43200000 0x1000>;
101 interrupts = <0 53 4>;
102 interrupt-parent = <&gic>;
103 clocks = <&fpga1_clk>;
104
105 xlnx,channels {
106 #address-cells = <1>;
107 #size-cells = <0>;
108 channel@0 {
109 reg = <0>;
110 xlnx,bipolar;
111 };
112 };
113 };
diff --git a/Documentation/devicetree/bindings/input/clps711x-keypad.txt b/Documentation/devicetree/bindings/input/clps711x-keypad.txt
new file mode 100644
index 000000000000..e68d2bbc6c07
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/clps711x-keypad.txt
@@ -0,0 +1,27 @@
1* Cirrus Logic CLPS711X matrix keypad device tree bindings
2
3Required Properties:
4- compatible: Shall contain "cirrus,clps711x-keypad".
5- row-gpios: List of GPIOs used as row lines.
6- poll-interval: Poll interval time in milliseconds.
7- linux,keymap: The definition can be found at
8 bindings/input/matrix-keymap.txt.
9
10Optional Properties:
11- autorepeat: Enable autorepeat feature.
12
13Example:
14 keypad {
15 compatible = "cirrus,ep7312-keypad", "cirrus,clps711x-keypad";
16 autorepeat;
17 poll-interval = <120>;
18 row-gpios = <&porta 0 0>,
19 <&porta 1 0>;
20
21 linux,keymap = <
22 MATRIX_KEY(0, 0, KEY_UP)
23 MATRIX_KEY(0, 1, KEY_DOWN)
24 MATRIX_KEY(1, 0, KEY_LEFT)
25 MATRIX_KEY(1, 1, KEY_RIGHT)
26 >;
27 };
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
new file mode 100644
index 000000000000..7d8cb92831d7
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-keypad.txt
@@ -0,0 +1,89 @@
1Qualcomm PM8xxx PMIC Keypad
2
3PROPERTIES
4
5- compatible:
6 Usage: required
7 Value type: <string>
8 Definition: must be one of:
9 "qcom,pm8058-keypad"
10 "qcom,pm8921-keypad"
11
12- reg:
13 Usage: required
14 Value type: <prop-encoded-array>
15 Definition: address of keypad control register
16
17- interrupts:
18 Usage: required
19 Value type: <prop-encoded-array>
20 Definition: the first interrupt specifies the key sense interrupt
21 and the second interrupt specifies the key stuck interrupt.
22 The format of the specifier is defined by the binding
23 document describing the node's interrupt parent.
24
25- linux,keymap:
26 Usage: required
27 Value type: <prop-encoded-array>
28 Definition: the linux keymap. More information can be found in
29 input/matrix-keymap.txt.
30
31- linux,keypad-no-autorepeat:
32 Usage: optional
33 Value type: <bool>
34 Definition: don't enable autorepeat feature.
35
36- linux,keypad-wakeup:
37 Usage: optional
38 Value type: <bool>
39 Definition: use any event on keypad as wakeup event.
40
41- keypad,num-rows:
42 Usage: required
43 Value type: <u32>
44 Definition: number of rows in the keymap. More information can be found
45 in input/matrix-keymap.txt.
46
47- keypad,num-columns:
48 Usage: required
49 Value type: <u32>
50 Definition: number of columns in the keymap. More information can be
51 found in input/matrix-keymap.txt.
52
53- debounce:
54 Usage: optional
55 Value type: <u32>
56 Definition: time in microseconds that key must be pressed or release
57 for key sense interrupt to trigger.
58
59- scan-delay:
60 Usage: optional
61 Value type: <u32>
62 Definition: time in microseconds to pause between successive scans
63 of the matrix array.
64
65- row-hold:
66 Usage: optional
67 Value type: <u32>
68 Definition: time in nanoseconds to pause between scans of each row in
69 the matrix array.
70
71EXAMPLE
72
73 keypad@148 {
74 compatible = "qcom,pm8921-keypad";
75 reg = <0x148>;
76 interrupt-parent = <&pmicintc>;
77 interrupts = <74 1>, <75 1>;
78 linux,keymap = <
79 MATRIX_KEY(0, 0, KEY_VOLUMEUP)
80 MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
81 MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
82 MATRIX_KEY(0, 3, KEY_CAMERA)
83 >;
84 keypad,num-rows = <1>;
85 keypad,num-columns = <5>;
86 debounce = <15>;
87 scan-delay = <32>;
88 row-hold = <91500>;
89 };
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt
new file mode 100644
index 000000000000..588536cc96ed
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-pwrkey.txt
@@ -0,0 +1,46 @@
1Qualcomm PM8xxx PMIC Power Key
2
3PROPERTIES
4
5- compatible:
6 Usage: required
7 Value type: <string>
8 Definition: must be one of:
9 "qcom,pm8058-pwrkey"
10 "qcom,pm8921-pwrkey"
11
12- reg:
13 Usage: required
14 Value type: <prop-encoded-array>
15 Definition: address of power key control register
16
17- interrupts:
18 Usage: required
19 Value type: <prop-encoded-array>
20 Definition: the first interrupt specifies the key release interrupt
21 and the second interrupt specifies the key press interrupt.
22 The format of the specifier is defined by the binding
23 document describing the node's interrupt parent.
24
25- debounce:
26 Usage: optional
27 Value type: <u32>
28 Definition: time in microseconds that key must be pressed or release
29 for state change interrupt to trigger.
30
31- pull-up:
32 Usage: optional
33 Value type: <empty>
34 Definition: presence of this property indicates that the KPDPWR_N pin
35 should be configured for pull up.
36
37EXAMPLE
38
39 pwrkey@1c {
40 compatible = "qcom,pm8921-pwrkey";
41 reg = <0x1c>;
42 interrupt-parent = <&pmicintc>;
43 interrupts = <50 1>, <51 1>;
44 debounce = <15625>;
45 pull-up;
46 };
diff --git a/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt b/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
new file mode 100644
index 000000000000..4ed467b1e402
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/qcom,pm8xxx-vib.txt
@@ -0,0 +1,22 @@
1Qualcomm PM8xxx PMIC Vibrator
2
3PROPERTIES
4
5- compatible:
6 Usage: required
7 Value type: <string>
8 Definition: must be one of:
9 "qcom,pm8058-vib"
10 "qcom,pm8921-vib"
11
12- reg:
13 Usage: required
14 Value type: <prop-encoded-array>
15 Definition: address of vibration control register
16
17EXAMPLE
18
19 vibrator@4a {
20 compatible = "qcom,pm8058-vib";
21 reg = <0x4a>;
22 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt
new file mode 100644
index 000000000000..76db96704a60
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/edt-ft5x06.txt
@@ -0,0 +1,55 @@
1FocalTech EDT-FT5x06 Polytouch driver
2=====================================
3
4There are 3 variants of the chip for various touch panel sizes
5FT5206GE1 2.8" .. 3.8"
6FT5306DE4 4.3" .. 7"
7FT5406EE8 7" .. 8.9"
8
9The software interface is identical for all those chips, so that
10currently there is no need for the driver to distinguish between the
11different chips. Nevertheless distinct compatible strings are used so
12that a distinction can be added if necessary without changing the DT
13bindings.
14
15
16Required properties:
17 - compatible: "edt,edt-ft5206"
18 or: "edt,edt-ft5306"
19 or: "edt,edt-ft5406"
20
21 - reg: I2C slave address of the chip (0x38)
22 - interrupt-parent: a phandle pointing to the interrupt controller
23 serving the interrupt for this chip
24 - interrupts: interrupt specification for the touchdetect
25 interrupt
26
27Optional properties:
28 - reset-gpios: GPIO specification for the RESET input
29 - wake-gpios: GPIO specification for the WAKE input
30
31 - pinctrl-names: should be "default"
32 - pinctrl-0: a phandle pointing to the pin settings for the
33 control gpios
34
35 - threshold: allows setting the "click"-threshold in the range
36 from 20 to 80.
37
38 - gain: allows setting the sensitivity in the range from 0 to
39 31. Note that lower values indicate higher
40 sensitivity.
41
42 - offset: allows setting the edge compensation in the range from
43 0 to 31.
44
45Example:
46 polytouch: edt-ft5x06@38 {
47 compatible = "edt,edt-ft5406", "edt,edt-ft5x06";
48 reg = <0x38>;
49 pinctrl-names = "default";
50 pinctrl-0 = <&edt_ft5x06_pins>;
51 interrupt-parent = <&gpio2>;
52 interrupts = <5 0>;
53 reset-gpios = <&gpio2 6 1>;
54 wake-gpios = <&gpio4 9 0>;
55 };
diff --git a/Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt b/Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt
new file mode 100644
index 000000000000..2faf1f1fa39e
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/zforce_ts.txt
@@ -0,0 +1,30 @@
1* Neonode infrared touchscreen controller
2
3Required properties:
4- compatible: must be "neonode,zforce"
5- reg: I2C address of the chip
6- interrupts: interrupt to which the chip is connected
7- gpios: gpios the chip is connected to
8 first one is the interrupt gpio and second one the reset gpio
9- x-size: horizontal resolution of touchscreen
10- y-size: vertical resolution of touchscreen
11
12Example:
13
14 i2c@00000000 {
15 /* ... */
16
17 zforce_ts@50 {
18 compatible = "neonode,zforce";
19 reg = <0x50>;
20 interrupts = <2 0>;
21
22 gpios = <&gpio5 6 0>, /* INT */
23 <&gpio5 9 0>; /* RST */
24
25 x-size = <800>;
26 y-size = <600>;
27 };
28
29 /* ... */
30 };
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt
index 32cec4b26cd0..b290ca150d30 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun4i-ic.txt
@@ -2,7 +2,7 @@ Allwinner Sunxi Interrupt Controller
2 2
3Required properties: 3Required properties:
4 4
5- compatible : should be "allwinner,sun4i-ic" 5- compatible : should be "allwinner,sun4i-a10-ic"
6- reg : Specifies base physical address and size of the registers. 6- reg : Specifies base physical address and size of the registers.
7- interrupt-controller : Identifies the node as an interrupt controller 7- interrupt-controller : Identifies the node as an interrupt controller
8- #interrupt-cells : Specifies the number of cells needed to encode an 8- #interrupt-cells : Specifies the number of cells needed to encode an
@@ -11,7 +11,7 @@ Required properties:
11Example: 11Example:
12 12
13intc: interrupt-controller { 13intc: interrupt-controller {
14 compatible = "allwinner,sun4i-ic"; 14 compatible = "allwinner,sun4i-a10-ic";
15 reg = <0x01c20400 0x400>; 15 reg = <0x01c20400 0x400>;
16 interrupt-controller; 16 interrupt-controller;
17 #interrupt-cells = <1>; 17 #interrupt-cells = <1>;
diff --git a/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt
new file mode 100644
index 000000000000..d1c5cdabc3e0
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/allwinner,sun67i-sc-nmi.txt
@@ -0,0 +1,27 @@
1Allwinner Sunxi NMI Controller
2==============================
3
4Required properties:
5
6- compatible : should be "allwinner,sun7i-a20-sc-nmi" or
7 "allwinner,sun6i-a31-sc-nmi"
8- reg : Specifies base physical address and size of the registers.
9- interrupt-controller : Identifies the node as an interrupt controller
10- #interrupt-cells : Specifies the number of cells needed to encode an
11 interrupt source. The value shall be 2. The first cell is the IRQ number, the
12 second cell the trigger type as defined in interrupt.txt in this directory.
13- interrupt-parent: Specifies the parent interrupt controller.
14- interrupts: Specifies the interrupt line (NMI) which is handled by
15 the interrupt controller in the parent controller's notation. This value
16 shall be the NMI.
17
18Example:
19
20sc-nmi-intc@01c00030 {
21 compatible = "allwinner,sun7i-a20-sc-nmi";
22 interrupt-controller;
23 #interrupt-cells = <2>;
24 reg = <0x01c00030 0x0c>;
25 interrupt-parent = <&gic>;
26 interrupts = <0 0 4>;
27};
diff --git a/Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt
new file mode 100644
index 000000000000..759339c34e4f
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/cirrus,clps711x-intc.txt
@@ -0,0 +1,41 @@
1Cirrus Logic CLPS711X Interrupt Controller
2
3Required properties:
4
5- compatible: Should be "cirrus,clps711x-intc".
6- reg: Specifies base physical address of the registers set.
7- interrupt-controller: Identifies the node as an interrupt controller.
8- #interrupt-cells: Specifies the number of cells needed to encode an
9 interrupt source. The value shall be 1.
10
11The interrupt sources are as follows:
12ID Name Description
13---------------------------
141: BLINT Battery low (FIQ)
153: MCINT Media changed (FIQ)
164: CSINT CODEC sound
175: EINT1 External 1
186: EINT2 External 2
197: EINT3 External 3
208: TC1OI TC1 under flow
219: TC2OI TC2 under flow
2210: RTCMI RTC compare match
2311: TINT 64Hz tick
2412: UTXINT1 UART1 transmit FIFO half empty
2513: URXINT1 UART1 receive FIFO half full
2614: UMSINT UART1 modem status changed
2715: SSEOTI SSI1 end of transfer
2816: KBDINT Keyboard
2917: SS2RX SSI2 receive FIFO half or greater full
3018: SS2TX SSI2 transmit FIFO less than half empty
3128: UTXINT2 UART2 transmit FIFO half empty
3229: URXINT2 UART2 receive FIFO half full
3332: DAIINT DAI interface (FIQ)
34
35Example:
36 intc: interrupt-controller {
37 compatible = "cirrus,clps711x-intc";
38 reg = <0x80000000 0x4000>;
39 interrupt-controller;
40 #interrupt-cells = <1>;
41 };
diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.txt b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
index e34c6cdd8ba8..f284b99402bc 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.txt
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.txt
@@ -48,6 +48,12 @@ conditions.
48 from the mmu-masters towards memory) node for this 48 from the mmu-masters towards memory) node for this
49 SMMU. 49 SMMU.
50 50
51- calxeda,smmu-secure-config-access : Enable proper handling of buggy
52 implementations that always use secure access to
53 SMMU configuration registers. In this case non-secure
54 aliases of secure registers have to be used during
55 SMMU configuration.
56
51Example: 57Example:
52 58
53 smmu { 59 smmu {
diff --git a/Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt b/Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt
new file mode 100644
index 000000000000..42531dc387aa
--- /dev/null
+++ b/Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt
@@ -0,0 +1,26 @@
1OMAP2+ IOMMU
2
3Required properties:
4- compatible : Should be one of,
5 "ti,omap2-iommu" for OMAP2/OMAP3 IOMMU instances
6 "ti,omap4-iommu" for OMAP4/OMAP5 IOMMU instances
7 "ti,dra7-iommu" for DRA7xx IOMMU instances
8- ti,hwmods : Name of the hwmod associated with the IOMMU instance
9- reg : Address space for the configuration registers
10- interrupts : Interrupt specifier for the IOMMU instance
11
12Optional properties:
13- ti,#tlb-entries : Number of entries in the translation look-aside buffer.
14 Should be either 8 or 32 (default: 32)
15- ti,iommu-bus-err-back : Indicates the IOMMU instance supports throwing
16 back a bus error response on MMU faults.
17
18Example:
19 /* OMAP3 ISP MMU */
20 mmu_isp: mmu@480bd400 {
21 compatible = "ti,omap2-iommu";
22 reg = <0x480bd400 0x80>;
23 interrupts = <24>;
24 ti,hwmods = "mmu_isp";
25 ti,#tlb-entries = <8>;
26 };
diff --git a/Documentation/devicetree/bindings/media/img-ir-rev1.txt b/Documentation/devicetree/bindings/media/img-ir-rev1.txt
new file mode 100644
index 000000000000..5434ce61b925
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/img-ir-rev1.txt
@@ -0,0 +1,34 @@
1* ImgTec Infrared (IR) decoder version 1
2
3This binding is for Imagination Technologies' Infrared decoder block,
4specifically major revision 1.
5
6Required properties:
7- compatible: Should be "img,ir-rev1"
8- reg: Physical base address of the controller and length of
9 memory mapped region.
10- interrupts: The interrupt specifier to the cpu.
11
12Optional properties:
13- clocks: List of clock specifiers as described in standard
14 clock bindings.
15 Up to 3 clocks may be specified in the following order:
16 1st: Core clock (defaults to 32.768KHz if omitted).
17 2nd: System side (fast) clock.
18 3rd: Power modulation clock.
19- clock-names: List of clock names corresponding to the clocks
20 specified in the clocks property.
21 Accepted clock names are:
22 "core": Core clock.
23 "sys": System clock.
24 "mod": Power modulation clock.
25
26Example:
27
28 ir@02006200 {
29 compatible = "img,ir-rev1";
30 reg = <0x02006200 0x100>;
31 interrupts = <29 4>;
32 clocks = <&clk_32khz>;
33 clock-names = "core";
34 };
diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt
index 96312f6c4c26..922d6f8e74be 100644
--- a/Documentation/devicetree/bindings/media/samsung-fimc.txt
+++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt
@@ -15,11 +15,21 @@ Common 'camera' node
15 15
16Required properties: 16Required properties:
17 17
18- compatible : must be "samsung,fimc", "simple-bus" 18- compatible: must be "samsung,fimc", "simple-bus"
19- clocks : list of clock specifiers, corresponding to entries in 19- clocks: list of clock specifiers, corresponding to entries in
20 the clock-names property; 20 the clock-names property;
21- clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0", 21- clock-names : must contain "sclk_cam0", "sclk_cam1", "pxl_async0",
22 "pxl_async1" entries, matching entries in the clocks property. 22 "pxl_async1" entries, matching entries in the clocks property.
23
24- #clock-cells: from the common clock bindings (../clock/clock-bindings.txt),
25 must be 1. A clock provider is associated with the 'camera' node and it should
26 be referenced by external sensors that use clocks provided by the SoC on
27 CAM_*_CLKOUT pins. The clock specifier cell stores an index of a clock.
28 The indices are 0, 1 for CAM_A_CLKOUT, CAM_B_CLKOUT clocks respectively.
29
30- clock-output-names: from the common clock bindings, should contain names of
31 clocks registered by the camera subsystem corresponding to CAM_A_CLKOUT,
32 CAM_B_CLKOUT output clocks respectively.
23 33
24The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used 34The pinctrl bindings defined in ../pinctrl/pinctrl-bindings.txt must be used
25to define a required pinctrl state named "default" and optional pinctrl states: 35to define a required pinctrl state named "default" and optional pinctrl states:
@@ -32,6 +42,7 @@ way around.
32 42
33The 'camera' node must include at least one 'fimc' child node. 43The 'camera' node must include at least one 'fimc' child node.
34 44
45
35'fimc' device nodes 46'fimc' device nodes
36------------------- 47-------------------
37 48
@@ -88,8 +99,8 @@ port nodes specifies data input - 0, 1 indicates input A, B respectively.
88 99
89Optional properties 100Optional properties
90 101
91- samsung,camclk-out : specifies clock output for remote sensor, 102- samsung,camclk-out (deprecated) : specifies clock output for remote sensor,
92 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT; 103 0 - CAM_A_CLKOUT, 1 - CAM_B_CLKOUT;
93 104
94Image sensor nodes 105Image sensor nodes
95------------------ 106------------------
@@ -97,8 +108,6 @@ Image sensor nodes
97The sensor device nodes should be added to their control bus controller (e.g. 108The sensor device nodes should be added to their control bus controller (e.g.
98I2C0) nodes and linked to a port node in the csis or the parallel-ports node, 109I2C0) nodes and linked to a port node in the csis or the parallel-ports node,
99using the common video interfaces bindings, defined in video-interfaces.txt. 110using the common video interfaces bindings, defined in video-interfaces.txt.
100The implementation of this bindings requires clock-frequency property to be
101present in the sensor device nodes.
102 111
103Example: 112Example:
104 113
@@ -114,7 +123,7 @@ Example:
114 vddio-supply = <...>; 123 vddio-supply = <...>;
115 124
116 clock-frequency = <24000000>; 125 clock-frequency = <24000000>;
117 clocks = <...>; 126 clocks = <&camera 1>;
118 clock-names = "mclk"; 127 clock-names = "mclk";
119 128
120 port { 129 port {
@@ -135,7 +144,7 @@ Example:
135 vddio-supply = <...>; 144 vddio-supply = <...>;
136 145
137 clock-frequency = <24000000>; 146 clock-frequency = <24000000>;
138 clocks = <...>; 147 clocks = <&camera 0>;
139 clock-names = "mclk"; 148 clock-names = "mclk";
140 149
141 port { 150 port {
@@ -149,12 +158,17 @@ Example:
149 158
150 camera { 159 camera {
151 compatible = "samsung,fimc", "simple-bus"; 160 compatible = "samsung,fimc", "simple-bus";
152 #address-cells = <1>; 161 clocks = <&clock 132>, <&clock 133>, <&clock 351>,
153 #size-cells = <1>; 162 <&clock 352>;
154 status = "okay"; 163 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0",
155 164 "pxl_async1";
165 #clock-cells = <1>;
166 clock-output-names = "cam_a_clkout", "cam_b_clkout";
156 pinctrl-names = "default"; 167 pinctrl-names = "default";
157 pinctrl-0 = <&cam_port_a_clk_active>; 168 pinctrl-0 = <&cam_port_a_clk_active>;
169 status = "okay";
170 #address-cells = <1>;
171 #size-cells = <1>;
158 172
159 /* parallel camera ports */ 173 /* parallel camera ports */
160 parallel-ports { 174 parallel-ports {
diff --git a/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt b/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt
new file mode 100644
index 000000000000..2c85c4538a6d
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt
@@ -0,0 +1,97 @@
1Samsung S5C73M3 8Mp camera ISP
2------------------------------
3
4The S5C73M3 camera ISP supports MIPI CSI-2 and parallel (ITU-R BT.656) video
5data busses. The I2C bus is the main control bus and additionally the SPI bus
6is used, mostly for transferring the firmware to and from the device. Two
7slave device nodes corresponding to these control bus interfaces are required
8and should be placed under respective bus controller nodes.
9
10I2C slave device node
11---------------------
12
13Required properties:
14
15- compatible : "samsung,s5c73m3";
16- reg : I2C slave address of the sensor;
17- vdd-int-supply : digital power supply (1.2V);
18- vdda-supply : analog power supply (1.2V);
19- vdd-reg-supply : regulator input power supply (2.8V);
20- vddio-host-supply : host I/O power supply (1.8V to 2.8V);
21- vddio-cis-supply : CIS I/O power supply (1.2V to 1.8V);
22- vdd-af-supply : lens power supply (2.8V);
23- xshutdown-gpios : specifier of GPIO connected to the XSHUTDOWN pin;
24- standby-gpios : specifier of GPIO connected to the STANDBY pin;
25- clocks : should contain list of phandle and clock specifier pairs
26 according to common clock bindings for the clocks described
27 in the clock-names property;
28- clock-names : should contain "cis_extclk" entry for the CIS_EXTCLK clock;
29
30Optional properties:
31
32- clock-frequency : the frequency at which the "cis_extclk" clock should be
33 configured to operate, in Hz; if this property is not
34 specified default 24 MHz value will be used.
35
36The common video interfaces bindings (see video-interfaces.txt) should be used
37to specify link from the S5C73M3 to an external image data receiver. The S5C73M3
38device node should contain one 'port' child node with an 'endpoint' subnode for
39this purpose. The data link from a raw image sensor to the S5C73M3 can be
40similarly specified, but it is optional since the S5C73M3 ISP and a raw image
41sensor are usually inseparable and form a hybrid module.
42
43Following properties are valid for the endpoint node(s):
44
45endpoint subnode
46----------------
47
48- data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in
49 video-interfaces.txt. This sensor doesn't support data lane remapping
50 and physical lane indexes in subsequent elements of the array should
51 be only consecutive ascending values.
52
53SPI device node
54---------------
55
56Required properties:
57
58- compatible : "samsung,s5c73m3";
59
60For more details see description of the SPI busses bindings
61(../spi/spi-bus.txt) and bindings of a specific bus controller.
62
63Example:
64
65i2c@138A000000 {
66 ...
67 s5c73m3@3c {
68 compatible = "samsung,s5c73m3";
69 reg = <0x3c>;
70 vdd-int-supply = <&buck9_reg>;
71 vdda-supply = <&ldo17_reg>;
72 vdd-reg-supply = <&cam_io_reg>;
73 vddio-host-supply = <&ldo18_reg>;
74 vddio-cis-supply = <&ldo9_reg>;
75 vdd-af-supply = <&cam_af_reg>;
76 clock-frequency = <24000000>;
77 clocks = <&clk 0>;
78 clock-names = "cis_extclk";
79 reset-gpios = <&gpf1 3 1>;
80 standby-gpios = <&gpm0 1 1>;
81 port {
82 s5c73m3_ep: endpoint {
83 remote-endpoint = <&csis0_ep>;
84 data-lanes = <1 2 3 4>;
85 };
86 };
87 };
88};
89
90spi@1392000 {
91 ...
92 s5c73m3_spi: s5c73m3@0 {
93 compatible = "samsung,s5c73m3";
94 reg = <0>;
95 ...
96 };
97};
diff --git a/Documentation/devicetree/bindings/media/samsung-s5k6a3.txt b/Documentation/devicetree/bindings/media/samsung-s5k6a3.txt
new file mode 100644
index 000000000000..cce01e82f3e3
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/samsung-s5k6a3.txt
@@ -0,0 +1,33 @@
1Samsung S5K6A3(YX) raw image sensor
2---------------------------------
3
4S5K6A3(YX) is a raw image sensor with MIPI CSI-2 and CCP2 image data interfaces
5and CCI (I2C compatible) control bus.
6
7Required properties:
8
9- compatible : "samsung,s5k6a3";
10- reg : I2C slave address of the sensor;
11- svdda-supply : core voltage supply;
12- svddio-supply : I/O voltage supply;
13- afvdd-supply : AF (actuator) voltage supply;
14- gpios : specifier of a GPIO connected to the RESET pin;
15- clocks : should contain list of phandle and clock specifier pairs
16 according to common clock bindings for the clocks described
17 in the clock-names property;
18- clock-names : should contain "extclk" entry for the sensor's EXTCLK clock;
19
20Optional properties:
21
22- clock-frequency : the frequency at which the "extclk" clock should be
23 configured to operate, in Hz; if this property is not
24 specified default 24 MHz value will be used.
25
26The common video interfaces bindings (see video-interfaces.txt) should be
27used to specify link to the image data receiver. The S5K6A3(YX) device
28node should contain one 'port' child node with an 'endpoint' subnode.
29
30Following properties are valid for the endpoint node:
31
32- data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in
33 video-interfaces.txt. The sensor supports only one data lane.
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/ifc.txt b/Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt
index d5e370450ac0..d5e370450ac0 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/ifc.txt
+++ b/Documentation/devicetree/bindings/memory-controllers/fsl/ifc.txt
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt b/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt
new file mode 100644
index 000000000000..9592717f483f
--- /dev/null
+++ b/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt
@@ -0,0 +1,210 @@
1* Device tree bindings for Texas instruments AEMIF controller
2
3The Async External Memory Interface (EMIF16/AEMIF) controller is intended to
4provide a glue-less interface to a variety of asynchronous memory devices like
5ASRA M, NOR and NAND memory. A total of 256M bytes of any of these memories
6can be accessed at any given time via four chip selects with 64M byte access
7per chip select. Synchronous memories such as DDR1 SD RAM, SDR SDRAM
8and Mobile SDR are not supported.
9
10Documentation:
11Davinci DM646x - http://www.ti.com/lit/ug/sprueq7c/sprueq7c.pdf
12OMAP-L138 (DA850) - http://www.ti.com/lit/ug/spruh77a/spruh77a.pdf
13Kestone - http://www.ti.com/lit/ug/sprugz3a/sprugz3a.pdf
14
15Required properties:
16
17- compatible: "ti,davinci-aemif"
18 "ti,keystone-aemif"
19 "ti,da850-aemif"
20
21- reg: contains offset/length value for AEMIF control registers
22 space.
23
24- #address-cells: Must be 2. The partition number has to be encoded in the
25 first address cell and it may accept values 0..N-1
26 (N - total number of partitions). It's recommended to
27 assign N-1 number for the control partition. The second
28 cell is the offset into the partition.
29
30- #size-cells: Must be set to 1.
31
32- ranges: Contains memory regions. There are two types of
33 ranges/partitions:
34 - CS-specific partition/range. If continuous, must be
35 set up to reflect the memory layout for 4 chipselects,
36 if not then additional range/partition can be added and
37 child device can select the proper one.
38 - control partition which is common for all CS
39 interfaces.
40
41- clocks: the clock feeding the controller clock. Required only
42 if clock tree data present in device tree.
43 See clock-bindings.txt
44
45- clock-names: clock name. It has to be "aemif". Required only if clock
46 tree data present in device tree, in another case don't
47 use it.
48 See clock-bindings.txt
49
50- clock-ranges: Empty property indicating that child nodes can inherit
51 named clocks. Required only if clock tree data present
52 in device tree.
53 See clock-bindings.txt
54
55
56Child chip-select (cs) nodes contain the memory devices nodes connected to
57such as NOR (e.g. cfi-flash) and NAND (ti,davinci-nand, see davinci-nand.txt).
58There might be board specific devices like FPGAs.
59
60Required child cs node properties:
61
62- #address-cells: Must be 2.
63
64- #size-cells: Must be 1.
65
66- ranges: Empty property indicating that child nodes can inherit
67 memory layout.
68
69- clock-ranges: Empty property indicating that child nodes can inherit
70 named clocks. Required only if clock tree data present
71 in device tree.
72
73- ti,cs-chipselect: number of chipselect. Indicates on the aemif driver
74 which chipselect is used for accessing the memory. For
75 compatibles "ti,davinci-aemif" and "ti,keystone-aemif"
76 it can be in range [0-3]. For compatible
77 "ti,da850-aemif" range is [2-5].
78
79Optional child cs node properties:
80
81- ti,cs-bus-width: width of the asynchronous device's data bus
82 8 or 16 if not preset 8
83
84- ti,cs-select-strobe-mode: enable/disable select strobe mode
85 In select strobe mode chip select behaves as
86 the strobe and is active only during the strobe
87 period. If present then enable.
88
89- ti,cs-extended-wait-mode: enable/disable extended wait mode
90 if set, the controller monitors the EMIFWAIT pin
91 mapped to that chip select to determine if the
92 device wants to extend the strobe period. If
93 present then enable.
94
95- ti,cs-min-turnaround-ns: minimum turn around time, ns
96 Time between the end of one asynchronous memory
97 access and the start of another asynchronous
98 memory access. This delay is not incurred
99 between a read followed by read or a write
100 followed by a write to same chip select.
101
102- ti,cs-read-setup-ns: read setup width, ns
103 Time between the beginning of a memory cycle
104 and the activation of read strobe.
105 Minimum value is 1 (0 treated as 1).
106
107- ti,cs-read-strobe-ns: read strobe width, ns
108 Time between the activation and deactivation of
109 the read strobe.
110 Minimum value is 1 (0 treated as 1).
111
112- ti,cs-read-hold-ns: read hold width, ns
113 Time between the deactivation of the read
114 strobe and the end of the cycle (which may be
115 either an address change or the deactivation of
116 the chip select signal.
117 Minimum value is 1 (0 treated as 1).
118
119- ti,cs-write-setup-ns: write setup width, ns
120 Time between the beginning of a memory cycle
121 and the activation of write strobe.
122 Minimum value is 1 (0 treated as 1).
123
124- ti,cs-write-strobe-ns: write strobe width, ns
125 Time between the activation and deactivation of
126 the write strobe.
127 Minimum value is 1 (0 treated as 1).
128
129- ti,cs-write-hold-ns: write hold width, ns
130 Time between the deactivation of the write
131 strobe and the end of the cycle (which may be
132 either an address change or the deactivation of
133 the chip select signal.
134 Minimum value is 1 (0 treated as 1).
135
136If any of the above parameters are absent, current parameter value will be taken
137from the corresponding HW reg.
138
139Example for aemif, davinci nand and nor flash chip select shown below.
140
141memory-controller@21000A00 {
142 compatible = "ti,davinci-aemif";
143 #address-cells = <2>;
144 #size-cells = <1>;
145 clocks = <&clkaemif 0>;
146 clock-names = "aemif";
147 clock-ranges;
148 reg = <0x21000A00 0x00000100>;
149 ranges = <0 0 0x70000000 0x10000000
150 1 0 0x21000A00 0x00000100>;
151 /*
152 * Partition0: CS-specific memory range which is
153 * implemented as continuous physical memory region
154 * Partition1: control memory range
155 */
156
157 nand:cs2 {
158 #address-cells = <2>;
159 #size-cells = <1>;
160 clock-ranges;
161 ranges;
162
163 ti,cs-chipselect = <2>;
164 /* all timings in nanoseconds */
165 ti,cs-min-turnaround-ns = <0>;
166 ti,cs-read-hold-ns = <7>;
167 ti,cs-read-strobe-ns = <42>;
168 ti,cs-read-setup-ns = <14>;
169 ti,cs-write-hold-ns = <7>;
170 ti,cs-write-strobe-ns = <42>;
171 ti,cs-write-setup-ns = <14>;
172
173 nand@0,0x8000000 {
174 compatible = "ti,davinci-nand";
175 reg = <0 0x8000000 0x4000000
176 1 0x0000000 0x0000100>;
177 /*
178 * Partition0, offset 0x8000000, size 0x4000000
179 * Partition1, offset 0x0000000, size 0x0000100
180 */
181
182 .. see davinci-nand.txt
183 };
184 };
185
186 nor:cs0 {
187 #address-cells = <2>;
188 #size-cells = <1>;
189 clock-ranges;
190 ranges;
191
192 ti,cs-chipselect = <0>;
193 /* all timings in nanoseconds */
194 ti,cs-min-turnaround-ns = <0>;
195 ti,cs-read-hold-ns = <8>;
196 ti,cs-read-strobe-ns = <40>;
197 ti,cs-read-setup-ns = <14>;
198 ti,cs-write-hold-ns = <7>;
199 ti,cs-write-strobe-ns = <40>;
200 ti,cs-write-setup-ns = <14>;
201 ti,cs-bus-width = <16>;
202
203 flash@0,0x0000000 {
204 compatible = "cfi-flash";
205 reg = <0 0x0000000 0x4000000>;
206
207 ...
208 };
209 };
210};
diff --git a/Documentation/devicetree/bindings/mfd/arizona.txt b/Documentation/devicetree/bindings/mfd/arizona.txt
index 0e295c9d8937..36a0c3d8c726 100644
--- a/Documentation/devicetree/bindings/mfd/arizona.txt
+++ b/Documentation/devicetree/bindings/mfd/arizona.txt
@@ -5,9 +5,10 @@ of analogue I/O.
5 5
6Required properties: 6Required properties:
7 7
8 - compatible : one of the following chip-specific strings: 8 - compatible : One of the following chip-specific strings:
9 "wlf,wm5102" 9 "wlf,wm5102"
10 "wlf,wm5110" 10 "wlf,wm5110"
11 "wlf,wm8997"
11 - reg : I2C slave address when connected using I2C, chip select number when 12 - reg : I2C slave address when connected using I2C, chip select number when
12 using SPI. 13 using SPI.
13 14
@@ -25,8 +26,9 @@ Required properties:
25 - #gpio-cells : Must be 2. The first cell is the pin number and the 26 - #gpio-cells : Must be 2. The first cell is the pin number and the
26 second cell is used to specify optional parameters (currently unused). 27 second cell is used to specify optional parameters (currently unused).
27 28
28 - AVDD1-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply, CPVDD-supply, 29 - AVDD-supply, DBVDD1-supply, DBVDD2-supply, DBVDD3-supply (wm5102, wm5110),
29 SPKVDDL-supply, SPKVDDR-supply : power supplies for the device, as covered 30 CPVDD-supply, SPKVDDL-supply (wm5102, wm5110), SPKVDDR-supply (wm5102,
31 wm5110), SPKVDD-supply (wm8997) : Power supplies for the device, as covered
30 in Documentation/devicetree/bindings/regulator/regulator.txt 32 in Documentation/devicetree/bindings/regulator/regulator.txt
31 33
32Optional properties: 34Optional properties:
@@ -46,6 +48,7 @@ codec: wm5102@1a {
46 compatible = "wlf,wm5102"; 48 compatible = "wlf,wm5102";
47 reg = <0x1a>; 49 reg = <0x1a>;
48 interrupts = <347>; 50 interrupts = <347>;
51 interrupt-controller;
49 #interrupt-cells = <2>; 52 #interrupt-cells = <2>;
50 interrupt-parent = <&gic>; 53 interrupt-parent = <&gic>;
51 54
@@ -53,10 +56,10 @@ codec: wm5102@1a {
53 #gpio-cells = <2>; 56 #gpio-cells = <2>;
54 57
55 wlf,gpio-defaults = < 58 wlf,gpio-defaults = <
56 0x00000000, /* AIF1TXLRCLK */ 59 0x00000000 /* AIF1TXLRCLK */
57 0xffffffff, 60 0xffffffff
58 0xffffffff, 61 0xffffffff
59 0xffffffff, 62 0xffffffff
60 0xffffffff, 63 0xffffffff
61 >; 64 >;
62}; 65};
diff --git a/Documentation/devicetree/bindings/mfd/bcm590xx.txt b/Documentation/devicetree/bindings/mfd/bcm590xx.txt
new file mode 100644
index 000000000000..1fe30e2b10da
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/bcm590xx.txt
@@ -0,0 +1,37 @@
1-------------------------------
2BCM590xx Power Management Units
3-------------------------------
4
5Required properties:
6- compatible: "brcm,bcm59056"
7- reg: I2C slave address
8- interrupts: interrupt for the PMU. Generic interrupt client node bindings
9 are described in interrupt-controller/interrupts.txt
10
11------------------
12Voltage Regulators
13------------------
14
15Optional child nodes:
16- regulators: container node for regulators following the generic
17 regulator binding in regulator/regulator.txt
18
19 The valid regulator node names for BCM59056 are:
20 rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
21 mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
22 csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr
23
24Example:
25 pmu: bcm59056@8 {
26 compatible = "brcm,bcm59056";
27 reg = <0x08>;
28 interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
29 regulators {
30 rfldo_reg: rfldo {
31 regulator-min-microvolt = <1200000>;
32 regulator-max-microvolt = <3300000>;
33 };
34
35 ...
36 };
37 };
diff --git a/Documentation/devicetree/bindings/mfd/da9055.txt b/Documentation/devicetree/bindings/mfd/da9055.txt
new file mode 100644
index 000000000000..6dab34d34fce
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/da9055.txt
@@ -0,0 +1,72 @@
1* Dialog DA9055 Power Management Integrated Circuit (PMIC)
2
3DA9055 consists of a large and varied group of sub-devices (I2C Only):
4
5Device Supply Names Description
6------ ------------ -----------
7da9055-gpio : : GPIOs
8da9055-regulator : : Regulators
9da9055-onkey : : On key
10da9055-rtc : : RTC
11da9055-hwmon : : ADC
12da9055-watchdog : : Watchdog
13
14The CODEC device in DA9055 has a separate, configurable I2C address and so
15is instantiated separately from the PMIC.
16
17For details on accompanying CODEC I2C device, see the following:
18Documentation/devicetree/bindings/sound/da9055.txt
19
20======
21
22Required properties:
23- compatible : Should be "dlg,da9055-pmic"
24- reg: Specifies the I2C slave address (defaults to 0x5a but can be modified)
25- interrupt-parent: Specifies the phandle of the interrupt controller to which
26 the IRQs from da9055 are delivered to.
27- interrupts: IRQ line info for da9055 chip.
28- interrupt-controller: da9055 has internal IRQs (has own IRQ domain).
29- #interrupt-cells: Should be 1, is the local IRQ number for da9055.
30
31Sub-nodes:
32- regulators : Contain the regulator nodes. The DA9055 regulators are
33 bound using their names as listed below:
34
35 buck1 : regulator BUCK1
36 buck2 : regulator BUCK2
37 ldo1 : regulator LDO1
38 ldo2 : regulator LDO2
39 ldo3 : regulator LDO3
40 ldo4 : regulator LDO4
41 ldo5 : regulator LDO5
42 ldo6 : regulator LDO6
43
44 The bindings details of individual regulator device can be found in:
45 Documentation/devicetree/bindings/regulator/regulator.txt
46
47
48Example:
49
50 pmic: da9055-pmic@5a {
51 compatible = "dlg,da9055-pmic";
52 reg = <0x5a>;
53 interrupt-parent = <&intc>;
54 interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
55 interrupt-controller;
56 #interrupt-cells = <1>;
57
58 regulators {
59 buck1: BUCK1 {
60 regulator-min-microvolt = <725000>;
61 regulator-max-microvolt = <2075000>;
62 };
63 buck2: BUCK2 {
64 regulator-min-microvolt = <925000>;
65 regulator-max-microvolt = <2500000>;
66 };
67 ldo1: LDO1 {
68 regulator-min-microvolt = <900000>;
69 regulator-max-microvolt = <3300000>;
70 };
71 };
72 };
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt
index b381fa696bf9..4721b2d521e4 100644
--- a/Documentation/devicetree/bindings/mfd/omap-usb-host.txt
+++ b/Documentation/devicetree/bindings/mfd/omap-usb-host.txt
@@ -32,6 +32,29 @@ Optional properties:
32- single-ulpi-bypass: Must be present if the controller contains a single 32- single-ulpi-bypass: Must be present if the controller contains a single
33 ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 33 ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1
34 34
35- clocks: a list of phandles and clock-specifier pairs, one for each entry in
36 clock-names.
37
38- clock-names: should include:
39 For OMAP3
40 * "usbhost_120m_fck" - 120MHz Functional clock.
41
42 For OMAP4+
43 * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux
44 * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux.
45 * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux
46 * "utmi_p1_gfclk" - Port 1 UTMI clock mux.
47 * "utmi_p2_gfclk" - Port 2 UTMI clock mux.
48 * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate.
49 * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate.
50 * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate.
51 * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate.
52 * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate.
53 * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate.
54 * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate.
55 * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate.
56 * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate.
57
35Required properties if child node exists: 58Required properties if child node exists:
36 59
37- #address-cells: Must be 1 60- #address-cells: Must be 1
diff --git a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
index 62fe69724e3b..c58d70437fce 100644
--- a/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
+++ b/Documentation/devicetree/bindings/mfd/omap-usb-tll.txt
@@ -7,6 +7,16 @@ Required properties:
7- interrupts : should contain the TLL module's interrupt 7- interrupts : should contain the TLL module's interrupt
8- ti,hwmod : must contain "usb_tll_hs" 8- ti,hwmod : must contain "usb_tll_hs"
9 9
10Optional properties:
11
12- clocks: a list of phandles and clock-specifier pairs, one for each entry in
13 clock-names.
14
15- clock-names: should include:
16 * "usb_tll_hs_usb_ch0_clk" - USB TLL channel 0 clock
17 * "usb_tll_hs_usb_ch1_clk" - USB TLL channel 1 clock
18 * "usb_tll_hs_usb_ch2_clk" - USB TLL channel 2 clock
19
10Example: 20Example:
11 21
12 usbhstll: usbhstll@4a062000 { 22 usbhstll: usbhstll@4a062000 {
diff --git a/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt b/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt
new file mode 100644
index 000000000000..03518dc8b6bd
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qcom,pm8xxx.txt
@@ -0,0 +1,96 @@
1Qualcomm PM8xxx PMIC multi-function devices
2
3The PM8xxx family of Power Management ICs are used to provide regulated
4voltages and other various functionality to Qualcomm SoCs.
5
6= PROPERTIES
7
8- compatible:
9 Usage: required
10 Value type: <string>
11 Definition: must be one of:
12 "qcom,pm8058"
13 "qcom,pm8921"
14
15- #address-cells:
16 Usage: required
17 Value type: <u32>
18 Definition: must be 1
19
20- #size-cells:
21 Usage: required
22 Value type: <u32>
23 Definition: must be 0
24
25- interrupts:
26 Usage: required
27 Value type: <prop-encoded-array>
28 Definition: specifies the interrupt that indicates a subdevice
29 has generated an interrupt (summary interrupt). The
30 format of the specifier is defined by the binding document
31 describing the node's interrupt parent.
32
33- #interrupt-cells:
34 Usage: required
35 Value type : <u32>
36 Definition: must be 2. Specifies the number of cells needed to encode
37 an interrupt source. The 1st cell contains the interrupt
38 number. The 2nd cell is the trigger type and level flags
39 encoded as follows:
40
41 1 = low-to-high edge triggered
42 2 = high-to-low edge triggered
43 4 = active high level-sensitive
44 8 = active low level-sensitive
45
46- interrupt-controller:
47 Usage: required
48 Value type: <empty>
49 Definition: identifies this node as an interrupt controller
50
51= SUBCOMPONENTS
52
53The PMIC contains multiple independent functions, each described in a subnode.
54The below bindings specify the set of valid subnodes.
55
56== Real-Time Clock
57
58- compatible:
59 Usage: required
60 Value type: <string>
61 Definition: must be one of:
62 "qcom,pm8058-rtc"
63 "qcom,pm8921-rtc"
64
65- reg:
66 Usage: required
67 Value type: <prop-encoded-array>
68 Definition: single entry specifying the base address of the RTC registers
69
70- interrupts:
71 Usage: required
72 Value type: <prop-encoded-array>
73 Definition: single entry specifying the RTC's alarm interrupt
74
75- allow-set-time:
76 Usage: optional
77 Value type: <empty>
78 Definition: indicates that the setting of RTC time is allowed by
79 the host CPU
80
81= EXAMPLE
82
83 pmicintc: pmic@0 {
84 compatible = "qcom,pm8921";
85 interrupts = <104 8>;
86 #interrupt-cells = <2>;
87 interrupt-controller;
88 #address-cells = <1>;
89 #size-cells = <0>;
90
91 rtc@11d {
92 compatible = "qcom,pm8921-rtc";
93 reg = <0x11d>;
94 interrupts = <0x27 0>;
95 };
96 };
diff --git a/Documentation/devicetree/bindings/mfd/s2mpa01.txt b/Documentation/devicetree/bindings/mfd/s2mpa01.txt
new file mode 100644
index 000000000000..c13d3d8c3947
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/s2mpa01.txt
@@ -0,0 +1,90 @@
1
2* Samsung S2MPA01 Voltage and Current Regulator
3
4The Samsung S2MPA01 is a multi-function device which includes high
5efficiency buck converters including Dual-Phase buck converter, various LDOs,
6and an RTC. It is interfaced to the host controller using an I2C interface.
7Each sub-block is addressed by the host system using different I2C slave
8addresses.
9
10Required properties:
11- compatible: Should be "samsung,s2mpa01-pmic".
12- reg: Specifies the I2C slave address of the PMIC block. It should be 0x66.
13
14Optional properties:
15- interrupt-parent: Specifies the phandle of the interrupt controller to which
16 the interrupts from s2mpa01 are delivered to.
17- interrupts: An interrupt specifier for the sole interrupt generated by the
18 device.
19
20Optional nodes:
21- regulators: The regulators of s2mpa01 that have to be instantiated should be
22 included in a sub-node named 'regulators'. Regulator nodes and constraints
23 included in this sub-node use the standard regulator bindings which are
24 documented elsewhere.
25
26Properties for BUCK regulator nodes:
27- regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500
28 (default), 25000, or 50000. May be 0 for disabling the ramp delay on
29 BUCK{1,2,3,4}.
30
31 In the absence of the regulator-ramp-delay property, the default ramp
32 delay will be used.
33
34 NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
35 for a particular group of BUCKs. So provide same regulator-ramp-delay=<value>.
36
37 The following BUCKs share ramp settings:
38 * 1 and 6
39 * 2 and 4
40 * 8, 9, and 10
41
42The following are the names of the regulators that the s2mpa01 PMIC block
43supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
44as per the datasheet of s2mpa01.
45
46 - LDOn
47 - valid values for n are 1 to 26
48 - Example: LDO1, LD02, LDO26
49 - BUCKn
50 - valid values for n are 1 to 10.
51 - Example: BUCK1, BUCK2, BUCK9
52
53Example:
54
55 s2mpa01_pmic@66 {
56 compatible = "samsung,s2mpa01-pmic";
57 reg = <0x66>;
58
59 regulators {
60 ldo1_reg: LDO1 {
61 regulator-name = "VDD_ALIVE";
62 regulator-min-microvolt = <1000000>;
63 regulator-max-microvolt = <1000000>;
64 };
65
66 ldo2_reg: LDO2 {
67 regulator-name = "VDDQ_MMC2";
68 regulator-min-microvolt = <2800000>;
69 regulator-max-microvolt = <2800000>;
70 regulator-always-on;
71 };
72
73 buck1_reg: BUCK1 {
74 regulator-name = "vdd_mif";
75 regulator-min-microvolt = <950000>;
76 regulator-max-microvolt = <1350000>;
77 regulator-always-on;
78 regulator-boot-on;
79 };
80
81 buck2_reg: BUCK2 {
82 regulator-name = "vdd_arm";
83 regulator-min-microvolt = <950000>;
84 regulator-max-microvolt = <1350000>;
85 regulator-always-on;
86 regulator-boot-on;
87 regulator-ramp-delay = <50000>;
88 };
89 };
90 };
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt
index 15ee89c3cc7b..802e839b0829 100644
--- a/Documentation/devicetree/bindings/mfd/s2mps11.txt
+++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt
@@ -1,5 +1,5 @@
1 1
2* Samsung S2MPS11 Voltage and Current Regulator 2* Samsung S2MPS11 and S2MPS14 Voltage and Current Regulator
3 3
4The Samsung S2MPS11 is a multi-function device which includes voltage and 4The Samsung S2MPS11 is a multi-function device which includes voltage and
5current regulators, RTC, charger controller and other sub-blocks. It is 5current regulators, RTC, charger controller and other sub-blocks. It is
@@ -7,7 +7,7 @@ interfaced to the host controller using an I2C interface. Each sub-block is
7addressed by the host system using different I2C slave addresses. 7addressed by the host system using different I2C slave addresses.
8 8
9Required properties: 9Required properties:
10- compatible: Should be "samsung,s2mps11-pmic". 10- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic".
11- reg: Specifies the I2C slave address of the pmic block. It should be 0x66. 11- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
12 12
13Optional properties: 13Optional properties:
@@ -16,20 +16,25 @@ Optional properties:
16- interrupts: Interrupt specifiers for interrupt sources. 16- interrupts: Interrupt specifiers for interrupt sources.
17 17
18Optional nodes: 18Optional nodes:
19- clocks: s2mps11 provides three(AP/CP/BT) buffered 32.768 KHz outputs, so to 19- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz
20 register these as clocks with common clock framework instantiate a sub-node 20 outputs, so to register these as clocks with common clock framework
21 named "clocks". It uses the common clock binding documented in : 21 instantiate a sub-node named "clocks". It uses the common clock binding
22 documented in :
22 [Documentation/devicetree/bindings/clock/clock-bindings.txt] 23 [Documentation/devicetree/bindings/clock/clock-bindings.txt]
24 The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
23 - #clock-cells: should be 1. 25 - #clock-cells: should be 1.
24 26
25 - The following is the list of clocks generated by the controller. Each clock 27 - The following is the list of clocks generated by the controller. Each clock
26 is assigned an identifier and client nodes use this identifier to specify 28 is assigned an identifier and client nodes use this identifier to specify
27 the clock which they consume. 29 the clock which they consume.
28 Clock ID 30 Clock ID Devices
29 ---------------------- 31 ----------------------------------------------------------
30 32KhzAP 0 32 32KhzAP 0 S2MPS11, S2MPS14, S5M8767
31 32KhzCP 1 33 32KhzCP 1 S2MPS11, S5M8767
32 32KhzBT 2 34 32KhzBT 2 S2MPS11, S2MPS14, S5M8767
35
36 - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk",
37 "samsung,s5m8767-clk"
33 38
34- regulators: The regulators of s2mps11 that have to be instantiated should be 39- regulators: The regulators of s2mps11 that have to be instantiated should be
35included in a sub-node named 'regulators'. Regulator nodes included in this 40included in a sub-node named 'regulators'. Regulator nodes included in this
@@ -59,10 +64,14 @@ supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
59as per the datasheet of s2mps11. 64as per the datasheet of s2mps11.
60 65
61 - LDOn 66 - LDOn
62 - valid values for n are 1 to 38 67 - valid values for n are:
68 - S2MPS11: 1 to 38
69 - S2MPS14: 1 to 25
63 - Example: LDO1, LD02, LDO28 70 - Example: LDO1, LD02, LDO28
64 - BUCKn 71 - BUCKn
65 - valid values for n are 1 to 10. 72 - valid values for n are:
73 - S2MPS11: 1 to 10
74 - S2MPS14: 1 to 5
66 - Example: BUCK1, BUCK2, BUCK9 75 - Example: BUCK1, BUCK2, BUCK9
67 76
68Example: 77Example:
@@ -71,7 +80,8 @@ Example:
71 compatible = "samsung,s2mps11-pmic"; 80 compatible = "samsung,s2mps11-pmic";
72 reg = <0x66>; 81 reg = <0x66>;
73 82
74 s2m_osc: clocks{ 83 s2m_osc: clocks {
84 compatible = "samsung,s2mps11-clk";
75 #clock-cells = 1; 85 #clock-cells = 1;
76 clock-output-names = "xx", "yy", "zz"; 86 clock-output-names = "xx", "yy", "zz";
77 }; 87 };
diff --git a/Documentation/devicetree/bindings/mfd/tps65910.txt b/Documentation/devicetree/bindings/mfd/tps65910.txt
index b4bd98af1cc7..38833e63a59f 100644
--- a/Documentation/devicetree/bindings/mfd/tps65910.txt
+++ b/Documentation/devicetree/bindings/mfd/tps65910.txt
@@ -11,7 +11,7 @@ Required properties:
11- #interrupt-cells: the number of cells to describe an IRQ, this should be 2. 11- #interrupt-cells: the number of cells to describe an IRQ, this should be 2.
12 The first cell is the IRQ number. 12 The first cell is the IRQ number.
13 The second cell is the flags, encoded as the trigger masks from 13 The second cell is the flags, encoded as the trigger masks from
14 Documentation/devicetree/bindings/interrupts.txt 14 Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
15- regulators: This is the list of child nodes that specify the regulator 15- regulators: This is the list of child nodes that specify the regulator
16 initialization data for defined regulators. Not all regulators for the given 16 initialization data for defined regulators. Not all regulators for the given
17 device need to be present. The definition for each of these nodes is defined 17 device need to be present. The definition for each of these nodes is defined
diff --git a/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt b/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt
index 68ba37295565..fabdf64a5737 100644
--- a/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt
+++ b/Documentation/devicetree/bindings/misc/allwinner,sunxi-sid.txt
@@ -1,12 +1,12 @@
1Allwinner sunxi-sid 1Allwinner sunxi-sid
2 2
3Required properties: 3Required properties:
4- compatible: "allwinner,sun4i-sid" or "allwinner,sun7i-a20-sid". 4- compatible: "allwinner,sun4i-a10-sid" or "allwinner,sun7i-a20-sid"
5- reg: Should contain registers location and length 5- reg: Should contain registers location and length
6 6
7Example for sun4i: 7Example for sun4i:
8 sid@01c23800 { 8 sid@01c23800 {
9 compatible = "allwinner,sun4i-sid"; 9 compatible = "allwinner,sun4i-a10-sid";
10 reg = <0x01c23800 0x10> 10 reg = <0x01c23800 0x10>
11 }; 11 };
12 12
diff --git a/Documentation/devicetree/bindings/misc/atmel-ssc.txt b/Documentation/devicetree/bindings/misc/atmel-ssc.txt
index 60960b2755f4..efc98ea1f23d 100644
--- a/Documentation/devicetree/bindings/misc/atmel-ssc.txt
+++ b/Documentation/devicetree/bindings/misc/atmel-ssc.txt
@@ -17,6 +17,14 @@ Required properties for devices compatible with "atmel,at91sam9g45-ssc":
17 See Documentation/devicetree/bindings/dma/atmel-dma.txt for details. 17 See Documentation/devicetree/bindings/dma/atmel-dma.txt for details.
18- dma-names: Must be "tx", "rx". 18- dma-names: Must be "tx", "rx".
19 19
20Optional properties:
21 - atmel,clk-from-rk-pin: bool property.
22 - When SSC works in slave mode, according to the hardware design, the
23 clock can get from TK pin, and also can get from RK pin. So, add
24 this parameter to choose where the clock from.
25 - By default the clock is from TK pin, if the clock from RK pin, this
26 property is needed.
27
20Examples: 28Examples:
21- PDC transfer: 29- PDC transfer:
22ssc0: ssc@fffbc000 { 30ssc0: ssc@fffbc000 {
diff --git a/Documentation/devicetree/bindings/misc/sram.txt b/Documentation/devicetree/bindings/misc/sram.txt
index 4d0a00e453a8..36cbe5aea990 100644
--- a/Documentation/devicetree/bindings/misc/sram.txt
+++ b/Documentation/devicetree/bindings/misc/sram.txt
@@ -8,9 +8,44 @@ Required properties:
8 8
9- reg : SRAM iomem address range 9- reg : SRAM iomem address range
10 10
11Reserving sram areas:
12---------------------
13
14Each child of the sram node specifies a region of reserved memory. Each
15child node should use a 'reg' property to specify a specific range of
16reserved memory.
17
18Following the generic-names recommended practice, node names should
19reflect the purpose of the node. Unit address (@<address>) should be
20appended to the name.
21
22Required properties in the sram node:
23
24- #address-cells, #size-cells : should use the same values as the root node
25- ranges : standard definition, should translate from local addresses
26 within the sram to bus addresses
27
28Required properties in the area nodes:
29
30- reg : iomem address range, relative to the SRAM range
31
32Optional properties in the area nodes:
33
34- compatible : standard definition, should contain a vendor specific string
35 in the form <vendor>,[<device>-]<usage>
36
11Example: 37Example:
12 38
13sram: sram@5c000000 { 39sram: sram@5c000000 {
14 compatible = "mmio-sram"; 40 compatible = "mmio-sram";
15 reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */ 41 reg = <0x5c000000 0x40000>; /* 256 KiB SRAM at address 0x5c000000 */
42
43 #adress-cells = <1>;
44 #size-cells = <1>;
45 ranges = <0 0x5c000000 0x40000>;
46
47 smp-sram@100 {
48 compatible = "socvendor,smp-sram";
49 reg = <0x100 0x50>;
50 };
16}; 51};
diff --git a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt
index 0a85c70cd30a..07ad02075a93 100644
--- a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt
+++ b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt
@@ -13,6 +13,9 @@ Required properties:
13- #address-cells: should be one. The cell is the slot id. 13- #address-cells: should be one. The cell is the slot id.
14- #size-cells: should be zero. 14- #size-cells: should be zero.
15- at least one slot node 15- at least one slot node
16- clock-names: tuple listing input clock names.
17 Required elements: "mci_clk"
18- clocks: phandles to input clocks.
16 19
17The node contains child nodes for each slot that the platform uses 20The node contains child nodes for each slot that the platform uses
18 21
@@ -24,6 +27,8 @@ mmc0: mmc@f0008000 {
24 interrupts = <12 4>; 27 interrupts = <12 4>;
25 #address-cells = <1>; 28 #address-cells = <1>;
26 #size-cells = <0>; 29 #size-cells = <0>;
30 clock-names = "mci_clk";
31 clocks = <&mci0_clk>;
27 32
28 [ child node definitions...] 33 [ child node definitions...]
29}; 34};
diff --git a/Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt b/Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt
new file mode 100644
index 000000000000..4897bea7e3f8
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/socfpga-dw-mshc.txt
@@ -0,0 +1,23 @@
1* Altera SOCFPGA specific extensions to the Synopsys Designware Mobile
2 Storage Host Controller
3
4The Synopsys designware mobile storage host controller is used to interface
5a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
6differences between the core Synopsys dw mshc controller properties described
7by synopsys-dw-mshc.txt and the properties used by the Altera SOCFPGA specific
8extensions to the Synopsys Designware Mobile Storage Host Controller.
9
10Required Properties:
11
12* compatible: should be
13 - "altr,socfpga-dw-mshc": for Altera's SOCFPGA platform
14
15Example:
16
17 mmc: dwmmc0@ff704000 {
18 compatible = "altr,socfpga-dw-mshc";
19 reg = <0xff704000 0x1000>;
20 interrupts = <0 129 4>;
21 #address-cells = <1>;
22 #size-cells = <0>;
23 };
diff --git a/Documentation/devicetree/bindings/mtd/nand.txt b/Documentation/devicetree/bindings/mtd/nand.txt
index 03855c8c492a..b53f92e252d4 100644
--- a/Documentation/devicetree/bindings/mtd/nand.txt
+++ b/Documentation/devicetree/bindings/mtd/nand.txt
@@ -5,3 +5,17 @@
5 "soft_bch". 5 "soft_bch".
6- nand-bus-width : 8 or 16 bus width if not present 8 6- nand-bus-width : 8 or 16 bus width if not present 8
7- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false 7- nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
8
9- nand-ecc-strength: integer representing the number of bits to correct
10 per ECC step.
11
12- nand-ecc-step-size: integer representing the number of data bytes
13 that are covered by a single ECC step.
14
15The ECC strength and ECC step size properties define the correction capability
16of a controller. Together, they say a controller can correct "{strength} bit
17errors per {size} bytes".
18
19The interpretation of these parameters is implementation-defined, so not all
20implementations must support all possible combinations. However, implementations
21are encouraged to further specify the value(s) they support.
diff --git a/Documentation/devicetree/bindings/mtd/st-fsm.txt b/Documentation/devicetree/bindings/mtd/st-fsm.txt
new file mode 100644
index 000000000000..c2489391c437
--- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/st-fsm.txt
@@ -0,0 +1,26 @@
1* ST-Microelectronics SPI FSM Serial (NOR) Flash Controller
2
3Required properties:
4 - compatible : Should be "st,spi-fsm"
5 - reg : Contains register's location and length.
6 - reg-names : Should contain the reg names "spi-fsm"
7 - interrupts : The interrupt number
8 - pinctrl-0 : Standard Pinctrl phandle (see: pinctrl/pinctrl-bindings.txt)
9
10Optional properties:
11 - st,syscfg : Phandle to boot-device system configuration registers
12 - st,boot-device-reg : Address of the aforementioned boot-device register(s)
13 - st,boot-device-spi : Expected boot-device value if booted via this device
14
15Example:
16 spifsm: spifsm@fe902000{
17 compatible = "st,spi-fsm";
18 reg = <0xfe902000 0x1000>;
19 reg-names = "spi-fsm";
20 pinctrl-0 = <&pinctrl_fsm>;
21 st,syscfg = <&syscfg_rear>;
22 st,boot-device-reg = <0x958>;
23 st,boot-device-spi = <0x1a>;
24 status = "okay";
25 };
26
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt b/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt
index b90bfcd138ff..10640b17c866 100644
--- a/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt
+++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt
@@ -1,20 +1,17 @@
1* Allwinner EMAC ethernet controller 1* Allwinner EMAC ethernet controller
2 2
3Required properties: 3Required properties:
4- compatible: should be "allwinner,sun4i-emac". 4- compatible: should be "allwinner,sun4i-a10-emac" (Deprecated:
5 "allwinner,sun4i-emac")
5- reg: address and length of the register set for the device. 6- reg: address and length of the register set for the device.
6- interrupts: interrupt for the device 7- interrupts: interrupt for the device
7- phy: A phandle to a phy node defining the PHY address (as the reg 8- phy: see ethernet.txt file in the same directory.
8 property, a single integer).
9- clocks: A phandle to the reference clock for this device 9- clocks: A phandle to the reference clock for this device
10 10
11Optional properties:
12- (local-)mac-address: mac address to be used by this driver
13
14Example: 11Example:
15 12
16emac: ethernet@01c0b000 { 13emac: ethernet@01c0b000 {
17 compatible = "allwinner,sun4i-emac"; 14 compatible = "allwinner,sun4i-a10-emac";
18 reg = <0x01c0b000 0x1000>; 15 reg = <0x01c0b000 0x1000>;
19 interrupts = <55>; 16 interrupts = <55>;
20 clocks = <&ahb_gates 17>; 17 clocks = <&ahb_gates 17>;
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt b/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt
index 00b9f9a3ec1d..4ec56413779d 100644
--- a/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt
+++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt
@@ -1,7 +1,8 @@
1* Allwinner A10 MDIO Ethernet Controller interface 1* Allwinner A10 MDIO Ethernet Controller interface
2 2
3Required properties: 3Required properties:
4- compatible: should be "allwinner,sun4i-mdio". 4- compatible: should be "allwinner,sun4i-a10-mdio"
5 (Deprecated: "allwinner,sun4i-mdio").
5- reg: address and length of the register set for the device. 6- reg: address and length of the register set for the device.
6 7
7Optional properties: 8Optional properties:
@@ -9,7 +10,7 @@ Optional properties:
9 10
10Example at the SoC level: 11Example at the SoC level:
11mdio@01c0b080 { 12mdio@01c0b080 {
12 compatible = "allwinner,sun4i-mdio"; 13 compatible = "allwinner,sun4i-a10-mdio";
13 reg = <0x01c0b080 0x14>; 14 reg = <0x01c0b080 0x14>;
14 #address-cells = <1>; 15 #address-cells = <1>;
15 #size-cells = <0>; 16 #size-cells = <0>;
diff --git a/Documentation/devicetree/bindings/net/altera_tse.txt b/Documentation/devicetree/bindings/net/altera_tse.txt
new file mode 100644
index 000000000000..a706297998e9
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/altera_tse.txt
@@ -0,0 +1,114 @@
1* Altera Triple-Speed Ethernet MAC driver (TSE)
2
3Required properties:
4- compatible: Should be "altr,tse-1.0" for legacy SGDMA based TSE, and should
5 be "altr,tse-msgdma-1.0" for the preferred MSGDMA based TSE.
6 ALTR is supported for legacy device trees, but is deprecated.
7 altr should be used for all new designs.
8- reg: Address and length of the register set for the device. It contains
9 the information of registers in the same order as described by reg-names
10- reg-names: Should contain the reg names
11 "control_port": MAC configuration space region
12 "tx_csr": xDMA Tx dispatcher control and status space region
13 "tx_desc": MSGDMA Tx dispatcher descriptor space region
14 "rx_csr" : xDMA Rx dispatcher control and status space region
15 "rx_desc": MSGDMA Rx dispatcher descriptor space region
16 "rx_resp": MSGDMA Rx dispatcher response space region
17 "s1": SGDMA descriptor memory
18- interrupts: Should contain the TSE interrupts and it's mode.
19- interrupt-names: Should contain the interrupt names
20 "rx_irq": xDMA Rx dispatcher interrupt
21 "tx_irq": xDMA Tx dispatcher interrupt
22- rx-fifo-depth: MAC receive FIFO buffer depth in bytes
23- tx-fifo-depth: MAC transmit FIFO buffer depth in bytes
24- phy-mode: See ethernet.txt in the same directory.
25- phy-handle: See ethernet.txt in the same directory.
26- phy-addr: See ethernet.txt in the same directory. A configuration should
27 include phy-handle or phy-addr.
28- altr,has-supplementary-unicast:
29 If present, TSE supports additional unicast addresses.
30 Otherwise additional unicast addresses are not supported.
31- altr,has-hash-multicast-filter:
32 If present, TSE supports a hash based multicast filter.
33 Otherwise, hash-based multicast filtering is not supported.
34
35- mdio device tree subnode: When the TSE has a phy connected to its local
36 mdio, there must be device tree subnode with the following
37 required properties:
38
39 - compatible: Must be "altr,tse-mdio".
40 - #address-cells: Must be <1>.
41 - #size-cells: Must be <0>.
42
43 For each phy on the mdio bus, there must be a node with the following
44 fields:
45
46 - reg: phy id used to communicate to phy.
47 - device_type: Must be "ethernet-phy".
48
49Optional properties:
50- local-mac-address: See ethernet.txt in the same directory.
51- max-frame-size: See ethernet.txt in the same directory.
52
53Example:
54
55 tse_sub_0_eth_tse_0: ethernet@0x1,00000000 {
56 compatible = "altr,tse-msgdma-1.0";
57 reg = <0x00000001 0x00000000 0x00000400>,
58 <0x00000001 0x00000460 0x00000020>,
59 <0x00000001 0x00000480 0x00000020>,
60 <0x00000001 0x000004A0 0x00000008>,
61 <0x00000001 0x00000400 0x00000020>,
62 <0x00000001 0x00000420 0x00000020>;
63 reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc";
64 interrupt-parent = <&hps_0_arm_gic_0>;
65 interrupts = <0 41 4>, <0 40 4>;
66 interrupt-names = "rx_irq", "tx_irq";
67 rx-fifo-depth = <2048>;
68 tx-fifo-depth = <2048>;
69 address-bits = <48>;
70 max-frame-size = <1500>;
71 local-mac-address = [ 00 00 00 00 00 00 ];
72 phy-mode = "gmii";
73 altr,has-supplementary-unicast;
74 altr,has-hash-multicast-filter;
75 phy-handle = <&phy0>;
76 mdio {
77 compatible = "altr,tse-mdio";
78 #address-cells = <1>;
79 #size-cells = <0>;
80 phy0: ethernet-phy@0 {
81 reg = <0x0>;
82 device_type = "ethernet-phy";
83 };
84
85 phy1: ethernet-phy@1 {
86 reg = <0x1>;
87 device_type = "ethernet-phy";
88 };
89
90 };
91 };
92
93 tse_sub_1_eth_tse_0: ethernet@0x1,00001000 {
94 compatible = "altr,tse-msgdma-1.0";
95 reg = <0x00000001 0x00001000 0x00000400>,
96 <0x00000001 0x00001460 0x00000020>,
97 <0x00000001 0x00001480 0x00000020>,
98 <0x00000001 0x000014A0 0x00000008>,
99 <0x00000001 0x00001400 0x00000020>,
100 <0x00000001 0x00001420 0x00000020>;
101 reg-names = "control_port", "rx_csr", "rx_desc", "rx_resp", "tx_csr", "tx_desc";
102 interrupt-parent = <&hps_0_arm_gic_0>;
103 interrupts = <0 43 4>, <0 42 4>;
104 interrupt-names = "rx_irq", "tx_irq";
105 rx-fifo-depth = <2048>;
106 tx-fifo-depth = <2048>;
107 address-bits = <48>;
108 max-frame-size = <1500>;
109 local-mac-address = [ 00 00 00 00 00 00 ];
110 phy-mode = "gmii";
111 altr,has-supplementary-unicast;
112 altr,has-hash-multicast-filter;
113 phy-handle = <&phy1>;
114 };
diff --git a/Documentation/devicetree/bindings/net/arc_emac.txt b/Documentation/devicetree/bindings/net/arc_emac.txt
index bcbc3f009158..7fbb027218a1 100644
--- a/Documentation/devicetree/bindings/net/arc_emac.txt
+++ b/Documentation/devicetree/bindings/net/arc_emac.txt
@@ -6,19 +6,12 @@ Required properties:
6- interrupts: Should contain the EMAC interrupts 6- interrupts: Should contain the EMAC interrupts
7- clock-frequency: CPU frequency. It is needed to calculate and set polling 7- clock-frequency: CPU frequency. It is needed to calculate and set polling
8period of EMAC. 8period of EMAC.
9- max-speed: Maximum supported data-rate in Mbit/s. In some HW configurations 9- max-speed: see ethernet.txt file in the same directory.
10bandwidth of external memory controller might be a limiting factor. That's why 10- phy: see ethernet.txt file in the same directory.
11it's required to specify which data-rate is supported on current SoC or FPGA.
12For example if only 10 Mbit/s is supported (10BASE-T) set "10". If 100 Mbit/s is
13supported (100BASE-TX) set "100".
14- phy: PHY device attached to the EMAC via MDIO bus
15 11
16Child nodes of the driver are the individual PHY devices connected to the 12Child nodes of the driver are the individual PHY devices connected to the
17MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus. 13MDIO bus. They must have a "reg" property given the PHY address on the MDIO bus.
18 14
19Optional properties:
20- mac-address: 6 bytes, mac address
21
22Examples: 15Examples:
23 16
24 ethernet@c0fc2000 { 17 ethernet@c0fc2000 {
diff --git a/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt b/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt
new file mode 100644
index 000000000000..f2febb94550e
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/broadcom-bcmgenet.txt
@@ -0,0 +1,121 @@
1* Broadcom BCM7xxx Ethernet Controller (GENET)
2
3Required properties:
4- compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2",
5 "brcm,genet-v3", "brcm,genet-v4".
6- reg: address and length of the register set for the device
7- interrupts: must be two cells, the first cell is the general purpose
8 interrupt line, while the second cell is the interrupt for the ring
9 RX and TX queues operating in ring mode
10- phy-mode: see ethernet.txt file in the same directory
11- #address-cells: should be 1
12- #size-cells: should be 1
13
14Optional properties:
15- clocks: When provided, must be two phandles to the functional clocks nodes
16 of the GENET block. The first phandle is the main GENET clock used during
17 normal operation, while the second phandle is the Wake-on-LAN clock.
18- clock-names: When provided, names of the functional clock phandles, first
19 name should be "enet" and second should be "enet-wol".
20
21- phy-handle: See ethernet.txt file in the same directory; used to describe
22 configurations where a PHY (internal or external) is used.
23
24- fixed-link: When the GENET interface is connected to a MoCA hardware block or
25 when operating in a RGMII to RGMII type of connection, or when the MDIO bus is
26 voluntarily disabled, this property should be used to describe the "fixed link".
27 See Documentation/devicetree/bindings/net/fsl-tsec-phy.txt for information on
28 the property specifics
29
30Required child nodes:
31
32- mdio bus node: this node should always be present regarless of the PHY
33 configuration of the GENET instance
34
35MDIO bus node required properties:
36
37- compatible: should contain one of "brcm,genet-mdio-v1", "brcm,genet-mdio-v2"
38 "brcm,genet-mdio-v3", "brcm,genet-mdio-v4", the version has to match the
39 parent node compatible property (e.g: brcm,genet-v4 pairs with
40 brcm,genet-mdio-v4)
41- reg: address and length relative to the parent node base register address
42- #address-cells: address cell for MDIO bus addressing, should be 1
43- #size-cells: size of the cells for MDIO bus addressing, should be 0
44
45Ethernet PHY node properties:
46
47See Documentation/devicetree/bindings/net/phy.txt for the list of required and
48optional properties.
49
50Internal Gigabit PHY example:
51
52ethernet@f0b60000 {
53 phy-mode = "internal";
54 phy-handle = <&phy1>;
55 mac-address = [ 00 10 18 36 23 1a ];
56 compatible = "brcm,genet-v4";
57 #address-cells = <0x1>;
58 #size-cells = <0x1>;
59 reg = <0xf0b60000 0xfc4c>;
60 interrupts = <0x0 0x14 0x0>, <0x0 0x15 0x0>;
61
62 mdio@e14 {
63 compatible = "brcm,genet-mdio-v4";
64 #address-cells = <0x1>;
65 #size-cells = <0x0>;
66 reg = <0xe14 0x8>;
67
68 phy1: ethernet-phy@1 {
69 max-speed = <1000>;
70 reg = <0x1>;
71 compatible = "brcm,28nm-gphy", "ethernet-phy-ieee802.3-c22";
72 };
73 };
74};
75
76MoCA interface / MAC to MAC example:
77
78ethernet@f0b80000 {
79 phy-mode = "moca";
80 fixed-link = <1 0 1000 0 0>;
81 mac-address = [ 00 10 18 36 24 1a ];
82 compatible = "brcm,genet-v4";
83 #address-cells = <0x1>;
84 #size-cells = <0x1>;
85 reg = <0xf0b80000 0xfc4c>;
86 interrupts = <0x0 0x16 0x0>, <0x0 0x17 0x0>;
87
88 mdio@e14 {
89 compatible = "brcm,genet-mdio-v4";
90 #address-cells = <0x1>;
91 #size-cells = <0x0>;
92 reg = <0xe14 0x8>;
93 };
94};
95
96
97External MDIO-connected Gigabit PHY/switch:
98
99ethernet@f0ba0000 {
100 phy-mode = "rgmii";
101 phy-handle = <&phy0>;
102 mac-address = [ 00 10 18 36 26 1a ];
103 compatible = "brcm,genet-v4";
104 #address-cells = <0x1>;
105 #size-cells = <0x1>;
106 reg = <0xf0ba0000 0xfc4c>;
107 interrupts = <0x0 0x18 0x0>, <0x0 0x19 0x0>;
108
109 mdio@0e14 {
110 compatible = "brcm,genet-mdio-v4";
111 #address-cells = <0x1>;
112 #size-cells = <0x0>;
113 reg = <0xe14 0x8>;
114
115 phy0: ethernet-phy@0 {
116 max-speed = <1000>;
117 reg = <0x0>;
118 compatible = "brcm,bcm53125", "ethernet-phy-ieee802.3-c22";
119 };
120 };
121};
diff --git a/Documentation/devicetree/bindings/net/can/sja1000.txt b/Documentation/devicetree/bindings/net/can/sja1000.txt
index f2105a47ec87..b4a6d53fb01a 100644
--- a/Documentation/devicetree/bindings/net/can/sja1000.txt
+++ b/Documentation/devicetree/bindings/net/can/sja1000.txt
@@ -12,6 +12,10 @@ Required properties:
12 12
13Optional properties: 13Optional properties:
14 14
15- reg-io-width : Specify the size (in bytes) of the IO accesses that
16 should be performed on the device. Valid value is 1, 2 or 4.
17 Default to 1 (8 bits).
18
15- nxp,external-clock-frequency : Frequency of the external oscillator 19- nxp,external-clock-frequency : Frequency of the external oscillator
16 clock in Hz. Note that the internal clock frequency used by the 20 clock in Hz. Note that the internal clock frequency used by the
17 SJA1000 is half of that value. If not specified, a default value 21 SJA1000 is half of that value. If not specified, a default value
diff --git a/Documentation/devicetree/bindings/net/cavium-mix.txt b/Documentation/devicetree/bindings/net/cavium-mix.txt
index 5da628db68bf..8d7c3096390f 100644
--- a/Documentation/devicetree/bindings/net/cavium-mix.txt
+++ b/Documentation/devicetree/bindings/net/cavium-mix.txt
@@ -18,12 +18,7 @@ Properties:
18- interrupts: Two interrupt specifiers. The first is the MIX 18- interrupts: Two interrupt specifiers. The first is the MIX
19 interrupt routing and the second the routing for the AGL interrupts. 19 interrupt routing and the second the routing for the AGL interrupts.
20 20
21- mac-address: Optional, the MAC address to assign to the device. 21- phy-handle: Optional, see ethernet.txt file in the same directory.
22
23- local-mac-address: Optional, the MAC address to assign to the device
24 if mac-address is not specified.
25
26- phy-handle: Optional, a phandle for the PHY device connected to this device.
27 22
28Example: 23Example:
29 ethernet@1070000100800 { 24 ethernet@1070000100800 {
diff --git a/Documentation/devicetree/bindings/net/cavium-pip.txt b/Documentation/devicetree/bindings/net/cavium-pip.txt
index d4c53ba04b3b..7dbd158810d2 100644
--- a/Documentation/devicetree/bindings/net/cavium-pip.txt
+++ b/Documentation/devicetree/bindings/net/cavium-pip.txt
@@ -35,12 +35,7 @@ Properties for PIP port which is a child the PIP interface:
35 35
36- reg: The port number within the interface group. 36- reg: The port number within the interface group.
37 37
38- mac-address: Optional, the MAC address to assign to the device. 38- phy-handle: Optional, see ethernet.txt file in the same directory.
39
40- local-mac-address: Optional, the MAC address to assign to the device
41 if mac-address is not specified.
42
43- phy-handle: Optional, a phandle for the PHY device connected to this device.
44 39
45Example: 40Example:
46 41
diff --git a/Documentation/devicetree/bindings/net/cdns-emac.txt b/Documentation/devicetree/bindings/net/cdns-emac.txt
index 09055c2495f0..abd67c13d344 100644
--- a/Documentation/devicetree/bindings/net/cdns-emac.txt
+++ b/Documentation/devicetree/bindings/net/cdns-emac.txt
@@ -6,11 +6,7 @@ Required properties:
6 or the generic form: "cdns,emac". 6 or the generic form: "cdns,emac".
7- reg: Address and length of the register set for the device 7- reg: Address and length of the register set for the device
8- interrupts: Should contain macb interrupt 8- interrupts: Should contain macb interrupt
9- phy-mode: String, operation mode of the PHY interface. 9- phy-mode: see ethernet.txt file in the same directory.
10 Supported values are: "mii", "rmii".
11
12Optional properties:
13- local-mac-address: 6 bytes, mac address
14 10
15Examples: 11Examples:
16 12
diff --git a/Documentation/devicetree/bindings/net/cpsw.txt b/Documentation/devicetree/bindings/net/cpsw.txt
index 05d660e4ac64..ae2b8b7f9c38 100644
--- a/Documentation/devicetree/bindings/net/cpsw.txt
+++ b/Documentation/devicetree/bindings/net/cpsw.txt
@@ -28,9 +28,8 @@ Optional properties:
28Slave Properties: 28Slave Properties:
29Required properties: 29Required properties:
30- phy_id : Specifies slave phy id 30- phy_id : Specifies slave phy id
31- phy-mode : The interface between the SoC and the PHY (a string 31- phy-mode : See ethernet.txt file in the same directory
32 that of_get_phy_mode() can understand) 32- mac-address : See ethernet.txt file in the same directory
33- mac-address : Specifies slave MAC address
34 33
35Optional properties: 34Optional properties:
36- dual_emac_res_vlan : Specifies VID to be used to segregate the ports 35- dual_emac_res_vlan : Specifies VID to be used to segregate the ports
diff --git a/Documentation/devicetree/bindings/net/davicom-dm9000.txt b/Documentation/devicetree/bindings/net/davicom-dm9000.txt
index 2d39c990e641..28767ed7c1bd 100644
--- a/Documentation/devicetree/bindings/net/davicom-dm9000.txt
+++ b/Documentation/devicetree/bindings/net/davicom-dm9000.txt
@@ -9,8 +9,6 @@ Required properties:
9- interrupts : interrupt specifier specific to interrupt controller 9- interrupts : interrupt specifier specific to interrupt controller
10 10
11Optional properties: 11Optional properties:
12- local-mac-address : A bytestring of 6 bytes specifying Ethernet MAC address
13 to use (from firmware or bootloader)
14- davicom,no-eeprom : Configuration EEPROM is not available 12- davicom,no-eeprom : Configuration EEPROM is not available
15- davicom,ext-phy : Use external PHY 13- davicom,ext-phy : Use external PHY
16 14
diff --git a/Documentation/devicetree/bindings/net/davinci_emac.txt b/Documentation/devicetree/bindings/net/davinci_emac.txt
index 6e356d15154a..032808843f90 100644
--- a/Documentation/devicetree/bindings/net/davinci_emac.txt
+++ b/Documentation/devicetree/bindings/net/davinci_emac.txt
@@ -17,9 +17,8 @@ Required properties:
17 Miscellaneous Interrupt> 17 Miscellaneous Interrupt>
18 18
19Optional properties: 19Optional properties:
20- phy-handle: Contains a phandle to an Ethernet PHY. 20- phy-handle: See ethernet.txt file in the same directory.
21 If absent, davinci_emac driver defaults to 100/FULL. 21 If absent, davinci_emac driver defaults to 100/FULL.
22- local-mac-address : 6 bytes, mac address
23- ti,davinci-rmii-en: 1 byte, 1 means use RMII 22- ti,davinci-rmii-en: 1 byte, 1 means use RMII
24- ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM? 23- ti,davinci-no-bd-ram: boolean, does EMAC have BD RAM?
25 24
diff --git a/Documentation/devicetree/bindings/net/ethernet.txt b/Documentation/devicetree/bindings/net/ethernet.txt
new file mode 100644
index 000000000000..9ecd43d8792c
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/ethernet.txt
@@ -0,0 +1,25 @@
1The following properties are common to the Ethernet controllers:
2
3- local-mac-address: array of 6 bytes, specifies the MAC address that was
4 assigned to the network device;
5- mac-address: array of 6 bytes, specifies the MAC address that was last used by
6 the boot program; should be used in cases where the MAC address assigned to
7 the device by the boot program is different from the "local-mac-address"
8 property;
9- max-speed: number, specifies maximum speed in Mbit/s supported by the device;
10- max-frame-size: number, maximum transfer unit (IEEE defined MTU), rather than
11 the maximum frame size (there's contradiction in ePAPR).
12- phy-mode: string, operation mode of the PHY interface; supported values are
13 "mii", "gmii", "sgmii", "tbi", "rev-mii", "rmii", "rgmii", "rgmii-id",
14 "rgmii-rxid", "rgmii-txid", "rtbi", "smii", "xgmii"; this is now a de-facto
15 standard property;
16- phy-connection-type: the same as "phy-mode" property but described in ePAPR;
17- phy-handle: phandle, specifies a reference to a node representing a PHY
18 device; this property is described in ePAPR and so preferred;
19- phy: the same as "phy-handle" property, not recommended for new bindings.
20- phy-device: the same as "phy-handle" property, not recommended for new
21 bindings.
22
23Child nodes of the Ethernet controller are typically the individual PHY devices
24connected via the MDIO bus (sometimes the MDIO bus controller is separate).
25They are described in the phy.txt file in this same directory.
diff --git a/Documentation/devicetree/bindings/net/fsl-fec.txt b/Documentation/devicetree/bindings/net/fsl-fec.txt
index 845ff848d895..6bc84adb10c0 100644
--- a/Documentation/devicetree/bindings/net/fsl-fec.txt
+++ b/Documentation/devicetree/bindings/net/fsl-fec.txt
@@ -4,12 +4,9 @@ Required properties:
4- compatible : Should be "fsl,<soc>-fec" 4- compatible : Should be "fsl,<soc>-fec"
5- reg : Address and length of the register set for the device 5- reg : Address and length of the register set for the device
6- interrupts : Should contain fec interrupt 6- interrupts : Should contain fec interrupt
7- phy-mode : String, operation mode of the PHY interface. 7- phy-mode : See ethernet.txt file in the same directory
8 Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
9 "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
10 8
11Optional properties: 9Optional properties:
12- local-mac-address : 6 bytes, mac address
13- phy-reset-gpios : Should specify the gpio for phy reset 10- phy-reset-gpios : Should specify the gpio for phy reset
14- phy-reset-duration : Reset duration in milliseconds. Should present 11- phy-reset-duration : Reset duration in milliseconds. Should present
15 only if property "phy-reset-gpios" is available. Missing the property 12 only if property "phy-reset-gpios" is available. Missing the property
diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
index d2ea4605d078..737cdef4f903 100644
--- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
+++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
@@ -38,22 +38,17 @@ Properties:
38 - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC" 38 - model : Model of the device. Can be "TSEC", "eTSEC", or "FEC"
39 - compatible : Should be "gianfar" 39 - compatible : Should be "gianfar"
40 - reg : Offset and length of the register set for the device 40 - reg : Offset and length of the register set for the device
41 - local-mac-address : List of bytes representing the ethernet address of
42 this controller
43 - interrupts : For FEC devices, the first interrupt is the device's 41 - interrupts : For FEC devices, the first interrupt is the device's
44 interrupt. For TSEC and eTSEC devices, the first interrupt is 42 interrupt. For TSEC and eTSEC devices, the first interrupt is
45 transmit, the second is receive, and the third is error. 43 transmit, the second is receive, and the third is error.
46 - phy-handle : The phandle for the PHY connected to this ethernet 44 - phy-handle : See ethernet.txt file in the same directory.
47 controller.
48 - fixed-link : <a b c d e> where a is emulated phy id - choose any, 45 - fixed-link : <a b c d e> where a is emulated phy id - choose any,
49 but unique to the all specified fixed-links, b is duplex - 0 half, 46 but unique to the all specified fixed-links, b is duplex - 0 half,
50 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no 47 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no
51 pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause. 48 pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause.
52 - phy-connection-type : a string naming the controller/PHY interface type, 49 - phy-connection-type : See ethernet.txt file in the same directory.
53 i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii", 50 This property is only really needed if the connection is of type
54 "tbi", or "rtbi". This property is only really needed if the connection 51 "rgmii-id", as all other connection types are detected by hardware.
55 is of type "rgmii-id", as all other connection types are detected by
56 hardware.
57 - fsl,magic-packet : If present, indicates that the hardware supports 52 - fsl,magic-packet : If present, indicates that the hardware supports
58 waking up via magic packet. 53 waking up via magic packet.
59 - bd-stash : If present, indicates that the hardware supports stashing 54 - bd-stash : If present, indicates that the hardware supports stashing
diff --git a/Documentation/devicetree/bindings/net/lpc-eth.txt b/Documentation/devicetree/bindings/net/lpc-eth.txt
index 585021acd178..b92e927808b6 100644
--- a/Documentation/devicetree/bindings/net/lpc-eth.txt
+++ b/Documentation/devicetree/bindings/net/lpc-eth.txt
@@ -6,10 +6,9 @@ Required properties:
6- interrupts: Should contain ethernet controller interrupt 6- interrupts: Should contain ethernet controller interrupt
7 7
8Optional properties: 8Optional properties:
9- phy-mode: String, operation mode of the PHY interface. 9- phy-mode: See ethernet.txt file in the same directory. If the property is
10 Supported values are: "mii", "rmii" (default) 10 absent, "rmii" is assumed.
11- use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering 11- use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering
12- local-mac-address : 6 bytes, mac address
13 12
14Example: 13Example:
15 14
diff --git a/Documentation/devicetree/bindings/net/macb.txt b/Documentation/devicetree/bindings/net/macb.txt
index 70af2ec12b09..aaa696414f57 100644
--- a/Documentation/devicetree/bindings/net/macb.txt
+++ b/Documentation/devicetree/bindings/net/macb.txt
@@ -8,16 +8,12 @@ Required properties:
8 the Cadence GEM, or the generic form: "cdns,gem". 8 the Cadence GEM, or the generic form: "cdns,gem".
9- reg: Address and length of the register set for the device 9- reg: Address and length of the register set for the device
10- interrupts: Should contain macb interrupt 10- interrupts: Should contain macb interrupt
11- phy-mode: String, operation mode of the PHY interface. 11- phy-mode: See ethernet.txt file in the same directory.
12 Supported values are: "mii", "rmii", "gmii", "rgmii".
13- clock-names: Tuple listing input clock names. 12- clock-names: Tuple listing input clock names.
14 Required elements: 'pclk', 'hclk' 13 Required elements: 'pclk', 'hclk'
15 Optional elements: 'tx_clk' 14 Optional elements: 'tx_clk'
16- clocks: Phandles to input clocks. 15- clocks: Phandles to input clocks.
17 16
18Optional properties:
19- local-mac-address: 6 bytes, mac address
20
21Examples: 17Examples:
22 18
23 macb0: ethernet@fffc4000 { 19 macb0: ethernet@fffc4000 {
diff --git a/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt b/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt
index 859a6fa7569c..750d577e8083 100644
--- a/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt
+++ b/Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt
@@ -4,10 +4,8 @@ Required properties:
4- compatible: should be "marvell,armada-370-neta". 4- compatible: should be "marvell,armada-370-neta".
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: interrupt for the device 6- interrupts: interrupt for the device
7- phy: A phandle to a phy node defining the PHY address (as the reg 7- phy: See ethernet.txt file in the same directory.
8 property, a single integer). 8- phy-mode: See ethernet.txt file in the same directory
9- phy-mode: The interface between the SoC and the PHY (a string that
10 of_get_phy_mode() can understand)
11- clocks: a pointer to the reference clock for this device. 9- clocks: a pointer to the reference clock for this device.
12 10
13Example: 11Example:
diff --git a/Documentation/devicetree/bindings/net/marvell-orion-net.txt b/Documentation/devicetree/bindings/net/marvell-orion-net.txt
index c233b6114242..bce52b2ec55e 100644
--- a/Documentation/devicetree/bindings/net/marvell-orion-net.txt
+++ b/Documentation/devicetree/bindings/net/marvell-orion-net.txt
@@ -36,7 +36,7 @@ Required port properties:
36 "marvell,kirkwood-eth-port". 36 "marvell,kirkwood-eth-port".
37 - reg: port number relative to ethernet controller, shall be 0, 1, or 2. 37 - reg: port number relative to ethernet controller, shall be 0, 1, or 2.
38 - interrupts: port interrupt. 38 - interrupts: port interrupt.
39 - local-mac-address: 6 bytes MAC address. 39 - local-mac-address: See ethernet.txt file in the same directory.
40 40
41Optional port properties: 41Optional port properties:
42 - marvell,tx-queue-size: size of the transmit ring buffer. 42 - marvell,tx-queue-size: size of the transmit ring buffer.
@@ -48,7 +48,7 @@ Optional port properties:
48 48
49and 49and
50 50
51 - phy-handle: phandle reference to ethernet PHY. 51 - phy-handle: See ethernet.txt file in the same directory.
52 52
53or 53or
54 54
diff --git a/Documentation/devicetree/bindings/net/micrel-ks8851.txt b/Documentation/devicetree/bindings/net/micrel-ks8851.txt
index 11ace3c3d805..d54d0cc79487 100644
--- a/Documentation/devicetree/bindings/net/micrel-ks8851.txt
+++ b/Documentation/devicetree/bindings/net/micrel-ks8851.txt
@@ -6,4 +6,4 @@ Required properties:
6- interrupts : interrupt connection 6- interrupts : interrupt connection
7 7
8Optional properties: 8Optional properties:
9- local-mac-address : Ethernet mac address to use 9- vdd-supply: supply for Ethernet mac
diff --git a/Documentation/devicetree/bindings/net/micrel.txt b/Documentation/devicetree/bindings/net/micrel.txt
new file mode 100644
index 000000000000..98a3e61f9ee8
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/micrel.txt
@@ -0,0 +1,18 @@
1Micrel PHY properties.
2
3These properties cover the base properties Micrel PHYs.
4
5Optional properties:
6
7 - micrel,led-mode : LED mode value to set for PHYs with configurable LEDs.
8
9 Configure the LED mode with single value. The list of PHYs and
10 the bits that are currently supported:
11
12 KSZ8001: register 0x1e, bits 15..14
13 KSZ8041: register 0x1e, bits 15..14
14 KSZ8021: register 0x1f, bits 5..4
15 KSZ8031: register 0x1f, bits 5..4
16 KSZ8051: register 0x1f, bits 5..4
17
18 See the respective PHY datasheet for the mode values.
diff --git a/Documentation/devicetree/bindings/net/nfc/trf7970a.txt b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt
new file mode 100644
index 000000000000..8dd3ef7bc56b
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/nfc/trf7970a.txt
@@ -0,0 +1,34 @@
1* Texas Instruments TRF7970A RFID/NFC/15693 Transceiver
2
3Required properties:
4- compatible: Should be "ti,trf7970a".
5- spi-max-frequency: Maximum SPI frequency (<= 2000000).
6- interrupt-parent: phandle of parent interrupt handler.
7- interrupts: A single interrupt specifier.
8- ti,enable-gpios: Two GPIO entries used for 'EN' and 'EN2' pins on the
9 TRF7970A.
10- vin-supply: Regulator for supply voltage to VIN pin
11
12Optional SoC Specific Properties:
13- pinctrl-names: Contains only one value - "default".
14- pintctrl-0: Specifies the pin control groups used for this controller.
15
16Example (for ARM-based BeagleBone with TRF7970A on SPI1):
17
18&spi1 {
19 status = "okay";
20
21 nfc@0 {
22 compatible = "ti,trf7970a";
23 reg = <0>;
24 pinctrl-names = "default";
25 pinctrl-0 = <&trf7970a_default>;
26 spi-max-frequency = <2000000>;
27 interrupt-parent = <&gpio2>;
28 interrupts = <14 0>;
29 ti,enable-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>,
30 <&gpio2 5 GPIO_ACTIVE_LOW>;
31 vin-supply = <&ldo3_reg>;
32 status = "okay";
33 };
34};
diff --git a/Documentation/devicetree/bindings/net/opencores-ethoc.txt b/Documentation/devicetree/bindings/net/opencores-ethoc.txt
new file mode 100644
index 000000000000..2dc127c30d9b
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/opencores-ethoc.txt
@@ -0,0 +1,22 @@
1* OpenCores MAC 10/100 Mbps
2
3Required properties:
4- compatible: Should be "opencores,ethoc".
5- reg: two memory regions (address and length),
6 first region is for the device registers and descriptor rings,
7 second is for the device packet memory.
8- interrupts: interrupt for the device.
9
10Optional properties:
11- clocks: phandle to refer to the clk used as per
12 Documentation/devicetree/bindings/clock/clock-bindings.txt
13
14Examples:
15
16 enet0: ethoc@fd030000 {
17 compatible = "opencores,ethoc";
18 reg = <0xfd030000 0x4000 0xfd800000 0x4000>;
19 interrupts = <1>;
20 local-mac-address = [00 50 c2 13 6f 00];
21 clocks = <&osc>;
22 };
diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
index 58307d0931c8..5b8c58903077 100644
--- a/Documentation/devicetree/bindings/net/phy.txt
+++ b/Documentation/devicetree/bindings/net/phy.txt
@@ -21,10 +21,18 @@ Optional Properties:
21 elements. 21 elements.
22- max-speed: Maximum PHY supported speed (10, 100, 1000...) 22- max-speed: Maximum PHY supported speed (10, 100, 1000...)
23 23
24 If the phy's identifier is known then the list may contain an entry
25 of the form: "ethernet-phy-idAAAA.BBBB" where
26 AAAA - The value of the 16 bit Phy Identifier 1 register as
27 4 hex digits. This is the chip vendor OUI bits 3:18
28 BBBB - The value of the 16 bit Phy Identifier 2 register as
29 4 hex digits. This is the chip vendor OUI bits 19:24,
30 followed by 10 bits of a vendor specific ID.
31
24Example: 32Example:
25 33
26ethernet-phy@0 { 34ethernet-phy@0 {
27 compatible = "ethernet-phy-ieee802.3-c22"; 35 compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c22";
28 interrupt-parent = <40000>; 36 interrupt-parent = <40000>;
29 interrupts = <35 1>; 37 interrupts = <35 1>;
30 reg = <0>; 38 reg = <0>;
diff --git a/Documentation/devicetree/bindings/net/samsung-sxgbe.txt b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt
new file mode 100644
index 000000000000..989f6c95cfd5
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/samsung-sxgbe.txt
@@ -0,0 +1,52 @@
1* Samsung 10G Ethernet driver (SXGBE)
2
3Required properties:
4- compatible: Should be "samsung,sxgbe-v2.0a"
5- reg: Address and length of the register set for the device
6- interrupt-parent: Should be the phandle for the interrupt controller
7 that services interrupts for this device
8- interrupts: Should contain the SXGBE interrupts
9 These interrupts are ordered by fixed and follows variable
10 trasmit DMA interrupts, receive DMA interrupts and lpi interrupt.
11 index 0 - this is fixed common interrupt of SXGBE and it is always
12 available.
13 index 1 to 25 - 8 variable trasmit interrupts, variable 16 receive interrupts
14 and 1 optional lpi interrupt.
15- phy-mode: String, operation mode of the PHY interface.
16 Supported values are: "sgmii", "xgmii".
17- samsung,pbl: Integer, Programmable Burst Length.
18 Supported values are 1, 2, 4, 8, 16, or 32.
19- samsung,burst-map: Integer, Program the possible bursts supported by sxgbe
20 This is an interger and represents allowable DMA bursts when fixed burst.
21 Allowable range is 0x01-0x3F. When this field is set fixed burst is enabled.
22 When fixed length is needed for burst mode, it can be set within allowable
23 range.
24
25Optional properties:
26- mac-address: 6 bytes, mac address
27- max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather
28 than the maximum frame size.
29
30Example:
31
32 aliases {
33 ethernet0 = <&sxgbe0>;
34 };
35
36 sxgbe0: ethernet@1a040000 {
37 compatible = "samsung,sxgbe-v2.0a";
38 reg = <0 0x1a040000 0 0x10000>;
39 interrupt-parent = <&gic>;
40 interrupts = <0 209 4>, <0 185 4>, <0 186 4>, <0 187 4>,
41 <0 188 4>, <0 189 4>, <0 190 4>, <0 191 4>,
42 <0 192 4>, <0 193 4>, <0 194 4>, <0 195 4>,
43 <0 196 4>, <0 197 4>, <0 198 4>, <0 199 4>,
44 <0 200 4>, <0 201 4>, <0 202 4>, <0 203 4>,
45 <0 204 4>, <0 205 4>, <0 206 4>, <0 207 4>,
46 <0 208 4>, <0 210 4>;
47 samsung,pbl = <0x08>
48 samsung,burst-map = <0x20>
49 mac-address = [ 00 11 22 33 44 55 ]; /* Filled in by U-Boot */
50 max-frame-size = <9000>;
51 phy-mode = "xgmii";
52 };
diff --git a/Documentation/devicetree/bindings/net/sh_eth.txt b/Documentation/devicetree/bindings/net/sh_eth.txt
new file mode 100644
index 000000000000..e7106b50dbdc
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/sh_eth.txt
@@ -0,0 +1,55 @@
1* Renesas Electronics SH EtherMAC
2
3This file provides information on what the device node for the SH EtherMAC
4interface contains.
5
6Required properties:
7- compatible: "renesas,gether-r8a7740" if the device is a part of R8A7740 SoC.
8 "renesas,ether-r8a7778" if the device is a part of R8A7778 SoC.
9 "renesas,ether-r8a7779" if the device is a part of R8A7779 SoC.
10 "renesas,ether-r8a7790" if the device is a part of R8A7790 SoC.
11 "renesas,ether-r8a7791" if the device is a part of R8A7791 SoC.
12 "renesas,ether-r7s72100" if the device is a part of R7S72100 SoC.
13- reg: offset and length of (1) the E-DMAC/feLic register block (required),
14 (2) the TSU register block (optional).
15- interrupts: interrupt specifier for the sole interrupt.
16- phy-mode: see ethernet.txt file in the same directory.
17- phy-handle: see ethernet.txt file in the same directory.
18- #address-cells: number of address cells for the MDIO bus, must be equal to 1.
19- #size-cells: number of size cells on the MDIO bus, must be equal to 0.
20- clocks: clock phandle and specifier pair.
21- pinctrl-0: phandle, referring to a default pin configuration node.
22
23Optional properties:
24- interrupt-parent: the phandle for the interrupt controller that services
25 interrupts for this device.
26- pinctrl-names: pin configuration state name ("default").
27- renesas,no-ether-link: boolean, specify when a board does not provide a proper
28 Ether LINK signal.
29- renesas,ether-link-active-low: boolean, specify when the Ether LINK signal is
30 active-low instead of normal active-high.
31
32Example (Lager board):
33
34 ethernet@ee700000 {
35 compatible = "renesas,ether-r8a7790";
36 reg = <0 0xee700000 0 0x400>;
37 interrupt-parent = <&gic>;
38 interrupts = <0 162 IRQ_TYPE_LEVEL_HIGH>;
39 clocks = <&mstp8_clks R8A7790_CLK_ETHER>;
40 phy-mode = "rmii";
41 phy-handle = <&phy1>;
42 pinctrl-0 = <&ether_pins>;
43 pinctrl-names = "default";
44 renesas,ether-link-active-low;
45 #address-cells = <1>;
46 #size-cells = <0>;
47
48 phy1: ethernet-phy@1 {
49 reg = <1>;
50 interrupt-parent = <&irqc0>;
51 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
52 pinctrl-0 = <&phy1_pins>;
53 pinctrl-names = "default";
54 };
55 };
diff --git a/Documentation/devicetree/bindings/net/smsc-lan91c111.txt b/Documentation/devicetree/bindings/net/smsc-lan91c111.txt
index 5a41a8658daa..0f8487b88822 100644
--- a/Documentation/devicetree/bindings/net/smsc-lan91c111.txt
+++ b/Documentation/devicetree/bindings/net/smsc-lan91c111.txt
@@ -6,8 +6,7 @@ Required properties:
6- interrupts : interrupt connection 6- interrupts : interrupt connection
7 7
8Optional properties: 8Optional properties:
9- phy-device : phandle to Ethernet phy 9- phy-device : see ethernet.txt file in the same directory
10- local-mac-address : Ethernet mac address to use
11- reg-io-width : Mask of sizes (in bytes) of the IO accesses that 10- reg-io-width : Mask of sizes (in bytes) of the IO accesses that
12 are supported on the device. Valid value for SMSC LAN91c111 are 11 are supported on the device. Valid value for SMSC LAN91c111 are
13 1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning 12 1, 2 or 4. If it's omitted or invalid, the size would be 2 meaning
diff --git a/Documentation/devicetree/bindings/net/smsc911x.txt b/Documentation/devicetree/bindings/net/smsc911x.txt
index adb5b5744ecd..3fed3c124411 100644
--- a/Documentation/devicetree/bindings/net/smsc911x.txt
+++ b/Documentation/devicetree/bindings/net/smsc911x.txt
@@ -6,9 +6,7 @@ Required properties:
6- interrupts : Should contain SMSC LAN interrupt line 6- interrupts : Should contain SMSC LAN interrupt line
7- interrupt-parent : Should be the phandle for the interrupt controller 7- interrupt-parent : Should be the phandle for the interrupt controller
8 that services interrupts for this device 8 that services interrupts for this device
9- phy-mode : String, operation mode of the PHY interface. 9- phy-mode : See ethernet.txt file in the same directory
10 Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
11 "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
12 10
13Optional properties: 11Optional properties:
14- reg-shift : Specify the quantity to shift the register offsets by 12- reg-shift : Specify the quantity to shift the register offsets by
@@ -23,7 +21,6 @@ Optional properties:
23 external PHY 21 external PHY
24- smsc,save-mac-address : Indicates that mac address needs to be saved 22- smsc,save-mac-address : Indicates that mac address needs to be saved
25 before resetting the controller 23 before resetting the controller
26- local-mac-address : 6 bytes, mac address
27 24
28Examples: 25Examples:
29 26
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
new file mode 100644
index 000000000000..636f0ac4e223
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
@@ -0,0 +1,27 @@
1Altera SOCFPGA SoC DWMAC controller
2
3This is a variant of the dwmac/stmmac driver an inherits all descriptions
4present in Documentation/devicetree/bindings/net/stmmac.txt.
5
6The device node has additional properties:
7
8Required properties:
9 - compatible : Should contain "altr,socfpga-stmmac" along with
10 "snps,dwmac" and any applicable more detailed
11 designware version numbers documented in stmmac.txt
12 - altr,sysmgr-syscon : Should be the phandle to the system manager node that
13 encompasses the glue register, the register offset, and the register shift.
14
15Example:
16
17gmac0: ethernet@ff700000 {
18 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
19 altr,sysmgr-syscon = <&sysmgr 0x60 0>;
20 status = "disabled";
21 reg = <0xff700000 0x2000>;
22 interrupts = <0 115 4>;
23 interrupt-names = "macirq";
24 mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
25 clocks = <&emac_0_clk>;
26 clocks-names = "stmmaceth";
27};
diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt
new file mode 100644
index 000000000000..3dd3d0bf112f
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt
@@ -0,0 +1,58 @@
1STMicroelectronics SoC DWMAC glue layer controller
2
3The device node has following properties.
4
5Required properties:
6 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac" or
7 "st,stid127-dwmac".
8 - reg : Offset of the glue configuration register map in system
9 configuration regmap pointed by st,syscon property and size.
10
11 - reg-names : Should be "sti-ethconf".
12
13 - st,syscon : Should be phandle to system configuration node which
14 encompases this glue registers.
15
16 - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be
17 wired up in from different sources. One via TXCLK pin and other via CLK_125
18 pin. This wiring is totally board dependent. However the retiming glue
19 logic should be configured accordingly. Possible values for this property
20
21 "txclk" - if 125Mhz clock is wired up via txclk line.
22 "clk_125" - if 125Mhz clock is wired up via clk_125 line.
23
24 This property is only valid for Giga bit setup( GMII, RGMII), and it is
25 un-used for non-giga bit (MII and RMII) setups. Also note that internal
26 clockgen can not generate stable 125Mhz clock.
27
28 - st,ext-phyclk: This boolean property indicates who is generating the clock
29 for tx and rx. This property is only valid for RMII case where the clock can
30 be generated from the MAC or PHY.
31
32 - clock-names: should be "sti-ethclk".
33 - clocks: Should point to ethernet clockgen which can generate phyclk.
34
35
36Example:
37
38ethernet0: dwmac@fe810000 {
39 device_type = "network";
40 compatible = "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710";
41 reg = <0xfe810000 0x8000>, <0x8bc 0x4>;
42 reg-names = "stmmaceth", "sti-ethconf";
43 interrupts = <0 133 0>, <0 134 0>, <0 135 0>;
44 interrupt-names = "macirq", "eth_wake_irq", "eth_lpi";
45 phy-mode = "mii";
46
47 st,syscon = <&syscfg_rear>;
48
49 snps,pbl = <32>;
50 snps,mixed-burst;
51
52 resets = <&softreset STIH416_ETH0_SOFTRESET>;
53 reset-names = "stmmaceth";
54 pinctrl-0 = <&pinctrl_mii0>;
55 pinctrl-names = "default";
56 clocks = <&CLK_S_GMAC0_PHY>;
57 clock-names = "stmmaceth";
58};
diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
index 9d92d42140f2..80c1fb8bfbb8 100644
--- a/Documentation/devicetree/bindings/net/stmmac.txt
+++ b/Documentation/devicetree/bindings/net/stmmac.txt
@@ -10,8 +10,7 @@ Required properties:
10- interrupt-names: Should contain the interrupt names "macirq" 10- interrupt-names: Should contain the interrupt names "macirq"
11 "eth_wake_irq" if this interrupt is supported in the "interrupts" 11 "eth_wake_irq" if this interrupt is supported in the "interrupts"
12 property 12 property
13- phy-mode: String, operation mode of the PHY interface. 13- phy-mode: See ethernet.txt file in the same directory.
14 Supported values are: "mii", "rmii", "gmii", "rgmii".
15- snps,reset-gpio gpio number for phy reset. 14- snps,reset-gpio gpio number for phy reset.
16- snps,reset-active-low boolean flag to indicate if phy reset is active low. 15- snps,reset-active-low boolean flag to indicate if phy reset is active low.
17- snps,reset-delays-us is triplet of delays 16- snps,reset-delays-us is triplet of delays
@@ -28,12 +27,14 @@ Required properties:
28 ignored if force_thresh_dma_mode is set. 27 ignored if force_thresh_dma_mode is set.
29 28
30Optional properties: 29Optional properties:
31- mac-address: 6 bytes, mac address
32- resets: Should contain a phandle to the STMMAC reset signal, if any 30- resets: Should contain a phandle to the STMMAC reset signal, if any
33- reset-names: Should contain the reset signal name "stmmaceth", if a 31- reset-names: Should contain the reset signal name "stmmaceth", if a
34 reset phandle is given 32 reset phandle is given
35- max-frame-size: Maximum Transfer Unit (IEEE defined MTU), rather 33- max-frame-size: See ethernet.txt file in the same directory
36 than the maximum frame size. 34- clocks: If present, the first clock should be the GMAC main clock,
35 further clocks may be specified in derived bindings.
36- clocks-names: One name for each entry in the clocks property, the
37 first one should be "stmmaceth".
37 38
38Examples: 39Examples:
39 40
@@ -46,4 +47,6 @@ Examples:
46 mac-address = [000000000000]; /* Filled in by U-Boot */ 47 mac-address = [000000000000]; /* Filled in by U-Boot */
47 max-frame-size = <3800>; 48 max-frame-size = <3800>;
48 phy-mode = "gmii"; 49 phy-mode = "gmii";
50 clocks = <&clock>;
51 clock-names = "stmmaceth">;
49 }; 52 };
diff --git a/Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt b/Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt
new file mode 100644
index 000000000000..189ae5cad8f7
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/ti,wl1251.txt
@@ -0,0 +1,39 @@
1* Texas Instruments wl1251 wireless lan controller
2
3The wl1251 chip can be connected via SPI or via SDIO. This
4document describes the binding for the SPI connected chip.
5
6Required properties:
7- compatible : Should be "ti,wl1251"
8- reg : Chip select address of device
9- spi-max-frequency : Maximum SPI clocking speed of device in Hz
10- interrupts : Should contain interrupt line
11- interrupt-parent : Should be the phandle for the interrupt controller
12 that services interrupts for this device
13- vio-supply : phandle to regulator providing VIO
14- ti,power-gpio : GPIO connected to chip's PMEN pin
15
16Optional properties:
17- ti,wl1251-has-eeprom : boolean, the wl1251 has an eeprom connected, which
18 provides configuration data (calibration, MAC, ...)
19- Please consult Documentation/devicetree/bindings/spi/spi-bus.txt
20 for optional SPI connection related properties,
21
22Examples:
23
24&spi1 {
25 wl1251@0 {
26 compatible = "ti,wl1251";
27
28 reg = <0>;
29 spi-max-frequency = <48000000>;
30 spi-cpol;
31 spi-cpha;
32
33 interrupt-parent = <&gpio2>;
34 interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
35
36 vio-supply = <&vio>;
37 ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
38 };
39};
diff --git a/Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt b/Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt
new file mode 100644
index 000000000000..5e649cb9aa1a
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/lg,ld070wx3-sl01.txt
@@ -0,0 +1,7 @@
1LG Corporation 7" WXGA TFT LCD panel
2
3Required properties:
4- compatible: should be "lg,ld070wx3-sl01"
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/lg,lh500wx1-sd03.txt b/Documentation/devicetree/bindings/panel/lg,lh500wx1-sd03.txt
new file mode 100644
index 000000000000..a04fd2b2e73d
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/lg,lh500wx1-sd03.txt
@@ -0,0 +1,7 @@
1LG Corporation 5" HD TFT LCD panel
2
3Required properties:
4- compatible: should be "lg,lh500wx1-sd03"
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/lg,lp129qe.txt b/Documentation/devicetree/bindings/panel/lg,lp129qe.txt
new file mode 100644
index 000000000000..9f262e0c5a2e
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/lg,lp129qe.txt
@@ -0,0 +1,7 @@
1LG 12.9" (2560x1700 pixels) TFT LCD panel
2
3Required properties:
4- compatible: should be "lg,lp129qe"
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/samsung,ld9040.txt b/Documentation/devicetree/bindings/panel/samsung,ld9040.txt
new file mode 100644
index 000000000000..07c36c3f7b52
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/samsung,ld9040.txt
@@ -0,0 +1,66 @@
1Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus
2
3Required properties:
4 - compatible: "samsung,ld9040"
5 - reg: address of the panel on SPI bus
6 - vdd3-supply: core voltage supply
7 - vci-supply: voltage supply for analog circuits
8 - reset-gpios: a GPIO spec for the reset pin
9 - display-timings: timings for the connected panel according to [1]
10
11The panel must obey rules for SPI slave device specified in document [2].
12
13Optional properties:
14 - power-on-delay: delay after turning regulators on [ms]
15 - reset-delay: delay after reset sequence [ms]
16 - panel-width-mm: physical panel width [mm]
17 - panel-height-mm: physical panel height [mm]
18
19The device node can contain one 'port' child node with one child
20'endpoint' node, according to the bindings defined in [3]. This
21node should describe panel's video bus.
22
23[1]: Documentation/devicetree/bindings/video/display-timing.txt
24[2]: Documentation/devicetree/bindings/spi/spi-bus.txt
25[3]: Documentation/devicetree/bindings/media/video-interfaces.txt
26
27Example:
28
29 lcd@0 {
30 compatible = "samsung,ld9040";
31 reg = <0>;
32 vdd3-supply = <&ldo7_reg>;
33 vci-supply = <&ldo17_reg>;
34 reset-gpios = <&gpy4 5 0>;
35 spi-max-frequency = <1200000>;
36 spi-cpol;
37 spi-cpha;
38 power-on-delay = <10>;
39 reset-delay = <10>;
40 panel-width-mm = <90>;
41 panel-height-mm = <154>;
42
43 display-timings {
44 timing {
45 clock-frequency = <23492370>;
46 hactive = <480>;
47 vactive = <800>;
48 hback-porch = <16>;
49 hfront-porch = <16>;
50 vback-porch = <2>;
51 vfront-porch = <28>;
52 hsync-len = <2>;
53 vsync-len = <1>;
54 hsync-active = <0>;
55 vsync-active = <0>;
56 de-active = <0>;
57 pixelclk-active = <0>;
58 };
59 };
60
61 port {
62 lcd_ep: endpoint {
63 remote-endpoint = <&fimd_dpi_ep>;
64 };
65 };
66 };
diff --git a/Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt b/Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt
new file mode 100644
index 000000000000..e7ee988e3156
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/samsung,s6e8aa0.txt
@@ -0,0 +1,56 @@
1Samsung S6E8AA0 AMOLED LCD 5.3 inch panel
2
3Required properties:
4 - compatible: "samsung,s6e8aa0"
5 - reg: the virtual channel number of a DSI peripheral
6 - vdd3-supply: core voltage supply
7 - vci-supply: voltage supply for analog circuits
8 - reset-gpios: a GPIO spec for the reset pin
9 - display-timings: timings for the connected panel as described by [1]
10
11Optional properties:
12 - power-on-delay: delay after turning regulators on [ms]
13 - reset-delay: delay after reset sequence [ms]
14 - init-delay: delay after initialization sequence [ms]
15 - panel-width-mm: physical panel width [mm]
16 - panel-height-mm: physical panel height [mm]
17 - flip-horizontal: boolean to flip image horizontally
18 - flip-vertical: boolean to flip image vertically
19
20The device node can contain one 'port' child node with one child
21'endpoint' node, according to the bindings defined in [2]. This
22node should describe panel's video bus.
23
24[1]: Documentation/devicetree/bindings/video/display-timing.txt
25[2]: Documentation/devicetree/bindings/media/video-interfaces.txt
26
27Example:
28
29 panel {
30 compatible = "samsung,s6e8aa0";
31 reg = <0>;
32 vdd3-supply = <&vcclcd_reg>;
33 vci-supply = <&vlcd_reg>;
34 reset-gpios = <&gpy4 5 0>;
35 power-on-delay= <50>;
36 reset-delay = <100>;
37 init-delay = <100>;
38 panel-width-mm = <58>;
39 panel-height-mm = <103>;
40 flip-horizontal;
41 flip-vertical;
42
43 display-timings {
44 timing0: timing-0 {
45 clock-frequency = <57153600>;
46 hactive = <720>;
47 vactive = <1280>;
48 hfront-porch = <5>;
49 hback-porch = <5>;
50 hsync-len = <5>;
51 vfront-porch = <13>;
52 vback-porch = <1>;
53 vsync-len = <2>;
54 };
55 };
56 };
diff --git a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
index 24cee06915c9..c300391e8d3e 100644
--- a/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
@@ -42,6 +42,10 @@ Required properties:
42 - 0xc2000000: prefetchable memory region 42 - 0xc2000000: prefetchable memory region
43 Please refer to the standard PCI bus binding document for a more detailed 43 Please refer to the standard PCI bus binding document for a more detailed
44 explanation. 44 explanation.
45- #interrupt-cells: Size representation for interrupts (must be 1)
46- interrupt-map-mask and interrupt-map: Standard PCI IRQ mapping properties
47 Please refer to the standard PCI bus binding document for a more detailed
48 explanation.
45- clocks: Must contain an entry for each entry in clock-names. 49- clocks: Must contain an entry for each entry in clock-names.
46 See ../clocks/clock-bindings.txt for details. 50 See ../clocks/clock-bindings.txt for details.
47- clock-names: Must include the following entries: 51- clock-names: Must include the following entries:
@@ -86,6 +90,10 @@ SoC DTSI:
86 0 99 0x04>; /* MSI interrupt */ 90 0 99 0x04>; /* MSI interrupt */
87 interrupt-names = "intr", "msi"; 91 interrupt-names = "intr", "msi";
88 92
93 #interrupt-cells = <1>;
94 interrupt-map-mask = <0 0 0 0>;
95 interrupt-map = <0 0 0 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
96
89 bus-range = <0x00 0xff>; 97 bus-range = <0x00 0xff>;
90 #address-cells = <3>; 98 #address-cells = <3>;
91 #size-cells = <2>; 99 #size-cells = <2>;
diff --git a/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt b/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
new file mode 100644
index 000000000000..5f3a65a9dd88
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/apm-xgene-phy.txt
@@ -0,0 +1,79 @@
1* APM X-Gene 15Gbps Multi-purpose PHY nodes
2
3PHY nodes are defined to describe on-chip 15Gbps Multi-purpose PHY. Each
4PHY (pair of lanes) has its own node.
5
6Required properties:
7- compatible : Shall be "apm,xgene-phy".
8- reg : PHY memory resource is the SDS PHY access resource.
9- #phy-cells : Shall be 1 as it expects one argument for setting
10 the mode of the PHY. Possible values are 0 (SATA),
11 1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI).
12
13Optional properties:
14- status : Shall be "ok" if enabled or "disabled" if disabled.
15 Default is "ok".
16- clocks : Reference to the clock entry.
17- apm,tx-eye-tuning : Manual control to fine tune the capture of the serial
18 bit lines from the automatic calibrated position.
19 Two set of 3-tuple setting for each (up to 3)
20 supported link speed on the host. Range from 0 to
21 127 in unit of one bit period. Default is 10.
22- apm,tx-eye-direction : Eye tuning manual control direction. 0 means sample
23 data earlier than the nominal sampling point. 1 means
24 sample data later than the nominal sampling point.
25 Two set of 3-tuple setting for each (up to 3)
26 supported link speed on the host. Default is 0.
27- apm,tx-boost-gain : Frequency boost AC (LSB 3-bit) and DC (2-bit)
28 gain control. Two set of 3-tuple setting for each
29 (up to 3) supported link speed on the host. Range is
30 between 0 to 31 in unit of dB. Default is 3.
31- apm,tx-amplitude : Amplitude control. Two set of 3-tuple setting for
32 each (up to 3) supported link speed on the host.
33 Range is between 0 to 199500 in unit of uV.
34 Default is 199500 uV.
35- apm,tx-pre-cursor1 : 1st pre-cursor emphasis taps control. Two set of
36 3-tuple setting for each (up to 3) supported link
37 speed on the host. Range is 0 to 273000 in unit of
38 uV. Default is 0.
39- apm,tx-pre-cursor2 : 2st pre-cursor emphasis taps control. Two set of
40 3-tuple setting for each (up to 3) supported link
41 speed on the host. Range is 0 to 127400 in unit uV.
42 Default is 0x0.
43- apm,tx-post-cursor : Post-cursor emphasis taps control. Two set of
44 3-tuple setting for Gen1, Gen2, and Gen3. Range is
45 between 0 to 0x1f in unit of 18.2mV. Default is 0xf.
46- apm,tx-speed : Tx operating speed. One set of 3-tuple for each
47 supported link speed on the host.
48 0 = 1-2Gbps
49 1 = 2-4Gbps (1st tuple default)
50 2 = 4-8Gbps
51 3 = 8-15Gbps (2nd tuple default)
52 4 = 2.5-4Gbps
53 5 = 4-5Gbps
54 6 = 5-6Gbps
55 7 = 6-16Gbps (3rd tuple default)
56
57NOTE: PHY override parameters are board specific setting.
58
59Example:
60 phy1: phy@1f21a000 {
61 compatible = "apm,xgene-phy";
62 reg = <0x0 0x1f21a000 0x0 0x100>;
63 #phy-cells = <1>;
64 status = "disabled";
65 };
66
67 phy2: phy@1f22a000 {
68 compatible = "apm,xgene-phy";
69 reg = <0x0 0x1f22a000 0x0 0x100>;
70 #phy-cells = <1>;
71 status = "ok";
72 };
73
74 phy3: phy@1f23a000 {
75 compatible = "apm,xgene-phy";
76 reg = <0x0 0x1f23a000 0x0 0x100>;
77 #phy-cells = <1>;
78 status = "ok";
79 };
diff --git a/Documentation/devicetree/bindings/phy/samsung-phy.txt b/Documentation/devicetree/bindings/phy/samsung-phy.txt
index c0fccaa1671e..b422e38946d7 100644
--- a/Documentation/devicetree/bindings/phy/samsung-phy.txt
+++ b/Documentation/devicetree/bindings/phy/samsung-phy.txt
@@ -20,3 +20,97 @@ Required properties:
20- compatible : should be "samsung,exynos5250-dp-video-phy"; 20- compatible : should be "samsung,exynos5250-dp-video-phy";
21- reg : offset and length of the Display Port PHY register set; 21- reg : offset and length of the Display Port PHY register set;
22- #phy-cells : from the generic PHY bindings, must be 0; 22- #phy-cells : from the generic PHY bindings, must be 0;
23
24Samsung S5P/EXYNOS SoC series USB PHY
25-------------------------------------------------
26
27Required properties:
28- compatible : should be one of the listed compatibles:
29 - "samsung,exynos4210-usb2-phy"
30 - "samsung,exynos4x12-usb2-phy"
31 - "samsung,exynos5250-usb2-phy"
32- reg : a list of registers used by phy driver
33 - first and obligatory is the location of phy modules registers
34- samsung,sysreg-phandle - handle to syscon used to control the system registers
35- samsung,pmureg-phandle - handle to syscon used to control PMU registers
36- #phy-cells : from the generic phy bindings, must be 1;
37- clocks and clock-names:
38 - the "phy" clock is required by the phy module, used as a gate
39 - the "ref" clock is used to get the rate of the clock provided to the
40 PHY module
41
42The first phandle argument in the PHY specifier identifies the PHY, its
43meaning is compatible dependent. For the currently supported SoCs (Exynos 4210
44and Exynos 4212) it is as follows:
45 0 - USB device ("device"),
46 1 - USB host ("host"),
47 2 - HSIC0 ("hsic0"),
48 3 - HSIC1 ("hsic1"),
49
50Exynos 4210 and Exynos 4212 use mode switching and require that mode switch
51register is supplied.
52
53Example:
54
55For Exynos 4412 (compatible with Exynos 4212):
56
57usbphy: phy@125b0000 {
58 compatible = "samsung,exynos4x12-usb2-phy";
59 reg = <0x125b0000 0x100>;
60 clocks = <&clock 305>, <&clock 2>;
61 clock-names = "phy", "ref";
62 status = "okay";
63 #phy-cells = <1>;
64 samsung,sysreg-phandle = <&sys_reg>;
65 samsung,pmureg-phandle = <&pmu_reg>;
66};
67
68Then the PHY can be used in other nodes such as:
69
70phy-consumer@12340000 {
71 phys = <&usbphy 2>;
72 phy-names = "phy";
73};
74
75Refer to DT bindings documentation of particular PHY consumer devices for more
76information about required PHYs and the way of specification.
77
78Samsung SATA PHY Controller
79---------------------------
80
81SATA PHY nodes are defined to describe on-chip SATA Physical layer controllers.
82Each SATA PHY controller should have its own node.
83
84Required properties:
85- compatible : compatible list, contains "samsung,exynos5250-sata-phy"
86- reg : offset and length of the SATA PHY register set;
87- #phy-cells : must be zero
88- clocks : must be exactly one entry
89- clock-names : must be "sata_phyctrl"
90- samsung,exynos-sataphy-i2c-phandle : a phandle to the I2C device, no arguments
91- samsung,syscon-phandle : a phandle to the PMU system controller, no arguments
92
93Example:
94 sata_phy: sata-phy@12170000 {
95 compatible = "samsung,exynos5250-sata-phy";
96 reg = <0x12170000 0x1ff>;
97 clocks = <&clock 287>;
98 clock-names = "sata_phyctrl";
99 #phy-cells = <0>;
100 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
101 samsung,syscon-phandle = <&pmu_syscon>;
102 };
103
104Device-Tree bindings for sataphy i2c client driver
105--------------------------------------------------
106
107Required properties:
108compatible: Should be "samsung,exynos-sataphy-i2c"
109- reg: I2C address of the sataphy i2c device.
110
111Example:
112
113 sata_phy_i2c:sata-phy@38 {
114 compatible = "samsung,exynos-sataphy-i2c";
115 reg = <0x38>;
116 };
diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
new file mode 100644
index 000000000000..a82361b62015
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
@@ -0,0 +1,26 @@
1Allwinner sun4i USB PHY
2-----------------------
3
4Required properties:
5- compatible : should be one of "allwinner,sun4i-a10-usb-phy",
6 "allwinner,sun5i-a13-usb-phy" or "allwinner,sun7i-a20-usb-phy"
7- reg : a list of offset + length pairs
8- reg-names : "phy_ctrl", "pmu1" and for sun4i or sun7i "pmu2"
9- #phy-cells : from the generic phy bindings, must be 1
10- clocks : phandle + clock specifier for the phy clock
11- clock-names : "usb_phy"
12- resets : a list of phandle + reset specifier pairs
13- reset-names : "usb0_reset", "usb1_reset" and for sun4i or sun7i "usb2_reset"
14
15Example:
16 usbphy: phy@0x01c13400 {
17 #phy-cells = <1>;
18 compatible = "allwinner,sun4i-a10-usb-phy";
19 /* phy base regs, phy1 pmu reg, phy2 pmu reg */
20 reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>;
21 reg-names = "phy_ctrl", "pmu1", "pmu2";
22 clocks = <&usb_clk 8>;
23 clock-names = "usb_phy";
24 resets = <&usb_clk 1>, <&usb_clk 2>;
25 reset-names = "usb1_reset", "usb2_reset";
26 };
diff --git a/Documentation/devicetree/bindings/phy/ti-phy.txt b/Documentation/devicetree/bindings/phy/ti-phy.txt
new file mode 100644
index 000000000000..788fb0fa3762
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/ti-phy.txt
@@ -0,0 +1,86 @@
1TI PHY: DT DOCUMENTATION FOR PHYs in TI PLATFORMs
2
3OMAP CONTROL PHY
4
5Required properties:
6 - compatible: Should be one of
7 "ti,control-phy-otghs" - if it has otghs_control mailbox register as on OMAP4.
8 "ti,control-phy-usb2" - if it has Power down bit in control_dev_conf register
9 e.g. USB2_PHY on OMAP5.
10 "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control
11 e.g. USB3 PHY and SATA PHY on OMAP5.
12 "ti,control-phy-usb2-dra7" - if it has power down register like USB2 PHY on
13 DRA7 platform.
14 "ti,control-phy-usb2-am437" - if it has power down register like USB2 PHY on
15 AM437 platform.
16 - reg : Address and length of the register set for the device. It contains
17 the address of "otghs_control" for control-phy-otghs or "power" register
18 for other types.
19 - reg-names: should be "otghs_control" control-phy-otghs and "power" for
20 other types.
21
22omap_control_usb: omap-control-usb@4a002300 {
23 compatible = "ti,control-phy-otghs";
24 reg = <0x4a00233c 0x4>;
25 reg-names = "otghs_control";
26};
27
28OMAP USB2 PHY
29
30Required properties:
31 - compatible: Should be "ti,omap-usb2"
32 - reg : Address and length of the register set for the device.
33 - #phy-cells: determine the number of cells that should be given in the
34 phandle while referencing this phy.
35
36Optional properties:
37 - ctrl-module : phandle of the control module used by PHY driver to power on
38 the PHY.
39
40This is usually a subnode of ocp2scp to which it is connected.
41
42usb2phy@4a0ad080 {
43 compatible = "ti,omap-usb2";
44 reg = <0x4a0ad080 0x58>;
45 ctrl-module = <&omap_control_usb>;
46 #phy-cells = <0>;
47};
48
49TI PIPE3 PHY
50
51Required properties:
52 - compatible: Should be "ti,phy-usb3" or "ti,phy-pipe3-sata".
53 "ti,omap-usb3" is deprecated.
54 - reg : Address and length of the register set for the device.
55 - reg-names: The names of the register addresses corresponding to the registers
56 filled in "reg".
57 - #phy-cells: determine the number of cells that should be given in the
58 phandle while referencing this phy.
59 - clocks: a list of phandles and clock-specifier pairs, one for each entry in
60 clock-names.
61 - clock-names: should include:
62 * "wkupclk" - wakeup clock.
63 * "sysclk" - system clock.
64 * "refclk" - reference clock.
65
66Optional properties:
67 - ctrl-module : phandle of the control module used by PHY driver to power on
68 the PHY.
69
70This is usually a subnode of ocp2scp to which it is connected.
71
72usb3phy@4a084400 {
73 compatible = "ti,phy-usb3";
74 reg = <0x4a084400 0x80>,
75 <0x4a084800 0x64>,
76 <0x4a084c00 0x40>;
77 reg-names = "phy_rx", "phy_tx", "pll_ctrl";
78 ctrl-module = <&omap_control_usb>;
79 #phy-cells = <0>;
80 clocks = <&usb_phy_cm_clk32k>,
81 <&sys_clkin>,
82 <&usb_otg_ss_refclk960m>;
83 clock-names = "wkupclk",
84 "sysclk",
85 "refclk";
86};
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt
index 9e9e9ef9f852..c119debe6bab 100644
--- a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt
@@ -1,4 +1,4 @@
1Broadcom Capri Pin Controller 1Broadcom BCM281xx Pin Controller
2 2
3This is a pin controller for the Broadcom BCM281xx SoC family, which includes 3This is a pin controller for the Broadcom BCM281xx SoC family, which includes
4BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. 4BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs.
@@ -7,14 +7,14 @@ BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs.
7 7
8Required Properties: 8Required Properties:
9 9
10- compatible: Must be "brcm,capri-pinctrl". 10- compatible: Must be "brcm,bcm11351-pinctrl"
11- reg: Base address of the PAD Controller register block and the size 11- reg: Base address of the PAD Controller register block and the size
12 of the block. 12 of the block.
13 13
14For example, the following is the bare minimum node: 14For example, the following is the bare minimum node:
15 15
16 pinctrl@35004800 { 16 pinctrl@35004800 {
17 compatible = "brcm,capri-pinctrl"; 17 compatible = "brcm,bcm11351-pinctrl";
18 reg = <0x35004800 0x430>; 18 reg = <0x35004800 0x430>;
19 }; 19 };
20 20
@@ -119,7 +119,7 @@ Optional Properties (for HDMI pins):
119Example: 119Example:
120// pin controller node 120// pin controller node
121pinctrl@35004800 { 121pinctrl@35004800 {
122 compatible = "brcm,capri-pinctrl"; 122 compatible = "brcmbcm11351-pinctrl";
123 reg = <0x35004800 0x430>; 123 reg = <0x35004800 0x430>;
124 124
125 // pin configuration node 125 // pin configuration node
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt
index 01ef408e205f..adda2a8d1d52 100644
--- a/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt
@@ -5,6 +5,7 @@ part and usage.
5 5
6Required properties: 6Required properties:
7- compatible: "marvell,88f6710-pinctrl" 7- compatible: "marvell,88f6710-pinctrl"
8- reg: register specifier of MPP registers
8 9
9Available mpp pins/groups and functions: 10Available mpp pins/groups and functions:
10Note: brackets (x) are not part of the mpp name for marvell,function and given 11Note: brackets (x) are not part of the mpp name for marvell,function and given
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt
new file mode 100644
index 000000000000..7de0cda4a379
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-375-pinctrl.txt
@@ -0,0 +1,82 @@
1* Marvell Armada 375 SoC pinctrl driver for mpp
2
3Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4part and usage.
5
6Required properties:
7- compatible: "marvell,88f6720-pinctrl"
8- reg: register specifier of MPP registers
9
10Available mpp pins/groups and functions:
11Note: brackets (x) are not part of the mpp name for marvell,function and given
12only for more detailed description in this document.
13
14name pins functions
15================================================================================
16mpp0 0 gpio, dev(ad2), spi0(cs1), spi1(cs1)
17mpp1 1 gpio, dev(ad3), spi0(mosi), spi1(mosi)
18mpp2 2 gpio, dev(ad4), ptp(eventreq), led(c0), audio(sdi)
19mpp3 3 gpio, dev(ad5), ptp(triggen), led(p3), audio(mclk)
20mpp4 4 gpio, dev(ad6), spi0(miso), spi1(miso)
21mpp5 5 gpio, dev(ad7), spi0(cs2), spi1(cs2)
22mpp6 6 gpio, dev(ad0), led(p1), audio(rclk)
23mpp7 7 gpio, dev(ad1), ptp(clk), led(p2), audio(extclk)
24mpp8 8 gpio, dev (bootcs), spi0(cs0), spi1(cs0)
25mpp9 9 gpio, nf(wen), spi0(sck), spi1(sck)
26mpp10 10 gpio, nf(ren), dram(vttctrl), led(c1)
27mpp11 11 gpio, dev(a0), led(c2), audio(sdo)
28mpp12 12 gpio, dev(a1), audio(bclk)
29mpp13 13 gpio, dev(readyn), pcie0(rstoutn), pcie1(rstoutn)
30mpp14 14 gpio, i2c0(sda), uart1(txd)
31mpp15 15 gpio, i2c0(sck), uart1(rxd)
32mpp16 16 gpio, uart0(txd)
33mpp17 17 gpio, uart0(rxd)
34mpp18 18 gpio, tdm(intn)
35mpp19 19 gpio, tdm(rstn)
36mpp20 20 gpio, tdm(pclk)
37mpp21 21 gpio, tdm(fsync)
38mpp22 22 gpio, tdm(drx)
39mpp23 23 gpio, tdm(dtx)
40mpp24 24 gpio, led(p0), ge1(rxd0), sd(cmd), uart0(rts)
41mpp25 25 gpio, led(p2), ge1(rxd1), sd(d0), uart0(cts)
42mpp26 26 gpio, pcie0(clkreq), ge1(rxd2), sd(d2), uart1(rts)
43mpp27 27 gpio, pcie1(clkreq), ge1(rxd3), sd(d1), uart1(cts)
44mpp28 28 gpio, led(p3), ge1(txctl), sd(clk)
45mpp29 29 gpio, pcie1(clkreq), ge1(rxclk), sd(d3)
46mpp30 30 gpio, ge1(txd0), spi1(cs0)
47mpp31 31 gpio, ge1(txd1), spi1(mosi)
48mpp32 32 gpio, ge1(txd2), spi1(sck), ptp(triggen)
49mpp33 33 gpio, ge1(txd3), spi1(miso)
50mpp34 34 gpio, ge1(txclkout), spi1(sck)
51mpp35 35 gpio, ge1(rxctl), spi1(cs1), spi0(cs2)
52mpp36 36 gpio, pcie0(clkreq)
53mpp37 37 gpio, pcie0(clkreq), tdm(intn), ge(mdc)
54mpp38 38 gpio, pcie1(clkreq), ge(mdio)
55mpp39 39 gpio, ref(clkout)
56mpp40 40 gpio, uart1(txd)
57mpp41 41 gpio, uart1(rxd)
58mpp42 42 gpio, spi1(cs2), led(c0)
59mpp43 43 gpio, sata0(prsnt), dram(vttctrl)
60mpp44 44 gpio, sata0(prsnt)
61mpp45 45 gpio, spi0(cs2), pcie0(rstoutn)
62mpp46 46 gpio, led(p0), ge0(txd0), ge1(txd0)
63mpp47 47 gpio, led(p1), ge0(txd1), ge1(txd1)
64mpp48 48 gpio, led(p2), ge0(txd2), ge1(txd2)
65mpp49 49 gpio, led(p3), ge0(txd3), ge1(txd3)
66mpp50 50 gpio, led(c0), ge0(rxd0), ge1(rxd0)
67mpp51 51 gpio, led(c1), ge0(rxd1), ge1(rxd1)
68mpp52 52 gpio, led(c2), ge0(rxd2), ge1(rxd2)
69mpp53 53 gpio, pcie1(rstoutn), ge0(rxd3), ge1(rxd3)
70mpp54 54 gpio, pcie0(rstoutn), ge0(rxctl), ge1(rxctl)
71mpp55 55 gpio, ge0(rxclk), ge1(rxclk)
72mpp56 56 gpio, ge0(txclkout), ge1(txclkout)
73mpp57 57 gpio, ge0(txctl), ge1(txctl)
74mpp58 58 gpio, led(c0)
75mpp59 59 gpio, led(c1)
76mpp60 60 gpio, uart1(txd), led(c2)
77mpp61 61 gpio, i2c1(sda), uart1(rxd), spi1(cs2), led(p0)
78mpp62 62 gpio, i2c1(sck), led(p1)
79mpp63 63 gpio, ptp(triggen), led(p2)
80mpp64 64 gpio, dram(vttctrl), led(p3)
81mpp65 65 gpio, sata1(prsnt)
82mpp66 66 gpio, ptp(eventreq), spi1(cs3)
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt
new file mode 100644
index 000000000000..b17c96849fc9
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-38x-pinctrl.txt
@@ -0,0 +1,80 @@
1* Marvell Armada 380/385 SoC pinctrl driver for mpp
2
3Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4part and usage.
5
6Required properties:
7- compatible: "marvell,88f6810-pinctrl", "marvell,88f6820-pinctrl" or
8 "marvell,88f6828-pinctrl" depending on the specific variant of the
9 SoC being used.
10- reg: register specifier of MPP registers
11
12Available mpp pins/groups and functions:
13Note: brackets (x) are not part of the mpp name for marvell,function and given
14only for more detailed description in this document.
15
16name pins functions
17================================================================================
18mpp0 0 gpio, ua0(rxd)
19mpp1 1 gpio, ua0(txd)
20mpp2 2 gpio, i2c0(sck)
21mpp3 3 gpio, i2c0(sda)
22mpp4 4 gpio, ge(mdc), ua1(txd), ua0(rts)
23mpp5 5 gpio, ge(mdio), ua1(rxd), ua0(cts)
24mpp6 6 gpio, ge0(txclkout), ge0(crs), dev(cs3)
25mpp7 7 gpio, ge0(txd0), dev(ad9)
26mpp8 8 gpio, ge0(txd1), dev(ad10)
27mpp9 9 gpio, ge0(txd2), dev(ad11)
28mpp10 10 gpio, ge0(txd3), dev(ad12)
29mpp11 11 gpio, ge0(txctl), dev(ad13)
30mpp12 12 gpio, ge0(rxd0), pcie0(rstout), pcie1(rstout) [1], spi0(cs1), dev(ad14)
31mpp13 13 gpio, ge0(rxd1), pcie0(clkreq), pcie1(clkreq) [1], spi0(cs2), dev(ad15)
32mpp14 14 gpio, ge0(rxd2), ptp(clk), m(vtt_ctrl), spi0(cs3), dev(wen1)
33mpp15 15 gpio, ge0(rxd3), ge(mdc slave), pcie0(rstout), spi0(mosi), pcie1(rstout) [1]
34mpp16 16 gpio, ge0(rxctl), ge(mdio slave), m(decc_err), spi0(miso), pcie0(clkreq)
35mpp17 17 gpio, ge0(rxclk), ptp(clk), ua1(rxd), spi0(sck), sata1(prsnt)
36mpp18 18 gpio, ge0(rxerr), ptp(trig_gen), ua1(txd), spi0(cs0), pcie1(rstout) [1]
37mpp19 19 gpio, ge0(col), ptp(event_req), pcie0(clkreq), sata1(prsnt), ua0(cts)
38mpp20 20 gpio, ge0(txclk), ptp(clk), pcie1(rstout) [1], sata0(prsnt), ua0(rts)
39mpp21 21 gpio, spi0(cs1), ge1(rxd0), sata0(prsnt), sd0(cmd), dev(bootcs)
40mpp22 22 gpio, spi0(mosi), dev(ad0)
41mpp23 23 gpio, spi0(sck), dev(ad2)
42mpp24 24 gpio, spi0(miso), ua0(cts), ua1(rxd), sd0(d4), dev(ready)
43mpp25 25 gpio, spi0(cs0), ua0(rts), ua1(txd), sd0(d5), dev(cs0)
44mpp26 26 gpio, spi0(cs2), i2c1(sck), sd0(d6), dev(cs1)
45mpp27 27 gpio, spi0(cs3), ge1(txclkout), i2c1(sda), sd0(d7), dev(cs2)
46mpp28 28 gpio, ge1(txd0), sd0(clk), dev(ad5)
47mpp29 29 gpio, ge1(txd1), dev(ale0)
48mpp30 30 gpio, ge1(txd2), dev(oen)
49mpp31 31 gpio, ge1(txd3), dev(ale1)
50mpp32 32 gpio, ge1(txctl), dev(wen0)
51mpp33 33 gpio, m(decc_err), dev(ad3)
52mpp34 34 gpio, dev(ad1)
53mpp35 35 gpio, ref(clk_out1), dev(a1)
54mpp36 36 gpio, ptp(trig_gen), dev(a0)
55mpp37 37 gpio, ptp(clk), ge1(rxclk), sd0(d3), dev(ad8)
56mpp38 38 gpio, ptp(event_req), ge1(rxd1), ref(clk_out0), sd0(d0), dev(ad4)
57mpp39 39 gpio, i2c1(sck), ge1(rxd2), ua0(cts), sd0(d1), dev(a2)
58mpp40 40 gpio, i2c1(sda), ge1(rxd3), ua0(rts), sd0(d2), dev(ad6)
59mpp41 41 gpio, ua1(rxd), ge1(rxctl), ua0(cts), spi1(cs3), dev(burst/last)
60mpp42 42 gpio, ua1(txd), ua0(rts), dev(ad7)
61mpp43 43 gpio, pcie0(clkreq), m(vtt_ctrl), m(decc_err), pcie0(rstout), dev(clkout)
62mpp44 44 gpio, sata0(prsnt), sata1(prsnt), sata2(prsnt) [2], sata3(prsnt) [3], pcie0(rstout)
63mpp45 45 gpio, ref(clk_out0), pcie0(rstout), pcie1(rstout) [1], pcie2(rstout), pcie3(rstout)
64mpp46 46 gpio, ref(clk_out1), pcie0(rstout), pcie1(rstout) [1], pcie2(rstout), pcie3(rstout)
65mpp47 47 gpio, sata0(prsnt), sata1(prsnt), sata2(prsnt) [2], spi1(cs2), sata3(prsnt) [2]
66mpp48 48 gpio, sata0(prsnt), m(vtt_ctrl), tdm2c(pclk), audio(mclk), sd0(d4)
67mpp49 49 gpio, sata2(prsnt) [2], sata3(prsnt) [2], tdm2c(fsync), audio(lrclk), sd0(d5)
68mpp50 50 gpio, pcie0(rstout), pcie1(rstout) [1], tdm2c(drx), audio(extclk), sd0(cmd)
69mpp51 51 gpio, tdm2c(dtx), audio(sdo), m(decc_err)
70mpp52 52 gpio, pcie0(rstout), pcie1(rstout) [1], tdm2c(intn), audio(sdi), sd0(d6)
71mpp53 53 gpio, sata1(prsnt), sata0(prsnt), tdm2c(rstn), audio(bclk), sd0(d7)
72mpp54 54 gpio, sata0(prsnt), sata1(prsnt), pcie0(rstout), pcie1(rstout) [1], sd0(d3)
73mpp55 55 gpio, ua1(cts), ge(mdio), pcie1(clkreq) [1], spi1(cs1), sd0(d0)
74mpp56 56 gpio, ua1(rts), ge(mdc), m(decc_err), spi1(mosi)
75mpp57 57 gpio, spi1(sck), sd0(clk)
76mpp58 58 gpio, pcie1(clkreq) [1], i2c1(sck), pcie2(clkreq), spi1(miso), sd0(d1)
77mpp59 59 gpio, pcie0(rstout), i2c1(sda), pcie1(rstout) [1], spi1(cs0), sd0(d2)
78
79[1]: only available on 88F6820 and 88F6828
80[2]: only available on 88F6828
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt
index bfa0a2e5e0cb..373dbccd7ab0 100644
--- a/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt
@@ -6,6 +6,7 @@ part and usage.
6Required properties: 6Required properties:
7- compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl", 7- compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl",
8 "marvell,mv78460-pinctrl" 8 "marvell,mv78460-pinctrl"
9- reg: register specifier of MPP registers
9 10
10This driver supports all Armada XP variants, i.e. mv78230, mv78260, and mv78460. 11This driver supports all Armada XP variants, i.e. mv78230, mv78260, and mv78460.
11 12
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt
index 50ec3512a292..cf52477cc7ee 100644
--- a/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt
@@ -6,6 +6,7 @@ part and usage.
6Required properties: 6Required properties:
7- compatible: "marvell,dove-pinctrl" 7- compatible: "marvell,dove-pinctrl"
8- clocks: (optional) phandle of pdma clock 8- clocks: (optional) phandle of pdma clock
9- reg: register specifiers of MPP, MPP4, and PMU MPP registers
9 10
10Available mpp pins/groups and functions: 11Available mpp pins/groups and functions:
11Note: brackets (x) are not part of the mpp name for marvell,function and given 12Note: brackets (x) are not part of the mpp name for marvell,function and given
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt
index 95daf6335c37..730444a9a4de 100644
--- a/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt
@@ -8,6 +8,7 @@ Required properties:
8 "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl", 8 "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl",
9 "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl" 9 "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl"
10 "marvell,98dx4122-pinctrl" 10 "marvell,98dx4122-pinctrl"
11- reg: register specifier of MPP registers
11 12
12This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x. 13This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x.
13It also support the 88f6281-based variant in the 98dx412x Bobcat SoCs. 14It also support the 88f6281-based variant in the 98dx412x Bobcat SoCs.
diff --git a/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt
index 0a26c3aa4e6d..0c09f4eb2af0 100644
--- a/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt
@@ -37,7 +37,7 @@ uart1: serial@12100 {
37 37
38pinctrl: pinctrl@d0200 { 38pinctrl: pinctrl@d0200 {
39 compatible = "marvell,dove-pinctrl"; 39 compatible = "marvell,dove-pinctrl";
40 reg = <0xd0200 0x20>; 40 reg = <0xd0200 0x14>, <0xd0440 0x04>, <0xd802c 0x08>;
41 41
42 pmx_uart1_sw: pmx-uart1-sw { 42 pmx_uart1_sw: pmx-uart1-sw {
43 marvell,pins = "mpp_uart1"; 43 marvell,pins = "mpp_uart1";
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
index bc0dfdfdb148..66dcaa9efd74 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
@@ -63,6 +63,13 @@ Optional properties:
63 /* input, enable bits, disable bits, mask */ 63 /* input, enable bits, disable bits, mask */
64 pinctrl-single,input-schmitt-enable = <0x30 0x40 0 0x70>; 64 pinctrl-single,input-schmitt-enable = <0x30 0x40 0 0x70>;
65 65
66- pinctrl-single,low-power-mode : array of value that are used to configure
67 low power mode of this pin. For some silicons, the low power mode will
68 control the output of the pin when the pad including the pin enter low
69 power mode.
70 /* low power mode value, mask */
71 pinctrl-single,low-power-mode = <0x288 0x388>;
72
66- pinctrl-single,gpio-range : list of value that are used to configure a GPIO 73- pinctrl-single,gpio-range : list of value that are used to configure a GPIO
67 range. They're value of subnode phandle, pin base in pinctrl device, pin 74 range. They're value of subnode phandle, pin base in pinctrl device, pin
68 number in this range, GPIO function value of this GPIO range. 75 number in this range, GPIO function value of this GPIO range.
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt
index 05bf82a07dfd..4bd5be0e5e7d 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-st.txt
@@ -11,18 +11,68 @@ Pull Up (PU) are driven by the related PIO block.
11ST pinctrl driver controls PIO multiplexing block and also interacts with 11ST pinctrl driver controls PIO multiplexing block and also interacts with
12gpio driver to configure a pin. 12gpio driver to configure a pin.
13 13
14Required properties: (PIO multiplexing block) 14GPIO bank can have one of the two possible types of interrupt-wirings.
15
16First type is via irqmux, single interrupt is used by multiple gpio banks. This
17reduces number of overall interrupts numbers required. All these banks belong to
18a single pincontroller.
19 _________
20 | |----> [gpio-bank (n) ]
21 | |----> [gpio-bank (n + 1)]
22 [irqN]-- | irq-mux |----> [gpio-bank (n + 2)]
23 | |----> [gpio-bank (... )]
24 |_________|----> [gpio-bank (n + 7)]
25
26Second type has a dedicated interrupt per gpio bank.
27
28 [irqN]----> [gpio-bank (n)]
29
30
31Pin controller node:
32Required properties:
15- compatible : should be "st,<SOC>-<pio-block>-pinctrl" 33- compatible : should be "st,<SOC>-<pio-block>-pinctrl"
16 like st,stih415-sbc-pinctrl, st,stih415-front-pinctrl and so on. 34 like st,stih415-sbc-pinctrl, st,stih415-front-pinctrl and so on.
17- gpio-controller : Indicates this device is a GPIO controller 35- st,syscfg : Should be a phandle of the syscfg node.
18- #gpio-cells : Should be one. The first cell is the pin number.
19- st,retime-pin-mask : Should be mask to specify which pins can be retimed. 36- st,retime-pin-mask : Should be mask to specify which pins can be retimed.
20 If the property is not present, it is assumed that all the pins in the 37 If the property is not present, it is assumed that all the pins in the
21 bank are capable of retiming. Retiming is mainly used to improve the 38 bank are capable of retiming. Retiming is mainly used to improve the
22 IO timing margins of external synchronous interfaces. 39 IO timing margins of external synchronous interfaces.
23- st,bank-name : Should be a name string for this bank as 40- ranges : defines mapping between pin controller node (parent) to gpio-bank
24 specified in datasheet. 41 node (children).
25- st,syscfg : Should be a phandle of the syscfg node. 42
43Optional properties:
44- interrupts : Interrupt number of the irqmux. If the interrupt is shared
45 with other gpio banks via irqmux.
46 a irqline and gpio banks.
47- reg : irqmux memory resource. If irqmux is present.
48- reg-names : irqmux resource should be named as "irqmux".
49
50GPIO controller/bank node.
51Required properties:
52- gpio-controller : Indicates this device is a GPIO controller
53- #gpio-cells : Should be one. The first cell is the pin number.
54- st,bank-name : Should be a name string for this bank as specified in
55 datasheet.
56
57Optional properties:
58- interrupts : Interrupt number for this gpio bank. If there is a dedicated
59 interrupt wired up for this gpio bank.
60
61- interrupt-controller : Indicates this device is a interrupt controller. GPIO
62 bank can be an interrupt controller iff one of the interrupt type either via
63irqmux or a dedicated interrupt per bank is specified.
64
65- #interrupt-cells: the value of this property should be 2.
66 - First Cell: represents the external gpio interrupt number local to the
67 gpio interrupt space of the controller.
68 - Second Cell: flags to identify the type of the interrupt
69 - 1 = rising edge triggered
70 - 2 = falling edge triggered
71 - 3 = rising and falling edge triggered
72 - 4 = high level triggered
73 - 8 = low level triggered
74for related macros look in:
75include/dt-bindings/interrupt-controller/irq.h
26 76
27Example: 77Example:
28 pin-controller-sbc { 78 pin-controller-sbc {
@@ -30,10 +80,17 @@ Example:
30 #size-cells = <1>; 80 #size-cells = <1>;
31 compatible = "st,stih415-sbc-pinctrl"; 81 compatible = "st,stih415-sbc-pinctrl";
32 st,syscfg = <&syscfg_sbc>; 82 st,syscfg = <&syscfg_sbc>;
83 reg = <0xfe61f080 0x4>;
84 reg-names = "irqmux";
85 interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
86 interrupts-names = "irqmux";
33 ranges = <0 0xfe610000 0x5000>; 87 ranges = <0 0xfe610000 0x5000>;
88
34 PIO0: gpio@fe610000 { 89 PIO0: gpio@fe610000 {
35 gpio-controller; 90 gpio-controller;
36 #gpio-cells = <1>; 91 #gpio-cells = <1>;
92 interrupt-controller;
93 #interrupt-cells = <2>;
37 reg = <0 0x100>; 94 reg = <0 0x100>;
38 st,bank-name = "PIO0"; 95 st,bank-name = "PIO0";
39 }; 96 };
@@ -105,6 +162,10 @@ pin-controller {
105 162
106sdhci0:sdhci@fe810000{ 163sdhci0:sdhci@fe810000{
107 ... 164 ...
165 interrupt-parent = <&PIO3>;
166 #interrupt-cells = <2>;
167 interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; /* Interrupt line via PIO3-3 */
168 interrupts-names = "card-detect";
108 pinctrl-names = "default"; 169 pinctrl-names = "default";
109 pinctrl-0 = <&pinctrl_mmc>; 170 pinctrl-0 = <&pinctrl_mmc>;
110}; 171};
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt
index 4c352be5dd61..9fb89e3f61ea 100644
--- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8974-pinctrl.txt
@@ -1,7 +1,7 @@
1Qualcomm MSM8974 TLMM block 1Qualcomm MSM8974 TLMM block
2 2
3Required properties: 3Required properties:
4- compatible: "qcom,msm8x74-pinctrl" 4- compatible: "qcom,msm8974-pinctrl"
5- reg: Should be the base address and length of the TLMM block. 5- reg: Should be the base address and length of the TLMM block.
6- interrupts: Should be the parent IRQ of the TLMM block. 6- interrupts: Should be the parent IRQ of the TLMM block.
7- interrupt-controller: Marks the device node as an interrupt controller. 7- interrupt-controller: Marks the device node as an interrupt controller.
@@ -42,14 +42,14 @@ Non-empty subnodes must specify the 'pins' property.
42Note that not all properties are valid for all pins. 42Note that not all properties are valid for all pins.
43 43
44 44
45Valid values for qcom,pins are: 45Valid values for pins are:
46 gpio0-gpio145 46 gpio0-gpio145
47 Supports mux, bias and drive-strength 47 Supports mux, bias and drive-strength
48 48
49 sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data 49 sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk, sdc2_cmd, sdc2_data
50 Supports bias and drive-strength 50 Supports bias and drive-strength
51 51
52Valid values for qcom,function are: 52Valid values for function are:
53 blsp_i2c2, blsp_i2c6, blsp_i2c11, blsp_spi1, blsp_uart2, blsp_uart8, slimbus 53 blsp_i2c2, blsp_i2c6, blsp_i2c11, blsp_spi1, blsp_uart2, blsp_uart8, slimbus
54 54
55 (Note that this is not yet the complete list of functions) 55 (Note that this is not yet the complete list of functions)
@@ -73,18 +73,18 @@ Example:
73 73
74 uart2_default: uart2_default { 74 uart2_default: uart2_default {
75 mux { 75 mux {
76 qcom,pins = "gpio4", "gpio5"; 76 pins = "gpio4", "gpio5";
77 qcom,function = "blsp_uart2"; 77 function = "blsp_uart2";
78 }; 78 };
79 79
80 tx { 80 tx {
81 qcom,pins = "gpio4"; 81 pins = "gpio4";
82 drive-strength = <4>; 82 drive-strength = <4>;
83 bias-disable; 83 bias-disable;
84 }; 84 };
85 85
86 rx { 86 rx {
87 qcom,pins = "gpio5"; 87 pins = "gpio5";
88 drive-strength = <2>; 88 drive-strength = <2>;
89 bias-pull-up; 89 bias-pull-up;
90 }; 90 };
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index 257677de3e6b..2b32783ba821 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -16,6 +16,7 @@ Required Properties:
16 - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller. 16 - "samsung,exynos4210-pinctrl": for Exynos4210 compatible pin-controller.
17 - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller. 17 - "samsung,exynos4x12-pinctrl": for Exynos4x12 compatible pin-controller.
18 - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller. 18 - "samsung,exynos5250-pinctrl": for Exynos5250 compatible pin-controller.
19 - "samsung,exynos5260-pinctrl": for Exynos5260 compatible pin-controller.
19 - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller. 20 - "samsung,exynos5420-pinctrl": for Exynos5420 compatible pin-controller.
20 21
21- reg: Base address of the pin controller hardware module and length of 22- reg: Base address of the pin controller hardware module and length of
diff --git a/Documentation/devicetree/bindings/power/bq2415x.txt b/Documentation/devicetree/bindings/power/bq2415x.txt
new file mode 100644
index 000000000000..d0327f0b59ad
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/bq2415x.txt
@@ -0,0 +1,47 @@
1Binding for TI bq2415x Li-Ion Charger
2
3Required properties:
4- compatible: Should contain one of the following:
5 * "ti,bq24150"
6 * "ti,bq24150"
7 * "ti,bq24150a"
8 * "ti,bq24151"
9 * "ti,bq24151a"
10 * "ti,bq24152"
11 * "ti,bq24153"
12 * "ti,bq24153a"
13 * "ti,bq24155"
14 * "ti,bq24156"
15 * "ti,bq24156a"
16 * "ti,bq24158"
17- reg: integer, i2c address of the device.
18- ti,current-limit: integer, initial maximum current charger can pull
19 from power supply in mA.
20- ti,weak-battery-voltage: integer, weak battery voltage threshold in mV.
21 The chip will use slow precharge if battery voltage
22 is below this value.
23- ti,battery-regulation-voltage: integer, maximum charging voltage in mV.
24- ti,charge-current: integer, maximum charging current in mA.
25- ti,termination-current: integer, charge will be terminated when current in
26 constant-voltage phase drops below this value (in mA).
27- ti,resistor-sense: integer, value of sensing resistor in milliohm.
28
29Optional properties:
30- ti,usb-charger-detection: phandle to usb charger detection device.
31 (required for auto mode)
32
33Example from Nokia N900:
34
35bq24150a {
36 compatible = "ti,bq24150a";
37 reg = <0x6b>;
38
39 ti,current-limit = <100>;
40 ti,weak-battery-voltage = <3400>;
41 ti,battery-regulation-voltage = <4200>;
42 ti,charge-current = <650>;
43 ti,termination-current = <100>;
44 ti,resistor-sense = <68>;
45
46 ti,usb-charger-detection = <&isp1704>;
47};
diff --git a/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt b/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt
index 0347d8350d94..af25e77c0e0c 100644
--- a/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt
+++ b/Documentation/devicetree/bindings/power_supply/qnap-poweroff.txt
@@ -6,8 +6,11 @@ Orion5x SoCs. Sending the character 'A', at 19200 baud, tells the
6microcontroller to turn the power off. This driver adds a handler to 6microcontroller to turn the power off. This driver adds a handler to
7pm_power_off which is called to turn the power off. 7pm_power_off which is called to turn the power off.
8 8
9Synology NAS devices use a similar scheme, but a different baud rate,
109600, and a different character, '1'.
11
9Required Properties: 12Required Properties:
10- compatible: Should be "qnap,power-off" 13- compatible: Should be "qnap,power-off" or "synology,power-off"
11 14
12- reg: Address and length of the register set for UART1 15- reg: Address and length of the register set for UART1
13- clocks: tclk clock 16- clocks: tclk clock
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt b/Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt
new file mode 100644
index 000000000000..c41b2187eaa8
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/l2cache.txt
@@ -0,0 +1,23 @@
1Freescale L2 Cache Controller
2
3L2 cache is present in Freescale's QorIQ and QorIQ Qonverge platforms.
4The cache bindings explained below are ePAPR compliant
5
6Required Properties:
7
8- compatible : Should include "fsl,chip-l2-cache-controller" and "cache"
9 where chip is the processor (bsc9132, npc8572 etc.)
10- reg : Address and size of L2 cache controller registers
11- cache-size : Size of the entire L2 cache
12- interrupts : Error interrupt of L2 controller
13- cache-line-size : Size of L2 cache lines
14
15Example:
16
17 L2: l2-cache-controller@20000 {
18 compatible = "fsl,bsc9132-l2-cache-controller", "cache";
19 reg = <0x20000 0x1000>;
20 cache-line-size = <32>; // 32 bytes
21 cache-size = <0x40000>; // L2,256K
22 interrupts = <16 2 1 0>;
23 };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt b/Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt
new file mode 100644
index 000000000000..f87856faf1ab
--- /dev/null
+++ b/Documentation/devicetree/bindings/powerpc/fsl/mem-ctrlr.txt
@@ -0,0 +1,27 @@
1Freescale DDR memory controller
2
3Properties:
4
5- compatible : Should include "fsl,chip-memory-controller" where
6 chip is the processor (bsc9132, mpc8572 etc.), or
7 "fsl,qoriq-memory-controller".
8- reg : Address and size of DDR controller registers
9- interrupts : Error interrupt of DDR controller
10
11Example 1:
12
13 memory-controller@2000 {
14 compatible = "fsl,bsc9132-memory-controller";
15 reg = <0x2000 0x1000>;
16 interrupts = <16 2 1 8>;
17 };
18
19
20Example 2:
21
22 ddr1: memory-controller@8000 {
23 compatible = "fsl,qoriq-memory-controller-v4.7",
24 "fsl,qoriq-memory-controller";
25 reg = <0x8000 0x1000>;
26 interrupts = <16 2 1 23>;
27 };
diff --git a/Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt b/Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt
new file mode 100644
index 000000000000..a183db48f910
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/cirrus,clps711x-pwm.txt
@@ -0,0 +1,16 @@
1* Cirris Logic CLPS711X PWM controller
2
3Required properties:
4- compatible: Shall contain "cirrus,clps711x-pwm".
5- reg: Physical base address and length of the controller's registers.
6- clocks: phandle + clock specifier pair of the PWM reference clock.
7- #pwm-cells: Should be 1. The cell specifies the index of the channel.
8
9Example:
10 pwm: pwm@80000400 {
11 compatible = "cirrus,ep7312-pwm",
12 "cirrus,clps711x-pwm";
13 reg = <0x80000400 0x4>;
14 clocks = <&clks 8>;
15 #pwm-cells = <1>;
16 };
diff --git a/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
new file mode 100644
index 000000000000..0bda229a6171
--- /dev/null
+++ b/Documentation/devicetree/bindings/pwm/pwm-fsl-ftm.txt
@@ -0,0 +1,35 @@
1Freescale FlexTimer Module (FTM) PWM controller
2
3Required properties:
4- compatible: Should be "fsl,vf610-ftm-pwm".
5- reg: Physical base address and length of the controller's registers
6- #pwm-cells: Should be 3. See pwm.txt in this directory for a description of
7 the cells format.
8- clock-names: Should include the following module clock source entries:
9 "ftm_sys" (module clock, also can be used as counter clock),
10 "ftm_ext" (external counter clock),
11 "ftm_fix" (fixed counter clock),
12 "ftm_cnt_clk_en" (external and fixed counter clock enable/disable).
13- clocks: Must contain a phandle and clock specifier for each entry in
14 clock-names, please see clock/clock-bindings.txt for details of the property
15 values.
16- pinctrl-names: Must contain a "default" entry.
17- pinctrl-NNN: One property must exist for each entry in pinctrl-names.
18 See pinctrl/pinctrl-bindings.txt for details of the property values.
19
20
21Example:
22
23pwm0: pwm@40038000 {
24 compatible = "fsl,vf610-ftm-pwm";
25 reg = <0x40038000 0x1000>;
26 #pwm-cells = <3>;
27 clock-names = "ftm_sys", "ftm_ext",
28 "ftm_fix", "ftm_cnt_clk_en";
29 clocks = <&clks VF610_CLK_FTM0>,
30 <&clks VF610_CLK_FTM0_EXT_SEL>,
31 <&clks VF610_CLK_FTM0_FIX_SEL>,
32 <&clks VF610_CLK_FTM0_EXT_FIX_EN>;
33 pinctrl-names = "default";
34 pinctrl-0 = <&pinctrl_pwm0_1>;
35};
diff --git a/Documentation/devicetree/bindings/regulator/gpio-regulator.txt b/Documentation/devicetree/bindings/regulator/gpio-regulator.txt
index 63c659800c03..e5cac1e0ca8a 100644
--- a/Documentation/devicetree/bindings/regulator/gpio-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/gpio-regulator.txt
@@ -8,8 +8,12 @@ Required properties:
8Optional properties: 8Optional properties:
9- enable-gpio : GPIO to use to enable/disable the regulator. 9- enable-gpio : GPIO to use to enable/disable the regulator.
10- gpios : GPIO group used to control voltage. 10- gpios : GPIO group used to control voltage.
11- gpios-states : gpios pin's initial states array. 0: LOW, 1: HIGH.
12 defualt is LOW if nothing is specified.
11- startup-delay-us : Startup time in microseconds. 13- startup-delay-us : Startup time in microseconds.
12- enable-active-high : Polarity of GPIO is active high (default is low). 14- enable-active-high : Polarity of GPIO is active high (default is low).
15- regulator-type : Specifies what is being regulated, must be either
16 "voltage" or "current", defaults to current.
13 17
14Any property defined as part of the core regulator binding defined in 18Any property defined as part of the core regulator binding defined in
15regulator.txt can also be used. 19regulator.txt can also be used.
diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt
index fc989b2e8057..34ef5d16d0f1 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" 4- compatible: "fsl,pfuze100" or "fsl,pfuze200"
5- reg: I2C slave address 5- reg: I2C slave address
6 6
7Required child node: 7Required child node:
@@ -10,11 +10,14 @@ Required child node:
10 Documentation/devicetree/bindings/regulator/regulator.txt. 10 Documentation/devicetree/bindings/regulator/regulator.txt.
11 11
12 The valid names for regulators are: 12 The valid names for regulators are:
13 --PFUZE100
13 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
16 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6
14 17
15Each regulator is defined using the standard binding for regulators. 18Each regulator is defined using the standard binding for regulators.
16 19
17Example: 20Example 1: PFUZE100
18 21
19 pmic: pfuze100@08 { 22 pmic: pfuze100@08 {
20 compatible = "fsl,pfuze100"; 23 compatible = "fsl,pfuze100";
@@ -113,3 +116,92 @@ Example:
113 }; 116 };
114 }; 117 };
115 }; 118 };
119
120
121Example 2: PFUZE200
122
123 pmic: pfuze200@08 {
124 compatible = "fsl,pfuze200";
125 reg = <0x08>;
126
127 regulators {
128 sw1a_reg: sw1ab {
129 regulator-min-microvolt = <300000>;
130 regulator-max-microvolt = <1875000>;
131 regulator-boot-on;
132 regulator-always-on;
133 regulator-ramp-delay = <6250>;
134 };
135
136 sw2_reg: sw2 {
137 regulator-min-microvolt = <800000>;
138 regulator-max-microvolt = <3300000>;
139 regulator-boot-on;
140 regulator-always-on;
141 };
142
143 sw3a_reg: sw3a {
144 regulator-min-microvolt = <400000>;
145 regulator-max-microvolt = <1975000>;
146 regulator-boot-on;
147 regulator-always-on;
148 };
149
150 sw3b_reg: sw3b {
151 regulator-min-microvolt = <400000>;
152 regulator-max-microvolt = <1975000>;
153 regulator-boot-on;
154 regulator-always-on;
155 };
156
157 swbst_reg: swbst {
158 regulator-min-microvolt = <5000000>;
159 regulator-max-microvolt = <5150000>;
160 };
161
162 snvs_reg: vsnvs {
163 regulator-min-microvolt = <1000000>;
164 regulator-max-microvolt = <3000000>;
165 regulator-boot-on;
166 regulator-always-on;
167 };
168
169 vref_reg: vrefddr {
170 regulator-boot-on;
171 regulator-always-on;
172 };
173
174 vgen1_reg: vgen1 {
175 regulator-min-microvolt = <800000>;
176 regulator-max-microvolt = <1550000>;
177 };
178
179 vgen2_reg: vgen2 {
180 regulator-min-microvolt = <800000>;
181 regulator-max-microvolt = <1550000>;
182 };
183
184 vgen3_reg: vgen3 {
185 regulator-min-microvolt = <1800000>;
186 regulator-max-microvolt = <3300000>;
187 };
188
189 vgen4_reg: vgen4 {
190 regulator-min-microvolt = <1800000>;
191 regulator-max-microvolt = <3300000>;
192 regulator-always-on;
193 };
194
195 vgen5_reg: vgen5 {
196 regulator-min-microvolt = <1800000>;
197 regulator-max-microvolt = <3300000>;
198 regulator-always-on;
199 };
200
201 vgen6_reg: vgen6 {
202 regulator-min-microvolt = <1800000>;
203 regulator-max-microvolt = <3300000>;
204 regulator-always-on;
205 };
206 };
207 };
diff --git a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
index fc6b38f035bd..d290988ed975 100644
--- a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
@@ -69,13 +69,16 @@ sub-node should be of the format as listed below.
69 }; 69 };
70 }; 70 };
71The above regulator entries are defined in regulator bindings documentation 71The above regulator entries are defined in regulator bindings documentation
72except op_mode description. 72except these properties:
73 - op_mode: describes the different operating modes of the LDO's with 73 - op_mode: describes the different operating modes of the LDO's with
74 power mode change in SOC. The different possible values are, 74 power mode change in SOC. The different possible values are,
75 0 - always off mode 75 0 - always off mode
76 1 - on in normal mode 76 1 - on in normal mode
77 2 - low power mode 77 2 - low power mode
78 3 - suspend mode 78 3 - suspend mode
79 - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one
80 GPIO controlling this regulator (enable/disable); This is
81 valid only for buck9.
79 82
80The following are the names of the regulators that the s5m8767 pmic block 83The following are the names of the regulators that the s5m8767 pmic block
81supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number 84supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
@@ -148,5 +151,13 @@ Example:
148 regulator-always-on; 151 regulator-always-on;
149 regulator-boot-on; 152 regulator-boot-on;
150 }; 153 };
154
155 vemmc_reg: BUCK9 {
156 regulator-name = "VMEM_VDD_2.8V";
157 regulator-min-microvolt = <2800000>;
158 regulator-max-microvolt = <2800000>;
159 op_mode = <3>; /* Standby Mode */
160 s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>;
161 };
151 }; 162 };
152 }; 163 };
diff --git a/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt
index 2e57a33e9029..c58db75f959e 100644
--- a/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt
@@ -4,10 +4,14 @@ Required Properties:
4- compatible: Should be one of: 4- compatible: Should be one of:
5 - "ti,abb-v1" for older SoCs like OMAP3 5 - "ti,abb-v1" for older SoCs like OMAP3
6 - "ti,abb-v2" for newer SoCs like OMAP4, OMAP5 6 - "ti,abb-v2" for newer SoCs like OMAP4, OMAP5
7 - "ti,abb-v3" for a generic definition where setup and control registers are
8 provided (example: DRA7)
7- reg: Address and length of the register set for the device. It contains 9- reg: Address and length of the register set for the device. It contains
8 the information of registers in the same order as described by reg-names 10 the information of registers in the same order as described by reg-names
9- reg-names: Should contain the reg names 11- reg-names: Should contain the reg names
10 - "base-address" - contains base address of ABB module 12 - "base-address" - contains base address of ABB module (ti,abb-v1,ti,abb-v2)
13 - "control-address" - contains control register address of ABB module (ti,abb-v3)
14 - "setup-address" - contains setup register address of ABB module (ti,abb-v3)
11 - "int-address" - contains address of interrupt register for ABB module 15 - "int-address" - contains address of interrupt register for ABB module
12 (also see Optional properties) 16 (also see Optional properties)
13- #address-cell: should be 0 17- #address-cell: should be 0
diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
new file mode 100644
index 000000000000..3da0ebdba8d9
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
@@ -0,0 +1,133 @@
1*** Reserved memory regions ***
2
3Reserved memory is specified as a node under the /reserved-memory node.
4The operating system shall exclude reserved memory from normal usage
5one can create child nodes describing particular reserved (excluded from
6normal use) memory regions. Such memory regions are usually designed for
7the special usage by various device drivers.
8
9Parameters for each memory region can be encoded into the device tree
10with the following nodes:
11
12/reserved-memory node
13---------------------
14#address-cells, #size-cells (required) - standard definition
15 - Should use the same values as the root node
16ranges (required) - standard definition
17 - Should be empty
18
19/reserved-memory/ child nodes
20-----------------------------
21Each child of the reserved-memory node specifies one or more regions of
22reserved memory. Each child node may either use a 'reg' property to
23specify a specific range of reserved memory, or a 'size' property with
24optional constraints to request a dynamically allocated block of memory.
25
26Following the generic-names recommended practice, node names should
27reflect the purpose of the node (ie. "framebuffer" or "dma-pool"). Unit
28address (@<address>) should be appended to the name if the node is a
29static allocation.
30
31Properties:
32Requires either a) or b) below.
33a) static allocation
34 reg (required) - standard definition
35b) dynamic allocation
36 size (required) - length based on parent's #size-cells
37 - Size in bytes of memory to reserve.
38 alignment (optional) - length based on parent's #size-cells
39 - Address boundary for alignment of allocation.
40 alloc-ranges (optional) - prop-encoded-array (address, length pairs).
41 - Specifies regions of memory that are
42 acceptable to allocate from.
43
44If both reg and size are present, then the reg property takes precedence
45and size is ignored.
46
47Additional properties:
48compatible (optional) - standard definition
49 - may contain the following strings:
50 - shared-dma-pool: This indicates a region of memory meant to be
51 used as a shared pool of DMA buffers for a set of devices. It can
52 be used by an operating system to instanciate the necessary pool
53 management subsystem if necessary.
54 - vendor specific string in the form <vendor>,[<device>-]<usage>
55no-map (optional) - empty property
56 - Indicates the operating system must not create a virtual mapping
57 of the region as part of its standard mapping of system memory,
58 nor permit speculative access to it under any circumstances other
59 than under the control of the device driver using the region.
60reusable (optional) - empty property
61 - The operating system can use the memory in this region with the
62 limitation that the device driver(s) owning the region need to be
63 able to reclaim it back. Typically that means that the operating
64 system can use that region to store volatile or cached data that
65 can be otherwise regenerated or migrated elsewhere.
66
67Linux implementation note:
68- If a "linux,cma-default" property is present, then Linux will use the
69 region for the default pool of the contiguous memory allocator.
70
71Device node references to reserved memory
72-----------------------------------------
73Regions in the /reserved-memory node may be referenced by other device
74nodes by adding a memory-region property to the device node.
75
76memory-region (optional) - phandle, specifier pairs to children of /reserved-memory
77
78Example
79-------
80This example defines 3 contiguous regions are defined for Linux kernel:
81one default of all device drivers (named linux,cma@72000000 and 64MiB in size),
82one dedicated to the framebuffer device (named framebuffer@78000000, 8MiB), and
83one for multimedia processing (named multimedia-memory@77000000, 64MiB).
84
85/ {
86 #address-cells = <1>;
87 #size-cells = <1>;
88
89 memory {
90 reg = <0x40000000 0x40000000>;
91 };
92
93 reserved-memory {
94 #address-cells = <1>;
95 #size-cells = <1>;
96 ranges;
97
98 /* global autoconfigured region for contiguous allocations */
99 linux,cma {
100 compatible = "shared-dma-pool";
101 reusable;
102 size = <0x4000000>;
103 alignment = <0x2000>;
104 linux,cma-default;
105 };
106
107 display_reserved: framebuffer@78000000 {
108 reg = <0x78000000 0x800000>;
109 };
110
111 multimedia_reserved: multimedia@77000000 {
112 compatible = "acme,multimedia-memory";
113 reg = <0x77000000 0x4000000>;
114 };
115 };
116
117 /* ... */
118
119 fb0: video@12300000 {
120 memory-region = <&display_reserved>;
121 /* ... */
122 };
123
124 scaler: scaler@12500000 {
125 memory-region = <&multimedia_reserved>;
126 /* ... */
127 };
128
129 codec: codec@12600000 {
130 memory-region = <&multimedia_reserved>;
131 /* ... */
132 };
133};
diff --git a/Documentation/devicetree/bindings/reset/sirf,rstc.txt b/Documentation/devicetree/bindings/reset/sirf,rstc.txt
new file mode 100644
index 000000000000..0505de742d30
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/sirf,rstc.txt
@@ -0,0 +1,42 @@
1CSR SiRFSoC Reset Controller
2======================================
3
4Please also refer to reset.txt in this directory for common reset
5controller binding usage.
6
7Required properties:
8- compatible: Should be "sirf,prima2-rstc" or "sirf,marco-rstc"
9- reg: should be register base and length as documented in the
10 datasheet
11- #reset-cells: 1, see below
12
13example:
14
15rstc: reset-controller@88010000 {
16 compatible = "sirf,prima2-rstc";
17 reg = <0x88010000 0x1000>;
18 #reset-cells = <1>;
19};
20
21Specifying reset lines connected to IP modules
22==============================================
23
24The reset controller(rstc) manages various reset sources. This module provides
25reset signals for most blocks in system. Those device nodes should specify the
26reset line on the rstc in their resets property, containing a phandle to the
27rstc device node and a RESET_INDEX specifying which module to reset, as described
28in reset.txt.
29
30For SiRFSoC, RESET_INDEX is just reset_bit defined in SW_RST0 and SW_RST1 registers.
31For modules whose rest_bit is in SW_RST0, its RESET_INDEX is 0~31. For modules whose
32rest_bit is in SW_RST1, its RESET_INDEX is 32~63.
33
34example:
35
36vpp@90020000 {
37 compatible = "sirf,prima2-vpp";
38 reg = <0x90020000 0x10000>;
39 interrupts = <31>;
40 clocks = <&clks 35>;
41 resets = <&rstc 6>;
42};
diff --git a/Documentation/devicetree/bindings/reset/st,sti-powerdown.txt b/Documentation/devicetree/bindings/reset/st,sti-powerdown.txt
new file mode 100644
index 000000000000..5ab26b7e9d35
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/st,sti-powerdown.txt
@@ -0,0 +1,47 @@
1STMicroelectronics STi family Sysconfig Peripheral Powerdown Reset Controller
2=============================================================================
3
4This binding describes a reset controller device that is used to enable and
5disable on-chip peripheral controllers such as USB and SATA, using
6"powerdown" control bits found in the STi family SoC system configuration
7registers. These have been grouped together into a single reset controller
8device for convenience.
9
10The actual action taken when powerdown is asserted is hardware dependent.
11However, when asserted it may not be possible to access the hardware's
12registers and after an assert/deassert sequence the hardware's previous state
13may no longer be valid.
14
15Please refer to reset.txt in this directory for common reset
16controller binding usage.
17
18Required properties:
19- compatible: Should be "st,<chip>-powerdown"
20 ex: "st,stih415-powerdown", "st,stih416-powerdown"
21- #reset-cells: 1, see below
22
23example:
24
25 powerdown: powerdown-controller {
26 #reset-cells = <1>;
27 compatible = "st,stih415-powerdown";
28 };
29
30
31Specifying powerdown control of devices
32=======================================
33
34Device nodes should specify the reset channel required in their "resets"
35property, containing a phandle to the powerdown device node and an
36index specifying which channel to use, as described in reset.txt
37
38example:
39
40 usb1: usb@fe200000 {
41 resets = <&powerdown STIH41X_USB1_POWERDOWN>;
42 };
43
44Macro definitions for the supported reset channels can be found in:
45
46include/dt-bindings/reset-controller/stih415-resets.h
47include/dt-bindings/reset-controller/stih416-resets.h
diff --git a/Documentation/devicetree/bindings/reset/st,sti-softreset.txt b/Documentation/devicetree/bindings/reset/st,sti-softreset.txt
new file mode 100644
index 000000000000..a8d3d3c25ca2
--- /dev/null
+++ b/Documentation/devicetree/bindings/reset/st,sti-softreset.txt
@@ -0,0 +1,46 @@
1STMicroelectronics STi family Sysconfig Peripheral SoftReset Controller
2=============================================================================
3
4This binding describes a reset controller device that is used to enable and
5disable on-chip peripheral controllers such as USB and SATA, using
6"softreset" control bits found in the STi family SoC system configuration
7registers.
8
9The actual action taken when softreset is asserted is hardware dependent.
10However, when asserted it may not be possible to access the hardware's
11registers and after an assert/deassert sequence the hardware's previous state
12may no longer be valid.
13
14Please refer to reset.txt in this directory for common reset
15controller binding usage.
16
17Required properties:
18- compatible: Should be "st,<chip>-softreset" example:
19 "st,stih415-softreset" or "st,stih416-softreset";
20- #reset-cells: 1, see below
21
22example:
23
24 softreset: softreset-controller {
25 #reset-cells = <1>;
26 compatible = "st,stih415-softreset";
27 };
28
29
30Specifying softreset control of devices
31=======================================
32
33Device nodes should specify the reset channel required in their "resets"
34property, containing a phandle to the softreset device node and an
35index specifying which channel to use, as described in reset.txt
36
37example:
38
39 ethernet0{
40 resets = <&softreset STIH415_ETH0_SOFTRESET>;
41 };
42
43Macro definitions for the supported reset channels can be found in:
44
45include/dt-bindings/reset-controller/stih415-resets.h
46include/dt-bindings/reset-controller/stih416-resets.h
diff --git a/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt b/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt
index 7cb9dbf34878..6983aad376c3 100644
--- a/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt
+++ b/Documentation/devicetree/bindings/rtc/sunxi-rtc.txt
@@ -3,7 +3,7 @@
3RTC controller for the Allwinner A10/A20 3RTC controller for the Allwinner A10/A20
4 4
5Required properties: 5Required properties:
6- compatible : Should be "allwinner,sun4i-rtc" or "allwinner,sun7i-a20-rtc" 6- compatible : Should be "allwinner,sun4i-a10-rtc" or "allwinner,sun7i-a20-rtc"
7- reg: physical base address of the controller and length of memory mapped 7- reg: physical base address of the controller and length of memory mapped
8 region. 8 region.
9- interrupts: IRQ line for the RTC. 9- interrupts: IRQ line for the RTC.
@@ -11,7 +11,7 @@ Required properties:
11Example: 11Example:
12 12
13rtc: rtc@01c20d00 { 13rtc: rtc@01c20d00 {
14 compatible = "allwinner,sun4i-rtc"; 14 compatible = "allwinner,sun4i-a10-rtc";
15 reg = <0x01c20d00 0x20>; 15 reg = <0x01c20d00 0x20>;
16 interrupts = <24>; 16 interrupts = <24>;
17}; 17};
diff --git a/Documentation/devicetree/bindings/serial/atmel-usart.txt b/Documentation/devicetree/bindings/serial/atmel-usart.txt
index 9c5d19ac935c..17c1042b2df8 100644
--- a/Documentation/devicetree/bindings/serial/atmel-usart.txt
+++ b/Documentation/devicetree/bindings/serial/atmel-usart.txt
@@ -13,6 +13,8 @@ Required properties:
13Optional properties: 13Optional properties:
14- atmel,use-dma-rx: use of PDC or DMA for receiving data 14- atmel,use-dma-rx: use of PDC or DMA for receiving data
15- atmel,use-dma-tx: use of PDC or DMA for transmitting data 15- atmel,use-dma-tx: use of PDC or DMA for transmitting data
16- rts-gpios: specify a GPIO for RTS line. It will use specified PIO instead of the peripheral
17 function pin for the USART RTS feature. If unsure, don't specify this property.
16- add dma bindings for dma transfer: 18- add dma bindings for dma transfer:
17 - dmas: DMA specifier, consisting of a phandle to DMA controller node, 19 - dmas: DMA specifier, consisting of a phandle to DMA controller node,
18 memory peripheral interface and USART DMA channel ID, FIFO configuration. 20 memory peripheral interface and USART DMA channel ID, FIFO configuration.
@@ -33,6 +35,7 @@ Example:
33 clock-names = "usart"; 35 clock-names = "usart";
34 atmel,use-dma-rx; 36 atmel,use-dma-rx;
35 atmel,use-dma-tx; 37 atmel,use-dma-tx;
38 rts-gpios = <&pioD 15 0>;
36 }; 39 };
37 40
38- use DMA: 41- use DMA:
diff --git a/Documentation/devicetree/bindings/serial/efm32-uart.txt b/Documentation/devicetree/bindings/serial/efm32-uart.txt
index 8e080b893b49..1984bdfbd545 100644
--- a/Documentation/devicetree/bindings/serial/efm32-uart.txt
+++ b/Documentation/devicetree/bindings/serial/efm32-uart.txt
@@ -6,7 +6,7 @@ Required properties:
6- interrupts : Should contain uart interrupt 6- interrupts : Should contain uart interrupt
7 7
8Optional properties: 8Optional properties:
9- location : Decides the location of the USART I/O pins. 9- efm32,location : Decides the location of the USART I/O pins.
10 Allowed range : [0 .. 5] 10 Allowed range : [0 .. 5]
11 Default: 0 11 Default: 0
12 12
@@ -16,5 +16,5 @@ uart@0x4000c400 {
16 compatible = "efm32,uart"; 16 compatible = "efm32,uart";
17 reg = <0x4000c400 0x400>; 17 reg = <0x4000c400 0x400>;
18 interrupts = <15>; 18 interrupts = <15>;
19 location = <0>; 19 efm32,location = <0>;
20}; 20};
diff --git a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
index 6fd1dd1638dd..a1d1205d8185 100644
--- a/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
+++ b/Documentation/devicetree/bindings/serial/fsl-lpuart.txt
@@ -4,11 +4,24 @@ Required properties:
4- compatible : Should be "fsl,<soc>-lpuart" 4- compatible : Should be "fsl,<soc>-lpuart"
5- reg : Address and length of the register set for the device 5- reg : Address and length of the register set for the device
6- interrupts : Should contain uart interrupt 6- interrupts : Should contain uart interrupt
7- clocks : phandle + clock specifier pairs, one for each entry in clock-names
8- clock-names : should contain: "ipg" - the uart clock
9
10Optional properties:
11- dmas: A list of two dma specifiers, one for each entry in dma-names.
12- dma-names: should contain "tx" and "rx".
13
14Note: Optional properties for DMA support. Write them both or both not.
7 15
8Example: 16Example:
9 17
10uart0: serial@40027000 { 18uart0: serial@40027000 {
11 compatible = "fsl,vf610-lpuart"; 19 compatible = "fsl,vf610-lpuart";
12 reg = <0x40027000 0x1000>; 20 reg = <0x40027000 0x1000>;
13 interrupts = <0 61 0x00>; 21 interrupts = <0 61 0x00>;
14 }; 22 clocks = <&clks VF610_CLK_UART0>;
23 clock-names = "ipg";
24 dmas = <&edma0 0 2>,
25 <&edma0 0 3>;
26 dma-names = "rx","tx";
27 };
diff --git a/Documentation/devicetree/bindings/serial/maxim,max310x.txt b/Documentation/devicetree/bindings/serial/maxim,max310x.txt
new file mode 100644
index 000000000000..83a919c241b0
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/maxim,max310x.txt
@@ -0,0 +1,36 @@
1* Maxim MAX310X advanced Universal Asynchronous Receiver-Transmitter (UART)
2
3Required properties:
4- compatible: Should be one of the following:
5 - "maxim,max3107" for Maxim MAX3107,
6 - "maxim,max3108" for Maxim MAX3108,
7 - "maxim,max3109" for Maxim MAX3109,
8 - "maxim,max14830" for Maxim MAX14830.
9- reg: SPI chip select number.
10- interrupt-parent: The phandle for the interrupt controller that
11 services interrupts for this IC.
12- interrupts: Specifies the interrupt source of the parent interrupt
13 controller. The format of the interrupt specifier depends on the
14 parent interrupt controller.
15- clocks: phandle to the IC source clock.
16- clock-names: Should be "xtal" if clock is an external crystal or
17 "osc" if an external clock source is used.
18
19Optional properties:
20- gpio-controller: Marks the device node as a GPIO controller.
21- #gpio-cells: Should be two. The first cell is the GPIO number and
22 the second cell is used to specify the GPIO polarity:
23 0 = active high,
24 1 = active low.
25
26Example:
27 max14830: max14830@0 {
28 compatible = "maxim,max14830";
29 reg = <0>;
30 clocks = <&clk20m>;
31 clock-names = "osc";
32 interrupt-parent = <&gpio3>;
33 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
34 gpio-controller;
35 #gpio-cells = <2>;
36 };
diff --git a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
index f372cf29068d..53e6c175db6c 100644
--- a/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
+++ b/Documentation/devicetree/bindings/serial/renesas,sci-serial.txt
@@ -37,7 +37,7 @@ Example:
37 }; 37 };
38 38
39 scifa0: serial@e6c40000 { 39 scifa0: serial@e6c40000 {
40 compatible = "renesas,scifa-r8a7790", "renesas,scifa-generic"; 40 compatible = "renesas,scifa-r8a7790", "renesas,scifa";
41 reg = <0 0xe6c40000 0 64>; 41 reg = <0 0xe6c40000 0 64>;
42 interrupt-parent = <&gic>; 42 interrupt-parent = <&gic>;
43 interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>; 43 interrupts = <0 144 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/sound/armada-370db-audio.txt b/Documentation/devicetree/bindings/sound/armada-370db-audio.txt
new file mode 100644
index 000000000000..bf984d238620
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/armada-370db-audio.txt
@@ -0,0 +1,27 @@
1Device Tree bindings for the Armada 370 DB audio
2================================================
3
4These Device Tree bindings are used to describe the audio complex
5found on the Armada 370 DB platform.
6
7Mandatory properties:
8
9 * compatible: must be "marvell,a370db-audio"
10
11 * marvell,audio-controller: a phandle that points to the audio
12 controller of the Armada 370 SoC.
13
14 * marvell,audio-codec: a set of three phandles that points to:
15
16 1/ the analog audio codec connected to the Armada 370 SoC
17 2/ the S/PDIF transceiver
18 3/ the S/PDIF receiver
19
20Example:
21
22 sound {
23 compatible = "marvell,a370db-audio";
24 marvell,audio-controller = <&audio_controller>;
25 marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
26 status = "okay";
27 };
diff --git a/Documentation/devicetree/bindings/sound/cs42xx8.txt b/Documentation/devicetree/bindings/sound/cs42xx8.txt
new file mode 100644
index 000000000000..f631fbca6284
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/cs42xx8.txt
@@ -0,0 +1,28 @@
1CS42448/CS42888 audio CODEC
2
3Required properties:
4
5 - compatible : must contain one of "cirrus,cs42448" and "cirrus,cs42888"
6
7 - reg : the I2C address of the device for I2C
8
9 - clocks : a list of phandles + clock-specifiers, one for each entry in
10 clock-names
11
12 - clock-names : must contain "mclk"
13
14 - VA-supply, VD-supply, VLS-supply, VLC-supply: power supplies for the device,
15 as covered in Documentation/devicetree/bindings/regulator/regulator.txt
16
17Example:
18
19codec: cs42888@48 {
20 compatible = "cirrus,cs42888";
21 reg = <0x48>;
22 clocks = <&codec_mclk 0>;
23 clock-names = "mclk";
24 VA-supply = <&reg_audio>;
25 VD-supply = <&reg_audio>;
26 VLS-supply = <&reg_audio>;
27 VLC-supply = <&reg_audio>;
28};
diff --git a/Documentation/devicetree/bindings/sound/da9055.txt b/Documentation/devicetree/bindings/sound/da9055.txt
new file mode 100644
index 000000000000..ed1b7cc6f249
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/da9055.txt
@@ -0,0 +1,22 @@
1* Dialog DA9055 Audio CODEC
2
3DA9055 provides Audio CODEC support (I2C only).
4
5The Audio CODEC device in DA9055 has it's own I2C address which is configurable,
6so the device is instantiated separately from the PMIC (MFD) device.
7
8For details on accompanying PMIC I2C device, see the following:
9Documentation/devicetree/bindings/mfd/da9055.txt
10
11Required properties:
12
13 - compatible: "dlg,da9055-codec"
14 - reg: Specifies the I2C slave address
15
16
17Example:
18
19 codec: da9055-codec@1a {
20 compatible = "dlg,da9055-codec";
21 reg = <0x1a>;
22 };
diff --git a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
index 865178d5cdf3..963e100514c2 100644
--- a/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
+++ b/Documentation/devicetree/bindings/sound/davinci-evm-audio.txt
@@ -5,12 +5,19 @@ Required properties:
5- ti,model : The user-visible name of this sound complex. 5- ti,model : The user-visible name of this sound complex.
6- ti,audio-codec : The phandle of the TLV320AIC3x audio codec 6- ti,audio-codec : The phandle of the TLV320AIC3x audio codec
7- ti,mcasp-controller : The phandle of the McASP controller 7- ti,mcasp-controller : The phandle of the McASP controller
8- ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec
9- ti,audio-routing : A list of the connections between audio components. 8- ti,audio-routing : A list of the connections between audio components.
10 Each entry is a pair of strings, the first being the connection's sink, 9 Each entry is a pair of strings, the first being the connection's sink,
11 the second being the connection's source. Valid names for sources and 10 the second being the connection's source. Valid names for sources and
12 sinks are the codec's pins, and the jacks on the board: 11 sinks are the codec's pins, and the jacks on the board:
13 12
13Optional properties:
14- ti,codec-clock-rate : The Codec Clock rate (in Hz) applied to the Codec.
15- clocks : Reference to the master clock
16- clock-names : The clock should be named "mclk"
17- Either codec-clock-rate or the codec-clock reference has to be defined. If
18 the both are defined the driver attempts to set referenced clock to the
19 defined rate and takes the rate from the clock reference.
20
14 Board connectors: 21 Board connectors:
15 22
16 * Headphone Jack 23 * Headphone Jack
diff --git a/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
new file mode 100644
index 000000000000..0d7985c864af
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/eukrea-tlv320.txt
@@ -0,0 +1,21 @@
1Audio complex for Eukrea boards with tlv320aic23 codec.
2
3Required properties:
4- compatible : "eukrea,asoc-tlv320"
5- eukrea,model : The user-visible name of this sound complex.
6- ssi-controller : The phandle of the SSI controller.
7- fsl,mux-int-port : The internal port of the i.MX audio muxer (AUDMUX).
8- fsl,mux-ext-port : The external port of the i.MX audio muxer.
9
10Note: The AUDMUX port numbering should start at 1, which is consistent with
11hardware manual.
12
13Example:
14
15 sound {
16 compatible = "eukrea,asoc-tlv320";
17 eukrea,model = "imx51-eukrea-tlv320aic23";
18 ssi-controller = <&ssi2>;
19 fsl,mux-int-port = <2>;
20 fsl,mux-ext-port = <3>;
21 };
diff --git a/Documentation/devicetree/bindings/sound/fsl,esai.txt b/Documentation/devicetree/bindings/sound/fsl,esai.txt
index d7b99fa637b5..aeb8c4a0b88d 100644
--- a/Documentation/devicetree/bindings/sound/fsl,esai.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,esai.txt
@@ -34,6 +34,10 @@ Required properties:
34 that ESAI would work in the synchronous mode, which means all the settings 34 that ESAI would work in the synchronous mode, which means all the settings
35 for Receiving would be duplicated from Transmition related registers. 35 for Receiving would be duplicated from Transmition related registers.
36 36
37 - big-endian : If this property is absent, the native endian mode will
38 be in use as default, or the big endian mode will be in use for all the
39 device registers.
40
37Example: 41Example:
38 42
39esai: esai@02024000 { 43esai: esai@02024000 {
@@ -46,5 +50,6 @@ esai: esai@02024000 {
46 dma-names = "rx", "tx"; 50 dma-names = "rx", "tx";
47 fsl,fifo-depth = <128>; 51 fsl,fifo-depth = <128>;
48 fsl,esai-synchronous; 52 fsl,esai-synchronous;
53 big-endian;
49 status = "disabled"; 54 status = "disabled";
50}; 55};
diff --git a/Documentation/devicetree/bindings/sound/fsl,spdif.txt b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
index f2ae335670f5..3e9e82c8eab3 100644
--- a/Documentation/devicetree/bindings/sound/fsl,spdif.txt
+++ b/Documentation/devicetree/bindings/sound/fsl,spdif.txt
@@ -29,6 +29,10 @@ Required properties:
29 can also be referred to TxClk_Source 29 can also be referred to TxClk_Source
30 bit of register SPDIF_STC. 30 bit of register SPDIF_STC.
31 31
32 - big-endian : If this property is absent, the native endian mode will
33 be in use as default, or the big endian mode will be in use for all the
34 device registers.
35
32Example: 36Example:
33 37
34spdif: spdif@02004000 { 38spdif: spdif@02004000 {
@@ -50,5 +54,6 @@ spdif: spdif@02004000 {
50 "rxtx5", "rxtx6", 54 "rxtx5", "rxtx6",
51 "rxtx7"; 55 "rxtx7";
52 56
57 big-endian;
53 status = "okay"; 58 status = "okay";
54}; 59};
diff --git a/Documentation/devicetree/bindings/sound/mvebu-audio.txt b/Documentation/devicetree/bindings/sound/mvebu-audio.txt
index f0062c5871b4..cb8c07c81ce4 100644
--- a/Documentation/devicetree/bindings/sound/mvebu-audio.txt
+++ b/Documentation/devicetree/bindings/sound/mvebu-audio.txt
@@ -5,6 +5,7 @@ Required properties:
5- compatible: 5- compatible:
6 "marvell,kirkwood-audio" for Kirkwood platforms 6 "marvell,kirkwood-audio" for Kirkwood platforms
7 "marvell,dove-audio" for Dove platforms 7 "marvell,dove-audio" for Dove platforms
8 "marvell,armada370-audio" for Armada 370 platforms
8 9
9- reg: physical base address of the controller and length of memory mapped 10- reg: physical base address of the controller and length of memory mapped
10 region. 11 region.
diff --git a/Documentation/devicetree/bindings/sound/pcm512x.txt b/Documentation/devicetree/bindings/sound/pcm512x.txt
new file mode 100644
index 000000000000..faff75e64573
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/pcm512x.txt
@@ -0,0 +1,30 @@
1PCM512x audio CODECs
2
3These devices support both I2C and SPI (configured with pin strapping
4on the board).
5
6Required properties:
7
8 - compatible : One of "ti,pcm5121" or "ti,pcm5122"
9
10 - reg : the I2C address of the device for I2C, the chip select
11 number for SPI.
12
13 - AVDD-supply, DVDD-supply, and CPVDD-supply : power supplies for the
14 device, as covered in bindings/regulator/regulator.txt
15
16Optional properties:
17
18 - 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
21Example:
22
23 pcm5122: pcm5122@4c {
24 compatible = "ti,pcm5122";
25 reg = <0x4c>;
26
27 AVDD-supply = <&reg_3v3_analog>;
28 DVDD-supply = <&reg_1v8>;
29 CPVDD-supply = <&reg_3v3>;
30 };
diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.txt b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt
new file mode 100644
index 000000000000..a44e9179faf5
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.txt
@@ -0,0 +1,105 @@
1Renesas R-Car sound
2
3Required properties:
4- compatible : "renesas,rcar_sound-gen1" if generation1
5 "renesas,rcar_sound-gen2" if generation2
6- reg : Should contain the register physical address.
7 required register is
8 SRU/ADG/SSI if generation1
9 SRU/ADG/SSIU/SSI if generation2
10- rcar_sound,ssi : Should contain SSI feature.
11 The number of SSI subnode should be same as HW.
12 see below for detail.
13- rcar_sound,src : Should contain SRC feature.
14 The number of SRC subnode should be same as HW.
15 see below for detail.
16- rcar_sound,dai : DAI contents.
17 The number of DAI subnode should be same as HW.
18 see below for detail.
19
20SSI subnode properties:
21- interrupts : Should contain SSI interrupt for PIO transfer
22- shared-pin : if shared clock pin
23
24SRC subnode properties:
25no properties at this point
26
27DAI subnode properties:
28- playback : list of playback modules
29- capture : list of capture modules
30
31Example:
32
33rcar_sound: rcar_sound@0xffd90000 {
34 #sound-dai-cells = <1>;
35 compatible = "renesas,rcar_sound-gen2";
36 reg = <0 0xec500000 0 0x1000>, /* SCU */
37 <0 0xec5a0000 0 0x100>, /* ADG */
38 <0 0xec540000 0 0x1000>, /* SSIU */
39 <0 0xec541000 0 0x1280>; /* SSI */
40
41 rcar_sound,src {
42 src0: src@0 { };
43 src1: src@1 { };
44 src2: src@2 { };
45 src3: src@3 { };
46 src4: src@4 { };
47 src5: src@5 { };
48 src6: src@6 { };
49 src7: src@7 { };
50 src8: src@8 { };
51 src9: src@9 { };
52 };
53
54 rcar_sound,ssi {
55 ssi0: ssi@0 {
56 interrupts = <0 370 IRQ_TYPE_LEVEL_HIGH>;
57 };
58 ssi1: ssi@1 {
59 interrupts = <0 371 IRQ_TYPE_LEVEL_HIGH>;
60 };
61 ssi2: ssi@2 {
62 interrupts = <0 372 IRQ_TYPE_LEVEL_HIGH>;
63 };
64 ssi3: ssi@3 {
65 interrupts = <0 373 IRQ_TYPE_LEVEL_HIGH>;
66 };
67 ssi4: ssi@4 {
68 interrupts = <0 374 IRQ_TYPE_LEVEL_HIGH>;
69 };
70 ssi5: ssi@5 {
71 interrupts = <0 375 IRQ_TYPE_LEVEL_HIGH>;
72 };
73 ssi6: ssi@6 {
74 interrupts = <0 376 IRQ_TYPE_LEVEL_HIGH>;
75 };
76 ssi7: ssi@7 {
77 interrupts = <0 377 IRQ_TYPE_LEVEL_HIGH>;
78 };
79 ssi8: ssi@8 {
80 interrupts = <0 378 IRQ_TYPE_LEVEL_HIGH>;
81 };
82 ssi9: ssi@9 {
83 interrupts = <0 379 IRQ_TYPE_LEVEL_HIGH>;
84 };
85 };
86
87 rcar_sound,dai {
88 dai0 {
89 playback = <&ssi5 &src5>;
90 capture = <&ssi6>;
91 };
92 dai1 {
93 playback = <&ssi3>;
94 };
95 dai2 {
96 capture = <&ssi4>;
97 };
98 dai3 {
99 playback = <&ssi7>;
100 };
101 dai4 {
102 capture = <&ssi8>;
103 };
104 };
105};
diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt
index 19c84df5fffa..131aa2ad7f1a 100644
--- a/Documentation/devicetree/bindings/sound/simple-card.txt
+++ b/Documentation/devicetree/bindings/sound/simple-card.txt
@@ -8,16 +8,26 @@ Required properties:
8 8
9Optional properties: 9Optional properties:
10 10
11- simple-audio-card,name : User specified audio sound card name, one string
12 property.
11- simple-audio-card,format : CPU/CODEC common audio format. 13- simple-audio-card,format : CPU/CODEC common audio format.
12 "i2s", "right_j", "left_j" , "dsp_a" 14 "i2s", "right_j", "left_j" , "dsp_a"
13 "dsp_b", "ac97", "pdm", "msb", "lsb" 15 "dsp_b", "ac97", "pdm", "msb", "lsb"
16- simple-audio-card,widgets : Please refer to widgets.txt.
14- simple-audio-card,routing : A list of the connections between audio components. 17- simple-audio-card,routing : A list of the connections between audio components.
15 Each entry is a pair of strings, the first being the 18 Each entry is a pair of strings, the first being the
16 connection's sink, the second being the connection's 19 connection's sink, the second being the connection's
17 source. 20 source.
21- dai-tdm-slot-num : Please refer to tdm-slot.txt.
22- dai-tdm-slot-width : Please refer to tdm-slot.txt.
18 23
19Required subnodes: 24Required subnodes:
20 25
26- simple-audio-card,dai-link : container for the CPU and CODEC sub-nodes
27 This container may be omitted when the
28 card has only one DAI link.
29 See the examples.
30
21- simple-audio-card,cpu : CPU sub-node 31- simple-audio-card,cpu : CPU sub-node
22- simple-audio-card,codec : CODEC sub-node 32- simple-audio-card,codec : CODEC sub-node
23 33
@@ -38,15 +48,29 @@ Optional CPU/CODEC subnodes properties:
38 clock node (= common clock), or "system-clock-frequency" 48 clock node (= common clock), or "system-clock-frequency"
39 (if system doens't support common clock) 49 (if system doens't support common clock)
40 50
41Example: 51Note:
52 * For 'format', 'frame-master', 'bitclock-master', 'bitclock-inversion' and
53 'frame-inversion', the simple card will use the settings of CODEC for both
54 CPU and CODEC sides as we need to keep the settings identical for both ends
55 of the link.
56
57Example 1 - single DAI link:
42 58
43sound { 59sound {
44 compatible = "simple-audio-card"; 60 compatible = "simple-audio-card";
61 simple-audio-card,name = "VF610-Tower-Sound-Card";
45 simple-audio-card,format = "left_j"; 62 simple-audio-card,format = "left_j";
63 simple-audio-card,widgets =
64 "Microphone", "Microphone Jack",
65 "Headphone", "Headphone Jack",
66 "Speaker", "External Speaker";
46 simple-audio-card,routing = 67 simple-audio-card,routing =
47 "MIC_IN", "Mic Jack", 68 "MIC_IN", "Microphone Jack",
48 "Headphone Jack", "HP_OUT", 69 "Headphone Jack", "HP_OUT",
49 "Ext Spk", "LINE_OUT"; 70 "External Speaker", "LINE_OUT";
71
72 dai-tdm-slot-num = <2>;
73 dai-tdm-slot-width = <8>;
50 74
51 simple-audio-card,cpu { 75 simple-audio-card,cpu {
52 sound-dai = <&sh_fsi2 0>; 76 sound-dai = <&sh_fsi2 0>;
@@ -75,3 +99,38 @@ sh_fsi2: sh_fsi2@ec230000 {
75 interrupt-parent = <&gic>; 99 interrupt-parent = <&gic>;
76 interrupts = <0 146 0x4>; 100 interrupts = <0 146 0x4>;
77}; 101};
102
103Example 2 - many DAI links:
104
105sound {
106 compatible = "simple-audio-card";
107 simple-audio-card,name = "Cubox Audio";
108 simple-audio-card,format = "i2s";
109
110 simple-audio-card,dai-link@0 { /* I2S - HDMI */
111 simple-audio-card,cpu {
112 sound-dai = <&audio1 0>;
113 };
114 simple-audio-card,codec {
115 sound-dai = <&tda998x 0>;
116 };
117 };
118
119 simple-audio-card,dai-link@1 { /* S/PDIF - HDMI */
120 simple-audio-card,cpu {
121 sound-dai = <&audio1 1>;
122 };
123 simple-audio-card,codec {
124 sound-dai = <&tda998x 1>;
125 };
126 };
127
128 simple-audio-card,dai-link@2 { /* S/PDIF - S/PDIF */
129 simple-audio-card,cpu {
130 sound-dai = <&audio1 1>;
131 };
132 simple-audio-card,codec {
133 sound-dai = <&spdif_codec>;
134 };
135 };
136};
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt b/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt
new file mode 100644
index 000000000000..062f5ec36f9b
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio-codec.txt
@@ -0,0 +1,17 @@
1SiRF internal audio CODEC
2
3Required properties:
4
5 - compatible : "sirf,atlas6-audio-codec" or "sirf,prima2-audio-codec"
6
7 - reg : the register address of the device.
8
9 - clocks: the clock of SiRF internal audio codec
10
11Example:
12
13audiocodec: audiocodec@b0040000 {
14 compatible = "sirf,atlas6-audio-codec";
15 reg = <0xb0040000 0x10000>;
16 clocks = <&clks 27>;
17};
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio-port.txt b/Documentation/devicetree/bindings/sound/sirf-audio-port.txt
new file mode 100644
index 000000000000..1f66de3c8f00
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio-port.txt
@@ -0,0 +1,20 @@
1* SiRF SoC audio port
2
3Required properties:
4- compatible: "sirf,audio-port"
5- reg: Base address and size entries:
6- dmas: List of DMA controller phandle and DMA request line ordered pairs.
7- dma-names: Identifier string for each DMA request line in the dmas property.
8 These strings correspond 1:1 with the ordered pairs in dmas.
9
10 One of the DMA channels will be responsible for transmission (should be
11 named "tx") and one for reception (should be named "rx").
12
13Example:
14
15audioport: audioport@b0040000 {
16 compatible = "sirf,audio-port";
17 reg = <0xb0040000 0x10000>;
18 dmas = <&dmac1 3>, <&dmac1 8>;
19 dma-names = "rx", "tx";
20};
diff --git a/Documentation/devicetree/bindings/sound/sirf-audio.txt b/Documentation/devicetree/bindings/sound/sirf-audio.txt
new file mode 100644
index 000000000000..c88882ca3704
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/sirf-audio.txt
@@ -0,0 +1,41 @@
1* SiRF atlas6 and prima2 internal audio codec and port based audio setups
2
3Required properties:
4- compatible: "sirf,sirf-audio-card"
5- sirf,audio-platform: phandle for the platform node
6- sirf,audio-codec: phandle for the SiRF internal codec node
7
8Optional properties:
9- hp-pa-gpios: Need to be present if the board need control external
10 headphone amplifier.
11- spk-pa-gpios: Need to be present if the board need control external
12 speaker amplifier.
13- hp-switch-gpios: Need to be present if the board capable to detect jack
14 insertion, removal.
15
16Available audio endpoints for the audio-routing table:
17
18Board connectors:
19 * Headset Stereophone
20 * Ext Spk
21 * Line In
22 * Mic
23
24SiRF internal audio codec pins:
25 * HPOUTL
26 * HPOUTR
27 * SPKOUT
28 * Ext Mic
29 * Mic Bias
30
31Example:
32
33sound {
34 compatible = "sirf,sirf-audio-card";
35 sirf,audio-codec = <&audiocodec>;
36 sirf,audio-platform = <&audioport>;
37 hp-pa-gpios = <&gpio 44 0>;
38 spk-pa-gpios = <&gpio 46 0>;
39 hp-switch-gpios = <&gpio 45 0>;
40};
41
diff --git a/Documentation/devicetree/bindings/sound/tdm-slot.txt b/Documentation/devicetree/bindings/sound/tdm-slot.txt
new file mode 100644
index 000000000000..6a2c84247f91
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/tdm-slot.txt
@@ -0,0 +1,20 @@
1TDM slot:
2
3This specifies audio DAI's TDM slot.
4
5TDM slot properties:
6dai-tdm-slot-num : Number of slots in use.
7dai-tdm-slot-width : Width in bits for each slot.
8
9For instance:
10 dai-tdm-slot-num = <2>;
11 dai-tdm-slot-width = <8>;
12
13And for each spcified driver, there could be one .of_xlate_tdm_slot_mask()
14to specify a explicit mapping of the channels and the slots. If it's absent
15the default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the
16tx and rx masks.
17
18For snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit
19for an active slot as default, and the default active bits are at the LSB of
20the masks.
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
new file mode 100644
index 000000000000..74c66dee3e14
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/tlv320aic31xx.txt
@@ -0,0 +1,61 @@
1Texas Instruments - tlv320aic31xx Codec module
2
3The tlv320aic31xx serial control bus communicates through I2C protocols
4
5Required properties:
6
7- compatible - "string" - One of:
8 "ti,tlv320aic310x" - Generic TLV320AIC31xx with mono speaker amp
9 "ti,tlv320aic311x" - Generic TLV320AIC31xx with stereo speaker amp
10 "ti,tlv320aic3100" - TLV320AIC3100 (mono speaker amp, no MiniDSP)
11 "ti,tlv320aic3110" - TLV320AIC3110 (stereo speaker amp, no MiniDSP)
12 "ti,tlv320aic3120" - TLV320AIC3120 (mono speaker amp, MiniDSP)
13 "ti,tlv320aic3111" - TLV320AIC3111 (stereo speaker amp, MiniDSP)
14
15- reg - <int> - I2C slave address
16
17
18Optional properties:
19
20- gpio-reset - gpio pin number used for codec reset
21- ai31xx-micbias-vg - MicBias Voltage setting
22 1 or MICBIAS_2_0V - MICBIAS output is powered to 2.0V
23 2 or MICBIAS_2_5V - MICBIAS output is powered to 2.5V
24 3 or MICBIAS_AVDD - MICBIAS output is connected to AVDD
25 If this node is not mentioned or if the value is unknown, then
26 micbias is set to 2.0V.
27- HPVDD-supply, SPRVDD-supply, SPLVDD-supply, AVDD-supply, IOVDD-supply,
28 DVDD-supply : power supplies for the device as covered in
29 Documentation/devicetree/bindings/regulator/regulator.txt
30
31CODEC output pins:
32 * HPL
33 * HPR
34 * SPL, devices with stereo speaker amp
35 * SPR, devices with stereo speaker amp
36 * SPK, devices with mono speaker amp
37 * MICBIAS
38
39CODEC input pins:
40 * MIC1LP
41 * MIC1RP
42 * MIC1LM
43
44The pins can be used in referring sound node's audio-routing property.
45
46Example:
47#include <dt-bindings/sound/tlv320aic31xx-micbias.h>
48
49tlv320aic31xx: tlv320aic31xx@18 {
50 compatible = "ti,tlv320aic311x";
51 reg = <0x18>;
52
53 ai31xx-micbias-vg = <MICBIAS_OFF>;
54
55 HPVDD-supply = <&regulator>;
56 SPRVDD-supply = <&regulator>;
57 SPLVDD-supply = <&regulator>;
58 AVDD-supply = <&regulator>;
59 IOVDD-supply = <&regulator>;
60 DVDD-supply = <&regulator>;
61};
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
new file mode 100644
index 000000000000..5e2741af27be
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
@@ -0,0 +1,30 @@
1Texas Instruments - tlv320aic32x4 Codec module
2
3The tlv320aic32x4 serial control bus communicates through I2C protocols
4
5Required properties:
6 - compatible: Should be "ti,tlv320aic32x4"
7 - reg: I2C slave address
8 - supply-*: Required supply regulators are:
9 "iov" - digital IO power supply
10 "ldoin" - LDO power supply
11 "dv" - Digital core power supply
12 "av" - Analog core power supply
13 If you supply ldoin, dv and av are optional. Otherwise they are required
14 See regulator/regulator.txt for more information about the detailed binding
15 format.
16
17Optional properties:
18 - reset-gpios: Reset-GPIO phandle with args as described in gpio/gpio.txt
19 - clocks/clock-names: Clock named 'mclk' for the master clock of the codec.
20 See clock/clock-bindings.txt for information about the detailed format.
21
22
23Example:
24
25codec: tlv320aic32x4@18 {
26 compatible = "ti,tlv320aic32x4";
27 reg = <0x18>;
28 clocks = <&clks 201>;
29 clock-names = "mclk";
30};
diff --git a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
index 9d8ea14db490..5e6040c2c2e9 100644
--- a/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
+++ b/Documentation/devicetree/bindings/sound/tlv320aic3x.txt
@@ -6,7 +6,6 @@ Required properties:
6 6
7- compatible - "string" - One of: 7- compatible - "string" - One of:
8 "ti,tlv320aic3x" - Generic TLV320AIC3x device 8 "ti,tlv320aic3x" - Generic TLV320AIC3x device
9 "ti,tlv320aic32x4" - TLV320AIC32x4
10 "ti,tlv320aic33" - TLV320AIC33 9 "ti,tlv320aic33" - TLV320AIC33
11 "ti,tlv320aic3007" - TLV320AIC3007 10 "ti,tlv320aic3007" - TLV320AIC3007
12 "ti,tlv320aic3106" - TLV320AIC3106 11 "ti,tlv320aic3106" - TLV320AIC3106
diff --git a/Documentation/devicetree/bindings/sound/widgets.txt b/Documentation/devicetree/bindings/sound/widgets.txt
new file mode 100644
index 000000000000..b6de5ba3b2de
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/widgets.txt
@@ -0,0 +1,20 @@
1Widgets:
2
3This mainly specifies audio off-codec DAPM widgets.
4
5Each entry is a pair of strings in DT:
6
7 "template-wname", "user-supplied-wname"
8
9The "template-wname" being the template widget name and currently includes:
10"Microphone", "Line", "Headphone" and "Speaker".
11
12The "user-supplied-wname" being the user specified widget name.
13
14For instance:
15 simple-audio-widgets =
16 "Microphone", "Microphone Jack",
17 "Line", "Line In Jack",
18 "Line", "Line Out Jack",
19 "Headphone", "Headphone Jack",
20 "Speaker", "Speaker External";
diff --git a/Documentation/devicetree/bindings/spi/efm32-spi.txt b/Documentation/devicetree/bindings/spi/efm32-spi.txt
index a590ca51be75..8f081c96a4fa 100644
--- a/Documentation/devicetree/bindings/spi/efm32-spi.txt
+++ b/Documentation/devicetree/bindings/spi/efm32-spi.txt
@@ -3,24 +3,24 @@
3Required properties: 3Required properties:
4- #address-cells: see spi-bus.txt 4- #address-cells: see spi-bus.txt
5- #size-cells: see spi-bus.txt 5- #size-cells: see spi-bus.txt
6- compatible: should be "efm32,spi" 6- compatible: should be "energymicro,efm32-spi"
7- reg: Offset and length of the register set for the controller 7- reg: Offset and length of the register set for the controller
8- interrupts: pair specifying rx and tx irq 8- interrupts: pair specifying rx and tx irq
9- clocks: phandle to the spi clock 9- clocks: phandle to the spi clock
10- cs-gpios: see spi-bus.txt 10- cs-gpios: see spi-bus.txt
11- location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values. 11- efm32,location: Value to write to the ROUTE register's LOCATION bitfield to configure the pinmux for the device, see datasheet for values.
12 12
13Example: 13Example:
14 14
15spi1: spi@0x4000c400 { /* USART1 */ 15spi1: spi@0x4000c400 { /* USART1 */
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <0>; 17 #size-cells = <0>;
18 compatible = "efm32,spi"; 18 compatible = "energymicro,efm32-spi";
19 reg = <0x4000c400 0x400>; 19 reg = <0x4000c400 0x400>;
20 interrupts = <15 16>; 20 interrupts = <15 16>;
21 clocks = <&cmu 20>; 21 clocks = <&cmu 20>;
22 cs-gpios = <&gpio 51 1>; // D3 22 cs-gpios = <&gpio 51 1>; // D3
23 location = <1>; 23 efm32,location = <1>;
24 status = "ok"; 24 status = "ok";
25 25
26 ks8851@0 { 26 ks8851@0 {
diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
new file mode 100644
index 000000000000..b82a268f1bd4
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
@@ -0,0 +1,85 @@
1Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI)
2
3The QUP core is an AHB slave that provides a common data path (an output FIFO
4and an input FIFO) for serial peripheral interface (SPI) mini-core.
5
6SPI in master mode supports up to 50MHz, up to four chip selects, programmable
7data path from 4 bits to 32 bits and numerous protocol variants.
8
9Required properties:
10- compatible: Should contain "qcom,spi-qup-v2.1.1" or "qcom,spi-qup-v2.2.1"
11- reg: Should contain base register location and length
12- interrupts: Interrupt number used by this controller
13
14- clocks: Should contain the core clock and the AHB clock.
15- clock-names: Should be "core" for the core clock and "iface" for the
16 AHB clock.
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
27SPI slave nodes must be children of the SPI master node and can contain
28properties described in Documentation/devicetree/bindings/spi/spi-bus.txt
29
30Example:
31
32 spi_8: spi@f9964000 { /* BLSP2 QUP2 */
33
34 compatible = "qcom,spi-qup-v2";
35 #address-cells = <1>;
36 #size-cells = <0>;
37 reg = <0xf9964000 0x1000>;
38 interrupts = <0 102 0>;
39 spi-max-frequency = <19200000>;
40
41 clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
42 clock-names = "core", "iface";
43
44 pinctrl-names = "default";
45 pinctrl-0 = <&spi8_default>;
46
47 device@0 {
48 compatible = "arm,pl022-dummy";
49 #address-cells = <1>;
50 #size-cells = <1>;
51 reg = <0>; /* Chip select 0 */
52 spi-max-frequency = <19200000>;
53 spi-cpol;
54 };
55
56 device@1 {
57 compatible = "arm,pl022-dummy";
58 #address-cells = <1>;
59 #size-cells = <1>;
60 reg = <1>; /* Chip select 1 */
61 spi-max-frequency = <9600000>;
62 spi-cpha;
63 };
64
65 device@2 {
66 compatible = "arm,pl022-dummy";
67 #address-cells = <1>;
68 #size-cells = <1>;
69 reg = <2>; /* Chip select 2 */
70 spi-max-frequency = <19200000>;
71 spi-cpol;
72 spi-cpha;
73 };
74
75 device@3 {
76 compatible = "arm,pl022-dummy";
77 #address-cells = <1>;
78 #size-cells = <1>;
79 reg = <3>; /* Chip select 3 */
80 spi-max-frequency = <19200000>;
81 spi-cpol;
82 spi-cpha;
83 spi-cs-high;
84 };
85 };
diff --git a/Documentation/devicetree/bindings/spi/sh-hspi.txt b/Documentation/devicetree/bindings/spi/sh-hspi.txt
index 30b57b1c8a13..319bad4af875 100644
--- a/Documentation/devicetree/bindings/spi/sh-hspi.txt
+++ b/Documentation/devicetree/bindings/spi/sh-hspi.txt
@@ -1,7 +1,29 @@
1Renesas HSPI. 1Renesas HSPI.
2 2
3Required properties: 3Required properties:
4- compatible : "renesas,hspi" 4- compatible : "renesas,hspi-<soctype>", "renesas,hspi" as fallback.
5- reg : Offset and length of the register set for the device 5 Examples with soctypes are:
6- interrupts : interrupt line used by HSPI 6 - "renesas,hspi-r8a7778" (R-Car M1)
7 - "renesas,hspi-r8a7779" (R-Car H1)
8- reg : Offset and length of the register set for the device
9- interrupt-parent : The phandle for the interrupt controller that
10 services interrupts for this device
11- interrupts : Interrupt specifier
12- #address-cells : Must be <1>
13- #size-cells : Must be <0>
14
15Pinctrl properties might be needed, too. See
16Documentation/devicetree/bindings/pinctrl/renesas,*.
17
18Example:
19
20 hspi0: spi@fffc7000 {
21 compatible = "renesas,hspi-r8a7778", "renesas,hspi";
22 reg = <0xfffc7000 0x18>;
23 interrupt-parent = <&gic>;
24 interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
25 #address-cells = <1>;
26 #size-cells = <0>;
27 status = "disabled";
28 };
7 29
diff --git a/Documentation/devicetree/bindings/spi/sh-msiof.txt b/Documentation/devicetree/bindings/spi/sh-msiof.txt
index e6222106ca36..f24baf3b6cc1 100644
--- a/Documentation/devicetree/bindings/spi/sh-msiof.txt
+++ b/Documentation/devicetree/bindings/spi/sh-msiof.txt
@@ -1,12 +1,40 @@
1Renesas MSIOF spi controller 1Renesas MSIOF spi controller
2 2
3Required properties: 3Required properties:
4- compatible : "renesas,sh-msiof" for SuperH or 4- compatible : "renesas,msiof-<soctype>" for SoCs,
5 "renesas,sh-mobile-msiof" for SH Mobile series 5 "renesas,sh-msiof" for SuperH, or
6- reg : Offset and length of the register set for the device 6 "renesas,sh-mobile-msiof" for SH Mobile series.
7- interrupts : interrupt line used by MSIOF 7 Examples with soctypes are:
8 "renesas,msiof-r8a7790" (R-Car H2)
9 "renesas,msiof-r8a7791" (R-Car M2)
10- reg : Offset and length of the register set for the device
11- interrupt-parent : The phandle for the interrupt controller that
12 services interrupts for this device
13- interrupts : Interrupt specifier
14- #address-cells : Must be <1>
15- #size-cells : Must be <0>
8 16
9Optional properties: 17Optional properties:
10- num-cs : total number of chip-selects 18- clocks : Must contain a reference to the functional clock.
11- renesas,tx-fifo-size : Overrides the default tx fifo size given in words 19- num-cs : Total number of chip-selects (default is 1)
12- renesas,rx-fifo-size : Overrides the default rx fifo size given in words 20
21Optional properties, deprecated for soctype-specific bindings:
22- renesas,tx-fifo-size : Overrides the default tx fifo size given in words
23 (default is 64)
24- renesas,rx-fifo-size : Overrides the default rx fifo size given in words
25 (default is 64, or 256 on R-Car H2 and M2)
26
27Pinctrl properties might be needed, too. See
28Documentation/devicetree/bindings/pinctrl/renesas,*.
29
30Example:
31
32 msiof0: spi@e6e20000 {
33 compatible = "renesas,msiof-r8a7791";
34 reg = <0 0xe6e20000 0 0x0064>;
35 interrupts = <0 156 IRQ_TYPE_LEVEL_HIGH>;
36 clocks = <&mstp0_clks R8A7791_CLK_MSIOF0>;
37 #address-cells = <1>;
38 #size-cells = <0>;
39 status = "disabled";
40 };
diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
index a1fb3035a42b..5376de40f10b 100644
--- a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
+++ b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
@@ -10,6 +10,7 @@ Required properties:
10- pinctrl-names: must contain a "default" entry. 10- pinctrl-names: must contain a "default" entry.
11- spi-num-chipselects : the number of the chipselect signals. 11- spi-num-chipselects : the number of the chipselect signals.
12- bus-num : the slave chip chipselect signal number. 12- bus-num : the slave chip chipselect signal number.
13- big-endian : if DSPI modudle is big endian, the bool will be set in node.
13Example: 14Example:
14 15
15dspi0@4002c000 { 16dspi0@4002c000 {
@@ -24,6 +25,7 @@ dspi0@4002c000 {
24 bus-num = <0>; 25 bus-num = <0>;
25 pinctrl-names = "default"; 26 pinctrl-names = "default";
26 pinctrl-0 = <&pinctrl_dspi0_1>; 27 pinctrl-0 = <&pinctrl_dspi0_1>;
28 big-endian;
27 status = "okay"; 29 status = "okay";
28 30
29 sflash: at26df081a@0 { 31 sflash: at26df081a@0 {
diff --git a/Documentation/devicetree/bindings/spi/spi-rspi.txt b/Documentation/devicetree/bindings/spi/spi-rspi.txt
new file mode 100644
index 000000000000..d57d82a74054
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-rspi.txt
@@ -0,0 +1,61 @@
1Device tree configuration for Renesas RSPI/QSPI driver
2
3Required properties:
4- compatible : For Renesas Serial Peripheral Interface on legacy SH:
5 "renesas,rspi-<soctype>", "renesas,rspi" as fallback.
6 For Renesas Serial Peripheral Interface on RZ/A1H:
7 "renesas,rspi-<soctype>", "renesas,rspi-rz" as fallback.
8 For Quad Serial Peripheral Interface on R-Car Gen2:
9 "renesas,qspi-<soctype>", "renesas,qspi" as fallback.
10 Examples with soctypes are:
11 - "renesas,rspi-sh7757" (SH)
12 - "renesas,rspi-r7s72100" (RZ/A1H)
13 - "renesas,qspi-r8a7790" (R-Car H2)
14 - "renesas,qspi-r8a7791" (R-Car M2)
15- reg : Address start and address range size of the device
16- interrupts : A list of interrupt-specifiers, one for each entry in
17 interrupt-names.
18 If interrupt-names is not present, an interrupt specifier
19 for a single muxed interrupt.
20- interrupt-names : A list of interrupt names. Should contain (if present):
21 - "error" for SPEI,
22 - "rx" for SPRI,
23 - "tx" to SPTI,
24 - "mux" for a single muxed interrupt.
25- interrupt-parent : The phandle for the interrupt controller that
26 services interrupts for this device.
27- num-cs : Number of chip selects. Some RSPI cores have more than 1.
28- #address-cells : Must be <1>
29- #size-cells : Must be <0>
30
31Optional properties:
32- clocks : Must contain a reference to the functional clock.
33
34Pinctrl properties might be needed, too. See
35Documentation/devicetree/bindings/pinctrl/renesas,*.
36
37Examples:
38
39 spi0: spi@e800c800 {
40 compatible = "renesas,rspi-r7s72100", "renesas,rspi-rz";
41 reg = <0xe800c800 0x24>;
42 interrupts = <0 238 IRQ_TYPE_LEVEL_HIGH>,
43 <0 239 IRQ_TYPE_LEVEL_HIGH>,
44 <0 240 IRQ_TYPE_LEVEL_HIGH>;
45 interrupt-names = "error", "rx", "tx";
46 interrupt-parent = <&gic>;
47 num-cs = <1>;
48 #address-cells = <1>;
49 #size-cells = <0>;
50 };
51
52 spi: spi@e6b10000 {
53 compatible = "renesas,qspi-r8a7791", "renesas,qspi";
54 reg = <0 0xe6b10000 0 0x2c>;
55 interrupt-parent = <&gic>;
56 interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
57 clocks = <&mstp9_clks R8A7791_CLK_QSPI_MOD>;
58 num-cs = <1>;
59 #address-cells = <1>;
60 #size-cells = <0>;
61 };
diff --git a/Documentation/devicetree/bindings/spi/spi-sun4i.txt b/Documentation/devicetree/bindings/spi/spi-sun4i.txt
new file mode 100644
index 000000000000..de827f5a301e
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-sun4i.txt
@@ -0,0 +1,24 @@
1Allwinner A10 SPI controller
2
3Required properties:
4- compatible: Should be "allwinner,sun4-a10-spi".
5- reg: Should contain register location and length.
6- interrupts: Should contain interrupt.
7- clocks: phandle to the clocks feeding the SPI controller. Two are
8 needed:
9 - "ahb": the gated AHB parent clock
10 - "mod": the parent module clock
11- clock-names: Must contain the clock names described just above
12
13Example:
14
15spi1: spi@01c06000 {
16 compatible = "allwinner,sun4i-a10-spi";
17 reg = <0x01c06000 0x1000>;
18 interrupts = <11>;
19 clocks = <&ahb_gates 21>, <&spi1_clk>;
20 clock-names = "ahb", "mod";
21 status = "disabled";
22 #address-cells = <1>;
23 #size-cells = <0>;
24};
diff --git a/Documentation/devicetree/bindings/spi/spi-sun6i.txt b/Documentation/devicetree/bindings/spi/spi-sun6i.txt
new file mode 100644
index 000000000000..21de73db6a05
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-sun6i.txt
@@ -0,0 +1,24 @@
1Allwinner A31 SPI controller
2
3Required properties:
4- compatible: Should be "allwinner,sun6i-a31-spi".
5- reg: Should contain register location and length.
6- interrupts: Should contain interrupt.
7- clocks: phandle to the clocks feeding the SPI controller. Two are
8 needed:
9 - "ahb": the gated AHB parent clock
10 - "mod": the parent module clock
11- clock-names: Must contain the clock names described just above
12- resets: phandle to the reset controller asserting this device in
13 reset
14
15Example:
16
17spi1: spi@01c69000 {
18 compatible = "allwinner,sun6i-a31-spi";
19 reg = <0x01c69000 0x1000>;
20 interrupts = <0 66 4>;
21 clocks = <&ahb1_gates 21>, <&spi1_clk>;
22 clock-names = "ahb", "mod";
23 resets = <&ahb1_rst 21>;
24};
diff --git a/Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt b/Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt
new file mode 100644
index 000000000000..b6ebe2bc7041
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-xtensa-xtfpga.txt
@@ -0,0 +1,9 @@
1Cadence Xtensa XTFPGA platform SPI controller.
2
3This simple SPI master controller is built into xtfpga bitstreams and is used
4to control daughterboard audio codec.
5
6Required properties:
7- compatible: should be "cdns,xtfpga-spi".
8- reg: physical base address of the controller and length of memory mapped
9 region.
diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt
index 07e04cdc0c9e..4f8184d069cb 100644
--- a/Documentation/devicetree/bindings/spi/spi_atmel.txt
+++ b/Documentation/devicetree/bindings/spi/spi_atmel.txt
@@ -5,6 +5,9 @@ Required properties:
5- reg: Address and length of the register set for the device 5- reg: Address and length of the register set for the device
6- interrupts: Should contain spi interrupt 6- interrupts: Should contain spi interrupt
7- cs-gpios: chipselects 7- cs-gpios: chipselects
8- clock-names: tuple listing input clock names.
9 Required elements: "spi_clk"
10- clocks: phandles to input clocks.
8 11
9Example: 12Example:
10 13
@@ -14,6 +17,8 @@ spi1: spi@fffcc000 {
14 interrupts = <13 4 5>; 17 interrupts = <13 4 5>;
15 #address-cells = <1>; 18 #address-cells = <1>;
16 #size-cells = <0>; 19 #size-cells = <0>;
20 clocks = <&spi1_clk>;
21 clock-names = "spi_clk";
17 cs-gpios = <&pioB 3 0>; 22 cs-gpios = <&pioB 3 0>;
18 status = "okay"; 23 status = "okay";
19 24
diff --git a/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
new file mode 100644
index 000000000000..715d0998af8e
--- /dev/null
+++ b/Documentation/devicetree/bindings/spmi/qcom,spmi-pmic-arb.txt
@@ -0,0 +1,61 @@
1Qualcomm SPMI Controller (PMIC Arbiter)
2
3The SPMI PMIC Arbiter is found on the Snapdragon 800 Series. It is an SPMI
4controller with wrapping arbitration logic to allow for multiple on-chip
5devices to control a single SPMI master.
6
7The PMIC Arbiter can also act as an interrupt controller, providing interrupts
8to slave devices.
9
10See spmi.txt for the generic SPMI controller binding requirements for child
11nodes.
12
13See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
14generic interrupt controller binding documentation.
15
16Required properties:
17- compatible : should be "qcom,spmi-pmic-arb".
18- reg-names : must contain:
19 "core" - core registers
20 "intr" - interrupt controller registers
21 "cnfg" - configuration registers
22- reg : address + size pairs describing the PMIC arb register sets; order must
23 correspond with the order of entries in reg-names
24- #address-cells : must be set to 2
25- #size-cells : must be set to 0
26- qcom,ee : indicates the active Execution Environment identifier (0-5)
27- qcom,channel : which of the PMIC Arb provided channels to use for accesses (0-5)
28- interrupts : interrupt list for the PMIC Arb controller, must contain a
29 single interrupt entry for the peripheral interrupt
30- interrupt-names : corresponding interrupt names for the interrupts
31 listed in the 'interrupts' property, must contain:
32 "periph_irq" - summary interrupt for PMIC peripherals
33- interrupt-controller : boolean indicator that the PMIC arbiter is an interrupt controller
34- #interrupt-cells : must be set to 4. Interrupts are specified as a 4-tuple:
35 cell 1: slave ID for the requested interrupt (0-15)
36 cell 2: peripheral ID for requested interrupt (0-255)
37 cell 3: the requested peripheral interrupt (0-7)
38 cell 4: interrupt flags indicating level-sense information, as defined in
39 dt-bindings/interrupt-controller/irq.h
40
41Example:
42
43 spmi {
44 compatible = "qcom,spmi-pmic-arb";
45 reg-names = "core", "intr", "cnfg";
46 reg = <0xfc4cf000 0x1000>,
47 <0xfc4cb000 0x1000>,
48 <0xfc4ca000 0x1000>;
49
50 interrupt-names = "periph_irq";
51 interrupts = <0 190 0>;
52
53 qcom,ee = <0>;
54 qcom,channel = <0>;
55
56 #address-cells = <2>;
57 #size-cells = <0>;
58
59 interrupt-controller;
60 #interrupt-cells = <4>;
61 };
diff --git a/Documentation/devicetree/bindings/spmi/spmi.txt b/Documentation/devicetree/bindings/spmi/spmi.txt
new file mode 100644
index 000000000000..462a42fb3a1e
--- /dev/null
+++ b/Documentation/devicetree/bindings/spmi/spmi.txt
@@ -0,0 +1,41 @@
1System Power Management Interface (SPMI) Controller
2
3This document defines a generic set of bindings for use by SPMI controllers. A
4controller is modelled in device tree as a node with zero or more child nodes,
5each representing a unique slave on the bus.
6
7Required properties:
8- #address-cells : must be set to 2
9- #size-cells : must be set to 0
10
11Child nodes:
12
13An SPMI controller node can contain zero or more child nodes representing slave
14devices on the bus. Child 'reg' properties are specified as an address, type
15pair. The address must be in the range 0-15 (4 bits). The type must be one of
16SPMI_USID (0) or SPMI_GSID (1) for Unique Slave ID or Group Slave ID respectively.
17These are the identifiers "statically assigned by the system integrator", as
18per the SPMI spec.
19
20Each child node must have one and only one 'reg' entry of type SPMI_USID.
21
22#include <dt-bindings/spmi/spmi.h>
23
24 spmi@.. {
25 compatible = "...";
26 reg = <...>;
27
28 #address-cells = <2>;
29 #size-cells <0>;
30
31 child@0 {
32 compatible = "...";
33 reg = <0 SPMI_USID>;
34 };
35
36 child@7 {
37 compatible = "...";
38 reg = <7 SPMI_USID
39 3 SPMI_GSID>;
40 };
41 };
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt b/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt
index b876d4925a57..3be5ce7a9654 100644
--- a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt
+++ b/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt
@@ -1,3 +1,22 @@
1Freescale i.MX DRM master device
2================================
3
4The freescale i.MX DRM master device is a virtual device needed to list all
5IPU or other display interface nodes that comprise the graphics subsystem.
6
7Required properties:
8- compatible: Should be "fsl,imx-display-subsystem"
9- ports: Should contain a list of phandles pointing to display interface ports
10 of IPU devices
11
12example:
13
14display-subsystem {
15 compatible = "fsl,display-subsystem";
16 ports = <&ipu_di0>;
17};
18
19
1Freescale i.MX IPUv3 20Freescale i.MX IPUv3
2==================== 21====================
3 22
@@ -7,18 +26,31 @@ Required properties:
7 datasheet 26 datasheet
8- interrupts: Should contain sync interrupt and error interrupt, 27- interrupts: Should contain sync interrupt and error interrupt,
9 in this order. 28 in this order.
10- #crtc-cells: 1, See below
11- resets: phandle pointing to the system reset controller and 29- resets: phandle pointing to the system reset controller and
12 reset line index, see reset/fsl,imx-src.txt for details 30 reset line index, see reset/fsl,imx-src.txt for details
31Optional properties:
32- port@[0-3]: Port nodes with endpoint definitions as defined in
33 Documentation/devicetree/bindings/media/video-interfaces.txt.
34 Ports 0 and 1 should correspond to CSI0 and CSI1,
35 ports 2 and 3 should correspond to DI0 and DI1, respectively.
13 36
14example: 37example:
15 38
16ipu: ipu@18000000 { 39ipu: ipu@18000000 {
17 #crtc-cells = <1>; 40 #address-cells = <1>;
41 #size-cells = <0>;
18 compatible = "fsl,imx53-ipu"; 42 compatible = "fsl,imx53-ipu";
19 reg = <0x18000000 0x080000000>; 43 reg = <0x18000000 0x080000000>;
20 interrupts = <11 10>; 44 interrupts = <11 10>;
21 resets = <&src 2>; 45 resets = <&src 2>;
46
47 ipu_di0: port@2 {
48 reg = <2>;
49
50 ipu_di0_disp0: endpoint {
51 remote-endpoint = <&display_in>;
52 };
53 };
22}; 54};
23 55
24Parallel display support 56Parallel display support
@@ -26,19 +58,25 @@ Parallel display support
26 58
27Required properties: 59Required properties:
28- compatible: Should be "fsl,imx-parallel-display" 60- compatible: Should be "fsl,imx-parallel-display"
29- crtc: the crtc this display is connected to, see below
30Optional properties: 61Optional properties:
31- interface_pix_fmt: How this display is connected to the 62- interface_pix_fmt: How this display is connected to the
32 crtc. Currently supported types: "rgb24", "rgb565", "bgr666" 63 display interface. Currently supported types: "rgb24", "rgb565", "bgr666"
33- edid: verbatim EDID data block describing attached display. 64- edid: verbatim EDID data block describing attached display.
34- ddc: phandle describing the i2c bus handling the display data 65- ddc: phandle describing the i2c bus handling the display data
35 channel 66 channel
67- port: A port node with endpoint definitions as defined in
68 Documentation/devicetree/bindings/media/video-interfaces.txt.
36 69
37example: 70example:
38 71
39display@di0 { 72display@di0 {
40 compatible = "fsl,imx-parallel-display"; 73 compatible = "fsl,imx-parallel-display";
41 edid = [edid-data]; 74 edid = [edid-data];
42 crtc = <&ipu 0>;
43 interface-pix-fmt = "rgb24"; 75 interface-pix-fmt = "rgb24";
76
77 port {
78 display_in: endpoint {
79 remote-endpoint = <&ipu_di0_disp0>;
80 };
81 };
44}; 82};
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt b/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt
new file mode 100644
index 000000000000..1b756cf9afb0
--- /dev/null
+++ b/Documentation/devicetree/bindings/staging/imx-drm/hdmi.txt
@@ -0,0 +1,58 @@
1Device-Tree bindings for HDMI Transmitter
2
3HDMI Transmitter
4================
5
6The HDMI Transmitter is a Synopsys DesignWare HDMI 1.4 TX controller IP
7with accompanying PHY IP.
8
9Required properties:
10 - #address-cells : should be <1>
11 - #size-cells : should be <0>
12 - compatible : should be "fsl,imx6q-hdmi" or "fsl,imx6dl-hdmi".
13 - gpr : should be <&gpr>.
14 The phandle points to the iomuxc-gpr region containing the HDMI
15 multiplexer control register.
16 - clocks, clock-names : phandles to the HDMI iahb and isrf clocks, as described
17 in Documentation/devicetree/bindings/clock/clock-bindings.txt and
18 Documentation/devicetree/bindings/clock/imx6q-clock.txt.
19 - port@[0-4]: Up to four port nodes with endpoint definitions as defined in
20 Documentation/devicetree/bindings/media/video-interfaces.txt,
21 corresponding to the four inputs to the HDMI multiplexer.
22
23Optional properties:
24 - ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
25
26example:
27
28 gpr: iomuxc-gpr@020e0000 {
29 /* ... */
30 };
31
32 hdmi: hdmi@0120000 {
33 #address-cells = <1>;
34 #size-cells = <0>;
35 compatible = "fsl,imx6q-hdmi";
36 reg = <0x00120000 0x9000>;
37 interrupts = <0 115 0x04>;
38 gpr = <&gpr>;
39 clocks = <&clks 123>, <&clks 124>;
40 clock-names = "iahb", "isfr";
41 ddc-i2c-bus = <&i2c2>;
42
43 port@0 {
44 reg = <0>;
45
46 hdmi_mux_0: endpoint {
47 remote-endpoint = <&ipu1_di0_hdmi>;
48 };
49 };
50
51 port@1 {
52 reg = <1>;
53
54 hdmi_mux_1: endpoint {
55 remote-endpoint = <&ipu1_di1_hdmi>;
56 };
57 };
58 };
diff --git a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt
index ed9377811ee2..578a1fca366e 100644
--- a/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt
+++ b/Documentation/devicetree/bindings/staging/imx-drm/ldb.txt
@@ -50,12 +50,14 @@ have a look at Documentation/devicetree/bindings/video/display-timing.txt.
50 50
51Required properties: 51Required properties:
52 - reg : should be <0> or <1> 52 - reg : should be <0> or <1>
53 - crtcs : a list of phandles with index pointing to the IPU display interfaces
54 that can be used as video source for this channel.
55 - fsl,data-mapping : should be "spwg" or "jeida" 53 - fsl,data-mapping : should be "spwg" or "jeida"
56 This describes how the color bits are laid out in the 54 This describes how the color bits are laid out in the
57 serialized LVDS signal. 55 serialized LVDS signal.
58 - fsl,data-width : should be <18> or <24> 56 - fsl,data-width : should be <18> or <24>
57 - port: A port node with endpoint definitions as defined in
58 Documentation/devicetree/bindings/media/video-interfaces.txt.
59 On i.MX6, there should be four ports (port@[0-3]) that correspond
60 to the four LVDS multiplexer inputs.
59 61
60example: 62example:
61 63
@@ -77,23 +79,33 @@ ldb: ldb@53fa8008 {
77 79
78 lvds-channel@0 { 80 lvds-channel@0 {
79 reg = <0>; 81 reg = <0>;
80 crtcs = <&ipu 0>;
81 fsl,data-mapping = "spwg"; 82 fsl,data-mapping = "spwg";
82 fsl,data-width = <24>; 83 fsl,data-width = <24>;
83 84
84 display-timings { 85 display-timings {
85 /* ... */ 86 /* ... */
86 }; 87 };
88
89 port {
90 lvds0_in: endpoint {
91 remote-endpoint = <&ipu_di0_lvds0>;
92 };
93 };
87 }; 94 };
88 95
89 lvds-channel@1 { 96 lvds-channel@1 {
90 reg = <1>; 97 reg = <1>;
91 crtcs = <&ipu 1>;
92 fsl,data-mapping = "spwg"; 98 fsl,data-mapping = "spwg";
93 fsl,data-width = <24>; 99 fsl,data-width = <24>;
94 100
95 display-timings { 101 display-timings {
96 /* ... */ 102 /* ... */
97 }; 103 };
104
105 port {
106 lvds1_in: endpoint {
107 remote-endpoint = <&ipu_di1_lvds1>;
108 };
109 };
98 }; 110 };
99}; 111};
diff --git a/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt b/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt
index 48aeb7884ed3..5c2e23574ca0 100644
--- a/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt
+++ b/Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt
@@ -2,7 +2,7 @@ Allwinner A1X SoCs Timer Controller
2 2
3Required properties: 3Required properties:
4 4
5- compatible : should be "allwinner,sun4i-timer" 5- compatible : should be "allwinner,sun4i-a10-timer"
6- reg : Specifies base physical address and size of the registers. 6- reg : Specifies base physical address and size of the registers.
7- interrupts : The interrupt of the first timer 7- interrupts : The interrupt of the first timer
8- clocks: phandle to the source clock (usually a 24 MHz fixed clock) 8- clocks: phandle to the source clock (usually a 24 MHz fixed clock)
@@ -10,7 +10,7 @@ Required properties:
10Example: 10Example:
11 11
12timer { 12timer {
13 compatible = "allwinner,sun4i-timer"; 13 compatible = "allwinner,sun4i-a10-timer";
14 reg = <0x01c20c00 0x400>; 14 reg = <0x01c20c00 0x400>;
15 interrupts = <22>; 15 interrupts = <22>;
16 clocks = <&osc>; 16 clocks = <&osc>;
diff --git a/Documentation/devicetree/bindings/timer/ti,keystone-timer.txt b/Documentation/devicetree/bindings/timer/ti,keystone-timer.txt
new file mode 100644
index 000000000000..5fbe361252b4
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/ti,keystone-timer.txt
@@ -0,0 +1,29 @@
1* Device tree bindings for Texas instruments Keystone timer
2
3This document provides bindings for the 64-bit timer in the KeyStone
4architecture devices. The timer can be configured as a general-purpose 64-bit
5timer, dual general-purpose 32-bit timers. When configured as dual 32-bit
6timers, each half can operate in conjunction (chain mode) or independently
7(unchained mode) of each other.
8
9It is global timer is a free running up-counter and can generate interrupt
10when the counter reaches preset counter values.
11
12Documentation:
13http://www.ti.com/lit/ug/sprugv5a/sprugv5a.pdf
14
15Required properties:
16
17- compatible : should be "ti,keystone-timer".
18- reg : specifies base physical address and count of the registers.
19- interrupts : interrupt generated by the timer.
20- clocks : the clock feeding the timer clock.
21
22Example:
23
24timer@22f0000 {
25 compatible = "ti,keystone-timer";
26 reg = <0x022f0000 0x80>;
27 interrupts = <GIC_SPI 110 IRQ_TYPE_EDGE_RISING>;
28 clocks = <&clktimer15>;
29};
diff --git a/Documentation/devicetree/bindings/usb/atmel-usb.txt b/Documentation/devicetree/bindings/usb/atmel-usb.txt
index 55f51af08bc7..bc2222ca3f2a 100644
--- a/Documentation/devicetree/bindings/usb/atmel-usb.txt
+++ b/Documentation/devicetree/bindings/usb/atmel-usb.txt
@@ -57,8 +57,8 @@ Required properties:
57 - ep childnode: To specify the number of endpoints and their properties. 57 - ep childnode: To specify the number of endpoints and their properties.
58 58
59Optional properties: 59Optional properties:
60 - atmel,vbus-gpio: If present, specifies a gpio that needs to be 60 - atmel,vbus-gpio: If present, specifies a gpio that allows to detect whether
61 activated for the bus to be powered. 61 vbus is present (USB is connected).
62 62
63Required child node properties: 63Required child node properties:
64 - name: Name of the endpoint. 64 - name: Name of the endpoint.
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt
index b4b5b7906c88..a6a32cb7f777 100644
--- a/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-imx.txt
@@ -18,6 +18,7 @@ Optional properties:
18- vbus-supply: regulator for vbus 18- vbus-supply: regulator for vbus
19- disable-over-current: disable over current detect 19- disable-over-current: disable over current detect
20- external-vbus-divider: enables off-chip resistor divider for Vbus 20- external-vbus-divider: enables off-chip resistor divider for Vbus
21- maximum-speed: limit the maximum connection speed to "full-speed".
21 22
22Examples: 23Examples:
23usb@02184000 { /* USB OTG */ 24usb@02184000 { /* USB OTG */
@@ -28,4 +29,5 @@ usb@02184000 { /* USB OTG */
28 fsl,usbmisc = <&usbmisc 0>; 29 fsl,usbmisc = <&usbmisc 0>;
29 disable-over-current; 30 disable-over-current;
30 external-vbus-divider; 31 external-vbus-divider;
32 maximum-speed = "full-speed";
31}; 33};
diff --git a/Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt b/Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt
new file mode 100644
index 000000000000..abbcb2aea38c
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/ci-hdrc-zevio.txt
@@ -0,0 +1,17 @@
1* LSI Zevio USB OTG Controller
2
3Required properties:
4- compatible: Should be "lsi,zevio-usb"
5- reg: Should contain registers location and length
6- interrupts: Should contain controller interrupt
7
8Optional properties:
9- vbus-supply: regulator for vbus
10
11Examples:
12 usb0: usb@b0000000 {
13 reg = <0xb0000000 0x1000>;
14 compatible = "lsi,zevio-usb";
15 interrupts = <8>;
16 vbus-supply = <&vbus_reg>;
17 };
diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
index e807635f9e1c..471366d6a129 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -6,11 +6,13 @@ Required properties:
6 - compatible: must be "snps,dwc3" 6 - compatible: must be "snps,dwc3"
7 - reg : Address and length of the register set for the device 7 - reg : Address and length of the register set for the device
8 - interrupts: Interrupts used by the dwc3 controller. 8 - interrupts: Interrupts used by the dwc3 controller.
9
10Optional properties:
9 - usb-phy : array of phandle for the PHY device. The first element 11 - usb-phy : array of phandle for the PHY device. The first element
10 in the array is expected to be a handle to the USB2/HS PHY and 12 in the array is expected to be a handle to the USB2/HS PHY and
11 the second element is expected to be a handle to the USB3/SS PHY 13 the second element is expected to be a handle to the USB3/SS PHY
12 14 - phys: from the *Generic PHY* bindings
13Optional properties: 15 - phy-names: from the *Generic PHY* bindings
14 - tx-fifo-resize: determines if the FIFO *has* to be reallocated. 16 - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
15 17
16This is usually a subnode to DWC3 glue to which it is connected. 18This is usually a subnode to DWC3 glue to which it is connected.
diff --git a/Documentation/devicetree/bindings/usb/ehci-omap.txt b/Documentation/devicetree/bindings/usb/ehci-omap.txt
index 485a9a1efa7a..3dc231c832b0 100644
--- a/Documentation/devicetree/bindings/usb/ehci-omap.txt
+++ b/Documentation/devicetree/bindings/usb/ehci-omap.txt
@@ -21,7 +21,7 @@ Documentation/devicetree/bindings/mfd/omap-usb-host.txt
21Example for OMAP4: 21Example for OMAP4:
22 22
23usbhsehci: ehci@4a064c00 { 23usbhsehci: ehci@4a064c00 {
24 compatible = "ti,ehci-omap", "usb-ehci"; 24 compatible = "ti,ehci-omap";
25 reg = <0x4a064c00 0x400>; 25 reg = <0x4a064c00 0x400>;
26 interrupts = <0 77 0x4>; 26 interrupts = <0 77 0x4>;
27}; 27};
diff --git a/Documentation/devicetree/bindings/usb/fsl-usb.txt b/Documentation/devicetree/bindings/usb/fsl-usb.txt
index bd5723f0b67e..4779c029b675 100644
--- a/Documentation/devicetree/bindings/usb/fsl-usb.txt
+++ b/Documentation/devicetree/bindings/usb/fsl-usb.txt
@@ -8,7 +8,9 @@ and additions :
8Required properties : 8Required properties :
9 - compatible : Should be "fsl-usb2-mph" for multi port host USB 9 - compatible : Should be "fsl-usb2-mph" for multi port host USB
10 controllers, or "fsl-usb2-dr" for dual role USB controllers 10 controllers, or "fsl-usb2-dr" for dual role USB controllers
11 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121 11 or "fsl,mpc5121-usb2-dr" for dual role USB controllers of MPC5121.
12 Wherever applicable, the IP version of the USB controller should
13 also be mentioned (for eg. fsl-usb2-dr-v2.2 for bsc9132).
12 - phy_type : For multi port host USB controllers, should be one of 14 - phy_type : For multi port host USB controllers, should be one of
13 "ulpi", or "serial". For dual role USB controllers, should be 15 "ulpi", or "serial". For dual role USB controllers, should be
14 one of "ulpi", "utmi", "utmi_wide", or "serial". 16 one of "ulpi", "utmi", "utmi_wide", or "serial".
diff --git a/Documentation/devicetree/bindings/usb/mxs-phy.txt b/Documentation/devicetree/bindings/usb/mxs-phy.txt
index 5835b27146ea..cef181a9d8bd 100644
--- a/Documentation/devicetree/bindings/usb/mxs-phy.txt
+++ b/Documentation/devicetree/bindings/usb/mxs-phy.txt
@@ -1,13 +1,19 @@
1* Freescale MXS USB Phy Device 1* Freescale MXS USB Phy Device
2 2
3Required properties: 3Required properties:
4- compatible: Should be "fsl,imx23-usbphy" 4- compatible: should contain:
5 * "fsl,imx23-usbphy" for imx23 and imx28
6 * "fsl,imx6q-usbphy" for imx6dq and imx6dl
7 * "fsl,imx6sl-usbphy" for imx6sl
8 "fsl,imx23-usbphy" is still a fallback for other strings
5- reg: Should contain registers location and length 9- reg: Should contain registers location and length
6- interrupts: Should contain phy interrupt 10- interrupts: Should contain phy interrupt
11- fsl,anatop: phandle for anatop register, it is only for imx6 SoC series
7 12
8Example: 13Example:
9usbphy1: usbphy@020c9000 { 14usbphy1: usbphy@020c9000 {
10 compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy"; 15 compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
11 reg = <0x020c9000 0x1000>; 16 reg = <0x020c9000 0x1000>;
12 interrupts = <0 44 0x04>; 17 interrupts = <0 44 0x04>;
18 fsl,anatop = <&anatop>;
13}; 19};
diff --git a/Documentation/devicetree/bindings/usb/ohci-omap3.txt b/Documentation/devicetree/bindings/usb/ohci-omap3.txt
index 14ab42812a8e..ce8c47cff6d0 100644
--- a/Documentation/devicetree/bindings/usb/ohci-omap3.txt
+++ b/Documentation/devicetree/bindings/usb/ohci-omap3.txt
@@ -9,7 +9,7 @@ Required properties:
9Example for OMAP4: 9Example for OMAP4:
10 10
11usbhsohci: ohci@4a064800 { 11usbhsohci: ohci@4a064800 {
12 compatible = "ti,ohci-omap3", "usb-ohci"; 12 compatible = "ti,ohci-omap3";
13 reg = <0x4a064800 0x400>; 13 reg = <0x4a064800 0x400>;
14 interrupts = <0 76 0x4>; 14 interrupts = <0 76 0x4>;
15}; 15};
diff --git a/Documentation/devicetree/bindings/usb/omap-usb.txt b/Documentation/devicetree/bindings/usb/omap-usb.txt
index c495135115cb..38b2faec4199 100644
--- a/Documentation/devicetree/bindings/usb/omap-usb.txt
+++ b/Documentation/devicetree/bindings/usb/omap-usb.txt
@@ -76,27 +76,3 @@ omap_dwc3 {
76 ranges; 76 ranges;
77}; 77};
78 78
79OMAP CONTROL USB
80
81Required properties:
82 - compatible: Should be one of
83 "ti,control-phy-otghs" - if it has otghs_control mailbox register as on OMAP4.
84 "ti,control-phy-usb2" - if it has Power down bit in control_dev_conf register
85 e.g. USB2_PHY on OMAP5.
86 "ti,control-phy-pipe3" - if it has DPLL and individual Rx & Tx power control
87 e.g. USB3 PHY and SATA PHY on OMAP5.
88 "ti,control-phy-dra7usb2" - if it has power down register like USB2 PHY on
89 DRA7 platform.
90 "ti,control-phy-am437usb2" - if it has power down register like USB2 PHY on
91 AM437 platform.
92 - reg : Address and length of the register set for the device. It contains
93 the address of "otghs_control" for control-phy-otghs or "power" register
94 for other types.
95 - reg-names: should be "otghs_control" control-phy-otghs and "power" for
96 other types.
97
98omap_control_usb: omap-control-usb@4a002300 {
99 compatible = "ti,control-phy-otghs";
100 reg = <0x4a00233c 0x4>;
101 reg-names = "otghs_control";
102};
diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
index fa18612f757b..ff151ec084c4 100644
--- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
@@ -1,19 +1,20 @@
1USB EHCI controllers 1USB EHCI controllers
2 2
3Required properties: 3Required properties:
4 - compatible : should be "usb-ehci". 4 - compatible : should be "generic-ehci".
5 - reg : should contain at least address and length of the standard EHCI 5 - reg : should contain at least address and length of the standard EHCI
6 register set for the device. Optional platform-dependent registers 6 register set for the device. Optional platform-dependent registers
7 (debug-port or other) can be also specified here, but only after 7 (debug-port or other) can be also specified here, but only after
8 definition of standard EHCI registers. 8 definition of standard EHCI registers.
9 - interrupts : one EHCI interrupt should be described here. 9 - interrupts : one EHCI interrupt should be described here.
10If device registers are implemented in big endian mode, the device 10
11node should have "big-endian-regs" property. 11Optional properties:
12If controller implementation operates with big endian descriptors, 12 - big-endian-regs : boolean, set this for hcds with big-endian registers
13"big-endian-desc" property should be specified. 13 - big-endian-desc : boolean, set this for hcds with big-endian descriptors
14If both big endian registers and descriptors are used by the controller 14 - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
15implementation, "big-endian" property can be specified instead of having 15 - clocks : a list of phandle + clock specifier pairs
16both "big-endian-regs" and "big-endian-desc". 16 - phys : phandle + phy specifier pair
17 - phy-names : "usb"
17 18
18Example (Sequoia 440EPx): 19Example (Sequoia 440EPx):
19 ehci@e0000300 { 20 ehci@e0000300 {
@@ -23,3 +24,13 @@ Example (Sequoia 440EPx):
23 reg = <0 e0000300 90 0 e0000390 70>; 24 reg = <0 e0000300 90 0 e0000390 70>;
24 big-endian; 25 big-endian;
25 }; 26 };
27
28Example (Allwinner sun4i A10 SoC):
29 ehci0: usb@01c14000 {
30 compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
31 reg = <0x01c14000 0x100>;
32 interrupts = <39>;
33 clocks = <&ahb_gates 1>;
34 phys = <&usbphy 1>;
35 phy-names = "usb";
36 };
diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
new file mode 100644
index 000000000000..45f67d91e888
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
@@ -0,0 +1,25 @@
1USB OHCI controllers
2
3Required properties:
4- compatible : "generic-ohci"
5- reg : ohci controller register range (address and length)
6- interrupts : ohci controller interrupt
7
8Optional properties:
9- big-endian-regs : boolean, set this for hcds with big-endian registers
10- big-endian-desc : boolean, set this for hcds with big-endian descriptors
11- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
12- clocks : a list of phandle + clock specifier pairs
13- phys : phandle + phy specifier pair
14- phy-names : "usb"
15
16Example:
17
18 ohci0: usb@01c14400 {
19 compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
20 reg = <0x01c14400 0x100>;
21 interrupts = <64>;
22 clocks = <&usb_clk 6>, <&ahb_gates 2>;
23 phys = <&usbphy 1>;
24 phy-names = "usb";
25 };
diff --git a/Documentation/devicetree/bindings/usb/usb-phy.txt b/Documentation/devicetree/bindings/usb/usb-phy.txt
deleted file mode 100644
index c0245c888982..000000000000
--- a/Documentation/devicetree/bindings/usb/usb-phy.txt
+++ /dev/null
@@ -1,48 +0,0 @@
1USB PHY
2
3OMAP USB2 PHY
4
5Required properties:
6 - compatible: Should be "ti,omap-usb2"
7 - reg : Address and length of the register set for the device.
8 - #phy-cells: determine the number of cells that should be given in the
9 phandle while referencing this phy.
10
11Optional properties:
12 - ctrl-module : phandle of the control module used by PHY driver to power on
13 the PHY.
14
15This is usually a subnode of ocp2scp to which it is connected.
16
17usb2phy@4a0ad080 {
18 compatible = "ti,omap-usb2";
19 reg = <0x4a0ad080 0x58>;
20 ctrl-module = <&omap_control_usb>;
21 #phy-cells = <0>;
22};
23
24OMAP USB3 PHY
25
26Required properties:
27 - compatible: Should be "ti,omap-usb3"
28 - reg : Address and length of the register set for the device.
29 - reg-names: The names of the register addresses corresponding to the registers
30 filled in "reg".
31 - #phy-cells: determine the number of cells that should be given in the
32 phandle while referencing this phy.
33
34Optional properties:
35 - ctrl-module : phandle of the control module used by PHY driver to power on
36 the PHY.
37
38This is usually a subnode of ocp2scp to which it is connected.
39
40usb3phy@4a084400 {
41 compatible = "ti,omap-usb3";
42 reg = <0x4a084400 0x80>,
43 <0x4a084800 0x64>,
44 <0x4a084c00 0x40>;
45 reg-names = "phy_rx", "phy_tx", "pll_ctrl";
46 ctrl-module = <&omap_control_usb>;
47 #phy-cells = <0>;
48};
diff --git a/Documentation/devicetree/bindings/usb/platform-uhci.txt b/Documentation/devicetree/bindings/usb/usb-uhci.txt
index a4fb0719d157..298133416c97 100644
--- a/Documentation/devicetree/bindings/usb/platform-uhci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-uhci.txt
@@ -2,14 +2,14 @@ Generic Platform UHCI Controller
2----------------------------------------------------- 2-----------------------------------------------------
3 3
4Required properties: 4Required properties:
5- compatible : "platform-uhci" 5- compatible : "generic-uhci" (deprecated: "platform-uhci")
6- reg : Should contain 1 register ranges(address and length) 6- reg : Should contain 1 register ranges(address and length)
7- interrupts : UHCI controller interrupt 7- interrupts : UHCI controller interrupt
8 8
9Example: 9Example:
10 10
11 uhci@d8007b00 { 11 uhci@d8007b00 {
12 compatible = "platform-uhci"; 12 compatible = "generic-uhci";
13 reg = <0xd8007b00 0x200>; 13 reg = <0xd8007b00 0x200>;
14 interrupts = <43>; 14 interrupts = <43>;
15 }; 15 };
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
index 5752df0e17a2..90f8f607d125 100644
--- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
@@ -1,14 +1,14 @@
1USB xHCI controllers 1USB xHCI controllers
2 2
3Required properties: 3Required properties:
4 - compatible: should be "xhci-platform". 4 - compatible: should be "generic-xhci" (deprecated: "xhci-platform").
5 - reg: should contain address and length of the standard XHCI 5 - reg: should contain address and length of the standard XHCI
6 register set for the device. 6 register set for the device.
7 - interrupts: one XHCI interrupt should be described here. 7 - interrupts: one XHCI interrupt should be described here.
8 8
9Example: 9Example:
10 usb@f0931000 { 10 usb@f0931000 {
11 compatible = "xhci-platform"; 11 compatible = "generic-xhci";
12 reg = <0xf0931000 0x8c8>; 12 reg = <0xf0931000 0x8c8>;
13 interrupts = <0x0 0x4e 0x0>; 13 interrupts = <0x0 0x4e 0x0>;
14 }; 14 };
diff --git a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
deleted file mode 100644
index 17b3ad1d97e7..000000000000
--- a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
+++ /dev/null
@@ -1,15 +0,0 @@
1VIA/Wondermedia VT8500 EHCI Controller
2-----------------------------------------------------
3
4Required properties:
5- compatible : "via,vt8500-ehci"
6- reg : Should contain 1 register ranges(address and length)
7- interrupts : ehci controller interrupt
8
9Example:
10
11 ehci@d8007900 {
12 compatible = "via,vt8500-ehci";
13 reg = <0xd8007900 0x200>;
14 interrupts = <43>;
15 };
diff --git a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
deleted file mode 100644
index 5fb8fd6e250c..000000000000
--- a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
+++ /dev/null
@@ -1,12 +0,0 @@
1VIA VT8500 and Wondermedia WM8xxx SoC USB controllers.
2
3Required properties:
4 - compatible: Should be "via,vt8500-ehci" or "wm,prizm-ehci".
5 - reg: Address range of the ehci registers. size should be 0x200
6 - interrupts: Should contain the ehci interrupt.
7
8usb: ehci@D8007100 {
9 compatible = "wm,prizm-ehci", "usb-ehci";
10 reg = <0xD8007100 0x200>;
11 interrupts = <1>;
12};
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt
index 3f900cd51bf0..0f01c9bf19c8 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
+++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
@@ -3,21 +3,26 @@ Device tree binding vendor prefix registry. Keep list in alphabetical order.
3This isn't an exhaustive list, but you should add new prefixes to it before 3This 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
6active-semi Active-Semi International Inc 7active-semi Active-Semi International Inc
7ad Avionic Design GmbH 8ad Avionic Design GmbH
8adi Analog Devices, Inc. 9adi Analog Devices, Inc.
9aeroflexgaisler Aeroflex Gaisler AB 10aeroflexgaisler Aeroflex Gaisler AB
10ak Asahi Kasei Corp. 11ak Asahi Kasei Corp.
12allwinner Allwinner Technology Co., Ltd.
11altr Altera Corp. 13altr Altera Corp.
12amcc Applied Micro Circuits Corporation (APM, formally AMCC) 14amcc Applied Micro Circuits Corporation (APM, formally AMCC)
15amd Advanced Micro Devices (AMD), Inc.
13amstaos AMS-Taos Inc. 16amstaos AMS-Taos Inc.
14apm Applied Micro Circuits Corporation (APM) 17apm Applied Micro Circuits Corporation (APM)
15arm ARM Ltd. 18arm ARM Ltd.
19armadeus ARMadeus Systems SARL
16atmel Atmel Corporation 20atmel Atmel Corporation
17auo AU Optronics Corporation 21auo AU Optronics Corporation
18avago Avago Technologies 22avago Avago Technologies
19bosch Bosch Sensortec GmbH 23bosch Bosch Sensortec GmbH
20brcm Broadcom Corporation 24brcm Broadcom Corporation
25calxeda Calxeda
21capella Capella Microsystems, Inc 26capella Capella Microsystems, Inc
22cavium Cavium, Inc. 27cavium Cavium, Inc.
23cdns Cadence Design Systems Inc. 28cdns Cadence Design Systems Inc.
@@ -25,28 +30,38 @@ chrp Common Hardware Reference Platform
25chunghwa Chunghwa Picture Tubes Ltd. 30chunghwa Chunghwa Picture Tubes Ltd.
26cirrus Cirrus Logic, Inc. 31cirrus Cirrus Logic, Inc.
27cortina Cortina Systems, Inc. 32cortina Cortina Systems, Inc.
33crystalfontz Crystalfontz America, Inc.
28dallas Maxim Integrated Products (formerly Dallas Semiconductor) 34dallas Maxim Integrated Products (formerly Dallas Semiconductor)
29davicom DAVICOM Semiconductor, Inc. 35davicom DAVICOM Semiconductor, Inc.
36dlink D-Link Systems, Inc.
30denx Denx Software Engineering 37denx Denx Software Engineering
38dmo Data Modul AG
31edt Emerging Display Technologies 39edt Emerging Display Technologies
32emmicro EM Microelectronic 40emmicro EM Microelectronic
33epfl Ecole Polytechnique Fédérale de Lausanne 41epfl Ecole Polytechnique Fédérale de Lausanne
34epson Seiko Epson Corp. 42epson Seiko Epson Corp.
35est ESTeem Wireless Modems 43est ESTeem Wireless Modems
44eukrea Eukréa Electromatique
36fsl Freescale Semiconductor 45fsl Freescale Semiconductor
37GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc. 46GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
38gef GE Fanuc Intelligent Platforms Embedded Systems, Inc. 47gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
48globalscale Globalscale Technologies, Inc.
39gmt Global Mixed-mode Technology, Inc. 49gmt Global Mixed-mode Technology, Inc.
50google Google, Inc.
40gumstix Gumstix, Inc. 51gumstix Gumstix, Inc.
41haoyu Haoyu Microelectronic Co. Ltd. 52haoyu Haoyu Microelectronic Co. Ltd.
42hisilicon Hisilicon Limited. 53hisilicon Hisilicon Limited.
54honeywell Honeywell
43hp Hewlett Packard 55hp Hewlett Packard
44ibm International Business Machines (IBM) 56ibm International Business Machines (IBM)
45idt Integrated Device Technologies, Inc. 57idt Integrated Device Technologies, Inc.
46img Imagination Technologies Ltd. 58img Imagination Technologies Ltd.
59intel Intel Corporation
47intercontrol Inter Control Group 60intercontrol Inter Control Group
48isl Intersil 61isl Intersil
49karo Ka-Ro electronics GmbH 62karo Ka-Ro electronics GmbH
63lacie LaCie
64lantiq Lantiq Semiconductor
50lg LG Corporation 65lg LG Corporation
51linux Linux-specific binding 66linux Linux-specific binding
52lsi LSI Corp. (LSI Logic) 67lsi LSI Corp. (LSI Logic)
@@ -54,21 +69,28 @@ marvell Marvell Technology Group Ltd.
54maxim Maxim Integrated Products 69maxim Maxim Integrated Products
55microchip Microchip Technology Inc. 70microchip Microchip Technology Inc.
56mosaixtech Mosaix Technologies, Inc. 71mosaixtech Mosaix Technologies, Inc.
72moxa Moxa
57national National Semiconductor 73national National Semiconductor
74neonode Neonode Inc.
75netgear NETGEAR
58nintendo Nintendo 76nintendo Nintendo
77nokia Nokia
59nvidia NVIDIA 78nvidia NVIDIA
60nxp NXP Semiconductors 79nxp NXP Semiconductors
61onnn ON Semiconductor Corp. 80onnn ON Semiconductor Corp.
81opencores OpenCores.org
62panasonic Panasonic Corporation 82panasonic Panasonic Corporation
63phytec PHYTEC Messtechnik GmbH 83phytec PHYTEC Messtechnik GmbH
64picochip Picochip Ltd 84picochip Picochip Ltd
65powervr PowerVR (deprecated, use img) 85powervr PowerVR (deprecated, use img)
66qca Qualcomm Atheros, Inc. 86qca Qualcomm Atheros, Inc.
67qcom Qualcomm, Inc. 87qcom Qualcomm Technologies, Inc
88qnap QNAP Systems, Inc.
68ralink Mediatek/Ralink Technology Corp. 89ralink Mediatek/Ralink Technology Corp.
69ramtron Ramtron International 90ramtron Ramtron International
70realtek Realtek Semiconductor Corp. 91realtek Realtek Semiconductor Corp.
71renesas Renesas Electronics Corporation 92renesas Renesas Electronics Corporation
93ricoh Ricoh Co. Ltd.
72rockchip Fuzhou Rockchip Electronics Co., Ltd 94rockchip Fuzhou Rockchip Electronics Co., Ltd
73samsung Samsung Semiconductor 95samsung Samsung Semiconductor
74sbs Smart Battery System 96sbs Smart Battery System
@@ -76,18 +98,24 @@ schindler Schindler
76sil Silicon Image 98sil Silicon Image
77silabs Silicon Laboratories 99silabs Silicon Laboratories
78simtek 100simtek
101sii Seiko Instruments, Inc.
79sirf SiRF Technology, Inc. 102sirf SiRF Technology, Inc.
103smsc Standard Microsystems Corporation
80snps Synopsys, Inc. 104snps Synopsys, Inc.
105spansion Spansion Inc.
81st STMicroelectronics 106st STMicroelectronics
82ste ST-Ericsson 107ste ST-Ericsson
83stericsson ST-Ericsson 108stericsson ST-Ericsson
109synology Synology, Inc.
84ti Texas Instruments 110ti Texas Instruments
85tlm Trusted Logic Mobility 111tlm Trusted Logic Mobility
86toshiba Toshiba Corporation 112toshiba Toshiba Corporation
87toumaz Toumaz 113toumaz Toumaz
88v3 V3 Semiconductor 114v3 V3 Semiconductor
89via VIA Technologies, Inc. 115via VIA Technologies, Inc.
116voipac Voipac Technologies s.r.o.
90winbond Winbond Electronics corp. 117winbond Winbond Electronics corp.
91wlf Wolfson Microelectronics 118wlf Wolfson Microelectronics
92wm Wondermedia Technologies, Inc. 119wm Wondermedia Technologies, Inc.
120xes Extreme Engineering Solutions (X-ES)
93xlnx Xilinx 121xlnx Xilinx
diff --git a/Documentation/devicetree/bindings/video/analog-tv-connector.txt b/Documentation/devicetree/bindings/video/analog-tv-connector.txt
new file mode 100644
index 000000000000..0218fcdc1299
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/analog-tv-connector.txt
@@ -0,0 +1,25 @@
1Analog TV Connector
2===================
3
4Required properties:
5- compatible: "composite-connector" or "svideo-connector"
6
7Optional properties:
8- label: a symbolic name for the connector
9
10Required nodes:
11- Video port for TV input
12
13Example
14-------
15
16tv: connector {
17 compatible = "composite-connector";
18 label = "tv";
19
20 port {
21 tv_connector_in: endpoint {
22 remote-endpoint = <&venc_out>;
23 };
24 };
25};
diff --git a/Documentation/devicetree/bindings/video/dvi-connector.txt b/Documentation/devicetree/bindings/video/dvi-connector.txt
new file mode 100644
index 000000000000..fc53f7c60bc6
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/dvi-connector.txt
@@ -0,0 +1,35 @@
1DVI Connector
2==============
3
4Required properties:
5- compatible: "dvi-connector"
6
7Optional properties:
8- label: a symbolic name for the connector
9- ddc-i2c-bus: phandle to the i2c bus that is connected to DVI DDC
10- analog: the connector has DVI analog pins
11- digital: the connector has DVI digital pins
12- dual-link: the connector has pins for DVI dual-link
13
14Required nodes:
15- Video port for DVI input
16
17Note: One (or both) of 'analog' or 'digital' must be set.
18
19Example
20-------
21
22dvi0: connector@0 {
23 compatible = "dvi-connector";
24 label = "dvi";
25
26 digital;
27
28 ddc-i2c-bus = <&i2c3>;
29
30 port {
31 dvi_connector_in: endpoint {
32 remote-endpoint = <&tfp410_out>;
33 };
34 };
35};
diff --git a/Documentation/devicetree/bindings/video/exynos_dp.txt b/Documentation/devicetree/bindings/video/exynos_dp.txt
index 3289d76a21d0..57ccdde02c3a 100644
--- a/Documentation/devicetree/bindings/video/exynos_dp.txt
+++ b/Documentation/devicetree/bindings/video/exynos_dp.txt
@@ -49,6 +49,8 @@ Required properties for dp-controller:
49 -samsung,lane-count: 49 -samsung,lane-count:
50 number of lanes supported by the panel. 50 number of lanes supported by the panel.
51 LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4 51 LANE_COUNT1 = 1, LANE_COUNT2 = 2, LANE_COUNT4 = 4
52 - display-timings: timings for the connected panel as described by
53 Documentation/devicetree/bindings/video/display-timing.txt
52 54
53Optional properties for dp-controller: 55Optional properties for dp-controller:
54 -interlaced: 56 -interlaced:
@@ -84,4 +86,19 @@ Board Specific portion:
84 samsung,color-depth = <1>; 86 samsung,color-depth = <1>;
85 samsung,link-rate = <0x0a>; 87 samsung,link-rate = <0x0a>;
86 samsung,lane-count = <4>; 88 samsung,lane-count = <4>;
89
90 display-timings {
91 native-mode = <&lcd_timing>;
92 lcd_timing: 1366x768 {
93 clock-frequency = <70589280>;
94 hactive = <1366>;
95 vactive = <768>;
96 hfront-porch = <40>;
97 hback-porch = <40>;
98 hsync-len = <32>;
99 vback-porch = <10>;
100 vfront-porch = <12>;
101 vsync-len = <6>;
102 };
103 };
87 }; 104 };
diff --git a/Documentation/devicetree/bindings/video/exynos_dsim.txt b/Documentation/devicetree/bindings/video/exynos_dsim.txt
new file mode 100644
index 000000000000..33b5730d07ba
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/exynos_dsim.txt
@@ -0,0 +1,80 @@
1Exynos MIPI DSI Master
2
3Required properties:
4 - compatible: "samsung,exynos4210-mipi-dsi"
5 - reg: physical base address and length of the registers set for the device
6 - interrupts: should contain DSI interrupt
7 - clocks: list of clock specifiers, must contain an entry for each required
8 entry in clock-names
9 - clock-names: should include "bus_clk"and "pll_clk" entries
10 - phys: list of phy specifiers, must contain an entry for each required
11 entry in phy-names
12 - phy-names: should include "dsim" entry
13 - vddcore-supply: MIPI DSIM Core voltage supply (e.g. 1.1V)
14 - vddio-supply: MIPI DSIM I/O and PLL voltage supply (e.g. 1.8V)
15 - samsung,pll-clock-frequency: specifies frequency of the "pll_clk" clock
16 - #address-cells, #size-cells: should be set respectively to <1> and <0>
17 according to DSI host bindings (see MIPI DSI bindings [1])
18
19Optional properties:
20 - samsung,power-domain: a phandle to DSIM power domain node
21
22Child nodes:
23 Should contain DSI peripheral nodes (see MIPI DSI bindings [1]).
24
25Video interfaces:
26 Device node can contain video interface port nodes according to [2].
27 The following are properties specific to those nodes:
28
29 port node:
30 - reg: (required) can be 0 for input RGB/I80 port or 1 for DSI port;
31
32 endpoint node of DSI port (reg = 1):
33 - samsung,burst-clock-frequency: specifies DSI frequency in high-speed burst
34 mode
35 - samsung,esc-clock-frequency: specifies DSI frequency in escape mode
36
37[1]: Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt
38[2]: Documentation/devicetree/bindings/media/video-interfaces.txt
39
40Example:
41
42 dsi@11C80000 {
43 compatible = "samsung,exynos4210-mipi-dsi";
44 reg = <0x11C80000 0x10000>;
45 interrupts = <0 79 0>;
46 clocks = <&clock 286>, <&clock 143>;
47 clock-names = "bus_clk", "pll_clk";
48 phys = <&mipi_phy 1>;
49 phy-names = "dsim";
50 vddcore-supply = <&vusb_reg>;
51 vddio-supply = <&vmipi_reg>;
52 samsung,power-domain = <&pd_lcd0>;
53 #address-cells = <1>;
54 #size-cells = <0>;
55 samsung,pll-clock-frequency = <24000000>;
56
57 panel@1 {
58 reg = <0>;
59 ...
60 port {
61 panel_ep: endpoint {
62 remote-endpoint = <&dsi_ep>;
63 };
64 };
65 };
66
67 ports {
68 #address-cells = <1>;
69 #size-cells = <0>;
70
71 port@1 {
72 dsi_ep: endpoint {
73 reg = <0>;
74 samsung,burst-clock-frequency = <500000000>;
75 samsung,esc-clock-frequency = <20000000>;
76 remote-endpoint = <&panel_ep>;
77 };
78 };
79 };
80 };
diff --git a/Documentation/devicetree/bindings/video/exynos_hdmi.txt b/Documentation/devicetree/bindings/video/exynos_hdmi.txt
index 50decf8e1b90..f9187a259259 100644
--- a/Documentation/devicetree/bindings/video/exynos_hdmi.txt
+++ b/Documentation/devicetree/bindings/video/exynos_hdmi.txt
@@ -25,6 +25,9 @@ Required properties:
25 sclk_pixel. 25 sclk_pixel.
26- clock-names: aliases as per driver requirements for above clock IDs: 26- clock-names: aliases as per driver requirements for above clock IDs:
27 "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi". 27 "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy" and "mout_hdmi".
28- ddc: phandle to the hdmi ddc node
29- phy: phandle to the hdmi phy node
30
28Example: 31Example:
29 32
30 hdmi { 33 hdmi {
@@ -32,4 +35,6 @@ Example:
32 reg = <0x14530000 0x100000>; 35 reg = <0x14530000 0x100000>;
33 interrupts = <0 95 0>; 36 interrupts = <0 95 0>;
34 hpd-gpio = <&gpx3 7 1>; 37 hpd-gpio = <&gpx3 7 1>;
38 ddc = <&hdmi_ddc_node>;
39 phy = <&hdmi_phy_node>;
35 }; 40 };
diff --git a/Documentation/devicetree/bindings/video/fsl,imx-fb.txt b/Documentation/devicetree/bindings/video/fsl,imx-fb.txt
index 46da08db186a..0329f60d431e 100644
--- a/Documentation/devicetree/bindings/video/fsl,imx-fb.txt
+++ b/Documentation/devicetree/bindings/video/fsl,imx-fb.txt
@@ -15,8 +15,12 @@ Required nodes:
15 - fsl,pcr: LCDC PCR value 15 - fsl,pcr: LCDC PCR value
16 16
17Optional properties: 17Optional properties:
18- lcd-supply: Regulator for LCD supply voltage.
18- fsl,dmacr: DMA Control Register value. This is optional. By default, the 19- fsl,dmacr: DMA Control Register value. This is optional. By default, the
19 register is not modified as recommended by the datasheet. 20 register is not modified as recommended by the datasheet.
21- fsl,lpccr: Contrast Control Register value. This property provides the
22 default value for the contrast control register.
23 If that property is ommited, the register is zeroed.
20- fsl,lscr1: LCDC Sharp Configuration Register value. 24- fsl,lscr1: LCDC Sharp Configuration Register value.
21 25
22Example: 26Example:
diff --git a/Documentation/devicetree/bindings/video/hdmi-connector.txt b/Documentation/devicetree/bindings/video/hdmi-connector.txt
new file mode 100644
index 000000000000..ccccc19e2573
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/hdmi-connector.txt
@@ -0,0 +1,28 @@
1HDMI Connector
2==============
3
4Required properties:
5- compatible: "hdmi-connector"
6- type: the HDMI connector type: "a", "b", "c", "d" or "e"
7
8Optional properties:
9- label: a symbolic name for the connector
10
11Required nodes:
12- Video port for HDMI input
13
14Example
15-------
16
17hdmi0: connector@1 {
18 compatible = "hdmi-connector";
19 label = "hdmi";
20
21 type = "a";
22
23 port {
24 hdmi_connector_in: endpoint {
25 remote-endpoint = <&tpd12s015_out>;
26 };
27 };
28};
diff --git a/Documentation/devicetree/bindings/video/panel-dsi-cm.txt b/Documentation/devicetree/bindings/video/panel-dsi-cm.txt
new file mode 100644
index 000000000000..dce48eb9db57
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/panel-dsi-cm.txt
@@ -0,0 +1,29 @@
1Generic MIPI DSI Command Mode Panel
2===================================
3
4Required properties:
5- compatible: "panel-dsi-cm"
6
7Optional properties:
8- label: a symbolic name for the panel
9- reset-gpios: panel reset gpio
10- te-gpios: panel TE gpio
11
12Required nodes:
13- Video port for DSI input
14
15Example
16-------
17
18lcd0: display {
19 compatible = "tpo,taal", "panel-dsi-cm";
20 label = "lcd0";
21
22 reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
23
24 port {
25 lcd0_in: endpoint {
26 remote-endpoint = <&dsi1_out_ep>;
27 };
28 };
29};
diff --git a/Documentation/devicetree/bindings/video/samsung-fimd.txt b/Documentation/devicetree/bindings/video/samsung-fimd.txt
index 778838a0336a..2dad41b689af 100644
--- a/Documentation/devicetree/bindings/video/samsung-fimd.txt
+++ b/Documentation/devicetree/bindings/video/samsung-fimd.txt
@@ -39,6 +39,23 @@ Required properties:
39 39
40Optional Properties: 40Optional Properties:
41- samsung,power-domain: a phandle to FIMD power domain node. 41- samsung,power-domain: a phandle to FIMD power domain node.
42- samsung,invert-vden: video enable signal is inverted
43- samsung,invert-vclk: video clock signal is inverted
44- display-timings: timing settings for FIMD, as described in document [1].
45 Can be used in case timings cannot be provided otherwise
46 or to override timings provided by the panel.
47
48The device node can contain 'port' child nodes according to the bindings defined
49in [2]. The following are properties specific to those nodes:
50- reg: (required) port index, can be:
51 0 - for CAMIF0 input,
52 1 - for CAMIF1 input,
53 2 - for CAMIF2 input,
54 3 - for parallel output,
55 4 - for write-back interface
56
57[1]: Documentation/devicetree/bindings/video/display-timing.txt
58[2]: Documentation/devicetree/bindings/media/video-interfaces.txt
42 59
43Example: 60Example:
44 61
diff --git a/Documentation/devicetree/bindings/video/sony,acx565akm.txt b/Documentation/devicetree/bindings/video/sony,acx565akm.txt
new file mode 100644
index 000000000000..e12333280749
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/sony,acx565akm.txt
@@ -0,0 +1,30 @@
1Sony ACX565AKM SDI Panel
2========================
3
4Required properties:
5- compatible: "sony,acx565akm"
6
7Optional properties:
8- label: a symbolic name for the panel
9- reset-gpios: panel reset gpio
10
11Required nodes:
12- Video port for SDI input
13
14Example
15-------
16
17acx565akm@2 {
18 compatible = "sony,acx565akm";
19 spi-max-frequency = <6000000>;
20 reg = <2>;
21
22 label = "lcd";
23 reset-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>; /* 90 */
24
25 port {
26 lcd_in: endpoint {
27 remote-endpoint = <&sdi_out>;
28 };
29 };
30};
diff --git a/Documentation/devicetree/bindings/video/ti,omap-dss.txt b/Documentation/devicetree/bindings/video/ti,omap-dss.txt
new file mode 100644
index 000000000000..d5f1a3fe3109
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap-dss.txt
@@ -0,0 +1,211 @@
1Texas Instruments OMAP Display Subsystem
2========================================
3
4Generic Description
5-------------------
6
7This document is a generic description of the OMAP Display Subsystem bindings.
8Binding details for each OMAP SoC version are described in respective binding
9documentation.
10
11The OMAP Display Subsystem (DSS) hardware consists of DSS Core, DISPC module and
12a number of encoder modules. All DSS versions contain DSS Core and DISPC, but
13the encoder modules vary.
14
15The DSS Core is the parent of the other DSS modules, and manages clock routing,
16integration to the SoC, etc.
17
18DISPC is the display controller, which reads pixels from the memory and outputs
19a RGB pixel stream to encoders.
20
21The encoder modules encode the received RGB pixel stream to a video output like
22HDMI, MIPI DPI, etc.
23
24Video Ports
25-----------
26
27The DSS Core and the encoders have video port outputs. The structure of the
28video ports is described in Documentation/devicetree/bindings/video/video-
29ports.txt, and the properties for the ports and endpoints for each encoder are
30described in the SoC's DSS binding documentation.
31
32The video ports are used to describe the connections to external hardware, like
33panels or external encoders.
34
35Aliases
36-------
37
38The board dts file may define aliases for displays to assign "displayX" style
39name for each display. If no aliases are defined, a semi-random number is used
40for the display.
41
42Example
43-------
44
45A shortened example of the DSS description for OMAP4, with non-relevant parts
46removed, defined in omap4.dtsi:
47
48dss: dss@58000000 {
49 compatible = "ti,omap4-dss";
50 reg = <0x58000000 0x80>;
51 status = "disabled";
52 ti,hwmods = "dss_core";
53 clocks = <&dss_dss_clk>;
54 clock-names = "fck";
55 #address-cells = <1>;
56 #size-cells = <1>;
57 ranges;
58
59 dispc@58001000 {
60 compatible = "ti,omap4-dispc";
61 reg = <0x58001000 0x1000>;
62 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
63 ti,hwmods = "dss_dispc";
64 clocks = <&dss_dss_clk>;
65 clock-names = "fck";
66 };
67
68 hdmi: encoder@58006000 {
69 compatible = "ti,omap4-hdmi";
70 reg = <0x58006000 0x200>,
71 <0x58006200 0x100>,
72 <0x58006300 0x100>,
73 <0x58006400 0x1000>;
74 reg-names = "wp", "pll", "phy", "core";
75 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
76 status = "disabled";
77 ti,hwmods = "dss_hdmi";
78 clocks = <&dss_48mhz_clk>, <&dss_sys_clk>;
79 clock-names = "fck", "sys_clk";
80 };
81};
82
83A shortened example of the board description for OMAP4 Panda board, defined in
84omap4-panda.dts.
85
86The Panda board has a DVI and a HDMI connector, and the board contains a TFP410
87chip (MIPI DPI to DVI encoder) and a TPD12S015 chip (HDMI ESD protection & level
88shifter). The video pipelines for the connectors are formed as follows:
89
90DSS Core --(MIPI DPI)--> TFP410 --(DVI)--> DVI Connector
91OMAP HDMI --(HDMI)--> TPD12S015 --(HDMI)--> HDMI Connector
92
93/ {
94 aliases {
95 display0 = &dvi0;
96 display1 = &hdmi0;
97 };
98
99 tfp410: encoder@0 {
100 compatible = "ti,tfp410";
101 gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; /* 0, power-down */
102
103 pinctrl-names = "default";
104 pinctrl-0 = <&tfp410_pins>;
105
106 ports {
107 #address-cells = <1>;
108 #size-cells = <0>;
109
110 port@0 {
111 reg = <0>;
112
113 tfp410_in: endpoint@0 {
114 remote-endpoint = <&dpi_out>;
115 };
116 };
117
118 port@1 {
119 reg = <1>;
120
121 tfp410_out: endpoint@0 {
122 remote-endpoint = <&dvi_connector_in>;
123 };
124 };
125 };
126 };
127
128 dvi0: connector@0 {
129 compatible = "dvi-connector";
130 label = "dvi";
131
132 i2c-bus = <&i2c3>;
133
134 port {
135 dvi_connector_in: endpoint {
136 remote-endpoint = <&tfp410_out>;
137 };
138 };
139 };
140
141 tpd12s015: encoder@1 {
142 compatible = "ti,tpd12s015";
143
144 pinctrl-names = "default";
145 pinctrl-0 = <&tpd12s015_pins>;
146
147 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
148 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
149 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
150
151 ports {
152 #address-cells = <1>;
153 #size-cells = <0>;
154
155 port@0 {
156 reg = <0>;
157
158 tpd12s015_in: endpoint@0 {
159 remote-endpoint = <&hdmi_out>;
160 };
161 };
162
163 port@1 {
164 reg = <1>;
165
166 tpd12s015_out: endpoint@0 {
167 remote-endpoint = <&hdmi_connector_in>;
168 };
169 };
170 };
171 };
172
173 hdmi0: connector@1 {
174 compatible = "hdmi-connector";
175 label = "hdmi";
176
177 port {
178 hdmi_connector_in: endpoint {
179 remote-endpoint = <&tpd12s015_out>;
180 };
181 };
182 };
183};
184
185&dss {
186 status = "ok";
187
188 pinctrl-names = "default";
189 pinctrl-0 = <&dss_dpi_pins>;
190
191 port {
192 dpi_out: endpoint {
193 remote-endpoint = <&tfp410_in>;
194 data-lines = <24>;
195 };
196 };
197};
198
199&hdmi {
200 status = "ok";
201 vdda-supply = <&vdac>;
202
203 pinctrl-names = "default";
204 pinctrl-0 = <&dss_hdmi_pins>;
205
206 port {
207 hdmi_out: endpoint {
208 remote-endpoint = <&tpd12s015_in>;
209 };
210 };
211};
diff --git a/Documentation/devicetree/bindings/video/ti,omap2-dss.txt b/Documentation/devicetree/bindings/video/ti,omap2-dss.txt
new file mode 100644
index 000000000000..fa8bb2ed1170
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap2-dss.txt
@@ -0,0 +1,54 @@
1Texas Instruments OMAP2 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,omap2-dss"
12- reg: address and length of the register space
13- ti,hwmods: "dss_core"
14
15Optional nodes:
16- Video port for DPI output
17
18DPI Endpoint required properties:
19- data-lines: number of lines used
20
21
22DISPC
23-----
24
25Required properties:
26- compatible: "ti,omap2-dispc"
27- reg: address and length of the register space
28- ti,hwmods: "dss_dispc"
29- interrupts: the DISPC interrupt
30
31
32RFBI
33----
34
35Required properties:
36- compatible: "ti,omap2-rfbi"
37- reg: address and length of the register space
38- ti,hwmods: "dss_rfbi"
39
40
41VENC
42----
43
44Required properties:
45- compatible: "ti,omap2-venc"
46- reg: address and length of the register space
47- ti,hwmods: "dss_venc"
48- vdda-supply: power supply for DAC
49
50VENC Endpoint required properties:
51
52Required properties:
53- ti,invert-polarity: invert the polarity of the video signal
54- ti,channels: 1 for composite, 2 for s-video
diff --git a/Documentation/devicetree/bindings/video/ti,omap3-dss.txt b/Documentation/devicetree/bindings/video/ti,omap3-dss.txt
new file mode 100644
index 000000000000..0023fa4b1328
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap3-dss.txt
@@ -0,0 +1,83 @@
1Texas Instruments OMAP3 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,omap3-dss"
12- reg: address and length of the register space
13- ti,hwmods: "dss_core"
14- clocks: handle to fclk
15- clock-names: "fck"
16
17Optional nodes:
18- Video ports:
19 - Port 0: DPI output
20 - Port 1: SDI output
21
22DPI Endpoint required properties:
23- data-lines: number of lines used
24
25SDI Endpoint required properties:
26- datapairs: number of datapairs used
27
28
29DISPC
30-----
31
32Required properties:
33- compatible: "ti,omap3-dispc"
34- reg: address and length of the register space
35- ti,hwmods: "dss_dispc"
36- interrupts: the DISPC interrupt
37- clocks: handle to fclk
38- clock-names: "fck"
39
40
41RFBI
42----
43
44Required properties:
45- compatible: "ti,omap3-rfbi"
46- reg: address and length of the register space
47- ti,hwmods: "dss_rfbi"
48- clocks: handles to fclk and iclk
49- clock-names: "fck", "ick"
50
51
52VENC
53----
54
55Required properties:
56- compatible: "ti,omap3-venc"
57- reg: address and length of the register space
58- ti,hwmods: "dss_venc"
59- vdda-supply: power supply for DAC
60- clocks: handle to fclk
61- clock-names: "fck"
62
63VENC Endpoint required properties:
64- ti,invert-polarity: invert the polarity of the video signal
65- ti,channels: 1 for composite, 2 for s-video
66
67
68DSI
69---
70
71Required properties:
72- compatible: "ti,omap3-dsi"
73- reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll'
74- reg-names: "proto", "phy", "pll"
75- interrupts: the DSI interrupt line
76- ti,hwmods: "dss_dsi1"
77- vdd-supply: power supply for DSI
78- clocks: handles to fclk and pll clock
79- clock-names: "fck", "sys_clk"
80
81DSI Endpoint required properties:
82- lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-,
83 DATA1+, DATA1-, ...
diff --git a/Documentation/devicetree/bindings/video/ti,omap4-dss.txt b/Documentation/devicetree/bindings/video/ti,omap4-dss.txt
new file mode 100644
index 000000000000..f85d6fcfa705
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,omap4-dss.txt
@@ -0,0 +1,111 @@
1Texas Instruments OMAP4 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,omap4-dss"
12- reg: address and length of the register space
13- ti,hwmods: "dss_core"
14- clocks: handle to fclk
15- clock-names: "fck"
16
17Required nodes:
18- DISPC
19
20Optional nodes:
21- DSS Submodules: RFBI, VENC, DSI, HDMI
22- Video port for DPI output
23
24DPI Endpoint required properties:
25- data-lines: number of lines used
26
27
28DISPC
29-----
30
31Required properties:
32- compatible: "ti,omap4-dispc"
33- reg: address and length of the register space
34- ti,hwmods: "dss_dispc"
35- interrupts: the DISPC interrupt
36- clocks: handle to fclk
37- clock-names: "fck"
38
39
40RFBI
41----
42
43Required properties:
44- compatible: "ti,omap4-rfbi"
45- reg: address and length of the register space
46- ti,hwmods: "dss_rfbi"
47- clocks: handles to fclk and iclk
48- clock-names: "fck", "ick"
49
50Optional nodes:
51- Video port for RFBI output
52- RFBI controlled peripherals
53
54
55VENC
56----
57
58Required properties:
59- compatible: "ti,omap4-venc"
60- reg: address and length of the register space
61- ti,hwmods: "dss_venc"
62- vdda-supply: power supply for DAC
63- clocks: handle to fclk
64- clock-names: "fck"
65
66Optional nodes:
67- Video port for VENC output
68
69VENC Endpoint required properties:
70- ti,invert-polarity: invert the polarity of the video signal
71- ti,channels: 1 for composite, 2 for s-video
72
73
74DSI
75---
76
77Required properties:
78- compatible: "ti,omap4-dsi"
79- reg: addresses and lengths of the register spaces for 'proto', 'phy' and 'pll'
80- reg-names: "proto", "phy", "pll"
81- interrupts: the DSI interrupt line
82- ti,hwmods: "dss_dsi1" or "dss_dsi2"
83- vdd-supply: power supply for DSI
84- clocks: handles to fclk and pll clock
85- clock-names: "fck", "sys_clk"
86
87Optional nodes:
88- Video port for DSI output
89- DSI controlled peripherals
90
91DSI Endpoint required properties:
92- lanes: list of pin numbers for the DSI lanes: CLK+, CLK-, DATA0+, DATA0-,
93 DATA1+, DATA1-, ...
94
95
96HDMI
97----
98
99Required properties:
100- compatible: "ti,omap4-hdmi"
101- reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy',
102 'core'
103- reg-names: "wp", "pll", "phy", "core"
104- interrupts: the HDMI interrupt line
105- ti,hwmods: "dss_hdmi"
106- vdda-supply: vdda power supply
107- clocks: handles to fclk and pll clock
108- clock-names: "fck", "sys_clk"
109
110Optional nodes:
111- Video port for HDMI output
diff --git a/Documentation/devicetree/bindings/video/ti,tfp410.txt b/Documentation/devicetree/bindings/video/ti,tfp410.txt
new file mode 100644
index 000000000000..2cbe32a3d0bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,tfp410.txt
@@ -0,0 +1,41 @@
1TFP410 DPI to DVI encoder
2=========================
3
4Required properties:
5- compatible: "ti,tfp410"
6
7Optional properties:
8- powerdown-gpios: power-down gpio
9
10Required nodes:
11- Video port 0 for DPI input
12- Video port 1 for DVI output
13
14Example
15-------
16
17tfp410: encoder@0 {
18 compatible = "ti,tfp410";
19 powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
20
21 ports {
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 port@0 {
26 reg = <0>;
27
28 tfp410_in: endpoint@0 {
29 remote-endpoint = <&dpi_out>;
30 };
31 };
32
33 port@1 {
34 reg = <1>;
35
36 tfp410_out: endpoint@0 {
37 remote-endpoint = <&dvi_connector_in>;
38 };
39 };
40 };
41};
diff --git a/Documentation/devicetree/bindings/video/ti,tpd12s015.txt b/Documentation/devicetree/bindings/video/ti,tpd12s015.txt
new file mode 100644
index 000000000000..26e6d32e3f20
--- /dev/null
+++ b/Documentation/devicetree/bindings/video/ti,tpd12s015.txt
@@ -0,0 +1,44 @@
1TPD12S015 HDMI level shifter and ESD protection chip
2====================================================
3
4Required properties:
5- compatible: "ti,tpd12s015"
6
7Optional properties:
8- gpios: CT CP HPD, LS OE and HPD gpios
9
10Required nodes:
11- Video port 0 for HDMI input
12- Video port 1 for HDMI output
13
14Example
15-------
16
17tpd12s015: encoder@1 {
18 compatible = "ti,tpd12s015";
19
20 gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */
21 <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */
22 <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */
23
24 ports {
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 port@0 {
29 reg = <0>;
30
31 tpd12s015_in: endpoint@0 {
32 remote-endpoint = <&hdmi_out>;
33 };
34 };
35
36 port@1 {
37 reg = <1>;
38
39 tpd12s015_out: endpoint@0 {
40 remote-endpoint = <&hdmi_connector_in>;
41 };
42 };
43 };
44};
diff --git a/Documentation/devicetree/bindings/watchdog/marvel.txt b/Documentation/devicetree/bindings/watchdog/marvel.txt
index 5dc8d30061ce..de11eb4c121f 100644
--- a/Documentation/devicetree/bindings/watchdog/marvel.txt
+++ b/Documentation/devicetree/bindings/watchdog/marvel.txt
@@ -3,17 +3,24 @@
3Required Properties: 3Required Properties:
4 4
5- Compatibility : "marvell,orion-wdt" 5- Compatibility : "marvell,orion-wdt"
6- reg : Address of the timer registers 6 "marvell,armada-370-wdt"
7 "marvell,armada-xp-wdt"
8
9- reg : Should contain two entries: first one with the
10 timer control address, second one with the
11 rstout enable address.
7 12
8Optional properties: 13Optional properties:
9 14
15- interrupts : Contains the IRQ for watchdog expiration
10- timeout-sec : Contains the watchdog timeout in seconds 16- timeout-sec : Contains the watchdog timeout in seconds
11 17
12Example: 18Example:
13 19
14 wdt@20300 { 20 wdt@20300 {
15 compatible = "marvell,orion-wdt"; 21 compatible = "marvell,orion-wdt";
16 reg = <0x20300 0x28>; 22 reg = <0x20300 0x28>, <0x20108 0x4>;
23 interrupts = <3>;
17 timeout-sec = <10>; 24 timeout-sec = <10>;
18 status = "okay"; 25 status = "okay";
19 }; 26 };
diff --git a/Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt b/Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt
new file mode 100644
index 000000000000..6d63782a7378
--- /dev/null
+++ b/Documentation/devicetree/bindings/watchdog/of-xilinx-wdt.txt
@@ -0,0 +1,23 @@
1Xilinx AXI/PLB soft-core watchdog Device Tree Bindings
2---------------------------------------------------------
3
4Required properties:
5- compatible : Should be "xlnx,xps-timebase-wdt-1.00.a" or
6 "xlnx,xps-timebase-wdt-1.01.a".
7- reg : Physical base address and size
8
9Optional properties:
10- clock-frequency : Frequency of clock in Hz
11- xlnx,wdt-enable-once : 0 - Watchdog can be restarted
12 1 - Watchdog can be enabled just once
13- xlnx,wdt-interval : Watchdog timeout interval in 2^<val> clock cycles,
14 <val> is integer from 8 to 31.
15
16Example:
17axi-timebase-wdt@40100000 {
18 clock-frequency = <50000000>;
19 compatible = "xlnx,xps-timebase-wdt-1.00.a";
20 reg = <0x40100000 0x10000>;
21 xlnx,wdt-enable-once = <0x0>;
22 xlnx,wdt-interval = <0x1b>;
23} ;
diff --git a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
index e39cb266c8f4..b8f75c51453a 100644
--- a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
@@ -2,13 +2,13 @@ Allwinner SoCs Watchdog timer
2 2
3Required properties: 3Required properties:
4 4
5- compatible : should be "allwinner,<soc-family>-wdt", the currently supported 5- compatible : should be either "allwinner,sun4i-a10-wdt" or
6 SoC families being sun4i and sun6i 6 "allwinner,sun6i-a31-wdt"
7- reg : Specifies base physical address and size of the registers. 7- reg : Specifies base physical address and size of the registers.
8 8
9Example: 9Example:
10 10
11wdt: watchdog@01c20c90 { 11wdt: watchdog@01c20c90 {
12 compatible = "allwinner,sun4i-wdt"; 12 compatible = "allwinner,sun4i-a10-wdt";
13 reg = <0x01c20c90 0x10>; 13 reg = <0x01c20c90 0x10>;
14}; 14};