aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-04-06 00:18:09 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-04-06 00:18:09 -0400
commitb240b419db5d624ce7a5a397d6f62a1a686009ec (patch)
tree82062f2df3ba3dcd07c759658c36548d5481b516
parent9c2dd8405c0cc2288d6098df40c19569d17553e4 (diff)
parent518d2f43c358da2072948f64df99b1bd417288dc (diff)
Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC device tree updates from Arnd Bergmann: "This is the usual set of changes for device trees, with over 700 non-merged changesets. There is an ongoing set of dtc warning fixes and the usual bugfixes, cleanups and added device support. The most interesting bit as usual is support for new machines listed below: - The Allwinner H6 makes its debut with the Pine-H64 board, and we get two new machines based on its older siblings: the H5 based OrangePi Zero+ and the A64 based Teres-I Laptop from Olimex. On the 32-bit side, we add The Olimex som204 based on Allwinner A20, and the Banana Pi M2 Zero development board (based on H2). - NVIDIA adds support for Tegra194 aka "Xavier", plus their p2972 development board and p2888 CPU module. - The Nuvoton npcm750 is a BMC that was newly added, for now we only support running on the evaluation board. - STmicroelectronics stm32 gains support for the stm32mp157c and two evaluation boards. - The Toradex Colibri board family grows a few members based on the i.MX6ULL variant. - The Advantec DMS-BA16 is a Qseven module using the NXP i.MX6 family of chips. - The Phytec phyBOARD Mira is a family of industrial boards based on i.MX6. For now, four models get added. - TI am335x based PDU-001 is an industrial embedded machine used for traffic monitoring - The Aspeed platform now supports running on the BMC on the Qualcomm Centriq 2400 server - Samsung Exynos4 based Galaxy S3 is a family of mobile phones Qualcomm msm8974 based Galaxy S5 is a rather different phone made by the same company. - The Xilinx Zynq and ZynqMP platforms now gained a lot of dts file for the various boards made by Xilinx themselves, as well as the Digilent Zybo Z7. - The ARM Versatile family now supports the "IB2" interface board. - The Renesas H2 based "Stout" and the H3 based Salvator-X are more evaluation boards named after a kind of beer, as most of them are. The r8a77980 (V3H) based "Condor" apparently doesn't follow that tradition. ;-) - ROC-RK3328-CC is a simple developement board from the Libre Computer Project, based on the Rockchips RK3328 SoC - Haiku is another development board plus Qseven module based on Rockchips RK3368 and made by Theobroma Systems" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (701 commits) arm: dts: modify Nuvoton NPCM7xx device tree structure arm: dts: modify Makefile NPCM750 configuration name arm: dts: modify clock binding in NPCM750 device tree arm: dts: modify timer register size in NPCM750 device tree arm: dts: modify UART compatible name in NPCM750 device tree arm: dts: add watchdog device to NPCM750 device tree arm64: dts: uniphier: add ethernet node for PXs3 ARM: dts: uniphier: add pinctrl groups of ethernet for second instance arm: dts: kirkwood*.dts: use SPDX-License-Identifier for board using GPL-2.0+ arm: dts: kirkwood*.dts: use SPDX-License-Identifier for boards using GPL-2.0+/MIT arm: dts: kirkwood*.dts: use SPDX-License-Identifier for boards using GPL-2.0 arm: dts: armada-385-turris-omnia: use SPDX-License-Identifier arm: dts: armada-385-db-ap: use SPDX-License-Identifier arm: dts: armada-388-rd: use SPDX-License-Identifier arm: dts: armada-xp-db-xc3-24g4xg: use SPDX-License-Identifier arm: dts: armada-xp-db-dxbc2: use SPDX-License-Identifier arm: dts: armada-370-db: use SPDX-License-Identifier arm: dts: armada-*.dts: use SPDX-License-Identifier for most of the Armada based board arm: dts: armada-xp-98dx: use SPDX-License-Identifier for prestara 98d SoCs arm: dts: armada-*.dtsi: use SPDX-License-Identifier for most of the Armada SoCs ...
-rw-r--r--Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm750-smp42
-rw-r--r--Documentation/devicetree/bindings/arm/cpus.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek.txt9
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek/mediatek,pciesys.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/mediatek/mediatek,ssusbsys.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/npcm/npcm.txt6
-rw-r--r--Documentation/devicetree/bindings/arm/omap/ctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/qcom.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/rockchip.txt12
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt4
-rw-r--r--Documentation/devicetree/bindings/arm/shmobile.txt18
-rw-r--r--Documentation/devicetree/bindings/arm/stm32.txt1
-rw-r--r--Documentation/devicetree/bindings/arm/tegra.txt16
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/xilinx.txt56
-rw-r--r--Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt6
-rw-r--r--Documentation/devicetree/bindings/crypto/fsl-sec4.txt17
-rw-r--r--Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt4
-rw-r--r--Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt1
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/ti/emif.txt13
-rw-r--r--Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt4
-rw-r--r--Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt1
-rw-r--r--Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt9
-rw-r--r--Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt6
-rw-r--r--MAINTAINERS1
-rw-r--r--arch/arm/boot/dts/Makefile37
-rw-r--r--arch/arm/boot/dts/am335x-boneblue.dts2
-rw-r--r--arch/arm/boot/dts/am335x-pdu001.dts595
-rw-r--r--arch/arm/boot/dts/am33xx.dtsi21
-rw-r--r--arch/arm/boot/dts/am4372.dtsi30
-rw-r--r--arch/arm/boot/dts/am437x-gp-evm.dts2
-rw-r--r--arch/arm/boot/dts/am437x-sk-evm.dts2
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts2
-rw-r--r--arch/arm/boot/dts/am571x-idk.dts2
-rw-r--r--arch/arm/boot/dts/am572x-idk.dts3
-rw-r--r--arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi1
-rw-r--r--arch/arm/boot/dts/am57xx-idk-common.dtsi12
-rw-r--r--arch/arm/boot/dts/animeo_ip.dts2
-rw-r--r--arch/arm/boot/dts/arm-realview-eb.dtsi64
-rw-r--r--arch/arm/boot/dts/arm-realview-pb1176.dts66
-rw-r--r--arch/arm/boot/dts/arm-realview-pb11mp.dts78
-rw-r--r--arch/arm/boot/dts/arm-realview-pbx.dtsi82
-rw-r--r--arch/arm/boot/dts/armada-370-db.dts39
-rw-r--r--arch/arm/boot/dts/armada-370-dlink-dns327l.dts39
-rw-r--r--arch/arm/boot/dts/armada-370-mirabox.dts39
-rw-r--r--arch/arm/boot/dts/armada-370-netgear-rn102.dts41
-rw-r--r--arch/arm/boot/dts/armada-370-netgear-rn104.dts41
-rw-r--r--arch/arm/boot/dts/armada-370-rd.dts39
-rw-r--r--arch/arm/boot/dts/armada-370-seagate-nas-2bay.dts5
-rw-r--r--arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts5
-rw-r--r--arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi5
-rw-r--r--arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts5
-rw-r--r--arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts5
-rw-r--r--arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi5
-rw-r--r--arch/arm/boot/dts/armada-370-synology-ds213j.dts39
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-375-db.dts39
-rw-r--r--arch/arm/boot/dts/armada-375.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-380.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-385-db-ap.dts33
-rw-r--r--arch/arm/boot/dts/armada-385-linksys-caiman.dts34
-rw-r--r--arch/arm/boot/dts/armada-385-linksys-cobra.dts34
-rw-r--r--arch/arm/boot/dts/armada-385-linksys-rango.dts34
-rw-r--r--arch/arm/boot/dts/armada-385-linksys-shelby.dts34
-rw-r--r--arch/arm/boot/dts/armada-385-linksys.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-385-synology-ds116.dts33
-rw-r--r--arch/arm/boot/dts/armada-385-turris-omnia.dts35
-rw-r--r--arch/arm/boot/dts/armada-385.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-388-clearfog-base.dts38
-rw-r--r--arch/arm/boot/dts/armada-388-clearfog-pro.dts38
-rw-r--r--arch/arm/boot/dts/armada-388-clearfog.dts38
-rw-r--r--arch/arm/boot/dts/armada-388-clearfog.dtsi90
-rw-r--r--arch/arm/boot/dts/armada-388-db.dts39
-rw-r--r--arch/arm/boot/dts/armada-388-gp.dts33
-rw-r--r--arch/arm/boot/dts/armada-388-rd.dts39
-rw-r--r--arch/arm/boot/dts/armada-388.dtsi34
-rw-r--r--arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi38
-rw-r--r--arch/arm/boot/dts/armada-38x.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-390-db.dts39
-rw-r--r--arch/arm/boot/dts/armada-390.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-395-gp.dts33
-rw-r--r--arch/arm/boot/dts/armada-395.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-398-db.dts39
-rw-r--r--arch/arm/boot/dts/armada-398.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-39x.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-98dx3236.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-98dx3336.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-98dx4251.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-axpwifiap.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-db-dxbc2.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-db.dts38
-rw-r--r--arch/arm/boot/dts/armada-xp-gp.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-linksys-mamba.dts33
-rw-r--r--arch/arm/boot/dts/armada-xp-matrix.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78230.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78260.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78460.dtsi39
-rw-r--r--arch/arm/boot/dts/armada-xp-netgear-rn2120.dts41
-rw-r--r--arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp-synology-ds414.dts39
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi39
-rw-r--r--arch/arm/boot/dts/artpec6-devboard.dts3
-rw-r--r--arch/arm/boot/dts/artpec6.dtsi163
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dts225
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts206
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts16
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts4
-rw-r--r--arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts4
-rw-r--r--arch/arm/boot/dts/aspeed-g4.dtsi18
-rw-r--r--arch/arm/boot/dts/aspeed-g5.dtsi25
-rw-r--r--arch/arm/boot/dts/at91-nattis-2-natte-2.dts60
-rw-r--r--arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts2
-rw-r--r--arch/arm/boot/dts/at91-tse850-3.dts3
-rw-r--r--arch/arm/boot/dts/at91rm9200.dtsi16
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi24
-rw-r--r--arch/arm/boot/dts/at91sam9260ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9261.dtsi12
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi12
-rw-r--r--arch/arm/boot/dts/at91sam9263ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_common.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g25.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi16
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi4
-rw-r--r--arch/arm/boot/dts/at91sam9rl.dtsi15
-rw-r--r--arch/arm/boot/dts/at91sam9rlek.dts3
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi12
-rw-r--r--arch/arm/boot/dts/at91sam9x5_usart3.dtsi4
-rw-r--r--arch/arm/boot/dts/atlas7-evb.dts2
-rw-r--r--arch/arm/boot/dts/axp209.dtsi5
-rw-r--r--arch/arm/boot/dts/axp22x.dtsi5
-rw-r--r--arch/arm/boot/dts/axp81x.dtsi12
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi-zero-w.dts16
-rw-r--r--arch/arm/boot/dts/bcm2835-rpi.dtsi4
-rw-r--r--arch/arm/boot/dts/bcm2837-rpi-3-b.dts17
-rw-r--r--arch/arm/boot/dts/bcm283x.dtsi20
-rw-r--r--arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts68
-rw-r--r--arch/arm/boot/dts/bcm958622hr.dts6
-rw-r--r--arch/arm/boot/dts/bcm958623hr.dts6
-rw-r--r--arch/arm/boot/dts/bcm958625hr.dts6
-rw-r--r--arch/arm/boot/dts/bcm958625k.dts6
-rw-r--r--arch/arm/boot/dts/bcm988312hr.dts6
-rw-r--r--arch/arm/boot/dts/da850-evm.dts5
-rw-r--r--arch/arm/boot/dts/da850-lego-ev3.dts19
-rw-r--r--arch/arm/boot/dts/dra7-evm.dts28
-rw-r--r--arch/arm/boot/dts/dra7.dtsi2
-rw-r--r--arch/arm/boot/dts/dra71-evm.dts17
-rw-r--r--arch/arm/boot/dts/dra76-evm.dts50
-rw-r--r--arch/arm/boot/dts/dra76x-mmc-iodelay.dtsi285
-rw-r--r--arch/arm/boot/dts/emev2-kzm9d.dts8
-rw-r--r--arch/arm/boot/dts/exynos-mfc-reserved-memory.dtsi5
-rw-r--r--arch/arm/boot/dts/exynos-syscon-restart.dtsi5
-rw-r--r--arch/arm/boot/dts/exynos3250-artik5.dtsi36
-rw-r--r--arch/arm/boot/dts/exynos3250.dtsi15
-rw-r--r--arch/arm/boot/dts/exynos4.dtsi1719
-rw-r--r--arch/arm/boot/dts/exynos4210-pinctrl.dtsi1680
-rw-r--r--arch/arm/boot/dts/exynos4210-trats.dts74
-rw-r--r--arch/arm/boot/dts/exynos4210-universal_c210.dts115
-rw-r--r--arch/arm/boot/dts/exynos4210.dtsi610
-rw-r--r--arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi140
-rw-r--r--arch/arm/boot/dts/exynos4412-i9300.dts22
-rw-r--r--arch/arm/boot/dts/exynos4412-i9305.dts20
-rw-r--r--arch/arm/boot/dts/exynos4412-itop-elite.dts16
-rw-r--r--arch/arm/boot/dts/exynos4412-midas.dtsi1308
-rw-r--r--arch/arm/boot/dts/exynos4412-n710x.dts77
-rw-r--r--arch/arm/boot/dts/exynos4412-odroid-common.dtsi12
-rw-r--r--arch/arm/boot/dts/exynos4412-pinctrl.dtsi1914
-rw-r--r--arch/arm/boot/dts/exynos4412-tiny4412.dts7
-rw-r--r--arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi6
-rw-r--r--arch/arm/boot/dts/exynos4412-trats2.dts1396
-rw-r--r--arch/arm/boot/dts/exynos4412.dtsi868
-rw-r--r--arch/arm/boot/dts/exynos5250-snow-common.dtsi18
-rw-r--r--arch/arm/boot/dts/exynos5250-snow.dts11
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi15
-rw-r--r--arch/arm/boot/dts/exynos5260-xyref5260.dts1
-rw-r--r--arch/arm/boot/dts/exynos5410.dtsi9
-rw-r--r--arch/arm/boot/dts/exynos5420-cpus.dtsi16
-rw-r--r--arch/arm/boot/dts/exynos5420-peach-pit.dts17
-rw-r--r--arch/arm/boot/dts/exynos5422-cpus.dtsi16
-rw-r--r--arch/arm/boot/dts/exynos5440.dtsi514
-rw-r--r--arch/arm/boot/dts/exynos5800-peach-pi.dts22
-rw-r--r--arch/arm/boot/dts/exynos5800.dtsi5
-rw-r--r--arch/arm/boot/dts/gemini-dlink-dns-313.dts2
-rw-r--r--arch/arm/boot/dts/imx1-ads.dts2
-rw-r--r--arch/arm/boot/dts/imx1-apf9328.dts2
-rw-r--r--arch/arm/boot/dts/imx1.dtsi2
-rw-r--r--arch/arm/boot/dts/imx23-evk.dts2
-rw-r--r--arch/arm/boot/dts/imx23-olinuxino.dts2
-rw-r--r--arch/arm/boot/dts/imx23-sansa.dts2
-rw-r--r--arch/arm/boot/dts/imx23-stmp378x_devb.dts2
-rw-r--r--arch/arm/boot/dts/imx23-xfi3.dts2
-rw-r--r--arch/arm/boot/dts/imx23.dtsi8
-rw-r--r--arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi2
-rw-r--r--arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts12
-rw-r--r--arch/arm/boot/dts/imx25-karo-tx25.dts2
-rw-r--r--arch/arm/boot/dts/imx25-pdk.dts14
-rw-r--r--arch/arm/boot/dts/imx25-pinfunc.h72
-rw-r--r--arch/arm/boot/dts/imx25.dtsi4
-rw-r--r--arch/arm/boot/dts/imx27-apf27.dts2
-rw-r--r--arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi17
-rw-r--r--arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts2
-rw-r--r--arch/arm/boot/dts/imx27-pdk.dts2
-rw-r--r--arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi2
-rw-r--r--arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi2
-rw-r--r--arch/arm/boot/dts/imx27.dtsi2
-rw-r--r--arch/arm/boot/dts/imx28-apf28.dts2
-rw-r--r--arch/arm/boot/dts/imx28-apx4devkit.dts6
-rw-r--r--arch/arm/boot/dts/imx28-cfa10036.dts2
-rw-r--r--arch/arm/boot/dts/imx28-cfa10049.dts130
-rw-r--r--arch/arm/boot/dts/imx28-duckbill-2-485.dts2
-rw-r--r--arch/arm/boot/dts/imx28-duckbill-2-enocean.dts2
-rw-r--r--arch/arm/boot/dts/imx28-duckbill-2-spi.dts2
-rw-r--r--arch/arm/boot/dts/imx28-duckbill-2.dts2
-rw-r--r--arch/arm/boot/dts/imx28-duckbill.dts2
-rw-r--r--arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dts2
-rw-r--r--arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dts2
-rw-r--r--arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi1
-rw-r--r--arch/arm/boot/dts/imx28-evk.dts3
-rw-r--r--arch/arm/boot/dts/imx28-m28.dtsi2
-rw-r--r--arch/arm/boot/dts/imx28-m28cu3.dts2
-rw-r--r--arch/arm/boot/dts/imx28-m28evk.dts1
-rw-r--r--arch/arm/boot/dts/imx28-sps1.dts2
-rw-r--r--arch/arm/boot/dts/imx28-ts4600.dts2
-rw-r--r--arch/arm/boot/dts/imx28-tx28.dts34
-rw-r--r--arch/arm/boot/dts/imx28.dtsi20
-rw-r--r--arch/arm/boot/dts/imx31-bug.dts2
-rw-r--r--arch/arm/boot/dts/imx31.dtsi2
-rw-r--r--arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi2
-rw-r--r--arch/arm/boot/dts/imx35-pdk.dts2
-rw-r--r--arch/arm/boot/dts/imx35.dtsi2
-rw-r--r--arch/arm/boot/dts/imx50-evk.dts2
-rw-r--r--arch/arm/boot/dts/imx50.dtsi2
-rw-r--r--arch/arm/boot/dts/imx51-apf51.dts2
-rw-r--r--arch/arm/boot/dts/imx51-babbage.dts3
-rw-r--r--arch/arm/boot/dts/imx51-digi-connectcore-jsk.dts2
-rw-r--r--arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi2
-rw-r--r--arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi2
-rw-r--r--arch/arm/boot/dts/imx51-ts4800.dts2
-rw-r--r--arch/arm/boot/dts/imx51-zii-rdu1.dts14
-rw-r--r--arch/arm/boot/dts/imx51.dtsi2
-rw-r--r--arch/arm/boot/dts/imx53-ard.dts2
-rw-r--r--arch/arm/boot/dts/imx53-cx9020.dts2
-rw-r--r--arch/arm/boot/dts/imx53-m53.dtsi2
-rw-r--r--arch/arm/boot/dts/imx53-m53evk.dts1
-rw-r--r--arch/arm/boot/dts/imx53-ppd.dts12
-rw-r--r--arch/arm/boot/dts/imx53-qsb-common.dtsi3
-rw-r--r--arch/arm/boot/dts/imx53-smd.dts2
-rw-r--r--arch/arm/boot/dts/imx53-tqma53.dtsi2
-rw-r--r--arch/arm/boot/dts/imx53-tx53-x03x.dts1
-rw-r--r--arch/arm/boot/dts/imx53-tx53-x13x.dts1
-rw-r--r--arch/arm/boot/dts/imx53-tx53.dtsi5
-rw-r--r--arch/arm/boot/dts/imx53-usbarmory.dts2
-rw-r--r--arch/arm/boot/dts/imx53-voipac-bsb.dts1
-rw-r--r--arch/arm/boot/dts/imx53.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6dl-apf6dev.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-aristainetos2_4.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-aristainetos2_7.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-aristainetos_4.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-aristainetos_7.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts9
-rw-r--r--arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts5
-rw-r--r--arch/arm/boot/dts/imx6dl-phytec-mira-rdk-nand.dts64
-rw-r--r--arch/arm/boot/dts/imx6dl-phytec-pfla02.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6dl-rex-basic.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-riotboard.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-ts4900.dts5
-rw-r--r--arch/arm/boot/dts/imx6dl-ts7970.dts5
-rw-r--r--arch/arm/boot/dts/imx6dl-wandboard-revb1.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-wandboard-revd1.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl-wandboard.dts2
-rw-r--r--arch/arm/boot/dts/imx6dl.dtsi10
-rw-r--r--arch/arm/boot/dts/imx6q-apf6dev.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-arm2.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-ba16.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6q-bx50v3.dtsi8
-rw-r--r--arch/arm/boot/dts/imx6q-cm-fx6.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-dfi-fs700-m60.dts5
-rw-r--r--arch/arm/boot/dts/imx6q-display5.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-dms-ba16.dts139
-rw-r--r--arch/arm/boot/dts/imx6q-evi.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-gk802.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-gw5400-a.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-h100.dts7
-rw-r--r--arch/arm/boot/dts/imx6q-marsboard.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-mccmon6.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-novena.dts5
-rw-r--r--arch/arm/boot/dts/imx6q-phytec-mira-rdk-emmc.dts72
-rw-r--r--arch/arm/boot/dts/imx6q-phytec-mira-rdk-nand.dts72
-rw-r--r--arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6q-pistachio.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-rex-pro.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-sbc6x.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-tbs2910.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-ts4900.dts5
-rw-r--r--arch/arm/boot/dts/imx6q-ts7970.dts5
-rw-r--r--arch/arm/boot/dts/imx6q-wandboard-revb1.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-wandboard-revd1.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-wandboard.dts2
-rw-r--r--arch/arm/boot/dts/imx6q-zii-rdu2.dts5
-rw-r--r--arch/arm/boot/dts/imx6q.dtsi5
-rw-r--r--arch/arm/boot/dts/imx6qdl-apalis.dtsi5
-rw-r--r--arch/arm/boot/dts/imx6qdl-cubox-i.dtsi5
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw51xx.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw52xx.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw53xx.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw54xx.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw551x.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw552x.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw553x.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw560x.dtsi1
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw5903.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-gw5904.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-hummingboard.dtsi10
-rw-r--r--arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi9
-rw-r--r--arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi8
-rw-r--r--arch/arm/boot/dts/imx6qdl-icore.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-phytec-mira.dtsi390
-rw-r--r--arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi279
-rw-r--r--arch/arm/boot/dts/imx6qdl-rex.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-sabreauto.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-sabrelite.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-sabresd.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-tx6.dtsi4
-rw-r--r--arch/arm/boot/dts/imx6qdl-udoo.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-var-dart.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi22
-rw-r--r--arch/arm/boot/dts/imx6qdl.dtsi4
-rw-r--r--arch/arm/boot/dts/imx6qp-phytec-mira-rdk-nand.dts72
-rw-r--r--arch/arm/boot/dts/imx6qp-wandboard-revd1.dts2
-rw-r--r--arch/arm/boot/dts/imx6qp-zii-rdu2.dts5
-rw-r--r--arch/arm/boot/dts/imx6sl-evk.dts2
-rw-r--r--arch/arm/boot/dts/imx6sl-warp.dts2
-rw-r--r--arch/arm/boot/dts/imx6sl.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6sx-nitrogen6sx.dts2
-rw-r--r--arch/arm/boot/dts/imx6sx-sabreauto.dts2
-rw-r--r--arch/arm/boot/dts/imx6sx-sdb.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6sx-softing-vining-2000.dts2
-rw-r--r--arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts2
-rw-r--r--arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts2
-rw-r--r--arch/arm/boot/dts/imx6sx-udoo-neo-full.dts2
-rw-r--r--arch/arm/boot/dts/imx6sx.dtsi20
-rw-r--r--arch/arm/boot/dts/imx6ul-14x14-evk.dts480
-rw-r--r--arch/arm/boot/dts/imx6ul-14x14-evk.dtsi499
-rw-r--r--arch/arm/boot/dts/imx6ul-geam.dts3
-rw-r--r--arch/arm/boot/dts/imx6ul-isiot.dtsi3
-rw-r--r--arch/arm/boot/dts/imx6ul-litesom.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6ul-opos6ul.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6ul-pico-hobbit.dts2
-rw-r--r--arch/arm/boot/dts/imx6ul-pinfunc.h169
-rw-r--r--arch/arm/boot/dts/imx6ul-tx6ul.dtsi4
-rw-r--r--arch/arm/boot/dts/imx6ul.dtsi31
-rw-r--r--arch/arm/boot/dts/imx6ull-14x14-evk.dts5
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-eval-v3.dts14
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi157
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi23
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dts14
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi65
-rw-r--r--arch/arm/boot/dts/imx6ull-colibri.dtsi553
-rw-r--r--arch/arm/boot/dts/imx6ull-pinfunc-snvs.h26
-rw-r--r--arch/arm/boot/dts/imx6ull.dtsi32
-rw-r--r--arch/arm/boot/dts/imx7d-cl-som-imx7.dts54
-rw-r--r--arch/arm/boot/dts/imx7d-colibri-emmc.dtsi2
-rw-r--r--arch/arm/boot/dts/imx7d-colibri.dtsi2
-rw-r--r--arch/arm/boot/dts/imx7d-nitrogen7.dts2
-rw-r--r--arch/arm/boot/dts/imx7d-pico.dtsi2
-rw-r--r--arch/arm/boot/dts/imx7d-sdb.dts7
-rw-r--r--arch/arm/boot/dts/imx7s-colibri.dtsi2
-rw-r--r--arch/arm/boot/dts/imx7s-warp.dts18
-rw-r--r--arch/arm/boot/dts/imx7s.dtsi280
-rw-r--r--arch/arm/boot/dts/keystone-k2e-clocks.dtsi2
-rw-r--r--arch/arm/boot/dts/keystone-k2e.dtsi13
-rw-r--r--arch/arm/boot/dts/keystone-k2g.dtsi82
-rw-r--r--arch/arm/boot/dts/keystone-k2hk.dtsi104
-rw-r--r--arch/arm/boot/dts/keystone-k2l.dtsi52
-rw-r--r--arch/arm/boot/dts/keystone.dtsi42
-rw-r--r--arch/arm/boot/dts/kirkwood-b3.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts3
-rw-r--r--arch/arm/boot/dts/kirkwood-d2net.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-db-88f6281.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-db-88f6282.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-db.dtsi5
-rw-r--r--arch/arm/boot/dts/kirkwood-dir665.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds109.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds110jv10.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds111.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds112.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds209.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds210.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds212.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds212j.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds409.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds409slim.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds411.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds411j.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ds411slim.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-laplug.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts39
-rw-r--r--arch/arm/boot/dts/kirkwood-linkstation.dtsi39
-rw-r--r--arch/arm/boot/dts/kirkwood-linksys-viper.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-nas2big.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-net2big.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-net5big.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts6
-rw-r--r--arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts6
-rw-r--r--arch/arm/boot/dts/kirkwood-netxbig.dtsi4
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa320.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa325.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-openblocks_a7.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-openrd-base.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-openrd-client.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-openrd-ultimate.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-openrd.dtsi5
-rw-r--r--arch/arm/boot/dts/kirkwood-pogo_e02.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6192.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6281-a.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6281.dtsi5
-rw-r--r--arch/arm/boot/dts/kirkwood-rs212.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-rs409.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-rs411.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi3
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts3
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug.dts3
-rw-r--r--arch/arm/boot/dts/kirkwood-synology.dtsi4
-rw-r--r--arch/arm/boot/dts/kirkwood-t5325.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ts419-6281.dts6
-rw-r--r--arch/arm/boot/dts/kirkwood-ts419-6282.dts6
-rw-r--r--arch/arm/boot/dts/kirkwood-ts419.dtsi6
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi2
-rw-r--r--arch/arm/boot/dts/logicpd-som-lv.dtsi16
-rw-r--r--arch/arm/boot/dts/logicpd-torpedo-som.dtsi16
-rw-r--r--arch/arm/boot/dts/ls1021a.dtsi16
-rw-r--r--arch/arm/boot/dts/meson8.dtsi9
-rw-r--r--arch/arm/boot/dts/meson8b-odroidc1.dts88
-rw-r--r--arch/arm/boot/dts/meson8b.dtsi59
-rw-r--r--arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi13
-rw-r--r--arch/arm/boot/dts/mt7623.dtsi126
-rw-r--r--arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts133
-rw-r--r--arch/arm/boot/dts/mt7623n-rfb-nand.dts6
-rw-r--r--arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi187
-rw-r--r--arch/arm/boot/dts/nuvoton-npcm750-evb.dts39
-rw-r--r--arch/arm/boot/dts/nuvoton-npcm750.dtsi44
-rw-r--r--arch/arm/boot/dts/omap3-n9.dts7
-rw-r--r--arch/arm/boot/dts/omap3.dtsi1
-rw-r--r--arch/arm/boot/dts/omap4-droid4-xt894.dts203
-rw-r--r--arch/arm/boot/dts/omap443x.dtsi2
-rw-r--r--arch/arm/boot/dts/omap4460.dtsi2
-rw-r--r--arch/arm/boot/dts/omap5-board-common.dtsi4
-rw-r--r--arch/arm/boot/dts/omap5.dtsi24
-rw-r--r--arch/arm/boot/dts/omap54xx-clocks.dtsi10
-rw-r--r--arch/arm/boot/dts/orion5x-lacie-d2-network.dts2
-rw-r--r--arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts2
-rw-r--r--arch/arm/boot/dts/orion5x-linkstation.dtsi2
-rw-r--r--arch/arm/boot/dts/orion5x-lswsgl.dts2
-rw-r--r--arch/arm/boot/dts/orion5x-maxtor-shared-storage-2.dts2
-rw-r--r--arch/arm/boot/dts/orion5x-rd88f5182-nas.dts2
-rw-r--r--arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts2
-rw-r--r--arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts2
-rw-r--r--arch/arm/boot/dts/qcom-apq8064-cm-qs600.dts2
-rw-r--r--arch/arm/boot/dts/qcom-apq8064.dtsi63
-rw-r--r--arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts24
-rw-r--r--arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts4
-rw-r--r--arch/arm/boot/dts/r8a7743-iwg20m.dtsi4
-rw-r--r--arch/arm/boot/dts/r8a7743.dtsi1216
-rw-r--r--arch/arm/boot/dts/r8a7745-iwg22m.dtsi4
-rw-r--r--arch/arm/boot/dts/r8a7745.dtsi1156
-rw-r--r--arch/arm/boot/dts/r8a7779-marzen.dts14
-rw-r--r--arch/arm/boot/dts/r8a7790-lager.dts287
-rw-r--r--arch/arm/boot/dts/r8a7790-stout.dts363
-rw-r--r--arch/arm/boot/dts/r8a7790.dtsi2837
-rw-r--r--arch/arm/boot/dts/r8a7791-koelsch.dts232
-rw-r--r--arch/arm/boot/dts/r8a7791-porter.dts130
-rw-r--r--arch/arm/boot/dts/r8a7791.dtsi2986
-rw-r--r--arch/arm/boot/dts/r8a7792.dtsi498
-rw-r--r--arch/arm/boot/dts/r8a7793-gose.dts252
-rw-r--r--arch/arm/boot/dts/r8a7793.dtsi2392
-rw-r--r--arch/arm/boot/dts/r8a7794-alt.dts53
-rw-r--r--arch/arm/boot/dts/r8a7794-silk.dts189
-rw-r--r--arch/arm/boot/dts/r8a7794.dtsi2421
-rw-r--r--arch/arm/boot/dts/rk322x.dtsi2
-rw-r--r--arch/arm/boot/dts/rk3288-phycore-rdk.dts6
-rw-r--r--arch/arm/boot/dts/rk3288-phycore-som.dtsi5
-rw-r--r--arch/arm/boot/dts/rk3288-rock2-som.dtsi4
-rw-r--r--arch/arm/boot/dts/rk3288-rock2-square.dts41
-rw-r--r--arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi1
-rw-r--r--arch/arm/boot/dts/rk3288-vyasa.dts11
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi24
-rw-r--r--arch/arm/boot/dts/sama5d34ek.dts2
-rw-r--r--arch/arm/boot/dts/sama5d3_uart.dtsi8
-rw-r--r--arch/arm/boot/dts/sama5d4.dtsi30
-rw-r--r--arch/arm/boot/dts/samsung_k3pe0e000b.dtsi68
-rw-r--r--arch/arm/boot/dts/socfpga.dtsi2
-rw-r--r--arch/arm/boot/dts/stih407-b2120.dts4
-rw-r--r--arch/arm/boot/dts/stih407-clock.dtsi92
-rw-r--r--arch/arm/boot/dts/stih407-family.dtsi42
-rw-r--r--arch/arm/boot/dts/stih407-pinctrl.dtsi10
-rw-r--r--arch/arm/boot/dts/stih407.dtsi5
-rw-r--r--arch/arm/boot/dts/stih410-b2120.dts10
-rw-r--r--arch/arm/boot/dts/stih410-b2260.dts91
-rw-r--r--arch/arm/boot/dts/stih410-clock.dtsi96
-rw-r--r--arch/arm/boot/dts/stih410-pinctrl.dtsi2
-rw-r--r--arch/arm/boot/dts/stih410.dtsi14
-rw-r--r--arch/arm/boot/dts/stih418-b2199.dts32
-rw-r--r--arch/arm/boot/dts/stih418-clock.dtsi95
-rw-r--r--arch/arm/boot/dts/stih418.dtsi6
-rw-r--r--arch/arm/boot/dts/stihxxx-b2120.dtsi126
-rw-r--r--arch/arm/boot/dts/stm32429i-eval.dts19
-rw-r--r--arch/arm/boot/dts/stm32746g-eval.dts20
-rw-r--r--arch/arm/boot/dts/stm32f4-pinctrl.dtsi31
-rw-r--r--arch/arm/boot/dts/stm32f429.dtsi11
-rw-r--r--arch/arm/boot/dts/stm32f469-disco.dts50
-rw-r--r--arch/arm/boot/dts/stm32f7-pinctrl.dtsi289
-rw-r--r--arch/arm/boot/dts/stm32f746-disco.dts20
-rw-r--r--arch/arm/boot/dts/stm32f746-pinctrl.dtsi11
-rw-r--r--arch/arm/boot/dts/stm32f746.dtsi242
-rw-r--r--arch/arm/boot/dts/stm32f769-disco.dts65
-rw-r--r--arch/arm/boot/dts/stm32f769-pinctrl.dtsi11
-rw-r--r--arch/arm/boot/dts/stm32h743-pinctrl.dtsi44
-rw-r--r--arch/arm/boot/dts/stm32h743.dtsi112
-rw-r--r--arch/arm/boot/dts/stm32h743i-disco.dts2
-rw-r--r--arch/arm/boot/dts/stm32h743i-eval.dts20
-rw-r--r--arch/arm/boot/dts/stm32mp157-pinctrl.dtsi185
-rw-r--r--arch/arm/boot/dts/stm32mp157c-ed1.dts32
-rw-r--r--arch/arm/boot/dts/stm32mp157c-ev1.dts21
-rw-r--r--arch/arm/boot/dts/stm32mp157c.dtsi194
-rw-r--r--arch/arm/boot/dts/sun4i-a10-a1000.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-cubieboard.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-gemei-g9.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-hackberry.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-inet1.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-inet97fv2.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-marsboard.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-mini-xplus.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-mk802.dts28
-rw-r--r--arch/arm/boot/dts/sun4i-a10-mk802ii.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts4
-rw-r--r--arch/arm/boot/dts/sun4i-a10-pcduino.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts3
-rw-r--r--arch/arm/boot/dts/sun4i-a10.dtsi2
-rw-r--r--arch/arm/boot/dts/sun5i-a10s-auxtek-t003.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a10s-auxtek-t004.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a10s-mk802.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts6
-rw-r--r--arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a13-empire-electronix-d709.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a13-hsg-h702.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a13-olinuxino.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-a13.dtsi2
-rw-r--r--arch/arm/boot/dts/sun5i-gr8-evb.dts3
-rw-r--r--arch/arm/boot/dts/sun5i-reference-design-tablet.dtsi3
-rw-r--r--arch/arm/boot/dts/sun6i-a31-colombus.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31-hummingbird.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31-i7.dts32
-rw-r--r--arch/arm/boot/dts/sun6i-a31-m9.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31.dtsi2
-rw-r--r--arch/arm/boot/dts/sun6i-a31s-primo81.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31s-sina31s.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts3
-rw-r--r--arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-bananapi.dts28
-rw-r--r--arch/arm/boot/dts/sun7i-a20-bananapro.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-cubieboard2.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-cubietruck.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-hummingbird.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-icnova-swac.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-itead-ibox.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-m3.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-mk808c.dts28
-rw-r--r--arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts31
-rw-r--r--arch/arm/boot/dts/sun7i-a20-olimex-som204-evb-emmc.dts36
-rw-r--r--arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts335
-rw-r--r--arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts6
-rw-r--r--arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts31
-rw-r--r--arch/arm/boot/dts/sun7i-a20-orangepi.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-pcduino3.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-wexler-tab7200.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts3
-rw-r--r--arch/arm/boot/dts/sun7i-a20.dtsi29
-rw-r--r--arch/arm/boot/dts/sun8i-a23-evb.dts3
-rw-r--r--arch/arm/boot/dts/sun8i-a33-olinuxino.dts58
-rw-r--r--arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts3
-rw-r--r--arch/arm/boot/dts/sun8i-a33.dtsi1
-rw-r--r--arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts3
-rw-r--r--arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts42
-rw-r--r--arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts3
-rw-r--r--arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts12
-rw-r--r--arch/arm/boot/dts/sun8i-a83t.dtsi230
-rw-r--r--arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts121
-rw-r--r--arch/arm/boot/dts/sun8i-h2-plus-orangepi-r1.dts8
-rw-r--r--arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts11
-rw-r--r--arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts32
-rw-r--r--arch/arm/boot/dts/sun8i-h3-beelink-x2.dts32
-rw-r--r--arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts30
-rw-r--r--arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts12
-rw-r--r--arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts25
-rw-r--r--arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts27
-rw-r--r--arch/arm/boot/dts/sun8i-h3-nanopi.dtsi5
-rw-r--r--arch/arm/boot/dts/sun8i-h3-orangepi-2.dts32
-rw-r--r--arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts32
-rw-r--r--arch/arm/boot/dts/sun8i-h3-orangepi-one.dts29
-rw-r--r--arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts2
-rw-r--r--arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts30
-rw-r--r--arch/arm/boot/dts/sun8i-h3.dtsi27
-rw-r--r--arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts3
-rw-r--r--arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts3
-rw-r--r--arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi11
-rw-r--r--arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts3
-rw-r--r--arch/arm/boot/dts/sun9i-a80-cubieboard4.dts71
-rw-r--r--arch/arm/boot/dts/sun9i-a80-optimus.dts3
-rw-r--r--arch/arm/boot/dts/sun9i-a80.dtsi475
-rw-r--r--arch/arm/boot/dts/sunxi-h3-h5.dtsi122
-rw-r--r--arch/arm/boot/dts/tegra114-dalmore.dts2
-rw-r--r--arch/arm/boot/dts/tegra124-apalis-eval.dts23
-rw-r--r--arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts250
-rw-r--r--arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi2052
-rw-r--r--arch/arm/boot/dts/tegra124-apalis.dtsi72
-rw-r--r--arch/arm/boot/dts/tegra124-jetson-tk1.dts2
-rw-r--r--arch/arm/boot/dts/tegra124-venice2.dts9
-rw-r--r--arch/arm/boot/dts/tegra20-colibri-512.dtsi16
-rw-r--r--arch/arm/boot/dts/tegra20.dtsi4
-rw-r--r--arch/arm/boot/dts/tegra30-apalis-eval.dts4
-rw-r--r--arch/arm/boot/dts/tegra30-apalis.dtsi7
-rw-r--r--arch/arm/boot/dts/tegra30-beaver.dts32
-rw-r--r--arch/arm/boot/dts/tegra30-colibri-eval-v3.dts6
-rw-r--r--arch/arm/boot/dts/tegra30-colibri.dtsi3
-rw-r--r--arch/arm/boot/dts/tegra30.dtsi35
-rw-r--r--arch/arm/boot/dts/uniphier-ld4-ref.dts14
-rw-r--r--arch/arm/boot/dts/uniphier-ld4.dtsi14
-rw-r--r--arch/arm/boot/dts/uniphier-ld6b-ref.dts25
-rw-r--r--arch/arm/boot/dts/uniphier-ld6b.dtsi14
-rw-r--r--arch/arm/boot/dts/uniphier-pinctrl.dtsi64
-rw-r--r--arch/arm/boot/dts/uniphier-pro4-ace.dts25
-rw-r--r--arch/arm/boot/dts/uniphier-pro4-ref.dts25
-rw-r--r--arch/arm/boot/dts/uniphier-pro4-sanji.dts25
-rw-r--r--arch/arm/boot/dts/uniphier-pro4.dtsi32
-rw-r--r--arch/arm/boot/dts/uniphier-pro5.dtsi14
-rw-r--r--arch/arm/boot/dts/uniphier-pxs2-gentil.dts49
-rw-r--r--arch/arm/boot/dts/uniphier-pxs2-vodka.dts62
-rw-r--r--arch/arm/boot/dts/uniphier-pxs2.dtsi89
-rw-r--r--arch/arm/boot/dts/uniphier-ref-daughter.dtsi14
-rw-r--r--arch/arm/boot/dts/uniphier-sld8-ref.dts14
-rw-r--r--arch/arm/boot/dts/uniphier-sld8.dtsi14
-rw-r--r--arch/arm/boot/dts/uniphier-support-card.dtsi14
-rw-r--r--arch/arm/boot/dts/versatile-ab-ib2.dts26
-rw-r--r--arch/arm/boot/dts/versatile-ab.dts83
-rw-r--r--arch/arm/boot/dts/vf500-colibri.dtsi2
-rw-r--r--arch/arm/boot/dts/vf500.dtsi7
-rw-r--r--arch/arm/boot/dts/vf610-colibri.dtsi2
-rw-r--r--arch/arm/boot/dts/vf610-cosmic.dts2
-rw-r--r--arch/arm/boot/dts/vf610-twr.dts2
-rw-r--r--arch/arm/boot/dts/vf610-zii-dev.dtsi2
-rw-r--r--arch/arm/boot/dts/vf610m4-colibri.dts4
-rw-r--r--arch/arm/boot/dts/vf610m4.dtsi9
-rw-r--r--arch/arm/boot/dts/zynq-7000.dtsi12
-rw-r--r--arch/arm/boot/dts/zynq-cc108.dts75
-rw-r--r--arch/arm/boot/dts/zynq-microzed.dts12
-rw-r--r--arch/arm/boot/dts/zynq-parallella.dts10
-rw-r--r--arch/arm/boot/dts/zynq-zc702.dts12
-rw-r--r--arch/arm/boot/dts/zynq-zc706.dts12
-rw-r--r--arch/arm/boot/dts/zynq-zc770-xm010.dts95
-rw-r--r--arch/arm/boot/dts/zynq-zc770-xm011.dts64
-rw-r--r--arch/arm/boot/dts/zynq-zc770-xm012.dts64
-rw-r--r--arch/arm/boot/dts/zynq-zc770-xm013.dts78
-rw-r--r--arch/arm/boot/dts/zynq-zed.dts10
-rw-r--r--arch/arm/boot/dts/zynq-zybo-z7.dts58
-rw-r--r--arch/arm/boot/dts/zynq-zybo.dts10
-rw-r--r--arch/arm/configs/multi_v7_defconfig1
-rw-r--r--arch/arm/configs/omap2plus_defconfig3
-rw-r--r--arch/arm64/Kconfig.platforms12
-rw-r--r--arch/arm64/boot/dts/allwinner/Makefile3
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts3
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts3
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts3
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts3
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts8
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts265
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi99
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts4
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts2
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts27
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts29
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts143
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts29
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts29
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi175
-rw-r--r--arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts5
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-axg-s400.dts18
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-axg.dtsi275
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gx.dtsi40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts42
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts42
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts82
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts122
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi256
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi50
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi14
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905d.dtsi39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts4
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts4
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts4
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi4
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl-s905x.dtsi39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxl.dtsi39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts9
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts39
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts40
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts3
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-gxm.dtsi39
-rw-r--r--arch/arm64/boot/dts/arm/juno-base.dtsi21
-rw-r--r--arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi90
-rw-r--r--arch/arm64/boot/dts/exynos/exynos5433.dtsi24
-rw-r--r--arch/arm64/boot/dts/exynos/exynos7-espresso.dts2
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi80
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi83
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi66
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi134
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi2
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi8
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi98
-rw-r--r--arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi6
-rw-r--r--arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi7
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi3660.dtsi32
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts2
-rw-r--r--arch/arm64/boot/dts/hisilicon/hi6220.dtsi10
-rw-r--r--arch/arm64/boot/dts/hisilicon/hip06.dtsi56
-rw-r--r--arch/arm64/boot/dts/hisilicon/hip07.dtsi33
-rw-r--r--arch/arm64/boot/dts/marvell/armada-371x.dtsi38
-rw-r--r--arch/arm64/boot/dts/marvell/armada-3720-db.dts39
-rw-r--r--arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-372x.dtsi38
-rw-r--r--arch/arm64/boot/dts/marvell/armada-37xx.dtsi38
-rw-r--r--arch/arm64/boot/dts/marvell/armada-7020.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-7040-db.dts93
-rw-r--r--arch/arm64/boot/dts/marvell/armada-7040.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-70x0.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8020.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8040-db.dts87
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts65
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8040.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8080-db.dts41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-8080.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-80x0.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-ap806.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-ap810-ap0-octa-core.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi41
-rw-r--r--arch/arm64/boot/dts/marvell/armada-common.dtsi2
-rw-r--r--arch/arm64/boot/dts/marvell/armada-cp110.dtsi118
-rw-r--r--arch/arm64/boot/dts/mediatek/mt2712-evb.dts4
-rw-r--r--arch/arm64/boot/dts/mediatek/mt2712e.dtsi9
-rw-r--r--arch/arm64/boot/dts/mediatek/mt6380.dtsi86
-rw-r--r--arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts469
-rw-r--r--arch/arm64/boot/dts/mediatek/mt7622.dtsi675
-rw-r--r--arch/arm64/boot/dts/nvidia/Makefile1
-rw-r--r--arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi248
-rw-r--r--arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts16
-rw-r--r--arch/arm64/boot/dts/nvidia/tegra194.dtsi344
-rw-r--r--arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi5
-rw-r--r--arch/arm64/boot/dts/nvidia/tegra210.dtsi16
-rw-r--r--arch/arm64/boot/dts/qcom/msm8916.dtsi60
-rw-r--r--arch/arm64/boot/dts/qcom/msm8996.dtsi23
-rw-r--r--arch/arm64/boot/dts/renesas/Makefile2
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi3
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7795.dtsi194
-rw-r--r--arch/arm64/boot/dts/renesas/r8a7796.dtsi130
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77965-salvator-x.dts21
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts21
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77965.dtsi878
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77970-eagle.dts33
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts11
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77970.dtsi218
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77980-condor.dts58
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77980.dtsi385
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77995-draak.dts124
-rw-r--r--arch/arm64/boot/dts/renesas/r8a77995.dtsi193
-rw-r--r--arch/arm64/boot/dts/renesas/salvator-common.dtsi8
-rw-r--r--arch/arm64/boot/dts/renesas/ulcb.dtsi1
-rw-r--r--arch/arm64/boot/dts/rockchip/Makefile3
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts267
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3328.dtsi6
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3368-lion-haikou.dts146
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi317
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi13
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts71
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi28
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts44
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-sapphire.dts12
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi67
-rw-r--r--arch/arm64/boot/dts/rockchip/rk3399.dtsi79
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts109
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld11-ref.dts25
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi127
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts111
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dts25
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi138
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts36
-rw-r--r--arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi50
-rw-r--r--arch/arm64/boot/dts/sprd/sc2731.dtsi169
-rw-r--r--arch/arm64/boot/dts/sprd/sp9860g-1h10.dts2
-rw-r--r--arch/arm64/boot/dts/sprd/whale2.dtsi81
-rw-r--r--arch/arm64/boot/dts/xilinx/Makefile16
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi213
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi1
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts13
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts54
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts42
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts42
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts131
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts168
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts150
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts178
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm019-dc5.dts125
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts289
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts36
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts548
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts40
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts195
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts522
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts444
-rw-r--r--arch/arm64/boot/dts/xilinx/zynqmp.dtsi17
-rw-r--r--drivers/clk/imx/clk-imx7d.c3
-rw-r--r--drivers/soc/amlogic/meson-gx-socinfo.c1
-rw-r--r--include/dt-bindings/clock/imx7d-clock.h5
-rw-r--r--include/dt-bindings/clock/tegra194-clock.h321
-rw-r--r--include/dt-bindings/gpio/tegra194-gpio.h61
-rw-r--r--include/dt-bindings/mfd/stm32f7-rcc.h1
-rw-r--r--include/dt-bindings/power/tegra194-powergate.h35
-rw-r--r--include/dt-bindings/reset/tegra194-reset.h152
879 files changed, 39377 insertions, 20094 deletions
diff --git a/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm750-smp b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm750-smp
new file mode 100644
index 000000000000..8e043301e28e
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/cpu-enable-method/nuvoton,npcm750-smp
@@ -0,0 +1,42 @@
1=========================================================
2Secondary CPU enable-method "nuvoton,npcm750-smp" binding
3=========================================================
4
5To apply to all CPUs, a single "nuvoton,npcm750-smp" enable method should be
6defined in the "cpus" node.
7
8Enable method name: "nuvoton,npcm750-smp"
9Compatible machines: "nuvoton,npcm750"
10Compatible CPUs: "arm,cortex-a9"
11Related properties: (none)
12
13Note:
14This enable method needs valid nodes compatible with "arm,cortex-a9-scu" and
15"nuvoton,npcm750-gcr".
16
17Example:
18
19 cpus {
20 #address-cells = <1>;
21 #size-cells = <0>;
22 enable-method = "nuvoton,npcm750-smp";
23
24 cpu@0 {
25 device_type = "cpu";
26 compatible = "arm,cortex-a9";
27 clocks = <&clk NPCM7XX_CLK_CPU>;
28 clock-names = "clk_cpu";
29 reg = <0>;
30 next-level-cache = <&L2>;
31 };
32
33 cpu@1 {
34 device_type = "cpu";
35 compatible = "arm,cortex-a9";
36 clocks = <&clk NPCM7XX_CLK_CPU>;
37 clock-names = "clk_cpu";
38 reg = <1>;
39 next-level-cache = <&L2>;
40 };
41 };
42
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index f4a777039f03..8b0328ff951d 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -185,6 +185,7 @@ described below.
185 "nvidia,tegra186-denver" 185 "nvidia,tegra186-denver"
186 "qcom,krait" 186 "qcom,krait"
187 "qcom,kryo" 187 "qcom,kryo"
188 "qcom,kryo385"
188 "qcom,scorpion" 189 "qcom,scorpion"
189 - enable-method 190 - enable-method
190 Value type: <stringlist> 191 Value type: <stringlist>
diff --git a/Documentation/devicetree/bindings/arm/mediatek.txt b/Documentation/devicetree/bindings/arm/mediatek.txt
index 91d517849483..7d21ab37c19c 100644
--- a/Documentation/devicetree/bindings/arm/mediatek.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek.txt
@@ -50,6 +50,15 @@ Supported boards:
50- Reference board variant 1 for MT7622: 50- Reference board variant 1 for MT7622:
51 Required root node properties: 51 Required root node properties:
52 - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622"; 52 - compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
53- Reference board for MT7623a with eMMC:
54 Required root node properties:
55 - compatible = "mediatek,mt7623a-rfb-emmc", "mediatek,mt7623";
56- Reference board for MT7623a with NAND:
57 Required root node properties:
58 - compatible = "mediatek,mt7623a-rfb-nand", "mediatek,mt7623";
59- Reference board for MT7623n with eMMC:
60 Required root node properties:
61 - compatible = "mediatek,mt7623n-rfb-emmc", "mediatek,mt7623";
53- Reference board for MT7623n with NAND: 62- Reference board for MT7623n with NAND:
54 Required root node properties: 63 Required root node properties:
55 - compatible = "mediatek,mt7623n-rfb-nand", "mediatek,mt7623"; 64 - compatible = "mediatek,mt7623n-rfb-nand", "mediatek,mt7623";
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt
index 6cc7840ff37a..8f5335b480ac 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,ethsys.txt
@@ -9,6 +9,7 @@ Required Properties:
9 - "mediatek,mt2701-ethsys", "syscon" 9 - "mediatek,mt2701-ethsys", "syscon"
10 - "mediatek,mt7622-ethsys", "syscon" 10 - "mediatek,mt7622-ethsys", "syscon"
11- #clock-cells: Must be 1 11- #clock-cells: Must be 1
12- #reset-cells: Must be 1
12 13
13The ethsys controller uses the common clk binding from 14The ethsys controller uses the common clk binding from
14Documentation/devicetree/bindings/clock/clock-bindings.txt 15Documentation/devicetree/bindings/clock/clock-bindings.txt
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,pciesys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,pciesys.txt
index d5d5f1227665..7fe5dc6097a6 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,pciesys.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,pciesys.txt
@@ -8,6 +8,7 @@ Required Properties:
8- compatible: Should be: 8- compatible: Should be:
9 - "mediatek,mt7622-pciesys", "syscon" 9 - "mediatek,mt7622-pciesys", "syscon"
10- #clock-cells: Must be 1 10- #clock-cells: Must be 1
11- #reset-cells: Must be 1
11 12
12The PCIESYS controller uses the common clk binding from 13The PCIESYS controller uses the common clk binding from
13Documentation/devicetree/bindings/clock/clock-bindings.txt 14Documentation/devicetree/bindings/clock/clock-bindings.txt
@@ -19,4 +20,5 @@ pciesys: pciesys@1a100800 {
19 compatible = "mediatek,mt7622-pciesys", "syscon"; 20 compatible = "mediatek,mt7622-pciesys", "syscon";
20 reg = <0 0x1a100800 0 0x1000>; 21 reg = <0 0x1a100800 0 0x1000>;
21 #clock-cells = <1>; 22 #clock-cells = <1>;
23 #reset-cells = <1>;
22}; 24};
diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,ssusbsys.txt b/Documentation/devicetree/bindings/arm/mediatek/mediatek,ssusbsys.txt
index 00760019da00..b8184da2508c 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,ssusbsys.txt
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,ssusbsys.txt
@@ -8,6 +8,7 @@ Required Properties:
8- compatible: Should be: 8- compatible: Should be:
9 - "mediatek,mt7622-ssusbsys", "syscon" 9 - "mediatek,mt7622-ssusbsys", "syscon"
10- #clock-cells: Must be 1 10- #clock-cells: Must be 1
11- #reset-cells: Must be 1
11 12
12The SSUSBSYS controller uses the common clk binding from 13The SSUSBSYS controller uses the common clk binding from
13Documentation/devicetree/bindings/clock/clock-bindings.txt 14Documentation/devicetree/bindings/clock/clock-bindings.txt
@@ -19,4 +20,5 @@ ssusbsys: ssusbsys@1a000000 {
19 compatible = "mediatek,mt7622-ssusbsys", "syscon"; 20 compatible = "mediatek,mt7622-ssusbsys", "syscon";
20 reg = <0 0x1a000000 0 0x1000>; 21 reg = <0 0x1a000000 0 0x1000>;
21 #clock-cells = <1>; 22 #clock-cells = <1>;
23 #reset-cells = <1>;
22}; 24};
diff --git a/Documentation/devicetree/bindings/arm/npcm/npcm.txt b/Documentation/devicetree/bindings/arm/npcm/npcm.txt
new file mode 100644
index 000000000000..2d87d9ecea85
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/npcm/npcm.txt
@@ -0,0 +1,6 @@
1NPCM Platforms Device Tree Bindings
2-----------------------------------
3NPCM750 SoC
4Required root node properties:
5 - compatible = "nuvoton,npcm750";
6
diff --git a/Documentation/devicetree/bindings/arm/omap/ctrl.txt b/Documentation/devicetree/bindings/arm/omap/ctrl.txt
index ce8dabf8c0f9..f35b77920786 100644
--- a/Documentation/devicetree/bindings/arm/omap/ctrl.txt
+++ b/Documentation/devicetree/bindings/arm/omap/ctrl.txt
@@ -25,6 +25,7 @@ Required properties:
25 "ti,omap4-scm-padconf-wkup" 25 "ti,omap4-scm-padconf-wkup"
26 "ti,omap5-scm-core" 26 "ti,omap5-scm-core"
27 "ti,omap5-scm-padconf-core" 27 "ti,omap5-scm-padconf-core"
28 "ti,omap5-scm-wkup-pad-conf"
28 "ti,dra7-scm-core" 29 "ti,dra7-scm-core"
29- reg: Contains Control Module register address range 30- reg: Contains Control Module register address range
30 (base address and length) 31 (base address and length)
diff --git a/Documentation/devicetree/bindings/arm/qcom.txt b/Documentation/devicetree/bindings/arm/qcom.txt
index 0ed4d39d7fe1..ee532e705d6c 100644
--- a/Documentation/devicetree/bindings/arm/qcom.txt
+++ b/Documentation/devicetree/bindings/arm/qcom.txt
@@ -26,6 +26,7 @@ The 'SoC' element must be one of the following strings:
26 msm8996 26 msm8996
27 mdm9615 27 mdm9615
28 ipq8074 28 ipq8074
29 sdm845
29 30
30The 'board' element must be one of the following strings: 31The 'board' element must be one of the following strings:
31 32
diff --git a/Documentation/devicetree/bindings/arm/rockchip.txt b/Documentation/devicetree/bindings/arm/rockchip.txt
index 326d24bca1a9..1c1d62d03c4f 100644
--- a/Documentation/devicetree/bindings/arm/rockchip.txt
+++ b/Documentation/devicetree/bindings/arm/rockchip.txt
@@ -50,6 +50,10 @@ Rockchip platforms device tree bindings
50 Required root node properties: 50 Required root node properties:
51 - compatible = "firefly,firefly-rk3399", "rockchip,rk3399"; 51 - compatible = "firefly,firefly-rk3399", "rockchip,rk3399";
52 52
53- Firefly roc-rk3328-cc board:
54 Required root node properties:
55 - compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328";
56
53- ChipSPARK PopMetal-RK3288 board: 57- ChipSPARK PopMetal-RK3288 board:
54 Required root node properties: 58 Required root node properties:
55 - compatible = "chipspark,popmetal-rk3288", "rockchip,rk3288"; 59 - compatible = "chipspark,popmetal-rk3288", "rockchip,rk3288";
@@ -181,10 +185,18 @@ Rockchip platforms device tree bindings
181 Required root node properties: 185 Required root node properties:
182 - compatible = "rockchip,rk3399-evb", "rockchip,rk3399"; 186 - compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
183 187
188- Rockchip RK3399 Sapphire board standalone:
189 Required root node properties:
190 - compatible = "rockchip,rk3399-sapphire", "rockchip,rk3399";
191
184- Rockchip RK3399 Sapphire Excavator board: 192- Rockchip RK3399 Sapphire Excavator board:
185 Required root node properties: 193 Required root node properties:
186 - compatible = "rockchip,rk3399-sapphire-excavator", "rockchip,rk3399"; 194 - compatible = "rockchip,rk3399-sapphire-excavator", "rockchip,rk3399";
187 195
196- Theobroma Systems RK3368-uQ7 Haikou Baseboard:
197 Required root node properties:
198 - compatible = "tsd,rk3368-uq7-haikou", "rockchip,rk3368";
199
188- Theobroma Systems RK3399-Q7 Haikou Baseboard: 200- Theobroma Systems RK3399-Q7 Haikou Baseboard:
189 Required root node properties: 201 Required root node properties:
190 - compatible = "tsd,rk3399-q7-haikou", "rockchip,rk3399"; 202 - compatible = "tsd,rk3399-q7-haikou", "rockchip,rk3399";
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
index 469ac98ecf8f..14510b215480 100644
--- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
@@ -9,7 +9,11 @@ Required root node properties:
9 - "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board. 9 - "samsung,smdkv310" - for Exynos4210-based Samsung SMDKV310 eval board.
10 - "samsung,trats" - for Exynos4210-based Tizen Reference board. 10 - "samsung,trats" - for Exynos4210-based Tizen Reference board.
11 - "samsung,universal_c210" - for Exynos4210-based Samsung board. 11 - "samsung,universal_c210" - for Exynos4210-based Samsung board.
12 - "samsung,i9300" - for Exynos4412-based Samsung GT-I9300 board.
13 - "samsung,i9305" - for Exynos4412-based Samsung GT-I9305 board.
14 - "samsung,midas" - for Exynos4412-based Samsung Midas board.
12 - "samsung,smdk4412", - for Exynos4412-based Samsung SMDK4412 eval board. 15 - "samsung,smdk4412", - for Exynos4412-based Samsung SMDK4412 eval board.
16 - "samsung,n710x" - for Exynos4412-based Samsung GT-N7100/GT-N7105 board.
13 - "samsung,trats2" - for Exynos4412-based Tizen Reference board. 17 - "samsung,trats2" - for Exynos4412-based Tizen Reference board.
14 - "samsung,smdk5250" - for Exynos5250-based Samsung SMDK5250 eval board. 18 - "samsung,smdk5250" - for Exynos5250-based Samsung SMDK5250 eval board.
15 - "samsung,xyref5260" - for Exynos5260-based Samsung board. 19 - "samsung,xyref5260" - for Exynos5260-based Samsung board.
diff --git a/Documentation/devicetree/bindings/arm/shmobile.txt b/Documentation/devicetree/bindings/arm/shmobile.txt
index 5c3af7ef0761..d3d1df97834f 100644
--- a/Documentation/devicetree/bindings/arm/shmobile.txt
+++ b/Documentation/devicetree/bindings/arm/shmobile.txt
@@ -39,8 +39,12 @@ SoCs:
39 compatible = "renesas,r8a7795" 39 compatible = "renesas,r8a7795"
40 - R-Car M3-W (R8A77960) 40 - R-Car M3-W (R8A77960)
41 compatible = "renesas,r8a7796" 41 compatible = "renesas,r8a7796"
42 - R-Car M3-N (R8A77965)
43 compatible = "renesas,r8a77965"
42 - R-Car V3M (R8A77970) 44 - R-Car V3M (R8A77970)
43 compatible = "renesas,r8a77970" 45 compatible = "renesas,r8a77970"
46 - R-Car V3H (R8A77980)
47 compatible = "renesas,r8a77980"
44 - R-Car D3 (R8A77995) 48 - R-Car D3 (R8A77995)
45 compatible = "renesas,r8a77995" 49 compatible = "renesas,r8a77995"
46 50
@@ -52,11 +56,13 @@ Boards:
52 - APE6-EVM 56 - APE6-EVM
53 compatible = "renesas,ape6evm", "renesas,r8a73a4" 57 compatible = "renesas,ape6evm", "renesas,r8a73a4"
54 - Atmark Techno Armadillo-800 EVA 58 - Atmark Techno Armadillo-800 EVA
55 compatible = "renesas,armadillo800eva" 59 compatible = "renesas,armadillo800eva", "renesas,r8a7740"
56 - Blanche (RTP0RC7792SEB00010S) 60 - Blanche (RTP0RC7792SEB00010S)
57 compatible = "renesas,blanche", "renesas,r8a7792" 61 compatible = "renesas,blanche", "renesas,r8a7792"
58 - BOCK-W 62 - BOCK-W
59 compatible = "renesas,bockw", "renesas,r8a7778" 63 compatible = "renesas,bockw", "renesas,r8a7778"
64 - Condor (RTP0RC77980SEB0010SS/RTP0RC77980SEB0010SA01)
65 compatible = "renesas,condor", "renesas,r8a77980"
60 - Draak (RTP0RC77995SEB0010S) 66 - Draak (RTP0RC77995SEB0010S)
61 compatible = "renesas,draak", "renesas,r8a77995" 67 compatible = "renesas,draak", "renesas,r8a77995"
62 - Eagle (RTP0RC77970SEB0010S) 68 - Eagle (RTP0RC77970SEB0010S)
@@ -102,19 +108,25 @@ Boards:
102 compatible = "renesas,salvator-x", "renesas,r8a7795" 108 compatible = "renesas,salvator-x", "renesas,r8a7795"
103 - Salvator-X (RTP0RC7796SIPB0011S) 109 - Salvator-X (RTP0RC7796SIPB0011S)
104 compatible = "renesas,salvator-x", "renesas,r8a7796" 110 compatible = "renesas,salvator-x", "renesas,r8a7796"
111 - Salvator-X (RTP0RC7796SIPB0011S (M3N))
112 compatible = "renesas,salvator-x", "renesas,r8a77965"
105 - Salvator-XS (Salvator-X 2nd version, RTP0RC7795SIPB0012S) 113 - Salvator-XS (Salvator-X 2nd version, RTP0RC7795SIPB0012S)
106 compatible = "renesas,salvator-xs", "renesas,r8a7795" 114 compatible = "renesas,salvator-xs", "renesas,r8a7795"
107 - Salvator-XS (Salvator-X 2nd version, RTP0RC7796SIPB0012S) 115 - Salvator-XS (Salvator-X 2nd version, RTP0RC7796SIPB0012S)
108 compatible = "renesas,salvator-xs", "renesas,r8a7796" 116 compatible = "renesas,salvator-xs", "renesas,r8a7796"
117 - Salvator-XS (Salvator-X 2nd version, RTP0RC77965SIPB012S)
118 compatible = "renesas,salvator-xs", "renesas,r8a77965"
109 - SILK (RTP0RC7794LCB00011S) 119 - SILK (RTP0RC7794LCB00011S)
110 compatible = "renesas,silk", "renesas,r8a7794" 120 compatible = "renesas,silk", "renesas,r8a7794"
111 - SK-RZG1E (YR8A77450S000BE) 121 - SK-RZG1E (YR8A77450S000BE)
112 compatible = "renesas,sk-rzg1e", "renesas,r8a7745" 122 compatible = "renesas,sk-rzg1e", "renesas,r8a7745"
113 - SK-RZG1M (YR8A77430S000BE) 123 - SK-RZG1M (YR8A77430S000BE)
114 compatible = "renesas,sk-rzg1m", "renesas,r8a7743" 124 compatible = "renesas,sk-rzg1m", "renesas,r8a7743"
115 - V3MSK 125 - Stout (ADAS Starterkit, Y-R-CAR-ADAS-SKH2-BOARD)
126 compatible = "renesas,stout", "renesas,r8a7790"
127 - V3MSK (Y-ASK-RCAR-V3M-WS10)
116 compatible = "renesas,v3msk", "renesas,r8a77970" 128 compatible = "renesas,v3msk", "renesas,r8a77970"
117 - Wheat 129 - Wheat (RTP0RC7792ASKB0000JE)
118 compatible = "renesas,wheat", "renesas,r8a7792" 130 compatible = "renesas,wheat", "renesas,r8a7792"
119 131
120 132
diff --git a/Documentation/devicetree/bindings/arm/stm32.txt b/Documentation/devicetree/bindings/arm/stm32.txt
index 05762b08a7bb..6808ed9ddfd5 100644
--- a/Documentation/devicetree/bindings/arm/stm32.txt
+++ b/Documentation/devicetree/bindings/arm/stm32.txt
@@ -7,3 +7,4 @@ using one of the following compatible strings:
7 st,stm32f469 7 st,stm32f469
8 st,stm32f746 8 st,stm32f746
9 st,stm32h743 9 st,stm32h743
10 st,stm32mp157
diff --git a/Documentation/devicetree/bindings/arm/tegra.txt b/Documentation/devicetree/bindings/arm/tegra.txt
index 7f1411bbabf7..32f62bb7006d 100644
--- a/Documentation/devicetree/bindings/arm/tegra.txt
+++ b/Documentation/devicetree/bindings/arm/tegra.txt
@@ -9,6 +9,12 @@ following compatible values:
9 9
10 nvidia,tegra20 10 nvidia,tegra20
11 nvidia,tegra30 11 nvidia,tegra30
12 nvidia,tegra114
13 nvidia,tegra124
14 nvidia,tegra132
15 nvidia,tegra210
16 nvidia,tegra186
17 nvidia,tegra194
12 18
13Boards 19Boards
14------------------------------------------- 20-------------------------------------------
@@ -26,8 +32,18 @@ board-specific compatible values:
26 nvidia,cardhu 32 nvidia,cardhu
27 nvidia,cardhu-a02 33 nvidia,cardhu-a02
28 nvidia,cardhu-a04 34 nvidia,cardhu-a04
35 nvidia,dalmore
29 nvidia,harmony 36 nvidia,harmony
37 nvidia,jetson-tk1
38 nvidia,norrin
39 nvidia,p2371-0000
40 nvidia,p2371-2180
41 nvidia,p2571
42 nvidia,p2771-0000
43 nvidia,p2972-0000
44 nvidia,roth
30 nvidia,seaboard 45 nvidia,seaboard
46 nvidia,tn7
31 nvidia,ventana 47 nvidia,ventana
32 toradex,apalis_t30 48 toradex,apalis_t30
33 toradex,apalis_t30-eval 49 toradex,apalis_t30-eval
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt
index 078a58b0302f..5a3bf7c5a7a0 100644
--- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra186-pmc.txt
@@ -3,6 +3,7 @@ NVIDIA Tegra Power Management Controller (PMC)
3Required properties: 3Required properties:
4- compatible: Should contain one of the following: 4- compatible: Should contain one of the following:
5 - "nvidia,tegra186-pmc": for Tegra186 5 - "nvidia,tegra186-pmc": for Tegra186
6 - "nvidia,tegra194-pmc": for Tegra194
6- reg: Must contain an (offset, length) pair of the register set for each 7- reg: Must contain an (offset, length) pair of the register set for each
7 entry in reg-names. 8 entry in reg-names.
8- reg-names: Must include the following entries: 9- reg-names: Must include the following entries:
@@ -10,6 +11,7 @@ Required properties:
10 - "wake" 11 - "wake"
11 - "aotag" 12 - "aotag"
12 - "scratch" 13 - "scratch"
14 - "misc" (Only for Tegra194)
13 15
14Optional properties: 16Optional properties:
15- nvidia,invert-interrupt: If present, inverts the PMU interrupt signal. 17- nvidia,invert-interrupt: If present, inverts the PMU interrupt signal.
diff --git a/Documentation/devicetree/bindings/arm/xilinx.txt b/Documentation/devicetree/bindings/arm/xilinx.txt
index 1f7995357888..b9043bc35c14 100644
--- a/Documentation/devicetree/bindings/arm/xilinx.txt
+++ b/Documentation/devicetree/bindings/arm/xilinx.txt
@@ -5,3 +5,59 @@ shall have the following properties.
5 5
6Required root node properties: 6Required root node properties:
7 - compatible = "xlnx,zynq-7000"; 7 - compatible = "xlnx,zynq-7000";
8
9Additional compatible strings:
10
11- Xilinx internal board cc108
12 "xlnx,zynq-cc108"
13
14- Xilinx internal board zc770 with different FMC cards
15 "xlnx,zynq-zc770-xm010"
16 "xlnx,zynq-zc770-xm011"
17 "xlnx,zynq-zc770-xm012"
18 "xlnx,zynq-zc770-xm013"
19
20- Digilent Zybo Z7 board
21 "digilent,zynq-zybo-z7"
22
23---------------------------------------------------------------
24
25Xilinx Zynq UltraScale+ MPSoC Platforms Device Tree Bindings
26
27Boards with ZynqMP SOC based on an ARM Cortex A53 processor
28shall have the following properties.
29
30Required root node properties:
31 - compatible = "xlnx,zynqmp";
32
33
34Additional compatible strings:
35
36- Xilinx internal board zc1232
37 "xlnx,zynqmp-zc1232-revA", "xlnx,zynqmp-zc1232"
38
39- Xilinx internal board zc1254
40 "xlnx,zynqmp-zc1254-revA", "xlnx,zynqmp-zc1254"
41
42- Xilinx internal board zc1275
43 "xlnx,zynqmp-zc1275-revA", "xlnx,zynqmp-zc1275"
44
45- Xilinx internal board zc1751
46 "xlnx,zynqmp-zc1751"
47
48- Xilinx 96boards compatible board zcu100
49 "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100"
50
51- Xilinx evaluation board zcu102
52 "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102"
53 "xlnx,zynqmp-zcu102-revB", "xlnx,zynqmp-zcu102"
54 "xlnx,zynqmp-zcu102-rev1.0", "xlnx,zynqmp-zcu102"
55
56- Xilinx evaluation board zcu104
57 "xlnx,zynqmp-zcu104-revA", "xlnx,zynqmp-zcu104"
58
59- Xilinx evaluation board zcu106
60 "xlnx,zynqmp-zcu106-revA", "xlnx,zynqmp-zcu106"
61
62- Xilinx evaluation board zcu111
63 "xlnx,zynqmp-zcu111-revA", "xlnx,zynqmp-zcu111"
diff --git a/Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt b/Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt
index 3e21eb822811..c1e70621799b 100644
--- a/Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt
+++ b/Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt
@@ -73,7 +73,7 @@ Example with two SJA1000 CAN controllers connected to the GMI bus. We wrap the
73controllers with a simple-bus node since they are all connected to the same 73controllers with a simple-bus node since they are all connected to the same
74chip-select (CS4), in this example external address decoding is provided: 74chip-select (CS4), in this example external address decoding is provided:
75 75
76gmi@70090000 { 76gmi@70009000 {
77 compatible = "nvidia,tegra20-gmi"; 77 compatible = "nvidia,tegra20-gmi";
78 reg = <0x70009000 0x1000>; 78 reg = <0x70009000 0x1000>;
79 #address-cells = <2>; 79 #address-cells = <2>;
@@ -84,7 +84,6 @@ gmi@70090000 {
84 reset-names = "gmi"; 84 reset-names = "gmi";
85 ranges = <4 0 0xd0000000 0xfffffff>; 85 ranges = <4 0 0xd0000000 0xfffffff>;
86 86
87
88 bus@4,0 { 87 bus@4,0 {
89 compatible = "simple-bus"; 88 compatible = "simple-bus";
90 #address-cells = <1>; 89 #address-cells = <1>;
@@ -109,7 +108,7 @@ gmi@70090000 {
109Example with one SJA1000 CAN controller connected to the GMI bus 108Example with one SJA1000 CAN controller connected to the GMI bus
110on CS4: 109on CS4:
111 110
112gmi@70090000 { 111gmi@70009000 {
113 compatible = "nvidia,tegra20-gmi"; 112 compatible = "nvidia,tegra20-gmi";
114 reg = <0x70009000 0x1000>; 113 reg = <0x70009000 0x1000>;
115 #address-cells = <2>; 114 #address-cells = <2>;
@@ -120,7 +119,6 @@ gmi@70090000 {
120 reset-names = "gmi"; 119 reset-names = "gmi";
121 ranges = <4 0 0xd0000000 0xfffffff>; 120 ranges = <4 0 0xd0000000 0xfffffff>;
122 121
123
124 can@4,0 { 122 can@4,0 {
125 reg = <4 0 0x100>; 123 reg = <4 0 0x100>;
126 nvidia,snor-mux-mode; 124 nvidia,snor-mux-mode;
diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
index 76aec8a3724d..3c1f3a229eab 100644
--- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
+++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
@@ -415,12 +415,27 @@ Secure Non-Volatile Storage (SNVS) Low Power (LP) RTC Node
415 value type: <u32> 415 value type: <u32>
416 Definition: LP register offset. default it is 0x34. 416 Definition: LP register offset. default it is 0x34.
417 417
418 - clocks
419 Usage: optional, required if SNVS LP RTC requires explicit
420 enablement of clocks
421 Value type: <prop_encoded-array>
422 Definition: a clock specifier describing the clock required for
423 enabling and disabling SNVS LP RTC.
424
425 - clock-names
426 Usage: optional, required if SNVS LP RTC requires explicit
427 enablement of clocks
428 Value type: <string>
429 Definition: clock name string should be "snvs-rtc".
430
418EXAMPLE 431EXAMPLE
419 sec_mon_rtc_lp@1 { 432 sec_mon_rtc_lp@1 {
420 compatible = "fsl,sec-v4.0-mon-rtc-lp"; 433 compatible = "fsl,sec-v4.0-mon-rtc-lp";
421 interrupts = <93 2>; 434 interrupts = <93 2>;
422 regmap = <&snvs>; 435 regmap = <&snvs>;
423 offset = <0x34>; 436 offset = <0x34>;
437 clocks = <&clks IMX7D_SNVS_CLK>;
438 clock-names = "snvs-rtc";
424 }; 439 };
425 440
426===================================================================== 441=====================================================================
@@ -543,6 +558,8 @@ FULL EXAMPLE
543 regmap = <&sec_mon>; 558 regmap = <&sec_mon>;
544 offset = <0x34>; 559 offset = <0x34>;
545 interrupts = <93 2>; 560 interrupts = <93 2>;
561 clocks = <&clks IMX7D_SNVS_CLK>;
562 clock-names = "snvs-rtc";
546 }; 563 };
547 564
548 snvs-pwrkey@020cc000 { 565 snvs-pwrkey@020cc000 {
diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
index baf9b34d20bf..b6a8cc0978cd 100644
--- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
+++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt
@@ -74,8 +74,8 @@ Example:
74 74
75bcm2835_i2s: i2s@7e203000 { 75bcm2835_i2s: i2s@7e203000 {
76 compatible = "brcm,bcm2835-i2s"; 76 compatible = "brcm,bcm2835-i2s";
77 reg = < 0x7e203000 0x20>, 77 reg = < 0x7e203000 0x24>;
78 < 0x7e101098 0x02>; 78 clocks = <&clocks BCM2835_CLOCK_PCM>;
79 79
80 dmas = <&dma 2>, 80 dmas = <&dma 2>,
81 <&dma 3>; 81 <&dma 3>;
diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt b/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt
index ad876548ab5d..c1f65d1dac1d 100644
--- a/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt
@@ -10,6 +10,7 @@ Required properties:
10 * And, optionally, one of the vendor specific compatible: 10 * And, optionally, one of the vendor specific compatible:
11 + allwinner,sun4i-a10-mali 11 + allwinner,sun4i-a10-mali
12 + allwinner,sun7i-a20-mali 12 + allwinner,sun7i-a20-mali
13 + allwinner,sun8i-h3-mali
13 + allwinner,sun50i-h5-mali 14 + allwinner,sun50i-h5-mali
14 + amlogic,meson-gxbb-mali 15 + amlogic,meson-gxbb-mali
15 + amlogic,meson-gxl-mali 16 + amlogic,meson-gxl-mali
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
index 621b41c79faa..44d71469c914 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
+++ b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
@@ -3,7 +3,9 @@
3EMIF - External Memory Interface - is an SDRAM controller used in 3EMIF - External Memory Interface - is an SDRAM controller used in
4TI SoCs. EMIF supports, based on the IP revision, one or more of 4TI SoCs. EMIF supports, based on the IP revision, one or more of
5DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance 5DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance
6of the EMIF IP and memory parts attached to it. 6of the EMIF IP and memory parts attached to it. Certain revisions
7of the EMIF controller also contain optional ECC support, which
8corrects one bit errors and detects two bit errors.
7 9
8Required properties: 10Required properties:
9- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev> 11- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
@@ -11,6 +13,8 @@ Required properties:
11 compatible should be one of the following: 13 compatible should be one of the following:
12 "ti,emif-am3352" 14 "ti,emif-am3352"
13 "ti,emif-am4372" 15 "ti,emif-am4372"
16 "ti,emif-dra7xx"
17 "ti,emif-keystone"
14 18
15- phy-type : <u32> indicating the DDR phy type. Following are the 19- phy-type : <u32> indicating the DDR phy type. Following are the
16 allowed values 20 allowed values
@@ -22,6 +26,7 @@ Required properties:
22- ti,hwmods : For TI hwmods processing and omap device creation 26- ti,hwmods : For TI hwmods processing and omap device creation
23 the value shall be "emif<n>" where <n> is the number of the EMIF 27 the value shall be "emif<n>" where <n> is the number of the EMIF
24 instance with base 1. 28 instance with base 1.
29- interrupts : interrupt used by the controller
25 30
26Required only for "ti,emif-am3352" and "ti,emif-am4372": 31Required only for "ti,emif-am3352" and "ti,emif-am4372":
27- sram : Phandles for generic sram driver nodes, 32- sram : Phandles for generic sram driver nodes,
@@ -71,3 +76,9 @@ emif: emif@4c000000 {
71 sram = <&pm_sram_code 76 sram = <&pm_sram_code
72 &pm_sram_data>; 77 &pm_sram_data>;
73}; 78};
79
80emif1: emif@4c000000 {
81 compatible = "ti,emif-dra7xx";
82 reg = <0x4c000000 0x200>;
83 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
84};
diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt
index a9aa79fb90ed..1aa6f2674af5 100644
--- a/Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt
+++ b/Documentation/devicetree/bindings/phy/nvidia,tegra20-usb-phy.txt
@@ -21,7 +21,9 @@ Required properties :
21 - timer: The timeout clock (clk_m). Present if phy_type == utmi. 21 - timer: The timeout clock (clk_m). Present if phy_type == utmi.
22 - utmi-pads: The clock needed to access the UTMI pad control registers. 22 - utmi-pads: The clock needed to access the UTMI pad control registers.
23 Present if phy_type == utmi. 23 Present if phy_type == utmi.
24 - ulpi-link: The clock Tegra provides to the ULPI PHY (cdev2). 24 - ulpi-link: The clock Tegra provides to the ULPI PHY (usually pad DAP_MCLK2
25 with pad group aka "nvidia,pins" cdev2 and pin mux option config aka
26 "nvidia,function" pllp_out4).
25 Present if phy_type == ulpi, and ULPI link mode is in use. 27 Present if phy_type == ulpi, and ULPI link mode is in use.
26 - resets : Must contain an entry for each entry in reset-names. 28 - resets : Must contain an entry for each entry in reset-names.
27 See ../reset/reset.txt for details. 29 See ../reset/reset.txt for details.
diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
index 2c46f30b62c5..9a06e1fdbc42 100644
--- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt
@@ -11,6 +11,7 @@ Required properies:
11 "st,stm32f429-pinctrl" 11 "st,stm32f429-pinctrl"
12 "st,stm32f469-pinctrl" 12 "st,stm32f469-pinctrl"
13 "st,stm32f746-pinctrl" 13 "st,stm32f746-pinctrl"
14 "st,stm32f769-pinctrl"
14 "st,stm32h743-pinctrl" 15 "st,stm32h743-pinctrl"
15 "st,stm32mp157-pinctrl" 16 "st,stm32mp157-pinctrl"
16 "st,stm32mp157-z-pinctrl" 17 "st,stm32mp157-z-pinctrl"
diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
index 65783de0aedf..7bb0362828ec 100644
--- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt
@@ -2,9 +2,8 @@
2 2
3Required properties: 3Required properties:
4- compatible: "brcm,bcm2835-i2s" 4- compatible: "brcm,bcm2835-i2s"
5- reg: A list of base address and size entries: 5- reg: Should contain PCM registers location and length.
6 * The first entry should cover the PCM registers 6- clocks: the (PCM) clock to use
7 * The second entry should cover the PCM clock registers
8- dmas: List of DMA controller phandle and DMA request line ordered pairs. 7- dmas: List of DMA controller phandle and DMA request line ordered pairs.
9- dma-names: Identifier string for each DMA request line in the dmas property. 8- dma-names: Identifier string for each DMA request line in the dmas property.
10 These strings correspond 1:1 with the ordered pairs in dmas. 9 These strings correspond 1:1 with the ordered pairs in dmas.
@@ -16,8 +15,8 @@ Example:
16 15
17bcm2835_i2s: i2s@7e203000 { 16bcm2835_i2s: i2s@7e203000 {
18 compatible = "brcm,bcm2835-i2s"; 17 compatible = "brcm,bcm2835-i2s";
19 reg = <0x7e203000 0x20>, 18 reg = <0x7e203000 0x24>;
20 <0x7e101098 0x02>; 19 clocks = <&clocks BCM2835_CLOCK_PCM>;
21 20
22 dmas = <&dma 2>, 21 dmas = <&dma 2>,
23 <&dma 3>; 22 <&dma 3>;
diff --git a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
index 62dd5baad70e..04fc368d828f 100644
--- a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
@@ -2,8 +2,10 @@ Allwinner SoCs Watchdog timer
2 2
3Required properties: 3Required properties:
4 4
5- compatible : should be either "allwinner,sun4i-a10-wdt" or 5- compatible : should be one of
6 "allwinner,sun6i-a31-wdt" 6 "allwinner,sun4i-a10-wdt"
7 "allwinner,sun6i-a31-wdt"
8 "allwinner,sun50i-a64-wdt","allwinner,sun6i-a31-wdt"
7- reg : Specifies base physical address and size of the registers. 9- reg : Specifies base physical address and size of the registers.
8 10
9Example: 11Example:
diff --git a/MAINTAINERS b/MAINTAINERS
index d8aec0877e33..8fa200fddd16 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1869,7 +1869,6 @@ Q: https://patchwork.kernel.org/project/linux-samsung-soc/list/
1869S: Maintained 1869S: Maintained
1870F: arch/arm/boot/dts/s3c* 1870F: arch/arm/boot/dts/s3c*
1871F: arch/arm/boot/dts/s5p* 1871F: arch/arm/boot/dts/s5p*
1872F: arch/arm/boot/dts/samsung*
1873F: arch/arm/boot/dts/exynos* 1872F: arch/arm/boot/dts/exynos*
1874F: arch/arm64/boot/dts/exynos/ 1873F: arch/arm64/boot/dts/exynos/
1875F: arch/arm/plat-samsung/ 1874F: arch/arm/plat-samsung/
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index ade7a38543dc..7e2424957809 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -163,7 +163,10 @@ dtb-$(CONFIG_ARCH_EXYNOS4) += \
163 exynos4210-smdkv310.dtb \ 163 exynos4210-smdkv310.dtb \
164 exynos4210-trats.dtb \ 164 exynos4210-trats.dtb \
165 exynos4210-universal_c210.dtb \ 165 exynos4210-universal_c210.dtb \
166 exynos4412-i9300.dtb \
167 exynos4412-i9305.dtb \
166 exynos4412-itop-elite.dtb \ 168 exynos4412-itop-elite.dtb \
169 exynos4412-n710x.dtb \
167 exynos4412-odroidu3.dtb \ 170 exynos4412-odroidu3.dtb \
168 exynos4412-odroidx.dtb \ 171 exynos4412-odroidx.dtb \
169 exynos4412-odroidx2.dtb \ 172 exynos4412-odroidx2.dtb \
@@ -304,6 +307,8 @@ dtb-$(CONFIG_ARCH_LPC18XX) += \
304dtb-$(CONFIG_ARCH_LPC32XX) += \ 307dtb-$(CONFIG_ARCH_LPC32XX) += \
305 lpc3250-ea3250.dtb \ 308 lpc3250-ea3250.dtb \
306 lpc3250-phy3250.dtb 309 lpc3250-phy3250.dtb
310dtb-$(CONFIG_ARCH_NPCM7XX) += \
311 nuvoton-npcm750-evb.dtb
307dtb-$(CONFIG_MACH_MESON6) += \ 312dtb-$(CONFIG_MACH_MESON6) += \
308 meson6-atv1200.dtb 313 meson6-atv1200.dtb
309dtb-$(CONFIG_MACH_MESON8) += \ 314dtb-$(CONFIG_MACH_MESON8) += \
@@ -396,6 +401,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
396 imx6dl-icore-rqs.dtb \ 401 imx6dl-icore-rqs.dtb \
397 imx6dl-nit6xlite.dtb \ 402 imx6dl-nit6xlite.dtb \
398 imx6dl-nitrogen6x.dtb \ 403 imx6dl-nitrogen6x.dtb \
404 imx6dl-phytec-mira-rdk-nand.dtb \
399 imx6dl-phytec-pbab01.dtb \ 405 imx6dl-phytec-pbab01.dtb \
400 imx6dl-rex-basic.dtb \ 406 imx6dl-rex-basic.dtb \
401 imx6dl-riotboard.dtb \ 407 imx6dl-riotboard.dtb \
@@ -435,6 +441,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
435 imx6q-dfi-fs700-m60.dtb \ 441 imx6q-dfi-fs700-m60.dtb \
436 imx6q-display5-tianma-tm070-1280x768.dtb \ 442 imx6q-display5-tianma-tm070-1280x768.dtb \
437 imx6q-dmo-edmqmx6.dtb \ 443 imx6q-dmo-edmqmx6.dtb \
444 imx6q-dms-ba16.dtb \
438 imx6q-evi.dtb \ 445 imx6q-evi.dtb \
439 imx6q-gk802.dtb \ 446 imx6q-gk802.dtb \
440 imx6q-gw51xx.dtb \ 447 imx6q-gw51xx.dtb \
@@ -465,6 +472,8 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
465 imx6q-nitrogen6_max.dtb \ 472 imx6q-nitrogen6_max.dtb \
466 imx6q-nitrogen6_som2.dtb \ 473 imx6q-nitrogen6_som2.dtb \
467 imx6q-novena.dtb \ 474 imx6q-novena.dtb \
475 imx6q-phytec-mira-rdk-emmc.dtb \
476 imx6q-phytec-mira-rdk-nand.dtb \
468 imx6q-phytec-pbab01.dtb \ 477 imx6q-phytec-pbab01.dtb \
469 imx6q-pistachio.dtb \ 478 imx6q-pistachio.dtb \
470 imx6q-rex-pro.dtb \ 479 imx6q-rex-pro.dtb \
@@ -494,6 +503,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
494 imx6q-zii-rdu2.dtb \ 503 imx6q-zii-rdu2.dtb \
495 imx6qp-nitrogen6_max.dtb \ 504 imx6qp-nitrogen6_max.dtb \
496 imx6qp-nitrogen6_som2.dtb \ 505 imx6qp-nitrogen6_som2.dtb \
506 imx6qp-phytec-mira-rdk-nand.dtb \
497 imx6qp-sabreauto.dtb \ 507 imx6qp-sabreauto.dtb \
498 imx6qp-sabresd.dtb \ 508 imx6qp-sabresd.dtb \
499 imx6qp-tx6qp-8037.dtb \ 509 imx6qp-tx6qp-8037.dtb \
@@ -526,7 +536,9 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
526 imx6ul-tx6ul-0010.dtb \ 536 imx6ul-tx6ul-0010.dtb \
527 imx6ul-tx6ul-0011.dtb \ 537 imx6ul-tx6ul-0011.dtb \
528 imx6ul-tx6ul-mainboard.dtb \ 538 imx6ul-tx6ul-mainboard.dtb \
529 imx6ull-14x14-evk.dtb 539 imx6ull-14x14-evk.dtb \
540 imx6ull-colibri-eval-v3.dtb \
541 imx6ull-colibri-wifi-eval-v3.dtb
530dtb-$(CONFIG_SOC_IMX7D) += \ 542dtb-$(CONFIG_SOC_IMX7D) += \
531 imx7d-cl-som-imx7.dtb \ 543 imx7d-cl-som-imx7.dtb \
532 imx7d-colibri-emmc-eval-v3.dtb \ 544 imx7d-colibri-emmc-eval-v3.dtb \
@@ -673,6 +685,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
673 am335x-lxm.dtb \ 685 am335x-lxm.dtb \
674 am335x-moxa-uc-8100-me-t.dtb \ 686 am335x-moxa-uc-8100-me-t.dtb \
675 am335x-nano.dtb \ 687 am335x-nano.dtb \
688 am335x-pdu001.dtb \
676 am335x-pepper.dtb \ 689 am335x-pepper.dtb \
677 am335x-phycore-rdk.dtb \ 690 am335x-phycore-rdk.dtb \
678 am335x-shc.dtb \ 691 am335x-shc.dtb \
@@ -752,6 +765,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
752 qcom-msm8960-cdp.dtb \ 765 qcom-msm8960-cdp.dtb \
753 qcom-msm8974-fairphone-fp2.dtb \ 766 qcom-msm8974-fairphone-fp2.dtb \
754 qcom-msm8974-lge-nexus5-hammerhead.dtb \ 767 qcom-msm8974-lge-nexus5-hammerhead.dtb \
768 qcom-msm8974-samsung-klte.dtb \
755 qcom-msm8974-sony-xperia-castor.dtb \ 769 qcom-msm8974-sony-xperia-castor.dtb \
756 qcom-msm8974-sony-xperia-honami.dtb \ 770 qcom-msm8974-sony-xperia-honami.dtb \
757 qcom-mdm9615-wp8548-mangoh-green.dtb 771 qcom-mdm9615-wp8548-mangoh-green.dtb
@@ -784,6 +798,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
784 r8a7778-bockw.dtb \ 798 r8a7778-bockw.dtb \
785 r8a7779-marzen.dtb \ 799 r8a7779-marzen.dtb \
786 r8a7790-lager.dtb \ 800 r8a7790-lager.dtb \
801 r8a7790-stout.dtb \
787 r8a7791-koelsch.dtb \ 802 r8a7791-koelsch.dtb \
788 r8a7791-porter.dtb \ 803 r8a7791-porter.dtb \
789 r8a7792-blanche.dtb \ 804 r8a7792-blanche.dtb \
@@ -863,7 +878,7 @@ dtb-$(CONFIG_ARCH_STI) += \
863 stih410-b2120.dtb \ 878 stih410-b2120.dtb \
864 stih410-b2260.dtb \ 879 stih410-b2260.dtb \
865 stih418-b2199.dtb 880 stih418-b2199.dtb
866dtb-$(CONFIG_ARCH_STM32)+= \ 881dtb-$(CONFIG_ARCH_STM32) += \
867 stm32f429-disco.dtb \ 882 stm32f429-disco.dtb \
868 stm32f469-disco.dtb \ 883 stm32f469-disco.dtb \
869 stm32f746-disco.dtb \ 884 stm32f746-disco.dtb \
@@ -871,7 +886,9 @@ dtb-$(CONFIG_ARCH_STM32)+= \
871 stm32429i-eval.dtb \ 886 stm32429i-eval.dtb \
872 stm32746g-eval.dtb \ 887 stm32746g-eval.dtb \
873 stm32h743i-eval.dtb \ 888 stm32h743i-eval.dtb \
874 stm32h743i-disco.dtb 889 stm32h743i-disco.dtb \
890 stm32mp157c-ed1.dtb \
891 stm32mp157c-ev1.dtb
875dtb-$(CONFIG_MACH_SUN4I) += \ 892dtb-$(CONFIG_MACH_SUN4I) += \
876 sun4i-a10-a1000.dtb \ 893 sun4i-a10-a1000.dtb \
877 sun4i-a10-ba10-tvbox.dtb \ 894 sun4i-a10-ba10-tvbox.dtb \
@@ -942,6 +959,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \
942 sun7i-a20-m3.dtb \ 959 sun7i-a20-m3.dtb \
943 sun7i-a20-mk808c.dtb \ 960 sun7i-a20-mk808c.dtb \
944 sun7i-a20-olimex-som-evb.dtb \ 961 sun7i-a20-olimex-som-evb.dtb \
962 sun7i-a20-olimex-som204-evb.dtb \
963 sun7i-a20-olimex-som204-evb-emmc.dtb \
945 sun7i-a20-olinuxino-lime.dtb \ 964 sun7i-a20-olinuxino-lime.dtb \
946 sun7i-a20-olinuxino-lime2.dtb \ 965 sun7i-a20-olinuxino-lime2.dtb \
947 sun7i-a20-olinuxino-lime2-emmc.dtb \ 966 sun7i-a20-olinuxino-lime2-emmc.dtb \
@@ -974,6 +993,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
974 sun8i-a83t-cubietruck-plus.dtb \ 993 sun8i-a83t-cubietruck-plus.dtb \
975 sun8i-a83t-tbs-a711.dtb \ 994 sun8i-a83t-tbs-a711.dtb \
976 sun8i-h2-plus-orangepi-r1.dtb \ 995 sun8i-h2-plus-orangepi-r1.dtb \
996 sun8i-h2-plus-bananapi-m2-zero.dtb \
977 sun8i-h2-plus-orangepi-zero.dtb \ 997 sun8i-h2-plus-orangepi-zero.dtb \
978 sun8i-h3-bananapi-m2-plus.dtb \ 998 sun8i-h3-bananapi-m2-plus.dtb \
979 sun8i-h3-beelink-x2.dtb \ 999 sun8i-h3-beelink-x2.dtb \
@@ -1022,6 +1042,7 @@ dtb-$(CONFIG_ARCH_TEGRA_114_SOC) += \
1022 tegra114-tn7.dtb 1042 tegra114-tn7.dtb
1023dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \ 1043dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \
1024 tegra124-apalis-eval.dtb \ 1044 tegra124-apalis-eval.dtb \
1045 tegra124-apalis-v1.2-eval.dtb \
1025 tegra124-jetson-tk1.dtb \ 1046 tegra124-jetson-tk1.dtb \
1026 tegra124-nyan-big.dtb \ 1047 tegra124-nyan-big.dtb \
1027 tegra124-nyan-blaze.dtb \ 1048 tegra124-nyan-blaze.dtb \
@@ -1047,6 +1068,7 @@ dtb-$(CONFIG_ARCH_UNIPHIER) += \
1047 uniphier-sld8-ref.dtb 1068 uniphier-sld8-ref.dtb
1048dtb-$(CONFIG_ARCH_VERSATILE) += \ 1069dtb-$(CONFIG_ARCH_VERSATILE) += \
1049 versatile-ab.dtb \ 1070 versatile-ab.dtb \
1071 versatile-ab-ib2.dtb \
1050 versatile-pb.dtb 1072 versatile-pb.dtb
1051dtb-$(CONFIG_ARCH_VEXPRESS) += \ 1073dtb-$(CONFIG_ARCH_VEXPRESS) += \
1052 vexpress-v2p-ca5s.dtb \ 1074 vexpress-v2p-ca5s.dtb \
@@ -1062,12 +1084,18 @@ dtb-$(CONFIG_ARCH_VT8500) += \
1062 wm8750-apc8750.dtb \ 1084 wm8750-apc8750.dtb \
1063 wm8850-w70v2.dtb 1085 wm8850-w70v2.dtb
1064dtb-$(CONFIG_ARCH_ZYNQ) += \ 1086dtb-$(CONFIG_ARCH_ZYNQ) += \
1087 zynq-cc108.dtb \
1065 zynq-microzed.dtb \ 1088 zynq-microzed.dtb \
1066 zynq-parallella.dtb \ 1089 zynq-parallella.dtb \
1067 zynq-zc702.dtb \ 1090 zynq-zc702.dtb \
1068 zynq-zc706.dtb \ 1091 zynq-zc706.dtb \
1092 zynq-zc770-xm010.dtb \
1093 zynq-zc770-xm011.dtb \
1094 zynq-zc770-xm012.dtb \
1095 zynq-zc770-xm013.dtb \
1069 zynq-zed.dtb \ 1096 zynq-zed.dtb \
1070 zynq-zybo.dtb 1097 zynq-zybo.dtb \
1098 zynq-zybo-z7.dtb
1071dtb-$(CONFIG_MACH_ARMADA_370) += \ 1099dtb-$(CONFIG_MACH_ARMADA_370) += \
1072 armada-370-db.dtb \ 1100 armada-370-db.dtb \
1073 armada-370-dlink-dns327l.dtb \ 1101 armada-370-dlink-dns327l.dtb \
@@ -1129,6 +1157,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
1129dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb 1157dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
1130dtb-$(CONFIG_ARCH_ASPEED) += \ 1158dtb-$(CONFIG_ARCH_ASPEED) += \
1131 aspeed-ast2500-evb.dtb \ 1159 aspeed-ast2500-evb.dtb \
1160 aspeed-bmc-arm-centriq2400-rep.dtb \
1132 aspeed-bmc-opp-palmetto.dtb \ 1161 aspeed-bmc-opp-palmetto.dtb \
1133 aspeed-bmc-opp-romulus.dtb \ 1162 aspeed-bmc-opp-romulus.dtb \
1134 aspeed-bmc-opp-witherspoon.dtb \ 1163 aspeed-bmc-opp-witherspoon.dtb \
diff --git a/arch/arm/boot/dts/am335x-boneblue.dts b/arch/arm/boot/dts/am335x-boneblue.dts
index 3f2480d05a3b..58baee158e64 100644
--- a/arch/arm/boot/dts/am335x-boneblue.dts
+++ b/arch/arm/boot/dts/am335x-boneblue.dts
@@ -342,7 +342,7 @@
342 }; 342 };
343 343
344 baseboard_eeprom: baseboard_eeprom@50 { 344 baseboard_eeprom: baseboard_eeprom@50 {
345 compatible = "at,24c256"; 345 compatible = "atmel,24c256";
346 reg = <0x50>; 346 reg = <0x50>;
347 347
348 #address-cells = <1>; 348 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/am335x-pdu001.dts b/arch/arm/boot/dts/am335x-pdu001.dts
new file mode 100644
index 000000000000..1ad530a39a95
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-pdu001.dts
@@ -0,0 +1,595 @@
1/*
2 * pdu001.dts
3 *
4 * EETS GmbH PDU001 board device tree file
5 *
6 * Copyright (C) 2018 EETS GmbH - http://www.eets.ch/
7 *
8 * Copyright (C) 2011, Texas Instruments, Incorporated - http://www.ti.com/
9 *
10 * SPDX-License-Identifier: GPL-2.0+
11 */
12
13/dts-v1/;
14
15#include "am33xx.dtsi"
16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/leds/leds-pca9532.h>
18
19/ {
20 model = "EETS,PDU001";
21 compatible = "ti,am33xx";
22
23 chosen {
24 stdout-path = &uart3;
25 };
26
27 cpus {
28 cpu@0 {
29 cpu0-supply = <&vdd1_reg>;
30 };
31 };
32
33 memory {
34 device_type = "memory";
35 reg = <0x80000000 0x10000000>; /* 256 MB */
36 };
37
38 vbat: fixedregulator@0 {
39 compatible = "regulator-fixed";
40 regulator-name = "vbat";
41 regulator-min-microvolt = <3600000>;
42 regulator-max-microvolt = <3600000>;
43 regulator-boot-on;
44 };
45
46 lis3_reg: fixedregulator@1 {
47 compatible = "regulator-fixed";
48 regulator-name = "lis3_reg";
49 regulator-boot-on;
50 };
51
52 panel {
53 compatible = "ti,tilcdc,panel";
54 status = "okay";
55 pinctrl-names = "default";
56 pinctrl-0 = <&lcd_pins_s0>;
57 panel-info {
58 ac-bias = <255>;
59 ac-bias-intrpt = <0>;
60 dma-burst-sz = <16>;
61 bpp = <16>;
62 fdd = <0x80>;
63 sync-edge = <0>;
64 sync-ctrl = <1>;
65 raster-order = <0>;
66 fifo-th = <0>;
67 };
68
69 display-timings {
70 240x320p16 {
71 clock-frequency = <6500000>;
72 hactive = <240>;
73 vactive = <320>;
74 hfront-porch = <6>;
75 hback-porch = <6>;
76 hsync-len = <1>;
77 vback-porch = <6>;
78 vfront-porch = <6>;
79 vsync-len = <1>;
80 hsync-active = <0>;
81 vsync-active = <0>;
82 pixelclk-active = <1>;
83 de-active = <0>;
84 };
85 };
86 };
87};
88
89&am33xx_pinmux {
90 pinctrl-names = "default";
91 pinctrl-0 = <&clkout2_pin>;
92
93 i2c0_pins: pinmux_i2c0_pins {
94 pinctrl-single,pins = <
95 AM33XX_IOPAD(0x988, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
96 AM33XX_IOPAD(0x98c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
97 >;
98 };
99
100 i2c1_pins: pinmux_i2c1_pins {
101 pinctrl-single,pins = <
102 AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */
103 AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */
104 >;
105 };
106
107 i2c2_pins: pinmux_i2c2_pins {
108 pinctrl-single,pins = <
109 AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_clk.i2c2_sda */
110 AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d0.i2c2_scl */
111 >;
112 };
113
114 spi1_pins: pinmux_spi1_pins {
115 pinctrl-single,pins = <
116 AM33XX_IOPAD(0x990, PIN_OUTPUT | MUX_MODE3) /* mcasp0_aclkx.spi1_sclk */
117 AM33XX_IOPAD(0x994, PIN_OUTPUT | MUX_MODE3) /* mcasp0_fsx.spi1_d0 */
118 AM33XX_IOPAD(0x998, PIN_INPUT_PULLDOWN | MUX_MODE3) /* mcasp0_axr0.spi1_d1 */
119 AM33XX_IOPAD(0x99C, PIN_OUTPUT | MUX_MODE3) /* mcasp0_ahclkr.spi1_cs0 */
120 >;
121 };
122
123 uart0_pins: pinmux_uart0_pins {
124 pinctrl-single,pins = <
125 AM33XX_IOPAD(0x96C, PIN_OUTPUT | MUX_MODE7) /* uart0_rtsn.gpio1_9 */
126 AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
127 AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
128 >;
129 };
130
131 uart1_pins: pinmux_uart1_pins {
132 pinctrl-single,pins = <
133 AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
134 AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
135 >;
136 };
137
138 uart3_pins: pinmux_uart3_pins {
139 pinctrl-single,pins = <
140 AM33XX_IOPAD(0x960, PIN_INPUT_PULLUP | MUX_MODE1) /* spi0_cs1.uart3_rxd */
141 AM33XX_IOPAD(0x964, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* ecap0_in_pwm0_out.uart3_txd */
142 >;
143 };
144
145 clkout2_pin: pinmux_clkout2_pin {
146 pinctrl-single,pins = <
147 AM33XX_IOPAD(0x9b4, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
148 >;
149 };
150
151 cpsw_default: cpsw_default {
152 pinctrl-single,pins = <
153 /* Port 1 (emac0) */
154 AM33XX_IOPAD(0x908, PIN_INPUT | MUX_MODE0) /* mii1_col.mii1_col */
155 AM33XX_IOPAD(0x90C, PIN_INPUT | MUX_MODE0) /* mii1_crs.mii1_crs */
156 AM33XX_IOPAD(0x910, PIN_INPUT | MUX_MODE0) /* mii1_rxer.mii1_rxer */
157 AM33XX_IOPAD(0x914, PIN_OUTPUT | MUX_MODE0) /* mii1_txen.mii1_txen */
158 AM33XX_IOPAD(0x918, PIN_INPUT | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
159 AM33XX_IOPAD(0x91c, PIN_OUTPUT | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
160 AM33XX_IOPAD(0x920, PIN_OUTPUT | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
161 AM33XX_IOPAD(0x924, PIN_OUTPUT | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
162 AM33XX_IOPAD(0x928, PIN_OUTPUT | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
163 AM33XX_IOPAD(0x92c, PIN_INPUT | MUX_MODE0) /* mii1_txclk.mii1_txclk */
164 AM33XX_IOPAD(0x930, PIN_INPUT | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
165 AM33XX_IOPAD(0x934, PIN_INPUT | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
166 AM33XX_IOPAD(0x938, PIN_INPUT | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
167 AM33XX_IOPAD(0x93c, PIN_INPUT | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
168 AM33XX_IOPAD(0x940, PIN_INPUT | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */
169
170 /* Port 2 (emac1) */
171 AM33XX_IOPAD(0x840, PIN_OUTPUT | MUX_MODE1) /* mii2_txen.gpmc_a0 */
172 AM33XX_IOPAD(0x844, PIN_INPUT | MUX_MODE1) /* mii2_rxdv.gpmc_a1 */
173 AM33XX_IOPAD(0x848, PIN_OUTPUT | MUX_MODE1) /* mii2_txd3.gpmc_a2 */
174 AM33XX_IOPAD(0x84c, PIN_OUTPUT | MUX_MODE1) /* mii2_txd2.gpmc_a3 */
175 AM33XX_IOPAD(0x850, PIN_OUTPUT | MUX_MODE1) /* mii2_txd1.gpmc_a4 */
176 AM33XX_IOPAD(0x854, PIN_OUTPUT | MUX_MODE1) /* mii2_txd0.gpmc_a5 */
177 AM33XX_IOPAD(0x858, PIN_INPUT | MUX_MODE1) /* mii2_txclk.gpmc_a6 */
178 AM33XX_IOPAD(0x85c, PIN_INPUT | MUX_MODE1) /* mii2_rxclk.gpmc_a7 */
179 AM33XX_IOPAD(0x860, PIN_INPUT | MUX_MODE1) /* mii2_rxd3.gpmc_a8 */
180 AM33XX_IOPAD(0x864, PIN_INPUT | MUX_MODE1) /* mii2_rxd2.gpmc_a9 */
181 AM33XX_IOPAD(0x868, PIN_INPUT | MUX_MODE1) /* mii2_rxd1.gpmc_a10 */
182 AM33XX_IOPAD(0x86C, PIN_INPUT | MUX_MODE1) /* mii2_rxd0.gpmc_a11 */
183 AM33XX_IOPAD(0x870, PIN_INPUT | MUX_MODE1) /* mii2_crs.gpmc_wait0 */
184 AM33XX_IOPAD(0x874, PIN_INPUT | MUX_MODE1) /* mii2_rxer.gpmc_wpn */
185 AM33XX_IOPAD(0x878, PIN_INPUT | MUX_MODE1) /* mii2_col.gpmc_ben1 */
186 >;
187 };
188
189 davinci_mdio_default: davinci_mdio_default {
190 pinctrl-single,pins = <
191 AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
192 AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
193 >;
194 };
195
196 mmc1_pins: pinmux_mmc1_pins {
197 /* eMMC */
198 pinctrl-single,pins = <
199 AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3 */
200 AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2 */
201 AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1 */
202 AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0 */
203 AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk */
204 AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd */
205 >;
206 };
207
208 mmc2_pins: pinmux_mmc2_pins {
209 /* SD cardcage */
210 pinctrl-single,pins = <
211 AM33XX_IOPAD(0x80c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
212 AM33XX_IOPAD(0x808, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
213 AM33XX_IOPAD(0x804, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
214 AM33XX_IOPAD(0x800, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
215 AM33XX_IOPAD(0x880, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
216 AM33XX_IOPAD(0x884, PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
217 /* card change signal for frontpanel SD cardcage */
218 AM33XX_IOPAD(0x890, PIN_INPUT | MUX_MODE7) /* gpmc_advn_ale.gpio2_2 */
219 >;
220 };
221
222 lcd_pins_s0: lcd_pins_s0 {
223 pinctrl-single,pins = <
224 AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
225 AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
226 AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
227 AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
228 AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
229 AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
230 AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
231 AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
232 AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
233 AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
234 AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
235 AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
236 AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
237 AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
238 AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
239 AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
240 AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
241 AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
242 AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
243 AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
244 >;
245 };
246
247 dcan0_pins: pinmux_dcan0_pins {
248 pinctrl-single,pins = <
249 AM33XX_IOPAD(0x978, PIN_OUTPUT | MUX_MODE2) /* uart1_ctsn.d_can0_tx */
250 AM33XX_IOPAD(0x97c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* uart1_rtsn.d_can0_rx */
251 >;
252 };
253};
254
255&uart0 {
256 pinctrl-names = "default";
257 pinctrl-0 = <&uart0_pins>;
258
259 rts-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
260 rs485-rts-active-high;
261 rs485-rts-delay = <0 0>;
262 linux,rs485-enabled-at-boot-time;
263
264 status = "okay";
265};
266
267&uart1 {
268 pinctrl-names = "default";
269 pinctrl-0 = <&uart1_pins>;
270
271 status = "okay";
272};
273
274&uart3 {
275 pinctrl-names = "default";
276 pinctrl-0 = <&uart3_pins>;
277
278 status = "okay";
279};
280
281&i2c0 {
282 pinctrl-names = "default";
283 pinctrl-0 = <&i2c0_pins>;
284
285 status = "okay";
286 clock-frequency = <400000>;
287
288 tps: tps@2d {
289 reg = <0x2d>;
290 };
291
292 m2_eeprom: m2_eeprom@50 {
293 compatible = "atmel,24c256";
294 reg = <0x50>;
295 status = "okay";
296 };
297};
298
299&i2c1 {
300 pinctrl-names = "default";
301 pinctrl-0 = <&i2c1_pins>;
302
303 status = "okay";
304 clock-frequency = <100000>;
305
306 board_24aa025e48: board_24aa025e48@50 {
307 compatible = "atmel,24c02";
308 reg = <0x50>;
309 };
310
311 backplane_24aa025e48: backplane_24aa025e48@53 {
312 compatible = "atmel,24c02";
313 reg = <0x53>;
314 };
315
316 pca9532: pca9532@60 {
317 compatible = "nxp,pca9532";
318 reg = <0x60>;
319 psc0 = <0x97>;
320 pwm0 = <0x80>;
321 psc1 = <0x97>;
322 pwm1 = <0x10>;
323
324 run.red@0 {
325 type = <PCA9532_TYPE_LED>;
326 };
327 run.green@1 {
328 type = <PCA9532_TYPE_LED>;
329 default-state = "on";
330 };
331 s2.red@2 {
332 type = <PCA9532_TYPE_LED>;
333 };
334 s2.green@3 {
335 type = <PCA9532_TYPE_LED>;
336 };
337 s1.yellow@4 {
338 type = <PCA9532_TYPE_LED>;
339 };
340 s1.green@5 {
341 type = <PCA9532_TYPE_LED>;
342 };
343 };
344
345 pca9530: pca9530@61 {
346 compatible = "nxp,pca9530";
347 reg = <0x61>;
348
349 tft-panel@0 {
350 type = <PCA9532_TYPE_LED>;
351 linux,default-trigger = "backlight";
352 default-state = "on";
353 };
354 };
355
356 mcp79400: mcp79400@6f {
357 compatible = "microchip,mcp7940x";
358 reg = <0x6f>;
359 };
360};
361
362&i2c2 {
363 pinctrl-names = "default";
364 pinctrl-0 = <&i2c2_pins>;
365
366 status = "okay";
367 clock-frequency = <100000>;
368};
369
370&spi1 {
371 pinctrl-names = "default";
372 pinctrl-0 = <&spi1_pins>;
373 ti,pindir-d0-out-d1-in;
374 status = "okay";
375
376 cfaf240320a032t {
377 compatible = "orisetech,otm3225a";
378 reg = <0>;
379 spi-max-frequency = <1000000>;
380 // SPI mode 3
381 spi-cpol;
382 spi-cpha;
383 status = "okay";
384 };
385};
386
387&usb {
388 status = "okay";
389};
390
391&usb_ctrl_mod {
392 status = "okay";
393};
394
395&usb0_phy {
396 status = "okay";
397};
398
399&usb1_phy {
400 status = "okay";
401};
402
403&usb0 {
404 status = "okay";
405};
406
407&usb1 {
408 status = "okay";
409};
410
411&cppi41dma {
412 status = "okay";
413};
414
415/*
416 * Disable soc's rtc as we have no VBAT for it. This makes the board
417 * rtc (Microchip MCP79400) the default rtc device 'rtc0'.
418 */
419&rtc {
420 status = "disabled";
421};
422
423&lcdc {
424 status = "okay";
425};
426
427&elm {
428 status = "okay";
429};
430
431#include "tps65910.dtsi"
432
433&tps {
434 vcc1-supply = <&vbat>;
435 vcc2-supply = <&vbat>;
436 vcc3-supply = <&vbat>;
437 vcc4-supply = <&vbat>;
438 vcc5-supply = <&vbat>;
439 vcc6-supply = <&vbat>;
440 vcc7-supply = <&vbat>;
441 vccio-supply = <&vbat>;
442
443 regulators {
444 vrtc_reg: regulator@0 {
445 regulator-name = "ldo_vrtc";
446 regulator-always-on;
447 };
448
449 vio_reg: regulator@1 {
450 regulator-name = "buck_vdd_ddr";
451 regulator-always-on;
452 };
453
454 vdd1_reg: regulator@2 {
455 /* VDD_MPU voltage limits */
456 regulator-name = "buck_vdd_mpu";
457 regulator-min-microvolt = <912500>;
458 regulator-max-microvolt = <1312500>;
459 regulator-boot-on;
460 regulator-always-on;
461 };
462
463 vdd2_reg: regulator@3 {
464 /* VDD_CORE voltage limits */
465 regulator-name = "buck_vdd_core";
466 regulator-min-microvolt = <912500>;
467 regulator-max-microvolt = <1150000>;
468 regulator-boot-on;
469 regulator-always-on;
470 };
471
472 vdd3_reg: regulator@4 {
473 regulator-name = "boost_res";
474 regulator-always-on;
475 };
476
477 vdig1_reg: regulator@5 {
478 regulator-name = "ldo_vdig1";
479 regulator-always-on;
480 };
481
482 vdig2_reg: regulator@6 {
483 regulator-name = "ldo_vdig2";
484 regulator-always-on;
485 };
486
487 vpll_reg: regulator@7 {
488 regulator-name = "ldo_vpll";
489 regulator-always-on;
490 };
491
492 vdac_reg: regulator@8 {
493 regulator-name = "ldo_vdac";
494 regulator-always-on;
495 };
496
497 vaux1_reg: regulator@9 {
498 regulator-name = "ldo_vaux1";
499 regulator-always-on;
500 };
501
502 vaux2_reg: regulator@10 {
503 regulator-name = "ldo_vaux2";
504 regulator-always-on;
505 };
506
507 vaux33_reg: regulator@11 {
508 regulator-name = "ldo_vaux33";
509 regulator-always-on;
510 };
511
512 vmmc_reg: regulator@12 {
513 regulator-name = "ldo_vmmc";
514 regulator-min-microvolt = <1800000>;
515 regulator-max-microvolt = <3300000>;
516 regulator-always-on;
517 };
518
519 vbb_reg: regulator@13 {
520 regulator-name = "bat_vbb";
521 };
522 };
523};
524
525&mac {
526 pinctrl-names = "default";
527 pinctrl-0 = <&cpsw_default>;
528 dual_emac; /* no switch, two distinct MACs */
529 status = "okay";
530};
531
532&davinci_mdio {
533 pinctrl-names = "default";
534 pinctrl-0 = <&davinci_mdio_default>;
535 status = "okay";
536};
537
538&cpsw_emac0 {
539 phy_id = <&davinci_mdio>, <0>;
540 phy-mode = "mii";
541 dual_emac_res_vlan = <1>;
542};
543
544&cpsw_emac1 {
545 phy_id = <&davinci_mdio>, <1>;
546 phy-mode = "mii";
547 dual_emac_res_vlan = <2>;
548};
549
550&tscadc {
551 status = "okay";
552 tsc {
553 ti,wires = <4>;
554 ti,x-plate-resistance = <200>;
555 ti,coordinate-readouts = <5>;
556 ti,wire-config = <0x01 0x10 0x22 0x33>;
557 ti,charge-delay = <0x400>;
558 };
559
560 adc {
561 ti,adc-channels = <4 5 6 7>;
562 };
563};
564
565&mmc1 {
566 status = "okay";
567 vmmc-supply = <&vmmc_reg>;
568 bus-width = <4>;
569 pinctrl-names = "default";
570 pinctrl-0 = <&mmc1_pins>;
571 non-removable;
572};
573
574&mmc2 {
575 status = "okay";
576 vmmc-supply = <&vmmc_reg>;
577 bus-width = <4>;
578 pinctrl-names = "default";
579 pinctrl-0 = <&mmc2_pins>;
580 cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
581};
582
583&sham {
584 status = "okay";
585};
586
587&aes {
588 status = "okay";
589};
590
591&dcan0 {
592 status = "okay";
593 pinctrl-names = "default";
594 pinctrl-0 = <&dcan0_pins>;
595};
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 628c77b0b386..9cd62bc2ca35 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -147,6 +147,8 @@
147 mpu { 147 mpu {
148 compatible = "ti,omap3-mpu"; 148 compatible = "ti,omap3-mpu";
149 ti,hwmods = "mpu"; 149 ti,hwmods = "mpu";
150 pm-sram = <&pm_sram_code
151 &pm_sram_data>;
150 }; 152 };
151 }; 153 };
152 154
@@ -905,6 +907,21 @@
905 ocmcram: ocmcram@40300000 { 907 ocmcram: ocmcram@40300000 {
906 compatible = "mmio-sram"; 908 compatible = "mmio-sram";
907 reg = <0x40300000 0x10000>; /* 64k */ 909 reg = <0x40300000 0x10000>; /* 64k */
910 ranges = <0x0 0x40300000 0x10000>;
911 #address-cells = <1>;
912 #size-cells = <1>;
913
914 pm_sram_code: pm-sram-code@0 {
915 compatible = "ti,sram";
916 reg = <0x0 0x1000>;
917 protect-exec;
918 };
919
920 pm_sram_data: pm-sram-data@1000 {
921 compatible = "ti,sram";
922 reg = <0x1000 0x1000>;
923 pool;
924 };
908 }; 925 };
909 926
910 elm: elm@48080000 { 927 elm: elm@48080000 {
@@ -945,6 +962,10 @@
945 compatible = "ti,emif-am3352"; 962 compatible = "ti,emif-am3352";
946 reg = <0x4c000000 0x1000000>; 963 reg = <0x4c000000 0x1000000>;
947 ti,hwmods = "emif"; 964 ti,hwmods = "emif";
965 interrupts = <101>;
966 sram = <&pm_sram_code
967 &pm_sram_data>;
968 ti,no-idle;
948 }; 969 };
949 970
950 gpmc: gpmc@50000000 { 971 gpmc: gpmc@50000000 {
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
index 964f3ef79728..f0cbd86312dc 100644
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -92,6 +92,16 @@
92 }; 92 };
93 }; 93 };
94 94
95 soc {
96 compatible = "ti,omap-infra";
97 mpu {
98 compatible = "ti,omap4-mpu";
99 ti,hwmods = "mpu";
100 pm-sram = <&pm_sram_code
101 &pm_sram_data>;
102 };
103 };
104
95 gic: interrupt-controller@48241000 { 105 gic: interrupt-controller@48241000 {
96 compatible = "arm,cortex-a9-gic"; 106 compatible = "arm,cortex-a9-gic";
97 interrupt-controller; 107 interrupt-controller;
@@ -143,6 +153,7 @@
143 #size-cells = <1>; 153 #size-cells = <1>;
144 ranges; 154 ranges;
145 ti,hwmods = "l3_main"; 155 ti,hwmods = "l3_main";
156 ti,no-idle;
146 reg = <0x44000000 0x400000 157 reg = <0x44000000 0x400000
147 0x44800000 0x400000>; 158 0x44800000 0x400000>;
148 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 159 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
@@ -237,6 +248,10 @@
237 compatible = "ti,emif-am4372"; 248 compatible = "ti,emif-am4372";
238 reg = <0x4c000000 0x1000000>; 249 reg = <0x4c000000 0x1000000>;
239 ti,hwmods = "emif"; 250 ti,hwmods = "emif";
251 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
252 ti,no-idle;
253 sram = <&pm_sram_code
254 &pm_sram_data>;
240 }; 255 };
241 256
242 edma: edma@49000000 { 257 edma: edma@49000000 {
@@ -1141,6 +1156,21 @@
1141 ocmcram: ocmcram@40300000 { 1156 ocmcram: ocmcram@40300000 {
1142 compatible = "mmio-sram"; 1157 compatible = "mmio-sram";
1143 reg = <0x40300000 0x40000>; /* 256k */ 1158 reg = <0x40300000 0x40000>; /* 256k */
1159 ranges = <0x0 0x40300000 0x40000>;
1160 #address-cells = <1>;
1161 #size-cells = <1>;
1162
1163 pm_sram_code: pm-sram-code@0 {
1164 compatible = "ti,sram";
1165 reg = <0x0 0x1000>;
1166 protect-exec;
1167 };
1168
1169 pm_sram_data: pm-sram-data@1000 {
1170 compatible = "ti,sram";
1171 reg = <0x1000 0x1000>;
1172 pool;
1173 };
1144 }; 1174 };
1145 1175
1146 dcan0: can@481cc000 { 1176 dcan0: can@481cc000 {
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
index c3b1a3fb5a2e..8fe95cd7232a 100644
--- a/arch/arm/boot/dts/am437x-gp-evm.dts
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -805,7 +805,7 @@
805}; 805};
806 806
807&usb1 { 807&usb1 {
808 dr_mode = "peripheral"; 808 dr_mode = "otg";
809 status = "okay"; 809 status = "okay";
810}; 810};
811 811
diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts b/arch/arm/boot/dts/am437x-sk-evm.dts
index 3fa3b226995d..4118802b7fea 100644
--- a/arch/arm/boot/dts/am437x-sk-evm.dts
+++ b/arch/arm/boot/dts/am437x-sk-evm.dts
@@ -600,7 +600,7 @@
600}; 600};
601 601
602&usb1 { 602&usb1 {
603 dr_mode = "peripheral"; 603 dr_mode = "otg";
604 status = "okay"; 604 status = "okay";
605 pinctrl-names = "default"; 605 pinctrl-names = "default";
606 pinctrl-0 = <&usb1_pins>; 606 pinctrl-0 = <&usb1_pins>;
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 00c3d1de384f..a66941885c11 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -856,7 +856,7 @@
856}; 856};
857 857
858&usb1 { 858&usb1 {
859 dr_mode = "peripheral"; 859 dr_mode = "otg";
860 status = "okay"; 860 status = "okay";
861}; 861};
862 862
diff --git a/arch/arm/boot/dts/am571x-idk.dts b/arch/arm/boot/dts/am571x-idk.dts
index 6d3c83743156..a2555140babc 100644
--- a/arch/arm/boot/dts/am571x-idk.dts
+++ b/arch/arm/boot/dts/am571x-idk.dts
@@ -10,8 +10,8 @@
10#include "dra72x.dtsi" 10#include "dra72x.dtsi"
11#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/interrupt-controller/irq.h> 12#include <dt-bindings/interrupt-controller/irq.h>
13#include "am57xx-idk-common.dtsi"
14#include "dra72x-mmc-iodelay.dtsi" 13#include "dra72x-mmc-iodelay.dtsi"
14#include "am57xx-idk-common.dtsi"
15 15
16/ { 16/ {
17 model = "TI AM5718 IDK"; 17 model = "TI AM5718 IDK";
diff --git a/arch/arm/boot/dts/am572x-idk.dts b/arch/arm/boot/dts/am572x-idk.dts
index 9ab0af5017df..3a02ed720957 100644
--- a/arch/arm/boot/dts/am572x-idk.dts
+++ b/arch/arm/boot/dts/am572x-idk.dts
@@ -9,9 +9,8 @@
9/dts-v1/; 9/dts-v1/;
10 10
11#include "dra74x.dtsi" 11#include "dra74x.dtsi"
12#include "am572x-idk-common.dtsi"
13#include "am57xx-idk-common.dtsi"
14#include "dra74x-mmc-iodelay.dtsi" 12#include "dra74x-mmc-iodelay.dtsi"
13#include "am572x-idk-common.dtsi"
15 14
16/ { 15/ {
17 model = "TI AM5728 IDK"; 16 model = "TI AM5728 IDK";
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
index ab60035bc50c..6204a266212a 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
+++ b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
@@ -442,6 +442,7 @@
442 pinctrl-0 = <&mmc2_pins_default>; 442 pinctrl-0 = <&mmc2_pins_default>;
443 443
444 vmmc-supply = <&vdd_3v3>; 444 vmmc-supply = <&vdd_3v3>;
445 vqmmc-supply = <&vdd_3v3>;
445 bus-width = <8>; 446 bus-width = <8>;
446 ti,non-removable; 447 ti,non-removable;
447 cap-mmc-dual-data-rate; 448 cap-mmc-dual-data-rate;
diff --git a/arch/arm/boot/dts/am57xx-idk-common.dtsi b/arch/arm/boot/dts/am57xx-idk-common.dtsi
index 97aa8e6a56da..43cdf523a8a0 100644
--- a/arch/arm/boot/dts/am57xx-idk-common.dtsi
+++ b/arch/arm/boot/dts/am57xx-idk-common.dtsi
@@ -115,6 +115,17 @@
115 DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */ 115 DRA7XX_CORE_IOPAD(0x37d4, MUX_MODE15 | PULL_UP) /* dcan1_rx.off */
116 >; 116 >;
117 }; 117 };
118
119 mmc1_pins_default: mmc1_pins_default {
120 pinctrl-single,pins = <
121 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mmc1_clk.clk */
122 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
123 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
124 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
125 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
126 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
127 >;
128 };
118}; 129};
119 130
120&i2c1 { 131&i2c1 {
@@ -410,6 +421,7 @@
410&mmc2 { 421&mmc2 {
411 status = "okay"; 422 status = "okay";
412 vmmc-supply = <&v3_3d>; 423 vmmc-supply = <&v3_3d>;
424 vqmmc-supply = <&v3_3d>;
413 bus-width = <8>; 425 bus-width = <8>;
414 ti,non-removable; 426 ti,non-removable;
415 max-frequency = <96000000>; 427 max-frequency = <96000000>;
diff --git a/arch/arm/boot/dts/animeo_ip.dts b/arch/arm/boot/dts/animeo_ip.dts
index b67a75179784..d7c841932701 100644
--- a/arch/arm/boot/dts/animeo_ip.dts
+++ b/arch/arm/boot/dts/animeo_ip.dts
@@ -24,7 +24,7 @@
24 }; 24 };
25 25
26 chosen { 26 chosen {
27 linux,stdout-path = &usart2; 27 stdout-path = &usart2;
28 }; 28 };
29 29
30 memory { 30 memory {
diff --git a/arch/arm/boot/dts/arm-realview-eb.dtsi b/arch/arm/boot/dts/arm-realview-eb.dtsi
index e2e9599596e2..a917cf8825ca 100644
--- a/arch/arm/boot/dts/arm-realview-eb.dtsi
+++ b/arch/arm/boot/dts/arm-realview-eb.dtsi
@@ -143,6 +143,43 @@
143 port1-otg; 143 port1-otg;
144 }; 144 };
145 145
146 bridge {
147 compatible = "ti,ths8134a", "ti,ths8134";
148 #address-cells = <1>;
149 #size-cells = <0>;
150
151 ports {
152 #address-cells = <1>;
153 #size-cells = <0>;
154
155 port@0 {
156 reg = <0>;
157
158 vga_bridge_in: endpoint {
159 remote-endpoint = <&clcd_pads>;
160 };
161 };
162
163 port@1 {
164 reg = <1>;
165
166 vga_bridge_out: endpoint {
167 remote-endpoint = <&vga_con_in>;
168 };
169 };
170 };
171 };
172
173 vga {
174 compatible = "vga-connector";
175
176 port {
177 vga_con_in: endpoint {
178 remote-endpoint = <&vga_bridge_out>;
179 };
180 };
181 };
182
146 /* These peripherals are inside the FPGA */ 183 /* These peripherals are inside the FPGA */
147 fpga { 184 fpga {
148 #address-cells = <1>; 185 #address-cells = <1>;
@@ -409,36 +446,15 @@
409 interrupt-names = "combined"; 446 interrupt-names = "combined";
410 clocks = <&oscclk0>, <&pclk>; 447 clocks = <&oscclk0>, <&pclk>;
411 clock-names = "clcdclk", "apb_pclk"; 448 clock-names = "clcdclk", "apb_pclk";
449 /* 1024x768 16bpp @65MHz works fine */
450 max-memory-bandwidth = <95000000>;
412 451
413 port { 452 port {
414 clcd_pads: endpoint { 453 clcd_pads: endpoint {
415 remote-endpoint = <&clcd_panel>; 454 remote-endpoint = <&vga_bridge_in>;
416 arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 455 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
417 }; 456 };
418 }; 457 };
419
420 panel {
421 compatible = "panel-dpi";
422
423 port {
424 clcd_panel: endpoint {
425 remote-endpoint = <&clcd_pads>;
426 };
427 };
428
429 /* Standard 640x480 VGA timings */
430 panel-timing {
431 clock-frequency = <25175000>;
432 hactive = <640>;
433 hback-porch = <48>;
434 hfront-porch = <16>;
435 hsync-len = <96>;
436 vactive = <480>;
437 vback-porch = <33>;
438 vfront-porch = <10>;
439 vsync-len = <2>;
440 };
441 };
442 }; 458 };
443 }; 459 };
444}; 460};
diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index c789564f2803..f935b72d3d96 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -161,6 +161,43 @@
161 port1-otg; 161 port1-otg;
162 }; 162 };
163 163
164 bridge {
165 compatible = "ti,ths8134a", "ti,ths8134";
166 #address-cells = <1>;
167 #size-cells = <0>;
168
169 ports {
170 #address-cells = <1>;
171 #size-cells = <0>;
172
173 port@0 {
174 reg = <0>;
175
176 vga_bridge_in: endpoint {
177 remote-endpoint = <&clcd_pads>;
178 };
179 };
180
181 port@1 {
182 reg = <1>;
183
184 vga_bridge_out: endpoint {
185 remote-endpoint = <&vga_con_in>;
186 };
187 };
188 };
189 };
190
191 vga {
192 compatible = "vga-connector";
193
194 port {
195 vga_con_in: endpoint {
196 remote-endpoint = <&vga_bridge_out>;
197 };
198 };
199 };
200
164 soc { 201 soc {
165 #address-cells = <1>; 202 #address-cells = <1>;
166 #size-cells = <1>; 203 #size-cells = <1>;
@@ -403,36 +440,15 @@
403 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; 440 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
404 clocks = <&oscclk0>, <&pclk>; 441 clocks = <&oscclk0>, <&pclk>;
405 clock-names = "clcdclk", "apb_pclk"; 442 clock-names = "clcdclk", "apb_pclk";
443 /* 1024x768 16bpp @65MHz works fine */
444 max-memory-bandwidth = <95000000>;
406 445
407 port { 446 port {
408 clcd_pads: endpoint { 447 clcd_pads: endpoint {
409 remote-endpoint = <&clcd_panel>; 448 remote-endpoint = <&vga_bridge_in>;
410 arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 449 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
411 }; 450 };
412 }; 451 };
413
414 panel {
415 compatible = "panel-dpi";
416
417 port {
418 clcd_panel: endpoint {
419 remote-endpoint = <&clcd_pads>;
420 };
421 };
422
423 /* Standard 640x480 VGA timings */
424 panel-timing {
425 clock-frequency = <25175000>;
426 hactive = <640>;
427 hback-porch = <48>;
428 hfront-porch = <16>;
429 hsync-len = <96>;
430 vactive = <480>;
431 vback-porch = <33>;
432 vfront-porch = <10>;
433 vsync-len = <2>;
434 };
435 };
436 }; 452 };
437 }; 453 };
438 454
@@ -564,7 +580,5 @@
564 clocks = <&pclk>; 580 clocks = <&pclk>;
565 clock-names = "apb_pclk"; 581 clock-names = "apb_pclk";
566 }; 582 };
567
568
569 }; 583 };
570}; 584};
diff --git a/arch/arm/boot/dts/arm-realview-pb11mp.dts b/arch/arm/boot/dts/arm-realview-pb11mp.dts
index 3944765ac4b0..36203288de42 100644
--- a/arch/arm/boot/dts/arm-realview-pb11mp.dts
+++ b/arch/arm/boot/dts/arm-realview-pb11mp.dts
@@ -242,6 +242,49 @@
242 bank-width = <4>; 242 bank-width = <4>;
243 }; 243 };
244 244
245 bridge {
246 compatible = "ti,ths8134a", "ti,ths8134";
247 #address-cells = <1>;
248 #size-cells = <0>;
249
250 ports {
251 #address-cells = <1>;
252 #size-cells = <0>;
253
254 port@0 {
255 reg = <0>;
256
257 vga_bridge_in: endpoint {
258 remote-endpoint = <&clcd_pads>;
259 };
260 };
261
262 port@1 {
263 reg = <1>;
264
265 vga_bridge_out: endpoint {
266 remote-endpoint = <&vga_con_in>;
267 };
268 };
269 };
270 };
271
272 vga {
273 /*
274 * This DDC I2C is connected directly to the DVI portions
275 * of the connector, so it's not really working when the
276 * monitor is connected to the VGA connector.
277 */
278 compatible = "vga-connector";
279 ddc-i2c-bus = <&i2c1>;
280
281 port {
282 vga_con_in: endpoint {
283 remote-endpoint = <&vga_bridge_out>;
284 };
285 };
286 };
287
245 soc { 288 soc {
246 #address-cells = <1>; 289 #address-cells = <1>;
247 #size-cells = <1>; 290 #size-cells = <1>;
@@ -575,6 +618,13 @@
575 clock-names = "apb_pclk"; 618 clock-names = "apb_pclk";
576 }; 619 };
577 620
621 i2c1: i2c@10016000 {
622 #address-cells = <1>;
623 #size-cells = <0>;
624 compatible = "arm,versatile-i2c";
625 reg = <0x10016000 0x1000>;
626 };
627
578 rtc: rtc@10017000 { 628 rtc: rtc@10017000 {
579 compatible = "arm,pl031", "arm,primecell"; 629 compatible = "arm,pl031", "arm,primecell";
580 reg = <0x10017000 0x1000>; 630 reg = <0x10017000 0x1000>;
@@ -609,37 +659,15 @@
609 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>; 659 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
610 clocks = <&oscclk4>, <&pclk>; 660 clocks = <&oscclk4>, <&pclk>;
611 clock-names = "clcdclk", "apb_pclk"; 661 clock-names = "clcdclk", "apb_pclk";
612 max-memory-bandwidth = <130000000>; /* 16bpp @ 63.5MHz */ 662 /* 1024x768 16bpp @65MHz works fine */
663 max-memory-bandwidth = <95000000>;
613 664
614 port { 665 port {
615 clcd_pads: endpoint { 666 clcd_pads: endpoint {
616 remote-endpoint = <&clcd_panel>; 667 remote-endpoint = <&vga_bridge_in>;
617 arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 668 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
618 }; 669 };
619 }; 670 };
620
621 panel {
622 compatible = "panel-dpi";
623
624 port {
625 clcd_panel: endpoint {
626 remote-endpoint = <&clcd_pads>;
627 };
628 };
629
630 /* Standard 640x480 VGA timings */
631 panel-timing {
632 clock-frequency = <25175000>;
633 hactive = <640>;
634 hback-porch = <48>;
635 hfront-porch = <16>;
636 hsync-len = <96>;
637 vactive = <480>;
638 vback-porch = <33>;
639 vfront-porch = <10>;
640 vsync-len = <2>;
641 };
642 };
643 }; 671 };
644 672
645 /* 673 /*
diff --git a/arch/arm/boot/dts/arm-realview-pbx.dtsi b/arch/arm/boot/dts/arm-realview-pbx.dtsi
index aeb49c4bd773..10868ba3277f 100644
--- a/arch/arm/boot/dts/arm-realview-pbx.dtsi
+++ b/arch/arm/boot/dts/arm-realview-pbx.dtsi
@@ -34,7 +34,8 @@
34 serial1 = &serial1; 34 serial1 = &serial1;
35 serial2 = &serial2; 35 serial2 = &serial2;
36 serial3 = &serial3; 36 serial3 = &serial3;
37 i2c0 = &i2c; 37 i2c0 = &i2c0;
38 i2c1 = &i2c1;
38 }; 39 };
39 40
40 memory { 41 memory {
@@ -158,6 +159,49 @@
158 port1-otg; 159 port1-otg;
159 }; 160 };
160 161
162 bridge {
163 compatible = "ti,ths8134a", "ti,ths8134";
164 #address-cells = <1>;
165 #size-cells = <0>;
166
167 ports {
168 #address-cells = <1>;
169 #size-cells = <0>;
170
171 port@0 {
172 reg = <0>;
173
174 vga_bridge_in: endpoint {
175 remote-endpoint = <&clcd_pads>;
176 };
177 };
178
179 port@1 {
180 reg = <1>;
181
182 vga_bridge_out: endpoint {
183 remote-endpoint = <&vga_con_in>;
184 };
185 };
186 };
187 };
188
189 vga {
190 /*
191 * This DDC I2C is connected directly to the DVI portions
192 * of the connector, so it's not really working when the
193 * monitor is connected to the VGA connector.
194 */
195 compatible = "vga-connector";
196 ddc-i2c-bus = <&i2c1>;
197
198 port {
199 vga_con_in: endpoint {
200 remote-endpoint = <&vga_bridge_out>;
201 };
202 };
203 };
204
161 soc: soc@0 { 205 soc: soc@0 {
162 compatible = "arm,realview-pbx-soc", "simple-bus"; 206 compatible = "arm,realview-pbx-soc", "simple-bus";
163 #address-cells = <1>; 207 #address-cells = <1>;
@@ -285,7 +329,7 @@
285 <&timclk>; 329 <&timclk>;
286 }; 330 };
287 331
288 i2c: i2c@10002000 { 332 i2c0: i2c@10002000 {
289 #address-cells = <1>; 333 #address-cells = <1>;
290 #size-cells = <0>; 334 #size-cells = <0>;
291 compatible = "arm,versatile-i2c"; 335 compatible = "arm,versatile-i2c";
@@ -396,7 +440,12 @@
396 clock-names = "apb_pclk"; 440 clock-names = "apb_pclk";
397 }; 441 };
398 442
399 /* DVI serial bus control is at 10016000 */ 443 i2c1: i2c@10016000 {
444 #address-cells = <1>;
445 #size-cells = <0>;
446 compatible = "arm,versatile-i2c";
447 reg = <0x10016000 0x1000>;
448 };
400 449
401 rtc: rtc@10017000 { 450 rtc: rtc@10017000 {
402 compatible = "arm,pl031", "arm,primecell"; 451 compatible = "arm,pl031", "arm,primecell";
@@ -506,36 +555,15 @@
506 interrupt-names = "combined"; 555 interrupt-names = "combined";
507 clocks = <&oscclk4>, <&pclk>; 556 clocks = <&oscclk4>, <&pclk>;
508 clock-names = "clcdclk", "apb_pclk"; 557 clock-names = "clcdclk", "apb_pclk";
558 /* 1024x768 16bpp @65MHz works fine */
559 max-memory-bandwidth = <95000000>;
509 560
510 port { 561 port {
511 clcd_pads: endpoint { 562 clcd_pads: endpoint {
512 remote-endpoint = <&clcd_panel>; 563 remote-endpoint = <&vga_bridge_in>;
513 arm,pl11x,tft-r0g0b0-pads = <0 8 16>; 564 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
514 }; 565 };
515 }; 566 };
516
517 panel {
518 compatible = "panel-dpi";
519
520 port {
521 clcd_panel: endpoint {
522 remote-endpoint = <&clcd_pads>;
523 };
524 };
525
526 /* Standard 640x480 VGA timings */
527 panel-timing {
528 clock-frequency = <25175000>;
529 hactive = <640>;
530 hback-porch = <48>;
531 hfront-porch = <16>;
532 hsync-len = <96>;
533 vactive = <480>;
534 vback-porch = <33>;
535 vfront-porch = <10>;
536 vsync-len = <2>;
537 };
538 };
539 }; 567 };
540 }; 568 };
541}; 569};
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index c4eef7323367..afe46097a403 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 370 evaluation board 3 * Device Tree file for Marvell Armada 370 evaluation board
3 * (DB-88F6710-BP-DDR3) 4 * (DB-88F6710-BP-DDR3)
@@ -8,44 +9,6 @@
8 * Gregory CLEMENT <gregory.clement@free-electrons.com> 9 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 10 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10 * 11 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * This file is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 *
49 * Note: this Device Tree assumes that the bootloader has remapped the 12 * Note: this Device Tree assumes that the bootloader has remapped the
50 * internal registers to 0xf1000000 (instead of the default 13 * internal registers to 0xf1000000 (instead of the default
51 * 0xd0000000). The 0xf1000000 is the default used by the recent, 14 * 0xd0000000). The 0xf1000000 is the default used by the recent,
diff --git a/arch/arm/boot/dts/armada-370-dlink-dns327l.dts b/arch/arm/boot/dts/armada-370-dlink-dns327l.dts
index db7f3aa38670..8e46f63cbaa1 100644
--- a/arch/arm/boot/dts/armada-370-dlink-dns327l.dts
+++ b/arch/arm/boot/dts/armada-370-dlink-dns327l.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for D-Link DNS-327L 3 * Device Tree file for D-Link DNS-327L
3 * 4 *
4 * Copyright (C) 2015, Andrew Andrianov <andrew@ncrmnt.org> 5 * Copyright (C) 2015, Andrew Andrianov <andrew@ncrmnt.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/* Remaining unsolved: 8/* Remaining unsolved:
diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts
index 702f58c9642d..996f31b00729 100644
--- a/arch/arm/boot/dts/armada-370-mirabox.dts
+++ b/arch/arm/boot/dts/armada-370-mirabox.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Globalscale Mirabox 3 * Device Tree file for Globalscale Mirabox
3 * 4 *
4 * Gregory CLEMENT <gregory.clement@free-electrons.com> 5 * Gregory CLEMENT <gregory.clement@free-electrons.com>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn102.dts b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
index b1a96e95e921..56634803e16b 100644
--- a/arch/arm/boot/dts/armada-370-netgear-rn102.dts
+++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for NETGEAR ReadyNAS 102 3 * Device Tree file for NETGEAR ReadyNAS 102
3 * 4 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
@@ -103,7 +66,7 @@
103 66
104 status = "okay"; 67 status = "okay";
105 68
106 isl12057: isl12057@68 { 69 isl12057: rtc@68 {
107 compatible = "isil,isl12057"; 70 compatible = "isil,isl12057";
108 reg = <0x68>; 71 reg = <0x68>;
109 wakeup-source; 72 wakeup-source;
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn104.dts b/arch/arm/boot/dts/armada-370-netgear-rn104.dts
index d67e7aa42b54..16d0307f786a 100644
--- a/arch/arm/boot/dts/armada-370-netgear-rn104.dts
+++ b/arch/arm/boot/dts/armada-370-netgear-rn104.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for NETGEAR ReadyNAS 104 3 * Device Tree file for NETGEAR ReadyNAS 104
3 * 4 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
@@ -105,7 +68,7 @@
105 68
106 status = "okay"; 69 status = "okay";
107 70
108 isl12057: isl12057@68 { 71 isl12057: rtc@68 {
109 compatible = "isil,isl12057"; 72 compatible = "isil,isl12057";
110 reg = <0x68>; 73 reg = <0x68>;
111 wakeup-source; 74 wakeup-source;
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts
index c28afb242393..cc2f774eb267 100644
--- a/arch/arm/boot/dts/armada-370-rd.dts
+++ b/arch/arm/boot/dts/armada-370-rd.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 370 Reference Design board 3 * Device Tree file for Marvell Armada 370 Reference Design board
3 * (RD-88F6710-A1) 4 * (RD-88F6710-A1)
@@ -6,44 +7,6 @@
6 * 7 *
7 * Copyright (C) 2013 Florian Fainelli <florian@openwrt.org> 8 * Copyright (C) 2013 Florian Fainelli <florian@openwrt.org>
8 * 9 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * This file is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * Or, alternatively,
25 *
26 * b) Permission is hereby granted, free of charge, to any person
27 * obtaining a copy of this software and associated documentation
28 * files (the "Software"), to deal in the Software without
29 * restriction, including without limitation the rights to use,
30 * copy, modify, merge, publish, distribute, sublicense, and/or
31 * sell copies of the Software, and to permit persons to whom the
32 * Software is furnished to do so, subject to the following
33 * conditions:
34 *
35 * The above copyright notice and this permission notice shall be
36 * included in all copies or substantial portions of the Software.
37 *
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 * OTHER DEALINGS IN THE SOFTWARE.
46 *
47 * Note: this Device Tree assumes that the bootloader has remapped the 10 * Note: this Device Tree assumes that the bootloader has remapped the
48 * internal registers to 0xf1000000 (instead of the default 11 * internal registers to 0xf1000000 (instead of the default
49 * 0xd0000000). The 0xf1000000 is the default used by the recent, 12 * 0xd0000000). The 0xf1000000 is the default used by the recent,
diff --git a/arch/arm/boot/dts/armada-370-seagate-nas-2bay.dts b/arch/arm/boot/dts/armada-370-seagate-nas-2bay.dts
index fef0110a8d8a..8dd242e668e6 100644
--- a/arch/arm/boot/dts/armada-370-seagate-nas-2bay.dts
+++ b/arch/arm/boot/dts/armada-370-seagate-nas-2bay.dts
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for Seagate NAS 2-Bay (Armada 370 SoC). 3 * Device Tree file for Seagate NAS 2-Bay (Armada 370 SoC).
3 * 4 *
4 * Copyright (C) 2015 Seagate 5 * Copyright (C) 2015 Seagate
5 * 6 *
6 * Author: Vincent Donnefort <vdonnefort@gmail.com> 7 * Author: Vincent Donnefort <vdonnefort@gmail.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */ 8 */
12 9
13/* 10/*
diff --git a/arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts b/arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts
index eb6af53b4954..3cf70c72c5ca 100644
--- a/arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts
+++ b/arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for Seagate NAS 4-Bay (Armada 370 SoC). 3 * Device Tree file for Seagate NAS 4-Bay (Armada 370 SoC).
3 * 4 *
4 * Copyright (C) 2015 Seagate 5 * Copyright (C) 2015 Seagate
5 * 6 *
6 * Author: Vincent Donnefort <vdonnefort@gmail.com> 7 * Author: Vincent Donnefort <vdonnefort@gmail.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */ 8 */
12 9
13/* 10/*
diff --git a/arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi b/arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi
index e9a5b952afc0..a5206db0ebbd 100644
--- a/arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi
+++ b/arch/arm/boot/dts/armada-370-seagate-nas-xbay.dtsi
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree common file for the Seagate NAS 2 and 4-bay (Armada 370 SoC). 3 * Device Tree common file for the Seagate NAS 2 and 4-bay (Armada 370 SoC).
3 * 4 *
4 * Copyright (C) 2015 Seagate 5 * Copyright (C) 2015 Seagate
5 * 6 *
6 * Author: Vincent Donnefort <vdonnefort@gmail.com> 7 * Author: Vincent Donnefort <vdonnefort@gmail.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */ 8 */
12 9
13/* 10/*
diff --git a/arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts b/arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts
index 3c91f9821c89..5ee572dc9242 100644
--- a/arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts
+++ b/arch/arm/boot/dts/armada-370-seagate-personal-cloud-2bay.dts
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for Seagate Personal Cloud NAS 2-Bay (Armada 370 SoC). 3 * Device Tree file for Seagate Personal Cloud NAS 2-Bay (Armada 370 SoC).
3 * 4 *
4 * Copyright (C) 2015 Seagate 5 * Copyright (C) 2015 Seagate
5 * 6 *
6 * Author: Simon Guinot <simon.guinot@sequanux.org> 7 * Author: Simon Guinot <simon.guinot@sequanux.org>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */ 8 */
12 9
13/* 10/*
diff --git a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts
index aad39e97af43..578b54b39c8f 100644
--- a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts
+++ b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dts
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for Seagate Personal Cloud NAS (Armada 370 SoC). 3 * Device Tree file for Seagate Personal Cloud NAS (Armada 370 SoC).
3 * 4 *
4 * Copyright (C) 2015 Seagate 5 * Copyright (C) 2015 Seagate
5 * 6 *
6 * Author: Simon Guinot <simon.guinot@sequanux.org> 7 * Author: Simon Guinot <simon.guinot@sequanux.org>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */ 8 */
12 9
13/* 10/*
diff --git a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
index d079a89ee5a2..a624b2371fb6 100644
--- a/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
+++ b/arch/arm/boot/dts/armada-370-seagate-personal-cloud.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree common file for the Seagate Personal Cloud NAS 1 and 2-Bay 3 * Device Tree common file for the Seagate Personal Cloud NAS 1 and 2-Bay
3 * (Armada 370 SoC). 4 * (Armada 370 SoC).
@@ -5,10 +6,6 @@
5 * Copyright (C) 2015 Seagate 6 * Copyright (C) 2015 Seagate
6 * 7 *
7 * Author: Simon Guinot <simon.guinot@sequanux.org> 8 * Author: Simon Guinot <simon.guinot@sequanux.org>
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */ 9 */
13 10
14/* 11/*
diff --git a/arch/arm/boot/dts/armada-370-synology-ds213j.dts b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
index 95040810c094..64f2ce254fb6 100644
--- a/arch/arm/boot/dts/armada-370-synology-ds213j.dts
+++ b/arch/arm/boot/dts/armada-370-synology-ds213j.dts
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Synology DS213j 3 * Device Tree file for Synology DS213j
3 * 4 *
4 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>
5 * 6 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 *
44 * Note: this Device Tree assumes that the bootloader has remapped the 7 * Note: this Device Tree assumes that the bootloader has remapped the
45 * internal registers to 0xf1000000 (instead of the old 0xd0000000). 8 * internal registers to 0xf1000000 (instead of the old 0xd0000000).
46 * The 0xf1000000 is the default used by the recent, DT-capable, U-Boot 9 * The 0xf1000000 is the default used by the recent, DT-capable, U-Boot
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 09495e87b038..11fc3271dad4 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 370 and Armada XP SoC 3 * Device Tree Include file for Marvell Armada 370 and Armada XP SoC
3 * 4 *
@@ -8,44 +9,6 @@
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 * Ben Dooks <ben.dooks@codethink.co.uk> 10 * Ben Dooks <ben.dooks@codethink.co.uk>
10 * 11 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * This file is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 *
49 * This file contains the definitions that are common to the Armada 12 * This file contains the definitions that are common to the Armada
50 * 370 and Armada XP SoC. 13 * 370 and Armada XP SoC.
51 */ 14 */
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index b1cf5a26f3c2..46e6d3ed8f35 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 370 family SoC 3 * Device Tree Include file for Marvell Armada 370 family SoC
3 * 4 *
@@ -7,44 +8,6 @@
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 * 10 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 *
48 * Contains definitions specific to the Armada 370 SoC that are not 11 * Contains definitions specific to the Armada 370 SoC that are not
49 * common to all Armada SoCs. 12 * common to all Armada SoCs.
50 */ 13 */
diff --git a/arch/arm/boot/dts/armada-375-db.dts b/arch/arm/boot/dts/armada-375-db.dts
index bcdbb8ba1d65..e4ecd7e75644 100644
--- a/arch/arm/boot/dts/armada-375-db.dts
+++ b/arch/arm/boot/dts/armada-375-db.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 375 evaluation board 3 * Device Tree file for Marvell Armada 375 evaluation board
3 * (DB-88F6720) 4 * (DB-88F6720)
@@ -6,44 +7,6 @@
6 * 7 *
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49/dts-v1/; 12/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index 2cb1bcd30976..53ead6f26a0e 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 375 family SoC 3 * Device Tree Include file for Marvell Armada 375 family SoC
3 * 4 *
@@ -5,44 +6,6 @@
5 * 6 *
6 * Gregory CLEMENT <gregory.clement@free-electrons.com> 7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * This file is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * Or, alternatively,
25 *
26 * b) Permission is hereby granted, free of charge, to any person
27 * obtaining a copy of this software and associated documentation
28 * files (the "Software"), to deal in the Software without
29 * restriction, including without limitation the rights to use,
30 * copy, modify, merge, publish, distribute, sublicense, and/or
31 * sell copies of the Software, and to permit persons to whom the
32 * Software is furnished to do so, subject to the following
33 * conditions:
34 *
35 * The above copyright notice and this permission notice shall be
36 * included in all copies or substantial portions of the Software.
37 *
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 * OTHER DEALINGS IN THE SOFTWARE.
46 */ 9 */
47 10
48#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/interrupt-controller/arm-gic.h>
diff --git a/arch/arm/boot/dts/armada-380.dtsi b/arch/arm/boot/dts/armada-380.dtsi
index 132596fd0860..cff1269f3fbf 100644
--- a/arch/arm/boot/dts/armada-380.dtsi
+++ b/arch/arm/boot/dts/armada-380.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 380 SoC. 3 * Device Tree Include file for Marvell Armada 380 SoC.
3 * 4 *
@@ -6,44 +7,6 @@
6 * Lior Amsalem <alior@marvell.com> 7 * Lior Amsalem <alior@marvell.com>
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49#include "armada-38x.dtsi" 12#include "armada-38x.dtsi"
diff --git a/arch/arm/boot/dts/armada-385-db-ap.dts b/arch/arm/boot/dts/armada-385-db-ap.dts
index 678aa023335d..d294f24281a5 100644
--- a/arch/arm/boot/dts/armada-385-db-ap.dts
+++ b/arch/arm/boot/dts/armada-385-db-ap.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 385 Access Point Development board 3 * Device Tree file for Marvell Armada 385 Access Point Development board
3 * (DB-88F6820-AP) 4 * (DB-88F6820-AP)
@@ -5,38 +6,6 @@
5 * Copyright (C) 2014 Marvell 6 * Copyright (C) 2014 Marvell
6 * 7 *
7 * Nadav Haklai <nadavh@marvell.com> 8 * Nadav Haklai <nadavh@marvell.com>
8 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is licensed under the terms of the GNU General Public
15 * License version 2. This program is licensed "as is" without
16 * any warranty of any kind, whether express or implied.
17 *
18 * Or, alternatively,
19 *
20 * b) Permission is hereby granted, free of charge, to any person
21 * obtaining a copy of this software and associated documentation
22 * files (the "Software"), to deal in the Software without
23 * restriction, including without limitation the rights to use,
24 * copy, modify, merge, publish, distribute, sublicense, and/or
25 * sell copies of the Software, and to permit persons to whom the
26 * Software is furnished to do so, subject to the following
27 * conditions:
28 *
29 * The above copyright notice and this permission notice shall be
30 * included in all copies or substantial portions of the Software.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39 * OTHER DEALINGS IN THE SOFTWARE.
40 */ 9 */
41 10
42/dts-v1/; 11/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-385-linksys-caiman.dts b/arch/arm/boot/dts/armada-385-linksys-caiman.dts
index ee669ae61011..1f30993af405 100644
--- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts
+++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts
@@ -1,40 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree include for the Linksys WRT1200AC (Caiman) 3 * Device Tree include for the Linksys WRT1200AC (Caiman)
3 * 4 *
4 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org> 5 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
5 *
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */ 6 */
39 7
40/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-385-linksys-cobra.dts b/arch/arm/boot/dts/armada-385-linksys-cobra.dts
index 5169ca89c55a..bc34802ce6bc 100644
--- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts
+++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts
@@ -1,40 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for the Linksys WRT1900ACv2 (Cobra) 3 * Device Tree file for the Linksys WRT1900ACv2 (Cobra)
3 * 4 *
4 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org> 5 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
5 *
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */ 6 */
39 7
40/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-385-linksys-rango.dts b/arch/arm/boot/dts/armada-385-linksys-rango.dts
index da8a0f3d432b..5b745a0ccce5 100644
--- a/arch/arm/boot/dts/armada-385-linksys-rango.dts
+++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts
@@ -1,40 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for the Linksys WRT3200ACM (Rango) 3 * Device Tree file for the Linksys WRT3200ACM (Rango)
3 * 4 *
4 * Copyright (C) 2016 Imre Kaloz <kaloz@openwrt.org> 5 * Copyright (C) 2016 Imre Kaloz <kaloz@openwrt.org>
5 *
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */ 6 */
39 7
40/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-385-linksys-shelby.dts b/arch/arm/boot/dts/armada-385-linksys-shelby.dts
index 94aa35bc0bff..44f5aeb5fc33 100644
--- a/arch/arm/boot/dts/armada-385-linksys-shelby.dts
+++ b/arch/arm/boot/dts/armada-385-linksys-shelby.dts
@@ -1,40 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for the Linksys WRT1900ACS (Shelby) 3 * Device Tree file for the Linksys WRT1900ACS (Shelby)
3 * 4 *
4 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org> 5 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
5 *
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */ 6 */
39 7
40/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi
index 434dc9aaa5e4..4a0d7360110b 100644
--- a/arch/arm/boot/dts/armada-385-linksys.dtsi
+++ b/arch/arm/boot/dts/armada-385-linksys.dtsi
@@ -1,40 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree include file for Armada 385 based Linksys boards 3 * Device Tree include file for Armada 385 based Linksys boards
3 * 4 *
4 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org> 5 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
5 *
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */ 6 */
39 7
40#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/gpio/gpio.h>
@@ -282,3 +250,8 @@
282 status = "okay"; 250 status = "okay";
283 usb-phy = <&usb3_1_phy>; 251 usb-phy = <&usb3_1_phy>;
284}; 252};
253
254&rtc {
255 /* No crystal connected to the internal RTC */
256 status = "disabled";
257};
diff --git a/arch/arm/boot/dts/armada-385-synology-ds116.dts b/arch/arm/boot/dts/armada-385-synology-ds116.dts
index 0a3552ebda3b..6782ce481ac9 100644
--- a/arch/arm/boot/dts/armada-385-synology-ds116.dts
+++ b/arch/arm/boot/dts/armada-385-synology-ds116.dts
@@ -1,39 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for Synology DS116 NAS 3 * Device Tree file for Synology DS116 NAS
3 * 4 *
4 * Copyright (C) 2017 Willy Tarreau <w@1wt.eu> 5 * Copyright (C) 2017 Willy Tarreau <w@1wt.eu>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without
13 * any warranty of any kind, whether express or implied.
14 *
15 * Or, alternatively,
16 *
17 * b) Permission is hereby granted, free of charge, to any person
18 * obtaining a copy of this software and associated documentation
19 * files (the "Software"), to deal in the Software without
20 * restriction, including without limitation the rights to use,
21 * copy, modify, merge, publish, distribute, sublicense, and/or
22 * sell copies of the Software, and to permit persons to whom the
23 * Software is furnished to do so, subject to the following
24 * conditions:
25 *
26 * The above copyright notice and this permission notice shall be
27 * included in all copies or substantial portions of the Software.
28 *
29 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
30 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
31 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
32 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
33 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
34 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
35 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
36 * OTHER DEALINGS IN THE SOFTWARE.
37 */ 6 */
38 7
39/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts
index 06831e1e3f80..768b6c5d2129 100644
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
@@ -1,43 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for the Turris Omnia 3 * Device Tree file for the Turris Omnia
3 * 4 *
4 * Copyright (C) 2016 Uwe Kleine-König <uwe@kleine-koenig.org> 5 * Copyright (C) 2016 Uwe Kleine-König <uwe@kleine-koenig.org>
5 * Copyright (C) 2016 Tomas Hlavacek <tmshlvkc@gmail.com> 6 * Copyright (C) 2016 Tomas Hlavacek <tmshlvkc@gmail.com>
6 * 7 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is licensed under the terms of the GNU General Public
13 * License version 2. This program is licensed "as is" without
14 * any warranty of any kind, whether express or implied.
15 *
16 * Or, alternatively,
17 *
18 * b) Permission is hereby granted, free of charge, to any person
19 * obtaining a copy of this software and associated documentation
20 * files (the "Software"), to deal in the Software without
21 * restriction, including without limitation the rights to use,
22 * copy, modify, merge, publish, distribute, sublicense, and/or
23 * sell copies of the Software, and to permit persons to whom the
24 * Software is furnished to do so, subject to the following
25 * conditions:
26 *
27 * The above copyright notice and this permission notice shall be
28 * included in all copies or substantial portions of the Software.
29 *
30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
37 * OTHER DEALINGS IN THE SOFTWARE.
38 */
39
40/*
41 * Schematic available at https://www.turris.cz/doc/_media/rtrom01-schema.pdf 8 * Schematic available at https://www.turris.cz/doc/_media/rtrom01-schema.pdf
42 */ 9 */
43 10
diff --git a/arch/arm/boot/dts/armada-385.dtsi b/arch/arm/boot/dts/armada-385.dtsi
index 74863aff01c6..f0022d10c715 100644
--- a/arch/arm/boot/dts/armada-385.dtsi
+++ b/arch/arm/boot/dts/armada-385.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 385 SoC. 3 * Device Tree Include file for Marvell Armada 385 SoC.
3 * 4 *
@@ -6,44 +7,6 @@
6 * Lior Amsalem <alior@marvell.com> 7 * Lior Amsalem <alior@marvell.com>
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49#include "armada-38x.dtsi" 12#include "armada-38x.dtsi"
diff --git a/arch/arm/boot/dts/armada-388-clearfog-base.dts b/arch/arm/boot/dts/armada-388-clearfog-base.dts
index 22ed07fc2979..50ed4ae5c621 100644
--- a/arch/arm/boot/dts/armada-388-clearfog-base.dts
+++ b/arch/arm/boot/dts/armada-388-clearfog-base.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for SolidRun Clearfog Base revision A1 rev 2.0 (88F6828) 3 * Device Tree file for SolidRun Clearfog Base revision A1 rev 2.0 (88F6828)
3 * 4 *
@@ -7,43 +8,6 @@
7 * the A1 rev 2.0 of the board, which does not represent final 8 * the A1 rev 2.0 of the board, which does not represent final
8 * production board. Things will change, don't expect this file to 9 * production board. Things will change, don't expect this file to
9 * remain compatible info the future. 10 * remain compatible info the future.
10 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * version 2 as published by the Free Software Foundation.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 11 */
48 12
49/dts-v1/; 13/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-388-clearfog-pro.dts b/arch/arm/boot/dts/armada-388-clearfog-pro.dts
index bd85870bbdbb..24e4b5a509be 100644
--- a/arch/arm/boot/dts/armada-388-clearfog-pro.dts
+++ b/arch/arm/boot/dts/armada-388-clearfog-pro.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828) 3 * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828)
3 * 4 *
@@ -7,43 +8,6 @@
7 * the A1 rev 2.0 of the board, which does not represent final 8 * the A1 rev 2.0 of the board, which does not represent final
8 * production board. Things will change, don't expect this file to 9 * production board. Things will change, don't expect this file to
9 * remain compatible info the future. 10 * remain compatible info the future.
10 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * version 2 as published by the Free Software Foundation.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 11 */
48#include "armada-388-clearfog.dts" 12#include "armada-388-clearfog.dts"
49 13
diff --git a/arch/arm/boot/dts/armada-388-clearfog.dts b/arch/arm/boot/dts/armada-388-clearfog.dts
index ee7b0089eff0..5fd0f6f61e77 100644
--- a/arch/arm/boot/dts/armada-388-clearfog.dts
+++ b/arch/arm/boot/dts/armada-388-clearfog.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828) 3 * Device Tree file for SolidRun Clearfog Pro revision A1 rev 2.0 (88F6828)
3 * 4 *
@@ -7,43 +8,6 @@
7 * the A1 rev 2.0 of the board, which does not represent final 8 * the A1 rev 2.0 of the board, which does not represent final
8 * production board. Things will change, don't expect this file to 9 * production board. Things will change, don't expect this file to
9 * remain compatible info the future. 10 * remain compatible info the future.
10 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * version 2 as published by the Free Software Foundation.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 11 */
48 12
49/dts-v1/; 13/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-388-clearfog.dtsi b/arch/arm/boot/dts/armada-388-clearfog.dtsi
index 68acfc968706..0d9dfdfe977e 100644
--- a/arch/arm/boot/dts/armada-388-clearfog.dtsi
+++ b/arch/arm/boot/dts/armada-388-clearfog.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree include file for SolidRun Clearfog 88F6828 based boards 3 * Device Tree include file for SolidRun Clearfog 88F6828 based boards
3 * 4 *
@@ -7,43 +8,6 @@
7 * the A1 rev 2.0 of the board, which does not represent final 8 * the A1 rev 2.0 of the board, which does not represent final
8 * production board. Things will change, don't expect this file to 9 * production board. Things will change, don't expect this file to
9 * remain compatible info the future. 10 * remain compatible info the future.
10 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * version 2 as published by the Free Software Foundation.
19 *
20 * This file is distributed in the hope that it will be useful
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 11 */
48 12
49#include "armada-388.dtsi" 13#include "armada-388.dtsi"
@@ -117,6 +81,16 @@
117 }; 81 };
118 }; 82 };
119 }; 83 };
84
85 sfp: sfp {
86 compatible = "sff,sfp";
87 i2c-bus = <&i2c1>;
88 los-gpio = <&expander0 12 GPIO_ACTIVE_HIGH>;
89 mod-def0-gpio = <&expander0 15 GPIO_ACTIVE_LOW>;
90 tx-disable-gpio = <&expander0 14 GPIO_ACTIVE_HIGH>;
91 tx-fault-gpio = <&expander0 13 GPIO_ACTIVE_HIGH>;
92 maximum-power-milliwatt = <2000>;
93 };
120}; 94};
121 95
122&eth1 { 96&eth1 {
@@ -133,18 +107,14 @@
133 bm,pool-long = <3>; 107 bm,pool-long = <3>;
134 bm,pool-short = <1>; 108 bm,pool-short = <1>;
135 buffer-manager = <&bm>; 109 buffer-manager = <&bm>;
110 managed = "in-band-status";
136 phy-mode = "sgmii"; 111 phy-mode = "sgmii";
112 sfp = <&sfp>;
137 status = "okay"; 113 status = "okay";
138
139 fixed-link {
140 speed = <1000>;
141 full-duplex;
142 };
143}; 114};
144 115
145&i2c0 { 116&i2c0 {
146 /* Is there anything on this? */ 117 clock-frequency = <400000>;
147 clock-frequency = <100000>;
148 pinctrl-0 = <&i2c0_pins>; 118 pinctrl-0 = <&i2c0_pins>;
149 pinctrl-names = "default"; 119 pinctrl-names = "default";
150 status = "okay"; 120 status = "okay";
@@ -209,43 +179,13 @@
209 output-low; 179 output-low;
210 line-name = "m.2 devslp"; 180 line-name = "m.2 devslp";
211 }; 181 };
212 sfp_los {
213 /* SFP loss of signal */
214 gpio-hog;
215 gpios = <12 GPIO_ACTIVE_HIGH>;
216 input;
217 line-name = "sfp-los";
218 };
219 sfp_tx_fault {
220 /* SFP laser fault */
221 gpio-hog;
222 gpios = <13 GPIO_ACTIVE_HIGH>;
223 input;
224 line-name = "sfp-tx-fault";
225 };
226 sfp_tx_disable {
227 /* SFP transmit disable */
228 gpio-hog;
229 gpios = <14 GPIO_ACTIVE_HIGH>;
230 output-low;
231 line-name = "sfp-tx-disable";
232 };
233 sfp_mod_def0 {
234 /* SFP module present */
235 gpio-hog;
236 gpios = <15 GPIO_ACTIVE_LOW>;
237 input;
238 line-name = "sfp-mod-def0";
239 };
240 }; 182 };
241 183
242 /* The MCP3021 is 100kHz clock only */ 184 /* The MCP3021 supports standard and fast modes */
243 mikrobus_adc: mcp3021@4c { 185 mikrobus_adc: mcp3021@4c {
244 compatible = "microchip,mcp3021"; 186 compatible = "microchip,mcp3021";
245 reg = <0x4c>; 187 reg = <0x4c>;
246 }; 188 };
247
248 /* Also something at 0x64 */
249}; 189};
250 190
251&i2c1 { 191&i2c1 {
diff --git a/arch/arm/boot/dts/armada-388-db.dts b/arch/arm/boot/dts/armada-388-db.dts
index a4ec1fa37529..05250d426dc4 100644
--- a/arch/arm/boot/dts/armada-388-db.dts
+++ b/arch/arm/boot/dts/armada-388-db.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 388 evaluation board 3 * Device Tree file for Marvell Armada 388 evaluation board
3 * (DB-88F6820) 4 * (DB-88F6820)
@@ -5,44 +6,6 @@
5 * Copyright (C) 2014 Marvell 6 * Copyright (C) 2014 Marvell
6 * 7 *
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * This file is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * Or, alternatively,
25 *
26 * b) Permission is hereby granted, free of charge, to any person
27 * obtaining a copy of this software and associated documentation
28 * files (the "Software"), to deal in the Software without
29 * restriction, including without limitation the rights to use,
30 * copy, modify, merge, publish, distribute, sublicense, and/or
31 * sell copies of the Software, and to permit persons to whom the
32 * Software is furnished to do so, subject to the following
33 * conditions:
34 *
35 * The above copyright notice and this permission notice shall be
36 * included in all copies or substantial portions of the Software.
37 *
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 * OTHER DEALINGS IN THE SOFTWARE.
46 */ 9 */
47 10
48/dts-v1/; 11/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-388-gp.dts b/arch/arm/boot/dts/armada-388-gp.dts
index 51b4ee6df130..9d873257ac45 100644
--- a/arch/arm/boot/dts/armada-388-gp.dts
+++ b/arch/arm/boot/dts/armada-388-gp.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 385 development board 3 * Device Tree file for Marvell Armada 385 development board
3 * (RD-88F6820-GP) 4 * (RD-88F6820-GP)
@@ -5,38 +6,6 @@
5 * Copyright (C) 2014 Marvell 6 * Copyright (C) 2014 Marvell
6 * 7 *
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is licensed under the terms of the GNU General Public
15 * License version 2. This program is licensed "as is" without
16 * any warranty of any kind, whether express or implied.
17 *
18 * Or, alternatively,
19 *
20 * b) Permission is hereby granted, free of charge, to any person
21 * obtaining a copy of this software and associated documentation
22 * files (the "Software"), to deal in the Software without
23 * restriction, including without limitation the rights to use,
24 * copy, modify, merge, publish, distribute, sublicense, and/or
25 * sell copies of the Software, and to permit persons to whom the
26 * Software is furnished to do so, subject to the following
27 * conditions:
28 *
29 * The above copyright notice and this permission notice shall be
30 * included in all copies or substantial portions of the Software.
31 *
32 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
33 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
37 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39 * OTHER DEALINGS IN THE SOFTWARE.
40 */ 9 */
41 10
42/dts-v1/; 11/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-388-rd.dts b/arch/arm/boot/dts/armada-388-rd.dts
index 9cc3ca0376b9..328a4d6afd2c 100644
--- a/arch/arm/boot/dts/armada-388-rd.dts
+++ b/arch/arm/boot/dts/armada-388-rd.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 388 Reference Design board 3 * Device Tree file for Marvell Armada 388 Reference Design board
3 * (RD-88F6820-AP) 4 * (RD-88F6820-AP)
@@ -6,44 +7,6 @@
6 * 7 *
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49/dts-v1/; 12/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-388.dtsi b/arch/arm/boot/dts/armada-388.dtsi
index 1c0d151b2aaa..f3a020ff577e 100644
--- a/arch/arm/boot/dts/armada-388.dtsi
+++ b/arch/arm/boot/dts/armada-388.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 388 SoC. 3 * Device Tree Include file for Marvell Armada 388 SoC.
3 * 4 *
@@ -5,39 +6,6 @@
5 * 6 *
6 * Gregory CLEMENT <gregory.clement@free-electrons.com> 7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is licensed under the terms of the GNU General Public
14 * License version 2. This program is licensed "as is" without
15 * any warranty of any kind, whether express or implied.
16 *
17 * Or, alternatively,
18 *
19 * b) Permission is hereby granted, free of charge, to any person
20 * obtaining a copy of this software and associated documentation
21 * files (the "Software"), to deal in the Software without
22 * restriction, including without limitation the rights to use,
23 * copy, modify, merge, publish, distribute, sublicense, and/or
24 * sell copies of the Software, and to permit persons to whom the
25 * Software is furnished to do so, subject to the following
26 * conditions:
27 *
28 * The above copyright notice and this permission notice shall be
29 * included in all copies or substantial portions of the Software.
30 *
31 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
33 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
35 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
36 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
38 * OTHER DEALINGS IN THE SOFTWARE.
39 *
40 *
41 * The main difference with the Armada 385 is that the 388 can handle two more 9 * The main difference with the Armada 385 is that the 388 can handle two more
42 * SATA ports. So we can reuse the dtsi of the Armada 385, override the pinctrl 10 * SATA ports. So we can reuse the dtsi of the Armada 385, override the pinctrl
43 * property and the name of the SoC, and add the second SATA host which control 11 * property and the name of the SoC, and add the second SATA host which control
diff --git a/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi b/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi
index 9b508a8161f5..2d1cea131e71 100644
--- a/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi
+++ b/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for SolidRun Armada 38x Microsom 3 * Device Tree file for SolidRun Armada 38x Microsom
3 * 4 *
@@ -7,43 +8,6 @@
7 * the A1 rev 2.0 of the board, which does not represent final 8 * the A1 rev 2.0 of the board, which does not represent final
8 * production board. Things will change, don't expect this file to 9 * production board. Things will change, don't expect this file to
9 * remain compatible info the future. 10 * remain compatible info the future.
10 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License
18 * version 2 as published by the Free Software Foundation.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 11 */
48#include <dt-bindings/input/input.h> 12#include <dt-bindings/input/input.h>
49#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/gpio/gpio.h>
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
index a6cc568f74f7..4cc09e43eea2 100644
--- a/arch/arm/boot/dts/armada-38x.dtsi
+++ b/arch/arm/boot/dts/armada-38x.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 38x family of SoCs. 3 * Device Tree Include file for Marvell Armada 38x family of SoCs.
3 * 4 *
@@ -6,44 +7,6 @@
6 * Lior Amsalem <alior@marvell.com> 7 * Lior Amsalem <alior@marvell.com>
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49#include "skeleton.dtsi" 12#include "skeleton.dtsi"
diff --git a/arch/arm/boot/dts/armada-390-db.dts b/arch/arm/boot/dts/armada-390-db.dts
index c718a5242595..1b2362e4c831 100644
--- a/arch/arm/boot/dts/armada-390-db.dts
+++ b/arch/arm/boot/dts/armada-390-db.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 390 Development Board 3 * Device Tree file for Marvell Armada 390 Development Board
3 * (DB-88F6920) 4 * (DB-88F6920)
@@ -5,44 +6,6 @@
5 * Copyright (C) 2016 Marvell 6 * Copyright (C) 2016 Marvell
6 * 7 *
7 * Grzegorz Jaszczyk <jaz@semihalf.com> 8 * Grzegorz Jaszczyk <jaz@semihalf.com>
8 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * This file is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * Or, alternatively,
25 *
26 * b) Permission is hereby granted, free of charge, to any person
27 * obtaining a copy of this software and associated documentation
28 * files (the "Software"), to deal in the Software without
29 * restriction, including without limitation the rights to use,
30 * copy, modify, merge, publish, distribute, sublicense, and/or
31 * sell copies of the Software, and to permit persons to whom the
32 * Software is furnished to do so, subject to the following
33 * conditions:
34 *
35 * The above copyright notice and this permission notice shall be
36 * included in all copies or substantial portions of the Software.
37 *
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 * OTHER DEALINGS IN THE SOFTWARE.
46 */ 9 */
47 10
48/dts-v1/; 11/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-390.dtsi b/arch/arm/boot/dts/armada-390.dtsi
index 0d8a54ad007c..aa2057d4d6f8 100644
--- a/arch/arm/boot/dts/armada-390.dtsi
+++ b/arch/arm/boot/dts/armada-390.dtsi
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 390 SoC. 3 * Device Tree Include file for Marvell Armada 390 SoC.
3 * 4 *
4 * Copyright (C) 2015 Marvell 5 * Copyright (C) 2015 Marvell
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47#include "armada-39x.dtsi" 10#include "armada-39x.dtsi"
diff --git a/arch/arm/boot/dts/armada-395-gp.dts b/arch/arm/boot/dts/armada-395-gp.dts
index ef491b524fd6..2a9de192b423 100644
--- a/arch/arm/boot/dts/armada-395-gp.dts
+++ b/arch/arm/boot/dts/armada-395-gp.dts
@@ -1,41 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 395 GP board 3 * Device Tree file for Marvell Armada 395 GP board
3 * 4 *
4 * Copyright (C) 2016 Marvell 5 * Copyright (C) 2016 Marvell
5 * 6 *
6 * Grzegorz Jaszczyk <jaz@semihalf.com> 7 * Grzegorz Jaszczyk <jaz@semihalf.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is licensed under the terms of the GNU General Public
14 * License version 2. This program is licensed "as is" without
15 * any warranty of any kind, whether express or implied.
16 *
17 * Or, alternatively,
18 *
19 * b) Permission is hereby granted, free of charge, to any person
20 * obtaining a copy of this software and associated documentation
21 * files (the "Software"), to deal in the Software without
22 * restriction, including without limitation the rights to use,
23 * copy, modify, merge, publish, distribute, sublicense, and/or
24 * sell copies of the Software, and to permit persons to whom the
25 * Software is furnished to do so, subject to the following
26 * conditions:
27 *
28 * The above copyright notice and this permission notice shall be
29 * included in all copies or substantial portions of the Software.
30 *
31 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
33 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
35 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
36 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
38 * OTHER DEALINGS IN THE SOFTWARE.
39 */ 8 */
40 9
41/dts-v1/; 10/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-395.dtsi b/arch/arm/boot/dts/armada-395.dtsi
index bf7e4335e36a..e18a7d9cd7d4 100644
--- a/arch/arm/boot/dts/armada-395.dtsi
+++ b/arch/arm/boot/dts/armada-395.dtsi
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 395 SoC. 3 * Device Tree Include file for Marvell Armada 395 SoC.
3 * 4 *
4 * Copyright (C) 2016 Marvell 5 * Copyright (C) 2016 Marvell
5 * 6 *
6 * Grzegorz Jaszczyk <jaz@semihalf.com> 7 * Grzegorz Jaszczyk <jaz@semihalf.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47#include "armada-39x.dtsi" 10#include "armada-39x.dtsi"
diff --git a/arch/arm/boot/dts/armada-398-db.dts b/arch/arm/boot/dts/armada-398-db.dts
index f0e0379f7619..2337f24784f7 100644
--- a/arch/arm/boot/dts/armada-398-db.dts
+++ b/arch/arm/boot/dts/armada-398-db.dts
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 398 Development Board 3 * Device Tree Include file for Marvell Armada 398 Development Board
3 * 4 *
4 * Copyright (C) 2015 Marvell 5 * Copyright (C) 2015 Marvell
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47/dts-v1/; 10/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-398.dtsi b/arch/arm/boot/dts/armada-398.dtsi
index 1f4e113fc821..c5ac89399ce1 100644
--- a/arch/arm/boot/dts/armada-398.dtsi
+++ b/arch/arm/boot/dts/armada-398.dtsi
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 398 SoC. 3 * Device Tree Include file for Marvell Armada 398 SoC.
3 * 4 *
4 * Copyright (C) 2015 Marvell 5 * Copyright (C) 2015 Marvell
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47#include "armada-395.dtsi" 10#include "armada-395.dtsi"
diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
index 5218bd2a248d..c1737c0a8325 100644
--- a/arch/arm/boot/dts/armada-39x.dtsi
+++ b/arch/arm/boot/dts/armada-39x.dtsi
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 39x family of SoCs. 3 * Device Tree Include file for Marvell Armada 39x family of SoCs.
3 * 4 *
4 * Copyright (C) 2015 Marvell 5 * Copyright (C) 2015 Marvell
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47#include "skeleton.dtsi" 10#include "skeleton.dtsi"
diff --git a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
index bdd4c7a45fbf..a5da44fb35ed 100644
--- a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
+++ b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell 98dx3236 family SoC 3 * Device Tree Include file for Marvell 98dx3236 family SoC
3 * 4 *
4 * Copyright (C) 2016 Allied Telesis Labs 5 * Copyright (C) 2016 Allied Telesis Labs
5 * 6 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 *
44 * Contains definitions specific to the 98dx3236 SoC that are not 7 * Contains definitions specific to the 98dx3236 SoC that are not
45 * common to all Armada XP SoCs. 8 * common to all Armada XP SoCs.
46 */ 9 */
diff --git a/arch/arm/boot/dts/armada-xp-98dx3336.dtsi b/arch/arm/boot/dts/armada-xp-98dx3336.dtsi
index a0d81bd7312b..2f5fc67dd6dc 100644
--- a/arch/arm/boot/dts/armada-xp-98dx3336.dtsi
+++ b/arch/arm/boot/dts/armada-xp-98dx3336.dtsi
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell 98dx3336 family SoC 3 * Device Tree Include file for Marvell 98dx3336 family SoC
3 * 4 *
4 * Copyright (C) 2016 Allied Telesis Labs 5 * Copyright (C) 2016 Allied Telesis Labs
5 * 6 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 *
44 * Contains definitions specific to the 98dx3236 SoC that are not 7 * Contains definitions specific to the 98dx3236 SoC that are not
45 * common to all Armada XP SoCs. 8 * common to all Armada XP SoCs.
46 */ 9 */
diff --git a/arch/arm/boot/dts/armada-xp-98dx4251.dtsi b/arch/arm/boot/dts/armada-xp-98dx4251.dtsi
index bc9f824020eb..7a9e8839880b 100644
--- a/arch/arm/boot/dts/armada-xp-98dx4251.dtsi
+++ b/arch/arm/boot/dts/armada-xp-98dx4251.dtsi
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell 98dx4521 family SoC 3 * Device Tree Include file for Marvell 98dx4521 family SoC
3 * 4 *
4 * Copyright (C) 2016 Allied Telesis Labs 5 * Copyright (C) 2016 Allied Telesis Labs
5 * 6 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 *
44 * Contains definitions specific to the 98dx4521 SoC that are not 7 * Contains definitions specific to the 98dx4521 SoC that are not
45 * common to all Armada XP SoCs. 8 * common to all Armada XP SoCs.
46 */ 9 */
diff --git a/arch/arm/boot/dts/armada-xp-axpwifiap.dts b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
index d0c6a01f48a6..606fd3476a59 100644
--- a/arch/arm/boot/dts/armada-xp-axpwifiap.dts
+++ b/arch/arm/boot/dts/armada-xp-axpwifiap.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell RD-AXPWiFiAP. 3 * Device Tree file for Marvell RD-AXPWiFiAP.
3 * 4 *
@@ -9,44 +10,6 @@
9 * Copyright (C) 2013 Marvell 10 * Copyright (C) 2013 Marvell
10 * 11 *
11 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 12 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
12 *
13 * This file is dual-licensed: you can use it either under the terms
14 * of the GPL or the X11 license, at your option. Note that this dual
15 * licensing only applies to this file, and not this project as a
16 * whole.
17 *
18 * a) This file is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License as
20 * published by the Free Software Foundation; either version 2 of the
21 * License, or (at your option) any later version.
22 *
23 * This file is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU General Public License for more details.
27 *
28 * Or, alternatively,
29 *
30 * b) Permission is hereby granted, free of charge, to any person
31 * obtaining a copy of this software and associated documentation
32 * files (the "Software"), to deal in the Software without
33 * restriction, including without limitation the rights to use,
34 * copy, modify, merge, publish, distribute, sublicense, and/or
35 * sell copies of the Software, and to permit persons to whom the
36 * Software is furnished to do so, subject to the following
37 * conditions:
38 *
39 * The above copyright notice and this permission notice shall be
40 * included in all copies or substantial portions of the Software.
41 *
42 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
43 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
44 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
45 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
46 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
47 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
48 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
49 * OTHER DEALINGS IN THE SOFTWARE.
50 */ 13 */
51 14
52/dts-v1/; 15/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-xp-db-dxbc2.dts b/arch/arm/boot/dts/armada-xp-db-dxbc2.dts
index 1b1ff17fdd9c..4c64923f1c52 100644
--- a/arch/arm/boot/dts/armada-xp-db-dxbc2.dts
+++ b/arch/arm/boot/dts/armada-xp-db-dxbc2.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for DB-DXBC2 board 3 * Device Tree file for DB-DXBC2 board
3 * 4 *
@@ -5,44 +6,6 @@
5 * 6 *
6 * Based on armada-xp-db.dts 7 * Based on armada-xp-db.dts
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 *
46 * Note: this Device Tree assumes that the bootloader has remapped the 9 * Note: this Device Tree assumes that the bootloader has remapped the
47 * internal registers to 0xf1000000 (instead of the default 10 * internal registers to 0xf1000000 (instead of the default
48 * 0xd0000000). The 0xf1000000 is the default used by the recent, 11 * 0xd0000000). The 0xf1000000 is the default used by the recent,
diff --git a/arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts b/arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts
index 06fce35d7491..a0ebb52683f1 100644
--- a/arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts
+++ b/arch/arm/boot/dts/armada-xp-db-xc3-24g4xg.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for DB-XC3-24G4XG board 3 * Device Tree file for DB-XC3-24G4XG board
3 * 4 *
@@ -5,44 +6,6 @@
5 * 6 *
6 * Based on armada-xp-db.dts 7 * Based on armada-xp-db.dts
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 *
46 * Note: this Device Tree assumes that the bootloader has remapped the 9 * Note: this Device Tree assumes that the bootloader has remapped the
47 * internal registers to 0xf1000000 (instead of the default 10 * internal registers to 0xf1000000 (instead of the default
48 * 0xd0000000). The 0xf1000000 is the default used by the recent, 11 * 0xd0000000). The 0xf1000000 is the default used by the recent,
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
index 065282c21789..73d3f5cb9828 100644
--- a/arch/arm/boot/dts/armada-xp-db.dts
+++ b/arch/arm/boot/dts/armada-xp-db.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada XP evaluation board 3 * Device Tree file for Marvell Armada XP evaluation board
3 * (DB-78460-BP) 4 * (DB-78460-BP)
@@ -8,43 +9,6 @@
8 * Gregory CLEMENT <gregory.clement@free-electrons.com> 9 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 10 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10 * 11 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * This file is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 * 12 *
49 * Note: this Device Tree assumes that the bootloader has remapped the 13 * Note: this Device Tree assumes that the bootloader has remapped the
50 * internal registers to 0xf1000000 (instead of the default 14 * internal registers to 0xf1000000 (instead of the default
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
index ac9eab8ac186..c143556bbb7b 100644
--- a/arch/arm/boot/dts/armada-xp-gp.dts
+++ b/arch/arm/boot/dts/armada-xp-gp.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada XP development board 3 * Device Tree file for Marvell Armada XP development board
3 * (DB-MV784MP-GP) 4 * (DB-MV784MP-GP)
@@ -8,44 +9,6 @@
8 * Gregory CLEMENT <gregory.clement@free-electrons.com> 9 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 10 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10 * 11 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * This file is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 *
49 * Note: this Device Tree assumes that the bootloader has remapped the 12 * Note: this Device Tree assumes that the bootloader has remapped the
50 * internal registers to 0xf1000000 (instead of the default 13 * internal registers to 0xf1000000 (instead of the default
51 * 0xd0000000). The 0xf1000000 is the default used by the recent, 14 * 0xd0000000). The 0xf1000000 is the default used by the recent,
diff --git a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
index ce0afba1ce58..def62e9e835b 100644
--- a/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
+++ b/arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Lenovo Iomega ix4-300d 3 * Device Tree file for Lenovo Iomega ix4-300d
3 * 4 *
4 * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com> 5 * Copyright (C) 2014, Benoit Masson <yahoo@perenite.com>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
index 6d705f518254..f8b60d937818 100644
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
1/* 2/*
2 * Device Tree file for the Linksys WRT1900AC (Mamba). 3 * Device Tree file for the Linksys WRT1900AC (Mamba).
3 * 4 *
@@ -13,38 +14,6 @@
13 * Copyright (C) 2013 Marvell 14 * Copyright (C) 2013 Marvell
14 * 15 *
15 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 16 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
16 *
17 * This file is dual-licensed: you can use it either under the terms
18 * of the GPL or the X11 license, at your option. Note that this dual
19 * licensing only applies to this file, and not this project as a
20 * whole.
21 *
22 * a) This file is licensed under the terms of the GNU General Public
23 * License version 2. This program is licensed "as is" without
24 * any warranty of any kind, whether express or implied.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 */ 17 */
49 18
50/dts-v1/; 19/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-xp-matrix.dts b/arch/arm/boot/dts/armada-xp-matrix.dts
index 977f6b3fc1f8..1395cea12759 100644
--- a/arch/arm/boot/dts/armada-xp-matrix.dts
+++ b/arch/arm/boot/dts/armada-xp-matrix.dts
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada XP Matrix board 3 * Device Tree file for Marvell Armada XP Matrix board
3 * 4 *
4 * Copyright (C) 2013 Marvell 5 * Copyright (C) 2013 Marvell
5 * 6 *
6 * Lior Amsalem <alior@marvell.com> 7 * Lior Amsalem <alior@marvell.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47/dts-v1/; 10/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi
index 129738f7973d..8558bf6bb54c 100644
--- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada XP family SoC 3 * Device Tree Include file for Marvell Armada XP family SoC
3 * 4 *
@@ -5,44 +6,6 @@
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 *
46 * Contains definitions specific to the Armada XP MV78230 SoC that are not 9 * Contains definitions specific to the Armada XP MV78230 SoC that are not
47 * common to all Armada XP SoCs. 10 * common to all Armada XP SoCs.
48 */ 11 */
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index e58d597e37b9..2d85fe8ac327 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada XP family SoC 3 * Device Tree Include file for Marvell Armada XP family SoC
3 * 4 *
@@ -5,44 +6,6 @@
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 *
46 * Contains definitions specific to the Armada XP MV78260 SoC that are not 9 * Contains definitions specific to the Armada XP MV78260 SoC that are not
47 * common to all Armada XP SoCs. 10 * common to all Armada XP SoCs.
48 */ 11 */
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
index a5c961cee7de..230a3fd36b30 100644
--- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada XP family SoC 3 * Device Tree Include file for Marvell Armada XP family SoC
3 * 4 *
@@ -5,44 +6,6 @@
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 *
46 * Contains definitions specific to the Armada XP MV78460 SoC that are not 9 * Contains definitions specific to the Armada XP MV78460 SoC that are not
47 * common to all Armada XP SoCs. 10 * common to all Armada XP SoCs.
48 */ 11 */
diff --git a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
index 40c6fe21e720..c350b1cf5201 100644
--- a/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
+++ b/arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for NETGEAR ReadyNAS 2120 3 * Device Tree file for NETGEAR ReadyNAS 2120
3 * 4 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
@@ -115,7 +78,7 @@
115 reg = <0x4c>; 78 reg = <0x4c>;
116 }; 79 };
117 80
118 isl12057: isl12057@68 { 81 isl12057: rtc@68 {
119 compatible = "isil,isl12057"; 82 compatible = "isil,isl12057";
120 reg = <0x68>; 83 reg = <0x68>;
121 wakeup-source; 84 wakeup-source;
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
index 66b78131a038..0efcc166dabf 100644
--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for OpenBlocks AX3-4 board 3 * Device Tree file for OpenBlocks AX3-4 board
3 * 4 *
4 * Copyright (C) 2012 Marvell 5 * Copyright (C) 2012 Marvell
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47/dts-v1/; 10/dts-v1/;
diff --git a/arch/arm/boot/dts/armada-xp-synology-ds414.dts b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
index d7228a5461c8..809e821d7399 100644
--- a/arch/arm/boot/dts/armada-xp-synology-ds414.dts
+++ b/arch/arm/boot/dts/armada-xp-synology-ds414.dts
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Synology DS414 3 * Device Tree file for Synology DS414
3 * 4 *
4 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>
5 * 6 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This file is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This file is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 *
44 * Note: this Device Tree assumes that the bootloader has remapped the 7 * Note: this Device Tree assumes that the bootloader has remapped the
45 * internal registers to 0xf1000000 (instead of the old 0xd0000000). 8 * internal registers to 0xf1000000 (instead of the old 0xd0000000).
46 * The 0xf1000000 is the default used by the recent, DT-capable, U-Boot 9 * The 0xf1000000 is the default used by the recent, DT-capable, U-Boot
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index fa1e881266ac..ee15c77d3689 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada XP family SoC 3 * Device Tree Include file for Marvell Armada XP family SoC
3 * 4 *
@@ -8,44 +9,6 @@
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 * Ben Dooks <ben.dooks@codethink.co.uk> 10 * Ben Dooks <ben.dooks@codethink.co.uk>
10 * 11 *
11 * This file is dual-licensed: you can use it either under the terms
12 * of the GPL or the X11 license, at your option. Note that this dual
13 * licensing only applies to this file, and not this project as a
14 * whole.
15 *
16 * a) This file is free software; you can redistribute it and/or
17 * modify it under the terms of the GNU General Public License as
18 * published by the Free Software Foundation; either version 2 of the
19 * License, or (at your option) any later version.
20 *
21 * This file is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * Or, alternatively,
27 *
28 * b) Permission is hereby granted, free of charge, to any person
29 * obtaining a copy of this software and associated documentation
30 * files (the "Software"), to deal in the Software without
31 * restriction, including without limitation the rights to use,
32 * copy, modify, merge, publish, distribute, sublicense, and/or
33 * sell copies of the Software, and to permit persons to whom the
34 * Software is furnished to do so, subject to the following
35 * conditions:
36 *
37 * The above copyright notice and this permission notice shall be
38 * included in all copies or substantial portions of the Software.
39 *
40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47 * OTHER DEALINGS IN THE SOFTWARE.
48 *
49 * Contains definitions specific to the Armada XP SoC that are not 12 * Contains definitions specific to the Armada XP SoC that are not
50 * common to all Armada SoCs. 13 * common to all Armada SoCs.
51 */ 14 */
diff --git a/arch/arm/boot/dts/artpec6-devboard.dts b/arch/arm/boot/dts/artpec6-devboard.dts
index 9dfe845694cf..d20d95359b28 100644
--- a/arch/arm/boot/dts/artpec6-devboard.dts
+++ b/arch/arm/boot/dts/artpec6-devboard.dts
@@ -26,7 +26,7 @@
26 26
27 memory { 27 memory {
28 device_type = "memory"; 28 device_type = "memory";
29 reg = <0x0 0x10000000>; 29 reg = <0x0 0x40000000>;
30 }; 30 };
31}; 31};
32 32
@@ -59,6 +59,7 @@
59 mdio { 59 mdio {
60 #address-cells = <0x1>; 60 #address-cells = <0x1>;
61 #size-cells = <0x0>; 61 #size-cells = <0x0>;
62 compatible = "snps,dwmac-mdio";
62 phy1: phy@0 { 63 phy1: phy@0 {
63 compatible = "ethernet-phy-ieee802.3-c22"; 64 compatible = "ethernet-phy-ieee802.3-c22";
64 device_type = "ethernet-phy"; 65 device_type = "ethernet-phy";
diff --git a/arch/arm/boot/dts/artpec6.dtsi b/arch/arm/boot/dts/artpec6.dtsi
index 2ed11773048d..3e4115c2cd75 100644
--- a/arch/arm/boot/dts/artpec6.dtsi
+++ b/arch/arm/boot/dts/artpec6.dtsi
@@ -41,6 +41,7 @@
41 */ 41 */
42 42
43#include <dt-bindings/interrupt-controller/arm-gic.h> 43#include <dt-bindings/interrupt-controller/arm-gic.h>
44#include <dt-bindings/dma/nbpfaxi.h>
44#include <dt-bindings/clock/axis,artpec6-clkctrl.h> 45#include <dt-bindings/clock/axis,artpec6-clkctrl.h>
45#include "skeleton.dtsi" 46#include "skeleton.dtsi"
46 47
@@ -98,7 +99,7 @@
98 clock-frequency = <125000000>; 99 clock-frequency = <125000000>;
99 }; 100 };
100 101
101 clkctrl: clkctrl@0xf8000000 { 102 clkctrl: clkctrl@f8000000 {
102 #clock-cells = <1>; 103 #clock-cells = <1>;
103 compatible = "axis,artpec6-clkctrl"; 104 compatible = "axis,artpec6-clkctrl";
104 reg = <0xf8000000 0x48>; 105 reg = <0xf8000000 0x48>;
@@ -153,6 +154,10 @@
153 interrupt-affinity = <&cpu0>, <&cpu1>; 154 interrupt-affinity = <&cpu0>, <&cpu1>;
154 }; 155 };
155 156
157 /*
158 * Both pci nodes cannot be enabled at the same time,
159 * leave the unwanted node as disabled.
160 */
156 pcie: pcie@f8050000 { 161 pcie: pcie@f8050000 {
157 compatible = "axis,artpec6-pcie", "snps,dw-pcie"; 162 compatible = "axis,artpec6-pcie", "snps,dw-pcie";
158 reg = <0xf8050000 0x2000 163 reg = <0xf8050000 0x2000
@@ -180,28 +185,146 @@
180 status = "disabled"; 185 status = "disabled";
181 }; 186 };
182 187
188 pcie_ep: pcie_ep@f8050000 {
189 compatible = "axis,artpec6-pcie-ep", "snps,dw-pcie";
190 reg = <0xf8050000 0x2000
191 0xf8051000 0x2000
192 0xf8040000 0x1000
193 0xc0000000 0x20000000>;
194 reg-names = "dbi", "dbi2", "phy", "addr_space";
195 num-ib-windows = <6>;
196 num-ob-windows = <2>;
197 num-lanes = <2>;
198 axis,syscon-pcie = <&syscon>;
199 status = "disabled";
200 };
201
202 pinctrl: pinctrl@f801d000 {
203 compatible = "axis,artpec6-pinctrl";
204 reg = <0xf801d000 0x400>;
205
206 pinctrl_uart0: uart0grp {
207 function = "uart0";
208 groups = "uart0grp2";
209 bias-pull-up;
210 };
211 pinctrl_uart1: uart1grp {
212 function = "uart1";
213 groups = "uart1grp0";
214 bias-pull-up;
215 };
216 pinctrl_uart2: uart2grp {
217 function = "uart2";
218 groups = "uart2grp1";
219 bias-pull-up;
220 };
221 pinctrl_uart3: uart3grp {
222 function = "uart3";
223 groups = "uart3grp0";
224 bias-pull-up;
225 };
226 };
227
183 amba@0 { 228 amba@0 {
184 compatible = "simple-bus"; 229 compatible = "simple-bus";
185 #address-cells = <0x1>; 230 #address-cells = <0x1>;
186 #size-cells = <0x1>; 231 #size-cells = <0x1>;
187 ranges; 232 ranges;
188 dma-ranges = <0x80000000 0x00000000 0x40000000>; 233 dma-ranges;
189 dma-coherent; 234
235 crypto@f4264000 {
236 compatible = "axis,artpec6-crypto";
237 reg = <0xf4264000 0x4000>;
238 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
239 };
240
241 dma0: dma@f8019000 {
242 compatible = "renesas,nbpfaxi64dmac8b16";
243 reg = <0xf8019000 0x400>;
244 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* error */
245 <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
246 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
247 <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
248 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
249 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
250 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
251 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
252 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
253 interrupt-names = "error",
254 "ch0", "ch1", "ch2", "ch3",
255 "ch4", "ch5", "ch6", "ch7",
256 "ch8", "ch9", "ch10", "ch12",
257 "ch12", "ch13", "ch14", "ch15";
258 clocks = <&clkctrl ARTPEC6_CLK_DMA_ACLK>;
259 #dma-cells = <2>;
260 dma-channels = <8>;
261 dma-requests = <8>;
262 };
263 dma1: dma@f8019400 {
264 compatible = "renesas,nbpfaxi64dmac8b16";
265 reg = <0xf8019400 0x400>;
266 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>, /* error */
267 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
268 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
269 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
270 <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
271 <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
272 <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
273 <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
274 <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
275 interrupt-names = "error",
276 "ch0", "ch1", "ch2", "ch3",
277 "ch4", "ch5", "ch6", "ch7",
278 "ch8", "ch9", "ch10", "ch12",
279 "ch12", "ch13", "ch14", "ch15";
280 clocks = <&clkctrl ARTPEC6_CLK_DMA_ACLK>;
281 #dma-cells = <2>;
282 dma-channels = <8>;
283 dma-requests = <8>;
284 };
190 285
191 ethernet: ethernet@f8010000 { 286 ethernet: ethernet@f8010000 {
192 clock-names = "phy_ref_clk", "apb_pclk"; 287 clock-names = "stmmaceth", "ptp_ref";
193 clocks = <&eth_phy_ref_clk>, 288 clocks = <&clkctrl ARTPEC6_CLK_ETH_ACLK>,
194 <&clkctrl ARTPEC6_CLK_ETH_ACLK>; 289 <&clkctrl ARTPEC6_CLK_PTP_REF>;
195 compatible = "snps,dwc-qos-ethernet-4.10"; 290 compatible = "snps,dwmac-4.10a", "snps,dwmac";
196 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 291 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
292 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
293 interrupt-names = "macirq", "eth_lpi";
197 reg = <0xf8010000 0x4000>; 294 reg = <0xf8010000 0x4000>;
198 295
199 snps,write-requests = <2>; 296 snps,axi-config = <&stmmac_axi_setup>;
200 snps,read-requests = <16>; 297 snps,mtl-rx-config = <&mtl_rx_setup>;
298 snps,mtl-tx-config = <&mtl_tx_setup>;
299
201 snps,txpbl = <8>; 300 snps,txpbl = <8>;
202 snps,rxpbl = <2>; 301 snps,rxpbl = <2>;
302 snps,aal;
303 snps,tso;
203 304
204 status = "disabled"; 305 status = "disabled";
306
307 stmmac_axi_setup: stmmac-axi-config {
308 snps,wr_osr_lmt = <1>;
309 snps,rd_osr_lmt = <15>;
310 /* If FB is disabled, the AXI master chooses
311 * a burst length of any value less than the
312 * maximum enabled burst length
313 * (all lesser burst length enables are redundant).
314 */
315 snps,blen = <0 0 0 0 16 0 0>;
316 };
317
318 mtl_rx_setup: rx-queues-config {
319 snps,rx-queues-to-use = <1>;
320 queue0 {};
321 };
322
323 mtl_tx_setup: tx-queues-config {
324 snps,tx-queues-to-use = <2>;
325 queue0 {};
326 queue1 {};
327 };
205 }; 328 };
206 329
207 uart0: serial@f8036000 { 330 uart0: serial@f8036000 {
@@ -211,6 +334,11 @@
211 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>, 334 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
212 <&clkctrl ARTPEC6_CLK_UART_PCLK>; 335 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
213 clock-names = "uart_clk", "apb_pclk"; 336 clock-names = "uart_clk", "apb_pclk";
337 pinctrl-names = "default";
338 pinctrl-0 = <&pinctrl_uart0>;
339 dmas = <&dma0 4 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
340 <&dma0 5 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
341 dma-names = "rx", "tx";
214 status = "disabled"; 342 status = "disabled";
215 }; 343 };
216 uart1: serial@f8037000 { 344 uart1: serial@f8037000 {
@@ -220,6 +348,11 @@
220 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>, 348 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
221 <&clkctrl ARTPEC6_CLK_UART_PCLK>; 349 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
222 clock-names = "uart_clk", "apb_pclk"; 350 clock-names = "uart_clk", "apb_pclk";
351 pinctrl-names = "default";
352 pinctrl-0 = <&pinctrl_uart1>;
353 dmas = <&dma0 6 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
354 <&dma0 7 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
355 dma-names = "rx", "tx";
223 status = "disabled"; 356 status = "disabled";
224 }; 357 };
225 uart2: serial@f8038000 { 358 uart2: serial@f8038000 {
@@ -229,6 +362,11 @@
229 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>, 362 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
230 <&clkctrl ARTPEC6_CLK_UART_PCLK>; 363 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
231 clock-names = "uart_clk", "apb_pclk"; 364 clock-names = "uart_clk", "apb_pclk";
365 pinctrl-names = "default";
366 pinctrl-0 = <&pinctrl_uart2>;
367 dmas = <&dma1 0 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
368 <&dma1 1 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
369 dma-names = "rx", "tx";
232 status = "disabled"; 370 status = "disabled";
233 }; 371 };
234 uart3: serial@f8039000 { 372 uart3: serial@f8039000 {
@@ -238,6 +376,11 @@
238 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>, 376 clocks = <&clkctrl ARTPEC6_CLK_UART_REFCLK>,
239 <&clkctrl ARTPEC6_CLK_UART_PCLK>; 377 <&clkctrl ARTPEC6_CLK_UART_PCLK>;
240 clock-names = "uart_clk", "apb_pclk"; 378 clock-names = "uart_clk", "apb_pclk";
379 pinctrl-names = "default";
380 pinctrl-0 = <&pinctrl_uart3>;
381 dmas = <&dma1 2 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>,
382 <&dma1 3 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>;
383 dma-names = "rx", "tx";
241 status = "disabled"; 384 status = "disabled";
242 }; 385 };
243 }; 386 };
diff --git a/arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dts b/arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dts
new file mode 100644
index 000000000000..df1227613d48
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed-bmc-arm-centriq2400-rep.dts
@@ -0,0 +1,225 @@
1// SPDX-License-Identifier: GPL-2.0+
2/dts-v1/;
3
4#include "aspeed-g5.dtsi"
5#include <dt-bindings/gpio/aspeed-gpio.h>
6
7/ {
8 model = "Qualcomm Centriq 2400 REP AST2520";
9 compatible = "qualcomm,centriq2400-rep-bmc", "aspeed,ast2500";
10
11 chosen {
12 stdout-path = &uart5;
13 bootargs = "console=ttyS4,115200 earlyprintk";
14 };
15
16 memory {
17 reg = <0x80000000 0x40000000>;
18 };
19
20 iio-hwmon {
21 compatible = "iio-hwmon";
22 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
23 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 8>;
24 };
25
26 iio-hwmon-battery {
27 compatible = "iio-hwmon";
28 io-channels = <&adc 7>;
29 };
30
31 leds {
32 compatible = "gpio-leds";
33
34 uid_led {
35 label = "UID_LED";
36 gpios = <&gpio ASPEED_GPIO(Q, 5) GPIO_ACTIVE_LOW>;
37 };
38
39 ras_error_led {
40 label = "RAS_ERROR_LED";
41 gpios = <&gpio ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
42 };
43
44 system_fault {
45 label = "System_fault";
46 gpios = <&gpio ASPEED_GPIO(A, 1) GPIO_ACTIVE_LOW>;
47 };
48 };
49};
50
51&fmc {
52 status = "okay";
53 flash@0 {
54 status = "okay";
55 m25p,fast-read;
56 label = "bmc";
57#include "openbmc-flash-layout.dtsi"
58 };
59};
60
61&spi1 {
62 status = "okay";
63 pinctrl-names = "default";
64 pinctrl-0 = <&pinctrl_spi1_default>;
65 flash@0 {
66 status = "okay";
67 };
68};
69
70&spi2 {
71 pinctrl-names = "default";
72 pinctrl-0 = <&pinctrl_spi2ck_default
73 &pinctrl_spi2miso_default
74 &pinctrl_spi2mosi_default
75 &pinctrl_spi2cs0_default>;
76};
77
78&uart3 {
79 status = "okay";
80
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_txd3_default &pinctrl_rxd3_default>;
83 current-speed = <115200>;
84};
85
86&uart5 {
87 status = "okay";
88};
89
90&mac0 {
91 status = "okay";
92
93 pinctrl-names = "default";
94 pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
95};
96
97&i2c0 {
98 status = "okay";
99};
100
101&i2c1 {
102 status = "okay";
103
104 tmp421@1e {
105 compatible = "ti,tmp421";
106 reg = <0x1e>;
107 };
108 tmp421@2a {
109 compatible = "ti,tmp421";
110 reg = <0x2a>;
111 };
112 tmp421@4e {
113 compatible = "ti,tmp421";
114 reg = <0x4e>;
115 };
116 tmp421@1c {
117 compatible = "ti,tmp421";
118 reg = <0x1c>;
119 };
120};
121
122&i2c2 {
123 status = "okay";
124};
125
126&i2c3 {
127 status = "okay";
128};
129
130&i2c4 {
131 status = "okay";
132};
133
134&i2c5 {
135 status = "okay";
136};
137
138&i2c6 {
139 status = "okay";
140
141 tmp421@1d {
142 compatible = "ti,tmp421";
143 reg = <0x1d>;
144 };
145 tmp421@1f {
146 compatible = "ti,tmp421";
147 reg = <0x1f>;
148 };
149 tmp421@4d {
150 compatible = "ti,tmp421";
151 reg = <0x4d>;
152 };
153 tmp421@4f {
154 compatible = "ti,tmp421";
155 reg = <0x4f>;
156 };
157 nvt210@4c {
158 compatible = "nvt210";
159 reg = <0x4c>;
160 };
161 eeprom@50 {
162 compatible = "atmel,24c128";
163 reg = <0x50>;
164 pagesize = <128>;
165 };
166};
167
168&i2c7 {
169 status = "okay";
170};
171
172&i2c8 {
173 status = "okay";
174
175 pca9641@70 {
176 compatible = "nxp,pca9641";
177 reg = <0x70>;
178 i2c-arb {
179 #address-cells = <1>;
180 #size-cells = <0>;
181 tmp421@1d {
182 compatible = "tmp421";
183 reg = <0x1d>;
184 };
185 adm1278@12 {
186 compatible = "adi,adm1278";
187 reg = <0x12>;
188 Rsense = <500>;
189 };
190 eeprom@50 {
191 compatible = "atmel,24c02";
192 reg = <0x50>;
193 };
194 ds1100@58 {
195 compatible = "ds1100";
196 reg = <0x58>;
197 };
198 };
199 };
200};
201
202&i2c9 {
203 status = "okay";
204};
205
206&vuart {
207 status = "okay";
208};
209
210&gfx {
211 status = "okay";
212};
213
214&pinctrl {
215 aspeed,external-nodes = <&gfx &lhc>;
216};
217
218&gpio {
219 pin_gpio_c7 {
220 gpio-hog;
221 gpios = <ASPEED_GPIO(C, 7) GPIO_ACTIVE_HIGH>;
222 output;
223 line-name = "BIOS_SPI_MUX_S";
224 };
225};
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts b/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
index 4379d09a261f..c7084a819dc6 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-palmetto.dts
@@ -2,6 +2,7 @@
2/dts-v1/; 2/dts-v1/;
3 3
4#include "aspeed-g4.dtsi" 4#include "aspeed-g4.dtsi"
5#include <dt-bindings/gpio/aspeed-gpio.h>
5 6
6/ { 7/ {
7 model = "Palmetto BMC"; 8 model = "Palmetto BMC";
@@ -26,6 +27,32 @@
26 reg = <0x5f000000 0x01000000>; /* 16M */ 27 reg = <0x5f000000 0x01000000>; /* 16M */
27 }; 28 };
28 }; 29 };
30
31 leds {
32 compatible = "gpio-leds";
33
34 heartbeat {
35 gpios = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_LOW>;
36 };
37
38 power {
39 gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
40 };
41
42 identify {
43 gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>;
44 };
45 };
46
47 gpio-keys {
48 compatible = "gpio-keys";
49
50 checkstop {
51 label = "checkstop";
52 gpios = <&gpio ASPEED_GPIO(P, 5) GPIO_ACTIVE_LOW>;
53 linux,code = <ASPEED_GPIO(P, 5)>;
54 };
55 };
29}; 56};
30 57
31&fmc { 58&fmc {
@@ -40,6 +67,9 @@
40 67
41&spi { 68&spi {
42 status = "okay"; 69 status = "okay";
70 pinctrl-names = "default";
71 pinctrl-0 = <&pinctrl_spi1debug_default>;
72
43 flash@0 { 73 flash@0 {
44 status = "okay"; 74 status = "okay";
45 m25p,fast-read; 75 m25p,fast-read;
@@ -47,6 +77,29 @@
47 }; 77 };
48}; 78};
49 79
80&pinctrl {
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_flbusy_default &pinctrl_flwp_default
83
84 &pinctrl_vgahs_default &pinctrl_vgavs_default
85 &pinctrl_ddcclk_default &pinctrl_ddcdat_default>;
86};
87
88&uart1 {
89 /* Rear RS-232 connector */
90 status = "okay";
91
92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_txd1_default
94 &pinctrl_rxd1_default
95 &pinctrl_nrts1_default
96 &pinctrl_ndtr1_default
97 &pinctrl_ndsr1_default
98 &pinctrl_ncts1_default
99 &pinctrl_ndcd1_default
100 &pinctrl_nri1_default>;
101};
102
50&uart5 { 103&uart5 {
51 status = "okay"; 104 status = "okay";
52}; 105};
@@ -111,3 +164,156 @@
111&vuart { 164&vuart {
112 status = "okay"; 165 status = "okay";
113}; 166};
167
168&ibt {
169 status = "okay";
170};
171
172&gpio {
173 pin_func_mode0 {
174 gpio-hog;
175 gpios = <ASPEED_GPIO(C, 4) GPIO_ACTIVE_HIGH>;
176 output-low;
177 line-name = "func_mode0";
178 };
179
180 pin_func_mode1 {
181 gpio-hog;
182 gpios = <ASPEED_GPIO(C, 5) GPIO_ACTIVE_HIGH>;
183 output-low;
184 line-name = "func_mode1";
185 };
186
187 pin_func_mode2 {
188 gpio-hog;
189 gpios = <ASPEED_GPIO(C, 6) GPIO_ACTIVE_HIGH>;
190 output-low;
191 line-name = "func_mode2";
192 };
193
194 pin_gpio_a0 {
195 gpio-hog;
196 gpios = <ASPEED_GPIO(A, 0) GPIO_ACTIVE_HIGH>;
197 input;
198 line-name = "BMC_FAN_RESERVED_N";
199 };
200
201 pin_gpio_a1 {
202 gpio-hog;
203 gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_HIGH>;
204 output-high;
205 line-name = "APSS_WDT_N";
206 };
207
208 pin_gpio_b1 {
209 gpio-hog;
210 gpios = <ASPEED_GPIO(B, 1) GPIO_ACTIVE_HIGH>;
211 output-high;
212 line-name = "APSS_BOOT_MODE";
213 };
214
215 pin_gpio_b2 {
216 gpio-hog;
217 gpios = <ASPEED_GPIO(B, 2) GPIO_ACTIVE_HIGH>;
218 output-high;
219 line-name = "APSS_RESET_N";
220 };
221
222 pin_gpio_b7 {
223 gpio-hog;
224 gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_HIGH>;
225 output-high;
226 line-name = "SPIVID_STBY_RESET_N";
227 };
228
229 pin_gpio_d1 {
230 gpio-hog;
231 gpios = <ASPEED_GPIO(D, 1) GPIO_ACTIVE_HIGH>;
232 output-high;
233 line-name = "BMC_POWER_UP";
234 };
235
236 pin_gpio_f1 {
237 gpio-hog;
238 gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>;
239 input;
240 line-name = "BMC_BATTERY_TEST";
241 };
242
243 pin_gpio_f4 {
244 gpio-hog;
245 gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>;
246 input;
247 line-name = "AST_HW_FAULT_N";
248 };
249
250 pin_gpio_f5 {
251 gpio-hog;
252 gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>;
253 input;
254 line-name = "AST_SYS_FAULT_N";
255 };
256
257 pin_gpio_f7 {
258 gpio-hog;
259 gpios = <ASPEED_GPIO(F, 7) GPIO_ACTIVE_HIGH>;
260 output-high;
261 line-name = "BMC_FULL_SPEED_N";
262 };
263
264 pin_gpio_g3 {
265 gpio-hog;
266 gpios = <ASPEED_GPIO(G, 3) GPIO_ACTIVE_HIGH>;
267 output-high;
268 line-name = "BMC_FAN_ERROR_N";
269 };
270
271 pin_gpio_g4 {
272 gpio-hog;
273 gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>;
274 input;
275 line-name = "BMC_WDT_RST1_P";
276 };
277
278 pin_gpio_g5 {
279 gpio-hog;
280 gpios = <ASPEED_GPIO(G, 5) GPIO_ACTIVE_HIGH>;
281 input;
282 line-name = "BMC_WDT_RST2_P";
283 };
284
285 pin_gpio_h0 {
286 gpio-hog;
287 gpios = <ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>;
288 input;
289 line-name = "PE_SLOT_TEST_EN_N";
290 };
291
292 pin_gpio_h1 {
293 gpio-hog;
294 gpios = <ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
295 input;
296 line-name = "BMC_RTCRST_N";
297 };
298
299 pin_gpio_h2 {
300 gpio-hog;
301 gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
302 output-high;
303 line-name = "SYS_PWROK_BMC";
304 };
305
306 pin_gpio_h6 {
307 gpio-hog;
308 gpios = <ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
309 output-high;
310 line-name = "SCM1_FSI0_DATA_EN";
311 };
312
313 pin_gpio_h7 {
314 gpio-hog;
315 gpios = <ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
316 output-high;
317 line-name = "BMC_TPM_INT_N";
318 };
319};
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts b/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
index 623b6ab42021..51bc6a2e9dd5 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
@@ -184,9 +184,9 @@
184&i2c12 { 184&i2c12 {
185 status = "okay"; 185 status = "okay";
186 186
187 max31785@52 { 187 w83773g@4c {
188 compatible = "maxim,max31785"; 188 compatible = "nuvoton,w83773g";
189 reg = <0x52>; 189 reg = <0x4c>;
190 }; 190 };
191}; 191};
192 192
@@ -203,6 +203,12 @@
203 output-low; 203 output-low;
204 line-name = "nic_func_mode1"; 204 line-name = "nic_func_mode1";
205 }; 205 };
206 seq_cont {
207 gpio-hog;
208 gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
209 output-low;
210 line-name = "seq_cont";
211 };
206}; 212};
207 213
208&vuart { 214&vuart {
@@ -257,3 +263,7 @@
257 aspeed,fan-tach-ch = /bits/ 8 <0x0e>; 263 aspeed,fan-tach-ch = /bits/ 8 <0x0e>;
258 }; 264 };
259}; 265};
266
267&ibt {
268 status = "okay";
269};
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
index 5f9049d2c4c3..7056231cbee6 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts
@@ -546,3 +546,7 @@
546 pinctrl-names = "default"; 546 pinctrl-names = "default";
547 pinctrl-0 = <&pinctrl_wdtrst1_default>; 547 pinctrl-0 = <&pinctrl_wdtrst1_default>;
548}; 548};
549
550&ibt {
551 status = "okay";
552};
diff --git a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
index c881484a85cf..ebe726a0d311 100644
--- a/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
+++ b/arch/arm/boot/dts/aspeed-bmc-opp-zaius.dts
@@ -424,3 +424,7 @@
424 aspeed,fan-tach-ch = /bits/ 8 <0x03>; 424 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
425 }; 425 };
426}; 426};
427
428&ibt {
429 status = "okay";
430};
diff --git a/arch/arm/boot/dts/aspeed-g4.dtsi b/arch/arm/boot/dts/aspeed-g4.dtsi
index ae2b8c952e80..518d2bc7c7fc 100644
--- a/arch/arm/boot/dts/aspeed-g4.dtsi
+++ b/arch/arm/boot/dts/aspeed-g4.dtsi
@@ -167,6 +167,7 @@
167 reg-shift = <2>; 167 reg-shift = <2>;
168 interrupts = <9>; 168 interrupts = <9>;
169 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>; 169 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
170 resets = <&lpc_reset 4>;
170 no-loopback-test; 171 no-loopback-test;
171 status = "disabled"; 172 status = "disabled";
172 }; 173 };
@@ -238,6 +239,7 @@
238 lpc_ctrl: lpc-ctrl@0 { 239 lpc_ctrl: lpc-ctrl@0 {
239 compatible = "aspeed,ast2400-lpc-ctrl"; 240 compatible = "aspeed,ast2400-lpc-ctrl";
240 reg = <0x0 0x80>; 241 reg = <0x0 0x80>;
242 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
241 status = "disabled"; 243 status = "disabled";
242 }; 244 };
243 245
@@ -252,6 +254,19 @@
252 compatible = "aspeed,ast2400-lhc"; 254 compatible = "aspeed,ast2400-lhc";
253 reg = <0x20 0x24 0x48 0x8>; 255 reg = <0x20 0x24 0x48 0x8>;
254 }; 256 };
257
258 lpc_reset: reset-controller@18 {
259 compatible = "aspeed,ast2400-lpc-reset";
260 reg = <0x18 0x4>;
261 #reset-cells = <1>;
262 };
263
264 ibt: ibt@c0 {
265 compatible = "aspeed,ast2400-ibt-bmc";
266 reg = <0xc0 0x18>;
267 interrupts = <8>;
268 status = "disabled";
269 };
255 }; 270 };
256 }; 271 };
257 272
@@ -261,6 +276,7 @@
261 reg-shift = <2>; 276 reg-shift = <2>;
262 interrupts = <32>; 277 interrupts = <32>;
263 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>; 278 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
279 resets = <&lpc_reset 5>;
264 no-loopback-test; 280 no-loopback-test;
265 status = "disabled"; 281 status = "disabled";
266 }; 282 };
@@ -271,6 +287,7 @@
271 reg-shift = <2>; 287 reg-shift = <2>;
272 interrupts = <33>; 288 interrupts = <33>;
273 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>; 289 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
290 resets = <&lpc_reset 6>;
274 no-loopback-test; 291 no-loopback-test;
275 status = "disabled"; 292 status = "disabled";
276 }; 293 };
@@ -281,6 +298,7 @@
281 reg-shift = <2>; 298 reg-shift = <2>;
282 interrupts = <34>; 299 interrupts = <34>;
283 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>; 300 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
301 resets = <&lpc_reset 7>;
284 no-loopback-test; 302 no-loopback-test;
285 status = "disabled"; 303 status = "disabled";
286 }; 304 };
diff --git a/arch/arm/boot/dts/aspeed-g5.dtsi b/arch/arm/boot/dts/aspeed-g5.dtsi
index 2477ebc11d9d..f9917717dd08 100644
--- a/arch/arm/boot/dts/aspeed-g5.dtsi
+++ b/arch/arm/boot/dts/aspeed-g5.dtsi
@@ -210,6 +210,7 @@
210 reg-shift = <2>; 210 reg-shift = <2>;
211 interrupts = <9>; 211 interrupts = <9>;
212 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>; 212 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
213 resets = <&lpc_reset 4>;
213 no-loopback-test; 214 no-loopback-test;
214 status = "disabled"; 215 status = "disabled";
215 }; 216 };
@@ -269,7 +270,7 @@
269 270
270 #address-cells = <1>; 271 #address-cells = <1>;
271 #size-cells = <1>; 272 #size-cells = <1>;
272 ranges = <0 0x1e789000 0x1000>; 273 ranges = <0x0 0x1e789000 0x1000>;
273 274
274 lpc_bmc: lpc-bmc@0 { 275 lpc_bmc: lpc-bmc@0 {
275 compatible = "aspeed,ast2500-lpc-bmc"; 276 compatible = "aspeed,ast2500-lpc-bmc";
@@ -279,16 +280,16 @@
279 lpc_host: lpc-host@80 { 280 lpc_host: lpc-host@80 {
280 compatible = "aspeed,ast2500-lpc-host", "simple-mfd", "syscon"; 281 compatible = "aspeed,ast2500-lpc-host", "simple-mfd", "syscon";
281 reg = <0x80 0x1e0>; 282 reg = <0x80 0x1e0>;
283 reg-io-width = <4>;
282 284
283 #address-cells = <1>; 285 #address-cells = <1>;
284 #size-cells = <1>; 286 #size-cells = <1>;
285 ranges = <0 0x80 0x1e0>; 287 ranges = <0x0 0x80 0x1e0>;
286
287 reg-io-width = <4>;
288 288
289 lpc_ctrl: lpc-ctrl@0 { 289 lpc_ctrl: lpc-ctrl@0 {
290 compatible = "aspeed,ast2500-lpc-ctrl"; 290 compatible = "aspeed,ast2500-lpc-ctrl";
291 reg = <0x0 0x80>; 291 reg = <0x0 0x80>;
292 clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
292 status = "disabled"; 293 status = "disabled";
293 }; 294 };
294 295
@@ -303,6 +304,19 @@
303 compatible = "aspeed,ast2500-lhc"; 304 compatible = "aspeed,ast2500-lhc";
304 reg = <0x20 0x24 0x48 0x8>; 305 reg = <0x20 0x24 0x48 0x8>;
305 }; 306 };
307
308 lpc_reset: reset-controller@18 {
309 compatible = "aspeed,ast2500-lpc-reset";
310 reg = <0x18 0x4>;
311 #reset-cells = <1>;
312 };
313
314 ibt: ibt@c0 {
315 compatible = "aspeed,ast2500-ibt-bmc";
316 reg = <0xc0 0x18>;
317 interrupts = <8>;
318 status = "disabled";
319 };
306 }; 320 };
307 }; 321 };
308 322
@@ -312,6 +326,7 @@
312 reg-shift = <2>; 326 reg-shift = <2>;
313 interrupts = <32>; 327 interrupts = <32>;
314 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>; 328 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
329 resets = <&lpc_reset 5>;
315 no-loopback-test; 330 no-loopback-test;
316 status = "disabled"; 331 status = "disabled";
317 }; 332 };
@@ -322,6 +337,7 @@
322 reg-shift = <2>; 337 reg-shift = <2>;
323 interrupts = <33>; 338 interrupts = <33>;
324 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>; 339 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
340 resets = <&lpc_reset 6>;
325 no-loopback-test; 341 no-loopback-test;
326 status = "disabled"; 342 status = "disabled";
327 }; 343 };
@@ -332,6 +348,7 @@
332 reg-shift = <2>; 348 reg-shift = <2>;
333 interrupts = <34>; 349 interrupts = <34>;
334 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>; 350 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
351 resets = <&lpc_reset 7>;
335 no-loopback-test; 352 no-loopback-test;
336 status = "disabled"; 353 status = "disabled";
337 }; 354 };
diff --git a/arch/arm/boot/dts/at91-nattis-2-natte-2.dts b/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
index 3ea1d26e1c68..af9f38456d04 100644
--- a/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
+++ b/arch/arm/boot/dts/at91-nattis-2-natte-2.dts
@@ -109,7 +109,32 @@
109 109
110 port { 110 port {
111 panel_input: endpoint { 111 panel_input: endpoint {
112 remote-endpoint = <&hlcdc_panel_output>; 112 remote-endpoint = <&lvds_encoder_output>;
113 };
114 };
115 };
116
117 lvds-encoder {
118 compatible = "lvds-encoder";
119
120 ports {
121 #address-cells = <1>;
122 #size-cells = <0>;
123
124 port@0 {
125 reg = <0>;
126
127 lvds_encoder_input: endpoint {
128 remote-endpoint = <&hlcdc_output>;
129 };
130 };
131
132 port@1 {
133 reg = <1>;
134
135 lvds_encoder_output: endpoint {
136 remote-endpoint = <&panel_input>;
137 };
113 }; 138 };
114 }; 139 };
115 }; 140 };
@@ -146,7 +171,7 @@
146 }; 171 };
147 172
148 eeprom@50 { 173 eeprom@50 {
149 compatible = "nxp,24c02"; 174 compatible = "nxp,se97b", "atmel,24c02";
150 reg = <0x50>; 175 reg = <0x50>;
151 pagesize = <16>; 176 pagesize = <16>;
152 }; 177 };
@@ -176,8 +201,8 @@
176 &pinctrl_lcd_hipow0>; 201 &pinctrl_lcd_hipow0>;
177 202
178 port@0 { 203 port@0 {
179 hlcdc_panel_output: endpoint { 204 hlcdc_output: endpoint {
180 remote-endpoint = <&panel_input>; 205 remote-endpoint = <&lvds_encoder_input>;
181 }; 206 };
182 }; 207 };
183 }; 208 };
@@ -216,29 +241,34 @@
216 reg = <0x0 0x40000>; 241 reg = <0x0 0x40000>;
217 }; 242 };
218 243
219 bootloader@40000 { 244 barebox@40000 {
220 label = "bootloader"; 245 label = "barebox";
221 reg = <0x40000 0x80000>; 246 reg = <0x40000 0x60000>;
247 };
248
249 bareboxenv@c0000 {
250 label = "bareboxenv";
251 reg = <0xc0000 0x40000>;
222 }; 252 };
223 253
224 bootloaderenv@c0000 { 254 bareboxenv2@100000 {
225 label = "bootloader env"; 255 label = "bareboxenv2";
226 reg = <0xc0000 0xc0000>; 256 reg = <0x100000 0x40000>;
227 }; 257 };
228 258
229 dtb@180000 { 259 oftree@180000 {
230 label = "device tree"; 260 label = "oftree";
231 reg = <0x180000 0x80000>; 261 reg = <0x180000 0x20000>;
232 }; 262 };
233 263
234 kernel@200000 { 264 kernel@200000 {
235 label = "kernel"; 265 label = "kernel";
236 reg = <0x200000 0x600000>; 266 reg = <0x200000 0x500000>;
237 }; 267 };
238 268
239 rootfs@800000 { 269 rootfs@800000 {
240 label = "rootfs"; 270 label = "rootfs";
241 reg = <0x800000 0x0f800000>; 271 reg = <0x800000 0x1f800000>;
242 }; 272 };
243 }; 273 };
244}; 274};
diff --git a/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts b/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
index e603a267bdf1..b10dccd0958f 100644
--- a/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
@@ -230,7 +230,7 @@
230 status = "okay"; 230 status = "okay";
231 231
232 at24@50 { 232 at24@50 {
233 compatible = "24c02"; 233 compatible = "atmel,24c02";
234 reg = <0x50>; 234 reg = <0x50>;
235 pagesize = <8>; 235 pagesize = <8>;
236 }; 236 };
diff --git a/arch/arm/boot/dts/at91-tse850-3.dts b/arch/arm/boot/dts/at91-tse850-3.dts
index 9b82cc8843e1..2fbec69d9cd6 100644
--- a/arch/arm/boot/dts/at91-tse850-3.dts
+++ b/arch/arm/boot/dts/at91-tse850-3.dts
@@ -234,6 +234,7 @@
234 compatible = "ti,pcm5142"; 234 compatible = "ti,pcm5142";
235 235
236 reg = <0x4c>; 236 reg = <0x4c>;
237 #sound-dai-cells = <0>;
237 238
238 AVDD-supply = <&reg_3v3>; 239 AVDD-supply = <&reg_3v3>;
239 DVDD-supply = <&reg_3v3>; 240 DVDD-supply = <&reg_3v3>;
@@ -246,7 +247,7 @@
246 }; 247 };
247 248
248 eeprom@50 { 249 eeprom@50 {
249 compatible = "nxp,24c02", "atmel,24c02"; 250 compatible = "nxp,se97b", "atmel,24c02";
250 reg = <0x50>; 251 reg = <0x50>;
251 pagesize = <16>; 252 pagesize = <16>;
252 }; 253 };
diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi
index ba61893a02a0..2ad69a7fbc00 100644
--- a/arch/arm/boot/dts/at91rm9200.dtsi
+++ b/arch/arm/boot/dts/at91rm9200.dtsi
@@ -493,8 +493,8 @@
493 uart0 { 493 uart0 {
494 pinctrl_uart0: uart0-0 { 494 pinctrl_uart0: uart0-0 {
495 atmel,pins = 495 atmel,pins =
496 <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */ 496 <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE
497 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA18 periph A */ 497 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
498 }; 498 };
499 499
500 pinctrl_uart0_cts: uart0_cts-0 { 500 pinctrl_uart0_cts: uart0_cts-0 {
@@ -511,8 +511,8 @@
511 uart1 { 511 uart1 {
512 pinctrl_uart1: uart1-0 { 512 pinctrl_uart1: uart1-0 {
513 atmel,pins = 513 atmel,pins =
514 <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB20 periph A with pullup */ 514 <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE
515 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB21 periph A */ 515 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
516 }; 516 };
517 517
518 pinctrl_uart1_rts: uart1_rts-0 { 518 pinctrl_uart1_rts: uart1_rts-0 {
@@ -545,8 +545,8 @@
545 uart2 { 545 uart2 {
546 pinctrl_uart2: uart2-0 { 546 pinctrl_uart2: uart2-0 {
547 atmel,pins = 547 atmel,pins =
548 <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA22 periph A */ 548 <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
549 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA23 periph A with pullup */ 549 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
550 }; 550 };
551 551
552 pinctrl_uart2_rts: uart2_rts-0 { 552 pinctrl_uart2_rts: uart2_rts-0 {
@@ -563,8 +563,8 @@
563 uart3 { 563 uart3 {
564 pinctrl_uart3: uart3-0 { 564 pinctrl_uart3: uart3-0 {
565 atmel,pins = 565 atmel,pins =
566 <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA5 periph B with pullup */ 566 <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE
567 AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA6 periph B */ 567 AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
568 }; 568 };
569 569
570 pinctrl_uart3_rts: uart3_rts-0 { 570 pinctrl_uart3_rts: uart3_rts-0 {
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index 655f06cd716a..9118e29b6d6a 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -434,8 +434,8 @@
434 usart0 { 434 usart0 {
435 pinctrl_usart0: usart0-0 { 435 pinctrl_usart0: usart0-0 {
436 atmel,pins = 436 atmel,pins =
437 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */ 437 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
438 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB5 periph A */ 438 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
439 }; 439 };
440 440
441 pinctrl_usart0_rts: usart0_rts-0 { 441 pinctrl_usart0_rts: usart0_rts-0 {
@@ -468,8 +468,8 @@
468 usart1 { 468 usart1 {
469 pinctrl_usart1: usart1-0 { 469 pinctrl_usart1: usart1-0 {
470 atmel,pins = 470 atmel,pins =
471 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB6 periph A with pullup */ 471 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
472 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB7 periph A */ 472 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
473 }; 473 };
474 474
475 pinctrl_usart1_rts: usart1_rts-0 { 475 pinctrl_usart1_rts: usart1_rts-0 {
@@ -486,8 +486,8 @@
486 usart2 { 486 usart2 {
487 pinctrl_usart2: usart2-0 { 487 pinctrl_usart2: usart2-0 {
488 atmel,pins = 488 atmel,pins =
489 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB8 periph A with pullup */ 489 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
490 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB9 periph A */ 490 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
491 }; 491 };
492 492
493 pinctrl_usart2_rts: usart2_rts-0 { 493 pinctrl_usart2_rts: usart2_rts-0 {
@@ -504,8 +504,8 @@
504 usart3 { 504 usart3 {
505 pinctrl_usart3: usart3-0 { 505 pinctrl_usart3: usart3-0 {
506 atmel,pins = 506 atmel,pins =
507 <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB10 periph A with pullup */ 507 <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE
508 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */ 508 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
509 }; 509 };
510 510
511 pinctrl_usart3_rts: usart3_rts-0 { 511 pinctrl_usart3_rts: usart3_rts-0 {
@@ -522,16 +522,16 @@
522 uart0 { 522 uart0 {
523 pinctrl_uart0: uart0-0 { 523 pinctrl_uart0: uart0-0 {
524 atmel,pins = 524 atmel,pins =
525 <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA31 periph B with pullup */ 525 <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE
526 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA30 periph B */ 526 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
527 }; 527 };
528 }; 528 };
529 529
530 uart1 { 530 uart1 {
531 pinctrl_uart1: uart1-0 { 531 pinctrl_uart1: uart1-0 {
532 atmel,pins = 532 atmel,pins =
533 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB12 periph A with pullup */ 533 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE
534 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB13 periph A */ 534 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
535 }; 535 };
536 }; 536 };
537 537
diff --git a/arch/arm/boot/dts/at91sam9260ek.dts b/arch/arm/boot/dts/at91sam9260ek.dts
index e16c706d91ef..d2b865f60293 100644
--- a/arch/arm/boot/dts/at91sam9260ek.dts
+++ b/arch/arm/boot/dts/at91sam9260ek.dts
@@ -201,7 +201,7 @@
201 status = "okay"; 201 status = "okay";
202 202
203 24c512@50 { 203 24c512@50 {
204 compatible = "24c512"; 204 compatible = "atmel,24c512";
205 reg = <0x50>; 205 reg = <0x50>;
206 }; 206 };
207 }; 207 };
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi
index ddfc63b8fd4e..53c63d0a418a 100644
--- a/arch/arm/boot/dts/at91sam9261.dtsi
+++ b/arch/arm/boot/dts/at91sam9261.dtsi
@@ -328,8 +328,8 @@
328 usart0 { 328 usart0 {
329 pinctrl_usart0: usart0-0 { 329 pinctrl_usart0: usart0-0 {
330 atmel,pins = 330 atmel,pins =
331 <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 331 <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE>,
332 <AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; 332 <AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
333 }; 333 };
334 334
335 pinctrl_usart0_rts: usart0_rts-0 { 335 pinctrl_usart0_rts: usart0_rts-0 {
@@ -346,8 +346,8 @@
346 usart1 { 346 usart1 {
347 pinctrl_usart1: usart1-0 { 347 pinctrl_usart1: usart1-0 {
348 atmel,pins = 348 atmel,pins =
349 <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 349 <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE>,
350 <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; 350 <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
351 }; 351 };
352 352
353 pinctrl_usart1_rts: usart1_rts-0 { 353 pinctrl_usart1_rts: usart1_rts-0 {
@@ -364,8 +364,8 @@
364 usart2 { 364 usart2 {
365 pinctrl_usart2: usart2-0 { 365 pinctrl_usart2: usart2-0 {
366 atmel,pins = 366 atmel,pins =
367 <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 367 <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>,
368 <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; 368 <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
369 }; 369 };
370 370
371 pinctrl_usart2_rts: usart2_rts-0 { 371 pinctrl_usart2_rts: usart2_rts-0 {
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index f2405671e3bd..87fb0660ab5d 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -437,8 +437,8 @@
437 usart0 { 437 usart0 {
438 pinctrl_usart0: usart0-0 { 438 pinctrl_usart0: usart0-0 {
439 atmel,pins = 439 atmel,pins =
440 <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA26 periph A with pullup */ 440 <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE
441 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA27 periph A */ 441 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
442 }; 442 };
443 443
444 pinctrl_usart0_rts: usart0_rts-0 { 444 pinctrl_usart0_rts: usart0_rts-0 {
@@ -455,8 +455,8 @@
455 usart1 { 455 usart1 {
456 pinctrl_usart1: usart1-0 { 456 pinctrl_usart1: usart1-0 {
457 atmel,pins = 457 atmel,pins =
458 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A with pullup */ 458 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE
459 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD1 periph A */ 459 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
460 }; 460 };
461 461
462 pinctrl_usart1_rts: usart1_rts-0 { 462 pinctrl_usart1_rts: usart1_rts-0 {
@@ -473,8 +473,8 @@
473 usart2 { 473 usart2 {
474 pinctrl_usart2: usart2-0 { 474 pinctrl_usart2: usart2-0 {
475 atmel,pins = 475 atmel,pins =
476 <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A with pullup */ 476 <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE
477 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD3 periph A */ 477 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
478 }; 478 };
479 479
480 pinctrl_usart2_rts: usart2_rts-0 { 480 pinctrl_usart2_rts: usart2_rts-0 {
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts
index e9a7c70830a8..727096f24f7c 100644
--- a/arch/arm/boot/dts/at91sam9263ek.dts
+++ b/arch/arm/boot/dts/at91sam9263ek.dts
@@ -250,7 +250,7 @@
250 status = "okay"; 250 status = "okay";
251 251
252 24c512@50 { 252 24c512@50 {
253 compatible = "24c512"; 253 compatible = "atmel,24c512";
254 reg = <0x50>; 254 reg = <0x50>;
255 pagesize = <128>; 255 pagesize = <128>;
256 }; 256 };
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index 50561b7b7939..71df3adfc7ca 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -211,7 +211,7 @@
211 status = "okay"; 211 status = "okay";
212 212
213 24c512@50 { 213 24c512@50 {
214 compatible = "24c512"; 214 compatible = "atmel,24c512";
215 reg = <0x50>; 215 reg = <0x50>;
216 }; 216 };
217 217
diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi b/arch/arm/boot/dts/at91sam9g25.dtsi
index a7da0dd0c98f..0898213f3bb2 100644
--- a/arch/arm/boot/dts/at91sam9g25.dtsi
+++ b/arch/arm/boot/dts/at91sam9g25.dtsi
@@ -21,7 +21,7 @@
21 atmel,mux-mask = < 21 atmel,mux-mask = <
22 /* A B C */ 22 /* A B C */
23 0xffffffff 0xffe0399f 0xc000001c /* pioA */ 23 0xffffffff 0xffe0399f 0xc000001c /* pioA */
24 0x0007ffff 0x8000fe3f 0x00000000 /* pioB */ 24 0x0007ffff 0x00047e3f 0x00000000 /* pioB */
25 0x80000000 0x07c0ffff 0xb83fffff /* pioC */ 25 0x80000000 0x07c0ffff 0xb83fffff /* pioC */
26 0x003fffff 0x003f8000 0x00000000 /* pioD */ 26 0x003fffff 0x003f8000 0x00000000 /* pioD */
27 >; 27 >;
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 3a30eec7f508..1ee25a475be8 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -555,8 +555,8 @@
555 usart0 { 555 usart0 {
556 pinctrl_usart0: usart0-0 { 556 pinctrl_usart0: usart0-0 {
557 atmel,pins = 557 atmel,pins =
558 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB19 periph A with pullup */ 558 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE
559 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */ 559 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
560 }; 560 };
561 561
562 pinctrl_usart0_rts: usart0_rts-0 { 562 pinctrl_usart0_rts: usart0_rts-0 {
@@ -573,8 +573,8 @@
573 uart1 { 573 uart1 {
574 pinctrl_usart1: usart1-0 { 574 pinctrl_usart1: usart1-0 {
575 atmel,pins = 575 atmel,pins =
576 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB4 periph A with pullup */ 576 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE
577 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB5 periph A */ 577 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
578 }; 578 };
579 579
580 pinctrl_usart1_rts: usart1_rts-0 { 580 pinctrl_usart1_rts: usart1_rts-0 {
@@ -591,8 +591,8 @@
591 usart2 { 591 usart2 {
592 pinctrl_usart2: usart2-0 { 592 pinctrl_usart2: usart2-0 {
593 atmel,pins = 593 atmel,pins =
594 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB6 periph A with pullup */ 594 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE
595 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB7 periph A */ 595 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
596 }; 596 };
597 597
598 pinctrl_usart2_rts: usart2_rts-0 { 598 pinctrl_usart2_rts: usart2_rts-0 {
@@ -609,8 +609,8 @@
609 usart3 { 609 usart3 {
610 pinctrl_usart3: usart3-0 { 610 pinctrl_usart3: usart3-0 {
611 atmel,pins = 611 atmel,pins =
612 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB9 periph A with pullup */ 612 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE
613 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB8 periph A */ 613 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
614 }; 614 };
615 615
616 pinctrl_usart3_rts: usart3_rts-0 { 616 pinctrl_usart3_rts: usart3_rts-0 {
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index 4b62f4f963f6..37cb81f457b5 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -641,8 +641,8 @@
641 uart1 { 641 uart1 {
642 pinctrl_uart1: uart1-0 { 642 pinctrl_uart1: uart1-0 {
643 atmel,pins = 643 atmel,pins =
644 <AT91_PIOC 16 AT91_PERIPH_C AT91_PINCTRL_PULL_UP /* PC17 periph C with pullup */ 644 <AT91_PIOC 16 AT91_PERIPH_C AT91_PINCTRL_NONE
645 AT91_PIOC 17 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC16 periph C */ 645 AT91_PIOC 17 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>;
646 }; 646 };
647 }; 647 };
648 648
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index 3cae687dccbd..bd001cca25a4 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -1,7 +1,8 @@
1/* 1/*
2 * at91sam9rl.dtsi - Device Tree Include file for AT91SAM9RL family SoC 2 * at91sam9rl.dtsi - Device Tree Include file for AT91SAM9RL family SoC
3 * 3 *
4 * Copyright (C) 2014 Alexandre Belloni <alexandre.belloni@free-electrons.com> 4 * Copyright (C) 2014 Microchip
5 * Alexandre Belloni <alexandre.belloni@free-electrons.com>
5 * 6 *
6 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
7 */ 8 */
@@ -719,8 +720,8 @@
719 usart1 { 720 usart1 {
720 pinctrl_usart1: usart1-0 { 721 pinctrl_usart1: usart1-0 {
721 atmel,pins = 722 atmel,pins =
722 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 723 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE>,
723 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; 724 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
724 }; 725 };
725 726
726 pinctrl_usart1_rts: usart1_rts-0 { 727 pinctrl_usart1_rts: usart1_rts-0 {
@@ -742,8 +743,8 @@
742 usart2 { 743 usart2 {
743 pinctrl_usart2: usart2-0 { 744 pinctrl_usart2: usart2-0 {
744 atmel,pins = 745 atmel,pins =
745 <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 746 <AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>,
746 <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; 747 <AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
747 }; 748 };
748 749
749 pinctrl_usart2_rts: usart2_rts-0 { 750 pinctrl_usart2_rts: usart2_rts-0 {
@@ -765,8 +766,8 @@
765 usart3 { 766 usart3 {
766 pinctrl_usart3: usart3-0 { 767 pinctrl_usart3: usart3-0 {
767 atmel,pins = 768 atmel,pins =
768 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, 769 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE>,
769 <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE>; 770 <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
770 }; 771 };
771 772
772 pinctrl_usart3_rts: usart3_rts-0 { 773 pinctrl_usart3_rts: usart3_rts-0 {
diff --git a/arch/arm/boot/dts/at91sam9rlek.dts b/arch/arm/boot/dts/at91sam9rlek.dts
index 4bde9f245e61..27d8a1f44233 100644
--- a/arch/arm/boot/dts/at91sam9rlek.dts
+++ b/arch/arm/boot/dts/at91sam9rlek.dts
@@ -1,7 +1,8 @@
1/* 1/*
2 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board 2 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
3 * 3 *
4 * Copyright (C) 2014 Alexandre Belloni <alexandre.belloni@free-electrons.com> 4 * Copyright (C) 2014 Microchip
5 * Alexandre Belloni <alexandre.belloni@free-electrons.com>
5 * 6 *
6 * Licensed under GPLv2 only 7 * Licensed under GPLv2 only
7 */ 8 */
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index fee4fe51a97e..a3c3c3128148 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -520,8 +520,8 @@
520 usart0 { 520 usart0 {
521 pinctrl_usart0: usart0-0 { 521 pinctrl_usart0: usart0-0 {
522 atmel,pins = 522 atmel,pins =
523 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA0 periph A with pullup */ 523 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE
524 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA1 periph A */ 524 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
525 }; 525 };
526 526
527 pinctrl_usart0_rts: usart0_rts-0 { 527 pinctrl_usart0_rts: usart0_rts-0 {
@@ -543,8 +543,8 @@
543 usart1 { 543 usart1 {
544 pinctrl_usart1: usart1-0 { 544 pinctrl_usart1: usart1-0 {
545 atmel,pins = 545 atmel,pins =
546 <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA5 periph A with pullup */ 546 <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE
547 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA6 periph A */ 547 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
548 }; 548 };
549 549
550 pinctrl_usart1_rts: usart1_rts-0 { 550 pinctrl_usart1_rts: usart1_rts-0 {
@@ -566,8 +566,8 @@
566 usart2 { 566 usart2 {
567 pinctrl_usart2: usart2-0 { 567 pinctrl_usart2: usart2-0 {
568 atmel,pins = 568 atmel,pins =
569 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */ 569 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE
570 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA8 periph A */ 570 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
571 }; 571 };
572 572
573 pinctrl_usart2_rts: usart2_rts-0 { 573 pinctrl_usart2_rts: usart2_rts-0 {
diff --git a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
index 43bb5b51caa6..a32d12b406a3 100644
--- a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi
@@ -21,8 +21,8 @@
21 usart3 { 21 usart3 {
22 pinctrl_usart3: usart3-0 { 22 pinctrl_usart3: usart3-0 {
23 atmel,pins = 23 atmel,pins =
24 <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PC22 periph B with pullup */ 24 <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE
25 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC23 periph B */ 25 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
26 }; 26 };
27 27
28 pinctrl_usart3_rts: usart3_rts-0 { 28 pinctrl_usart3_rts: usart3_rts-0 {
diff --git a/arch/arm/boot/dts/atlas7-evb.dts b/arch/arm/boot/dts/atlas7-evb.dts
index 1e9cd1a8508e..900e03b7a7b2 100644
--- a/arch/arm/boot/dts/atlas7-evb.dts
+++ b/arch/arm/boot/dts/atlas7-evb.dts
@@ -73,7 +73,7 @@
73 btm { 73 btm {
74 uart6: uart@11000000 { 74 uart6: uart@11000000 {
75 status = "okay"; 75 status = "okay";
76 sirf,uart-has-rtscts; 76 uart-has-rtscts;
77 }; 77 };
78 }; 78 };
79 79
diff --git a/arch/arm/boot/dts/axp209.dtsi b/arch/arm/boot/dts/axp209.dtsi
index 897103e0a79b..0d9ff12bdf28 100644
--- a/arch/arm/boot/dts/axp209.dtsi
+++ b/arch/arm/boot/dts/axp209.dtsi
@@ -58,6 +58,11 @@
58 status = "disabled"; 58 status = "disabled";
59 }; 59 };
60 60
61 axp_adc: adc {
62 compatible = "x-powers,axp209-adc";
63 #io-channel-cells = <1>;
64 };
65
61 axp_gpio: gpio { 66 axp_gpio: gpio {
62 compatible = "x-powers,axp209-gpio"; 67 compatible = "x-powers,axp209-gpio";
63 gpio-controller; 68 gpio-controller;
diff --git a/arch/arm/boot/dts/axp22x.dtsi b/arch/arm/boot/dts/axp22x.dtsi
index 87fb08e812ec..65a07a67aca9 100644
--- a/arch/arm/boot/dts/axp22x.dtsi
+++ b/arch/arm/boot/dts/axp22x.dtsi
@@ -57,6 +57,11 @@
57 status = "disabled"; 57 status = "disabled";
58 }; 58 };
59 59
60 axp_adc: adc {
61 compatible = "x-powers,axp221-adc";
62 #io-channel-cells = <1>;
63 };
64
60 battery_power_supply: battery-power-supply { 65 battery_power_supply: battery-power-supply {
61 compatible = "x-powers,axp221-battery-power-supply"; 66 compatible = "x-powers,axp221-battery-power-supply";
62 status = "disabled"; 67 status = "disabled";
diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
index fd55b896afa1..043c717dcef1 100644
--- a/arch/arm/boot/dts/axp81x.dtsi
+++ b/arch/arm/boot/dts/axp81x.dtsi
@@ -48,7 +48,12 @@
48 interrupt-controller; 48 interrupt-controller;
49 #interrupt-cells = <1>; 49 #interrupt-cells = <1>;
50 50
51 axp_gpio: axp-gpio { 51 axp_adc: adc {
52 compatible = "x-powers,axp813-adc";
53 #io-channel-cells = <1>;
54 };
55
56 axp_gpio: gpio {
52 compatible = "x-powers,axp813-gpio"; 57 compatible = "x-powers,axp813-gpio";
53 gpio-controller; 58 gpio-controller;
54 #gpio-cells = <2>; 59 #gpio-cells = <2>;
@@ -64,6 +69,11 @@
64 }; 69 };
65 }; 70 };
66 71
72 battery_power_supply: battery-power-supply {
73 compatible = "x-powers,axp813-battery-power-supply";
74 status = "disabled";
75 };
76
67 regulators { 77 regulators {
68 /* Default work frequency for buck regulators */ 78 /* Default work frequency for buck regulators */
69 x-powers,dcdc-freq = <3000>; 79 x-powers,dcdc-freq = <3000>;
diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
index b8565fc33eea..b7f79f1c431a 100644
--- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
+++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
@@ -12,7 +12,7 @@
12/dts-v1/; 12/dts-v1/;
13#include "bcm2835.dtsi" 13#include "bcm2835.dtsi"
14#include "bcm2835-rpi.dtsi" 14#include "bcm2835-rpi.dtsi"
15#include "bcm283x-rpi-usb-host.dtsi" 15#include "bcm283x-rpi-usb-otg.dtsi"
16 16
17/ { 17/ {
18 compatible = "raspberrypi,model-zero-w", "brcm,bcm2835"; 18 compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
@@ -131,6 +131,18 @@
131 131
132&uart0 { 132&uart0 {
133 pinctrl-names = "default"; 133 pinctrl-names = "default";
134 pinctrl-0 = <&uart0_gpio14>; 134 pinctrl-0 = <&uart0_gpio32 &uart0_ctsrts_gpio30>;
135 status = "okay";
136
137 bluetooth {
138 compatible = "brcm,bcm43438-bt";
139 max-speed = <2000000>;
140 shutdown-gpios = <&gpio 45 GPIO_ACTIVE_HIGH>;
141 };
142};
143
144&uart1 {
145 pinctrl-names = "default";
146 pinctrl-0 = <&uart1_gpio14>;
135 status = "okay"; 147 status = "okay";
136}; 148};
diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
index 593f58d4ac0f..6c3cfaa77f3d 100644
--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
@@ -18,7 +18,9 @@
18 18
19 soc { 19 soc {
20 firmware: firmware { 20 firmware: firmware {
21 compatible = "raspberrypi,bcm2835-firmware"; 21 compatible = "raspberrypi,bcm2835-firmware", "simple-bus";
22 #address-cells = <0>;
23 #size-cells = <0>;
22 mboxes = <&mailbox>; 24 mboxes = <&mailbox>;
23 }; 25 };
24 26
diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
index 3e4ed7c5b0b3..0b31d995a066 100644
--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
@@ -25,6 +25,23 @@
25 }; 25 };
26}; 26};
27 27
28&firmware {
29 expgpio: gpio {
30 compatible = "raspberrypi,firmware-gpio";
31 gpio-controller;
32 #gpio-cells = <2>;
33 gpio-line-names = "BT_ON",
34 "WL_ON",
35 "STATUS_LED",
36 "LAN_RUN",
37 "HPD_N",
38 "CAM_GPIO0",
39 "CAM_GPIO1",
40 "PWR_LOW_N";
41 status = "okay";
42 };
43};
44
28/* uart0 communicates with the BT module */ 45/* uart0 communicates with the BT module */
29&uart0 { 46&uart0 {
30 pinctrl-names = "default"; 47 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 9d293decf8d3..ac00e730f898 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -223,6 +223,7 @@
223 gpclk2_gpio43: gpclk2_gpio43 { 223 gpclk2_gpio43: gpclk2_gpio43 {
224 brcm,pins = <43>; 224 brcm,pins = <43>;
225 brcm,function = <BCM2835_FSEL_ALT0>; 225 brcm,function = <BCM2835_FSEL_ALT0>;
226 brcm,pull = <BCM2835_PUD_OFF>;
226 }; 227 };
227 228
228 i2c0_gpio0: i2c0_gpio0 { 229 i2c0_gpio0: i2c0_gpio0 {
@@ -252,7 +253,7 @@
252 253
253 jtag_gpio4: jtag_gpio4 { 254 jtag_gpio4: jtag_gpio4 {
254 brcm,pins = <4 5 6 12 13>; 255 brcm,pins = <4 5 6 12 13>;
255 brcm,function = <BCM2835_FSEL_ALT4>; 256 brcm,function = <BCM2835_FSEL_ALT5>;
256 }; 257 };
257 jtag_gpio22: jtag_gpio22 { 258 jtag_gpio22: jtag_gpio22 {
258 brcm,pins = <22 23 24 25 26 27>; 259 brcm,pins = <22 23 24 25 26 27>;
@@ -335,10 +336,12 @@
335 uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 { 336 uart0_ctsrts_gpio30: uart0_ctsrts_gpio30 {
336 brcm,pins = <30 31>; 337 brcm,pins = <30 31>;
337 brcm,function = <BCM2835_FSEL_ALT3>; 338 brcm,function = <BCM2835_FSEL_ALT3>;
339 brcm,pull = <BCM2835_PUD_UP BCM2835_PUD_OFF>;
338 }; 340 };
339 uart0_gpio32: uart0_gpio32 { 341 uart0_gpio32: uart0_gpio32 {
340 brcm,pins = <32 33>; 342 brcm,pins = <32 33>;
341 brcm,function = <BCM2835_FSEL_ALT3>; 343 brcm,function = <BCM2835_FSEL_ALT3>;
344 brcm,pull = <BCM2835_PUD_OFF BCM2835_PUD_UP>;
342 }; 345 };
343 uart0_gpio36: uart0_gpio36 { 346 uart0_gpio36: uart0_gpio36 {
344 brcm,pins = <36 37>; 347 brcm,pins = <36 37>;
@@ -397,8 +400,8 @@
397 400
398 i2s: i2s@7e203000 { 401 i2s: i2s@7e203000 {
399 compatible = "brcm,bcm2835-i2s"; 402 compatible = "brcm,bcm2835-i2s";
400 reg = <0x7e203000 0x20>, 403 reg = <0x7e203000 0x24>;
401 <0x7e101098 0x02>; 404 clocks = <&clocks BCM2835_CLOCK_PCM>;
402 405
403 dmas = <&dma 2>, 406 dmas = <&dma 2>,
404 <&dma 3>; 407 <&dma 3>;
@@ -438,6 +441,17 @@
438 interrupts = <2 14>; /* pwa1 */ 441 interrupts = <2 14>; /* pwa1 */
439 }; 442 };
440 443
444 dpi: dpi@7e208000 {
445 compatible = "brcm,bcm2835-dpi";
446 reg = <0x7e208000 0x8c>;
447 clocks = <&clocks BCM2835_CLOCK_VPU>,
448 <&clocks BCM2835_CLOCK_DPI>;
449 clock-names = "core", "pixel";
450 #address-cells = <1>;
451 #size-cells = <0>;
452 status = "disabled";
453 };
454
441 dsi0: dsi@7e209000 { 455 dsi0: dsi@7e209000 {
442 compatible = "brcm,bcm2835-dsi0"; 456 compatible = "brcm,bcm2835-dsi0";
443 reg = <0x7e209000 0x78>; 457 reg = <0x7e209000 0x78>;
diff --git a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
index 8bef6429feee..87ea6ba664f5 100644
--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
@@ -35,6 +35,74 @@
35 0x88000000 0x08000000>; 35 0x88000000 0x08000000>;
36 }; 36 };
37 37
38 spi {
39 compatible = "spi-gpio";
40 num-chipselects = <1>;
41 gpio-sck = <&chipcommon 7 0>;
42 gpio-mosi = <&chipcommon 4 0>;
43 cs-gpios = <&chipcommon 6 0>;
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 hc595: gpio_spi@0 {
48 compatible = "fairchild,74hc595";
49 reg = <0>;
50 registers-number = <1>;
51 spi-max-frequency = <100000>;
52
53 gpio-controller;
54 #gpio-cells = <2>;
55
56 };
57 };
58
59 leds {
60 compatible = "gpio-leds";
61
62 usb {
63 label = "bcm53xx:green:usb";
64 gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
65 };
66
67 power0 {
68 label = "bcm53xx:green:power";
69 gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
70 linux,default-trigger = "default-on";
71 };
72
73 power1 {
74 label = "bcm53xx:red:power";
75 gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
76 };
77
78 router0 {
79 label = "bcm53xx:green:router";
80 gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
81 linux,default-trigger = "default-on";
82 };
83
84 router1 {
85 label = "bcm53xx:amber:router";
86 gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
87 };
88
89 wan {
90 label = "bcm53xx:green:wan";
91 gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
92 linux,default-trigger = "default-on";
93 };
94
95 wireless0 {
96 label = "bcm53xx:green:wireless";
97 gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
98 };
99
100 wireless1 {
101 label = "bcm53xx:amber:wireless";
102 gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
103 };
104 };
105
38 gpio-keys { 106 gpio-keys {
39 compatible = "gpio-keys"; 107 compatible = "gpio-keys";
40 #address-cells = <1>; 108 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/bcm958622hr.dts b/arch/arm/boot/dts/bcm958622hr.dts
index fd8b8c689ffe..ecd05e26c262 100644
--- a/arch/arm/boot/dts/bcm958622hr.dts
+++ b/arch/arm/boot/dts/bcm958622hr.dts
@@ -204,10 +204,10 @@
204 reg = <4>; 204 reg = <4>;
205 }; 205 };
206 206
207 port@5 { 207 port@8 {
208 ethernet = <&amac0>; 208 ethernet = <&amac2>;
209 label = "cpu"; 209 label = "cpu";
210 reg = <5>; 210 reg = <8>;
211 fixed-link { 211 fixed-link {
212 speed = <1000>; 212 speed = <1000>;
213 full-duplex; 213 full-duplex;
diff --git a/arch/arm/boot/dts/bcm958623hr.dts b/arch/arm/boot/dts/bcm958623hr.dts
index b8bde13de90a..f5e85b301497 100644
--- a/arch/arm/boot/dts/bcm958623hr.dts
+++ b/arch/arm/boot/dts/bcm958623hr.dts
@@ -208,10 +208,10 @@
208 reg = <4>; 208 reg = <4>;
209 }; 209 };
210 210
211 port@5 { 211 port@8 {
212 ethernet = <&amac0>; 212 ethernet = <&amac2>;
213 label = "cpu"; 213 label = "cpu";
214 reg = <5>; 214 reg = <8>;
215 fixed-link { 215 fixed-link {
216 speed = <1000>; 216 speed = <1000>;
217 full-duplex; 217 full-duplex;
diff --git a/arch/arm/boot/dts/bcm958625hr.dts b/arch/arm/boot/dts/bcm958625hr.dts
index f0e2008f7490..ea3fc194f8f3 100644
--- a/arch/arm/boot/dts/bcm958625hr.dts
+++ b/arch/arm/boot/dts/bcm958625hr.dts
@@ -210,10 +210,10 @@
210 reg = <4>; 210 reg = <4>;
211 }; 211 };
212 212
213 port@5 { 213 port@8 {
214 ethernet = <&amac0>; 214 ethernet = <&amac2>;
215 label = "cpu"; 215 label = "cpu";
216 reg = <5>; 216 reg = <8>;
217 fixed-link { 217 fixed-link {
218 speed = <1000>; 218 speed = <1000>;
219 full-duplex; 219 full-duplex;
diff --git a/arch/arm/boot/dts/bcm958625k.dts b/arch/arm/boot/dts/bcm958625k.dts
index 2cf2392483b2..3ea5f739e90b 100644
--- a/arch/arm/boot/dts/bcm958625k.dts
+++ b/arch/arm/boot/dts/bcm958625k.dts
@@ -245,10 +245,10 @@
245 reg = <4>; 245 reg = <4>;
246 }; 246 };
247 247
248 port@5 { 248 port@8 {
249 ethernet = <&amac0>; 249 ethernet = <&amac2>;
250 label = "cpu"; 250 label = "cpu";
251 reg = <5>; 251 reg = <8>;
252 fixed-link { 252 fixed-link {
253 speed = <1000>; 253 speed = <1000>;
254 full-duplex; 254 full-duplex;
diff --git a/arch/arm/boot/dts/bcm988312hr.dts b/arch/arm/boot/dts/bcm988312hr.dts
index bce251a68591..ea9a0806b446 100644
--- a/arch/arm/boot/dts/bcm988312hr.dts
+++ b/arch/arm/boot/dts/bcm988312hr.dts
@@ -216,10 +216,10 @@
216 reg = <4>; 216 reg = <4>;
217 }; 217 };
218 218
219 port@5 { 219 port@8 {
220 ethernet = <&amac0>; 220 ethernet = <&amac2>;
221 label = "cpu"; 221 label = "cpu";
222 reg = <5>; 222 reg = <8>;
223 fixed-link { 223 fixed-link {
224 speed = <1000>; 224 speed = <1000>;
225 full-duplex; 225 full-duplex;
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index c75507922f7d..3962fa4b07f5 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -15,11 +15,16 @@
15 compatible = "ti,da850-evm", "ti,da850"; 15 compatible = "ti,da850-evm", "ti,da850";
16 model = "DA850/AM1808/OMAP-L138 EVM"; 16 model = "DA850/AM1808/OMAP-L138 EVM";
17 17
18 chosen {
19 stdout-path = &serial2;
20 };
21
18 aliases { 22 aliases {
19 serial0 = &serial0; 23 serial0 = &serial0;
20 serial1 = &serial1; 24 serial1 = &serial1;
21 serial2 = &serial2; 25 serial2 = &serial2;
22 ethernet0 = &eth0; 26 ethernet0 = &eth0;
27 spi0 = &spi1;
23 }; 28 };
24 29
25 soc@1c00000 { 30 soc@1c00000 {
diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts
index 81942ae83e1f..1ffd87796cac 100644
--- a/arch/arm/boot/dts/da850-lego-ev3.dts
+++ b/arch/arm/boot/dts/da850-lego-ev3.dts
@@ -184,6 +184,23 @@
184 io-channel-names = "voltage", "current"; 184 io-channel-names = "voltage", "current";
185 rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>; 185 rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
186 }; 186 };
187
188 /* ARM local RAM */
189 memory@ffff0000 {
190 compatible = "syscon", "simple-mfd";
191 reg = <0xffff0000 0x2000>; /* 8k */
192
193 /*
194 * The I2C bootloader looks for this magic value to either
195 * boot normally or boot into a firmware update mode.
196 */
197 reboot-mode {
198 compatible = "syscon-reboot-mode";
199 offset = <0x1ffc>;
200 mode-normal = <0x00000000>;
201 mode-loader = <0x5555aaaa>;
202 };
203 };
187}; 204};
188 205
189&pmx_core { 206&pmx_core {
@@ -293,7 +310,7 @@
293 * EEPROM contains the first stage bootloader, HW ID and Bluetooth MAC. 310 * EEPROM contains the first stage bootloader, HW ID and Bluetooth MAC.
294 */ 311 */
295 eeprom@50 { 312 eeprom@50 {
296 compatible = "microchip,24c128"; 313 compatible = "microchip,24c128", "atmel,24c128";
297 pagesize = <64>; 314 pagesize = <64>;
298 read-only; 315 read-only;
299 reg = <0x50>; 316 reg = <0x50>;
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index a7385c338ee9..f1425b0f3a54 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -87,33 +87,6 @@
87 DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */ 87 DRA7XX_CORE_IOPAD(0x3818, MUX_MODE15 | PULL_UP) /* wakeup0.off */
88 >; 88 >;
89 }; 89 };
90
91 mmc1_pins_default: mmc1_pins_default {
92 pinctrl-single,pins = <
93 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
94 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
95 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
96 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
97 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
98 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
99 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
100 >;
101 };
102
103 mmc2_pins_default: mmc2_pins_default {
104 pinctrl-single,pins = <
105 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
106 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
107 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
108 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
109 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
110 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
111 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
112 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
113 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
114 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
115 >;
116 };
117}; 90};
118 91
119&i2c1 { 92&i2c1 {
@@ -350,6 +323,7 @@
350&mmc2 { 323&mmc2 {
351 status = "okay"; 324 status = "okay";
352 vmmc-supply = <&evm_1v8_sw>; 325 vmmc-supply = <&evm_1v8_sw>;
326 vqmmc-supply = <&evm_1v8_sw>;
353 bus-width = <8>; 327 bus-width = <8>;
354 pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v"; 328 pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v", "hs200_1_8v-rev11", "hs200_1_8v";
355 pinctrl-0 = <&mmc2_pins_default>; 329 pinctrl-0 = <&mmc2_pins_default>;
diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
index e4a420f16800..f4ddd86f2c77 100644
--- a/arch/arm/boot/dts/dra7.dtsi
+++ b/arch/arm/boot/dts/dra7.dtsi
@@ -92,8 +92,6 @@
92 clock-latency = <300000>; /* From omap-cpufreq driver */ 92 clock-latency = <300000>; /* From omap-cpufreq driver */
93 93
94 /* cooling options */ 94 /* cooling options */
95 cooling-min-level = <0>;
96 cooling-max-level = <2>;
97 #cooling-cells = <2>; /* min followed by max */ 95 #cooling-cells = <2>; /* min followed by max */
98 96
99 vbb-supply = <&abb_mpu>; 97 vbb-supply = <&abb_mpu>;
diff --git a/arch/arm/boot/dts/dra71-evm.dts b/arch/arm/boot/dts/dra71-evm.dts
index 41c9132eb550..ebc4bbae981e 100644
--- a/arch/arm/boot/dts/dra71-evm.dts
+++ b/arch/arm/boot/dts/dra71-evm.dts
@@ -24,13 +24,13 @@
24 24
25 regulator-name = "vddshv8"; 25 regulator-name = "vddshv8";
26 regulator-min-microvolt = <1800000>; 26 regulator-min-microvolt = <1800000>;
27 regulator-max-microvolt = <3000000>; 27 regulator-max-microvolt = <3300000>;
28 regulator-boot-on; 28 regulator-boot-on;
29 vin-supply = <&evm_5v0>; 29 vin-supply = <&evm_5v0>;
30 30
31 gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>; 31 gpios = <&gpio7 11 GPIO_ACTIVE_HIGH>;
32 states = <1800000 0x0 32 states = <1800000 0x0
33 3000000 0x1>; 33 3300000 0x1>;
34 }; 34 };
35 35
36 evm_1v8_sw: fixedregulator-evm_1v8 { 36 evm_1v8_sw: fixedregulator-evm_1v8 {
@@ -50,6 +50,19 @@
50 }; 50 };
51}; 51};
52 52
53&dra7_pmx_core {
54 mmc1_pins_default: mmc1_pins_default {
55 pinctrl-single,pins = <
56 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mmc1_clk.clk */
57 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
58 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
59 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
60 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
61 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
62 >;
63 };
64};
65
53&i2c1 { 66&i2c1 {
54 status = "okay"; 67 status = "okay";
55 clock-frequency = <400000>; 68 clock-frequency = <400000>;
diff --git a/arch/arm/boot/dts/dra76-evm.dts b/arch/arm/boot/dts/dra76-evm.dts
index c4fe7f8ef72a..2deb96405d06 100644
--- a/arch/arm/boot/dts/dra76-evm.dts
+++ b/arch/arm/boot/dts/dra76-evm.dts
@@ -9,6 +9,7 @@
9 9
10#include "dra76x.dtsi" 10#include "dra76x.dtsi"
11#include "dra7-evm-common.dtsi" 11#include "dra7-evm-common.dtsi"
12#include "dra76x-mmc-iodelay.dtsi"
12#include <dt-bindings/net/ti-dp83867.h> 13#include <dt-bindings/net/ti-dp83867.h>
13 14
14/ { 15/ {
@@ -100,46 +101,6 @@
100 }; 101 };
101}; 102};
102 103
103&dra7_pmx_core {
104 mmc1_pins_default: mmc1_pins_default {
105 pinctrl-single,pins = <
106 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
107 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
108 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
109 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
110 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
111 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
112 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
113 >;
114 };
115
116 mmc1_pins_sdr12: pinmux_mmc1_sdr12_pins {
117 pinctrl-single,pins = <
118 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
119 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
120 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
121 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
122 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
123 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
124 >;
125 };
126
127 mmc2_pins_default: mmc2_pins_default {
128 pinctrl-single,pins = <
129 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
130 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
131 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
132 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
133 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
134 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
135 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
136 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
137 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
138 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
139 >;
140 };
141};
142
143&i2c1 { 104&i2c1 {
144 status = "okay"; 105 status = "okay";
145 clock-frequency = <400000>; 106 clock-frequency = <400000>;
@@ -353,16 +314,21 @@
353 * is always hardwired. 314 * is always hardwired.
354 */ 315 */
355 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; 316 cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
356 pinctrl-names = "default"; 317 pinctrl-names = "default", "hs";
357 pinctrl-0 = <&mmc1_pins_default>; 318 pinctrl-0 = <&mmc1_pins_default>;
319 pinctrl-1 = <&mmc1_pins_hs>;
358}; 320};
359 321
360&mmc2 { 322&mmc2 {
361 status = "okay"; 323 status = "okay";
362 vmmc-supply = <&vio_1v8>; 324 vmmc-supply = <&vio_1v8>;
325 vqmmc-supply = <&vio_1v8>;
363 bus-width = <8>; 326 bus-width = <8>;
364 pinctrl-names = "default"; 327 pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
365 pinctrl-0 = <&mmc2_pins_default>; 328 pinctrl-0 = <&mmc2_pins_default>;
329 pinctrl-1 = <&mmc2_pins_default>;
330 pinctrl-2 = <&mmc2_pins_default>;
331 pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_conf>;
366}; 332};
367 333
368/* No RTC on this device */ 334/* No RTC on this device */
diff --git a/arch/arm/boot/dts/dra76x-mmc-iodelay.dtsi b/arch/arm/boot/dts/dra76x-mmc-iodelay.dtsi
new file mode 100644
index 000000000000..baba7b00eca7
--- /dev/null
+++ b/arch/arm/boot/dts/dra76x-mmc-iodelay.dtsi
@@ -0,0 +1,285 @@
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (c) 2018 Texas Instruments
3// MMC IOdelay values for TI's DRA76x and AM576x SoCs.
4// Author: Sekhar Nori <nsekhar@ti.com>
5
6/*
7 * Rules for modifying this file:
8 * a) Update of this file should typically correspond to a datamanual revision.
9 * Datamanual revision that was used should be updated in comment below.
10 * If there is no update to datamanual, do not update the values. If you
11 * need to use values different from that recommended by the datamanual
12 * for your design, then you should consider adding values to the device-
13 * -tree file for your board directly.
14 * b) We keep the mode names as close to the datamanual as possible. So
15 * if the manual calls a mode, DDR50, or DDR or DDR 1.8v or DDR 3.3v,
16 * we follow that in code too.
17 * c) If the values change between multiple revisions of silicon, we add
18 * a revision tag to both the new and old entry. Use 'rev11' for PG 1.1,
19 * 'rev20' for PG 2.0 and so on.
20 * d) The node name and node label should be the exact same string. This is
21 * to curb naming creativity and achieve consistency.
22 *
23 * Datamanual Revisions:
24 *
25 * DRA76x Silicon Revision 1.0: SPRS993A, Revised July 2017
26 *
27 */
28
29&dra7_pmx_core {
30 mmc1_pins_default: mmc1_pins_default {
31 pinctrl-single,pins = <
32 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
33 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
34 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
35 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
36 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
37 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
38 >;
39 };
40
41 mmc1_pins_hs: mmc1_pins_hs {
42 pinctrl-single,pins = <
43 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_clk.clk */
44 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_cmd.cmd */
45 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat0.dat0 */
46 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat1.dat1 */
47 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat2.dat2 */
48 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0) /* mmc1_dat3.dat3 */
49 >;
50 };
51
52 mmc1_pins_sdr50: mmc1_pins_sdr50 {
53 pinctrl-single,pins = <
54 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_clk.clk */
55 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_cmd.cmd */
56 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat0.dat0 */
57 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat1.dat1 */
58 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat2.dat2 */
59 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE10 | MUX_MODE0) /* mmc1_dat3.dat3 */
60 >;
61 };
62
63 mmc1_pins_ddr50: mmc1_pins_ddr50 {
64 pinctrl-single,pins = <
65 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_clk.clk */
66 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_cmd.cmd */
67 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat0.dat0 */
68 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat1.dat1 */
69 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat2.dat2 */
70 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0) /* mmc1_dat3.dat3 */
71 >;
72 };
73
74 mmc2_pins_default: mmc2_pins_default {
75 pinctrl-single,pins = <
76 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
77 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
78 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
79 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
80 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
81 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
82 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
83 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
84 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
85 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
86 >;
87 };
88
89 mmc2_pins_hs200: mmc2_pins_hs200 {
90 pinctrl-single,pins = <
91 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a23.mmc2_clk */
92 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
93 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
94 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
95 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
96 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
97 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
98 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
99 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
100 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
101 >;
102 };
103
104 mmc3_pins_default: mmc3_pins_default {
105 pinctrl-single,pins = <
106 DRA7XX_CORE_IOPAD(0x377c, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_clk.mmc3_clk */
107 DRA7XX_CORE_IOPAD(0x3780, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_cmd.mmc3_cmd */
108 DRA7XX_CORE_IOPAD(0x3784, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat0.mmc3_dat0 */
109 DRA7XX_CORE_IOPAD(0x3788, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat1.mmc3_dat1 */
110 DRA7XX_CORE_IOPAD(0x378c, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat2.mmc3_dat2 */
111 DRA7XX_CORE_IOPAD(0x3790, (PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE0)) /* mmc3_dat3.mmc3_dat3 */
112 >;
113 };
114
115 mmc4_pins_hs: mmc4_pins_hs {
116 pinctrl-single,pins = <
117 DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_ctsn.mmc4_clk */
118 DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart1_rtsn.mmc4_cmd */
119 DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rxd.mmc4_dat0 */
120 DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_txd.mmc4_dat1 */
121 DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_ctsn.mmc4_dat2 */
122 DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rtsn.mmc4_dat3 */
123 >;
124 };
125};
126
127&dra7_iodelay_core {
128
129 /* Corresponds to MMC1_DDR_MANUAL1 in datamanual */
130 mmc1_iodelay_ddr_conf: mmc1_iodelay_ddr_conf {
131 pinctrl-pin-array = <
132 0x618 A_DELAY_PS(489) G_DELAY_PS(0) /* CFG_MMC1_CLK_IN */
133 0x624 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_IN */
134 0x630 A_DELAY_PS(374) G_DELAY_PS(0) /* CFG_MMC1_DAT0_IN */
135 0x63c A_DELAY_PS(31) G_DELAY_PS(0) /* CFG_MMC1_DAT1_IN */
136 0x648 A_DELAY_PS(56) G_DELAY_PS(0) /* CFG_MMC1_DAT2_IN */
137 0x654 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_IN */
138 0x620 A_DELAY_PS(1355) G_DELAY_PS(0) /* CFG_MMC1_CLK_OUT */
139 0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
140 0x62c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
141 0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
142 0x638 A_DELAY_PS(0) G_DELAY_PS(4) /* CFG_MMC1_DAT0_OUT */
143 0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
144 0x644 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
145 0x64c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
146 0x650 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
147 0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
148 0x65c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
149 >;
150 };
151
152 /* Corresponds to MMC1_SDR104_MANUAL1 in datamanual */
153 mmc1_iodelay_sdr104_conf: mmc1_iodelay_sdr104_conf {
154 pinctrl-pin-array = <
155 0x620 A_DELAY_PS(892) G_DELAY_PS(0) /* CFG_MMC1_CLK_OUT */
156 0x628 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OEN */
157 0x62c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_CMD_OUT */
158 0x634 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OEN */
159 0x638 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT0_OUT */
160 0x640 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OEN */
161 0x644 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT1_OUT */
162 0x64c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OEN */
163 0x650 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT2_OUT */
164 0x658 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OEN */
165 0x65c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC1_DAT3_OUT */
166 >;
167 };
168
169 /* Corresponds to MMC2_HS200_MANUAL1 in datamanual */
170 mmc2_iodelay_hs200_conf: mmc2_iodelay_hs200_conf {
171 pinctrl-pin-array = <
172 0x190 A_DELAY_PS(384) G_DELAY_PS(0) /* CFG_GPMC_A19_OEN */
173 0x194 A_DELAY_PS(0) G_DELAY_PS(174) /* CFG_GPMC_A19_OUT */
174 0x1a8 A_DELAY_PS(410) G_DELAY_PS(0) /* CFG_GPMC_A20_OEN */
175 0x1ac A_DELAY_PS(85) G_DELAY_PS(0) /* CFG_GPMC_A20_OUT */
176 0x1b4 A_DELAY_PS(468) G_DELAY_PS(0) /* CFG_GPMC_A21_OEN */
177 0x1b8 A_DELAY_PS(139) G_DELAY_PS(0) /* CFG_GPMC_A21_OUT */
178 0x1c0 A_DELAY_PS(676) G_DELAY_PS(0) /* CFG_GPMC_A22_OEN */
179 0x1c4 A_DELAY_PS(69) G_DELAY_PS(0) /* CFG_GPMC_A22_OUT */
180 0x1d0 A_DELAY_PS(1062) G_DELAY_PS(154) /* CFG_GPMC_A23_OUT */
181 0x1d8 A_DELAY_PS(640) G_DELAY_PS(0) /* CFG_GPMC_A24_OEN */
182 0x1dc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A24_OUT */
183 0x1e4 A_DELAY_PS(356) G_DELAY_PS(0) /* CFG_GPMC_A25_OEN */
184 0x1e8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A25_OUT */
185 0x1f0 A_DELAY_PS(579) G_DELAY_PS(0) /* CFG_GPMC_A26_OEN */
186 0x1f4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_GPMC_A26_OUT */
187 0x1fc A_DELAY_PS(435) G_DELAY_PS(0) /* CFG_GPMC_A27_OEN */
188 0x200 A_DELAY_PS(36) G_DELAY_PS(0) /* CFG_GPMC_A27_OUT */
189 0x364 A_DELAY_PS(759) G_DELAY_PS(0) /* CFG_GPMC_CS1_OEN */
190 0x368 A_DELAY_PS(72) G_DELAY_PS(0) /* CFG_GPMC_CS1_OUT */
191 >;
192 };
193
194 /* Corresponds to MMC3_MANUAL1 in datamanual */
195 mmc3_iodelay_manual1_conf: mmc3_iodelay_manual1_conf {
196 pinctrl-pin-array = <
197 0x678 A_DELAY_PS(0) G_DELAY_PS(386) /* CFG_MMC3_CLK_IN */
198 0x680 A_DELAY_PS(605) G_DELAY_PS(0) /* CFG_MMC3_CLK_OUT */
199 0x684 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_IN */
200 0x688 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OEN */
201 0x68c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OUT */
202 0x690 A_DELAY_PS(171) G_DELAY_PS(0) /* CFG_MMC3_DAT0_IN */
203 0x694 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OEN */
204 0x698 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OUT */
205 0x69c A_DELAY_PS(221) G_DELAY_PS(0) /* CFG_MMC3_DAT1_IN */
206 0x6a0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OEN */
207 0x6a4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OUT */
208 0x6a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_IN */
209 0x6ac A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OEN */
210 0x6b0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OUT */
211 0x6b4 A_DELAY_PS(474) G_DELAY_PS(0) /* CFG_MMC3_DAT3_IN */
212 0x6b8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OEN */
213 0x6bc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OUT */
214 >;
215 };
216
217 /* Corresponds to MMC3_MANUAL2 in datamanual */
218 mmc3_iodelay_sdr50_conf: mmc3_iodelay_sdr50_conf {
219 pinctrl-pin-array = <
220 0x678 A_DELAY_PS(852) G_DELAY_PS(0) /* CFG_MMC3_CLK_IN */
221 0x680 A_DELAY_PS(94) G_DELAY_PS(0) /* CFG_MMC3_CLK_OUT */
222 0x684 A_DELAY_PS(122) G_DELAY_PS(0) /* CFG_MMC3_CMD_IN */
223 0x688 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OEN */
224 0x68c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_CMD_OUT */
225 0x690 A_DELAY_PS(91) G_DELAY_PS(0) /* CFG_MMC3_DAT0_IN */
226 0x694 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OEN */
227 0x698 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT0_OUT */
228 0x69c A_DELAY_PS(57) G_DELAY_PS(0) /* CFG_MMC3_DAT1_IN */
229 0x6a0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OEN */
230 0x6a4 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT1_OUT */
231 0x6a8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_IN */
232 0x6ac A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OEN */
233 0x6b0 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT2_OUT */
234 0x6b4 A_DELAY_PS(375) G_DELAY_PS(0) /* CFG_MMC3_DAT3_IN */
235 0x6b8 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OEN */
236 0x6bc A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_MMC3_DAT3_OUT */
237 >;
238 };
239
240 /* Corresponds to MMC4_MANUAL1 in datamanual */
241 mmc4_iodelay_manual1_conf: mmc4_iodelay_manual1_conf {
242 pinctrl-pin-array = <
243 0x840 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_IN */
244 0x848 A_DELAY_PS(1147) G_DELAY_PS(0) /* CFG_UART1_CTSN_OUT */
245 0x84c A_DELAY_PS(1834) G_DELAY_PS(0) /* CFG_UART1_RTSN_IN */
246 0x850 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OEN */
247 0x854 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OUT */
248 0x870 A_DELAY_PS(2165) G_DELAY_PS(0) /* CFG_UART2_CTSN_IN */
249 0x874 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OEN */
250 0x878 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OUT */
251 0x87c A_DELAY_PS(1929) G_DELAY_PS(64) /* CFG_UART2_RTSN_IN */
252 0x880 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OEN */
253 0x884 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OUT */
254 0x888 A_DELAY_PS(1935) G_DELAY_PS(128) /* CFG_UART2_RXD_IN */
255 0x88c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OEN */
256 0x890 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OUT */
257 0x894 A_DELAY_PS(2172) G_DELAY_PS(44) /* CFG_UART2_TXD_IN */
258 0x898 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OEN */
259 0x89c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OUT */
260 >;
261 };
262
263 /* Corresponds to MMC4_DS_MANUAL1 in datamanual */
264 mmc4_iodelay_default_conf: mmc4_iodelay_default_conf {
265 pinctrl-pin-array = <
266 0x840 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_IN */
267 0x848 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_CTSN_OUT */
268 0x84c A_DELAY_PS(307) G_DELAY_PS(0) /* CFG_UART1_RTSN_IN */
269 0x850 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OEN */
270 0x854 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART1_RTSN_OUT */
271 0x870 A_DELAY_PS(785) G_DELAY_PS(0) /* CFG_UART2_CTSN_IN */
272 0x874 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OEN */
273 0x878 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_CTSN_OUT */
274 0x87c A_DELAY_PS(613) G_DELAY_PS(0) /* CFG_UART2_RTSN_IN */
275 0x880 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OEN */
276 0x884 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RTSN_OUT */
277 0x888 A_DELAY_PS(683) G_DELAY_PS(0) /* CFG_UART2_RXD_IN */
278 0x88c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OEN */
279 0x890 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_RXD_OUT */
280 0x894 A_DELAY_PS(835) G_DELAY_PS(0) /* CFG_UART2_TXD_IN */
281 0x898 A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OEN */
282 0x89c A_DELAY_PS(0) G_DELAY_PS(0) /* CFG_UART2_TXD_OUT */
283 >;
284 };
285};
diff --git a/arch/arm/boot/dts/emev2-kzm9d.dts b/arch/arm/boot/dts/emev2-kzm9d.dts
index 60d0a732833a..c238407133bf 100644
--- a/arch/arm/boot/dts/emev2-kzm9d.dts
+++ b/arch/arm/boot/dts/emev2-kzm9d.dts
@@ -38,28 +38,28 @@
38 #size-cells = <0>; 38 #size-cells = <0>;
39 39
40 one { 40 one {
41 debounce_interval = <50>; 41 debounce-interval = <50>;
42 wakeup-source; 42 wakeup-source;
43 label = "DSW2-1"; 43 label = "DSW2-1";
44 linux,code = <KEY_1>; 44 linux,code = <KEY_1>;
45 gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; 45 gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
46 }; 46 };
47 two { 47 two {
48 debounce_interval = <50>; 48 debounce-interval = <50>;
49 wakeup-source; 49 wakeup-source;
50 label = "DSW2-2"; 50 label = "DSW2-2";
51 linux,code = <KEY_2>; 51 linux,code = <KEY_2>;
52 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; 52 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
53 }; 53 };
54 three { 54 three {
55 debounce_interval = <50>; 55 debounce-interval = <50>;
56 wakeup-source; 56 wakeup-source;
57 label = "DSW2-3"; 57 label = "DSW2-3";
58 linux,code = <KEY_3>; 58 linux,code = <KEY_3>;
59 gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; 59 gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
60 }; 60 };
61 four { 61 four {
62 debounce_interval = <50>; 62 debounce-interval = <50>;
63 wakeup-source; 63 wakeup-source;
64 label = "DSW2-4"; 64 label = "DSW2-4";
65 linux,code = <KEY_4>; 65 linux,code = <KEY_4>;
diff --git a/arch/arm/boot/dts/exynos-mfc-reserved-memory.dtsi b/arch/arm/boot/dts/exynos-mfc-reserved-memory.dtsi
index 25186ac4188d..1dbf3bbff8d3 100644
--- a/arch/arm/boot/dts/exynos-mfc-reserved-memory.dtsi
+++ b/arch/arm/boot/dts/exynos-mfc-reserved-memory.dtsi
@@ -1,11 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Samsung's Exynos SoC MFC (Video Codec) reserved memory common definition. 3 * Samsung's Exynos SoC MFC (Video Codec) reserved memory common definition.
3 * 4 *
4 * Copyright (c) 2016 Samsung Electronics Co., Ltd 5 * Copyright (c) 2016 Samsung Electronics Co., Ltd
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */ 6 */
10 7
11/ { 8/ {
diff --git a/arch/arm/boot/dts/exynos-syscon-restart.dtsi b/arch/arm/boot/dts/exynos-syscon-restart.dtsi
index 09a2040054ed..4b3dd0549a54 100644
--- a/arch/arm/boot/dts/exynos-syscon-restart.dtsi
+++ b/arch/arm/boot/dts/exynos-syscon-restart.dtsi
@@ -1,9 +1,6 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Samsung's Exynos SoC syscon reboot/poweroff nodes common definition. 3 * Samsung's Exynos SoC syscon reboot/poweroff nodes common definition.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */ 4 */
8 5
9/ { 6/ {
diff --git a/arch/arm/boot/dts/exynos3250-artik5.dtsi b/arch/arm/boot/dts/exynos3250-artik5.dtsi
index 0aa577fe9f95..620b50c19ead 100644
--- a/arch/arm/boot/dts/exynos3250-artik5.dtsi
+++ b/arch/arm/boot/dts/exynos3250-artik5.dtsi
@@ -245,6 +245,7 @@
245 regulator-name = "VLDO23_1.8V"; 245 regulator-name = "VLDO23_1.8V";
246 regulator-min-microvolt = <1800000>; 246 regulator-min-microvolt = <1800000>;
247 regulator-max-microvolt = <1800000>; 247 regulator-max-microvolt = <1800000>;
248 regulator-always-on;
248 }; 249 };
249 250
250 ldo24_reg: LDO24 { 251 ldo24_reg: LDO24 {
@@ -316,6 +317,41 @@
316 status = "okay"; 317 status = "okay";
317}; 318};
318 319
320&mshc_1 {
321 cap-sd-highspeed;
322 cap-sdio-irq;
323 disable-wp;
324 non-removable;
325 keep-power-in-suspend;
326 fifo-depth = <0x40>;
327 vqmmc-supply = <&ldo11_reg>;
328 /*
329 * Voltage negotiation is broken for the SDIO periph so we
330 * can't actually set the voltage here.
331 * vmmc-supply = <&ldo23_reg>;
332 */
333 card-detect-delay = <500>;
334 clock-frequency = <100000000>;
335 max-frequency = <100000000>;
336 samsung,dw-mshc-ciu-div = <3>;
337 samsung,dw-mshc-sdr-timing = <0 1>;
338 samsung,dw-mshc-ddr-timing = <1 2>;
339 pinctrl-names = "default";
340 pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
341 bus-width = <4>;
342 status = "okay";
343};
344
345&pinctrl_1 {
346 wlanen: wlanen {
347 samsung,pins = "gpx2-3";
348 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
349 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
350 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
351 samsung,pin-val = <1>;
352 };
353};
354
319&rtc { 355&rtc {
320 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>; 356 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
321 clock-names = "rtc", "rtc_src"; 357 clock-names = "rtc", "rtc_src";
diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
index b8fb94f5daa8..0a5f989d963b 100644
--- a/arch/arm/boot/dts/exynos3250.dtsi
+++ b/arch/arm/boot/dts/exynos3250.dtsi
@@ -161,34 +161,39 @@
161 syscon = <&pmu_system_controller>; 161 syscon = <&pmu_system_controller>;
162 }; 162 };
163 163
164 pd_cam: cam-power-domain@10023c00 { 164 pd_cam: power-domain@10023c00 {
165 compatible = "samsung,exynos4210-pd"; 165 compatible = "samsung,exynos4210-pd";
166 reg = <0x10023C00 0x20>; 166 reg = <0x10023C00 0x20>;
167 #power-domain-cells = <0>; 167 #power-domain-cells = <0>;
168 label = "CAM";
168 }; 169 };
169 170
170 pd_mfc: mfc-power-domain@10023c40 { 171 pd_mfc: power-domain@10023c40 {
171 compatible = "samsung,exynos4210-pd"; 172 compatible = "samsung,exynos4210-pd";
172 reg = <0x10023C40 0x20>; 173 reg = <0x10023C40 0x20>;
173 #power-domain-cells = <0>; 174 #power-domain-cells = <0>;
175 label = "MFC";
174 }; 176 };
175 177
176 pd_g3d: g3d-power-domain@10023c60 { 178 pd_g3d: power-domain@10023c60 {
177 compatible = "samsung,exynos4210-pd"; 179 compatible = "samsung,exynos4210-pd";
178 reg = <0x10023C60 0x20>; 180 reg = <0x10023C60 0x20>;
179 #power-domain-cells = <0>; 181 #power-domain-cells = <0>;
182 label = "G3D";
180 }; 183 };
181 184
182 pd_lcd0: lcd0-power-domain@10023c80 { 185 pd_lcd0: power-domain@10023c80 {
183 compatible = "samsung,exynos4210-pd"; 186 compatible = "samsung,exynos4210-pd";
184 reg = <0x10023C80 0x20>; 187 reg = <0x10023C80 0x20>;
185 #power-domain-cells = <0>; 188 #power-domain-cells = <0>;
189 label = "LCD0";
186 }; 190 };
187 191
188 pd_isp: isp-power-domain@10023ca0 { 192 pd_isp: power-domain@10023ca0 {
189 compatible = "samsung,exynos4210-pd"; 193 compatible = "samsung,exynos4210-pd";
190 reg = <0x10023CA0 0x20>; 194 reg = <0x10023CA0 0x20>;
191 #power-domain-cells = <0>; 195 #power-domain-cells = <0>;
196 label = "ISP";
192 }; 197 };
193 198
194 cmu: clock-controller@10030000 { 199 cmu: clock-controller@10030000 {
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
index 6d59cc827649..909a9f2bf5be 100644
--- a/arch/arm/boot/dts/exynos4.dtsi
+++ b/arch/arm/boot/dts/exynos4.dtsi
@@ -52,961 +52,976 @@
52 serial3 = &serial_3; 52 serial3 = &serial_3;
53 }; 53 };
54 54
55 clock_audss: clock-controller@3810000 { 55 soc: soc {
56 compatible = "samsung,exynos4210-audss-clock"; 56 compatible = "simple-bus";
57 reg = <0x03810000 0x0C>; 57 #address-cells = <1>;
58 #clock-cells = <1>; 58 #size-cells = <1>;
59 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_FOUT_EPLL>, 59 ranges;
60 <&clock CLK_SCLK_AUDIO0>, <&clock CLK_SCLK_AUDIO0>;
61 clock-names = "pll_ref", "pll_in", "sclk_audio", "sclk_pcm_in";
62 };
63
64 i2s0: i2s@3830000 {
65 compatible = "samsung,s5pv210-i2s";
66 reg = <0x03830000 0x100>;
67 clocks = <&clock_audss EXYNOS_I2S_BUS>,
68 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
69 <&clock_audss EXYNOS_SCLK_I2S>;
70 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
71 #clock-cells = <1>;
72 clock-output-names = "i2s_cdclk0";
73 dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
74 dma-names = "tx", "rx", "tx-sec";
75 samsung,idma-addr = <0x03000000>;
76 #sound-dai-cells = <1>;
77 status = "disabled";
78 };
79 60
80 chipid@10000000 { 61 clock_audss: clock-controller@3810000 {
81 compatible = "samsung,exynos4210-chipid"; 62 compatible = "samsung,exynos4210-audss-clock";
82 reg = <0x10000000 0x100>; 63 reg = <0x03810000 0x0C>;
83 }; 64 #clock-cells = <1>;
65 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_FOUT_EPLL>,
66 <&clock CLK_SCLK_AUDIO0>,
67 <&clock CLK_SCLK_AUDIO0>;
68 clock-names = "pll_ref", "pll_in", "sclk_audio",
69 "sclk_pcm_in";
70 };
84 71
85 scu: snoop-control-unit@10500000 { 72 i2s0: i2s@3830000 {
86 compatible = "arm,cortex-a9-scu"; 73 compatible = "samsung,s5pv210-i2s";
87 reg = <0x10500000 0x2000>; 74 reg = <0x03830000 0x100>;
88 }; 75 clocks = <&clock_audss EXYNOS_I2S_BUS>,
76 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
77 <&clock_audss EXYNOS_SCLK_I2S>;
78 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
79 #clock-cells = <1>;
80 clock-output-names = "i2s_cdclk0";
81 dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
82 dma-names = "tx", "rx", "tx-sec";
83 samsung,idma-addr = <0x03000000>;
84 #sound-dai-cells = <1>;
85 status = "disabled";
86 };
89 87
90 memory-controller@12570000 { 88 chipid@10000000 {
91 compatible = "samsung,exynos4210-srom"; 89 compatible = "samsung,exynos4210-chipid";
92 reg = <0x12570000 0x14>; 90 reg = <0x10000000 0x100>;
93 }; 91 };
94 92
95 mipi_phy: video-phy { 93 scu: snoop-control-unit@10500000 {
96 compatible = "samsung,s5pv210-mipi-video-phy"; 94 compatible = "arm,cortex-a9-scu";
97 #phy-cells = <1>; 95 reg = <0x10500000 0x2000>;
98 syscon = <&pmu_system_controller>; 96 };
99 };
100 97
101 pd_mfc: mfc-power-domain@10023c40 { 98 memory-controller@12570000 {
102 compatible = "samsung,exynos4210-pd"; 99 compatible = "samsung,exynos4210-srom";
103 reg = <0x10023C40 0x20>; 100 reg = <0x12570000 0x14>;
104 #power-domain-cells = <0>; 101 };
105 label = "MFC";
106 };
107 102
108 pd_g3d: g3d-power-domain@10023c60 { 103 mipi_phy: video-phy {
109 compatible = "samsung,exynos4210-pd"; 104 compatible = "samsung,s5pv210-mipi-video-phy";
110 reg = <0x10023C60 0x20>; 105 #phy-cells = <1>;
111 #power-domain-cells = <0>; 106 syscon = <&pmu_system_controller>;
112 label = "G3D"; 107 };
113 };
114 108
115 pd_lcd0: lcd0-power-domain@10023c80 { 109 pd_mfc: mfc-power-domain@10023c40 {
116 compatible = "samsung,exynos4210-pd"; 110 compatible = "samsung,exynos4210-pd";
117 reg = <0x10023C80 0x20>; 111 reg = <0x10023C40 0x20>;
118 #power-domain-cells = <0>; 112 #power-domain-cells = <0>;
119 label = "LCD0"; 113 label = "MFC";
120 }; 114 };
121 115
122 pd_tv: tv-power-domain@10023c20 { 116 pd_g3d: g3d-power-domain@10023c60 {
123 compatible = "samsung,exynos4210-pd"; 117 compatible = "samsung,exynos4210-pd";
124 reg = <0x10023C20 0x20>; 118 reg = <0x10023C60 0x20>;
125 #power-domain-cells = <0>; 119 #power-domain-cells = <0>;
126 power-domains = <&pd_lcd0>; 120 label = "G3D";
127 label = "TV"; 121 };
128 };
129 122
130 pd_cam: cam-power-domain@10023c00 { 123 pd_lcd0: lcd0-power-domain@10023c80 {
131 compatible = "samsung,exynos4210-pd"; 124 compatible = "samsung,exynos4210-pd";
132 reg = <0x10023C00 0x20>; 125 reg = <0x10023C80 0x20>;
133 #power-domain-cells = <0>; 126 #power-domain-cells = <0>;
134 label = "CAM"; 127 label = "LCD0";
135 }; 128 };
136 129
137 pd_gps: gps-power-domain@10023ce0 { 130 pd_tv: tv-power-domain@10023c20 {
138 compatible = "samsung,exynos4210-pd"; 131 compatible = "samsung,exynos4210-pd";
139 reg = <0x10023CE0 0x20>; 132 reg = <0x10023C20 0x20>;
140 #power-domain-cells = <0>; 133 #power-domain-cells = <0>;
141 label = "GPS"; 134 power-domains = <&pd_lcd0>;
142 }; 135 label = "TV";
136 };
143 137
144 pd_gps_alive: gps-alive-power-domain@10023d00 { 138 pd_cam: cam-power-domain@10023c00 {
145 compatible = "samsung,exynos4210-pd"; 139 compatible = "samsung,exynos4210-pd";
146 reg = <0x10023D00 0x20>; 140 reg = <0x10023C00 0x20>;
147 #power-domain-cells = <0>; 141 #power-domain-cells = <0>;
148 label = "GPS alive"; 142 label = "CAM";
149 }; 143 };
150 144
151 gic: interrupt-controller@10490000 { 145 pd_gps: gps-power-domain@10023ce0 {
152 compatible = "arm,cortex-a9-gic"; 146 compatible = "samsung,exynos4210-pd";
153 #interrupt-cells = <3>; 147 reg = <0x10023CE0 0x20>;
154 interrupt-controller; 148 #power-domain-cells = <0>;
155 reg = <0x10490000 0x10000>, <0x10480000 0x10000>; 149 label = "GPS";
156 }; 150 };
157 151
158 combiner: interrupt-controller@10440000 { 152 pd_gps_alive: gps-alive-power-domain@10023d00 {
159 compatible = "samsung,exynos4210-combiner"; 153 compatible = "samsung,exynos4210-pd";
160 #interrupt-cells = <2>; 154 reg = <0x10023D00 0x20>;
161 interrupt-controller; 155 #power-domain-cells = <0>;
162 reg = <0x10440000 0x1000>; 156 label = "GPS alive";
163 }; 157 };
164 158
165 pmu { 159 gic: interrupt-controller@10490000 {
166 compatible = "arm,cortex-a9-pmu"; 160 compatible = "arm,cortex-a9-gic";
167 interrupt-parent = <&combiner>; 161 #interrupt-cells = <3>;
168 interrupts = <2 2>, <3 2>; 162 interrupt-controller;
169 }; 163 reg = <0x10490000 0x10000>, <0x10480000 0x10000>;
164 };
170 165
171 sys_reg: syscon@10010000 { 166 combiner: interrupt-controller@10440000 {
172 compatible = "samsung,exynos4-sysreg", "syscon"; 167 compatible = "samsung,exynos4210-combiner";
173 reg = <0x10010000 0x400>; 168 #interrupt-cells = <2>;
174 }; 169 interrupt-controller;
170 reg = <0x10440000 0x1000>;
171 };
175 172
176 pmu_system_controller: system-controller@10020000 { 173 pmu: pmu {
177 compatible = "samsung,exynos4210-pmu", "syscon"; 174 compatible = "arm,cortex-a9-pmu";
178 reg = <0x10020000 0x4000>; 175 interrupt-parent = <&combiner>;
179 interrupt-controller; 176 interrupts = <2 2>, <3 2>;
180 #interrupt-cells = <3>; 177 };
181 interrupt-parent = <&gic>;
182 };
183 178
184 dsi_0: dsi@11c80000 { 179 sys_reg: syscon@10010000 {
185 compatible = "samsung,exynos4210-mipi-dsi"; 180 compatible = "samsung,exynos4-sysreg", "syscon";
186 reg = <0x11C80000 0x10000>; 181 reg = <0x10010000 0x400>;
187 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 182 };
188 power-domains = <&pd_lcd0>;
189 phys = <&mipi_phy 1>;
190 phy-names = "dsim";
191 clocks = <&clock CLK_DSIM0>, <&clock CLK_SCLK_MIPI0>;
192 clock-names = "bus_clk", "sclk_mipi";
193 status = "disabled";
194 #address-cells = <1>;
195 #size-cells = <0>;
196 };
197 183
198 camera { 184 pmu_system_controller: system-controller@10020000 {
199 compatible = "samsung,fimc", "simple-bus"; 185 compatible = "samsung,exynos4210-pmu", "syscon";
200 status = "disabled"; 186 reg = <0x10020000 0x4000>;
201 #address-cells = <1>; 187 interrupt-controller;
202 #size-cells = <1>; 188 #interrupt-cells = <3>;
203 #clock-cells = <1>; 189 interrupt-parent = <&gic>;
204 clock-output-names = "cam_a_clkout", "cam_b_clkout"; 190 };
205 ranges;
206 191
207 fimc_0: fimc@11800000 { 192 dsi_0: dsi@11c80000 {
208 compatible = "samsung,exynos4210-fimc"; 193 compatible = "samsung,exynos4210-mipi-dsi";
209 reg = <0x11800000 0x1000>; 194 reg = <0x11C80000 0x10000>;
210 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 195 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
211 clocks = <&clock CLK_FIMC0>, <&clock CLK_SCLK_FIMC0>; 196 power-domains = <&pd_lcd0>;
212 clock-names = "fimc", "sclk_fimc"; 197 phys = <&mipi_phy 1>;
213 power-domains = <&pd_cam>; 198 phy-names = "dsim";
214 samsung,sysreg = <&sys_reg>; 199 clocks = <&clock CLK_DSIM0>, <&clock CLK_SCLK_MIPI0>;
215 iommus = <&sysmmu_fimc0>; 200 clock-names = "bus_clk", "sclk_mipi";
216 status = "disabled"; 201 status = "disabled";
202 #address-cells = <1>;
203 #size-cells = <0>;
217 }; 204 };
218 205
219 fimc_1: fimc@11810000 { 206 camera: camera {
220 compatible = "samsung,exynos4210-fimc"; 207 compatible = "samsung,fimc", "simple-bus";
221 reg = <0x11810000 0x1000>;
222 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
223 clocks = <&clock CLK_FIMC1>, <&clock CLK_SCLK_FIMC1>;
224 clock-names = "fimc", "sclk_fimc";
225 power-domains = <&pd_cam>;
226 samsung,sysreg = <&sys_reg>;
227 iommus = <&sysmmu_fimc1>;
228 status = "disabled"; 208 status = "disabled";
209 #address-cells = <1>;
210 #size-cells = <1>;
211 #clock-cells = <1>;
212 clock-output-names = "cam_a_clkout", "cam_b_clkout";
213 ranges;
214
215 fimc_0: fimc@11800000 {
216 compatible = "samsung,exynos4210-fimc";
217 reg = <0x11800000 0x1000>;
218 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
219 clocks = <&clock CLK_FIMC0>,
220 <&clock CLK_SCLK_FIMC0>;
221 clock-names = "fimc", "sclk_fimc";
222 power-domains = <&pd_cam>;
223 samsung,sysreg = <&sys_reg>;
224 iommus = <&sysmmu_fimc0>;
225 status = "disabled";
226 };
227
228 fimc_1: fimc@11810000 {
229 compatible = "samsung,exynos4210-fimc";
230 reg = <0x11810000 0x1000>;
231 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
232 clocks = <&clock CLK_FIMC1>,
233 <&clock CLK_SCLK_FIMC1>;
234 clock-names = "fimc", "sclk_fimc";
235 power-domains = <&pd_cam>;
236 samsung,sysreg = <&sys_reg>;
237 iommus = <&sysmmu_fimc1>;
238 status = "disabled";
239 };
240
241 fimc_2: fimc@11820000 {
242 compatible = "samsung,exynos4210-fimc";
243 reg = <0x11820000 0x1000>;
244 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
245 clocks = <&clock CLK_FIMC2>,
246 <&clock CLK_SCLK_FIMC2>;
247 clock-names = "fimc", "sclk_fimc";
248 power-domains = <&pd_cam>;
249 samsung,sysreg = <&sys_reg>;
250 iommus = <&sysmmu_fimc2>;
251 status = "disabled";
252 };
253
254 fimc_3: fimc@11830000 {
255 compatible = "samsung,exynos4210-fimc";
256 reg = <0x11830000 0x1000>;
257 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
258 clocks = <&clock CLK_FIMC3>,
259 <&clock CLK_SCLK_FIMC3>;
260 clock-names = "fimc", "sclk_fimc";
261 power-domains = <&pd_cam>;
262 samsung,sysreg = <&sys_reg>;
263 iommus = <&sysmmu_fimc3>;
264 status = "disabled";
265 };
266
267 csis_0: csis@11880000 {
268 compatible = "samsung,exynos4210-csis";
269 reg = <0x11880000 0x4000>;
270 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
271 clocks = <&clock CLK_CSIS0>,
272 <&clock CLK_SCLK_CSIS0>;
273 clock-names = "csis", "sclk_csis";
274 bus-width = <4>;
275 power-domains = <&pd_cam>;
276 phys = <&mipi_phy 0>;
277 phy-names = "csis";
278 status = "disabled";
279 #address-cells = <1>;
280 #size-cells = <0>;
281 };
282
283 csis_1: csis@11890000 {
284 compatible = "samsung,exynos4210-csis";
285 reg = <0x11890000 0x4000>;
286 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
287 clocks = <&clock CLK_CSIS1>,
288 <&clock CLK_SCLK_CSIS1>;
289 clock-names = "csis", "sclk_csis";
290 bus-width = <2>;
291 power-domains = <&pd_cam>;
292 phys = <&mipi_phy 2>;
293 phy-names = "csis";
294 status = "disabled";
295 #address-cells = <1>;
296 #size-cells = <0>;
297 };
229 }; 298 };
230 299
231 fimc_2: fimc@11820000 { 300 rtc: rtc@10070000 {
232 compatible = "samsung,exynos4210-fimc"; 301 compatible = "samsung,s3c6410-rtc";
233 reg = <0x11820000 0x1000>; 302 reg = <0x10070000 0x100>;
234 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 303 interrupt-parent = <&pmu_system_controller>;
235 clocks = <&clock CLK_FIMC2>, <&clock CLK_SCLK_FIMC2>; 304 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
236 clock-names = "fimc", "sclk_fimc"; 305 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
237 power-domains = <&pd_cam>; 306 clocks = <&clock CLK_RTC>;
238 samsung,sysreg = <&sys_reg>; 307 clock-names = "rtc";
239 iommus = <&sysmmu_fimc2>;
240 status = "disabled"; 308 status = "disabled";
241 }; 309 };
242 310
243 fimc_3: fimc@11830000 { 311 keypad: keypad@100a0000 {
244 compatible = "samsung,exynos4210-fimc"; 312 compatible = "samsung,s5pv210-keypad";
245 reg = <0x11830000 0x1000>; 313 reg = <0x100A0000 0x100>;
246 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 314 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
247 clocks = <&clock CLK_FIMC3>, <&clock CLK_SCLK_FIMC3>; 315 clocks = <&clock CLK_KEYIF>;
248 clock-names = "fimc", "sclk_fimc"; 316 clock-names = "keypad";
249 power-domains = <&pd_cam>;
250 samsung,sysreg = <&sys_reg>;
251 iommus = <&sysmmu_fimc3>;
252 status = "disabled"; 317 status = "disabled";
253 }; 318 };
254 319
255 csis_0: csis@11880000 { 320 sdhci_0: sdhci@12510000 {
256 compatible = "samsung,exynos4210-csis"; 321 compatible = "samsung,exynos4210-sdhci";
257 reg = <0x11880000 0x4000>; 322 reg = <0x12510000 0x100>;
258 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 323 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
259 clocks = <&clock CLK_CSIS0>, <&clock CLK_SCLK_CSIS0>; 324 clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
260 clock-names = "csis", "sclk_csis"; 325 clock-names = "hsmmc", "mmc_busclk.2";
261 bus-width = <4>;
262 power-domains = <&pd_cam>;
263 phys = <&mipi_phy 0>;
264 phy-names = "csis";
265 status = "disabled"; 326 status = "disabled";
266 #address-cells = <1>;
267 #size-cells = <0>;
268 }; 327 };
269 328
270 csis_1: csis@11890000 { 329 sdhci_1: sdhci@12520000 {
271 compatible = "samsung,exynos4210-csis"; 330 compatible = "samsung,exynos4210-sdhci";
272 reg = <0x11890000 0x4000>; 331 reg = <0x12520000 0x100>;
273 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 332 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
274 clocks = <&clock CLK_CSIS1>, <&clock CLK_SCLK_CSIS1>; 333 clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>;
275 clock-names = "csis", "sclk_csis"; 334 clock-names = "hsmmc", "mmc_busclk.2";
276 bus-width = <2>;
277 power-domains = <&pd_cam>;
278 phys = <&mipi_phy 2>;
279 phy-names = "csis";
280 status = "disabled"; 335 status = "disabled";
281 #address-cells = <1>;
282 #size-cells = <0>;
283 }; 336 };
284 };
285
286 rtc: rtc@10070000 {
287 compatible = "samsung,s3c6410-rtc";
288 reg = <0x10070000 0x100>;
289 interrupt-parent = <&pmu_system_controller>;
290 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
291 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
292 clocks = <&clock CLK_RTC>;
293 clock-names = "rtc";
294 status = "disabled";
295 };
296
297 keypad: keypad@100a0000 {
298 compatible = "samsung,s5pv210-keypad";
299 reg = <0x100A0000 0x100>;
300 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
301 clocks = <&clock CLK_KEYIF>;
302 clock-names = "keypad";
303 status = "disabled";
304 };
305
306 sdhci_0: sdhci@12510000 {
307 compatible = "samsung,exynos4210-sdhci";
308 reg = <0x12510000 0x100>;
309 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
310 clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
311 clock-names = "hsmmc", "mmc_busclk.2";
312 status = "disabled";
313 };
314 337
315 sdhci_1: sdhci@12520000 { 338 sdhci_2: sdhci@12530000 {
316 compatible = "samsung,exynos4210-sdhci"; 339 compatible = "samsung,exynos4210-sdhci";
317 reg = <0x12520000 0x100>; 340 reg = <0x12530000 0x100>;
318 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 341 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
319 clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>; 342 clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>;
320 clock-names = "hsmmc", "mmc_busclk.2"; 343 clock-names = "hsmmc", "mmc_busclk.2";
321 status = "disabled"; 344 status = "disabled";
322 }; 345 };
323
324 sdhci_2: sdhci@12530000 {
325 compatible = "samsung,exynos4210-sdhci";
326 reg = <0x12530000 0x100>;
327 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
328 clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>;
329 clock-names = "hsmmc", "mmc_busclk.2";
330 status = "disabled";
331 };
332
333 sdhci_3: sdhci@12540000 {
334 compatible = "samsung,exynos4210-sdhci";
335 reg = <0x12540000 0x100>;
336 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
337 clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>;
338 clock-names = "hsmmc", "mmc_busclk.2";
339 status = "disabled";
340 };
341
342 exynos_usbphy: exynos-usbphy@125b0000 {
343 compatible = "samsung,exynos4210-usb2-phy";
344 reg = <0x125B0000 0x100>;
345 samsung,pmureg-phandle = <&pmu_system_controller>;
346 clocks = <&clock CLK_USB_DEVICE>, <&clock CLK_XUSBXTI>;
347 clock-names = "phy", "ref";
348 #phy-cells = <1>;
349 status = "disabled";
350 };
351
352 hsotg: hsotg@12480000 {
353 compatible = "samsung,s3c6400-hsotg";
354 reg = <0x12480000 0x20000>;
355 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
356 clocks = <&clock CLK_USB_DEVICE>;
357 clock-names = "otg";
358 phys = <&exynos_usbphy 0>;
359 phy-names = "usb2-phy";
360 status = "disabled";
361 };
362 346
363 ehci: ehci@12580000 { 347 sdhci_3: sdhci@12540000 {
364 compatible = "samsung,exynos4210-ehci"; 348 compatible = "samsung,exynos4210-sdhci";
365 reg = <0x12580000 0x100>; 349 reg = <0x12540000 0x100>;
366 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 350 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
367 clocks = <&clock CLK_USB_HOST>; 351 clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>;
368 clock-names = "usbhost"; 352 clock-names = "hsmmc", "mmc_busclk.2";
369 status = "disabled";
370 #address-cells = <1>;
371 #size-cells = <0>;
372 port@0 {
373 reg = <0>;
374 phys = <&exynos_usbphy 1>;
375 status = "disabled"; 353 status = "disabled";
376 }; 354 };
377 port@1 { 355
378 reg = <1>; 356 exynos_usbphy: exynos-usbphy@125b0000 {
379 phys = <&exynos_usbphy 2>; 357 compatible = "samsung,exynos4210-usb2-phy";
358 reg = <0x125B0000 0x100>;
359 samsung,pmureg-phandle = <&pmu_system_controller>;
360 clocks = <&clock CLK_USB_DEVICE>, <&clock CLK_XUSBXTI>;
361 clock-names = "phy", "ref";
362 #phy-cells = <1>;
380 status = "disabled"; 363 status = "disabled";
381 }; 364 };
382 port@2 { 365
383 reg = <2>; 366 hsotg: hsotg@12480000 {
384 phys = <&exynos_usbphy 3>; 367 compatible = "samsung,s3c6400-hsotg";
368 reg = <0x12480000 0x20000>;
369 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
370 clocks = <&clock CLK_USB_DEVICE>;
371 clock-names = "otg";
372 phys = <&exynos_usbphy 0>;
373 phy-names = "usb2-phy";
385 status = "disabled"; 374 status = "disabled";
386 }; 375 };
387 };
388 376
389 ohci: ohci@12590000 { 377 ehci: ehci@12580000 {
390 compatible = "samsung,exynos4210-ohci"; 378 compatible = "samsung,exynos4210-ehci";
391 reg = <0x12590000 0x100>; 379 reg = <0x12580000 0x100>;
392 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 380 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
393 clocks = <&clock CLK_USB_HOST>; 381 clocks = <&clock CLK_USB_HOST>;
394 clock-names = "usbhost"; 382 clock-names = "usbhost";
395 status = "disabled";
396 #address-cells = <1>;
397 #size-cells = <0>;
398 port@0 {
399 reg = <0>;
400 phys = <&exynos_usbphy 1>;
401 status = "disabled"; 383 status = "disabled";
384 #address-cells = <1>;
385 #size-cells = <0>;
386 port@0 {
387 reg = <0>;
388 phys = <&exynos_usbphy 1>;
389 status = "disabled";
390 };
391 port@1 {
392 reg = <1>;
393 phys = <&exynos_usbphy 2>;
394 status = "disabled";
395 };
396 port@2 {
397 reg = <2>;
398 phys = <&exynos_usbphy 3>;
399 status = "disabled";
400 };
402 }; 401 };
403 };
404 402
405 i2s1: i2s@13960000 { 403 ohci: ohci@12590000 {
406 compatible = "samsung,s3c6410-i2s"; 404 compatible = "samsung,exynos4210-ohci";
407 reg = <0x13960000 0x100>; 405 reg = <0x12590000 0x100>;
408 clocks = <&clock CLK_I2S1>; 406 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
409 clock-names = "iis"; 407 clocks = <&clock CLK_USB_HOST>;
410 #clock-cells = <1>; 408 clock-names = "usbhost";
411 clock-output-names = "i2s_cdclk1"; 409 status = "disabled";
412 dmas = <&pdma1 12>, <&pdma1 11>; 410 #address-cells = <1>;
413 dma-names = "tx", "rx"; 411 #size-cells = <0>;
414 #sound-dai-cells = <1>; 412 port@0 {
415 status = "disabled"; 413 reg = <0>;
416 }; 414 phys = <&exynos_usbphy 1>;
415 status = "disabled";
416 };
417 };
417 418
418 i2s2: i2s@13970000 { 419 i2s1: i2s@13960000 {
419 compatible = "samsung,s3c6410-i2s"; 420 compatible = "samsung,s3c6410-i2s";
420 reg = <0x13970000 0x100>; 421 reg = <0x13960000 0x100>;
421 clocks = <&clock CLK_I2S2>; 422 clocks = <&clock CLK_I2S1>;
422 clock-names = "iis"; 423 clock-names = "iis";
423 #clock-cells = <1>; 424 #clock-cells = <1>;
424 clock-output-names = "i2s_cdclk2"; 425 clock-output-names = "i2s_cdclk1";
425 dmas = <&pdma0 14>, <&pdma0 13>; 426 dmas = <&pdma1 12>, <&pdma1 11>;
426 dma-names = "tx", "rx"; 427 dma-names = "tx", "rx";
427 #sound-dai-cells = <1>; 428 #sound-dai-cells = <1>;
428 status = "disabled"; 429 status = "disabled";
429 }; 430 };
430 431
431 mfc: codec@13400000 { 432 i2s2: i2s@13970000 {
432 compatible = "samsung,mfc-v5"; 433 compatible = "samsung,s3c6410-i2s";
433 reg = <0x13400000 0x10000>; 434 reg = <0x13970000 0x100>;
434 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 435 clocks = <&clock CLK_I2S2>;
435 power-domains = <&pd_mfc>; 436 clock-names = "iis";
436 clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>; 437 #clock-cells = <1>;
437 clock-names = "mfc", "sclk_mfc"; 438 clock-output-names = "i2s_cdclk2";
438 iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>; 439 dmas = <&pdma0 14>, <&pdma0 13>;
439 iommu-names = "left", "right"; 440 dma-names = "tx", "rx";
440 }; 441 #sound-dai-cells = <1>;
442 status = "disabled";
443 };
441 444
442 serial_0: serial@13800000 { 445 mfc: codec@13400000 {
443 compatible = "samsung,exynos4210-uart"; 446 compatible = "samsung,mfc-v5";
444 reg = <0x13800000 0x100>; 447 reg = <0x13400000 0x10000>;
445 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 448 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
446 clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>; 449 power-domains = <&pd_mfc>;
447 clock-names = "uart", "clk_uart_baud0"; 450 clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
448 dmas = <&pdma0 15>, <&pdma0 16>; 451 clock-names = "mfc", "sclk_mfc";
449 dma-names = "rx", "tx"; 452 iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
450 status = "disabled"; 453 iommu-names = "left", "right";
451 }; 454 };
452 455
453 serial_1: serial@13810000 { 456 serial_0: serial@13800000 {
454 compatible = "samsung,exynos4210-uart"; 457 compatible = "samsung,exynos4210-uart";
455 reg = <0x13810000 0x100>; 458 reg = <0x13800000 0x100>;
456 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 459 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
457 clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>; 460 clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
458 clock-names = "uart", "clk_uart_baud0"; 461 clock-names = "uart", "clk_uart_baud0";
459 dmas = <&pdma1 15>, <&pdma1 16>; 462 dmas = <&pdma0 15>, <&pdma0 16>;
460 dma-names = "rx", "tx"; 463 dma-names = "rx", "tx";
461 status = "disabled"; 464 status = "disabled";
462 }; 465 };
463 466
464 serial_2: serial@13820000 { 467 serial_1: serial@13810000 {
465 compatible = "samsung,exynos4210-uart"; 468 compatible = "samsung,exynos4210-uart";
466 reg = <0x13820000 0x100>; 469 reg = <0x13810000 0x100>;
467 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 470 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
468 clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>; 471 clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
469 clock-names = "uart", "clk_uart_baud0"; 472 clock-names = "uart", "clk_uart_baud0";
470 dmas = <&pdma0 17>, <&pdma0 18>; 473 dmas = <&pdma1 15>, <&pdma1 16>;
471 dma-names = "rx", "tx"; 474 dma-names = "rx", "tx";
472 status = "disabled"; 475 status = "disabled";
473 }; 476 };
474 477
475 serial_3: serial@13830000 { 478 serial_2: serial@13820000 {
476 compatible = "samsung,exynos4210-uart"; 479 compatible = "samsung,exynos4210-uart";
477 reg = <0x13830000 0x100>; 480 reg = <0x13820000 0x100>;
478 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 481 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
479 clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>; 482 clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
480 clock-names = "uart", "clk_uart_baud0"; 483 clock-names = "uart", "clk_uart_baud0";
481 dmas = <&pdma1 17>, <&pdma1 18>; 484 dmas = <&pdma0 17>, <&pdma0 18>;
482 dma-names = "rx", "tx"; 485 dma-names = "rx", "tx";
483 status = "disabled"; 486 status = "disabled";
484 }; 487 };
485 488
486 i2c_0: i2c@13860000 { 489 serial_3: serial@13830000 {
487 #address-cells = <1>; 490 compatible = "samsung,exynos4210-uart";
488 #size-cells = <0>; 491 reg = <0x13830000 0x100>;
489 compatible = "samsung,s3c2440-i2c"; 492 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
490 reg = <0x13860000 0x100>; 493 clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
491 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 494 clock-names = "uart", "clk_uart_baud0";
492 clocks = <&clock CLK_I2C0>; 495 dmas = <&pdma1 17>, <&pdma1 18>;
493 clock-names = "i2c"; 496 dma-names = "rx", "tx";
494 pinctrl-names = "default"; 497 status = "disabled";
495 pinctrl-0 = <&i2c0_bus>; 498 };
496 status = "disabled";
497 };
498 499
499 i2c_1: i2c@13870000 { 500 i2c_0: i2c@13860000 {
500 #address-cells = <1>; 501 #address-cells = <1>;
501 #size-cells = <0>; 502 #size-cells = <0>;
502 compatible = "samsung,s3c2440-i2c"; 503 compatible = "samsung,s3c2440-i2c";
503 reg = <0x13870000 0x100>; 504 reg = <0x13860000 0x100>;
504 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 505 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
505 clocks = <&clock CLK_I2C1>; 506 clocks = <&clock CLK_I2C0>;
506 clock-names = "i2c"; 507 clock-names = "i2c";
507 pinctrl-names = "default"; 508 pinctrl-names = "default";
508 pinctrl-0 = <&i2c1_bus>; 509 pinctrl-0 = <&i2c0_bus>;
509 status = "disabled"; 510 status = "disabled";
510 }; 511 };
511 512
512 i2c_2: i2c@13880000 { 513 i2c_1: i2c@13870000 {
513 #address-cells = <1>; 514 #address-cells = <1>;
514 #size-cells = <0>; 515 #size-cells = <0>;
515 compatible = "samsung,s3c2440-i2c"; 516 compatible = "samsung,s3c2440-i2c";
516 reg = <0x13880000 0x100>; 517 reg = <0x13870000 0x100>;
517 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 518 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
518 clocks = <&clock CLK_I2C2>; 519 clocks = <&clock CLK_I2C1>;
519 clock-names = "i2c"; 520 clock-names = "i2c";
520 pinctrl-names = "default"; 521 pinctrl-names = "default";
521 pinctrl-0 = <&i2c2_bus>; 522 pinctrl-0 = <&i2c1_bus>;
522 status = "disabled"; 523 status = "disabled";
523 }; 524 };
524 525
525 i2c_3: i2c@13890000 { 526 i2c_2: i2c@13880000 {
526 #address-cells = <1>; 527 #address-cells = <1>;
527 #size-cells = <0>; 528 #size-cells = <0>;
528 compatible = "samsung,s3c2440-i2c"; 529 compatible = "samsung,s3c2440-i2c";
529 reg = <0x13890000 0x100>; 530 reg = <0x13880000 0x100>;
530 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 531 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
531 clocks = <&clock CLK_I2C3>; 532 clocks = <&clock CLK_I2C2>;
532 clock-names = "i2c"; 533 clock-names = "i2c";
533 pinctrl-names = "default"; 534 pinctrl-names = "default";
534 pinctrl-0 = <&i2c3_bus>; 535 pinctrl-0 = <&i2c2_bus>;
535 status = "disabled"; 536 status = "disabled";
536 }; 537 };
537 538
538 i2c_4: i2c@138a0000 { 539 i2c_3: i2c@13890000 {
539 #address-cells = <1>; 540 #address-cells = <1>;
540 #size-cells = <0>; 541 #size-cells = <0>;
541 compatible = "samsung,s3c2440-i2c"; 542 compatible = "samsung,s3c2440-i2c";
542 reg = <0x138A0000 0x100>; 543 reg = <0x13890000 0x100>;
543 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 544 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
544 clocks = <&clock CLK_I2C4>; 545 clocks = <&clock CLK_I2C3>;
545 clock-names = "i2c"; 546 clock-names = "i2c";
546 pinctrl-names = "default"; 547 pinctrl-names = "default";
547 pinctrl-0 = <&i2c4_bus>; 548 pinctrl-0 = <&i2c3_bus>;
548 status = "disabled"; 549 status = "disabled";
549 }; 550 };
550 551
551 i2c_5: i2c@138b0000 { 552 i2c_4: i2c@138a0000 {
552 #address-cells = <1>; 553 #address-cells = <1>;
553 #size-cells = <0>; 554 #size-cells = <0>;
554 compatible = "samsung,s3c2440-i2c"; 555 compatible = "samsung,s3c2440-i2c";
555 reg = <0x138B0000 0x100>; 556 reg = <0x138A0000 0x100>;
556 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 557 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
557 clocks = <&clock CLK_I2C5>; 558 clocks = <&clock CLK_I2C4>;
558 clock-names = "i2c"; 559 clock-names = "i2c";
559 pinctrl-names = "default"; 560 pinctrl-names = "default";
560 pinctrl-0 = <&i2c5_bus>; 561 pinctrl-0 = <&i2c4_bus>;
561 status = "disabled"; 562 status = "disabled";
562 }; 563 };
563 564
564 i2c_6: i2c@138c0000 { 565 i2c_5: i2c@138b0000 {
565 #address-cells = <1>; 566 #address-cells = <1>;
566 #size-cells = <0>; 567 #size-cells = <0>;
567 compatible = "samsung,s3c2440-i2c"; 568 compatible = "samsung,s3c2440-i2c";
568 reg = <0x138C0000 0x100>; 569 reg = <0x138B0000 0x100>;
569 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; 570 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
570 clocks = <&clock CLK_I2C6>; 571 clocks = <&clock CLK_I2C5>;
571 clock-names = "i2c"; 572 clock-names = "i2c";
572 pinctrl-names = "default"; 573 pinctrl-names = "default";
573 pinctrl-0 = <&i2c6_bus>; 574 pinctrl-0 = <&i2c5_bus>;
574 status = "disabled"; 575 status = "disabled";
575 }; 576 };
576 577
577 i2c_7: i2c@138d0000 { 578 i2c_6: i2c@138c0000 {
578 #address-cells = <1>; 579 #address-cells = <1>;
579 #size-cells = <0>; 580 #size-cells = <0>;
580 compatible = "samsung,s3c2440-i2c"; 581 compatible = "samsung,s3c2440-i2c";
581 reg = <0x138D0000 0x100>; 582 reg = <0x138C0000 0x100>;
582 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 583 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
583 clocks = <&clock CLK_I2C7>; 584 clocks = <&clock CLK_I2C6>;
584 clock-names = "i2c"; 585 clock-names = "i2c";
585 pinctrl-names = "default"; 586 pinctrl-names = "default";
586 pinctrl-0 = <&i2c7_bus>; 587 pinctrl-0 = <&i2c6_bus>;
587 status = "disabled"; 588 status = "disabled";
588 }; 589 };
589 590
590 i2c_8: i2c@138e0000 { 591 i2c_7: i2c@138d0000 {
591 #address-cells = <1>; 592 #address-cells = <1>;
592 #size-cells = <0>; 593 #size-cells = <0>;
593 compatible = "samsung,s3c2440-hdmiphy-i2c"; 594 compatible = "samsung,s3c2440-i2c";
594 reg = <0x138E0000 0x100>; 595 reg = <0x138D0000 0x100>;
595 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 596 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
596 clocks = <&clock CLK_I2C_HDMI>; 597 clocks = <&clock CLK_I2C7>;
597 clock-names = "i2c"; 598 clock-names = "i2c";
598 status = "disabled"; 599 pinctrl-names = "default";
599 600 pinctrl-0 = <&i2c7_bus>;
600 hdmi_i2c_phy: hdmiphy@38 { 601 status = "disabled";
601 compatible = "exynos4210-hdmiphy";
602 reg = <0x38>;
603 }; 602 };
604 };
605 603
606 spi_0: spi@13920000 { 604 i2c_8: i2c@138e0000 {
607 compatible = "samsung,exynos4210-spi"; 605 #address-cells = <1>;
608 reg = <0x13920000 0x100>; 606 #size-cells = <0>;
609 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 607 compatible = "samsung,s3c2440-hdmiphy-i2c";
610 dmas = <&pdma0 7>, <&pdma0 6>; 608 reg = <0x138E0000 0x100>;
611 dma-names = "tx", "rx"; 609 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
612 #address-cells = <1>; 610 clocks = <&clock CLK_I2C_HDMI>;
613 #size-cells = <0>; 611 clock-names = "i2c";
614 clocks = <&clock CLK_SPI0>, <&clock CLK_SCLK_SPI0>; 612 status = "disabled";
615 clock-names = "spi", "spi_busclk0";
616 pinctrl-names = "default";
617 pinctrl-0 = <&spi0_bus>;
618 status = "disabled";
619 };
620 613
621 spi_1: spi@13930000 { 614 hdmi_i2c_phy: hdmiphy@38 {
622 compatible = "samsung,exynos4210-spi"; 615 compatible = "exynos4210-hdmiphy";
623 reg = <0x13930000 0x100>; 616 reg = <0x38>;
624 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 617 };
625 dmas = <&pdma1 7>, <&pdma1 6>; 618 };
626 dma-names = "tx", "rx";
627 #address-cells = <1>;
628 #size-cells = <0>;
629 clocks = <&clock CLK_SPI1>, <&clock CLK_SCLK_SPI1>;
630 clock-names = "spi", "spi_busclk0";
631 pinctrl-names = "default";
632 pinctrl-0 = <&spi1_bus>;
633 status = "disabled";
634 };
635 619
636 spi_2: spi@13940000 { 620 spi_0: spi@13920000 {
637 compatible = "samsung,exynos4210-spi"; 621 compatible = "samsung,exynos4210-spi";
638 reg = <0x13940000 0x100>; 622 reg = <0x13920000 0x100>;
639 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 623 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
640 dmas = <&pdma0 9>, <&pdma0 8>; 624 dmas = <&pdma0 7>, <&pdma0 6>;
641 dma-names = "tx", "rx"; 625 dma-names = "tx", "rx";
642 #address-cells = <1>; 626 #address-cells = <1>;
643 #size-cells = <0>; 627 #size-cells = <0>;
644 clocks = <&clock CLK_SPI2>, <&clock CLK_SCLK_SPI2>; 628 clocks = <&clock CLK_SPI0>, <&clock CLK_SCLK_SPI0>;
645 clock-names = "spi", "spi_busclk0"; 629 clock-names = "spi", "spi_busclk0";
646 pinctrl-names = "default"; 630 pinctrl-names = "default";
647 pinctrl-0 = <&spi2_bus>; 631 pinctrl-0 = <&spi0_bus>;
648 status = "disabled"; 632 status = "disabled";
649 }; 633 };
650 634
651 pwm: pwm@139d0000 { 635 spi_1: spi@13930000 {
652 compatible = "samsung,exynos4210-pwm"; 636 compatible = "samsung,exynos4210-spi";
653 reg = <0x139D0000 0x1000>; 637 reg = <0x13930000 0x100>;
654 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 638 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
655 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 639 dmas = <&pdma1 7>, <&pdma1 6>;
656 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 640 dma-names = "tx", "rx";
657 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 641 #address-cells = <1>;
658 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 642 #size-cells = <0>;
659 clocks = <&clock CLK_PWM>; 643 clocks = <&clock CLK_SPI1>, <&clock CLK_SCLK_SPI1>;
660 clock-names = "timers"; 644 clock-names = "spi", "spi_busclk0";
661 #pwm-cells = <3>; 645 pinctrl-names = "default";
662 status = "disabled"; 646 pinctrl-0 = <&spi1_bus>;
663 }; 647 status = "disabled";
648 };
664 649
665 amba { 650 spi_2: spi@13940000 {
666 #address-cells = <1>; 651 compatible = "samsung,exynos4210-spi";
667 #size-cells = <1>; 652 reg = <0x13940000 0x100>;
668 compatible = "simple-bus"; 653 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
669 interrupt-parent = <&gic>; 654 dmas = <&pdma0 9>, <&pdma0 8>;
670 ranges; 655 dma-names = "tx", "rx";
656 #address-cells = <1>;
657 #size-cells = <0>;
658 clocks = <&clock CLK_SPI2>, <&clock CLK_SCLK_SPI2>;
659 clock-names = "spi", "spi_busclk0";
660 pinctrl-names = "default";
661 pinctrl-0 = <&spi2_bus>;
662 status = "disabled";
663 };
671 664
672 pdma0: pdma@12680000 { 665 pwm: pwm@139d0000 {
673 compatible = "arm,pl330", "arm,primecell"; 666 compatible = "samsung,exynos4210-pwm";
674 reg = <0x12680000 0x1000>; 667 reg = <0x139D0000 0x1000>;
675 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 668 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
676 clocks = <&clock CLK_PDMA0>; 669 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
677 clock-names = "apb_pclk"; 670 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
678 #dma-cells = <1>; 671 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
679 #dma-channels = <8>; 672 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
680 #dma-requests = <32>; 673 clocks = <&clock CLK_PWM>;
681 }; 674 clock-names = "timers";
682 675 #pwm-cells = <3>;
683 pdma1: pdma@12690000 { 676 status = "disabled";
684 compatible = "arm,pl330", "arm,primecell";
685 reg = <0x12690000 0x1000>;
686 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
687 clocks = <&clock CLK_PDMA1>;
688 clock-names = "apb_pclk";
689 #dma-cells = <1>;
690 #dma-channels = <8>;
691 #dma-requests = <32>;
692 };
693
694 mdma1: mdma@12850000 {
695 compatible = "arm,pl330", "arm,primecell";
696 reg = <0x12850000 0x1000>;
697 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
698 clocks = <&clock CLK_MDMA>;
699 clock-names = "apb_pclk";
700 #dma-cells = <1>;
701 #dma-channels = <8>;
702 #dma-requests = <1>;
703 }; 677 };
704 };
705 678
706 fimd: fimd@11c00000 { 679 amba {
707 compatible = "samsung,exynos4210-fimd"; 680 #address-cells = <1>;
708 interrupt-parent = <&combiner>; 681 #size-cells = <1>;
709 reg = <0x11c00000 0x20000>; 682 compatible = "simple-bus";
710 interrupt-names = "fifo", "vsync", "lcd_sys"; 683 interrupt-parent = <&gic>;
711 interrupts = <11 0>, <11 1>, <11 2>; 684 ranges;
712 clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>; 685
713 clock-names = "sclk_fimd", "fimd"; 686 pdma0: pdma@12680000 {
714 power-domains = <&pd_lcd0>; 687 compatible = "arm,pl330", "arm,primecell";
715 iommus = <&sysmmu_fimd0>; 688 reg = <0x12680000 0x1000>;
716 samsung,sysreg = <&sys_reg>; 689 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
717 status = "disabled"; 690 clocks = <&clock CLK_PDMA0>;
718 }; 691 clock-names = "apb_pclk";
692 #dma-cells = <1>;
693 #dma-channels = <8>;
694 #dma-requests = <32>;
695 };
696
697 pdma1: pdma@12690000 {
698 compatible = "arm,pl330", "arm,primecell";
699 reg = <0x12690000 0x1000>;
700 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
701 clocks = <&clock CLK_PDMA1>;
702 clock-names = "apb_pclk";
703 #dma-cells = <1>;
704 #dma-channels = <8>;
705 #dma-requests = <32>;
706 };
707
708 mdma1: mdma@12850000 {
709 compatible = "arm,pl330", "arm,primecell";
710 reg = <0x12850000 0x1000>;
711 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
712 clocks = <&clock CLK_MDMA>;
713 clock-names = "apb_pclk";
714 #dma-cells = <1>;
715 #dma-channels = <8>;
716 #dma-requests = <1>;
717 };
718 };
719 719
720 tmu: tmu@100c0000 { 720 fimd: fimd@11c00000 {
721 #include "exynos4412-tmu-sensor-conf.dtsi" 721 compatible = "samsung,exynos4210-fimd";
722 }; 722 interrupt-parent = <&combiner>;
723 reg = <0x11c00000 0x20000>;
724 interrupt-names = "fifo", "vsync", "lcd_sys";
725 interrupts = <11 0>, <11 1>, <11 2>;
726 clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>;
727 clock-names = "sclk_fimd", "fimd";
728 power-domains = <&pd_lcd0>;
729 iommus = <&sysmmu_fimd0>;
730 samsung,sysreg = <&sys_reg>;
731 status = "disabled";
732 };
723 733
724 jpeg_codec: jpeg-codec@11840000 { 734 tmu: tmu@100c0000 {
725 compatible = "samsung,exynos4210-jpeg"; 735 interrupt-parent = <&combiner>;
726 reg = <0x11840000 0x1000>; 736 reg = <0x100C0000 0x100>;
727 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 737 interrupts = <2 4>;
728 clocks = <&clock CLK_JPEG>; 738 status = "disabled";
729 clock-names = "jpeg"; 739 #include "exynos4412-tmu-sensor-conf.dtsi"
730 power-domains = <&pd_cam>; 740 };
731 iommus = <&sysmmu_jpeg>;
732 };
733 741
734 rotator: rotator@12810000 { 742 jpeg_codec: jpeg-codec@11840000 {
735 compatible = "samsung,exynos4210-rotator"; 743 compatible = "samsung,exynos4210-jpeg";
736 reg = <0x12810000 0x64>; 744 reg = <0x11840000 0x1000>;
737 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 745 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
738 clocks = <&clock CLK_ROTATOR>; 746 clocks = <&clock CLK_JPEG>;
739 clock-names = "rotator"; 747 clock-names = "jpeg";
740 iommus = <&sysmmu_rotator>; 748 power-domains = <&pd_cam>;
741 }; 749 iommus = <&sysmmu_jpeg>;
750 };
742 751
743 hdmi: hdmi@12d00000 { 752 rotator: rotator@12810000 {
744 compatible = "samsung,exynos4210-hdmi"; 753 compatible = "samsung,exynos4210-rotator";
745 reg = <0x12D00000 0x70000>; 754 reg = <0x12810000 0x64>;
746 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 755 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
747 clock-names = "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy", 756 clocks = <&clock CLK_ROTATOR>;
748 "mout_hdmi"; 757 clock-names = "rotator";
749 clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>, 758 iommus = <&sysmmu_rotator>;
750 <&clock CLK_SCLK_PIXEL>, <&clock CLK_SCLK_HDMIPHY>, 759 };
751 <&clock CLK_MOUT_HDMI>;
752 phy = <&hdmi_i2c_phy>;
753 power-domains = <&pd_tv>;
754 samsung,syscon-phandle = <&pmu_system_controller>;
755 #sound-dai-cells = <0>;
756 status = "disabled";
757 };
758 760
759 hdmicec: cec@100b0000 { 761 hdmi: hdmi@12d00000 {
760 compatible = "samsung,s5p-cec"; 762 compatible = "samsung,exynos4210-hdmi";
761 reg = <0x100B0000 0x200>; 763 reg = <0x12D00000 0x70000>;
762 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 764 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
763 clocks = <&clock CLK_HDMI_CEC>; 765 clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
764 clock-names = "hdmicec"; 766 "sclk_hdmiphy", "mout_hdmi";
765 samsung,syscon-phandle = <&pmu_system_controller>; 767 clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
766 hdmi-phandle = <&hdmi>; 768 <&clock CLK_SCLK_PIXEL>,
767 pinctrl-names = "default"; 769 <&clock CLK_SCLK_HDMIPHY>,
768 pinctrl-0 = <&hdmi_cec>; 770 <&clock CLK_MOUT_HDMI>;
769 status = "disabled"; 771 phy = <&hdmi_i2c_phy>;
770 }; 772 power-domains = <&pd_tv>;
773 samsung,syscon-phandle = <&pmu_system_controller>;
774 #sound-dai-cells = <0>;
775 status = "disabled";
776 };
771 777
772 mixer: mixer@12c10000 { 778 hdmicec: cec@100b0000 {
773 compatible = "samsung,exynos4210-mixer"; 779 compatible = "samsung,s5p-cec";
774 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 780 reg = <0x100B0000 0x200>;
775 reg = <0x12C10000 0x2100>, <0x12c00000 0x300>; 781 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
776 power-domains = <&pd_tv>; 782 clocks = <&clock CLK_HDMI_CEC>;
777 iommus = <&sysmmu_tv>; 783 clock-names = "hdmicec";
778 status = "disabled"; 784 samsung,syscon-phandle = <&pmu_system_controller>;
779 }; 785 hdmi-phandle = <&hdmi>;
786 pinctrl-names = "default";
787 pinctrl-0 = <&hdmi_cec>;
788 status = "disabled";
789 };
780 790
781 ppmu_dmc0: ppmu_dmc0@106a0000 { 791 mixer: mixer@12c10000 {
782 compatible = "samsung,exynos-ppmu"; 792 compatible = "samsung,exynos4210-mixer";
783 reg = <0x106a0000 0x2000>; 793 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
784 clocks = <&clock CLK_PPMUDMC0>; 794 reg = <0x12C10000 0x2100>, <0x12c00000 0x300>;
785 clock-names = "ppmu"; 795 power-domains = <&pd_tv>;
786 status = "disabled"; 796 iommus = <&sysmmu_tv>;
787 }; 797 status = "disabled";
798 };
788 799
789 ppmu_dmc1: ppmu_dmc1@106b0000 { 800 ppmu_dmc0: ppmu_dmc0@106a0000 {
790 compatible = "samsung,exynos-ppmu"; 801 compatible = "samsung,exynos-ppmu";
791 reg = <0x106b0000 0x2000>; 802 reg = <0x106a0000 0x2000>;
792 clocks = <&clock CLK_PPMUDMC1>; 803 clocks = <&clock CLK_PPMUDMC0>;
793 clock-names = "ppmu"; 804 clock-names = "ppmu";
794 status = "disabled"; 805 status = "disabled";
795 }; 806 };
796 807
797 ppmu_cpu: ppmu_cpu@106c0000 { 808 ppmu_dmc1: ppmu_dmc1@106b0000 {
798 compatible = "samsung,exynos-ppmu"; 809 compatible = "samsung,exynos-ppmu";
799 reg = <0x106c0000 0x2000>; 810 reg = <0x106b0000 0x2000>;
800 clocks = <&clock CLK_PPMUCPU>; 811 clocks = <&clock CLK_PPMUDMC1>;
801 clock-names = "ppmu"; 812 clock-names = "ppmu";
802 status = "disabled"; 813 status = "disabled";
803 }; 814 };
804 815
805 ppmu_acp: ppmu_acp@10ae0000 { 816 ppmu_cpu: ppmu_cpu@106c0000 {
806 compatible = "samsung,exynos-ppmu"; 817 compatible = "samsung,exynos-ppmu";
807 reg = <0x106e0000 0x2000>; 818 reg = <0x106c0000 0x2000>;
808 status = "disabled"; 819 clocks = <&clock CLK_PPMUCPU>;
809 }; 820 clock-names = "ppmu";
821 status = "disabled";
822 };
810 823
811 ppmu_rightbus: ppmu_rightbus@112a0000 { 824 ppmu_rightbus: ppmu_rightbus@112a0000 {
812 compatible = "samsung,exynos-ppmu"; 825 compatible = "samsung,exynos-ppmu";
813 reg = <0x112a0000 0x2000>; 826 reg = <0x112a0000 0x2000>;
814 clocks = <&clock CLK_PPMURIGHT>; 827 clocks = <&clock CLK_PPMURIGHT>;
815 clock-names = "ppmu"; 828 clock-names = "ppmu";
816 status = "disabled"; 829 status = "disabled";
817 }; 830 };
818 831
819 ppmu_leftbus: ppmu_leftbus0@116a0000 { 832 ppmu_leftbus: ppmu_leftbus0@116a0000 {
820 compatible = "samsung,exynos-ppmu"; 833 compatible = "samsung,exynos-ppmu";
821 reg = <0x116a0000 0x2000>; 834 reg = <0x116a0000 0x2000>;
822 clocks = <&clock CLK_PPMULEFT>; 835 clocks = <&clock CLK_PPMULEFT>;
823 clock-names = "ppmu"; 836 clock-names = "ppmu";
824 status = "disabled"; 837 status = "disabled";
825 }; 838 };
826 839
827 ppmu_camif: ppmu_camif@11ac0000 { 840 ppmu_camif: ppmu_camif@11ac0000 {
828 compatible = "samsung,exynos-ppmu"; 841 compatible = "samsung,exynos-ppmu";
829 reg = <0x11ac0000 0x2000>; 842 reg = <0x11ac0000 0x2000>;
830 clocks = <&clock CLK_PPMUCAMIF>; 843 clocks = <&clock CLK_PPMUCAMIF>;
831 clock-names = "ppmu"; 844 clock-names = "ppmu";
832 status = "disabled"; 845 status = "disabled";
833 }; 846 };
834 847
835 ppmu_lcd0: ppmu_lcd0@11e40000 { 848 ppmu_lcd0: ppmu_lcd0@11e40000 {
836 compatible = "samsung,exynos-ppmu"; 849 compatible = "samsung,exynos-ppmu";
837 reg = <0x11e40000 0x2000>; 850 reg = <0x11e40000 0x2000>;
838 clocks = <&clock CLK_PPMULCD0>; 851 clocks = <&clock CLK_PPMULCD0>;
839 clock-names = "ppmu"; 852 clock-names = "ppmu";
840 status = "disabled"; 853 status = "disabled";
841 }; 854 };
842 855
843 ppmu_fsys: ppmu_g3d@12630000 { 856 ppmu_fsys: ppmu_g3d@12630000 {
844 compatible = "samsung,exynos-ppmu"; 857 compatible = "samsung,exynos-ppmu";
845 reg = <0x12630000 0x2000>; 858 reg = <0x12630000 0x2000>;
846 status = "disabled"; 859 status = "disabled";
847 }; 860 };
848 861
849 ppmu_image: ppmu_image@12aa0000 { 862 ppmu_image: ppmu_image@12aa0000 {
850 compatible = "samsung,exynos-ppmu"; 863 compatible = "samsung,exynos-ppmu";
851 reg = <0x12aa0000 0x2000>; 864 reg = <0x12aa0000 0x2000>;
852 clocks = <&clock CLK_PPMUIMAGE>; 865 clocks = <&clock CLK_PPMUIMAGE>;
853 clock-names = "ppmu"; 866 clock-names = "ppmu";
854 status = "disabled"; 867 status = "disabled";
855 }; 868 };
856 869
857 ppmu_tv: ppmu_tv@12e40000 { 870 ppmu_tv: ppmu_tv@12e40000 {
858 compatible = "samsung,exynos-ppmu"; 871 compatible = "samsung,exynos-ppmu";
859 reg = <0x12e40000 0x2000>; 872 reg = <0x12e40000 0x2000>;
860 clocks = <&clock CLK_PPMUTV>; 873 clocks = <&clock CLK_PPMUTV>;
861 clock-names = "ppmu"; 874 clock-names = "ppmu";
862 status = "disabled"; 875 status = "disabled";
863 }; 876 };
864 877
865 ppmu_g3d: ppmu_g3d@13220000 { 878 ppmu_g3d: ppmu_g3d@13220000 {
866 compatible = "samsung,exynos-ppmu"; 879 compatible = "samsung,exynos-ppmu";
867 reg = <0x13220000 0x2000>; 880 reg = <0x13220000 0x2000>;
868 clocks = <&clock CLK_PPMUG3D>; 881 clocks = <&clock CLK_PPMUG3D>;
869 clock-names = "ppmu"; 882 clock-names = "ppmu";
870 status = "disabled"; 883 status = "disabled";
871 }; 884 };
872 885
873 ppmu_mfc_left: ppmu_mfc_left@13660000 { 886 ppmu_mfc_left: ppmu_mfc_left@13660000 {
874 compatible = "samsung,exynos-ppmu"; 887 compatible = "samsung,exynos-ppmu";
875 reg = <0x13660000 0x2000>; 888 reg = <0x13660000 0x2000>;
876 clocks = <&clock CLK_PPMUMFC_L>; 889 clocks = <&clock CLK_PPMUMFC_L>;
877 clock-names = "ppmu"; 890 clock-names = "ppmu";
878 status = "disabled"; 891 status = "disabled";
879 }; 892 };
880 893
881 ppmu_mfc_right: ppmu_mfc_right@13670000 { 894 ppmu_mfc_right: ppmu_mfc_right@13670000 {
882 compatible = "samsung,exynos-ppmu"; 895 compatible = "samsung,exynos-ppmu";
883 reg = <0x13670000 0x2000>; 896 reg = <0x13670000 0x2000>;
884 clocks = <&clock CLK_PPMUMFC_R>; 897 clocks = <&clock CLK_PPMUMFC_R>;
885 clock-names = "ppmu"; 898 clock-names = "ppmu";
886 status = "disabled"; 899 status = "disabled";
887 }; 900 };
888 901
889 sysmmu_mfc_l: sysmmu@13620000 { 902 sysmmu_mfc_l: sysmmu@13620000 {
890 compatible = "samsung,exynos-sysmmu"; 903 compatible = "samsung,exynos-sysmmu";
891 reg = <0x13620000 0x1000>; 904 reg = <0x13620000 0x1000>;
892 interrupt-parent = <&combiner>; 905 interrupt-parent = <&combiner>;
893 interrupts = <5 5>; 906 interrupts = <5 5>;
894 clock-names = "sysmmu", "master"; 907 clock-names = "sysmmu", "master";
895 clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>; 908 clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
896 power-domains = <&pd_mfc>; 909 power-domains = <&pd_mfc>;
897 #iommu-cells = <0>; 910 #iommu-cells = <0>;
898 }; 911 };
899 912
900 sysmmu_mfc_r: sysmmu@13630000 { 913 sysmmu_mfc_r: sysmmu@13630000 {
901 compatible = "samsung,exynos-sysmmu"; 914 compatible = "samsung,exynos-sysmmu";
902 reg = <0x13630000 0x1000>; 915 reg = <0x13630000 0x1000>;
903 interrupt-parent = <&combiner>; 916 interrupt-parent = <&combiner>;
904 interrupts = <5 6>; 917 interrupts = <5 6>;
905 clock-names = "sysmmu", "master"; 918 clock-names = "sysmmu", "master";
906 clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>; 919 clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
907 power-domains = <&pd_mfc>; 920 power-domains = <&pd_mfc>;
908 #iommu-cells = <0>; 921 #iommu-cells = <0>;
909 }; 922 };
910 923
911 sysmmu_tv: sysmmu@12e20000 { 924 sysmmu_tv: sysmmu@12e20000 {
912 compatible = "samsung,exynos-sysmmu"; 925 compatible = "samsung,exynos-sysmmu";
913 reg = <0x12E20000 0x1000>; 926 reg = <0x12E20000 0x1000>;
914 interrupt-parent = <&combiner>; 927 interrupt-parent = <&combiner>;
915 interrupts = <5 4>; 928 interrupts = <5 4>;
916 clock-names = "sysmmu", "master"; 929 clock-names = "sysmmu", "master";
917 clocks = <&clock CLK_SMMU_TV>, <&clock CLK_MIXER>; 930 clocks = <&clock CLK_SMMU_TV>, <&clock CLK_MIXER>;
918 power-domains = <&pd_tv>; 931 power-domains = <&pd_tv>;
919 #iommu-cells = <0>; 932 #iommu-cells = <0>;
920 }; 933 };
921 934
922 sysmmu_fimc0: sysmmu@11a20000 { 935 sysmmu_fimc0: sysmmu@11a20000 {
923 compatible = "samsung,exynos-sysmmu"; 936 compatible = "samsung,exynos-sysmmu";
924 reg = <0x11A20000 0x1000>; 937 reg = <0x11A20000 0x1000>;
925 interrupt-parent = <&combiner>; 938 interrupt-parent = <&combiner>;
926 interrupts = <4 2>; 939 interrupts = <4 2>;
927 clock-names = "sysmmu", "master"; 940 clock-names = "sysmmu", "master";
928 clocks = <&clock CLK_SMMU_FIMC0>, <&clock CLK_FIMC0>; 941 clocks = <&clock CLK_SMMU_FIMC0>, <&clock CLK_FIMC0>;
929 power-domains = <&pd_cam>; 942 power-domains = <&pd_cam>;
930 #iommu-cells = <0>; 943 #iommu-cells = <0>;
931 }; 944 };
932 945
933 sysmmu_fimc1: sysmmu@11a30000 { 946 sysmmu_fimc1: sysmmu@11a30000 {
934 compatible = "samsung,exynos-sysmmu"; 947 compatible = "samsung,exynos-sysmmu";
935 reg = <0x11A30000 0x1000>; 948 reg = <0x11A30000 0x1000>;
936 interrupt-parent = <&combiner>; 949 interrupt-parent = <&combiner>;
937 interrupts = <4 3>; 950 interrupts = <4 3>;
938 clock-names = "sysmmu", "master"; 951 clock-names = "sysmmu", "master";
939 clocks = <&clock CLK_SMMU_FIMC1>, <&clock CLK_FIMC1>; 952 clocks = <&clock CLK_SMMU_FIMC1>, <&clock CLK_FIMC1>;
940 power-domains = <&pd_cam>; 953 power-domains = <&pd_cam>;
941 #iommu-cells = <0>; 954 #iommu-cells = <0>;
942 }; 955 };
943 956
944 sysmmu_fimc2: sysmmu@11a40000 { 957 sysmmu_fimc2: sysmmu@11a40000 {
945 compatible = "samsung,exynos-sysmmu"; 958 compatible = "samsung,exynos-sysmmu";
946 reg = <0x11A40000 0x1000>; 959 reg = <0x11A40000 0x1000>;
947 interrupt-parent = <&combiner>; 960 interrupt-parent = <&combiner>;
948 interrupts = <4 4>; 961 interrupts = <4 4>;
949 clock-names = "sysmmu", "master"; 962 clock-names = "sysmmu", "master";
950 clocks = <&clock CLK_SMMU_FIMC2>, <&clock CLK_FIMC2>; 963 clocks = <&clock CLK_SMMU_FIMC2>, <&clock CLK_FIMC2>;
951 power-domains = <&pd_cam>; 964 power-domains = <&pd_cam>;
952 #iommu-cells = <0>; 965 #iommu-cells = <0>;
953 }; 966 };
954 967
955 sysmmu_fimc3: sysmmu@11a50000 { 968 sysmmu_fimc3: sysmmu@11a50000 {
956 compatible = "samsung,exynos-sysmmu"; 969 compatible = "samsung,exynos-sysmmu";
957 reg = <0x11A50000 0x1000>; 970 reg = <0x11A50000 0x1000>;
958 interrupt-parent = <&combiner>; 971 interrupt-parent = <&combiner>;
959 interrupts = <4 5>; 972 interrupts = <4 5>;
960 clock-names = "sysmmu", "master"; 973 clock-names = "sysmmu", "master";
961 clocks = <&clock CLK_SMMU_FIMC3>, <&clock CLK_FIMC3>; 974 clocks = <&clock CLK_SMMU_FIMC3>, <&clock CLK_FIMC3>;
962 power-domains = <&pd_cam>; 975 power-domains = <&pd_cam>;
963 #iommu-cells = <0>; 976 #iommu-cells = <0>;
964 }; 977 };
965 978
966 sysmmu_jpeg: sysmmu@11a60000 { 979 sysmmu_jpeg: sysmmu@11a60000 {
967 compatible = "samsung,exynos-sysmmu"; 980 compatible = "samsung,exynos-sysmmu";
968 reg = <0x11A60000 0x1000>; 981 reg = <0x11A60000 0x1000>;
969 interrupt-parent = <&combiner>; 982 interrupt-parent = <&combiner>;
970 interrupts = <4 6>; 983 interrupts = <4 6>;
971 clock-names = "sysmmu", "master"; 984 clock-names = "sysmmu", "master";
972 clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>; 985 clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
973 power-domains = <&pd_cam>; 986 power-domains = <&pd_cam>;
974 #iommu-cells = <0>; 987 #iommu-cells = <0>;
975 }; 988 };
976 989
977 sysmmu_rotator: sysmmu@12a30000 { 990 sysmmu_rotator: sysmmu@12a30000 {
978 compatible = "samsung,exynos-sysmmu"; 991 compatible = "samsung,exynos-sysmmu";
979 reg = <0x12A30000 0x1000>; 992 reg = <0x12A30000 0x1000>;
980 interrupt-parent = <&combiner>; 993 interrupt-parent = <&combiner>;
981 interrupts = <5 0>; 994 interrupts = <5 0>;
982 clock-names = "sysmmu", "master"; 995 clock-names = "sysmmu", "master";
983 clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>; 996 clocks = <&clock CLK_SMMU_ROTATOR>,
984 #iommu-cells = <0>; 997 <&clock CLK_ROTATOR>;
985 }; 998 #iommu-cells = <0>;
999 };
986 1000
987 sysmmu_fimd0: sysmmu@11e20000 { 1001 sysmmu_fimd0: sysmmu@11e20000 {
988 compatible = "samsung,exynos-sysmmu"; 1002 compatible = "samsung,exynos-sysmmu";
989 reg = <0x11E20000 0x1000>; 1003 reg = <0x11E20000 0x1000>;
990 interrupt-parent = <&combiner>; 1004 interrupt-parent = <&combiner>;
991 interrupts = <5 2>; 1005 interrupts = <5 2>;
992 clock-names = "sysmmu", "master"; 1006 clock-names = "sysmmu", "master";
993 clocks = <&clock CLK_SMMU_FIMD0>, <&clock CLK_FIMD0>; 1007 clocks = <&clock CLK_SMMU_FIMD0>, <&clock CLK_FIMD0>;
994 power-domains = <&pd_lcd0>; 1008 power-domains = <&pd_lcd0>;
995 #iommu-cells = <0>; 1009 #iommu-cells = <0>;
996 }; 1010 };
997 1011
998 sss: sss@10830000 { 1012 sss: sss@10830000 {
999 compatible = "samsung,exynos4210-secss"; 1013 compatible = "samsung,exynos4210-secss";
1000 reg = <0x10830000 0x300>; 1014 reg = <0x10830000 0x300>;
1001 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 1015 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1002 clocks = <&clock CLK_SSS>; 1016 clocks = <&clock CLK_SSS>;
1003 clock-names = "secss"; 1017 clock-names = "secss";
1004 }; 1018 };
1005 1019
1006 prng: rng@10830400 { 1020 prng: rng@10830400 {
1007 compatible = "samsung,exynos4-rng"; 1021 compatible = "samsung,exynos4-rng";
1008 reg = <0x10830400 0x200>; 1022 reg = <0x10830400 0x200>;
1009 clocks = <&clock CLK_SSS>; 1023 clocks = <&clock CLK_SSS>;
1010 clock-names = "secss"; 1024 clock-names = "secss";
1025 };
1011 }; 1026 };
1012}; 1027};
diff --git a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
index dbe6c052d8c1..520c5934a8d4 100644
--- a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi
@@ -13,853 +13,851 @@
13 13
14#include <dt-bindings/pinctrl/samsung.h> 14#include <dt-bindings/pinctrl/samsung.h>
15 15
16/ { 16&pinctrl_0 {
17 pinctrl@11400000 { 17 gpa0: gpa0 {
18 gpa0: gpa0 { 18 gpio-controller;
19 gpio-controller; 19 #gpio-cells = <2>;
20 #gpio-cells = <2>;
21 20
22 interrupt-controller; 21 interrupt-controller;
23 #interrupt-cells = <2>; 22 #interrupt-cells = <2>;
24 }; 23 };
24
25 gpa1: gpa1 {
26 gpio-controller;
27 #gpio-cells = <2>;
28
29 interrupt-controller;
30 #interrupt-cells = <2>;
31 };
32
33 gpb: gpb {
34 gpio-controller;
35 #gpio-cells = <2>;
36
37 interrupt-controller;
38 #interrupt-cells = <2>;
39 };
40
41 gpc0: gpc0 {
42 gpio-controller;
43 #gpio-cells = <2>;
44
45 interrupt-controller;
46 #interrupt-cells = <2>;
47 };
48
49 gpc1: gpc1 {
50 gpio-controller;
51 #gpio-cells = <2>;
52
53 interrupt-controller;
54 #interrupt-cells = <2>;
55 };
56
57 gpd0: gpd0 {
58 gpio-controller;
59 #gpio-cells = <2>;
60
61 interrupt-controller;
62 #interrupt-cells = <2>;
63 };
64
65 gpd1: gpd1 {
66 gpio-controller;
67 #gpio-cells = <2>;
68
69 interrupt-controller;
70 #interrupt-cells = <2>;
71 };
72
73 gpe0: gpe0 {
74 gpio-controller;
75 #gpio-cells = <2>;
76
77 interrupt-controller;
78 #interrupt-cells = <2>;
79 };
80
81 gpe1: gpe1 {
82 gpio-controller;
83 #gpio-cells = <2>;
84
85 interrupt-controller;
86 #interrupt-cells = <2>;
87 };
88
89 gpe2: gpe2 {
90 gpio-controller;
91 #gpio-cells = <2>;
92
93 interrupt-controller;
94 #interrupt-cells = <2>;
95 };
96
97 gpe3: gpe3 {
98 gpio-controller;
99 #gpio-cells = <2>;
100
101 interrupt-controller;
102 #interrupt-cells = <2>;
103 };
104
105 gpe4: gpe4 {
106 gpio-controller;
107 #gpio-cells = <2>;
108
109 interrupt-controller;
110 #interrupt-cells = <2>;
111 };
112
113 gpf0: gpf0 {
114 gpio-controller;
115 #gpio-cells = <2>;
116
117 interrupt-controller;
118 #interrupt-cells = <2>;
119 };
120
121 gpf1: gpf1 {
122 gpio-controller;
123 #gpio-cells = <2>;
124
125 interrupt-controller;
126 #interrupt-cells = <2>;
127 };
128
129 gpf2: gpf2 {
130 gpio-controller;
131 #gpio-cells = <2>;
132
133 interrupt-controller;
134 #interrupt-cells = <2>;
135 };
136
137 gpf3: gpf3 {
138 gpio-controller;
139 #gpio-cells = <2>;
140
141 interrupt-controller;
142 #interrupt-cells = <2>;
143 };
144
145 uart0_data: uart0-data {
146 samsung,pins = "gpa0-0", "gpa0-1";
147 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
148 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
149 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
150 };
151
152 uart0_fctl: uart0-fctl {
153 samsung,pins = "gpa0-2", "gpa0-3";
154 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
155 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
156 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
157 };
158
159 uart1_data: uart1-data {
160 samsung,pins = "gpa0-4", "gpa0-5";
161 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
162 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
163 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
164 };
165
166 uart1_fctl: uart1-fctl {
167 samsung,pins = "gpa0-6", "gpa0-7";
168 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
169 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
170 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
171 };
172
173 i2c2_bus: i2c2-bus {
174 samsung,pins = "gpa0-6", "gpa0-7";
175 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
176 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
177 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
178 };
179
180 uart2_data: uart2-data {
181 samsung,pins = "gpa1-0", "gpa1-1";
182 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
183 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
184 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
185 };
186
187 uart2_fctl: uart2-fctl {
188 samsung,pins = "gpa1-2", "gpa1-3";
189 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
190 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
191 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
192 };
193
194 uart_audio_a: uart-audio-a {
195 samsung,pins = "gpa1-0", "gpa1-1";
196 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
197 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
198 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
199 };
200
201 i2c3_bus: i2c3-bus {
202 samsung,pins = "gpa1-2", "gpa1-3";
203 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
204 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
205 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
206 };
207
208 uart3_data: uart3-data {
209 samsung,pins = "gpa1-4", "gpa1-5";
210 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
211 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
212 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
213 };
214
215 uart_audio_b: uart-audio-b {
216 samsung,pins = "gpa1-4", "gpa1-5";
217 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
218 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
219 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
220 };
221
222 spi0_bus: spi0-bus {
223 samsung,pins = "gpb-0", "gpb-2", "gpb-3";
224 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
225 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
226 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
227 };
228
229 i2c4_bus: i2c4-bus {
230 samsung,pins = "gpb-2", "gpb-3";
231 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
232 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
233 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
234 };
235
236 spi1_bus: spi1-bus {
237 samsung,pins = "gpb-4", "gpb-6", "gpb-7";
238 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
239 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
240 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
241 };
242
243 i2c5_bus: i2c5-bus {
244 samsung,pins = "gpb-6", "gpb-7";
245 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
246 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
247 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
248 };
249
250 i2s1_bus: i2s1-bus {
251 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
252 "gpc0-4";
253 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
254 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
255 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
256 };
257
258 pcm1_bus: pcm1-bus {
259 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
260 "gpc0-4";
261 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
262 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
263 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
264 };
265
266 ac97_bus: ac97-bus {
267 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
268 "gpc0-4";
269 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
270 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
271 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
272 };
273
274 i2s2_bus: i2s2-bus {
275 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
276 "gpc1-4";
277 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
278 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
279 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
280 };
281
282 pcm2_bus: pcm2-bus {
283 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
284 "gpc1-4";
285 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
286 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
287 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
288 };
289
290 spdif_bus: spdif-bus {
291 samsung,pins = "gpc1-0", "gpc1-1";
292 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
293 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
294 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
295 };
296
297 i2c6_bus: i2c6-bus {
298 samsung,pins = "gpc1-3", "gpc1-4";
299 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
300 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
301 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
302 };
303
304 spi2_bus: spi2-bus {
305 samsung,pins = "gpc1-1", "gpc1-2", "gpc1-3", "gpc1-4";
306 samsung,pin-function = <EXYNOS_PIN_FUNC_5>;
307 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
308 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
309 };
310
311 i2c7_bus: i2c7-bus {
312 samsung,pins = "gpd0-2", "gpd0-3";
313 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
314 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
315 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
316 };
317
318 i2c0_bus: i2c0-bus {
319 samsung,pins = "gpd1-0", "gpd1-1";
320 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
321 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
322 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
323 };
324
325 i2c1_bus: i2c1-bus {
326 samsung,pins = "gpd1-2", "gpd1-3";
327 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
328 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
329 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
330 };
331
332 pwm0_out: pwm0-out {
333 samsung,pins = "gpd0-0";
334 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
335 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
336 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
337 };
338
339 pwm1_out: pwm1-out {
340 samsung,pins = "gpd0-1";
341 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
342 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
343 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
344 };
345
346 pwm2_out: pwm2-out {
347 samsung,pins = "gpd0-2";
348 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
349 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
350 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
351 };
352
353 pwm3_out: pwm3-out {
354 samsung,pins = "gpd0-3";
355 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
356 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
357 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
358 };
359
360 lcd_ctrl: lcd-ctrl {
361 samsung,pins = "gpd0-0", "gpd0-1";
362 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
363 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
364 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
365 };
366
367 lcd_sync: lcd-sync {
368 samsung,pins = "gpf0-0", "gpf0-1";
369 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
370 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
371 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
372 };
373
374 lcd_en: lcd-en {
375 samsung,pins = "gpe3-4";
376 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
377 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
378 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
379 };
380
381 lcd_clk: lcd-clk {
382 samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
383 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
384 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
385 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
386 };
387
388 lcd_data16: lcd-data-width16 {
389 samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
390 "gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
391 "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
392 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
393 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
394 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
395 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
396 };
397
398 lcd_data18: lcd-data-width18 {
399 samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
400 "gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
401 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
402 "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
403 "gpf3-2", "gpf3-3";
404 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
405 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
406 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
407 };
408
409 lcd_data24: lcd-data-width24 {
410 samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
411 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
412 "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
413 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
414 "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
415 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
416 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
417 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
418 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
419 };
420};
421
422&pinctrl_1 {
423 gpj0: gpj0 {
424 gpio-controller;
425 #gpio-cells = <2>;
426
427 interrupt-controller;
428 #interrupt-cells = <2>;
429 };
430
431 gpj1: gpj1 {
432 gpio-controller;
433 #gpio-cells = <2>;
434
435 interrupt-controller;
436 #interrupt-cells = <2>;
437 };
438
439 gpk0: gpk0 {
440 gpio-controller;
441 #gpio-cells = <2>;
442
443 interrupt-controller;
444 #interrupt-cells = <2>;
445 };
446
447 gpk1: gpk1 {
448 gpio-controller;
449 #gpio-cells = <2>;
450
451 interrupt-controller;
452 #interrupt-cells = <2>;
453 };
454
455 gpk2: gpk2 {
456 gpio-controller;
457 #gpio-cells = <2>;
458
459 interrupt-controller;
460 #interrupt-cells = <2>;
461 };
462
463 gpk3: gpk3 {
464 gpio-controller;
465 #gpio-cells = <2>;
466
467 interrupt-controller;
468 #interrupt-cells = <2>;
469 };
470
471 gpl0: gpl0 {
472 gpio-controller;
473 #gpio-cells = <2>;
474
475 interrupt-controller;
476 #interrupt-cells = <2>;
477 };
478
479 gpl1: gpl1 {
480 gpio-controller;
481 #gpio-cells = <2>;
482
483 interrupt-controller;
484 #interrupt-cells = <2>;
485 };
486
487 gpl2: gpl2 {
488 gpio-controller;
489 #gpio-cells = <2>;
490
491 interrupt-controller;
492 #interrupt-cells = <2>;
493 };
494
495 gpy0: gpy0 {
496 gpio-controller;
497 #gpio-cells = <2>;
498 };
499
500 gpy1: gpy1 {
501 gpio-controller;
502 #gpio-cells = <2>;
503 };
504
505 gpy2: gpy2 {
506 gpio-controller;
507 #gpio-cells = <2>;
508 };
25 509
26 gpa1: gpa1 { 510 gpy3: gpy3 {
27 gpio-controller; 511 gpio-controller;
28 #gpio-cells = <2>; 512 #gpio-cells = <2>;
513 };
514
515 gpy4: gpy4 {
516 gpio-controller;
517 #gpio-cells = <2>;
518 };
519
520 gpy5: gpy5 {
521 gpio-controller;
522 #gpio-cells = <2>;
523 };
524
525 gpy6: gpy6 {
526 gpio-controller;
527 #gpio-cells = <2>;
528 };
529
530 gpx0: gpx0 {
531 gpio-controller;
532 #gpio-cells = <2>;
533
534 interrupt-controller;
535 interrupt-parent = <&gic>;
536 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
537 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
538 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
539 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
540 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
541 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
542 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
543 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
544 #interrupt-cells = <2>;
545 };
546
547 gpx1: gpx1 {
548 gpio-controller;
549 #gpio-cells = <2>;
550
551 interrupt-controller;
552 interrupt-parent = <&gic>;
553 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
554 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
555 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
556 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
557 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
558 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
559 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
560 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
561 #interrupt-cells = <2>;
562 };
563
564 gpx2: gpx2 {
565 gpio-controller;
566 #gpio-cells = <2>;
29 567
30 interrupt-controller; 568 interrupt-controller;
31 #interrupt-cells = <2>; 569 #interrupt-cells = <2>;
32 }; 570 };
571
572 gpx3: gpx3 {
573 gpio-controller;
574 #gpio-cells = <2>;
33 575
34 gpb: gpb { 576 interrupt-controller;
35 gpio-controller; 577 #interrupt-cells = <2>;
36 #gpio-cells = <2>; 578 };
37 579
38 interrupt-controller; 580 sd0_clk: sd0-clk {
39 #interrupt-cells = <2>; 581 samsung,pins = "gpk0-0";
40 }; 582 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
583 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
584 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
585 };
41 586
42 gpc0: gpc0 { 587 sd0_cmd: sd0-cmd {
43 gpio-controller; 588 samsung,pins = "gpk0-1";
44 #gpio-cells = <2>; 589 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
590 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
591 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
592 };
593
594 sd0_cd: sd0-cd {
595 samsung,pins = "gpk0-2";
596 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
597 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
598 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
599 };
600
601 sd0_bus1: sd0-bus-width1 {
602 samsung,pins = "gpk0-3";
603 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
604 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
605 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
606 };
607
608 sd0_bus4: sd0-bus-width4 {
609 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
610 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
611 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
612 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
613 };
614
615 sd0_bus8: sd0-bus-width8 {
616 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
617 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
618 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
619 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
620 };
621
622 sd4_clk: sd4-clk {
623 samsung,pins = "gpk0-0";
624 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
625 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
626 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
627 };
628
629 sd4_cmd: sd4-cmd {
630 samsung,pins = "gpk0-1";
631 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
632 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
633 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
634 };
635
636 sd4_cd: sd4-cd {
637 samsung,pins = "gpk0-2";
638 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
639 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
640 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
641 };
642
643 sd4_bus1: sd4-bus-width1 {
644 samsung,pins = "gpk0-3";
645 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
646 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
647 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
648 };
649
650 sd4_bus4: sd4-bus-width4 {
651 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
652 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
653 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
654 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
655 };
656
657 sd4_bus8: sd4-bus-width8 {
658 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
659 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
660 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
661 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
662 };
663
664 sd1_clk: sd1-clk {
665 samsung,pins = "gpk1-0";
666 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
667 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
668 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
669 };
670
671 sd1_cmd: sd1-cmd {
672 samsung,pins = "gpk1-1";
673 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
674 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
675 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
676 };
677
678 sd1_cd: sd1-cd {
679 samsung,pins = "gpk1-2";
680 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
681 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
682 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
683 };
684
685 sd1_bus1: sd1-bus-width1 {
686 samsung,pins = "gpk1-3";
687 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
688 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
689 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
690 };
691
692 sd1_bus4: sd1-bus-width4 {
693 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
694 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
695 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
696 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
697 };
698
699 sd2_clk: sd2-clk {
700 samsung,pins = "gpk2-0";
701 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
702 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
703 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
704 };
705
706 sd2_cmd: sd2-cmd {
707 samsung,pins = "gpk2-1";
708 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
709 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
710 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
711 };
712
713 sd2_cd: sd2-cd {
714 samsung,pins = "gpk2-2";
715 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
716 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
717 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
718 };
719
720 sd2_bus1: sd2-bus-width1 {
721 samsung,pins = "gpk2-3";
722 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
723 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
724 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
725 };
726
727 sd2_bus4: sd2-bus-width4 {
728 samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
729 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
730 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
731 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
732 };
733
734 sd2_bus8: sd2-bus-width8 {
735 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
736 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
737 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
738 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
739 };
740
741 sd3_clk: sd3-clk {
742 samsung,pins = "gpk3-0";
743 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
744 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
745 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
746 };
747
748 sd3_cmd: sd3-cmd {
749 samsung,pins = "gpk3-1";
750 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
751 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
752 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
753 };
754
755 sd3_cd: sd3-cd {
756 samsung,pins = "gpk3-2";
757 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
758 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
759 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
760 };
761
762 sd3_bus1: sd3-bus-width1 {
763 samsung,pins = "gpk3-3";
764 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
765 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
766 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
767 };
768
769 sd3_bus4: sd3-bus-width4 {
770 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
771 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
772 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
773 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
774 };
775
776 eint0: ext-int0 {
777 samsung,pins = "gpx0-0";
778 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
779 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
780 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
781 };
782
783 eint8: ext-int8 {
784 samsung,pins = "gpx1-0";
785 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
786 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
787 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
788 };
789
790 eint15: ext-int15 {
791 samsung,pins = "gpx1-7";
792 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
793 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
794 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
795 };
796
797 eint16: ext-int16 {
798 samsung,pins = "gpx2-0";
799 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
800 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
801 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
802 };
803
804 eint31: ext-int31 {
805 samsung,pins = "gpx3-7";
806 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
807 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
808 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
809 };
810
811 cam_port_a_io: cam-port-a-io {
812 samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
813 "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
814 "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
815 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
816 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
817 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
818 };
819
820 cam_port_a_clk_active: cam-port-a-clk-active {
821 samsung,pins = "gpj1-3";
822 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
823 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
824 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
825 };
826
827 cam_port_a_clk_idle: cam-port-a-clk-idle {
828 samsung,pins = "gpj1-3";
829 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
830 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
831 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
832 };
833
834 hdmi_cec: hdmi-cec {
835 samsung,pins = "gpx3-6";
836 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
837 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
838 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
839 };
840};
841
842&pinctrl_2 {
843 gpz: gpz {
844 gpio-controller;
845 #gpio-cells = <2>;
846 };
847
848 i2s0_bus: i2s0-bus {
849 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
850 "gpz-4", "gpz-5", "gpz-6";
851 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
852 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
853 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
854 };
45 855
46 interrupt-controller; 856 pcm0_bus: pcm0-bus {
47 #interrupt-cells = <2>; 857 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
48 }; 858 "gpz-4";
49 859 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
50 gpc1: gpc1 { 860 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
51 gpio-controller; 861 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
52 #gpio-cells = <2>;
53
54 interrupt-controller;
55 #interrupt-cells = <2>;
56 };
57
58 gpd0: gpd0 {
59 gpio-controller;
60 #gpio-cells = <2>;
61
62 interrupt-controller;
63 #interrupt-cells = <2>;
64 };
65
66 gpd1: gpd1 {
67 gpio-controller;
68 #gpio-cells = <2>;
69
70 interrupt-controller;
71 #interrupt-cells = <2>;
72 };
73
74 gpe0: gpe0 {
75 gpio-controller;
76 #gpio-cells = <2>;
77
78 interrupt-controller;
79 #interrupt-cells = <2>;
80 };
81
82 gpe1: gpe1 {
83 gpio-controller;
84 #gpio-cells = <2>;
85
86 interrupt-controller;
87 #interrupt-cells = <2>;
88 };
89
90 gpe2: gpe2 {
91 gpio-controller;
92 #gpio-cells = <2>;
93
94 interrupt-controller;
95 #interrupt-cells = <2>;
96 };
97
98 gpe3: gpe3 {
99 gpio-controller;
100 #gpio-cells = <2>;
101
102 interrupt-controller;
103 #interrupt-cells = <2>;
104 };
105
106 gpe4: gpe4 {
107 gpio-controller;
108 #gpio-cells = <2>;
109
110 interrupt-controller;
111 #interrupt-cells = <2>;
112 };
113
114 gpf0: gpf0 {
115 gpio-controller;
116 #gpio-cells = <2>;
117
118 interrupt-controller;
119 #interrupt-cells = <2>;
120 };
121
122 gpf1: gpf1 {
123 gpio-controller;
124 #gpio-cells = <2>;
125
126 interrupt-controller;
127 #interrupt-cells = <2>;
128 };
129
130 gpf2: gpf2 {
131 gpio-controller;
132 #gpio-cells = <2>;
133
134 interrupt-controller;
135 #interrupt-cells = <2>;
136 };
137
138 gpf3: gpf3 {
139 gpio-controller;
140 #gpio-cells = <2>;
141
142 interrupt-controller;
143 #interrupt-cells = <2>;
144 };
145
146 uart0_data: uart0-data {
147 samsung,pins = "gpa0-0", "gpa0-1";
148 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
149 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
150 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
151 };
152
153 uart0_fctl: uart0-fctl {
154 samsung,pins = "gpa0-2", "gpa0-3";
155 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
156 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
157 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
158 };
159
160 uart1_data: uart1-data {
161 samsung,pins = "gpa0-4", "gpa0-5";
162 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
163 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
164 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
165 };
166
167 uart1_fctl: uart1-fctl {
168 samsung,pins = "gpa0-6", "gpa0-7";
169 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
170 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
171 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
172 };
173
174 i2c2_bus: i2c2-bus {
175 samsung,pins = "gpa0-6", "gpa0-7";
176 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
177 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
178 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
179 };
180
181 uart2_data: uart2-data {
182 samsung,pins = "gpa1-0", "gpa1-1";
183 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
184 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
185 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
186 };
187
188 uart2_fctl: uart2-fctl {
189 samsung,pins = "gpa1-2", "gpa1-3";
190 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
191 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
192 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
193 };
194
195 uart_audio_a: uart-audio-a {
196 samsung,pins = "gpa1-0", "gpa1-1";
197 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
198 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
199 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
200 };
201
202 i2c3_bus: i2c3-bus {
203 samsung,pins = "gpa1-2", "gpa1-3";
204 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
205 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
206 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
207 };
208
209 uart3_data: uart3-data {
210 samsung,pins = "gpa1-4", "gpa1-5";
211 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
212 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
213 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
214 };
215
216 uart_audio_b: uart-audio-b {
217 samsung,pins = "gpa1-4", "gpa1-5";
218 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
219 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
220 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
221 };
222
223 spi0_bus: spi0-bus {
224 samsung,pins = "gpb-0", "gpb-2", "gpb-3";
225 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
226 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
227 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
228 };
229
230 i2c4_bus: i2c4-bus {
231 samsung,pins = "gpb-2", "gpb-3";
232 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
233 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
234 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
235 };
236
237 spi1_bus: spi1-bus {
238 samsung,pins = "gpb-4", "gpb-6", "gpb-7";
239 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
240 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
241 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
242 };
243
244 i2c5_bus: i2c5-bus {
245 samsung,pins = "gpb-6", "gpb-7";
246 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
247 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
248 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
249 };
250
251 i2s1_bus: i2s1-bus {
252 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
253 "gpc0-4";
254 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
255 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
256 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
257 };
258
259 pcm1_bus: pcm1-bus {
260 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
261 "gpc0-4";
262 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
263 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
264 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
265 };
266
267 ac97_bus: ac97-bus {
268 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
269 "gpc0-4";
270 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
271 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
272 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
273 };
274
275 i2s2_bus: i2s2-bus {
276 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
277 "gpc1-4";
278 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
279 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
280 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
281 };
282
283 pcm2_bus: pcm2-bus {
284 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
285 "gpc1-4";
286 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
287 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
288 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
289 };
290
291 spdif_bus: spdif-bus {
292 samsung,pins = "gpc1-0", "gpc1-1";
293 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
294 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
295 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
296 };
297
298 i2c6_bus: i2c6-bus {
299 samsung,pins = "gpc1-3", "gpc1-4";
300 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
301 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
302 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
303 };
304
305 spi2_bus: spi2-bus {
306 samsung,pins = "gpc1-1", "gpc1-2", "gpc1-3", "gpc1-4";
307 samsung,pin-function = <EXYNOS_PIN_FUNC_5>;
308 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
309 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
310 };
311
312 i2c7_bus: i2c7-bus {
313 samsung,pins = "gpd0-2", "gpd0-3";
314 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
315 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
316 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
317 };
318
319 i2c0_bus: i2c0-bus {
320 samsung,pins = "gpd1-0", "gpd1-1";
321 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
322 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
323 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
324 };
325
326 i2c1_bus: i2c1-bus {
327 samsung,pins = "gpd1-2", "gpd1-3";
328 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
329 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
330 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
331 };
332
333 pwm0_out: pwm0-out {
334 samsung,pins = "gpd0-0";
335 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
336 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
337 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
338 };
339
340 pwm1_out: pwm1-out {
341 samsung,pins = "gpd0-1";
342 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
343 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
344 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
345 };
346
347 pwm2_out: pwm2-out {
348 samsung,pins = "gpd0-2";
349 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
350 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
351 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
352 };
353
354 pwm3_out: pwm3-out {
355 samsung,pins = "gpd0-3";
356 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
357 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
358 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
359 };
360
361 lcd_ctrl: lcd-ctrl {
362 samsung,pins = "gpd0-0", "gpd0-1";
363 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
364 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
365 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
366 };
367
368 lcd_sync: lcd-sync {
369 samsung,pins = "gpf0-0", "gpf0-1";
370 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
371 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
372 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
373 };
374
375 lcd_en: lcd-en {
376 samsung,pins = "gpe3-4";
377 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
378 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
379 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
380 };
381
382 lcd_clk: lcd-clk {
383 samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
384 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
385 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
386 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
387 };
388
389 lcd_data16: lcd-data-width16 {
390 samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
391 "gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
392 "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
393 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
394 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
395 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
396 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
397 };
398
399 lcd_data18: lcd-data-width18 {
400 samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
401 "gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
402 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
403 "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
404 "gpf3-2", "gpf3-3";
405 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
406 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
407 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
408 };
409
410 lcd_data24: lcd-data-width24 {
411 samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
412 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
413 "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
414 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
415 "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
416 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
417 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
418 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
419 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
420 };
421 };
422
423 pinctrl@11000000 {
424 gpj0: gpj0 {
425 gpio-controller;
426 #gpio-cells = <2>;
427
428 interrupt-controller;
429 #interrupt-cells = <2>;
430 };
431
432 gpj1: gpj1 {
433 gpio-controller;
434 #gpio-cells = <2>;
435
436 interrupt-controller;
437 #interrupt-cells = <2>;
438 };
439
440 gpk0: gpk0 {
441 gpio-controller;
442 #gpio-cells = <2>;
443
444 interrupt-controller;
445 #interrupt-cells = <2>;
446 };
447
448 gpk1: gpk1 {
449 gpio-controller;
450 #gpio-cells = <2>;
451
452 interrupt-controller;
453 #interrupt-cells = <2>;
454 };
455
456 gpk2: gpk2 {
457 gpio-controller;
458 #gpio-cells = <2>;
459
460 interrupt-controller;
461 #interrupt-cells = <2>;
462 };
463
464 gpk3: gpk3 {
465 gpio-controller;
466 #gpio-cells = <2>;
467
468 interrupt-controller;
469 #interrupt-cells = <2>;
470 };
471
472 gpl0: gpl0 {
473 gpio-controller;
474 #gpio-cells = <2>;
475
476 interrupt-controller;
477 #interrupt-cells = <2>;
478 };
479
480 gpl1: gpl1 {
481 gpio-controller;
482 #gpio-cells = <2>;
483
484 interrupt-controller;
485 #interrupt-cells = <2>;
486 };
487
488 gpl2: gpl2 {
489 gpio-controller;
490 #gpio-cells = <2>;
491
492 interrupt-controller;
493 #interrupt-cells = <2>;
494 };
495
496 gpy0: gpy0 {
497 gpio-controller;
498 #gpio-cells = <2>;
499 };
500
501 gpy1: gpy1 {
502 gpio-controller;
503 #gpio-cells = <2>;
504 };
505
506 gpy2: gpy2 {
507 gpio-controller;
508 #gpio-cells = <2>;
509 };
510
511 gpy3: gpy3 {
512 gpio-controller;
513 #gpio-cells = <2>;
514 };
515
516 gpy4: gpy4 {
517 gpio-controller;
518 #gpio-cells = <2>;
519 };
520
521 gpy5: gpy5 {
522 gpio-controller;
523 #gpio-cells = <2>;
524 };
525
526 gpy6: gpy6 {
527 gpio-controller;
528 #gpio-cells = <2>;
529 };
530
531 gpx0: gpx0 {
532 gpio-controller;
533 #gpio-cells = <2>;
534
535 interrupt-controller;
536 interrupt-parent = <&gic>;
537 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
538 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
539 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
540 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
541 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
542 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
543 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
544 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
545 #interrupt-cells = <2>;
546 };
547
548 gpx1: gpx1 {
549 gpio-controller;
550 #gpio-cells = <2>;
551
552 interrupt-controller;
553 interrupt-parent = <&gic>;
554 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
555 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
556 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
557 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
558 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
559 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
560 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
561 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
562 #interrupt-cells = <2>;
563 };
564
565 gpx2: gpx2 {
566 gpio-controller;
567 #gpio-cells = <2>;
568
569 interrupt-controller;
570 #interrupt-cells = <2>;
571 };
572
573 gpx3: gpx3 {
574 gpio-controller;
575 #gpio-cells = <2>;
576
577 interrupt-controller;
578 #interrupt-cells = <2>;
579 };
580
581 sd0_clk: sd0-clk {
582 samsung,pins = "gpk0-0";
583 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
584 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
585 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
586 };
587
588 sd0_cmd: sd0-cmd {
589 samsung,pins = "gpk0-1";
590 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
591 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
592 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
593 };
594
595 sd0_cd: sd0-cd {
596 samsung,pins = "gpk0-2";
597 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
598 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
599 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
600 };
601
602 sd0_bus1: sd0-bus-width1 {
603 samsung,pins = "gpk0-3";
604 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
605 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
606 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
607 };
608
609 sd0_bus4: sd0-bus-width4 {
610 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
611 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
612 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
613 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
614 };
615
616 sd0_bus8: sd0-bus-width8 {
617 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
618 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
619 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
620 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
621 };
622
623 sd4_clk: sd4-clk {
624 samsung,pins = "gpk0-0";
625 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
626 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
627 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
628 };
629
630 sd4_cmd: sd4-cmd {
631 samsung,pins = "gpk0-1";
632 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
633 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
634 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
635 };
636
637 sd4_cd: sd4-cd {
638 samsung,pins = "gpk0-2";
639 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
640 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
641 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
642 };
643
644 sd4_bus1: sd4-bus-width1 {
645 samsung,pins = "gpk0-3";
646 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
647 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
648 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
649 };
650
651 sd4_bus4: sd4-bus-width4 {
652 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
653 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
654 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
655 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
656 };
657
658 sd4_bus8: sd4-bus-width8 {
659 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
660 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
661 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
662 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
663 };
664
665 sd1_clk: sd1-clk {
666 samsung,pins = "gpk1-0";
667 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
668 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
669 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
670 };
671
672 sd1_cmd: sd1-cmd {
673 samsung,pins = "gpk1-1";
674 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
675 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
676 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
677 };
678
679 sd1_cd: sd1-cd {
680 samsung,pins = "gpk1-2";
681 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
682 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
683 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
684 };
685
686 sd1_bus1: sd1-bus-width1 {
687 samsung,pins = "gpk1-3";
688 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
689 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
690 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
691 };
692
693 sd1_bus4: sd1-bus-width4 {
694 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
695 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
696 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
697 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
698 };
699
700 sd2_clk: sd2-clk {
701 samsung,pins = "gpk2-0";
702 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
703 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
704 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
705 };
706
707 sd2_cmd: sd2-cmd {
708 samsung,pins = "gpk2-1";
709 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
710 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
711 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
712 };
713
714 sd2_cd: sd2-cd {
715 samsung,pins = "gpk2-2";
716 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
717 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
718 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
719 };
720
721 sd2_bus1: sd2-bus-width1 {
722 samsung,pins = "gpk2-3";
723 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
724 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
725 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
726 };
727
728 sd2_bus4: sd2-bus-width4 {
729 samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
730 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
731 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
732 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
733 };
734
735 sd2_bus8: sd2-bus-width8 {
736 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
737 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
738 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
739 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
740 };
741
742 sd3_clk: sd3-clk {
743 samsung,pins = "gpk3-0";
744 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
745 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
746 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
747 };
748
749 sd3_cmd: sd3-cmd {
750 samsung,pins = "gpk3-1";
751 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
752 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
753 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
754 };
755
756 sd3_cd: sd3-cd {
757 samsung,pins = "gpk3-2";
758 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
759 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
760 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
761 };
762
763 sd3_bus1: sd3-bus-width1 {
764 samsung,pins = "gpk3-3";
765 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
766 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
767 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
768 };
769
770 sd3_bus4: sd3-bus-width4 {
771 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
772 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
773 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
774 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
775 };
776
777 eint0: ext-int0 {
778 samsung,pins = "gpx0-0";
779 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
780 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
781 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
782 };
783
784 eint8: ext-int8 {
785 samsung,pins = "gpx1-0";
786 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
787 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
788 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
789 };
790
791 eint15: ext-int15 {
792 samsung,pins = "gpx1-7";
793 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
794 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
795 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
796 };
797
798 eint16: ext-int16 {
799 samsung,pins = "gpx2-0";
800 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
801 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
802 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
803 };
804
805 eint31: ext-int31 {
806 samsung,pins = "gpx3-7";
807 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
808 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
809 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
810 };
811
812 cam_port_a_io: cam-port-a-io {
813 samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
814 "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
815 "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
816 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
817 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
818 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
819 };
820
821 cam_port_a_clk_active: cam-port-a-clk-active {
822 samsung,pins = "gpj1-3";
823 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
824 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
825 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
826 };
827
828 cam_port_a_clk_idle: cam-port-a-clk-idle {
829 samsung,pins = "gpj1-3";
830 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
831 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
832 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
833 };
834
835 hdmi_cec: hdmi-cec {
836 samsung,pins = "gpx3-6";
837 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
838 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
839 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
840 };
841 };
842
843 pinctrl@3860000 {
844 gpz: gpz {
845 gpio-controller;
846 #gpio-cells = <2>;
847 };
848
849 i2s0_bus: i2s0-bus {
850 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
851 "gpz-4", "gpz-5", "gpz-6";
852 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
853 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
854 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
855 };
856
857 pcm0_bus: pcm0-bus {
858 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
859 "gpz-4";
860 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
861 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
862 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
863 };
864 }; 862 };
865}; 863};
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
index aaade17b140e..eaeeb4f6b84a 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -148,43 +148,12 @@
148 }; 148 };
149 }; 149 };
150 150
151 camera { 151};
152 pinctrl-names = "default";
153 pinctrl-0 = <>;
154 status = "okay";
155
156 fimc_0: fimc@11800000 {
157 status = "okay";
158 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
159 <&clock CLK_SCLK_FIMC0>;
160 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
161 assigned-clock-rates = <0>, <160000000>;
162 };
163
164 fimc_1: fimc@11810000 {
165 status = "okay";
166 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
167 <&clock CLK_SCLK_FIMC1>;
168 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
169 assigned-clock-rates = <0>, <160000000>;
170 };
171
172 fimc_2: fimc@11820000 {
173 status = "okay";
174 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
175 <&clock CLK_SCLK_FIMC2>;
176 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
177 assigned-clock-rates = <0>, <160000000>;
178 };
179 152
180 fimc_3: fimc@11830000 { 153&camera {
181 status = "okay"; 154 pinctrl-names = "default";
182 assigned-clocks = <&clock CLK_MOUT_FIMC3>, 155 pinctrl-0 = <>;
183 <&clock CLK_SCLK_FIMC3>; 156 status = "okay";
184 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
185 assigned-clock-rates = <0>, <160000000>;
186 };
187 };
188}; 157};
189 158
190&cpu0 { 159&cpu0 {
@@ -234,6 +203,38 @@
234 vbus-supply = <&safe1_sreg>; 203 vbus-supply = <&safe1_sreg>;
235}; 204};
236 205
206&fimc_0 {
207 status = "okay";
208 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
209 <&clock CLK_SCLK_FIMC0>;
210 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
211 assigned-clock-rates = <0>, <160000000>;
212};
213
214&fimc_1 {
215 status = "okay";
216 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
217 <&clock CLK_SCLK_FIMC1>;
218 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
219 assigned-clock-rates = <0>, <160000000>;
220};
221
222&fimc_2 {
223 status = "okay";
224 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
225 <&clock CLK_SCLK_FIMC2>;
226 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
227 assigned-clock-rates = <0>, <160000000>;
228};
229
230&fimc_3 {
231 status = "okay";
232 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
233 <&clock CLK_SCLK_FIMC3>;
234 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
235 assigned-clock-rates = <0>, <160000000>;
236};
237
237&fimd { 238&fimd {
238 status = "okay"; 239 status = "okay";
239}; 240};
@@ -275,6 +276,7 @@
275 276
276 max8997_pmic@66 { 277 max8997_pmic@66 {
277 compatible = "maxim,max8997-pmic"; 278 compatible = "maxim,max8997-pmic";
279 interrupts-extended = <&gpx0 7 0>, <&gpx2 3 0>;
278 280
279 reg = <0x66>; 281 reg = <0x66>;
280 interrupt-parent = <&gpx0>; 282 interrupt-parent = <&gpx0>;
diff --git a/arch/arm/boot/dts/exynos4210-universal_c210.dts b/arch/arm/boot/dts/exynos4210-universal_c210.dts
index 21fff7cd3aa4..4e6ff97e1ec4 100644
--- a/arch/arm/boot/dts/exynos4210-universal_c210.dts
+++ b/arch/arm/boot/dts/exynos4210-universal_c210.dts
@@ -28,24 +28,6 @@
28 stdout-path = &serial_2; 28 stdout-path = &serial_2;
29 }; 29 };
30 30
31 sysram@2020000 {
32 smp-sysram@0 {
33 status = "disabled";
34 };
35
36 smp-sysram@5000 {
37 compatible = "samsung,exynos4210-sysram";
38 reg = <0x5000 0x1000>;
39 };
40
41 smp-sysram@1f000 {
42 status = "disabled";
43 };
44 };
45
46 mct@10050000 {
47 compatible = "none";
48 };
49 31
50 fixed-rate-clocks { 32 fixed-rate-clocks {
51 xxti { 33 xxti {
@@ -173,45 +155,6 @@
173 }; 155 };
174 }; 156 };
175 157
176 camera {
177 status = "okay";
178
179 pinctrl-names = "default";
180 pinctrl-0 = <>;
181
182 fimc_0: fimc@11800000 {
183 status = "okay";
184 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
185 <&clock CLK_SCLK_FIMC0>;
186 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
187 assigned-clock-rates = <0>, <160000000>;
188 };
189
190 fimc_1: fimc@11810000 {
191 status = "okay";
192 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
193 <&clock CLK_SCLK_FIMC1>;
194 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
195 assigned-clock-rates = <0>, <160000000>;
196 };
197
198 fimc_2: fimc@11820000 {
199 status = "okay";
200 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
201 <&clock CLK_SCLK_FIMC2>;
202 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
203 assigned-clock-rates = <0>, <160000000>;
204 };
205
206 fimc_3: fimc@11830000 {
207 status = "okay";
208 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
209 <&clock CLK_SCLK_FIMC3>;
210 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
211 assigned-clock-rates = <0>, <160000000>;
212 };
213 };
214
215 hdmi_en: voltage-regulator-hdmi-5v { 158 hdmi_en: voltage-regulator-hdmi-5v {
216 compatible = "regulator-fixed"; 159 compatible = "regulator-fixed";
217 regulator-name = "HDMI_5V"; 160 regulator-name = "HDMI_5V";
@@ -234,6 +177,13 @@
234 }; 177 };
235}; 178};
236 179
180&camera {
181 status = "okay";
182
183 pinctrl-names = "default";
184 pinctrl-0 = <>;
185};
186
237&cpu0 { 187&cpu0 {
238 cpu0-supply = <&vdd_arm_reg>; 188 cpu0-supply = <&vdd_arm_reg>;
239}; 189};
@@ -250,6 +200,38 @@
250 vbus-supply = <&safeout1_reg>; 200 vbus-supply = <&safeout1_reg>;
251}; 201};
252 202
203&fimc_0 {
204 status = "okay";
205 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
206 <&clock CLK_SCLK_FIMC0>;
207 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
208 assigned-clock-rates = <0>, <160000000>;
209};
210
211&fimc_1 {
212 status = "okay";
213 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
214 <&clock CLK_SCLK_FIMC1>;
215 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
216 assigned-clock-rates = <0>, <160000000>;
217};
218
219&fimc_2 {
220 status = "okay";
221 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
222 <&clock CLK_SCLK_FIMC2>;
223 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
224 assigned-clock-rates = <0>, <160000000>;
225};
226
227&fimc_3 {
228 status = "okay";
229 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
230 <&clock CLK_SCLK_FIMC3>;
231 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
232 assigned-clock-rates = <0>, <160000000>;
233};
234
253&fimd { 235&fimd {
254 pinctrl-0 = <&lcd_clk>, <&lcd_data24>; 236 pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
255 pinctrl-names = "default"; 237 pinctrl-names = "default";
@@ -501,6 +483,10 @@
501 status = "okay"; 483 status = "okay";
502}; 484};
503 485
486&mct {
487 compatible = "none";
488};
489
504&mdma1 { 490&mdma1 {
505 reg = <0x12840000 0x1000>; 491 reg = <0x12840000 0x1000>;
506}; 492};
@@ -579,3 +565,18 @@
579 /delete-property/dmas; 565 /delete-property/dmas;
580 /delete-property/dma-names; 566 /delete-property/dma-names;
581}; 567};
568
569&sysram {
570 smp-sysram@0 {
571 status = "disabled";
572 };
573
574 smp-sysram@5000 {
575 compatible = "samsung,exynos4210-sysram";
576 reg = <0x5000 0x1000>;
577 };
578
579 smp-sysram@1f000 {
580 status = "disabled";
581 };
582};
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi
index cc978cf28267..88fb47cef9a8 100644
--- a/arch/arm/boot/dts/exynos4210.dtsi
+++ b/arch/arm/boot/dts/exynos4210.dtsi
@@ -17,7 +17,6 @@
17 */ 17 */
18 18
19#include "exynos4.dtsi" 19#include "exynos4.dtsi"
20#include "exynos4210-pinctrl.dtsi"
21#include "exynos4-cpu-thermal.dtsi" 20#include "exynos4-cpu-thermal.dtsi"
22 21
23/ { 22/ {
@@ -49,8 +48,6 @@
49 400000 975000 48 400000 975000
50 200000 950000 49 200000 950000
51 >; 50 >;
52 cooling-min-level = <4>;
53 cooling-max-level = <2>;
54 #cooling-cells = <2>; /* min followed by max */ 51 #cooling-cells = <2>; /* min followed by max */
55 }; 52 };
56 53
@@ -61,365 +58,323 @@
61 }; 58 };
62 }; 59 };
63 60
64 sysram: sysram@2020000 { 61 soc: soc {
65 compatible = "mmio-sram"; 62 sysram: sysram@2020000 {
66 reg = <0x02020000 0x20000>; 63 compatible = "mmio-sram";
67 #address-cells = <1>; 64 reg = <0x02020000 0x20000>;
68 #size-cells = <1>; 65 #address-cells = <1>;
69 ranges = <0 0x02020000 0x20000>; 66 #size-cells = <1>;
67 ranges = <0 0x02020000 0x20000>;
70 68
71 smp-sysram@0 { 69 smp-sysram@0 {
72 compatible = "samsung,exynos4210-sysram"; 70 compatible = "samsung,exynos4210-sysram";
73 reg = <0x0 0x1000>; 71 reg = <0x0 0x1000>;
74 }; 72 };
75 73
76 smp-sysram@1f000 { 74 smp-sysram@1f000 {
77 compatible = "samsung,exynos4210-sysram-ns"; 75 compatible = "samsung,exynos4210-sysram-ns";
78 reg = <0x1f000 0x1000>; 76 reg = <0x1f000 0x1000>;
77 };
79 }; 78 };
80 };
81 79
82 pd_lcd1: lcd1-power-domain@10023ca0 { 80 pd_lcd1: lcd1-power-domain@10023ca0 {
83 compatible = "samsung,exynos4210-pd"; 81 compatible = "samsung,exynos4210-pd";
84 reg = <0x10023CA0 0x20>; 82 reg = <0x10023CA0 0x20>;
85 #power-domain-cells = <0>; 83 #power-domain-cells = <0>;
86 label = "LCD1"; 84 label = "LCD1";
87 }; 85 };
88 86
89 l2c: l2-cache-controller@10502000 { 87 l2c: l2-cache-controller@10502000 {
90 compatible = "arm,pl310-cache"; 88 compatible = "arm,pl310-cache";
91 reg = <0x10502000 0x1000>; 89 reg = <0x10502000 0x1000>;
92 cache-unified; 90 cache-unified;
93 cache-level = <2>; 91 cache-level = <2>;
94 arm,tag-latency = <2 2 1>; 92 arm,tag-latency = <2 2 1>;
95 arm,data-latency = <2 2 1>; 93 arm,data-latency = <2 2 1>;
96 }; 94 };
97 95
98 mct: mct@10050000 { 96 mct: mct@10050000 {
99 compatible = "samsung,exynos4210-mct"; 97 compatible = "samsung,exynos4210-mct";
100 reg = <0x10050000 0x800>; 98 reg = <0x10050000 0x800>;
101 interrupt-parent = <&mct_map>; 99 interrupt-parent = <&mct_map>;
102 interrupts = <0>, <1>, <2>, <3>, <4>, <5>; 100 interrupts = <0>, <1>, <2>, <3>, <4>, <5>;
103 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>; 101 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
104 clock-names = "fin_pll", "mct"; 102 clock-names = "fin_pll", "mct";
105 103
106 mct_map: mct-map { 104 mct_map: mct-map {
107 #interrupt-cells = <1>; 105 #interrupt-cells = <1>;
108 #address-cells = <0>; 106 #address-cells = <0>;
109 #size-cells = <0>; 107 #size-cells = <0>;
110 interrupt-map = <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>, 108 interrupt-map =
109 <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
111 <1 &gic 0 69 IRQ_TYPE_LEVEL_HIGH>, 110 <1 &gic 0 69 IRQ_TYPE_LEVEL_HIGH>,
112 <2 &combiner 12 6>, 111 <2 &combiner 12 6>,
113 <3 &combiner 12 7>, 112 <3 &combiner 12 7>,
114 <4 &gic 0 42 IRQ_TYPE_LEVEL_HIGH>, 113 <4 &gic 0 42 IRQ_TYPE_LEVEL_HIGH>,
115 <5 &gic 0 48 IRQ_TYPE_LEVEL_HIGH>; 114 <5 &gic 0 48 IRQ_TYPE_LEVEL_HIGH>;
115 };
116 }; 116 };
117 };
118 117
119 watchdog: watchdog@10060000 { 118 watchdog: watchdog@10060000 {
120 compatible = "samsung,s3c6410-wdt"; 119 compatible = "samsung,s3c6410-wdt";
121 reg = <0x10060000 0x100>; 120 reg = <0x10060000 0x100>;
122 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 121 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
123 clocks = <&clock CLK_WDT>; 122 clocks = <&clock CLK_WDT>;
124 clock-names = "watchdog"; 123 clock-names = "watchdog";
125 };
126
127 clock: clock-controller@10030000 {
128 compatible = "samsung,exynos4210-clock";
129 reg = <0x10030000 0x20000>;
130 #clock-cells = <1>;
131 };
132
133 pinctrl_0: pinctrl@11400000 {
134 compatible = "samsung,exynos4210-pinctrl";
135 reg = <0x11400000 0x1000>;
136 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
137 };
138
139 pinctrl_1: pinctrl@11000000 {
140 compatible = "samsung,exynos4210-pinctrl";
141 reg = <0x11000000 0x1000>;
142 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
143
144 wakup_eint: wakeup-interrupt-controller {
145 compatible = "samsung,exynos4210-wakeup-eint";
146 interrupt-parent = <&gic>;
147 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
148 }; 124 };
149 };
150 125
151 pinctrl_2: pinctrl@3860000 { 126 clock: clock-controller@10030000 {
152 compatible = "samsung,exynos4210-pinctrl"; 127 compatible = "samsung,exynos4210-clock";
153 reg = <0x03860000 0x1000>; 128 reg = <0x10030000 0x20000>;
154 }; 129 #clock-cells = <1>;
130 };
155 131
156 tmu: tmu@100c0000 { 132 pinctrl_0: pinctrl@11400000 {
157 compatible = "samsung,exynos4210-tmu"; 133 compatible = "samsung,exynos4210-pinctrl";
158 interrupt-parent = <&combiner>; 134 reg = <0x11400000 0x1000>;
159 reg = <0x100C0000 0x100>; 135 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
160 interrupts = <2 4>; 136 };
161 clocks = <&clock CLK_TMU_APBIF>;
162 clock-names = "tmu_apbif";
163 samsung,tmu_gain = <15>;
164 samsung,tmu_reference_voltage = <7>;
165 status = "disabled";
166 };
167 137
168 thermal-zones { 138 pinctrl_1: pinctrl@11000000 {
169 cpu_thermal: cpu-thermal { 139 compatible = "samsung,exynos4210-pinctrl";
170 polling-delay-passive = <0>; 140 reg = <0x11000000 0x1000>;
171 polling-delay = <0>; 141 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
172 thermal-sensors = <&tmu 0>;
173 142
174 trips { 143 wakup_eint: wakeup-interrupt-controller {
175 cpu_alert0: cpu-alert-0 { 144 compatible = "samsung,exynos4210-wakeup-eint";
176 temperature = <85000>; /* millicelsius */ 145 interrupt-parent = <&gic>;
177 }; 146 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
178 cpu_alert1: cpu-alert-1 {
179 temperature = <100000>; /* millicelsius */
180 };
181 cpu_alert2: cpu-alert-2 {
182 temperature = <110000>; /* millicelsius */
183 };
184 }; 147 };
185 }; 148 };
186 };
187
188 g2d: g2d@12800000 {
189 compatible = "samsung,s5pv210-g2d";
190 reg = <0x12800000 0x1000>;
191 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
192 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
193 clock-names = "sclk_fimg2d", "fimg2d";
194 power-domains = <&pd_lcd0>;
195 iommus = <&sysmmu_g2d>;
196 };
197 149
198 camera { 150 pinctrl_2: pinctrl@3860000 {
199 clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>, 151 compatible = "samsung,exynos4210-pinctrl";
200 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>; 152 reg = <0x03860000 0x1000>;
201 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1"; 153 };
202 154
203 fimc_0: fimc@11800000 { 155 g2d: g2d@12800000 {
204 samsung,pix-limits = <4224 8192 1920 4224>; 156 compatible = "samsung,s5pv210-g2d";
205 samsung,mainscaler-ext; 157 reg = <0x12800000 0x1000>;
206 samsung,cam-if; 158 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
159 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
160 clock-names = "sclk_fimg2d", "fimg2d";
161 power-domains = <&pd_lcd0>;
162 iommus = <&sysmmu_g2d>;
207 }; 163 };
208 164
209 fimc_1: fimc@11810000 { 165 ppmu_acp: ppmu_acp@10ae0000 {
210 samsung,pix-limits = <4224 8192 1920 4224>; 166 compatible = "samsung,exynos-ppmu";
211 samsung,mainscaler-ext; 167 reg = <0x10ae0000 0x2000>;
212 samsung,cam-if; 168 status = "disabled";
213 }; 169 };
214 170
215 fimc_2: fimc@11820000 { 171 ppmu_lcd1: ppmu_lcd1@12240000 {
216 samsung,pix-limits = <4224 8192 1920 4224>; 172 compatible = "samsung,exynos-ppmu";
217 samsung,mainscaler-ext; 173 reg = <0x12240000 0x2000>;
218 samsung,lcd-wb; 174 clocks = <&clock CLK_PPMULCD1>;
175 clock-names = "ppmu";
176 status = "disabled";
219 }; 177 };
220 178
221 fimc_3: fimc@11830000 { 179 sysmmu_g2d: sysmmu@12a20000 {
222 samsung,pix-limits = <1920 8192 1366 1920>; 180 compatible = "samsung,exynos-sysmmu";
223 samsung,rotators = <0>; 181 reg = <0x12A20000 0x1000>;
224 samsung,mainscaler-ext; 182 interrupt-parent = <&combiner>;
225 samsung,lcd-wb; 183 interrupts = <4 7>;
184 clock-names = "sysmmu", "master";
185 clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
186 power-domains = <&pd_lcd0>;
187 #iommu-cells = <0>;
226 }; 188 };
227 };
228 189
229 mixer: mixer@12c10000 { 190 sysmmu_fimd1: sysmmu@12220000 {
230 clock-names = "mixer", "hdmi", "sclk_hdmi", "vp", "mout_mixer", 191 compatible = "samsung,exynos-sysmmu";
231 "sclk_mixer"; 192 interrupt-parent = <&combiner>;
232 clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>, 193 reg = <0x12220000 0x1000>;
233 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>, 194 interrupts = <5 3>;
234 <&clock CLK_MOUT_MIXER>, <&clock CLK_SCLK_MIXER>; 195 clock-names = "sysmmu", "master";
235 }; 196 clocks = <&clock CLK_SMMU_FIMD1>, <&clock CLK_FIMD1>;
197 power-domains = <&pd_lcd1>;
198 #iommu-cells = <0>;
199 };
236 200
237 ppmu_lcd1: ppmu_lcd1@12240000 { 201 bus_dmc: bus_dmc {
238 compatible = "samsung,exynos-ppmu"; 202 compatible = "samsung,exynos-bus";
239 reg = <0x12240000 0x2000>; 203 clocks = <&clock CLK_DIV_DMC>;
240 clocks = <&clock CLK_PPMULCD1>; 204 clock-names = "bus";
241 clock-names = "ppmu"; 205 operating-points-v2 = <&bus_dmc_opp_table>;
242 status = "disabled"; 206 status = "disabled";
243 }; 207 };
244 208
245 sysmmu_g2d: sysmmu@12a20000 { 209 bus_acp: bus_acp {
246 compatible = "samsung,exynos-sysmmu"; 210 compatible = "samsung,exynos-bus";
247 reg = <0x12A20000 0x1000>; 211 clocks = <&clock CLK_DIV_ACP>;
248 interrupt-parent = <&combiner>; 212 clock-names = "bus";
249 interrupts = <4 7>; 213 operating-points-v2 = <&bus_acp_opp_table>;
250 clock-names = "sysmmu", "master"; 214 status = "disabled";
251 clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>; 215 };
252 power-domains = <&pd_lcd0>;
253 #iommu-cells = <0>;
254 };
255 216
256 sysmmu_fimd1: sysmmu@12220000 { 217 bus_peri: bus_peri {
257 compatible = "samsung,exynos-sysmmu"; 218 compatible = "samsung,exynos-bus";
258 interrupt-parent = <&combiner>; 219 clocks = <&clock CLK_ACLK100>;
259 reg = <0x12220000 0x1000>; 220 clock-names = "bus";
260 interrupts = <5 3>; 221 operating-points-v2 = <&bus_peri_opp_table>;
261 clock-names = "sysmmu", "master"; 222 status = "disabled";
262 clocks = <&clock CLK_SMMU_FIMD1>, <&clock CLK_FIMD1>; 223 };
263 power-domains = <&pd_lcd1>;
264 #iommu-cells = <0>;
265 };
266 224
267 bus_dmc: bus_dmc { 225 bus_fsys: bus_fsys {
268 compatible = "samsung,exynos-bus"; 226 compatible = "samsung,exynos-bus";
269 clocks = <&clock CLK_DIV_DMC>; 227 clocks = <&clock CLK_ACLK133>;
270 clock-names = "bus"; 228 clock-names = "bus";
271 operating-points-v2 = <&bus_dmc_opp_table>; 229 operating-points-v2 = <&bus_fsys_opp_table>;
272 status = "disabled"; 230 status = "disabled";
273 }; 231 };
274 232
275 bus_acp: bus_acp { 233 bus_display: bus_display {
276 compatible = "samsung,exynos-bus"; 234 compatible = "samsung,exynos-bus";
277 clocks = <&clock CLK_DIV_ACP>; 235 clocks = <&clock CLK_ACLK160>;
278 clock-names = "bus"; 236 clock-names = "bus";
279 operating-points-v2 = <&bus_acp_opp_table>; 237 operating-points-v2 = <&bus_display_opp_table>;
280 status = "disabled"; 238 status = "disabled";
281 }; 239 };
282 240
283 bus_peri: bus_peri { 241 bus_lcd0: bus_lcd0 {
284 compatible = "samsung,exynos-bus"; 242 compatible = "samsung,exynos-bus";
285 clocks = <&clock CLK_ACLK100>; 243 clocks = <&clock CLK_ACLK200>;
286 clock-names = "bus"; 244 clock-names = "bus";
287 operating-points-v2 = <&bus_peri_opp_table>; 245 operating-points-v2 = <&bus_leftbus_opp_table>;
288 status = "disabled"; 246 status = "disabled";
289 }; 247 };
290 248
291 bus_fsys: bus_fsys { 249 bus_leftbus: bus_leftbus {
292 compatible = "samsung,exynos-bus"; 250 compatible = "samsung,exynos-bus";
293 clocks = <&clock CLK_ACLK133>; 251 clocks = <&clock CLK_DIV_GDL>;
294 clock-names = "bus"; 252 clock-names = "bus";
295 operating-points-v2 = <&bus_fsys_opp_table>; 253 operating-points-v2 = <&bus_leftbus_opp_table>;
296 status = "disabled"; 254 status = "disabled";
297 }; 255 };
298 256
299 bus_display: bus_display { 257 bus_rightbus: bus_rightbus {
300 compatible = "samsung,exynos-bus"; 258 compatible = "samsung,exynos-bus";
301 clocks = <&clock CLK_ACLK160>; 259 clocks = <&clock CLK_DIV_GDR>;
302 clock-names = "bus"; 260 clock-names = "bus";
303 operating-points-v2 = <&bus_display_opp_table>; 261 operating-points-v2 = <&bus_leftbus_opp_table>;
304 status = "disabled"; 262 status = "disabled";
305 }; 263 };
306 264
307 bus_lcd0: bus_lcd0 { 265 bus_mfc: bus_mfc {
308 compatible = "samsung,exynos-bus"; 266 compatible = "samsung,exynos-bus";
309 clocks = <&clock CLK_ACLK200>; 267 clocks = <&clock CLK_SCLK_MFC>;
310 clock-names = "bus"; 268 clock-names = "bus";
311 operating-points-v2 = <&bus_leftbus_opp_table>; 269 operating-points-v2 = <&bus_leftbus_opp_table>;
312 status = "disabled"; 270 status = "disabled";
313 }; 271 };
314 272
315 bus_leftbus: bus_leftbus { 273 bus_dmc_opp_table: opp_table1 {
316 compatible = "samsung,exynos-bus"; 274 compatible = "operating-points-v2";
317 clocks = <&clock CLK_DIV_GDL>; 275 opp-shared;
318 clock-names = "bus";
319 operating-points-v2 = <&bus_leftbus_opp_table>;
320 status = "disabled";
321 };
322 276
323 bus_rightbus: bus_rightbus { 277 opp-134000000 {
324 compatible = "samsung,exynos-bus"; 278 opp-hz = /bits/ 64 <134000000>;
325 clocks = <&clock CLK_DIV_GDR>; 279 opp-microvolt = <1025000>;
326 clock-names = "bus"; 280 };
327 operating-points-v2 = <&bus_leftbus_opp_table>; 281 opp-267000000 {
328 status = "disabled"; 282 opp-hz = /bits/ 64 <267000000>;
329 }; 283 opp-microvolt = <1050000>;
330 284 };
331 bus_mfc: bus_mfc { 285 opp-400000000 {
332 compatible = "samsung,exynos-bus"; 286 opp-hz = /bits/ 64 <400000000>;
333 clocks = <&clock CLK_SCLK_MFC>; 287 opp-microvolt = <1150000>;
334 clock-names = "bus"; 288 };
335 operating-points-v2 = <&bus_leftbus_opp_table>; 289 };
336 status = "disabled";
337 };
338 290
339 bus_dmc_opp_table: opp_table1 { 291 bus_acp_opp_table: opp_table2 {
340 compatible = "operating-points-v2"; 292 compatible = "operating-points-v2";
341 opp-shared; 293 opp-shared;
342 294
343 opp-134000000 { 295 opp-134000000 {
344 opp-hz = /bits/ 64 <134000000>; 296 opp-hz = /bits/ 64 <134000000>;
345 opp-microvolt = <1025000>; 297 };
346 }; 298 opp-160000000 {
347 opp-267000000 { 299 opp-hz = /bits/ 64 <160000000>;
348 opp-hz = /bits/ 64 <267000000>; 300 };
349 opp-microvolt = <1050000>; 301 opp-200000000 {
350 }; 302 opp-hz = /bits/ 64 <200000000>;
351 opp-400000000 { 303 };
352 opp-hz = /bits/ 64 <400000000>;
353 opp-microvolt = <1150000>;
354 }; 304 };
355 };
356 305
357 bus_acp_opp_table: opp_table2 { 306 bus_peri_opp_table: opp_table3 {
358 compatible = "operating-points-v2"; 307 compatible = "operating-points-v2";
359 opp-shared; 308 opp-shared;
360 309
361 opp-134000000 { 310 opp-5000000 {
362 opp-hz = /bits/ 64 <134000000>; 311 opp-hz = /bits/ 64 <5000000>;
363 }; 312 };
364 opp-160000000 { 313 opp-100000000 {
365 opp-hz = /bits/ 64 <160000000>; 314 opp-hz = /bits/ 64 <100000000>;
366 }; 315 };
367 opp-200000000 {
368 opp-hz = /bits/ 64 <200000000>;
369 }; 316 };
370 };
371 317
372 bus_peri_opp_table: opp_table3 { 318 bus_fsys_opp_table: opp_table4 {
373 compatible = "operating-points-v2"; 319 compatible = "operating-points-v2";
374 opp-shared; 320 opp-shared;
375 321
376 opp-5000000 { 322 opp-10000000 {
377 opp-hz = /bits/ 64 <5000000>; 323 opp-hz = /bits/ 64 <10000000>;
378 }; 324 };
379 opp-100000000 { 325 opp-134000000 {
380 opp-hz = /bits/ 64 <100000000>; 326 opp-hz = /bits/ 64 <134000000>;
327 };
381 }; 328 };
382 };
383 329
384 bus_fsys_opp_table: opp_table4 { 330 bus_display_opp_table: opp_table5 {
385 compatible = "operating-points-v2"; 331 compatible = "operating-points-v2";
386 opp-shared; 332 opp-shared;
387 333
388 opp-10000000 { 334 opp-100000000 {
389 opp-hz = /bits/ 64 <10000000>; 335 opp-hz = /bits/ 64 <100000000>;
390 }; 336 };
391 opp-134000000 { 337 opp-134000000 {
392 opp-hz = /bits/ 64 <134000000>; 338 opp-hz = /bits/ 64 <134000000>;
339 };
340 opp-160000000 {
341 opp-hz = /bits/ 64 <160000000>;
342 };
393 }; 343 };
394 };
395 344
396 bus_display_opp_table: opp_table5 { 345 bus_leftbus_opp_table: opp_table6 {
397 compatible = "operating-points-v2"; 346 compatible = "operating-points-v2";
398 opp-shared; 347 opp-shared;
399 348
400 opp-100000000 { 349 opp-100000000 {
401 opp-hz = /bits/ 64 <100000000>; 350 opp-hz = /bits/ 64 <100000000>;
402 }; 351 };
403 opp-134000000 { 352 opp-160000000 {
404 opp-hz = /bits/ 64 <134000000>; 353 opp-hz = /bits/ 64 <160000000>;
405 }; 354 };
406 opp-160000000 { 355 opp-200000000 {
407 opp-hz = /bits/ 64 <160000000>; 356 opp-hz = /bits/ 64 <200000000>;
357 };
408 }; 358 };
409 }; 359 };
410 360
411 bus_leftbus_opp_table: opp_table6 { 361 thermal-zones {
412 compatible = "operating-points-v2"; 362 cpu_thermal: cpu-thermal {
413 opp-shared; 363 polling-delay-passive = <0>;
364 polling-delay = <0>;
365 thermal-sensors = <&tmu 0>;
414 366
415 opp-100000000 { 367 trips {
416 opp-hz = /bits/ 64 <100000000>; 368 cpu_alert0: cpu-alert-0 {
417 }; 369 temperature = <85000>; /* millicelsius */
418 opp-160000000 { 370 };
419 opp-hz = /bits/ 64 <160000000>; 371 cpu_alert1: cpu-alert-1 {
420 }; 372 temperature = <100000>; /* millicelsius */
421 opp-200000000 { 373 };
422 opp-hz = /bits/ 64 <200000000>; 374 cpu_alert2: cpu-alert-2 {
375 temperature = <110000>; /* millicelsius */
376 };
377 };
423 }; 378 };
424 }; 379 };
425}; 380};
@@ -428,6 +383,12 @@
428 cpu-offset = <0x8000>; 383 cpu-offset = <0x8000>;
429}; 384};
430 385
386&camera {
387 clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
388 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
389 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
390};
391
431&combiner { 392&combiner {
432 samsung,combiner-nr = <16>; 393 samsung,combiner-nr = <16>;
433 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 394 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
@@ -448,10 +409,43 @@
448 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 409 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
449}; 410};
450 411
412&fimc_0 {
413 samsung,pix-limits = <4224 8192 1920 4224>;
414 samsung,mainscaler-ext;
415 samsung,cam-if;
416};
417
418&fimc_1 {
419 samsung,pix-limits = <4224 8192 1920 4224>;
420 samsung,mainscaler-ext;
421 samsung,cam-if;
422};
423
424&fimc_2 {
425 samsung,pix-limits = <4224 8192 1920 4224>;
426 samsung,mainscaler-ext;
427 samsung,lcd-wb;
428};
429
430&fimc_3 {
431 samsung,pix-limits = <1920 8192 1366 1920>;
432 samsung,rotators = <0>;
433 samsung,mainscaler-ext;
434 samsung,lcd-wb;
435};
436
451&mdma1 { 437&mdma1 {
452 power-domains = <&pd_lcd0>; 438 power-domains = <&pd_lcd0>;
453}; 439};
454 440
441&mixer {
442 clock-names = "mixer", "hdmi", "sclk_hdmi", "vp", "mout_mixer",
443 "sclk_mixer";
444 clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
445 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>,
446 <&clock CLK_MOUT_MIXER>, <&clock CLK_SCLK_MIXER>;
447};
448
455&pmu_system_controller { 449&pmu_system_controller {
456 clock-names = "clkout0", "clkout1", "clkout2", "clkout3", 450 clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
457 "clkout4", "clkout8", "clkout9"; 451 "clkout4", "clkout8", "clkout9";
@@ -468,3 +462,13 @@
468&sysmmu_rotator { 462&sysmmu_rotator {
469 power-domains = <&pd_lcd0>; 463 power-domains = <&pd_lcd0>;
470}; 464};
465
466&tmu {
467 compatible = "samsung,exynos4210-tmu";
468 clocks = <&clock CLK_TMU_APBIF>;
469 clock-names = "tmu_apbif";
470 samsung,tmu_gain = <15>;
471 samsung,tmu_reference_voltage = <7>;
472};
473
474#include "exynos4210-pinctrl.dtsi"
diff --git a/arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi b/arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi
new file mode 100644
index 000000000000..ee8e1f445370
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-galaxy-s3.dtsi
@@ -0,0 +1,140 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4412 based Galaxy S3 board device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 */
8
9/dts-v1/;
10#include "exynos4412-midas.dtsi"
11
12/ {
13 aliases {
14 i2c9 = &i2c_ak8975;
15 i2c10 = &i2c_cm36651;
16 };
17
18 regulators {
19 lcd_vdd3_reg: voltage-regulator-2 {
20 compatible = "regulator-fixed";
21 regulator-name = "LCD_VDD_2.2V";
22 regulator-min-microvolt = <2200000>;
23 regulator-max-microvolt = <2200000>;
24 gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
25 enable-active-high;
26 };
27
28 ps_als_reg: voltage-regulator-5 {
29 compatible = "regulator-fixed";
30 regulator-name = "LED_A_3.0V";
31 regulator-min-microvolt = <3000000>;
32 regulator-max-microvolt = <3000000>;
33 gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
34 enable-active-high;
35 };
36 };
37
38 i2c_ak8975: i2c-gpio-0 {
39 compatible = "i2c-gpio";
40 gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
41 i2c-gpio,delay-us = <2>;
42 #address-cells = <1>;
43 #size-cells = <0>;
44 status = "okay";
45
46 ak8975@c {
47 compatible = "asahi-kasei,ak8975";
48 reg = <0x0c>;
49 gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
50 };
51 };
52
53 i2c_cm36651: i2c-gpio-2 {
54 compatible = "i2c-gpio";
55 gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
56 i2c-gpio,delay-us = <2>;
57 #address-cells = <1>;
58 #size-cells = <0>;
59
60 cm36651@18 {
61 compatible = "capella,cm36651";
62 reg = <0x18>;
63 interrupt-parent = <&gpx0>;
64 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
65 vled-supply = <&ps_als_reg>;
66 };
67 };
68};
69
70&buck9_reg {
71 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
72};
73
74&cam_af_reg {
75 gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
76 status = "okay";
77};
78
79&cam_io_reg {
80 gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
81 status = "okay";
82};
83
84&dsi_0 {
85 status = "okay";
86
87 panel@0 {
88 compatible = "samsung,s6e8aa0";
89 reg = <0>;
90 vdd3-supply = <&lcd_vdd3_reg>;
91 vci-supply = <&ldo25_reg>;
92 reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
93 power-on-delay= <50>;
94 reset-delay = <100>;
95 init-delay = <100>;
96 flip-horizontal;
97 flip-vertical;
98 panel-width-mm = <58>;
99 panel-height-mm = <103>;
100
101 display-timings {
102 timing-0 {
103 clock-frequency = <57153600>;
104 hactive = <720>;
105 vactive = <1280>;
106 hfront-porch = <5>;
107 hback-porch = <5>;
108 hsync-len = <5>;
109 vfront-porch = <13>;
110 vback-porch = <1>;
111 vsync-len = <2>;
112 };
113 };
114 };
115};
116
117&i2c_3 {
118 mms114-touchscreen@48 {
119 compatible = "melfas,mms114";
120 reg = <0x48>;
121 interrupt-parent = <&gpm2>;
122 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
123 x-size = <720>;
124 y-size = <1280>;
125 avdd-supply = <&ldo23_reg>;
126 vdd-supply = <&ldo24_reg>;
127 };
128};
129
130&ldo25_reg {
131 regulator-name = "LCD_VCC_3.3V";
132 regulator-min-microvolt = <2800000>;
133 regulator-max-microvolt = <2800000>;
134};
135
136&s5c73m3 {
137 standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */
138 vdda-supply = <&ldo17_reg>;
139 status = "okay";
140};
diff --git a/arch/arm/boot/dts/exynos4412-i9300.dts b/arch/arm/boot/dts/exynos4412-i9300.dts
new file mode 100644
index 000000000000..f8125a945f8d
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-i9300.dts
@@ -0,0 +1,22 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4412 based M0 (GT-I9300) board device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 */
8
9/dts-v1/;
10#include "exynos4412-galaxy-s3.dtsi"
11
12/ {
13 model = "Samsung Galaxy S3 (GT-I9300) based on Exynos4412";
14 compatible = "samsung,i9300", "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
15
16 /* bootargs are passed in by bootloader */
17
18 memory@40000000 {
19 device_type = "memory";
20 reg = <0x40000000 0x40000000>;
21 };
22};
diff --git a/arch/arm/boot/dts/exynos4412-i9305.dts b/arch/arm/boot/dts/exynos4412-i9305.dts
new file mode 100644
index 000000000000..54a2a55dbf70
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-i9305.dts
@@ -0,0 +1,20 @@
1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3#include "exynos4412-galaxy-s3.dtsi"
4
5/ {
6 model = "Samsung Galaxy S3 (GT-I9305) based on Exynos4412";
7 compatible = "samsung,i9305", "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
8
9 /* bootargs are passed in by bootloader */
10
11 memory@40000000 {
12 device_type = "memory";
13 reg = <0x40000000 0x80000000>;
14 };
15};
16
17&i2c0_bus {
18 /* SCL and SDA pins are swapped */
19 samsung,pins = "gpd1-1", "gpd1-0";
20};
diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
index a4cd4939fe9a..0dedeba89b5f 100644
--- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -116,14 +116,6 @@
116 compatible = "pwm-beeper"; 116 compatible = "pwm-beeper";
117 pwms = <&pwm 0 4000000 PWM_POLARITY_INVERTED>; 117 pwms = <&pwm 0 4000000 PWM_POLARITY_INVERTED>;
118 }; 118 };
119
120 camera: camera {
121 pinctrl-0 = <&cam_port_a_clk_active>;
122 pinctrl-names = "default";
123 status = "okay";
124 assigned-clocks = <&clock CLK_MOUT_CAM0>;
125 assigned-clock-parents = <&clock CLK_XUSBXTI>;
126 };
127}; 119};
128 120
129&adc { 121&adc {
@@ -131,6 +123,14 @@
131 status = "okay"; 123 status = "okay";
132}; 124};
133 125
126&camera {
127 pinctrl-0 = <&cam_port_a_clk_active>;
128 pinctrl-names = "default";
129 status = "okay";
130 assigned-clocks = <&clock CLK_MOUT_CAM0>;
131 assigned-clock-parents = <&clock CLK_XUSBXTI>;
132};
133
134&clock_audss { 134&clock_audss {
135 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, 135 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
136 <&clock_audss EXYNOS_MOUT_I2S>, 136 <&clock_audss EXYNOS_MOUT_I2S>,
diff --git a/arch/arm/boot/dts/exynos4412-midas.dtsi b/arch/arm/boot/dts/exynos4412-midas.dtsi
new file mode 100644
index 000000000000..76f2b30f1731
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-midas.dtsi
@@ -0,0 +1,1308 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4412 based Trats 2 board device tree source
4 *
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 *
8 * Device tree source file for Samsung's Trats 2 board which is based on
9 * Samsung's Exynos4412 SoC.
10 */
11
12/dts-v1/;
13#include "exynos4412.dtsi"
14#include "exynos4412-ppmu-common.dtsi"
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/clock/maxim,max77686.h>
18#include <dt-bindings/pinctrl/samsung.h>
19
20/ {
21 compatible = "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
22
23 aliases {
24 i2c11 = &i2c_max77693;
25 i2c12 = &i2c_max77693_fuel;
26 };
27
28 chosen {
29 stdout-path = &serial_2;
30 };
31
32 firmware@204f000 {
33 compatible = "samsung,secure-firmware";
34 reg = <0x0204F000 0x1000>;
35 };
36
37 fixed-rate-clocks {
38 xxti {
39 compatible = "samsung,clock-xxti", "fixed-clock";
40 clock-frequency = <0>;
41 };
42
43 xusbxti {
44 compatible = "samsung,clock-xusbxti", "fixed-clock";
45 clock-frequency = <24000000>;
46 };
47 };
48
49 regulators {
50 compatible = "simple-bus";
51 #address-cells = <1>;
52 #size-cells = <0>;
53
54 cam_io_reg: voltage-regulator-1 {
55 compatible = "regulator-fixed";
56 regulator-name = "CAM_SENSOR_A";
57 regulator-min-microvolt = <2800000>;
58 regulator-max-microvolt = <2800000>;
59 enable-active-high;
60 status = "disabled";
61 };
62
63 cam_af_reg: voltage-regulator-3 {
64 compatible = "regulator-fixed";
65 regulator-name = "CAM_AF";
66 regulator-min-microvolt = <2800000>;
67 regulator-max-microvolt = <2800000>;
68 enable-active-high;
69 status = "disabled";
70 };
71
72 vsil12: voltage-regulator-6 {
73 compatible = "regulator-fixed";
74 regulator-name = "VSIL_1.2V";
75 regulator-min-microvolt = <1200000>;
76 regulator-max-microvolt = <1200000>;
77 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
78 enable-active-high;
79 vin-supply = <&buck7_reg>;
80 };
81
82 vcc33mhl: voltage-regulator-7 {
83 compatible = "regulator-fixed";
84 regulator-name = "VCC_3.3_MHL";
85 regulator-min-microvolt = <3300000>;
86 regulator-max-microvolt = <3300000>;
87 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
88 enable-active-high;
89 };
90
91 vcc18mhl: voltage-regulator-8 {
92 compatible = "regulator-fixed";
93 regulator-name = "VCC_1.8_MHL";
94 regulator-min-microvolt = <1800000>;
95 regulator-max-microvolt = <1800000>;
96 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
97 enable-active-high;
98 };
99 };
100
101 gpio-keys {
102 compatible = "gpio-keys";
103
104 key-down {
105 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
106 linux,code = <114>;
107 label = "volume down";
108 debounce-interval = <10>;
109 };
110
111 key-up {
112 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
113 linux,code = <115>;
114 label = "volume up";
115 debounce-interval = <10>;
116 };
117
118 key-power {
119 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
120 linux,code = <116>;
121 label = "power";
122 debounce-interval = <10>;
123 wakeup-source;
124 };
125
126 key-ok {
127 gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
128 linux,code = <139>;
129 label = "ok";
130 debounce-interval = <10>;
131 wakeup-source;
132 };
133 };
134
135 i2c_max77693: i2c-gpio-1 {
136 compatible = "i2c-gpio";
137 gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
138 i2c-gpio,delay-us = <2>;
139 #address-cells = <1>;
140 #size-cells = <0>;
141 status = "okay";
142
143 max77693@66 {
144 compatible = "maxim,max77693";
145 interrupt-parent = <&gpx1>;
146 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
147 reg = <0x66>;
148
149 regulators {
150 esafeout1_reg: ESAFEOUT1 {
151 regulator-name = "ESAFEOUT1";
152 };
153 esafeout2_reg: ESAFEOUT2 {
154 regulator-name = "ESAFEOUT2";
155 };
156 charger_reg: CHARGER {
157 regulator-name = "CHARGER";
158 regulator-min-microamp = <60000>;
159 regulator-max-microamp = <2580000>;
160 };
161 };
162
163 max77693_haptic {
164 compatible = "maxim,max77693-haptic";
165 haptic-supply = <&ldo26_reg>;
166 pwms = <&pwm 0 38022 0>;
167 };
168
169 charger {
170 compatible = "maxim,max77693-charger";
171
172 maxim,constant-microvolt = <4350000>;
173 maxim,min-system-microvolt = <3600000>;
174 maxim,thermal-regulation-celsius = <100>;
175 maxim,battery-overcurrent-microamp = <3500000>;
176 maxim,charge-input-threshold-microvolt = <4300000>;
177 };
178 };
179 };
180
181 i2c_max77693_fuel: i2c-gpio-3 {
182 compatible = "i2c-gpio";
183 gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
184 i2c-gpio,delay-us = <2>;
185 #address-cells = <1>;
186 #size-cells = <0>;
187 status = "okay";
188
189 max77693-fuel-gauge@36 {
190 compatible = "maxim,max17047";
191 interrupt-parent = <&gpx2>;
192 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
193 reg = <0x36>;
194
195 maxim,over-heat-temp = <700>;
196 maxim,over-volt = <4500>;
197 };
198 };
199
200 i2c-mhl {
201 compatible = "i2c-gpio";
202 gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
203 i2c-gpio,delay-us = <100>;
204 #address-cells = <1>;
205 #size-cells = <0>;
206
207 pinctrl-0 = <&i2c_mhl_bus>;
208 pinctrl-names = "default";
209 status = "okay";
210
211 sii9234: hdmi-bridge@39 {
212 compatible = "sil,sii9234";
213 avcc33-supply = <&vcc33mhl>;
214 iovcc18-supply = <&vcc18mhl>;
215 avcc12-supply = <&vsil12>;
216 cvcc12-supply = <&vsil12>;
217 reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
218 interrupt-parent = <&gpf3>;
219 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
220 reg = <0x39>;
221
222 port {
223 mhl_to_hdmi: endpoint {
224 remote-endpoint = <&hdmi_to_mhl>;
225 };
226 };
227 };
228 };
229
230 wlan_pwrseq: sdhci3-pwrseq {
231 compatible = "mmc-pwrseq-simple";
232 reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
233 clocks = <&max77686 MAX77686_CLK_PMIC>;
234 clock-names = "ext_clock";
235 };
236
237 sound {
238 compatible = "samsung,trats2-audio";
239 samsung,i2s-controller = <&i2s0>;
240 samsung,model = "Trats2";
241 samsung,audio-codec = <&wm1811>;
242 samsung,audio-routing =
243 "SPK", "SPKOUTLN",
244 "SPK", "SPKOUTLP",
245 "SPK", "SPKOUTRN",
246 "SPK", "SPKOUTRP";
247 };
248
249 thermistor-ap {
250 compatible = "murata,ncp15wb473";
251 pullup-uv = <1800000>; /* VCC_1.8V_AP */
252 pullup-ohm = <100000>; /* 100K */
253 pulldown-ohm = <100000>; /* 100K */
254 io-channels = <&adc 1>; /* AP temperature */
255 };
256
257 thermistor-battery {
258 compatible = "murata,ncp15wb473";
259 pullup-uv = <1800000>; /* VCC_1.8V_AP */
260 pullup-ohm = <100000>; /* 100K */
261 pulldown-ohm = <100000>; /* 100K */
262 io-channels = <&adc 2>; /* Battery temperature */
263 };
264
265 thermal-zones {
266 cpu_thermal: cpu-thermal {
267 cooling-maps {
268 map0 {
269 /* Corresponds to 800MHz at freq_table */
270 cooling-device = <&cpu0 7 7>;
271 };
272 map1 {
273 /* Corresponds to 200MHz at freq_table */
274 cooling-device = <&cpu0 13 13>;
275 };
276 };
277 };
278 };
279};
280
281&adc {
282 vdd-supply = <&ldo3_reg>;
283 status = "okay";
284};
285
286&bus_dmc {
287 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
288 vdd-supply = <&buck1_reg>;
289 status = "okay";
290};
291
292&bus_acp {
293 devfreq = <&bus_dmc>;
294 status = "okay";
295};
296
297&bus_c2c {
298 devfreq = <&bus_dmc>;
299 status = "okay";
300};
301
302&bus_leftbus {
303 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
304 vdd-supply = <&buck3_reg>;
305 status = "okay";
306};
307
308&bus_rightbus {
309 devfreq = <&bus_leftbus>;
310 status = "okay";
311};
312
313&bus_display {
314 devfreq = <&bus_leftbus>;
315 status = "okay";
316};
317
318&bus_fsys {
319 devfreq = <&bus_leftbus>;
320 status = "okay";
321};
322
323&bus_peri {
324 devfreq = <&bus_leftbus>;
325 status = "okay";
326};
327
328&bus_mfc {
329 devfreq = <&bus_leftbus>;
330 status = "okay";
331};
332
333&camera {
334 pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
335 pinctrl-names = "default";
336 status = "okay";
337 assigned-clocks = <&clock CLK_MOUT_CAM0>,
338 <&clock CLK_MOUT_CAM1>;
339 assigned-clock-parents = <&clock CLK_XUSBXTI>,
340 <&clock CLK_XUSBXTI>;
341};
342
343&cpu0 {
344 cpu0-supply = <&buck2_reg>;
345};
346
347&csis_0 {
348 status = "okay";
349 vddcore-supply = <&ldo8_reg>;
350 vddio-supply = <&ldo10_reg>;
351 assigned-clocks = <&clock CLK_MOUT_CSIS0>,
352 <&clock CLK_SCLK_CSIS0>;
353 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
354 assigned-clock-rates = <0>, <176000000>;
355
356 /* Camera C (3) MIPI CSI-2 (CSIS0) */
357 port@3 {
358 reg = <3>;
359 csis0_ep: endpoint {
360 remote-endpoint = <&s5c73m3_ep>;
361 data-lanes = <1 2 3 4>;
362 samsung,csis-hs-settle = <12>;
363 };
364 };
365};
366
367&csis_1 {
368 status = "okay";
369 vddcore-supply = <&ldo8_reg>;
370 vddio-supply = <&ldo10_reg>;
371 assigned-clocks = <&clock CLK_MOUT_CSIS1>,
372 <&clock CLK_SCLK_CSIS1>;
373 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
374 assigned-clock-rates = <0>, <176000000>;
375
376 /* Camera D (4) MIPI CSI-2 (CSIS1) */
377 port@4 {
378 reg = <4>;
379 csis1_ep: endpoint {
380 remote-endpoint = <&is_s5k6a3_ep>;
381 data-lanes = <1>;
382 samsung,csis-hs-settle = <18>;
383 samsung,csis-wclk;
384 };
385 };
386};
387
388&dsi_0 {
389 vddcore-supply = <&ldo8_reg>;
390 vddio-supply = <&ldo10_reg>;
391 samsung,burst-clock-frequency = <500000000>;
392 samsung,esc-clock-frequency = <20000000>;
393 samsung,pll-clock-frequency = <24000000>;
394};
395
396&exynos_usbphy {
397 vbus-supply = <&esafeout1_reg>;
398 status = "okay";
399};
400
401&fimc_0 {
402 status = "okay";
403 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
404 <&clock CLK_SCLK_FIMC0>;
405 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
406 assigned-clock-rates = <0>, <176000000>;
407};
408
409&fimc_1 {
410 status = "okay";
411 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
412 <&clock CLK_SCLK_FIMC1>;
413 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
414 assigned-clock-rates = <0>, <176000000>;
415};
416
417&fimc_2 {
418 status = "okay";
419 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
420 <&clock CLK_SCLK_FIMC2>;
421 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
422 assigned-clock-rates = <0>, <176000000>;
423};
424
425&fimc_3 {
426 status = "okay";
427 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
428 <&clock CLK_SCLK_FIMC3>;
429 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
430 assigned-clock-rates = <0>, <176000000>;
431};
432
433&fimc_is {
434 pinctrl-0 = <&fimc_is_uart>;
435 pinctrl-names = "default";
436 status = "okay";
437
438 };
439
440&fimc_lite_0 {
441 status = "okay";
442};
443
444&fimc_lite_1 {
445 status = "okay";
446};
447
448&fimd {
449 status = "okay";
450};
451
452&hdmi {
453 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
454 pinctrl-names = "default";
455 pinctrl-0 = <&hdmi_hpd>;
456 vdd-supply = <&ldo3_reg>;
457 vdd_osc-supply = <&ldo4_reg>;
458 vdd_pll-supply = <&ldo3_reg>;
459 ddc = <&i2c_5>;
460 status = "okay";
461
462 ports {
463 #address-cells = <1>;
464 #size-cells = <0>;
465
466 port@1 {
467 reg = <1>;
468 hdmi_to_mhl: endpoint {
469 remote-endpoint = <&mhl_to_hdmi>;
470 };
471 };
472 };
473};
474
475&hsotg {
476 vusb_d-supply = <&ldo15_reg>;
477 vusb_a-supply = <&ldo12_reg>;
478 dr_mode = "peripheral";
479 status = "okay";
480};
481
482&i2c_0 {
483 samsung,i2c-sda-delay = <100>;
484 samsung,i2c-slave-addr = <0x10>;
485 samsung,i2c-max-bus-freq = <400000>;
486 pinctrl-0 = <&i2c0_bus>;
487 pinctrl-names = "default";
488 status = "okay";
489
490 s5c73m3: s5c73m3@3c {
491 compatible = "samsung,s5c73m3";
492 reg = <0x3c>;
493 xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
494 vdd-int-supply = <&buck9_reg>;
495 vddio-cis-supply = <&ldo9_reg>;
496 vddio-host-supply = <&ldo18_reg>;
497 vdd-af-supply = <&cam_af_reg>;
498 vdd-reg-supply = <&cam_io_reg>;
499 clock-frequency = <24000000>;
500 /* CAM_A_CLKOUT */
501 clocks = <&camera 0>;
502 clock-names = "cis_extclk";
503 status = "disabled";
504 port {
505 s5c73m3_ep: endpoint {
506 remote-endpoint = <&csis0_ep>;
507 data-lanes = <1 2 3 4>;
508 };
509 };
510 };
511};
512
513&i2c1_isp {
514 pinctrl-0 = <&fimc_is_i2c1>;
515 pinctrl-names = "default";
516
517 s5k6a3@10 {
518 compatible = "samsung,s5k6a3";
519 reg = <0x10>;
520 svdda-supply = <&cam_io_reg>;
521 svddio-supply = <&ldo19_reg>;
522 afvdd-supply = <&ldo19_reg>;
523 clock-frequency = <24000000>;
524 /* CAM_B_CLKOUT */
525 clocks = <&camera 1>;
526 clock-names = "extclk";
527 samsung,camclk-out = <1>;
528 gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
529
530 port {
531 is_s5k6a3_ep: endpoint {
532 remote-endpoint = <&csis1_ep>;
533 data-lanes = <1>;
534 };
535 };
536 };
537};
538
539&i2c_3 {
540 samsung,i2c-sda-delay = <100>;
541 samsung,i2c-slave-addr = <0x10>;
542 samsung,i2c-max-bus-freq = <400000>;
543 pinctrl-0 = <&i2c3_bus>;
544 pinctrl-names = "default";
545 status = "okay";
546};
547
548&i2c_4 {
549 samsung,i2c-sda-delay = <100>;
550 samsung,i2c-slave-addr = <0x10>;
551 samsung,i2c-max-bus-freq = <100000>;
552 pinctrl-0 = <&i2c4_bus>;
553 pinctrl-names = "default";
554 status = "okay";
555
556 wm1811: wm1811@1a {
557 compatible = "wlf,wm1811";
558 reg = <0x1a>;
559 clocks = <&pmu_system_controller 0>;
560 clock-names = "MCLK1";
561 DCVDD-supply = <&ldo3_reg>;
562 DBVDD1-supply = <&ldo3_reg>;
563 wlf,ldo1ena = <&gpj0 4 0>;
564 };
565};
566
567&i2c_5 {
568 status = "okay";
569};
570
571&i2c_7 {
572 samsung,i2c-sda-delay = <100>;
573 samsung,i2c-slave-addr = <0x10>;
574 samsung,i2c-max-bus-freq = <100000>;
575 pinctrl-0 = <&i2c7_bus>;
576 pinctrl-names = "default";
577 status = "okay";
578
579 max77686: max77686_pmic@9 {
580 compatible = "maxim,max77686";
581 interrupt-parent = <&gpx0>;
582 interrupts = <7 IRQ_TYPE_NONE>;
583 reg = <0x09>;
584 #clock-cells = <1>;
585
586 voltage-regulators {
587 ldo1_reg: LDO1 {
588 regulator-name = "VALIVE_1.0V_AP";
589 regulator-min-microvolt = <1000000>;
590 regulator-max-microvolt = <1000000>;
591 regulator-always-on;
592 };
593
594 ldo2_reg: LDO2 {
595 regulator-name = "VM1M2_1.2V_AP";
596 regulator-min-microvolt = <1200000>;
597 regulator-max-microvolt = <1200000>;
598 regulator-always-on;
599 regulator-state-mem {
600 regulator-on-in-suspend;
601 };
602 };
603
604 ldo3_reg: LDO3 {
605 regulator-name = "VCC_1.8V_AP";
606 regulator-min-microvolt = <1800000>;
607 regulator-max-microvolt = <1800000>;
608 regulator-always-on;
609 };
610
611 ldo4_reg: LDO4 {
612 regulator-name = "VCC_2.8V_AP";
613 regulator-min-microvolt = <2800000>;
614 regulator-max-microvolt = <2800000>;
615 regulator-always-on;
616 };
617
618 ldo5_reg: LDO5 {
619 regulator-name = "VCC_1.8V_IO";
620 regulator-min-microvolt = <1800000>;
621 regulator-max-microvolt = <1800000>;
622 regulator-always-on;
623 };
624
625 ldo6_reg: LDO6 {
626 regulator-name = "VMPLL_1.0V_AP";
627 regulator-min-microvolt = <1000000>;
628 regulator-max-microvolt = <1000000>;
629 regulator-always-on;
630 regulator-state-mem {
631 regulator-on-in-suspend;
632 };
633 };
634
635 ldo7_reg: LDO7 {
636 regulator-name = "VPLL_1.0V_AP";
637 regulator-min-microvolt = <1000000>;
638 regulator-max-microvolt = <1000000>;
639 regulator-always-on;
640 regulator-state-mem {
641 regulator-on-in-suspend;
642 };
643 };
644
645 ldo8_reg: LDO8 {
646 regulator-name = "VMIPI_1.0V";
647 regulator-min-microvolt = <1000000>;
648 regulator-max-microvolt = <1000000>;
649 regulator-state-mem {
650 regulator-off-in-suspend;
651 };
652 };
653
654 ldo9_reg: LDO9 {
655 regulator-name = "CAM_ISP_MIPI_1.2V";
656 regulator-min-microvolt = <1200000>;
657 regulator-max-microvolt = <1200000>;
658 };
659
660 ldo10_reg: LDO10 {
661 regulator-name = "VMIPI_1.8V";
662 regulator-min-microvolt = <1800000>;
663 regulator-max-microvolt = <1800000>;
664 regulator-state-mem {
665 regulator-off-in-suspend;
666 };
667 };
668
669 ldo11_reg: LDO11 {
670 regulator-name = "VABB1_1.95V";
671 regulator-min-microvolt = <1950000>;
672 regulator-max-microvolt = <1950000>;
673 regulator-always-on;
674 regulator-state-mem {
675 regulator-off-in-suspend;
676 };
677 };
678
679 ldo12_reg: LDO12 {
680 regulator-name = "VUOTG_3.0V";
681 regulator-min-microvolt = <3000000>;
682 regulator-max-microvolt = <3000000>;
683 regulator-state-mem {
684 regulator-off-in-suspend;
685 };
686 };
687
688 ldo13_reg: LDO13 {
689 regulator-name = "NFC_AVDD_1.8V";
690 regulator-min-microvolt = <1800000>;
691 regulator-max-microvolt = <1800000>;
692 };
693
694 ldo14_reg: LDO14 {
695 regulator-name = "VABB2_1.95V";
696 regulator-min-microvolt = <1950000>;
697 regulator-max-microvolt = <1950000>;
698 regulator-always-on;
699 regulator-state-mem {
700 regulator-off-in-suspend;
701 };
702 };
703
704 ldo15_reg: LDO15 {
705 regulator-name = "VHSIC_1.0V";
706 regulator-min-microvolt = <1000000>;
707 regulator-max-microvolt = <1000000>;
708 regulator-state-mem {
709 regulator-on-in-suspend;
710 };
711 };
712
713 ldo16_reg: LDO16 {
714 regulator-name = "VHSIC_1.8V";
715 regulator-min-microvolt = <1800000>;
716 regulator-max-microvolt = <1800000>;
717 regulator-state-mem {
718 regulator-on-in-suspend;
719 };
720 };
721
722 ldo17_reg: LDO17 {
723 regulator-name = "CAM_SENSOR_CORE_1.2V";
724 regulator-min-microvolt = <1200000>;
725 regulator-max-microvolt = <1200000>;
726 };
727
728 ldo18_reg: LDO18 {
729 regulator-name = "CAM_ISP_SEN_IO_1.8V";
730 regulator-min-microvolt = <1800000>;
731 regulator-max-microvolt = <1800000>;
732 };
733
734 ldo19_reg: LDO19 {
735 regulator-name = "VT_CAM_1.8V";
736 regulator-min-microvolt = <1800000>;
737 regulator-max-microvolt = <1800000>;
738 };
739
740 ldo20_reg: LDO20 {
741 regulator-name = "VDDQ_PRE_1.8V";
742 regulator-min-microvolt = <1800000>;
743 regulator-max-microvolt = <1800000>;
744 };
745
746 ldo21_reg: LDO21 {
747 regulator-name = "VTF_2.8V";
748 regulator-min-microvolt = <2800000>;
749 regulator-max-microvolt = <2800000>;
750 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
751 };
752
753 ldo22_reg: LDO22 {
754 regulator-name = "VMEM_VDD_2.8V";
755 regulator-min-microvolt = <2800000>;
756 regulator-max-microvolt = <2800000>;
757 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
758 };
759
760 ldo23_reg: LDO23 {
761 regulator-name = "TSP_AVDD_3.3V";
762 regulator-min-microvolt = <3300000>;
763 regulator-max-microvolt = <3300000>;
764 };
765
766 ldo24_reg: LDO24 {
767 regulator-name = "TSP_VDD_1.8V";
768 regulator-min-microvolt = <1800000>;
769 regulator-max-microvolt = <1800000>;
770 };
771
772 ldo25_reg: LDO25 {
773 regulator-name = "LDO25";
774 };
775
776 ldo26_reg: LDO26 {
777 regulator-name = "MOTOR_VCC_3.0V";
778 regulator-min-microvolt = <3000000>;
779 regulator-max-microvolt = <3000000>;
780 };
781
782 buck1_reg: BUCK1 {
783 regulator-name = "vdd_mif";
784 regulator-min-microvolt = <850000>;
785 regulator-max-microvolt = <1100000>;
786 regulator-always-on;
787 regulator-boot-on;
788 regulator-state-mem {
789 regulator-off-in-suspend;
790 };
791 };
792
793 buck2_reg: BUCK2 {
794 regulator-name = "vdd_arm";
795 regulator-min-microvolt = <850000>;
796 regulator-max-microvolt = <1500000>;
797 regulator-always-on;
798 regulator-boot-on;
799 regulator-state-mem {
800 regulator-on-in-suspend;
801 };
802 };
803
804 buck3_reg: BUCK3 {
805 regulator-name = "vdd_int";
806 regulator-min-microvolt = <850000>;
807 regulator-max-microvolt = <1150000>;
808 regulator-always-on;
809 regulator-boot-on;
810 regulator-state-mem {
811 regulator-off-in-suspend;
812 };
813 };
814
815 buck4_reg: BUCK4 {
816 regulator-name = "vdd_g3d";
817 regulator-min-microvolt = <850000>;
818 regulator-max-microvolt = <1150000>;
819 regulator-boot-on;
820 regulator-state-mem {
821 regulator-off-in-suspend;
822 };
823 };
824
825 buck5_reg: BUCK5 {
826 regulator-name = "VMEM_1.2V_AP";
827 regulator-min-microvolt = <1200000>;
828 regulator-max-microvolt = <1200000>;
829 regulator-always-on;
830 };
831
832 buck6_reg: BUCK6 {
833 regulator-name = "VCC_SUB_1.35V";
834 regulator-min-microvolt = <1350000>;
835 regulator-max-microvolt = <1350000>;
836 regulator-always-on;
837 };
838
839 buck7_reg: BUCK7 {
840 regulator-name = "VCC_SUB_2.0V";
841 regulator-min-microvolt = <2000000>;
842 regulator-max-microvolt = <2000000>;
843 regulator-always-on;
844 };
845
846 buck8_reg: BUCK8 {
847 regulator-name = "VMEM_VDDF_3.0V";
848 regulator-min-microvolt = <2850000>;
849 regulator-max-microvolt = <2850000>;
850 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
851 };
852
853 buck9_reg: BUCK9 {
854 regulator-name = "CAM_ISP_CORE_1.2V";
855 regulator-min-microvolt = <1000000>;
856 regulator-max-microvolt = <1200000>;
857 };
858 };
859 };
860};
861
862&i2c_8 {
863 status = "okay";
864};
865
866&i2s0 {
867 pinctrl-0 = <&i2s0_bus>;
868 pinctrl-names = "default";
869 status = "okay";
870};
871
872&mixer {
873 status = "okay";
874};
875
876&mshc_0 {
877 broken-cd;
878 non-removable;
879 card-detect-delay = <200>;
880 vmmc-supply = <&ldo22_reg>;
881 clock-frequency = <400000000>;
882 samsung,dw-mshc-ciu-div = <0>;
883 samsung,dw-mshc-sdr-timing = <2 3>;
884 samsung,dw-mshc-ddr-timing = <1 2>;
885 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
886 pinctrl-names = "default";
887 status = "okay";
888 bus-width = <8>;
889 cap-mmc-highspeed;
890};
891
892&pmu_system_controller {
893 assigned-clocks = <&pmu_system_controller 0>;
894 assigned-clock-parents = <&clock CLK_XUSBXTI>;
895};
896
897&pinctrl_0 {
898 pinctrl-names = "default";
899 pinctrl-0 = <&sleep0>;
900
901 mhl_int: mhl-int {
902 samsung,pins = "gpf3-5";
903 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
904 };
905
906 i2c_mhl_bus: i2c-mhl-bus {
907 samsung,pins = "gpf0-4", "gpf0-6";
908 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
909 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
910 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
911 };
912
913 sleep0: sleep-states {
914 PIN_SLP(gpa0-0, INPUT, NONE);
915 PIN_SLP(gpa0-1, OUT0, NONE);
916 PIN_SLP(gpa0-2, INPUT, NONE);
917 PIN_SLP(gpa0-3, INPUT, UP);
918 PIN_SLP(gpa0-4, INPUT, NONE);
919 PIN_SLP(gpa0-5, INPUT, DOWN);
920 PIN_SLP(gpa0-6, INPUT, DOWN);
921 PIN_SLP(gpa0-7, INPUT, UP);
922
923 PIN_SLP(gpa1-0, INPUT, DOWN);
924 PIN_SLP(gpa1-1, INPUT, DOWN);
925 PIN_SLP(gpa1-2, INPUT, DOWN);
926 PIN_SLP(gpa1-3, INPUT, DOWN);
927 PIN_SLP(gpa1-4, INPUT, DOWN);
928 PIN_SLP(gpa1-5, INPUT, DOWN);
929
930 PIN_SLP(gpb-0, INPUT, NONE);
931 PIN_SLP(gpb-1, INPUT, NONE);
932 PIN_SLP(gpb-2, INPUT, NONE);
933 PIN_SLP(gpb-3, INPUT, NONE);
934 PIN_SLP(gpb-4, INPUT, DOWN);
935 PIN_SLP(gpb-5, INPUT, UP);
936 PIN_SLP(gpb-6, INPUT, DOWN);
937 PIN_SLP(gpb-7, INPUT, DOWN);
938
939 PIN_SLP(gpc0-0, INPUT, DOWN);
940 PIN_SLP(gpc0-1, INPUT, DOWN);
941 PIN_SLP(gpc0-2, INPUT, DOWN);
942 PIN_SLP(gpc0-3, INPUT, DOWN);
943 PIN_SLP(gpc0-4, INPUT, DOWN);
944
945 PIN_SLP(gpc1-0, INPUT, NONE);
946 PIN_SLP(gpc1-1, PREV, NONE);
947 PIN_SLP(gpc1-2, INPUT, NONE);
948 PIN_SLP(gpc1-3, INPUT, NONE);
949 PIN_SLP(gpc1-4, INPUT, NONE);
950
951 PIN_SLP(gpd0-0, INPUT, DOWN);
952 PIN_SLP(gpd0-1, INPUT, DOWN);
953 PIN_SLP(gpd0-2, INPUT, NONE);
954 PIN_SLP(gpd0-3, INPUT, NONE);
955
956 PIN_SLP(gpd1-0, INPUT, DOWN);
957 PIN_SLP(gpd1-1, INPUT, DOWN);
958 PIN_SLP(gpd1-2, INPUT, NONE);
959 PIN_SLP(gpd1-3, INPUT, NONE);
960
961 PIN_SLP(gpf0-0, INPUT, NONE);
962 PIN_SLP(gpf0-1, INPUT, NONE);
963 PIN_SLP(gpf0-2, INPUT, DOWN);
964 PIN_SLP(gpf0-3, INPUT, DOWN);
965 PIN_SLP(gpf0-4, INPUT, NONE);
966 PIN_SLP(gpf0-5, INPUT, DOWN);
967 PIN_SLP(gpf0-6, INPUT, NONE);
968 PIN_SLP(gpf0-7, INPUT, DOWN);
969
970 PIN_SLP(gpf1-0, INPUT, DOWN);
971 PIN_SLP(gpf1-1, INPUT, DOWN);
972 PIN_SLP(gpf1-2, INPUT, DOWN);
973 PIN_SLP(gpf1-3, INPUT, DOWN);
974 PIN_SLP(gpf1-4, INPUT, NONE);
975 PIN_SLP(gpf1-5, INPUT, NONE);
976 PIN_SLP(gpf1-6, INPUT, DOWN);
977 PIN_SLP(gpf1-7, PREV, NONE);
978
979 PIN_SLP(gpf2-0, PREV, NONE);
980 PIN_SLP(gpf2-1, INPUT, DOWN);
981 PIN_SLP(gpf2-2, INPUT, DOWN);
982 PIN_SLP(gpf2-3, INPUT, DOWN);
983 PIN_SLP(gpf2-4, INPUT, DOWN);
984 PIN_SLP(gpf2-5, INPUT, DOWN);
985 PIN_SLP(gpf2-6, INPUT, NONE);
986 PIN_SLP(gpf2-7, INPUT, NONE);
987
988 PIN_SLP(gpf3-0, INPUT, NONE);
989 PIN_SLP(gpf3-1, PREV, NONE);
990 PIN_SLP(gpf3-2, PREV, NONE);
991 PIN_SLP(gpf3-3, PREV, NONE);
992 PIN_SLP(gpf3-4, OUT1, NONE);
993 PIN_SLP(gpf3-5, INPUT, DOWN);
994
995 PIN_SLP(gpj0-0, PREV, NONE);
996 PIN_SLP(gpj0-1, PREV, NONE);
997 PIN_SLP(gpj0-2, PREV, NONE);
998 PIN_SLP(gpj0-3, INPUT, DOWN);
999 PIN_SLP(gpj0-4, PREV, NONE);
1000 PIN_SLP(gpj0-5, PREV, NONE);
1001 PIN_SLP(gpj0-6, INPUT, DOWN);
1002 PIN_SLP(gpj0-7, INPUT, DOWN);
1003
1004 PIN_SLP(gpj1-0, INPUT, DOWN);
1005 PIN_SLP(gpj1-1, PREV, NONE);
1006 PIN_SLP(gpj1-2, PREV, NONE);
1007 PIN_SLP(gpj1-3, INPUT, DOWN);
1008 PIN_SLP(gpj1-4, INPUT, DOWN);
1009 };
1010};
1011
1012&pinctrl_1 {
1013 pinctrl-names = "default";
1014 pinctrl-0 = <&sleep1>;
1015
1016 hdmi_hpd: hdmi-hpd {
1017 samsung,pins = "gpx3-7";
1018 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1019 };
1020
1021 sleep1: sleep-states {
1022 PIN_SLP(gpk0-0, PREV, NONE);
1023 PIN_SLP(gpk0-1, PREV, NONE);
1024 PIN_SLP(gpk0-2, OUT0, NONE);
1025 PIN_SLP(gpk0-3, PREV, NONE);
1026 PIN_SLP(gpk0-4, PREV, NONE);
1027 PIN_SLP(gpk0-5, PREV, NONE);
1028 PIN_SLP(gpk0-6, PREV, NONE);
1029
1030 PIN_SLP(gpk1-0, INPUT, DOWN);
1031 PIN_SLP(gpk1-1, INPUT, DOWN);
1032 PIN_SLP(gpk1-2, INPUT, DOWN);
1033 PIN_SLP(gpk1-3, PREV, NONE);
1034 PIN_SLP(gpk1-4, PREV, NONE);
1035 PIN_SLP(gpk1-5, PREV, NONE);
1036 PIN_SLP(gpk1-6, PREV, NONE);
1037
1038 PIN_SLP(gpk2-0, INPUT, DOWN);
1039 PIN_SLP(gpk2-1, INPUT, DOWN);
1040 PIN_SLP(gpk2-2, INPUT, DOWN);
1041 PIN_SLP(gpk2-3, INPUT, DOWN);
1042 PIN_SLP(gpk2-4, INPUT, DOWN);
1043 PIN_SLP(gpk2-5, INPUT, DOWN);
1044 PIN_SLP(gpk2-6, INPUT, DOWN);
1045
1046 PIN_SLP(gpk3-0, OUT0, NONE);
1047 PIN_SLP(gpk3-1, INPUT, NONE);
1048 PIN_SLP(gpk3-2, INPUT, DOWN);
1049 PIN_SLP(gpk3-3, INPUT, NONE);
1050 PIN_SLP(gpk3-4, INPUT, NONE);
1051 PIN_SLP(gpk3-5, INPUT, NONE);
1052 PIN_SLP(gpk3-6, INPUT, NONE);
1053
1054 PIN_SLP(gpl0-0, INPUT, DOWN);
1055 PIN_SLP(gpl0-1, INPUT, DOWN);
1056 PIN_SLP(gpl0-2, INPUT, DOWN);
1057 PIN_SLP(gpl0-3, INPUT, DOWN);
1058 PIN_SLP(gpl0-4, PREV, NONE);
1059 PIN_SLP(gpl0-6, PREV, NONE);
1060
1061 PIN_SLP(gpl1-0, INPUT, DOWN);
1062 PIN_SLP(gpl1-1, INPUT, DOWN);
1063 PIN_SLP(gpl2-0, INPUT, DOWN);
1064 PIN_SLP(gpl2-1, INPUT, DOWN);
1065 PIN_SLP(gpl2-2, INPUT, DOWN);
1066 PIN_SLP(gpl2-3, INPUT, DOWN);
1067 PIN_SLP(gpl2-4, INPUT, DOWN);
1068 PIN_SLP(gpl2-5, INPUT, DOWN);
1069 PIN_SLP(gpl2-6, PREV, NONE);
1070 PIN_SLP(gpl2-7, INPUT, DOWN);
1071
1072 PIN_SLP(gpm0-0, INPUT, DOWN);
1073 PIN_SLP(gpm0-1, INPUT, DOWN);
1074 PIN_SLP(gpm0-2, INPUT, DOWN);
1075 PIN_SLP(gpm0-3, INPUT, DOWN);
1076 PIN_SLP(gpm0-4, INPUT, DOWN);
1077 PIN_SLP(gpm0-5, INPUT, DOWN);
1078 PIN_SLP(gpm0-6, INPUT, DOWN);
1079 PIN_SLP(gpm0-7, INPUT, DOWN);
1080
1081 PIN_SLP(gpm1-0, INPUT, DOWN);
1082 PIN_SLP(gpm1-1, INPUT, DOWN);
1083 PIN_SLP(gpm1-2, INPUT, NONE);
1084 PIN_SLP(gpm1-3, INPUT, NONE);
1085 PIN_SLP(gpm1-4, INPUT, NONE);
1086 PIN_SLP(gpm1-5, INPUT, NONE);
1087 PIN_SLP(gpm1-6, INPUT, DOWN);
1088
1089 PIN_SLP(gpm2-0, INPUT, NONE);
1090 PIN_SLP(gpm2-1, INPUT, NONE);
1091 PIN_SLP(gpm2-2, INPUT, DOWN);
1092 PIN_SLP(gpm2-3, INPUT, DOWN);
1093 PIN_SLP(gpm2-4, INPUT, DOWN);
1094
1095 PIN_SLP(gpm3-0, PREV, NONE);
1096 PIN_SLP(gpm3-1, PREV, NONE);
1097 PIN_SLP(gpm3-2, PREV, NONE);
1098 PIN_SLP(gpm3-3, OUT1, NONE);
1099 PIN_SLP(gpm3-4, INPUT, DOWN);
1100 PIN_SLP(gpm3-5, INPUT, DOWN);
1101 PIN_SLP(gpm3-6, INPUT, DOWN);
1102 PIN_SLP(gpm3-7, INPUT, DOWN);
1103
1104 PIN_SLP(gpm4-0, INPUT, DOWN);
1105 PIN_SLP(gpm4-1, INPUT, DOWN);
1106 PIN_SLP(gpm4-2, INPUT, DOWN);
1107 PIN_SLP(gpm4-3, INPUT, DOWN);
1108 PIN_SLP(gpm4-4, INPUT, DOWN);
1109 PIN_SLP(gpm4-5, INPUT, DOWN);
1110 PIN_SLP(gpm4-6, INPUT, DOWN);
1111 PIN_SLP(gpm4-7, INPUT, DOWN);
1112
1113 PIN_SLP(gpy0-0, INPUT, DOWN);
1114 PIN_SLP(gpy0-1, INPUT, DOWN);
1115 PIN_SLP(gpy0-2, INPUT, DOWN);
1116 PIN_SLP(gpy0-3, INPUT, DOWN);
1117 PIN_SLP(gpy0-4, INPUT, DOWN);
1118 PIN_SLP(gpy0-5, INPUT, DOWN);
1119
1120 PIN_SLP(gpy1-0, INPUT, DOWN);
1121 PIN_SLP(gpy1-1, INPUT, DOWN);
1122 PIN_SLP(gpy1-2, INPUT, DOWN);
1123 PIN_SLP(gpy1-3, INPUT, DOWN);
1124
1125 PIN_SLP(gpy2-0, PREV, NONE);
1126 PIN_SLP(gpy2-1, INPUT, DOWN);
1127 PIN_SLP(gpy2-2, INPUT, NONE);
1128 PIN_SLP(gpy2-3, INPUT, NONE);
1129 PIN_SLP(gpy2-4, INPUT, NONE);
1130 PIN_SLP(gpy2-5, INPUT, NONE);
1131
1132 PIN_SLP(gpy3-0, INPUT, DOWN);
1133 PIN_SLP(gpy3-1, INPUT, DOWN);
1134 PIN_SLP(gpy3-2, INPUT, DOWN);
1135 PIN_SLP(gpy3-3, INPUT, DOWN);
1136 PIN_SLP(gpy3-4, INPUT, DOWN);
1137 PIN_SLP(gpy3-5, INPUT, DOWN);
1138 PIN_SLP(gpy3-6, INPUT, DOWN);
1139 PIN_SLP(gpy3-7, INPUT, DOWN);
1140
1141 PIN_SLP(gpy4-0, INPUT, DOWN);
1142 PIN_SLP(gpy4-1, INPUT, DOWN);
1143 PIN_SLP(gpy4-2, INPUT, DOWN);
1144 PIN_SLP(gpy4-3, INPUT, DOWN);
1145 PIN_SLP(gpy4-4, INPUT, DOWN);
1146 PIN_SLP(gpy4-5, INPUT, DOWN);
1147 PIN_SLP(gpy4-6, INPUT, DOWN);
1148 PIN_SLP(gpy4-7, INPUT, DOWN);
1149
1150 PIN_SLP(gpy5-0, INPUT, DOWN);
1151 PIN_SLP(gpy5-1, INPUT, DOWN);
1152 PIN_SLP(gpy5-2, INPUT, DOWN);
1153 PIN_SLP(gpy5-3, INPUT, DOWN);
1154 PIN_SLP(gpy5-4, INPUT, DOWN);
1155 PIN_SLP(gpy5-5, INPUT, DOWN);
1156 PIN_SLP(gpy5-6, INPUT, DOWN);
1157 PIN_SLP(gpy5-7, INPUT, DOWN);
1158
1159 PIN_SLP(gpy6-0, INPUT, DOWN);
1160 PIN_SLP(gpy6-1, INPUT, DOWN);
1161 PIN_SLP(gpy6-2, INPUT, DOWN);
1162 PIN_SLP(gpy6-3, INPUT, DOWN);
1163 PIN_SLP(gpy6-4, INPUT, DOWN);
1164 PIN_SLP(gpy6-5, INPUT, DOWN);
1165 PIN_SLP(gpy6-6, INPUT, DOWN);
1166 PIN_SLP(gpy6-7, INPUT, DOWN);
1167 };
1168};
1169
1170&pinctrl_2 {
1171 pinctrl-names = "default";
1172 pinctrl-0 = <&sleep2>;
1173
1174 sleep2: sleep-states {
1175 PIN_SLP(gpz-0, INPUT, DOWN);
1176 PIN_SLP(gpz-1, INPUT, DOWN);
1177 PIN_SLP(gpz-2, INPUT, DOWN);
1178 PIN_SLP(gpz-3, INPUT, DOWN);
1179 PIN_SLP(gpz-4, INPUT, DOWN);
1180 PIN_SLP(gpz-5, INPUT, DOWN);
1181 PIN_SLP(gpz-6, INPUT, DOWN);
1182 };
1183};
1184
1185&pinctrl_3 {
1186 pinctrl-names = "default";
1187 pinctrl-0 = <&sleep3>;
1188
1189 sleep3: sleep-states {
1190 PIN_SLP(gpv0-0, INPUT, DOWN);
1191 PIN_SLP(gpv0-1, INPUT, DOWN);
1192 PIN_SLP(gpv0-2, INPUT, DOWN);
1193 PIN_SLP(gpv0-3, INPUT, DOWN);
1194 PIN_SLP(gpv0-4, INPUT, DOWN);
1195 PIN_SLP(gpv0-5, INPUT, DOWN);
1196 PIN_SLP(gpv0-6, INPUT, DOWN);
1197 PIN_SLP(gpv0-7, INPUT, DOWN);
1198
1199 PIN_SLP(gpv1-0, INPUT, DOWN);
1200 PIN_SLP(gpv1-1, INPUT, DOWN);
1201 PIN_SLP(gpv1-2, INPUT, DOWN);
1202 PIN_SLP(gpv1-3, INPUT, DOWN);
1203 PIN_SLP(gpv1-4, INPUT, DOWN);
1204 PIN_SLP(gpv1-5, INPUT, DOWN);
1205 PIN_SLP(gpv1-6, INPUT, DOWN);
1206 PIN_SLP(gpv1-7, INPUT, DOWN);
1207
1208 PIN_SLP(gpv2-0, INPUT, DOWN);
1209 PIN_SLP(gpv2-1, INPUT, DOWN);
1210 PIN_SLP(gpv2-2, INPUT, DOWN);
1211 PIN_SLP(gpv2-3, INPUT, DOWN);
1212 PIN_SLP(gpv2-4, INPUT, DOWN);
1213 PIN_SLP(gpv2-5, INPUT, DOWN);
1214 PIN_SLP(gpv2-6, INPUT, DOWN);
1215 PIN_SLP(gpv2-7, INPUT, DOWN);
1216
1217 PIN_SLP(gpv3-0, INPUT, DOWN);
1218 PIN_SLP(gpv3-1, INPUT, DOWN);
1219 PIN_SLP(gpv3-2, INPUT, DOWN);
1220 PIN_SLP(gpv3-3, INPUT, DOWN);
1221 PIN_SLP(gpv3-4, INPUT, DOWN);
1222 PIN_SLP(gpv3-5, INPUT, DOWN);
1223 PIN_SLP(gpv3-6, INPUT, DOWN);
1224 PIN_SLP(gpv3-7, INPUT, DOWN);
1225
1226 PIN_SLP(gpv4-0, INPUT, DOWN);
1227 };
1228};
1229
1230&pwm {
1231 pinctrl-0 = <&pwm0_out>;
1232 pinctrl-names = "default";
1233 samsung,pwm-outputs = <0>;
1234 status = "okay";
1235};
1236
1237&rtc {
1238 status = "okay";
1239 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1240 clock-names = "rtc", "rtc_src";
1241};
1242
1243&sdhci_2 {
1244 bus-width = <4>;
1245 cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
1246 cd-inverted;
1247 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
1248 pinctrl-names = "default";
1249 vmmc-supply = <&ldo21_reg>;
1250 status = "okay";
1251};
1252
1253&sdhci_3 {
1254 #address-cells = <1>;
1255 #size-cells = <0>;
1256 non-removable;
1257 bus-width = <4>;
1258
1259 mmc-pwrseq = <&wlan_pwrseq>;
1260 pinctrl-names = "default";
1261 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1262 status = "okay";
1263
1264 brcmf: wifi@1 {
1265 reg = <1>;
1266 compatible = "brcm,bcm4329-fmac";
1267 interrupt-parent = <&gpx2>;
1268 interrupts = <5 IRQ_TYPE_NONE>;
1269 interrupt-names = "host-wake";
1270 };
1271};
1272
1273&serial_0 {
1274 status = "okay";
1275};
1276
1277&serial_1 {
1278 status = "okay";
1279};
1280
1281&serial_2 {
1282 status = "okay";
1283};
1284
1285&serial_3 {
1286 status = "okay";
1287};
1288
1289&spi_1 {
1290 pinctrl-names = "default";
1291 pinctrl-0 = <&spi1_bus>;
1292 cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1293 status = "okay";
1294
1295 s5c73m3_spi: s5c73m3@0 {
1296 compatible = "samsung,s5c73m3";
1297 spi-max-frequency = <50000000>;
1298 reg = <0>;
1299 controller-data {
1300 samsung,spi-feedback-delay = <2>;
1301 };
1302 };
1303};
1304
1305&tmu {
1306 vtmu-supply = <&ldo10_reg>;
1307 status = "okay";
1308};
diff --git a/arch/arm/boot/dts/exynos4412-n710x.dts b/arch/arm/boot/dts/exynos4412-n710x.dts
new file mode 100644
index 000000000000..eb402a0d6651
--- /dev/null
+++ b/arch/arm/boot/dts/exynos4412-n710x.dts
@@ -0,0 +1,77 @@
1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3#include "exynos4412-midas.dtsi"
4
5/ {
6 compatible = "samsung,n710x", "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
7 model = "Samsung Galaxy Note 2 (GT-N7100, GT-N7105) based on Exynos4412";
8
9 memory@40000000 {
10 device_type = "memory";
11 reg = <0x40000000 0x80000000>;
12 };
13
14 /* bootargs are passed in by bootloader */
15
16 regulators {
17 cam_vdda_reg: voltage-regulator-9 {
18 compatible = "regulator-fixed";
19 regulator-name = "CAM_SENSOR_CORE_1.2V";
20 regulator-min-microvolt = <1200000>;
21 regulator-max-microvolt = <1200000>;
22 gpio = <&gpm4 1 GPIO_ACTIVE_HIGH>;
23 enable-active-high;
24 };
25 };
26};
27
28&buck9_reg {
29 maxim,ena-gpios = <&gpm1 0 GPIO_ACTIVE_HIGH>;
30};
31
32&cam_af_reg {
33 gpio = <&gpm1 1 GPIO_ACTIVE_HIGH>;
34 status = "okay";
35};
36
37&cam_io_reg {
38 gpio = <&gpm0 7 GPIO_ACTIVE_HIGH>;
39 status = "okay";
40};
41
42&i2c_3 {
43 samsung,i2c-sda-delay = <100>;
44 samsung,i2c-slave-addr = <0x10>;
45 samsung,i2c-max-bus-freq = <400000>;
46 pinctrl-0 = <&i2c3_bus>;
47 pinctrl-names = "default";
48 status = "okay";
49
50 mms152-touchscreen@48 {
51 compatible = "melfas,mms152";
52 reg = <0x48>;
53 interrupt-parent = <&gpm2>;
54 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
55 x-size = <720>;
56 y-size = <1280>;
57 avdd-supply = <&ldo23_reg>;
58 vdd-supply = <&ldo24_reg>;
59 };
60};
61
62&ldo13_reg {
63 regulator-name = "VCC_1.8V_LCD";
64 regulator-always-on;
65};
66
67&ldo25_reg {
68 regulator-name = "VCI_3.0V_LCD";
69 regulator-min-microvolt = <3000000>;
70 regulator-max-microvolt = <3000000>;
71};
72
73&s5c73m3 {
74 standby-gpios = <&gpm0 6 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */
75 vdda-supply = <&cam_vdda_reg>;
76 status = "okay";
77};
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index 556ea78b8e32..d7ad07fd48f9 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -61,12 +61,6 @@
61 reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>; 61 reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>;
62 }; 62 };
63 63
64 camera {
65 status = "okay";
66 pinctrl-names = "default";
67 pinctrl-0 = <>;
68 };
69
70 fixed-rate-clocks { 64 fixed-rate-clocks {
71 xxti { 65 xxti {
72 compatible = "samsung,clock-xxti"; 66 compatible = "samsung,clock-xxti";
@@ -142,6 +136,12 @@
142 status = "okay"; 136 status = "okay";
143}; 137};
144 138
139&camera {
140 status = "okay";
141 pinctrl-names = "default";
142 pinctrl-0 = <>;
143};
144
145&clock_audss { 145&clock_audss {
146 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, 146 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
147 <&clock_audss EXYNOS_MOUT_I2S>, 147 <&clock_audss EXYNOS_MOUT_I2S>,
diff --git a/arch/arm/boot/dts/exynos4412-pinctrl.dtsi b/arch/arm/boot/dts/exynos4412-pinctrl.dtsi
index e8dd5f2d976f..d7d5fdc230d8 100644
--- a/arch/arm/boot/dts/exynos4412-pinctrl.dtsi
+++ b/arch/arm/boot/dts/exynos4412-pinctrl.dtsi
@@ -18,964 +18,962 @@
18 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>; \ 18 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>; \
19 } 19 }
20 20
21/ { 21&pinctrl_0 {
22 pinctrl_0: pinctrl@11400000 { 22 gpa0: gpa0 {
23 gpa0: gpa0 { 23 gpio-controller;
24 gpio-controller; 24 #gpio-cells = <2>;
25 #gpio-cells = <2>;
26 25
27 interrupt-controller; 26 interrupt-controller;
28 #interrupt-cells = <2>; 27 #interrupt-cells = <2>;
29 }; 28 };
30 29
31 gpa1: gpa1 { 30 gpa1: gpa1 {
32 gpio-controller; 31 gpio-controller;
33 #gpio-cells = <2>; 32 #gpio-cells = <2>;
34 33
35 interrupt-controller; 34 interrupt-controller;
36 #interrupt-cells = <2>; 35 #interrupt-cells = <2>;
37 }; 36 };
38 37
39 gpb: gpb { 38 gpb: gpb {
40 gpio-controller; 39 gpio-controller;
41 #gpio-cells = <2>; 40 #gpio-cells = <2>;
42 41
43 interrupt-controller; 42 interrupt-controller;
44 #interrupt-cells = <2>; 43 #interrupt-cells = <2>;
45 }; 44 };
46 45
47 gpc0: gpc0 { 46 gpc0: gpc0 {
48 gpio-controller; 47 gpio-controller;
49 #gpio-cells = <2>; 48 #gpio-cells = <2>;
50 49
51 interrupt-controller; 50 interrupt-controller;
52 #interrupt-cells = <2>; 51 #interrupt-cells = <2>;
53 }; 52 };
54 53
55 gpc1: gpc1 { 54 gpc1: gpc1 {
56 gpio-controller; 55 gpio-controller;
57 #gpio-cells = <2>; 56 #gpio-cells = <2>;
58 57
59 interrupt-controller; 58 interrupt-controller;
60 #interrupt-cells = <2>; 59 #interrupt-cells = <2>;
61 }; 60 };
62 61
63 gpd0: gpd0 { 62 gpd0: gpd0 {
64 gpio-controller; 63 gpio-controller;
65 #gpio-cells = <2>; 64 #gpio-cells = <2>;
66 65
67 interrupt-controller; 66 interrupt-controller;
68 #interrupt-cells = <2>; 67 #interrupt-cells = <2>;
69 }; 68 };
70 69
71 gpd1: gpd1 { 70 gpd1: gpd1 {
72 gpio-controller; 71 gpio-controller;
73 #gpio-cells = <2>; 72 #gpio-cells = <2>;
74 73
75 interrupt-controller; 74 interrupt-controller;
76 #interrupt-cells = <2>; 75 #interrupt-cells = <2>;
77 }; 76 };
78 77
79 gpf0: gpf0 { 78 gpf0: gpf0 {
80 gpio-controller; 79 gpio-controller;
81 #gpio-cells = <2>; 80 #gpio-cells = <2>;
82 81
83 interrupt-controller; 82 interrupt-controller;
84 #interrupt-cells = <2>; 83 #interrupt-cells = <2>;
85 }; 84 };
86 85
87 gpf1: gpf1 { 86 gpf1: gpf1 {
88 gpio-controller; 87 gpio-controller;
89 #gpio-cells = <2>; 88 #gpio-cells = <2>;
90 89
91 interrupt-controller; 90 interrupt-controller;
92 #interrupt-cells = <2>; 91 #interrupt-cells = <2>;
93 }; 92 };
94 93
95 gpf2: gpf2 { 94 gpf2: gpf2 {
96 gpio-controller; 95 gpio-controller;
97 #gpio-cells = <2>; 96 #gpio-cells = <2>;
98 97
99 interrupt-controller; 98 interrupt-controller;
100 #interrupt-cells = <2>; 99 #interrupt-cells = <2>;
101 }; 100 };
102 101
103 gpf3: gpf3 { 102 gpf3: gpf3 {
104 gpio-controller; 103 gpio-controller;
105 #gpio-cells = <2>; 104 #gpio-cells = <2>;
106 105
107 interrupt-controller; 106 interrupt-controller;
108 #interrupt-cells = <2>; 107 #interrupt-cells = <2>;
109 }; 108 };
110 109
111 gpj0: gpj0 { 110 gpj0: gpj0 {
112 gpio-controller; 111 gpio-controller;
113 #gpio-cells = <2>; 112 #gpio-cells = <2>;
114 113
115 interrupt-controller; 114 interrupt-controller;
116 #interrupt-cells = <2>; 115 #interrupt-cells = <2>;
117 }; 116 };
118 117
119 gpj1: gpj1 { 118 gpj1: gpj1 {
120 gpio-controller; 119 gpio-controller;
121 #gpio-cells = <2>; 120 #gpio-cells = <2>;
122 121
123 interrupt-controller; 122 interrupt-controller;
124 #interrupt-cells = <2>; 123 #interrupt-cells = <2>;
125 }; 124 };
126 125
127 uart0_data: uart0-data { 126 uart0_data: uart0-data {
128 samsung,pins = "gpa0-0", "gpa0-1"; 127 samsung,pins = "gpa0-0", "gpa0-1";
129 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 128 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
130 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 129 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
131 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 130 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
132 }; 131 };
133 132
134 uart0_fctl: uart0-fctl { 133 uart0_fctl: uart0-fctl {
135 samsung,pins = "gpa0-2", "gpa0-3"; 134 samsung,pins = "gpa0-2", "gpa0-3";
136 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 135 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
137 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 136 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
138 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 137 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
139 }; 138 };
140 139
141 uart1_data: uart1-data { 140 uart1_data: uart1-data {
142 samsung,pins = "gpa0-4", "gpa0-5"; 141 samsung,pins = "gpa0-4", "gpa0-5";
143 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 142 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
144 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 143 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
145 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 144 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
146 }; 145 };
147 146
148 uart1_fctl: uart1-fctl { 147 uart1_fctl: uart1-fctl {
149 samsung,pins = "gpa0-6", "gpa0-7"; 148 samsung,pins = "gpa0-6", "gpa0-7";
150 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 149 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
151 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 150 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
152 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 151 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
153 }; 152 };
154 153
155 i2c2_bus: i2c2-bus { 154 i2c2_bus: i2c2-bus {
156 samsung,pins = "gpa0-6", "gpa0-7"; 155 samsung,pins = "gpa0-6", "gpa0-7";
157 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 156 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
158 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 157 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
159 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 158 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
160 }; 159 };
161 160
162 uart2_data: uart2-data { 161 uart2_data: uart2-data {
163 samsung,pins = "gpa1-0", "gpa1-1"; 162 samsung,pins = "gpa1-0", "gpa1-1";
164 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 163 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
165 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 164 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
166 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 165 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
167 }; 166 };
168 167
169 uart2_fctl: uart2-fctl { 168 uart2_fctl: uart2-fctl {
170 samsung,pins = "gpa1-2", "gpa1-3"; 169 samsung,pins = "gpa1-2", "gpa1-3";
171 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 170 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
172 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 171 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
173 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 172 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
174 }; 173 };
175 174
176 uart_audio_a: uart-audio-a { 175 uart_audio_a: uart-audio-a {
177 samsung,pins = "gpa1-0", "gpa1-1"; 176 samsung,pins = "gpa1-0", "gpa1-1";
178 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 177 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
179 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 178 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
180 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 179 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
181 }; 180 };
182 181
183 i2c3_bus: i2c3-bus { 182 i2c3_bus: i2c3-bus {
184 samsung,pins = "gpa1-2", "gpa1-3"; 183 samsung,pins = "gpa1-2", "gpa1-3";
185 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 184 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
186 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 185 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
187 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 186 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
188 }; 187 };
189 188
190 uart3_data: uart3-data { 189 uart3_data: uart3-data {
191 samsung,pins = "gpa1-4", "gpa1-5"; 190 samsung,pins = "gpa1-4", "gpa1-5";
192 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 191 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
193 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 192 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
194 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 193 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
195 }; 194 };
196 195
197 uart_audio_b: uart-audio-b { 196 uart_audio_b: uart-audio-b {
198 samsung,pins = "gpa1-4", "gpa1-5"; 197 samsung,pins = "gpa1-4", "gpa1-5";
199 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 198 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
200 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 199 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
201 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 200 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
202 }; 201 };
203 202
204 spi0_bus: spi0-bus { 203 spi0_bus: spi0-bus {
205 samsung,pins = "gpb-0", "gpb-2", "gpb-3"; 204 samsung,pins = "gpb-0", "gpb-2", "gpb-3";
206 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 205 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
207 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 206 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
208 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 207 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
209 }; 208 };
210 209
211 i2c4_bus: i2c4-bus { 210 i2c4_bus: i2c4-bus {
212 samsung,pins = "gpb-0", "gpb-1"; 211 samsung,pins = "gpb-0", "gpb-1";
213 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 212 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
214 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 213 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
215 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 214 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
216 }; 215 };
217 216
218 spi1_bus: spi1-bus { 217 spi1_bus: spi1-bus {
219 samsung,pins = "gpb-4", "gpb-6", "gpb-7"; 218 samsung,pins = "gpb-4", "gpb-6", "gpb-7";
220 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 219 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
221 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 220 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
222 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 221 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
223 }; 222 };
224 223
225 i2c5_bus: i2c5-bus { 224 i2c5_bus: i2c5-bus {
226 samsung,pins = "gpb-2", "gpb-3"; 225 samsung,pins = "gpb-2", "gpb-3";
227 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 226 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
228 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 227 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
229 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 228 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
230 }; 229 };
231 230
232 i2s1_bus: i2s1-bus { 231 i2s1_bus: i2s1-bus {
233 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", 232 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
234 "gpc0-4"; 233 "gpc0-4";
235 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 234 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
236 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 235 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
237 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 236 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
238 }; 237 };
239 238
240 pcm1_bus: pcm1-bus { 239 pcm1_bus: pcm1-bus {
241 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", 240 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
242 "gpc0-4"; 241 "gpc0-4";
243 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 242 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
244 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 243 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
245 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 244 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
246 }; 245 };
247 246
248 ac97_bus: ac97-bus { 247 ac97_bus: ac97-bus {
249 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", 248 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
250 "gpc0-4"; 249 "gpc0-4";
251 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 250 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
252 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 251 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
253 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 252 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
254 }; 253 };
255 254
256 i2s2_bus: i2s2-bus { 255 i2s2_bus: i2s2-bus {
257 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", 256 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
258 "gpc1-4"; 257 "gpc1-4";
259 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 258 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
260 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 259 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
261 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 260 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
262 }; 261 };
263 262
264 pcm2_bus: pcm2-bus { 263 pcm2_bus: pcm2-bus {
265 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", 264 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
266 "gpc1-4"; 265 "gpc1-4";
267 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 266 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
268 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 267 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
269 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 268 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
270 }; 269 };
271 270
272 spdif_bus: spdif-bus { 271 spdif_bus: spdif-bus {
273 samsung,pins = "gpc1-0", "gpc1-1"; 272 samsung,pins = "gpc1-0", "gpc1-1";
274 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 273 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
275 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 274 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
276 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 275 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
277 }; 276 };
278 277
279 i2c6_bus: i2c6-bus { 278 i2c6_bus: i2c6-bus {
280 samsung,pins = "gpc1-3", "gpc1-4"; 279 samsung,pins = "gpc1-3", "gpc1-4";
281 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 280 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
282 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 281 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
283 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 282 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
284 }; 283 };
285 284
286 spi2_bus: spi2-bus { 285 spi2_bus: spi2-bus {
287 samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4"; 286 samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4";
288 samsung,pin-function = <EXYNOS_PIN_FUNC_5>; 287 samsung,pin-function = <EXYNOS_PIN_FUNC_5>;
289 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 288 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
290 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 289 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
291 }; 290 };
292 291
293 pwm0_out: pwm0-out { 292 pwm0_out: pwm0-out {
294 samsung,pins = "gpd0-0"; 293 samsung,pins = "gpd0-0";
295 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 294 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
296 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 295 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
297 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 296 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
298 }; 297 };
299 298
300 pwm1_out: pwm1-out { 299 pwm1_out: pwm1-out {
301 samsung,pins = "gpd0-1"; 300 samsung,pins = "gpd0-1";
302 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 301 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
303 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 302 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
304 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 303 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
305 }; 304 };
306 305
307 lcd_ctrl: lcd-ctrl { 306 lcd_ctrl: lcd-ctrl {
308 samsung,pins = "gpd0-0", "gpd0-1"; 307 samsung,pins = "gpd0-0", "gpd0-1";
309 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 308 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
310 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 309 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
311 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 310 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
312 }; 311 };
313 312
314 i2c7_bus: i2c7-bus { 313 i2c7_bus: i2c7-bus {
315 samsung,pins = "gpd0-2", "gpd0-3"; 314 samsung,pins = "gpd0-2", "gpd0-3";
316 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 315 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
317 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 316 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
318 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 317 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
319 }; 318 };
320 319
321 pwm2_out: pwm2-out { 320 pwm2_out: pwm2-out {
322 samsung,pins = "gpd0-2"; 321 samsung,pins = "gpd0-2";
323 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 322 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
324 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 323 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
325 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 324 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
326 }; 325 };
327 326
328 pwm3_out: pwm3-out { 327 pwm3_out: pwm3-out {
329 samsung,pins = "gpd0-3"; 328 samsung,pins = "gpd0-3";
330 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 329 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
331 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 330 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
332 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 331 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
333 }; 332 };
334 333
335 i2c0_bus: i2c0-bus { 334 i2c0_bus: i2c0-bus {
336 samsung,pins = "gpd1-0", "gpd1-1"; 335 samsung,pins = "gpd1-0", "gpd1-1";
337 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 336 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
338 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 337 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
339 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 338 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
340 }; 339 };
341 340
342 mipi0_clk: mipi0-clk { 341 mipi0_clk: mipi0-clk {
343 samsung,pins = "gpd1-0", "gpd1-1"; 342 samsung,pins = "gpd1-0", "gpd1-1";
344 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 343 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
345 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 344 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
346 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 345 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
347 }; 346 };
348 347
349 i2c1_bus: i2c1-bus { 348 i2c1_bus: i2c1-bus {
350 samsung,pins = "gpd1-2", "gpd1-3"; 349 samsung,pins = "gpd1-2", "gpd1-3";
351 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 350 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
352 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 351 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
353 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 352 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
354 }; 353 };
355 354
356 mipi1_clk: mipi1-clk { 355 mipi1_clk: mipi1-clk {
357 samsung,pins = "gpd1-2", "gpd1-3"; 356 samsung,pins = "gpd1-2", "gpd1-3";
358 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 357 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
359 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 358 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
360 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 359 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
361 }; 360 };
362 361
363 lcd_clk: lcd-clk { 362 lcd_clk: lcd-clk {
364 samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3"; 363 samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
365 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 364 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
366 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 365 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
367 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 366 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
368 }; 367 };
369 368
370 lcd_data16: lcd-data-width16 { 369 lcd_data16: lcd-data-width16 {
371 samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2", 370 samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
372 "gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0", 371 "gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
373 "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7", 372 "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
374 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3"; 373 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
375 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 374 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
376 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 375 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
377 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 376 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
378 }; 377 };
379 378
380 lcd_data18: lcd-data-width18 { 379 lcd_data18: lcd-data-width18 {
381 samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1", 380 samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
382 "gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7", 381 "gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
383 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3", 382 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
384 "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1", 383 "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
385 "gpf3-2", "gpf3-3"; 384 "gpf3-2", "gpf3-3";
386 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 385 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
387 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 386 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
388 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 387 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
389 }; 388 };
390 389
391 lcd_data24: lcd-data-width24 { 390 lcd_data24: lcd-data-width24 {
392 samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7", 391 samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
393 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3", 392 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
394 "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7", 393 "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
395 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3", 394 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
396 "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7", 395 "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
397 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3"; 396 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
398 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 397 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
399 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 398 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
400 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 399 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
401 }; 400 };
402 401
403 lcd_ldi: lcd-ldi { 402 lcd_ldi: lcd-ldi {
404 samsung,pins = "gpf3-4"; 403 samsung,pins = "gpf3-4";
405 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 404 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
406 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 405 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
407 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 406 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
408 }; 407 };
409 408
410 cam_port_a_io: cam-port-a-io { 409 cam_port_a_io: cam-port-a-io {
411 samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3", 410 samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
412 "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7", 411 "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
413 "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4"; 412 "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
414 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 413 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
415 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 414 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
416 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 415 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
417 }; 416 };
418 417
419 cam_port_a_clk_active: cam-port-a-clk-active { 418 cam_port_a_clk_active: cam-port-a-clk-active {
420 samsung,pins = "gpj1-3"; 419 samsung,pins = "gpj1-3";
421 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 420 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
422 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 421 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
423 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 422 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
424 }; 423 };
425 424
426 cam_port_a_clk_idle: cam-port-a-clk-idle { 425 cam_port_a_clk_idle: cam-port-a-clk-idle {
427 samsung,pins = "gpj1-3"; 426 samsung,pins = "gpj1-3";
428 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 427 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
429 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 428 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
430 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 429 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
431 }; 430 };
432 }; 431};
433 432
434 pinctrl_1: pinctrl@11000000 { 433&pinctrl_1 {
435 gpk0: gpk0 { 434 gpk0: gpk0 {
436 gpio-controller; 435 gpio-controller;
437 #gpio-cells = <2>; 436 #gpio-cells = <2>;
438 437
439 interrupt-controller; 438 interrupt-controller;
440 #interrupt-cells = <2>; 439 #interrupt-cells = <2>;
441 }; 440 };
442 441
443 gpk1: gpk1 { 442 gpk1: gpk1 {
444 gpio-controller; 443 gpio-controller;
445 #gpio-cells = <2>; 444 #gpio-cells = <2>;
446 445
447 interrupt-controller; 446 interrupt-controller;
448 #interrupt-cells = <2>; 447 #interrupt-cells = <2>;
449 }; 448 };
450 449
451 gpk2: gpk2 { 450 gpk2: gpk2 {
452 gpio-controller; 451 gpio-controller;
453 #gpio-cells = <2>; 452 #gpio-cells = <2>;
454 453
455 interrupt-controller; 454 interrupt-controller;
456 #interrupt-cells = <2>; 455 #interrupt-cells = <2>;
457 }; 456 };
458 457
459 gpk3: gpk3 { 458 gpk3: gpk3 {
460 gpio-controller; 459 gpio-controller;
461 #gpio-cells = <2>; 460 #gpio-cells = <2>;
462 461
463 interrupt-controller; 462 interrupt-controller;
464 #interrupt-cells = <2>; 463 #interrupt-cells = <2>;
465 }; 464 };
466 465
467 gpl0: gpl0 { 466 gpl0: gpl0 {
468 gpio-controller; 467 gpio-controller;
469 #gpio-cells = <2>; 468 #gpio-cells = <2>;
470 469
471 interrupt-controller; 470 interrupt-controller;
472 #interrupt-cells = <2>; 471 #interrupt-cells = <2>;
473 }; 472 };
474 473
475 gpl1: gpl1 { 474 gpl1: gpl1 {
476 gpio-controller; 475 gpio-controller;
477 #gpio-cells = <2>; 476 #gpio-cells = <2>;
478 477
479 interrupt-controller; 478 interrupt-controller;
480 #interrupt-cells = <2>; 479 #interrupt-cells = <2>;
481 }; 480 };
482 481
483 gpl2: gpl2 { 482 gpl2: gpl2 {
484 gpio-controller; 483 gpio-controller;
485 #gpio-cells = <2>; 484 #gpio-cells = <2>;
486 485
487 interrupt-controller; 486 interrupt-controller;
488 #interrupt-cells = <2>; 487 #interrupt-cells = <2>;
489 }; 488 };
490 489
491 gpm0: gpm0 { 490 gpm0: gpm0 {
492 gpio-controller; 491 gpio-controller;
493 #gpio-cells = <2>; 492 #gpio-cells = <2>;
494 493
495 interrupt-controller; 494 interrupt-controller;
496 #interrupt-cells = <2>; 495 #interrupt-cells = <2>;
497 }; 496 };
498 497
499 gpm1: gpm1 { 498 gpm1: gpm1 {
500 gpio-controller; 499 gpio-controller;
501 #gpio-cells = <2>; 500 #gpio-cells = <2>;
502 501
503 interrupt-controller; 502 interrupt-controller;
504 #interrupt-cells = <2>; 503 #interrupt-cells = <2>;
505 }; 504 };
506 505
507 gpm2: gpm2 { 506 gpm2: gpm2 {
508 gpio-controller; 507 gpio-controller;
509 #gpio-cells = <2>; 508 #gpio-cells = <2>;
510 509
511 interrupt-controller; 510 interrupt-controller;
512 #interrupt-cells = <2>; 511 #interrupt-cells = <2>;
513 }; 512 };
514 513
515 gpm3: gpm3 { 514 gpm3: gpm3 {
516 gpio-controller; 515 gpio-controller;
517 #gpio-cells = <2>; 516 #gpio-cells = <2>;
518 517
519 interrupt-controller; 518 interrupt-controller;
520 #interrupt-cells = <2>; 519 #interrupt-cells = <2>;
521 }; 520 };
522 521
523 gpm4: gpm4 { 522 gpm4: gpm4 {
524 gpio-controller; 523 gpio-controller;
525 #gpio-cells = <2>; 524 #gpio-cells = <2>;
526 525
527 interrupt-controller; 526 interrupt-controller;
528 #interrupt-cells = <2>; 527 #interrupt-cells = <2>;
529 }; 528 };
530 529
531 gpy0: gpy0 { 530 gpy0: gpy0 {
532 gpio-controller; 531 gpio-controller;
533 #gpio-cells = <2>; 532 #gpio-cells = <2>;
534 }; 533 };
535 534
536 gpy1: gpy1 { 535 gpy1: gpy1 {
537 gpio-controller; 536 gpio-controller;
538 #gpio-cells = <2>; 537 #gpio-cells = <2>;
539 }; 538 };
540 539
541 gpy2: gpy2 { 540 gpy2: gpy2 {
542 gpio-controller; 541 gpio-controller;
543 #gpio-cells = <2>; 542 #gpio-cells = <2>;
544 }; 543 };
545 544
546 gpy3: gpy3 { 545 gpy3: gpy3 {
547 gpio-controller; 546 gpio-controller;
548 #gpio-cells = <2>; 547 #gpio-cells = <2>;
549 }; 548 };
550 549
551 gpy4: gpy4 { 550 gpy4: gpy4 {
552 gpio-controller; 551 gpio-controller;
553 #gpio-cells = <2>; 552 #gpio-cells = <2>;
554 }; 553 };
555 554
556 gpy5: gpy5 { 555 gpy5: gpy5 {
557 gpio-controller; 556 gpio-controller;
558 #gpio-cells = <2>; 557 #gpio-cells = <2>;
559 }; 558 };
560 559
561 gpy6: gpy6 { 560 gpy6: gpy6 {
562 gpio-controller; 561 gpio-controller;
563 #gpio-cells = <2>; 562 #gpio-cells = <2>;
564 }; 563 };
565 564
566 gpx0: gpx0 { 565 gpx0: gpx0 {
567 gpio-controller; 566 gpio-controller;
568 #gpio-cells = <2>; 567 #gpio-cells = <2>;
569 568
570 interrupt-controller; 569 interrupt-controller;
571 interrupt-parent = <&gic>; 570 interrupt-parent = <&gic>;
572 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 571 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
573 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 572 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
574 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 573 <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
575 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 574 <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
576 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>, 575 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
577 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>, 576 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
578 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, 577 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
579 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 578 <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
580 #interrupt-cells = <2>; 579 #interrupt-cells = <2>;
581 }; 580 };
582 581
583 gpx1: gpx1 { 582 gpx1: gpx1 {
584 gpio-controller; 583 gpio-controller;
585 #gpio-cells = <2>; 584 #gpio-cells = <2>;
586 585
587 interrupt-controller; 586 interrupt-controller;
588 interrupt-parent = <&gic>; 587 interrupt-parent = <&gic>;
589 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>, 588 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
590 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 589 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
591 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, 590 <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
592 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>, 591 <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
593 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>, 592 <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
594 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 593 <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
595 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 594 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
596 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 595 <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
597 #interrupt-cells = <2>; 596 #interrupt-cells = <2>;
598 }; 597 };
599 598
600 gpx2: gpx2 { 599 gpx2: gpx2 {
601 gpio-controller; 600 gpio-controller;
602 #gpio-cells = <2>; 601 #gpio-cells = <2>;
603 602
604 interrupt-controller; 603 interrupt-controller;
605 #interrupt-cells = <2>; 604 #interrupt-cells = <2>;
606 }; 605 };
607 606
608 gpx3: gpx3 { 607 gpx3: gpx3 {
609 gpio-controller; 608 gpio-controller;
610 #gpio-cells = <2>; 609 #gpio-cells = <2>;
611 610
612 interrupt-controller; 611 interrupt-controller;
613 #interrupt-cells = <2>; 612 #interrupt-cells = <2>;
614 }; 613 };
615 614
616 sd0_clk: sd0-clk { 615 sd0_clk: sd0-clk {
617 samsung,pins = "gpk0-0"; 616 samsung,pins = "gpk0-0";
618 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 617 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
619 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 618 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
620 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 619 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
621 }; 620 };
622 621
623 sd0_cmd: sd0-cmd { 622 sd0_cmd: sd0-cmd {
624 samsung,pins = "gpk0-1"; 623 samsung,pins = "gpk0-1";
625 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 624 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
626 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 625 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
627 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 626 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
628 }; 627 };
629 628
630 sd0_cd: sd0-cd { 629 sd0_cd: sd0-cd {
631 samsung,pins = "gpk0-2"; 630 samsung,pins = "gpk0-2";
632 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 631 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
633 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 632 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
634 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 633 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
635 }; 634 };
636 635
637 sd0_bus1: sd0-bus-width1 { 636 sd0_bus1: sd0-bus-width1 {
638 samsung,pins = "gpk0-3"; 637 samsung,pins = "gpk0-3";
639 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 638 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
640 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 639 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
641 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 640 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
642 }; 641 };
643 642
644 sd0_bus4: sd0-bus-width4 { 643 sd0_bus4: sd0-bus-width4 {
645 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; 644 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
646 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 645 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
647 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 646 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
648 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 647 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
649 }; 648 };
650 649
651 sd0_bus8: sd0-bus-width8 { 650 sd0_bus8: sd0-bus-width8 {
652 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; 651 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
653 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 652 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
654 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 653 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
655 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 654 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
656 }; 655 };
657 656
658 sd4_clk: sd4-clk { 657 sd4_clk: sd4-clk {
659 samsung,pins = "gpk0-0"; 658 samsung,pins = "gpk0-0";
660 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 659 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
661 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 660 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
662 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 661 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
663 }; 662 };
664 663
665 sd4_cmd: sd4-cmd { 664 sd4_cmd: sd4-cmd {
666 samsung,pins = "gpk0-1"; 665 samsung,pins = "gpk0-1";
667 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 666 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
668 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 667 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
669 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 668 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
670 }; 669 };
671 670
672 sd4_cd: sd4-cd { 671 sd4_cd: sd4-cd {
673 samsung,pins = "gpk0-2"; 672 samsung,pins = "gpk0-2";
674 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 673 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
675 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 674 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
676 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 675 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
677 }; 676 };
678 677
679 sd4_bus1: sd4-bus-width1 { 678 sd4_bus1: sd4-bus-width1 {
680 samsung,pins = "gpk0-3"; 679 samsung,pins = "gpk0-3";
681 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 680 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
682 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 681 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
683 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 682 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
684 }; 683 };
685 684
686 sd4_bus4: sd4-bus-width4 { 685 sd4_bus4: sd4-bus-width4 {
687 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; 686 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
688 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 687 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
689 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 688 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
690 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 689 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
691 }; 690 };
692 691
693 sd4_bus8: sd4-bus-width8 { 692 sd4_bus8: sd4-bus-width8 {
694 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; 693 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
695 samsung,pin-function = <EXYNOS_PIN_FUNC_4>; 694 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
696 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 695 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
697 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 696 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
698 }; 697 };
699 698
700 sd1_clk: sd1-clk { 699 sd1_clk: sd1-clk {
701 samsung,pins = "gpk1-0"; 700 samsung,pins = "gpk1-0";
702 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 701 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
703 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 702 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
704 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 703 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
705 }; 704 };
706 705
707 sd1_cmd: sd1-cmd { 706 sd1_cmd: sd1-cmd {
708 samsung,pins = "gpk1-1"; 707 samsung,pins = "gpk1-1";
709 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 708 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
710 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 709 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
711 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 710 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
712 }; 711 };
713 712
714 sd1_cd: sd1-cd { 713 sd1_cd: sd1-cd {
715 samsung,pins = "gpk1-2"; 714 samsung,pins = "gpk1-2";
716 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 715 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
717 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 716 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
718 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 717 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
719 }; 718 };
720 719
721 sd1_bus1: sd1-bus-width1 { 720 sd1_bus1: sd1-bus-width1 {
722 samsung,pins = "gpk1-3"; 721 samsung,pins = "gpk1-3";
723 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 722 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
724 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 723 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
725 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 724 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
726 }; 725 };
727 726
728 sd1_bus4: sd1-bus-width4 { 727 sd1_bus4: sd1-bus-width4 {
729 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; 728 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
730 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 729 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
731 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 730 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
732 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 731 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
733 }; 732 };
734 733
735 sd2_clk: sd2-clk { 734 sd2_clk: sd2-clk {
736 samsung,pins = "gpk2-0"; 735 samsung,pins = "gpk2-0";
737 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 736 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
738 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 737 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
739 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 738 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
740 }; 739 };
741 740
742 sd2_cmd: sd2-cmd { 741 sd2_cmd: sd2-cmd {
743 samsung,pins = "gpk2-1"; 742 samsung,pins = "gpk2-1";
744 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 743 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
745 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 744 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
746 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 745 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
747 }; 746 };
748 747
749 sd2_cd: sd2-cd { 748 sd2_cd: sd2-cd {
750 samsung,pins = "gpk2-2"; 749 samsung,pins = "gpk2-2";
751 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 750 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
752 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 751 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
753 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 752 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
754 }; 753 };
755 754
756 sd2_bus1: sd2-bus-width1 { 755 sd2_bus1: sd2-bus-width1 {
757 samsung,pins = "gpk2-3"; 756 samsung,pins = "gpk2-3";
758 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 757 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
759 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 758 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
760 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 759 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
761 }; 760 };
762 761
763 sd2_bus4: sd2-bus-width4 { 762 sd2_bus4: sd2-bus-width4 {
764 samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6"; 763 samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
765 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 764 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
766 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 765 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
767 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 766 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
768 }; 767 };
769 768
770 sd2_bus8: sd2-bus-width8 { 769 sd2_bus8: sd2-bus-width8 {
771 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; 770 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
772 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 771 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
773 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 772 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
774 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 773 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
775 }; 774 };
776 775
777 sd3_clk: sd3-clk { 776 sd3_clk: sd3-clk {
778 samsung,pins = "gpk3-0"; 777 samsung,pins = "gpk3-0";
779 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 778 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
780 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 779 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
781 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 780 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
782 }; 781 };
783 782
784 sd3_cmd: sd3-cmd { 783 sd3_cmd: sd3-cmd {
785 samsung,pins = "gpk3-1"; 784 samsung,pins = "gpk3-1";
786 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 785 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
787 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 786 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
788 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 787 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
789 }; 788 };
790 789
791 sd3_cd: sd3-cd { 790 sd3_cd: sd3-cd {
792 samsung,pins = "gpk3-2"; 791 samsung,pins = "gpk3-2";
793 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 792 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
794 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 793 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
795 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 794 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
796 }; 795 };
797 796
798 sd3_bus1: sd3-bus-width1 { 797 sd3_bus1: sd3-bus-width1 {
799 samsung,pins = "gpk3-3"; 798 samsung,pins = "gpk3-3";
800 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 799 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
801 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 800 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
802 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 801 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
803 }; 802 };
804 803
805 sd3_bus4: sd3-bus-width4 { 804 sd3_bus4: sd3-bus-width4 {
806 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; 805 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
807 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 806 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
808 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 807 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
809 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 808 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
810 }; 809 };
811 810
812 cam_port_b_io: cam-port-b-io { 811 cam_port_b_io: cam-port-b-io {
813 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3", 812 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
814 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7", 813 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
815 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1"; 814 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
816 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 815 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
817 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 816 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
818 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 817 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
819 }; 818 };
820 819
821 cam_port_b_clk_active: cam-port-b-clk-active { 820 cam_port_b_clk_active: cam-port-b-clk-active {
822 samsung,pins = "gpm2-2"; 821 samsung,pins = "gpm2-2";
823 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 822 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
824 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 823 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
825 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 824 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
826 }; 825 };
827 826
828 cam_port_b_clk_idle: cam-port-b-clk-idle { 827 cam_port_b_clk_idle: cam-port-b-clk-idle {
829 samsung,pins = "gpm2-2"; 828 samsung,pins = "gpm2-2";
830 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 829 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
831 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 830 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
832 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 831 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
833 }; 832 };
834 833
835 eint0: ext-int0 { 834 eint0: ext-int0 {
836 samsung,pins = "gpx0-0"; 835 samsung,pins = "gpx0-0";
837 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 836 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
838 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 837 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
839 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 838 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
840 }; 839 };
841 840
842 eint8: ext-int8 { 841 eint8: ext-int8 {
843 samsung,pins = "gpx1-0"; 842 samsung,pins = "gpx1-0";
844 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 843 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
845 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 844 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
846 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 845 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
847 }; 846 };
848 847
849 eint15: ext-int15 { 848 eint15: ext-int15 {
850 samsung,pins = "gpx1-7"; 849 samsung,pins = "gpx1-7";
851 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 850 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
852 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 851 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
853 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 852 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
854 }; 853 };
855 854
856 eint16: ext-int16 { 855 eint16: ext-int16 {
857 samsung,pins = "gpx2-0"; 856 samsung,pins = "gpx2-0";
858 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 857 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
859 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 858 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
860 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 859 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
861 }; 860 };
862 861
863 eint31: ext-int31 { 862 eint31: ext-int31 {
864 samsung,pins = "gpx3-7"; 863 samsung,pins = "gpx3-7";
865 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 864 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
866 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 865 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
867 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 866 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
868 }; 867 };
869 868
870 fimc_is_i2c0: fimc-is-i2c0 { 869 fimc_is_i2c0: fimc-is-i2c0 {
871 samsung,pins = "gpm4-0", "gpm4-1"; 870 samsung,pins = "gpm4-0", "gpm4-1";
872 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 871 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
873 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 872 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
874 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 873 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
875 }; 874 };
876 875
877 fimc_is_i2c1: fimc-is-i2c1 { 876 fimc_is_i2c1: fimc-is-i2c1 {
878 samsung,pins = "gpm4-2", "gpm4-3"; 877 samsung,pins = "gpm4-2", "gpm4-3";
879 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 878 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
880 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 879 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
881 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 880 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
882 }; 881 };
883 882
884 fimc_is_uart: fimc-is-uart { 883 fimc_is_uart: fimc-is-uart {
885 samsung,pins = "gpm3-5", "gpm3-7"; 884 samsung,pins = "gpm3-5", "gpm3-7";
886 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 885 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
887 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 886 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
888 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 887 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
889 }; 888 };
890 889
891 hdmi_cec: hdmi-cec { 890 hdmi_cec: hdmi-cec {
892 samsung,pins = "gpx3-6"; 891 samsung,pins = "gpx3-6";
893 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 892 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
894 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 893 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
895 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 894 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
896 }; 895 };
897 }; 896};
898 897
899 pinctrl_2: pinctrl@3860000 { 898&pinctrl_2 {
900 gpz: gpz { 899 gpz: gpz {
901 gpio-controller; 900 gpio-controller;
902 #gpio-cells = <2>; 901 #gpio-cells = <2>;
903 902
904 interrupt-controller; 903 interrupt-controller;
905 #interrupt-cells = <2>; 904 #interrupt-cells = <2>;
906 }; 905 };
907 906
908 i2s0_bus: i2s0-bus { 907 i2s0_bus: i2s0-bus {
909 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", 908 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
910 "gpz-4", "gpz-5", "gpz-6"; 909 "gpz-4", "gpz-5", "gpz-6";
911 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 910 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
912 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 911 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
913 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 912 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
914 }; 913 };
915 914
916 pcm0_bus: pcm0-bus { 915 pcm0_bus: pcm0-bus {
917 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", 916 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
918 "gpz-4"; 917 "gpz-4";
919 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 918 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
920 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 919 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
921 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 920 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
922 }; 921 };
923 }; 922};
924 923
925 pinctrl_3: pinctrl@106e0000 { 924&pinctrl_3 {
926 gpv0: gpv0 { 925 gpv0: gpv0 {
927 gpio-controller; 926 gpio-controller;
928 #gpio-cells = <2>; 927 #gpio-cells = <2>;
929 928
930 interrupt-controller; 929 interrupt-controller;
931 #interrupt-cells = <2>; 930 #interrupt-cells = <2>;
932 }; 931 };
933 932
934 gpv1: gpv1 { 933 gpv1: gpv1 {
935 gpio-controller; 934 gpio-controller;
936 #gpio-cells = <2>; 935 #gpio-cells = <2>;
937 936
938 interrupt-controller; 937 interrupt-controller;
939 #interrupt-cells = <2>; 938 #interrupt-cells = <2>;
940 }; 939 };
941 940
942 gpv2: gpv2 { 941 gpv2: gpv2 {
943 gpio-controller; 942 gpio-controller;
944 #gpio-cells = <2>; 943 #gpio-cells = <2>;
945 944
946 interrupt-controller; 945 interrupt-controller;
947 #interrupt-cells = <2>; 946 #interrupt-cells = <2>;
948 }; 947 };
949 948
950 gpv3: gpv3 { 949 gpv3: gpv3 {
951 gpio-controller; 950 gpio-controller;
952 #gpio-cells = <2>; 951 #gpio-cells = <2>;
953 952
954 interrupt-controller; 953 interrupt-controller;
955 #interrupt-cells = <2>; 954 #interrupt-cells = <2>;
956 }; 955 };
957 956
958 gpv4: gpv4 { 957 gpv4: gpv4 {
959 gpio-controller; 958 gpio-controller;
960 #gpio-cells = <2>; 959 #gpio-cells = <2>;
961 960
962 interrupt-controller; 961 interrupt-controller;
963 #interrupt-cells = <2>; 962 #interrupt-cells = <2>;
964 }; 963 };
965 964
966 c2c_bus: c2c-bus { 965 c2c_bus: c2c-bus {
967 samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3", 966 samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3",
968 "gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7", 967 "gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7",
969 "gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3", 968 "gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3",
970 "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7", 969 "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7",
971 "gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3", 970 "gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3",
972 "gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7", 971 "gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7",
973 "gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3", 972 "gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3",
974 "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7", 973 "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7",
975 "gpv4-0", "gpv4-1"; 974 "gpv4-0", "gpv4-1";
976 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 975 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
977 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 976 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
978 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 977 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
979 };
980 }; 978 };
981}; 979};
diff --git a/arch/arm/boot/dts/exynos4412-tiny4412.dts b/arch/arm/boot/dts/exynos4412-tiny4412.dts
index 5504398e6e37..01f37b5ac9c4 100644
--- a/arch/arm/boot/dts/exynos4412-tiny4412.dts
+++ b/arch/arm/boot/dts/exynos4412-tiny4412.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * FriendlyARM's Exynos4412 based TINY4412 board device tree source 3 * FriendlyARM's Exynos4412 based TINY4412 board device tree source
3 * 4 *
@@ -5,11 +6,7 @@
5 * 6 *
6 * Device tree source file for FriendlyARM's TINY4412 board which is based on 7 * Device tree source file for FriendlyARM's TINY4412 board which is based on
7 * Samsung's Exynos4412 SoC. 8 * Samsung's Exynos4412 SoC.
8 * 9 */
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12*/
13 10
14/dts-v1/; 11/dts-v1/;
15#include "exynos4412.dtsi" 12#include "exynos4412.dtsi"
diff --git a/arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi b/arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi
index e3f7934d19d0..489b58c619ee 100644
--- a/arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi
+++ b/arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi
@@ -1,12 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device tree sources for Exynos4412 TMU sensor configuration 3 * Device tree sources for Exynos4412 TMU sensor configuration
3 * 4 *
4 * Copyright (c) 2014 Lukasz Majewski <l.majewski@samsung.com> 5 * Copyright (c) 2014 Lukasz Majewski <l.majewski@samsung.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 */ 6 */
11 7
12#include <dt-bindings/thermal/thermal_exynos.h> 8#include <dt-bindings/thermal/thermal_exynos.h>
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
index f285790e8e04..327ee980d3a5 100644
--- a/arch/arm/boot/dts/exynos4412-trats2.dts
+++ b/arch/arm/boot/dts/exynos4412-trats2.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Samsung's Exynos4412 based Trats 2 board device tree source 3 * Samsung's Exynos4412 based Trats 2 board device tree source
3 * 4 *
@@ -6,30 +7,14 @@
6 * 7 *
7 * Device tree source file for Samsung's Trats 2 board which is based on 8 * Device tree source file for Samsung's Trats 2 board which is based on
8 * Samsung's Exynos4412 SoC. 9 * Samsung's Exynos4412 SoC.
9 * 10 */
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14 11
15/dts-v1/; 12/dts-v1/;
16#include "exynos4412.dtsi" 13#include "exynos4412-galaxy-s3.dtsi"
17#include "exynos4412-ppmu-common.dtsi"
18#include <dt-bindings/gpio/gpio.h>
19#include <dt-bindings/interrupt-controller/irq.h>
20#include <dt-bindings/clock/maxim,max77686.h>
21#include <dt-bindings/pinctrl/samsung.h>
22 14
23/ { 15/ {
24 model = "Samsung Trats 2 based on Exynos4412"; 16 model = "Samsung Trats 2 based on Exynos4412";
25 compatible = "samsung,trats2", "samsung,exynos4412", "samsung,exynos4"; 17 compatible = "samsung,trats2", "samsung,midas", "samsung,exynos4412", "samsung,exynos4";
26
27 aliases {
28 i2c9 = &i2c_ak8975;
29 i2c10 = &i2c_cm36651;
30 i2c11 = &i2c_max77693;
31 i2c12 = &i2c_max77693_fuel;
32 };
33 18
34 memory@40000000 { 19 memory@40000000 {
35 device_type = "memory"; 20 device_type = "memory";
@@ -38,1378 +23,5 @@
38 23
39 chosen { 24 chosen {
40 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5"; 25 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
41 stdout-path = &serial_2;
42 };
43
44 firmware@204f000 {
45 compatible = "samsung,secure-firmware";
46 reg = <0x0204F000 0x1000>;
47 };
48
49 fixed-rate-clocks {
50 xxti {
51 compatible = "samsung,clock-xxti", "fixed-clock";
52 clock-frequency = <0>;
53 };
54
55 xusbxti {
56 compatible = "samsung,clock-xusbxti", "fixed-clock";
57 clock-frequency = <24000000>;
58 };
59 };
60
61 regulators {
62 compatible = "simple-bus";
63 #address-cells = <1>;
64 #size-cells = <0>;
65
66 cam_io_reg: voltage-regulator-1 {
67 compatible = "regulator-fixed";
68 regulator-name = "CAM_SENSOR_A";
69 regulator-min-microvolt = <2800000>;
70 regulator-max-microvolt = <2800000>;
71 gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
72 enable-active-high;
73 };
74
75 lcd_vdd3_reg: voltage-regulator-2 {
76 compatible = "regulator-fixed";
77 regulator-name = "LCD_VDD_2.2V";
78 regulator-min-microvolt = <2200000>;
79 regulator-max-microvolt = <2200000>;
80 gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
81 enable-active-high;
82 };
83
84 cam_af_reg: voltage-regulator-3 {
85 compatible = "regulator-fixed";
86 regulator-name = "CAM_AF";
87 regulator-min-microvolt = <2800000>;
88 regulator-max-microvolt = <2800000>;
89 gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
90 enable-active-high;
91 };
92
93 ps_als_reg: voltage-regulator-5 {
94 compatible = "regulator-fixed";
95 regulator-name = "LED_A_3.0V";
96 regulator-min-microvolt = <3000000>;
97 regulator-max-microvolt = <3000000>;
98 gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
99 enable-active-high;
100 };
101
102 vsil12: voltage-regulator-6 {
103 compatible = "regulator-fixed";
104 regulator-name = "VSIL_1.2V";
105 regulator-min-microvolt = <1200000>;
106 regulator-max-microvolt = <1200000>;
107 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
108 enable-active-high;
109 vin-supply = <&buck7_reg>;
110 };
111
112 vcc33mhl: voltage-regulator-7 {
113 compatible = "regulator-fixed";
114 regulator-name = "VCC_3.3_MHL";
115 regulator-min-microvolt = <3300000>;
116 regulator-max-microvolt = <3300000>;
117 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
118 enable-active-high;
119 };
120
121 vcc18mhl: voltage-regulator-8 {
122 compatible = "regulator-fixed";
123 regulator-name = "VCC_1.8_MHL";
124 regulator-min-microvolt = <1800000>;
125 regulator-max-microvolt = <1800000>;
126 gpio = <&gpl0 4 GPIO_ACTIVE_HIGH>;
127 enable-active-high;
128 };
129 };
130
131 gpio-keys {
132 compatible = "gpio-keys";
133
134 key-down {
135 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
136 linux,code = <114>;
137 label = "volume down";
138 debounce-interval = <10>;
139 };
140
141 key-up {
142 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
143 linux,code = <115>;
144 label = "volume up";
145 debounce-interval = <10>;
146 };
147
148 key-power {
149 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
150 linux,code = <116>;
151 label = "power";
152 debounce-interval = <10>;
153 wakeup-source;
154 };
155
156 key-ok {
157 gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
158 linux,code = <139>;
159 label = "ok";
160 debounce-inteval = <10>;
161 wakeup-source;
162 };
163 };
164
165 i2c_max77693: i2c-gpio-1 {
166 compatible = "i2c-gpio";
167 gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
168 i2c-gpio,delay-us = <2>;
169 #address-cells = <1>;
170 #size-cells = <0>;
171 status = "okay";
172
173 max77693@66 {
174 compatible = "maxim,max77693";
175 interrupt-parent = <&gpx1>;
176 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
177 reg = <0x66>;
178
179 regulators {
180 esafeout1_reg: ESAFEOUT1 {
181 regulator-name = "ESAFEOUT1";
182 };
183 esafeout2_reg: ESAFEOUT2 {
184 regulator-name = "ESAFEOUT2";
185 };
186 charger_reg: CHARGER {
187 regulator-name = "CHARGER";
188 regulator-min-microamp = <60000>;
189 regulator-max-microamp = <2580000>;
190 };
191 };
192
193 max77693_haptic {
194 compatible = "maxim,max77693-haptic";
195 haptic-supply = <&ldo26_reg>;
196 pwms = <&pwm 0 38022 0>;
197 };
198
199 charger {
200 compatible = "maxim,max77693-charger";
201
202 maxim,constant-microvolt = <4350000>;
203 maxim,min-system-microvolt = <3600000>;
204 maxim,thermal-regulation-celsius = <100>;
205 maxim,battery-overcurrent-microamp = <3500000>;
206 maxim,charge-input-threshold-microvolt = <4300000>;
207 };
208 };
209 };
210
211 i2c_max77693_fuel: i2c-gpio-3 {
212 compatible = "i2c-gpio";
213 gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
214 i2c-gpio,delay-us = <2>;
215 #address-cells = <1>;
216 #size-cells = <0>;
217 status = "okay";
218
219 max77693-fuel-gauge@36 {
220 compatible = "maxim,max17047";
221 interrupt-parent = <&gpx2>;
222 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
223 reg = <0x36>;
224
225 maxim,over-heat-temp = <700>;
226 maxim,over-volt = <4500>;
227 };
228 };
229
230 i2c_ak8975: i2c-gpio-0 {
231 compatible = "i2c-gpio";
232 gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
233 i2c-gpio,delay-us = <2>;
234 #address-cells = <1>;
235 #size-cells = <0>;
236 status = "okay";
237
238 ak8975@c {
239 compatible = "asahi-kasei,ak8975";
240 reg = <0x0c>;
241 gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
242 };
243 };
244
245 i2c_cm36651: i2c-gpio-2 {
246 compatible = "i2c-gpio";
247 gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
248 i2c-gpio,delay-us = <2>;
249 #address-cells = <1>;
250 #size-cells = <0>;
251
252 cm36651@18 {
253 compatible = "capella,cm36651";
254 reg = <0x18>;
255 interrupt-parent = <&gpx0>;
256 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
257 vled-supply = <&ps_als_reg>;
258 };
259 };
260
261 i2c-mhl {
262 compatible = "i2c-gpio";
263 gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
264 i2c-gpio,delay-us = <100>;
265 #address-cells = <1>;
266 #size-cells = <0>;
267
268 pinctrl-0 = <&i2c_mhl_bus>;
269 pinctrl-names = "default";
270 status = "okay";
271
272 sii9234: hdmi-bridge@39 {
273 compatible = "sil,sii9234";
274 avcc33-supply = <&vcc33mhl>;
275 iovcc18-supply = <&vcc18mhl>;
276 avcc12-supply = <&vsil12>;
277 cvcc12-supply = <&vsil12>;
278 reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
279 interrupt-parent = <&gpf3>;
280 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
281 reg = <0x39>;
282
283 port {
284 mhl_to_hdmi: endpoint {
285 remote-endpoint = <&hdmi_to_mhl>;
286 };
287 };
288 };
289 };
290
291 camera: camera {
292 pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
293 pinctrl-names = "default";
294 status = "okay";
295 assigned-clocks = <&clock CLK_MOUT_CAM0>,
296 <&clock CLK_MOUT_CAM1>;
297 assigned-clock-parents = <&clock CLK_XUSBXTI>,
298 <&clock CLK_XUSBXTI>;
299
300
301 };
302
303 wlan_pwrseq: sdhci3-pwrseq {
304 compatible = "mmc-pwrseq-simple";
305 reset-gpios = <&gpj0 0 GPIO_ACTIVE_LOW>;
306 clocks = <&max77686 MAX77686_CLK_PMIC>;
307 clock-names = "ext_clock";
308 };
309
310 sound {
311 compatible = "samsung,trats2-audio";
312 samsung,i2s-controller = <&i2s0>;
313 samsung,model = "Trats2";
314 samsung,audio-codec = <&wm1811>;
315 samsung,audio-routing =
316 "SPK", "SPKOUTLN",
317 "SPK", "SPKOUTLP",
318 "SPK", "SPKOUTRN",
319 "SPK", "SPKOUTRP";
320 };
321
322 thermistor-ap {
323 compatible = "murata,ncp15wb473";
324 pullup-uv = <1800000>; /* VCC_1.8V_AP */
325 pullup-ohm = <100000>; /* 100K */
326 pulldown-ohm = <100000>; /* 100K */
327 io-channels = <&adc 1>; /* AP temperature */
328 };
329
330 thermistor-battery {
331 compatible = "murata,ncp15wb473";
332 pullup-uv = <1800000>; /* VCC_1.8V_AP */
333 pullup-ohm = <100000>; /* 100K */
334 pulldown-ohm = <100000>; /* 100K */
335 io-channels = <&adc 2>; /* Battery temperature */
336 };
337
338 thermal-zones {
339 cpu_thermal: cpu-thermal {
340 cooling-maps {
341 map0 {
342 /* Corresponds to 800MHz at freq_table */
343 cooling-device = <&cpu0 7 7>;
344 };
345 map1 {
346 /* Corresponds to 200MHz at freq_table */
347 cooling-device = <&cpu0 13 13>;
348 };
349 };
350 };
351 };
352};
353
354&adc {
355 vdd-supply = <&ldo3_reg>;
356 status = "okay";
357};
358
359&bus_dmc {
360 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
361 vdd-supply = <&buck1_reg>;
362 status = "okay";
363};
364
365&bus_acp {
366 devfreq = <&bus_dmc>;
367 status = "okay";
368};
369
370&bus_c2c {
371 devfreq = <&bus_dmc>;
372 status = "okay";
373};
374
375&bus_leftbus {
376 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
377 vdd-supply = <&buck3_reg>;
378 status = "okay";
379};
380
381&bus_rightbus {
382 devfreq = <&bus_leftbus>;
383 status = "okay";
384};
385
386&bus_display {
387 devfreq = <&bus_leftbus>;
388 status = "okay";
389};
390
391&bus_fsys {
392 devfreq = <&bus_leftbus>;
393 status = "okay";
394};
395
396&bus_peri {
397 devfreq = <&bus_leftbus>;
398 status = "okay";
399};
400
401&bus_mfc {
402 devfreq = <&bus_leftbus>;
403 status = "okay";
404};
405
406&cpu0 {
407 cpu0-supply = <&buck2_reg>;
408};
409
410&csis_0 {
411 status = "okay";
412 vddcore-supply = <&ldo8_reg>;
413 vddio-supply = <&ldo10_reg>;
414 assigned-clocks = <&clock CLK_MOUT_CSIS0>,
415 <&clock CLK_SCLK_CSIS0>;
416 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
417 assigned-clock-rates = <0>, <176000000>;
418
419 /* Camera C (3) MIPI CSI-2 (CSIS0) */
420 port@3 {
421 reg = <3>;
422 csis0_ep: endpoint {
423 remote-endpoint = <&s5c73m3_ep>;
424 data-lanes = <1 2 3 4>;
425 samsung,csis-hs-settle = <12>;
426 };
427 };
428};
429
430&csis_1 {
431 status = "okay";
432 vddcore-supply = <&ldo8_reg>;
433 vddio-supply = <&ldo10_reg>;
434 assigned-clocks = <&clock CLK_MOUT_CSIS1>,
435 <&clock CLK_SCLK_CSIS1>;
436 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
437 assigned-clock-rates = <0>, <176000000>;
438
439 /* Camera D (4) MIPI CSI-2 (CSIS1) */
440 port@4 {
441 reg = <4>;
442 csis1_ep: endpoint {
443 remote-endpoint = <&is_s5k6a3_ep>;
444 data-lanes = <1>;
445 samsung,csis-hs-settle = <18>;
446 samsung,csis-wclk;
447 };
448 };
449};
450
451&dsi_0 {
452 vddcore-supply = <&ldo8_reg>;
453 vddio-supply = <&ldo10_reg>;
454 samsung,burst-clock-frequency = <500000000>;
455 samsung,esc-clock-frequency = <20000000>;
456 samsung,pll-clock-frequency = <24000000>;
457 status = "okay";
458
459 panel@0 {
460 compatible = "samsung,s6e8aa0";
461 reg = <0>;
462 vdd3-supply = <&lcd_vdd3_reg>;
463 vci-supply = <&ldo25_reg>;
464 reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
465 power-on-delay= <50>;
466 reset-delay = <100>;
467 init-delay = <100>;
468 flip-horizontal;
469 flip-vertical;
470 panel-width-mm = <58>;
471 panel-height-mm = <103>;
472
473 display-timings {
474 timing-0 {
475 clock-frequency = <57153600>;
476 hactive = <720>;
477 vactive = <1280>;
478 hfront-porch = <5>;
479 hback-porch = <5>;
480 hsync-len = <5>;
481 vfront-porch = <13>;
482 vback-porch = <1>;
483 vsync-len = <2>;
484 };
485 };
486 };
487};
488
489&exynos_usbphy {
490 vbus-supply = <&esafeout1_reg>;
491 status = "okay";
492};
493
494&fimc_0 {
495 status = "okay";
496 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
497 <&clock CLK_SCLK_FIMC0>;
498 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
499 assigned-clock-rates = <0>, <176000000>;
500};
501
502&fimc_1 {
503 status = "okay";
504 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
505 <&clock CLK_SCLK_FIMC1>;
506 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
507 assigned-clock-rates = <0>, <176000000>;
508};
509
510&fimc_2 {
511 status = "okay";
512 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
513 <&clock CLK_SCLK_FIMC2>;
514 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
515 assigned-clock-rates = <0>, <176000000>;
516};
517
518&fimc_3 {
519 status = "okay";
520 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
521 <&clock CLK_SCLK_FIMC3>;
522 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
523 assigned-clock-rates = <0>, <176000000>;
524};
525
526&fimc_is {
527 pinctrl-0 = <&fimc_is_uart>;
528 pinctrl-names = "default";
529 status = "okay";
530
531 i2c1_isp: i2c-isp@12140000 {
532 pinctrl-0 = <&fimc_is_i2c1>;
533 pinctrl-names = "default";
534
535 s5k6a3@10 {
536 compatible = "samsung,s5k6a3";
537 reg = <0x10>;
538 svdda-supply = <&cam_io_reg>;
539 svddio-supply = <&ldo19_reg>;
540 afvdd-supply = <&ldo19_reg>;
541 clock-frequency = <24000000>;
542 /* CAM_B_CLKOUT */
543 clocks = <&camera 1>;
544 clock-names = "extclk";
545 samsung,camclk-out = <1>;
546 gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
547
548 port {
549 is_s5k6a3_ep: endpoint {
550 remote-endpoint = <&csis1_ep>;
551 data-lanes = <1>;
552 };
553 };
554 };
555 };
556};
557
558&fimc_lite_0 {
559 status = "okay";
560};
561
562&fimc_lite_1 {
563 status = "okay";
564};
565
566&fimd {
567 status = "okay";
568};
569
570&hdmi {
571 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
572 pinctrl-names = "default";
573 pinctrl-0 = <&hdmi_hpd>;
574 vdd-supply = <&ldo3_reg>;
575 vdd_osc-supply = <&ldo4_reg>;
576 vdd_pll-supply = <&ldo3_reg>;
577 ddc = <&i2c_5>;
578 status = "okay";
579
580 ports {
581 #address-cells = <1>;
582 #size-cells = <0>;
583
584 port@1 {
585 reg = <1>;
586 hdmi_to_mhl: endpoint {
587 remote-endpoint = <&mhl_to_hdmi>;
588 };
589 };
590 };
591};
592
593&hsotg {
594 vusb_d-supply = <&ldo15_reg>;
595 vusb_a-supply = <&ldo12_reg>;
596 dr_mode = "peripheral";
597 status = "okay";
598};
599
600&i2c_0 {
601 samsung,i2c-sda-delay = <100>;
602 samsung,i2c-slave-addr = <0x10>;
603 samsung,i2c-max-bus-freq = <400000>;
604 pinctrl-0 = <&i2c0_bus>;
605 pinctrl-names = "default";
606 status = "okay";
607
608 s5c73m3@3c {
609 compatible = "samsung,s5c73m3";
610 reg = <0x3c>;
611 standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */
612 xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
613 vdd-int-supply = <&buck9_reg>;
614 vddio-cis-supply = <&ldo9_reg>;
615 vdda-supply = <&ldo17_reg>;
616 vddio-host-supply = <&ldo18_reg>;
617 vdd-af-supply = <&cam_af_reg>;
618 vdd-reg-supply = <&cam_io_reg>;
619 clock-frequency = <24000000>;
620 /* CAM_A_CLKOUT */
621 clocks = <&camera 0>;
622 clock-names = "cis_extclk";
623 port {
624 s5c73m3_ep: endpoint {
625 remote-endpoint = <&csis0_ep>;
626 data-lanes = <1 2 3 4>;
627 };
628 };
629 };
630};
631
632&i2c_3 {
633 samsung,i2c-sda-delay = <100>;
634 samsung,i2c-slave-addr = <0x10>;
635 samsung,i2c-max-bus-freq = <400000>;
636 pinctrl-0 = <&i2c3_bus>;
637 pinctrl-names = "default";
638 status = "okay";
639
640 mms114-touchscreen@48 {
641 compatible = "melfas,mms114";
642 reg = <0x48>;
643 interrupt-parent = <&gpm2>;
644 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
645 x-size = <720>;
646 y-size = <1280>;
647 avdd-supply = <&ldo23_reg>;
648 vdd-supply = <&ldo24_reg>;
649 };
650};
651
652&i2c_4 {
653 samsung,i2c-sda-delay = <100>;
654 samsung,i2c-slave-addr = <0x10>;
655 samsung,i2c-max-bus-freq = <100000>;
656 pinctrl-0 = <&i2c4_bus>;
657 pinctrl-names = "default";
658 status = "okay";
659
660 wm1811: wm1811@1a {
661 compatible = "wlf,wm1811";
662 reg = <0x1a>;
663 clocks = <&pmu_system_controller 0>;
664 clock-names = "MCLK1";
665 DCVDD-supply = <&ldo3_reg>;
666 DBVDD1-supply = <&ldo3_reg>;
667 wlf,ldo1ena = <&gpj0 4 0>;
668 }; 26 };
669}; 27};
670
671&i2c_5 {
672 status = "okay";
673};
674
675&i2c_7 {
676 samsung,i2c-sda-delay = <100>;
677 samsung,i2c-slave-addr = <0x10>;
678 samsung,i2c-max-bus-freq = <100000>;
679 pinctrl-0 = <&i2c7_bus>;
680 pinctrl-names = "default";
681 status = "okay";
682
683 max77686: max77686_pmic@9 {
684 compatible = "maxim,max77686";
685 interrupt-parent = <&gpx0>;
686 interrupts = <7 IRQ_TYPE_NONE>;
687 reg = <0x09>;
688 #clock-cells = <1>;
689
690 voltage-regulators {
691 ldo1_reg: LDO1 {
692 regulator-name = "VALIVE_1.0V_AP";
693 regulator-min-microvolt = <1000000>;
694 regulator-max-microvolt = <1000000>;
695 regulator-always-on;
696 };
697
698 ldo2_reg: LDO2 {
699 regulator-name = "VM1M2_1.2V_AP";
700 regulator-min-microvolt = <1200000>;
701 regulator-max-microvolt = <1200000>;
702 regulator-always-on;
703 regulator-state-mem {
704 regulator-on-in-suspend;
705 };
706 };
707
708 ldo3_reg: LDO3 {
709 regulator-name = "VCC_1.8V_AP";
710 regulator-min-microvolt = <1800000>;
711 regulator-max-microvolt = <1800000>;
712 regulator-always-on;
713 };
714
715 ldo4_reg: LDO4 {
716 regulator-name = "VCC_2.8V_AP";
717 regulator-min-microvolt = <2800000>;
718 regulator-max-microvolt = <2800000>;
719 regulator-always-on;
720 };
721
722 ldo5_reg: LDO5 {
723 regulator-name = "VCC_1.8V_IO";
724 regulator-min-microvolt = <1800000>;
725 regulator-max-microvolt = <1800000>;
726 regulator-always-on;
727 };
728
729 ldo6_reg: LDO6 {
730 regulator-name = "VMPLL_1.0V_AP";
731 regulator-min-microvolt = <1000000>;
732 regulator-max-microvolt = <1000000>;
733 regulator-always-on;
734 regulator-state-mem {
735 regulator-on-in-suspend;
736 };
737 };
738
739 ldo7_reg: LDO7 {
740 regulator-name = "VPLL_1.0V_AP";
741 regulator-min-microvolt = <1000000>;
742 regulator-max-microvolt = <1000000>;
743 regulator-always-on;
744 regulator-state-mem {
745 regulator-on-in-suspend;
746 };
747 };
748
749 ldo8_reg: LDO8 {
750 regulator-name = "VMIPI_1.0V";
751 regulator-min-microvolt = <1000000>;
752 regulator-max-microvolt = <1000000>;
753 regulator-state-mem {
754 regulator-off-in-suspend;
755 };
756 };
757
758 ldo9_reg: LDO9 {
759 regulator-name = "CAM_ISP_MIPI_1.2V";
760 regulator-min-microvolt = <1200000>;
761 regulator-max-microvolt = <1200000>;
762 };
763
764 ldo10_reg: LDO10 {
765 regulator-name = "VMIPI_1.8V";
766 regulator-min-microvolt = <1800000>;
767 regulator-max-microvolt = <1800000>;
768 regulator-state-mem {
769 regulator-off-in-suspend;
770 };
771 };
772
773 ldo11_reg: LDO11 {
774 regulator-name = "VABB1_1.95V";
775 regulator-min-microvolt = <1950000>;
776 regulator-max-microvolt = <1950000>;
777 regulator-always-on;
778 regulator-state-mem {
779 regulator-off-in-suspend;
780 };
781 };
782
783 ldo12_reg: LDO12 {
784 regulator-name = "VUOTG_3.0V";
785 regulator-min-microvolt = <3000000>;
786 regulator-max-microvolt = <3000000>;
787 regulator-state-mem {
788 regulator-off-in-suspend;
789 };
790 };
791
792 ldo13_reg: LDO13 {
793 regulator-name = "NFC_AVDD_1.8V";
794 regulator-min-microvolt = <1800000>;
795 regulator-max-microvolt = <1800000>;
796 };
797
798 ldo14_reg: LDO14 {
799 regulator-name = "VABB2_1.95V";
800 regulator-min-microvolt = <1950000>;
801 regulator-max-microvolt = <1950000>;
802 regulator-always-on;
803 regulator-state-mem {
804 regulator-off-in-suspend;
805 };
806 };
807
808 ldo15_reg: LDO15 {
809 regulator-name = "VHSIC_1.0V";
810 regulator-min-microvolt = <1000000>;
811 regulator-max-microvolt = <1000000>;
812 regulator-state-mem {
813 regulator-on-in-suspend;
814 };
815 };
816
817 ldo16_reg: LDO16 {
818 regulator-name = "VHSIC_1.8V";
819 regulator-min-microvolt = <1800000>;
820 regulator-max-microvolt = <1800000>;
821 regulator-state-mem {
822 regulator-on-in-suspend;
823 };
824 };
825
826 ldo17_reg: LDO17 {
827 regulator-name = "CAM_SENSOR_CORE_1.2V";
828 regulator-min-microvolt = <1200000>;
829 regulator-max-microvolt = <1200000>;
830 };
831
832 ldo18_reg: LDO18 {
833 regulator-name = "CAM_ISP_SEN_IO_1.8V";
834 regulator-min-microvolt = <1800000>;
835 regulator-max-microvolt = <1800000>;
836 };
837
838 ldo19_reg: LDO19 {
839 regulator-name = "VT_CAM_1.8V";
840 regulator-min-microvolt = <1800000>;
841 regulator-max-microvolt = <1800000>;
842 };
843
844 ldo20_reg: LDO20 {
845 regulator-name = "VDDQ_PRE_1.8V";
846 regulator-min-microvolt = <1800000>;
847 regulator-max-microvolt = <1800000>;
848 };
849
850 ldo21_reg: LDO21 {
851 regulator-name = "VTF_2.8V";
852 regulator-min-microvolt = <2800000>;
853 regulator-max-microvolt = <2800000>;
854 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
855 };
856
857 ldo22_reg: LDO22 {
858 regulator-name = "VMEM_VDD_2.8V";
859 regulator-min-microvolt = <2800000>;
860 regulator-max-microvolt = <2800000>;
861 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
862 };
863
864 ldo23_reg: LDO23 {
865 regulator-name = "TSP_AVDD_3.3V";
866 regulator-min-microvolt = <3300000>;
867 regulator-max-microvolt = <3300000>;
868 };
869
870 ldo24_reg: LDO24 {
871 regulator-name = "TSP_VDD_1.8V";
872 regulator-min-microvolt = <1800000>;
873 regulator-max-microvolt = <1800000>;
874 };
875
876 ldo25_reg: LDO25 {
877 regulator-name = "LCD_VCC_3.3V";
878 regulator-min-microvolt = <2800000>;
879 regulator-max-microvolt = <2800000>;
880 };
881
882 ldo26_reg: LDO26 {
883 regulator-name = "MOTOR_VCC_3.0V";
884 regulator-min-microvolt = <3000000>;
885 regulator-max-microvolt = <3000000>;
886 };
887
888 buck1_reg: BUCK1 {
889 regulator-name = "vdd_mif";
890 regulator-min-microvolt = <850000>;
891 regulator-max-microvolt = <1100000>;
892 regulator-always-on;
893 regulator-boot-on;
894 regulator-state-mem {
895 regulator-off-in-suspend;
896 };
897 };
898
899 buck2_reg: BUCK2 {
900 regulator-name = "vdd_arm";
901 regulator-min-microvolt = <850000>;
902 regulator-max-microvolt = <1500000>;
903 regulator-always-on;
904 regulator-boot-on;
905 regulator-state-mem {
906 regulator-on-in-suspend;
907 };
908 };
909
910 buck3_reg: BUCK3 {
911 regulator-name = "vdd_int";
912 regulator-min-microvolt = <850000>;
913 regulator-max-microvolt = <1150000>;
914 regulator-always-on;
915 regulator-boot-on;
916 regulator-state-mem {
917 regulator-off-in-suspend;
918 };
919 };
920
921 buck4_reg: BUCK4 {
922 regulator-name = "vdd_g3d";
923 regulator-min-microvolt = <850000>;
924 regulator-max-microvolt = <1150000>;
925 regulator-boot-on;
926 regulator-state-mem {
927 regulator-off-in-suspend;
928 };
929 };
930
931 buck5_reg: BUCK5 {
932 regulator-name = "VMEM_1.2V_AP";
933 regulator-min-microvolt = <1200000>;
934 regulator-max-microvolt = <1200000>;
935 regulator-always-on;
936 };
937
938 buck6_reg: BUCK6 {
939 regulator-name = "VCC_SUB_1.35V";
940 regulator-min-microvolt = <1350000>;
941 regulator-max-microvolt = <1350000>;
942 regulator-always-on;
943 };
944
945 buck7_reg: BUCK7 {
946 regulator-name = "VCC_SUB_2.0V";
947 regulator-min-microvolt = <2000000>;
948 regulator-max-microvolt = <2000000>;
949 regulator-always-on;
950 };
951
952 buck8_reg: BUCK8 {
953 regulator-name = "VMEM_VDDF_3.0V";
954 regulator-min-microvolt = <2850000>;
955 regulator-max-microvolt = <2850000>;
956 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
957 };
958
959 buck9_reg: BUCK9 {
960 regulator-name = "CAM_ISP_CORE_1.2V";
961 regulator-min-microvolt = <1000000>;
962 regulator-max-microvolt = <1200000>;
963 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
964 };
965 };
966 };
967};
968
969&i2c_8 {
970 status = "okay";
971};
972
973&i2s0 {
974 pinctrl-0 = <&i2s0_bus>;
975 pinctrl-names = "default";
976 status = "okay";
977};
978
979&mixer {
980 status = "okay";
981};
982
983&mshc_0 {
984 broken-cd;
985 non-removable;
986 card-detect-delay = <200>;
987 vmmc-supply = <&ldo22_reg>;
988 clock-frequency = <400000000>;
989 samsung,dw-mshc-ciu-div = <0>;
990 samsung,dw-mshc-sdr-timing = <2 3>;
991 samsung,dw-mshc-ddr-timing = <1 2>;
992 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
993 pinctrl-names = "default";
994 status = "okay";
995 bus-width = <8>;
996 cap-mmc-highspeed;
997};
998
999&pmu_system_controller {
1000 assigned-clocks = <&pmu_system_controller 0>;
1001 assigned-clock-parents = <&clock CLK_XUSBXTI>;
1002};
1003
1004&pinctrl_0 {
1005 pinctrl-names = "default";
1006 pinctrl-0 = <&sleep0>;
1007
1008 mhl_int: mhl-int {
1009 samsung,pins = "gpf3-5";
1010 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1011 };
1012
1013 i2c_mhl_bus: i2c-mhl-bus {
1014 samsung,pins = "gpf0-4", "gpf0-6";
1015 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
1016 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1017 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1018 };
1019
1020 sleep0: sleep-states {
1021 PIN_SLP(gpa0-0, INPUT, NONE);
1022 PIN_SLP(gpa0-1, OUT0, NONE);
1023 PIN_SLP(gpa0-2, INPUT, NONE);
1024 PIN_SLP(gpa0-3, INPUT, UP);
1025 PIN_SLP(gpa0-4, INPUT, NONE);
1026 PIN_SLP(gpa0-5, INPUT, DOWN);
1027 PIN_SLP(gpa0-6, INPUT, DOWN);
1028 PIN_SLP(gpa0-7, INPUT, UP);
1029
1030 PIN_SLP(gpa1-0, INPUT, DOWN);
1031 PIN_SLP(gpa1-1, INPUT, DOWN);
1032 PIN_SLP(gpa1-2, INPUT, DOWN);
1033 PIN_SLP(gpa1-3, INPUT, DOWN);
1034 PIN_SLP(gpa1-4, INPUT, DOWN);
1035 PIN_SLP(gpa1-5, INPUT, DOWN);
1036
1037 PIN_SLP(gpb-0, INPUT, NONE);
1038 PIN_SLP(gpb-1, INPUT, NONE);
1039 PIN_SLP(gpb-2, INPUT, NONE);
1040 PIN_SLP(gpb-3, INPUT, NONE);
1041 PIN_SLP(gpb-4, INPUT, DOWN);
1042 PIN_SLP(gpb-5, INPUT, UP);
1043 PIN_SLP(gpb-6, INPUT, DOWN);
1044 PIN_SLP(gpb-7, INPUT, DOWN);
1045
1046 PIN_SLP(gpc0-0, INPUT, DOWN);
1047 PIN_SLP(gpc0-1, INPUT, DOWN);
1048 PIN_SLP(gpc0-2, INPUT, DOWN);
1049 PIN_SLP(gpc0-3, INPUT, DOWN);
1050 PIN_SLP(gpc0-4, INPUT, DOWN);
1051
1052 PIN_SLP(gpc1-0, INPUT, NONE);
1053 PIN_SLP(gpc1-1, PREV, NONE);
1054 PIN_SLP(gpc1-2, INPUT, NONE);
1055 PIN_SLP(gpc1-3, INPUT, NONE);
1056 PIN_SLP(gpc1-4, INPUT, NONE);
1057
1058 PIN_SLP(gpd0-0, INPUT, DOWN);
1059 PIN_SLP(gpd0-1, INPUT, DOWN);
1060 PIN_SLP(gpd0-2, INPUT, NONE);
1061 PIN_SLP(gpd0-3, INPUT, NONE);
1062
1063 PIN_SLP(gpd1-0, INPUT, DOWN);
1064 PIN_SLP(gpd1-1, INPUT, DOWN);
1065 PIN_SLP(gpd1-2, INPUT, NONE);
1066 PIN_SLP(gpd1-3, INPUT, NONE);
1067
1068 PIN_SLP(gpf0-0, INPUT, NONE);
1069 PIN_SLP(gpf0-1, INPUT, NONE);
1070 PIN_SLP(gpf0-2, INPUT, DOWN);
1071 PIN_SLP(gpf0-3, INPUT, DOWN);
1072 PIN_SLP(gpf0-4, INPUT, NONE);
1073 PIN_SLP(gpf0-5, INPUT, DOWN);
1074 PIN_SLP(gpf0-6, INPUT, NONE);
1075 PIN_SLP(gpf0-7, INPUT, DOWN);
1076
1077 PIN_SLP(gpf1-0, INPUT, DOWN);
1078 PIN_SLP(gpf1-1, INPUT, DOWN);
1079 PIN_SLP(gpf1-2, INPUT, DOWN);
1080 PIN_SLP(gpf1-3, INPUT, DOWN);
1081 PIN_SLP(gpf1-4, INPUT, NONE);
1082 PIN_SLP(gpf1-5, INPUT, NONE);
1083 PIN_SLP(gpf1-6, INPUT, DOWN);
1084 PIN_SLP(gpf1-7, PREV, NONE);
1085
1086 PIN_SLP(gpf2-0, PREV, NONE);
1087 PIN_SLP(gpf2-1, INPUT, DOWN);
1088 PIN_SLP(gpf2-2, INPUT, DOWN);
1089 PIN_SLP(gpf2-3, INPUT, DOWN);
1090 PIN_SLP(gpf2-4, INPUT, DOWN);
1091 PIN_SLP(gpf2-5, INPUT, DOWN);
1092 PIN_SLP(gpf2-6, INPUT, NONE);
1093 PIN_SLP(gpf2-7, INPUT, NONE);
1094
1095 PIN_SLP(gpf3-0, INPUT, NONE);
1096 PIN_SLP(gpf3-1, PREV, NONE);
1097 PIN_SLP(gpf3-2, PREV, NONE);
1098 PIN_SLP(gpf3-3, PREV, NONE);
1099 PIN_SLP(gpf3-4, OUT1, NONE);
1100 PIN_SLP(gpf3-5, INPUT, DOWN);
1101
1102 PIN_SLP(gpj0-0, PREV, NONE);
1103 PIN_SLP(gpj0-1, PREV, NONE);
1104 PIN_SLP(gpj0-2, PREV, NONE);
1105 PIN_SLP(gpj0-3, INPUT, DOWN);
1106 PIN_SLP(gpj0-4, PREV, NONE);
1107 PIN_SLP(gpj0-5, PREV, NONE);
1108 PIN_SLP(gpj0-6, INPUT, DOWN);
1109 PIN_SLP(gpj0-7, INPUT, DOWN);
1110
1111 PIN_SLP(gpj1-0, INPUT, DOWN);
1112 PIN_SLP(gpj1-1, PREV, NONE);
1113 PIN_SLP(gpj1-2, PREV, NONE);
1114 PIN_SLP(gpj1-3, INPUT, DOWN);
1115 PIN_SLP(gpj1-4, INPUT, DOWN);
1116 };
1117};
1118
1119&pinctrl_1 {
1120 pinctrl-names = "default";
1121 pinctrl-0 = <&sleep1>;
1122
1123 hdmi_hpd: hdmi-hpd {
1124 samsung,pins = "gpx3-7";
1125 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
1126 };
1127
1128 sleep1: sleep-states {
1129 PIN_SLP(gpk0-0, PREV, NONE);
1130 PIN_SLP(gpk0-1, PREV, NONE);
1131 PIN_SLP(gpk0-2, OUT0, NONE);
1132 PIN_SLP(gpk0-3, PREV, NONE);
1133 PIN_SLP(gpk0-4, PREV, NONE);
1134 PIN_SLP(gpk0-5, PREV, NONE);
1135 PIN_SLP(gpk0-6, PREV, NONE);
1136
1137 PIN_SLP(gpk1-0, INPUT, DOWN);
1138 PIN_SLP(gpk1-1, INPUT, DOWN);
1139 PIN_SLP(gpk1-2, INPUT, DOWN);
1140 PIN_SLP(gpk1-3, PREV, NONE);
1141 PIN_SLP(gpk1-4, PREV, NONE);
1142 PIN_SLP(gpk1-5, PREV, NONE);
1143 PIN_SLP(gpk1-6, PREV, NONE);
1144
1145 PIN_SLP(gpk2-0, INPUT, DOWN);
1146 PIN_SLP(gpk2-1, INPUT, DOWN);
1147 PIN_SLP(gpk2-2, INPUT, DOWN);
1148 PIN_SLP(gpk2-3, INPUT, DOWN);
1149 PIN_SLP(gpk2-4, INPUT, DOWN);
1150 PIN_SLP(gpk2-5, INPUT, DOWN);
1151 PIN_SLP(gpk2-6, INPUT, DOWN);
1152
1153 PIN_SLP(gpk3-0, OUT0, NONE);
1154 PIN_SLP(gpk3-1, INPUT, NONE);
1155 PIN_SLP(gpk3-2, INPUT, DOWN);
1156 PIN_SLP(gpk3-3, INPUT, NONE);
1157 PIN_SLP(gpk3-4, INPUT, NONE);
1158 PIN_SLP(gpk3-5, INPUT, NONE);
1159 PIN_SLP(gpk3-6, INPUT, NONE);
1160
1161 PIN_SLP(gpl0-0, INPUT, DOWN);
1162 PIN_SLP(gpl0-1, INPUT, DOWN);
1163 PIN_SLP(gpl0-2, INPUT, DOWN);
1164 PIN_SLP(gpl0-3, INPUT, DOWN);
1165 PIN_SLP(gpl0-4, PREV, NONE);
1166 PIN_SLP(gpl0-6, PREV, NONE);
1167
1168 PIN_SLP(gpl1-0, INPUT, DOWN);
1169 PIN_SLP(gpl1-1, INPUT, DOWN);
1170 PIN_SLP(gpl2-0, INPUT, DOWN);
1171 PIN_SLP(gpl2-1, INPUT, DOWN);
1172 PIN_SLP(gpl2-2, INPUT, DOWN);
1173 PIN_SLP(gpl2-3, INPUT, DOWN);
1174 PIN_SLP(gpl2-4, INPUT, DOWN);
1175 PIN_SLP(gpl2-5, INPUT, DOWN);
1176 PIN_SLP(gpl2-6, PREV, NONE);
1177 PIN_SLP(gpl2-7, INPUT, DOWN);
1178
1179 PIN_SLP(gpm0-0, INPUT, DOWN);
1180 PIN_SLP(gpm0-1, INPUT, DOWN);
1181 PIN_SLP(gpm0-2, INPUT, DOWN);
1182 PIN_SLP(gpm0-3, INPUT, DOWN);
1183 PIN_SLP(gpm0-4, INPUT, DOWN);
1184 PIN_SLP(gpm0-5, INPUT, DOWN);
1185 PIN_SLP(gpm0-6, INPUT, DOWN);
1186 PIN_SLP(gpm0-7, INPUT, DOWN);
1187
1188 PIN_SLP(gpm1-0, INPUT, DOWN);
1189 PIN_SLP(gpm1-1, INPUT, DOWN);
1190 PIN_SLP(gpm1-2, INPUT, NONE);
1191 PIN_SLP(gpm1-3, INPUT, NONE);
1192 PIN_SLP(gpm1-4, INPUT, NONE);
1193 PIN_SLP(gpm1-5, INPUT, NONE);
1194 PIN_SLP(gpm1-6, INPUT, DOWN);
1195
1196 PIN_SLP(gpm2-0, INPUT, NONE);
1197 PIN_SLP(gpm2-1, INPUT, NONE);
1198 PIN_SLP(gpm2-2, INPUT, DOWN);
1199 PIN_SLP(gpm2-3, INPUT, DOWN);
1200 PIN_SLP(gpm2-4, INPUT, DOWN);
1201
1202 PIN_SLP(gpm3-0, PREV, NONE);
1203 PIN_SLP(gpm3-1, PREV, NONE);
1204 PIN_SLP(gpm3-2, PREV, NONE);
1205 PIN_SLP(gpm3-3, OUT1, NONE);
1206 PIN_SLP(gpm3-4, INPUT, DOWN);
1207 PIN_SLP(gpm3-5, INPUT, DOWN);
1208 PIN_SLP(gpm3-6, INPUT, DOWN);
1209 PIN_SLP(gpm3-7, INPUT, DOWN);
1210
1211 PIN_SLP(gpm4-0, INPUT, DOWN);
1212 PIN_SLP(gpm4-1, INPUT, DOWN);
1213 PIN_SLP(gpm4-2, INPUT, DOWN);
1214 PIN_SLP(gpm4-3, INPUT, DOWN);
1215 PIN_SLP(gpm4-4, INPUT, DOWN);
1216 PIN_SLP(gpm4-5, INPUT, DOWN);
1217 PIN_SLP(gpm4-6, INPUT, DOWN);
1218 PIN_SLP(gpm4-7, INPUT, DOWN);
1219
1220 PIN_SLP(gpy0-0, INPUT, DOWN);
1221 PIN_SLP(gpy0-1, INPUT, DOWN);
1222 PIN_SLP(gpy0-2, INPUT, DOWN);
1223 PIN_SLP(gpy0-3, INPUT, DOWN);
1224 PIN_SLP(gpy0-4, INPUT, DOWN);
1225 PIN_SLP(gpy0-5, INPUT, DOWN);
1226
1227 PIN_SLP(gpy1-0, INPUT, DOWN);
1228 PIN_SLP(gpy1-1, INPUT, DOWN);
1229 PIN_SLP(gpy1-2, INPUT, DOWN);
1230 PIN_SLP(gpy1-3, INPUT, DOWN);
1231
1232 PIN_SLP(gpy2-0, PREV, NONE);
1233 PIN_SLP(gpy2-1, INPUT, DOWN);
1234 PIN_SLP(gpy2-2, INPUT, NONE);
1235 PIN_SLP(gpy2-3, INPUT, NONE);
1236 PIN_SLP(gpy2-4, INPUT, NONE);
1237 PIN_SLP(gpy2-5, INPUT, NONE);
1238
1239 PIN_SLP(gpy3-0, INPUT, DOWN);
1240 PIN_SLP(gpy3-1, INPUT, DOWN);
1241 PIN_SLP(gpy3-2, INPUT, DOWN);
1242 PIN_SLP(gpy3-3, INPUT, DOWN);
1243 PIN_SLP(gpy3-4, INPUT, DOWN);
1244 PIN_SLP(gpy3-5, INPUT, DOWN);
1245 PIN_SLP(gpy3-6, INPUT, DOWN);
1246 PIN_SLP(gpy3-7, INPUT, DOWN);
1247
1248 PIN_SLP(gpy4-0, INPUT, DOWN);
1249 PIN_SLP(gpy4-1, INPUT, DOWN);
1250 PIN_SLP(gpy4-2, INPUT, DOWN);
1251 PIN_SLP(gpy4-3, INPUT, DOWN);
1252 PIN_SLP(gpy4-4, INPUT, DOWN);
1253 PIN_SLP(gpy4-5, INPUT, DOWN);
1254 PIN_SLP(gpy4-6, INPUT, DOWN);
1255 PIN_SLP(gpy4-7, INPUT, DOWN);
1256
1257 PIN_SLP(gpy5-0, INPUT, DOWN);
1258 PIN_SLP(gpy5-1, INPUT, DOWN);
1259 PIN_SLP(gpy5-2, INPUT, DOWN);
1260 PIN_SLP(gpy5-3, INPUT, DOWN);
1261 PIN_SLP(gpy5-4, INPUT, DOWN);
1262 PIN_SLP(gpy5-5, INPUT, DOWN);
1263 PIN_SLP(gpy5-6, INPUT, DOWN);
1264 PIN_SLP(gpy5-7, INPUT, DOWN);
1265
1266 PIN_SLP(gpy6-0, INPUT, DOWN);
1267 PIN_SLP(gpy6-1, INPUT, DOWN);
1268 PIN_SLP(gpy6-2, INPUT, DOWN);
1269 PIN_SLP(gpy6-3, INPUT, DOWN);
1270 PIN_SLP(gpy6-4, INPUT, DOWN);
1271 PIN_SLP(gpy6-5, INPUT, DOWN);
1272 PIN_SLP(gpy6-6, INPUT, DOWN);
1273 PIN_SLP(gpy6-7, INPUT, DOWN);
1274 };
1275};
1276
1277&pinctrl_2 {
1278 pinctrl-names = "default";
1279 pinctrl-0 = <&sleep2>;
1280
1281 sleep2: sleep-states {
1282 PIN_SLP(gpz-0, INPUT, DOWN);
1283 PIN_SLP(gpz-1, INPUT, DOWN);
1284 PIN_SLP(gpz-2, INPUT, DOWN);
1285 PIN_SLP(gpz-3, INPUT, DOWN);
1286 PIN_SLP(gpz-4, INPUT, DOWN);
1287 PIN_SLP(gpz-5, INPUT, DOWN);
1288 PIN_SLP(gpz-6, INPUT, DOWN);
1289 };
1290};
1291
1292&pinctrl_3 {
1293 pinctrl-names = "default";
1294 pinctrl-0 = <&sleep3>;
1295
1296 sleep3: sleep-states {
1297 PIN_SLP(gpv0-0, INPUT, DOWN);
1298 PIN_SLP(gpv0-1, INPUT, DOWN);
1299 PIN_SLP(gpv0-2, INPUT, DOWN);
1300 PIN_SLP(gpv0-3, INPUT, DOWN);
1301 PIN_SLP(gpv0-4, INPUT, DOWN);
1302 PIN_SLP(gpv0-5, INPUT, DOWN);
1303 PIN_SLP(gpv0-6, INPUT, DOWN);
1304 PIN_SLP(gpv0-7, INPUT, DOWN);
1305
1306 PIN_SLP(gpv1-0, INPUT, DOWN);
1307 PIN_SLP(gpv1-1, INPUT, DOWN);
1308 PIN_SLP(gpv1-2, INPUT, DOWN);
1309 PIN_SLP(gpv1-3, INPUT, DOWN);
1310 PIN_SLP(gpv1-4, INPUT, DOWN);
1311 PIN_SLP(gpv1-5, INPUT, DOWN);
1312 PIN_SLP(gpv1-6, INPUT, DOWN);
1313 PIN_SLP(gpv1-7, INPUT, DOWN);
1314
1315 PIN_SLP(gpv2-0, INPUT, DOWN);
1316 PIN_SLP(gpv2-1, INPUT, DOWN);
1317 PIN_SLP(gpv2-2, INPUT, DOWN);
1318 PIN_SLP(gpv2-3, INPUT, DOWN);
1319 PIN_SLP(gpv2-4, INPUT, DOWN);
1320 PIN_SLP(gpv2-5, INPUT, DOWN);
1321 PIN_SLP(gpv2-6, INPUT, DOWN);
1322 PIN_SLP(gpv2-7, INPUT, DOWN);
1323
1324 PIN_SLP(gpv3-0, INPUT, DOWN);
1325 PIN_SLP(gpv3-1, INPUT, DOWN);
1326 PIN_SLP(gpv3-2, INPUT, DOWN);
1327 PIN_SLP(gpv3-3, INPUT, DOWN);
1328 PIN_SLP(gpv3-4, INPUT, DOWN);
1329 PIN_SLP(gpv3-5, INPUT, DOWN);
1330 PIN_SLP(gpv3-6, INPUT, DOWN);
1331 PIN_SLP(gpv3-7, INPUT, DOWN);
1332
1333 PIN_SLP(gpv4-0, INPUT, DOWN);
1334 };
1335};
1336
1337&pwm {
1338 pinctrl-0 = <&pwm0_out>;
1339 pinctrl-names = "default";
1340 samsung,pwm-outputs = <0>;
1341 status = "okay";
1342};
1343
1344&rtc {
1345 status = "okay";
1346 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1347 clock-names = "rtc", "rtc_src";
1348};
1349
1350&sdhci_2 {
1351 bus-width = <4>;
1352 cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
1353 cd-inverted;
1354 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
1355 pinctrl-names = "default";
1356 vmmc-supply = <&ldo21_reg>;
1357 status = "okay";
1358};
1359
1360&sdhci_3 {
1361 #address-cells = <1>;
1362 #size-cells = <0>;
1363 non-removable;
1364 bus-width = <4>;
1365
1366 mmc-pwrseq = <&wlan_pwrseq>;
1367 pinctrl-names = "default";
1368 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1369 status = "okay";
1370
1371 brcmf: wifi@1 {
1372 reg = <1>;
1373 compatible = "brcm,bcm4329-fmac";
1374 interrupt-parent = <&gpx2>;
1375 interrupts = <5 IRQ_TYPE_NONE>;
1376 interrupt-names = "host-wake";
1377 };
1378};
1379
1380&serial_0 {
1381 status = "okay";
1382};
1383
1384&serial_1 {
1385 status = "okay";
1386};
1387
1388&serial_2 {
1389 status = "okay";
1390};
1391
1392&serial_3 {
1393 status = "okay";
1394};
1395
1396&spi_1 {
1397 pinctrl-names = "default";
1398 pinctrl-0 = <&spi1_bus>;
1399 cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
1400 status = "okay";
1401
1402 s5c73m3_spi: s5c73m3@0 {
1403 compatible = "samsung,s5c73m3";
1404 spi-max-frequency = <50000000>;
1405 reg = <0>;
1406 controller-data {
1407 samsung,spi-feedback-delay = <2>;
1408 };
1409 };
1410};
1411
1412&tmu {
1413 vtmu-supply = <&ldo10_reg>;
1414 status = "okay";
1415};
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi
index e4ad2fc0329e..2ae1ab602f4b 100644
--- a/arch/arm/boot/dts/exynos4412.dtsi
+++ b/arch/arm/boot/dts/exynos4412.dtsi
@@ -15,7 +15,7 @@
15 */ 15 */
16 16
17#include "exynos4.dtsi" 17#include "exynos4.dtsi"
18#include "exynos4412-pinctrl.dtsi" 18
19#include "exynos4-cpu-thermal.dtsi" 19#include "exynos4-cpu-thermal.dtsi"
20 20
21/ { 21/ {
@@ -42,8 +42,6 @@
42 clocks = <&clock CLK_ARM_CLK>; 42 clocks = <&clock CLK_ARM_CLK>;
43 clock-names = "cpu"; 43 clock-names = "cpu";
44 operating-points-v2 = <&cpu0_opp_table>; 44 operating-points-v2 = <&cpu0_opp_table>;
45 cooling-min-level = <13>;
46 cooling-max-level = <7>;
47 #cooling-cells = <2>; /* min followed by max */ 45 #cooling-cells = <2>; /* min followed by max */
48 }; 46 };
49 47
@@ -147,463 +145,410 @@
147 }; 145 };
148 }; 146 };
149 147
150 sysram@2020000 {
151 compatible = "mmio-sram";
152 reg = <0x02020000 0x40000>;
153 #address-cells = <1>;
154 #size-cells = <1>;
155 ranges = <0 0x02020000 0x40000>;
156 148
157 smp-sysram@0 { 149 soc: soc {
158 compatible = "samsung,exynos4210-sysram";
159 reg = <0x0 0x1000>;
160 };
161 150
162 smp-sysram@2f000 { 151 pinctrl_0: pinctrl@11400000 {
163 compatible = "samsung,exynos4210-sysram-ns"; 152 compatible = "samsung,exynos4x12-pinctrl";
164 reg = <0x2f000 0x1000>; 153 reg = <0x11400000 0x1000>;
154 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
165 }; 155 };
166 };
167
168 pd_isp: isp-power-domain@10023ca0 {
169 compatible = "samsung,exynos4210-pd";
170 reg = <0x10023CA0 0x20>;
171 #power-domain-cells = <0>;
172 label = "ISP";
173 };
174
175 l2c: l2-cache-controller@10502000 {
176 compatible = "arm,pl310-cache";
177 reg = <0x10502000 0x1000>;
178 cache-unified;
179 cache-level = <2>;
180 arm,tag-latency = <2 2 1>;
181 arm,data-latency = <3 2 1>;
182 arm,double-linefill = <1>;
183 arm,double-linefill-incr = <0>;
184 arm,double-linefill-wrap = <1>;
185 arm,prefetch-drop = <1>;
186 arm,prefetch-offset = <7>;
187 };
188 156
189 clock: clock-controller@10030000 { 157 pinctrl_1: pinctrl@11000000 {
190 compatible = "samsung,exynos4412-clock"; 158 compatible = "samsung,exynos4x12-pinctrl";
191 reg = <0x10030000 0x18000>; 159 reg = <0x11000000 0x1000>;
192 #clock-cells = <1>; 160 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
193 };
194
195 isp_clock: clock-controller@10048000 {
196 compatible = "samsung,exynos4412-isp-clock";
197 reg = <0x10048000 0x1000>;
198 #clock-cells = <1>;
199 power-domains = <&pd_isp>;
200 clocks = <&clock CLK_ACLK200>, <&clock CLK_ACLK400_MCUISP>;
201 clock-names = "aclk200", "aclk400_mcuisp";
202 };
203 161
204 mct@10050000 { 162 wakup_eint: wakeup-interrupt-controller {
205 compatible = "samsung,exynos4412-mct"; 163 compatible = "samsung,exynos4210-wakeup-eint";
206 reg = <0x10050000 0x800>; 164 interrupt-parent = <&gic>;
207 interrupt-parent = <&mct_map>; 165 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
208 interrupts = <0>, <1>, <2>, <3>, <4>; 166 };
209 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
210 clock-names = "fin_pll", "mct";
211
212 mct_map: mct-map {
213 #interrupt-cells = <1>;
214 #address-cells = <0>;
215 #size-cells = <0>;
216 interrupt-map = <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
217 <1 &combiner 12 5>,
218 <2 &combiner 12 6>,
219 <3 &combiner 12 7>,
220 <4 &gic 1 12 IRQ_TYPE_LEVEL_HIGH>;
221 }; 167 };
222 };
223
224 watchdog: watchdog@10060000 {
225 compatible = "samsung,exynos5250-wdt";
226 reg = <0x10060000 0x100>;
227 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
228 clocks = <&clock CLK_WDT>;
229 clock-names = "watchdog";
230 samsung,syscon-phandle = <&pmu_system_controller>;
231 };
232
233 adc: adc@126c0000 {
234 compatible = "samsung,exynos-adc-v1";
235 reg = <0x126C0000 0x100>;
236 interrupt-parent = <&combiner>;
237 interrupts = <10 3>;
238 clocks = <&clock CLK_TSADC>;
239 clock-names = "adc";
240 #io-channel-cells = <1>;
241 io-channel-ranges;
242 samsung,syscon-phandle = <&pmu_system_controller>;
243 status = "disabled";
244 };
245
246 g2d: g2d@10800000 {
247 compatible = "samsung,exynos4212-g2d";
248 reg = <0x10800000 0x1000>;
249 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
250 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
251 clock-names = "sclk_fimg2d", "fimg2d";
252 iommus = <&sysmmu_g2d>;
253 };
254
255 camera {
256 clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
257 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
258 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
259 168
260 /* fimc_[0-3] are configured outside, under phandles */ 169 pinctrl_2: pinctrl@3860000 {
261 fimc_lite_0: fimc-lite@12390000 { 170 compatible = "samsung,exynos4x12-pinctrl";
262 compatible = "samsung,exynos4212-fimc-lite"; 171 reg = <0x03860000 0x1000>;
263 reg = <0x12390000 0x1000>; 172 interrupt-parent = <&combiner>;
264 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 173 interrupts = <10 0>;
265 power-domains = <&pd_isp>;
266 clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
267 clock-names = "flite";
268 iommus = <&sysmmu_fimc_lite0>;
269 status = "disabled";
270 }; 174 };
271 175
272 fimc_lite_1: fimc-lite@123a0000 { 176 pinctrl_3: pinctrl@106e0000 {
273 compatible = "samsung,exynos4212-fimc-lite"; 177 compatible = "samsung,exynos4x12-pinctrl";
274 reg = <0x123A0000 0x1000>; 178 reg = <0x106E0000 0x1000>;
275 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 179 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
276 power-domains = <&pd_isp>;
277 clocks = <&isp_clock CLK_ISP_FIMC_LITE1>;
278 clock-names = "flite";
279 iommus = <&sysmmu_fimc_lite1>;
280 status = "disabled";
281 }; 180 };
282 181
283 fimc_is: fimc-is@12000000 { 182 sysram@2020000 {
284 compatible = "samsung,exynos4212-fimc-is"; 183 compatible = "mmio-sram";
285 reg = <0x12000000 0x260000>; 184 reg = <0x02020000 0x40000>;
286 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
287 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
288 power-domains = <&pd_isp>;
289 clocks = <&isp_clock CLK_ISP_FIMC_LITE0>,
290 <&isp_clock CLK_ISP_FIMC_LITE1>,
291 <&isp_clock CLK_ISP_PPMUISPX>,
292 <&isp_clock CLK_ISP_PPMUISPMX>,
293 <&isp_clock CLK_ISP_FIMC_ISP>,
294 <&isp_clock CLK_ISP_FIMC_DRC>,
295 <&isp_clock CLK_ISP_FIMC_FD>,
296 <&isp_clock CLK_ISP_MCUISP>,
297 <&isp_clock CLK_ISP_GICISP>,
298 <&isp_clock CLK_ISP_MCUCTL_ISP>,
299 <&isp_clock CLK_ISP_PWM_ISP>,
300 <&isp_clock CLK_ISP_DIV_ISP0>,
301 <&isp_clock CLK_ISP_DIV_ISP1>,
302 <&isp_clock CLK_ISP_DIV_MCUISP0>,
303 <&isp_clock CLK_ISP_DIV_MCUISP1>,
304 <&clock CLK_MOUT_MPLL_USER_T>,
305 <&clock CLK_ACLK200>,
306 <&clock CLK_ACLK400_MCUISP>,
307 <&clock CLK_DIV_ACLK200>,
308 <&clock CLK_DIV_ACLK400_MCUISP>,
309 <&clock CLK_UART_ISP_SCLK>;
310 clock-names = "lite0", "lite1", "ppmuispx",
311 "ppmuispmx", "isp",
312 "drc", "fd", "mcuisp",
313 "gicisp", "mcuctl_isp", "pwm_isp",
314 "ispdiv0", "ispdiv1", "mcuispdiv0",
315 "mcuispdiv1", "mpll", "aclk200",
316 "aclk400mcuisp", "div_aclk200",
317 "div_aclk400mcuisp", "uart";
318 iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
319 <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
320 iommu-names = "isp", "drc", "fd", "mcuctl";
321 #address-cells = <1>; 185 #address-cells = <1>;
322 #size-cells = <1>; 186 #size-cells = <1>;
323 ranges; 187 ranges = <0 0x02020000 0x40000>;
324 status = "disabled";
325 188
326 pmu@10020000 { 189 smp-sysram@0 {
327 reg = <0x10020000 0x3000>; 190 compatible = "samsung,exynos4210-sysram";
191 reg = <0x0 0x1000>;
328 }; 192 };
329 193
330 i2c1_isp: i2c-isp@12140000 { 194 smp-sysram@2f000 {
331 compatible = "samsung,exynos4212-i2c-isp"; 195 compatible = "samsung,exynos4210-sysram-ns";
332 reg = <0x12140000 0x100>; 196 reg = <0x2f000 0x1000>;
333 clocks = <&isp_clock CLK_ISP_I2C1_ISP>;
334 clock-names = "i2c_isp";
335 #address-cells = <1>;
336 #size-cells = <0>;
337 }; 197 };
338 }; 198 };
339 };
340
341 mshc_0: mmc@12550000 {
342 compatible = "samsung,exynos4412-dw-mshc";
343 reg = <0x12550000 0x1000>;
344 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
345 #address-cells = <1>;
346 #size-cells = <0>;
347 fifo-depth = <0x80>;
348 clocks = <&clock CLK_SDMMC4>, <&clock CLK_SCLK_MMC4>;
349 clock-names = "biu", "ciu";
350 status = "disabled";
351 };
352
353 sysmmu_g2d: sysmmu@10A40000{
354 compatible = "samsung,exynos-sysmmu";
355 reg = <0x10A40000 0x1000>;
356 interrupt-parent = <&combiner>;
357 interrupts = <4 7>;
358 clock-names = "sysmmu", "master";
359 clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
360 #iommu-cells = <0>;
361 };
362
363 sysmmu_fimc_isp: sysmmu@12260000 {
364 compatible = "samsung,exynos-sysmmu";
365 reg = <0x12260000 0x1000>;
366 interrupt-parent = <&combiner>;
367 interrupts = <16 2>;
368 power-domains = <&pd_isp>;
369 clock-names = "sysmmu";
370 clocks = <&isp_clock CLK_ISP_SMMU_ISP>;
371 #iommu-cells = <0>;
372 };
373
374 sysmmu_fimc_drc: sysmmu@12270000 {
375 compatible = "samsung,exynos-sysmmu";
376 reg = <0x12270000 0x1000>;
377 interrupt-parent = <&combiner>;
378 interrupts = <16 3>;
379 power-domains = <&pd_isp>;
380 clock-names = "sysmmu";
381 clocks = <&isp_clock CLK_ISP_SMMU_DRC>;
382 #iommu-cells = <0>;
383 };
384
385 sysmmu_fimc_fd: sysmmu@122a0000 {
386 compatible = "samsung,exynos-sysmmu";
387 reg = <0x122A0000 0x1000>;
388 interrupt-parent = <&combiner>;
389 interrupts = <16 4>;
390 power-domains = <&pd_isp>;
391 clock-names = "sysmmu";
392 clocks = <&isp_clock CLK_ISP_SMMU_FD>;
393 #iommu-cells = <0>;
394 };
395
396 sysmmu_fimc_mcuctl: sysmmu@122b0000 {
397 compatible = "samsung,exynos-sysmmu";
398 reg = <0x122B0000 0x1000>;
399 interrupt-parent = <&combiner>;
400 interrupts = <16 5>;
401 power-domains = <&pd_isp>;
402 clock-names = "sysmmu";
403 clocks = <&isp_clock CLK_ISP_SMMU_ISPCX>;
404 #iommu-cells = <0>;
405 };
406 199
407 sysmmu_fimc_lite0: sysmmu@123b0000 { 200 pd_isp: isp-power-domain@10023ca0 {
408 compatible = "samsung,exynos-sysmmu"; 201 compatible = "samsung,exynos4210-pd";
409 reg = <0x123B0000 0x1000>; 202 reg = <0x10023CA0 0x20>;
410 interrupt-parent = <&combiner>; 203 #power-domain-cells = <0>;
411 interrupts = <16 0>; 204 label = "ISP";
412 power-domains = <&pd_isp>; 205 };
413 clock-names = "sysmmu", "master";
414 clocks = <&isp_clock CLK_ISP_SMMU_LITE0>,
415 <&isp_clock CLK_ISP_FIMC_LITE0>;
416 #iommu-cells = <0>;
417 };
418 206
419 sysmmu_fimc_lite1: sysmmu@123c0000 { 207 l2c: l2-cache-controller@10502000 {
420 compatible = "samsung,exynos-sysmmu"; 208 compatible = "arm,pl310-cache";
421 reg = <0x123C0000 0x1000>; 209 reg = <0x10502000 0x1000>;
422 interrupt-parent = <&combiner>; 210 cache-unified;
423 interrupts = <16 1>; 211 cache-level = <2>;
424 power-domains = <&pd_isp>; 212 arm,tag-latency = <2 2 1>;
425 clock-names = "sysmmu", "master"; 213 arm,data-latency = <3 2 1>;
426 clocks = <&isp_clock CLK_ISP_SMMU_LITE1>, 214 arm,double-linefill = <1>;
427 <&isp_clock CLK_ISP_FIMC_LITE1>; 215 arm,double-linefill-incr = <0>;
428 #iommu-cells = <0>; 216 arm,double-linefill-wrap = <1>;
429 }; 217 arm,prefetch-drop = <1>;
218 arm,prefetch-offset = <7>;
219 };
430 220
431 bus_dmc: bus_dmc { 221 clock: clock-controller@10030000 {
432 compatible = "samsung,exynos-bus"; 222 compatible = "samsung,exynos4412-clock";
433 clocks = <&clock CLK_DIV_DMC>; 223 reg = <0x10030000 0x18000>;
434 clock-names = "bus"; 224 #clock-cells = <1>;
435 operating-points-v2 = <&bus_dmc_opp_table>; 225 };
436 status = "disabled";
437 };
438 226
439 bus_acp: bus_acp { 227 isp_clock: clock-controller@10048000 {
440 compatible = "samsung,exynos-bus"; 228 compatible = "samsung,exynos4412-isp-clock";
441 clocks = <&clock CLK_DIV_ACP>; 229 reg = <0x10048000 0x1000>;
442 clock-names = "bus"; 230 #clock-cells = <1>;
443 operating-points-v2 = <&bus_acp_opp_table>; 231 power-domains = <&pd_isp>;
444 status = "disabled"; 232 clocks = <&clock CLK_ACLK200>,
445 }; 233 <&clock CLK_ACLK400_MCUISP>;
234 clock-names = "aclk200", "aclk400_mcuisp";
235 };
236
237 mct@10050000 {
238 compatible = "samsung,exynos4412-mct";
239 reg = <0x10050000 0x800>;
240 interrupt-parent = <&mct_map>;
241 interrupts = <0>, <1>, <2>, <3>, <4>;
242 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
243 clock-names = "fin_pll", "mct";
244
245 mct_map: mct-map {
246 #interrupt-cells = <1>;
247 #address-cells = <0>;
248 #size-cells = <0>;
249 interrupt-map =
250 <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
251 <1 &combiner 12 5>,
252 <2 &combiner 12 6>,
253 <3 &combiner 12 7>,
254 <4 &gic 1 12 IRQ_TYPE_LEVEL_HIGH>;
255 };
256 };
446 257
447 bus_c2c: bus_c2c { 258 watchdog: watchdog@10060000 {
448 compatible = "samsung,exynos-bus"; 259 compatible = "samsung,exynos5250-wdt";
449 clocks = <&clock CLK_DIV_C2C>; 260 reg = <0x10060000 0x100>;
450 clock-names = "bus"; 261 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
451 operating-points-v2 = <&bus_dmc_opp_table>; 262 clocks = <&clock CLK_WDT>;
452 status = "disabled"; 263 clock-names = "watchdog";
453 }; 264 samsung,syscon-phandle = <&pmu_system_controller>;
265 };
266
267 adc: adc@126c0000 {
268 compatible = "samsung,exynos-adc-v1";
269 reg = <0x126C0000 0x100>;
270 interrupt-parent = <&combiner>;
271 interrupts = <10 3>;
272 clocks = <&clock CLK_TSADC>;
273 clock-names = "adc";
274 #io-channel-cells = <1>;
275 io-channel-ranges;
276 samsung,syscon-phandle = <&pmu_system_controller>;
277 status = "disabled";
278 };
454 279
455 bus_dmc_opp_table: opp_table1 { 280 g2d: g2d@10800000 {
456 compatible = "operating-points-v2"; 281 compatible = "samsung,exynos4212-g2d";
457 opp-shared; 282 reg = <0x10800000 0x1000>;
283 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
284 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
285 clock-names = "sclk_fimg2d", "fimg2d";
286 iommus = <&sysmmu_g2d>;
287 };
458 288
459 opp-100000000 { 289 mshc_0: mmc@12550000 {
460 opp-hz = /bits/ 64 <100000000>; 290 compatible = "samsung,exynos4412-dw-mshc";
461 opp-microvolt = <900000>; 291 reg = <0x12550000 0x1000>;
292 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
293 #address-cells = <1>;
294 #size-cells = <0>;
295 fifo-depth = <0x80>;
296 clocks = <&clock CLK_SDMMC4>, <&clock CLK_SCLK_MMC4>;
297 clock-names = "biu", "ciu";
298 status = "disabled";
462 }; 299 };
463 opp-134000000 { 300
464 opp-hz = /bits/ 64 <134000000>; 301 sysmmu_g2d: sysmmu@10A40000{
465 opp-microvolt = <900000>; 302 compatible = "samsung,exynos-sysmmu";
303 reg = <0x10A40000 0x1000>;
304 interrupt-parent = <&combiner>;
305 interrupts = <4 7>;
306 clock-names = "sysmmu", "master";
307 clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
308 #iommu-cells = <0>;
466 }; 309 };
467 opp-160000000 { 310
468 opp-hz = /bits/ 64 <160000000>; 311 sysmmu_fimc_isp: sysmmu@12260000 {
469 opp-microvolt = <900000>; 312 compatible = "samsung,exynos-sysmmu";
313 reg = <0x12260000 0x1000>;
314 interrupt-parent = <&combiner>;
315 interrupts = <16 2>;
316 power-domains = <&pd_isp>;
317 clock-names = "sysmmu";
318 clocks = <&isp_clock CLK_ISP_SMMU_ISP>;
319 #iommu-cells = <0>;
470 }; 320 };
471 opp-267000000 { 321
472 opp-hz = /bits/ 64 <267000000>; 322 sysmmu_fimc_drc: sysmmu@12270000 {
473 opp-microvolt = <950000>; 323 compatible = "samsung,exynos-sysmmu";
324 reg = <0x12270000 0x1000>;
325 interrupt-parent = <&combiner>;
326 interrupts = <16 3>;
327 power-domains = <&pd_isp>;
328 clock-names = "sysmmu";
329 clocks = <&isp_clock CLK_ISP_SMMU_DRC>;
330 #iommu-cells = <0>;
474 }; 331 };
475 opp-400000000 { 332
476 opp-hz = /bits/ 64 <400000000>; 333 sysmmu_fimc_fd: sysmmu@122a0000 {
477 opp-microvolt = <1050000>; 334 compatible = "samsung,exynos-sysmmu";
335 reg = <0x122A0000 0x1000>;
336 interrupt-parent = <&combiner>;
337 interrupts = <16 4>;
338 power-domains = <&pd_isp>;
339 clock-names = "sysmmu";
340 clocks = <&isp_clock CLK_ISP_SMMU_FD>;
341 #iommu-cells = <0>;
478 }; 342 };
479 };
480 343
481 bus_acp_opp_table: opp_table2 { 344 sysmmu_fimc_mcuctl: sysmmu@122b0000 {
482 compatible = "operating-points-v2"; 345 compatible = "samsung,exynos-sysmmu";
483 opp-shared; 346 reg = <0x122B0000 0x1000>;
347 interrupt-parent = <&combiner>;
348 interrupts = <16 5>;
349 power-domains = <&pd_isp>;
350 clock-names = "sysmmu";
351 clocks = <&isp_clock CLK_ISP_SMMU_ISPCX>;
352 #iommu-cells = <0>;
353 };
484 354
485 opp-100000000 { 355 sysmmu_fimc_lite0: sysmmu@123b0000 {
486 opp-hz = /bits/ 64 <100000000>; 356 compatible = "samsung,exynos-sysmmu";
357 reg = <0x123B0000 0x1000>;
358 interrupt-parent = <&combiner>;
359 interrupts = <16 0>;
360 power-domains = <&pd_isp>;
361 clock-names = "sysmmu", "master";
362 clocks = <&isp_clock CLK_ISP_SMMU_LITE0>,
363 <&isp_clock CLK_ISP_FIMC_LITE0>;
364 #iommu-cells = <0>;
487 }; 365 };
488 opp-134000000 { 366
489 opp-hz = /bits/ 64 <134000000>; 367 sysmmu_fimc_lite1: sysmmu@123c0000 {
368 compatible = "samsung,exynos-sysmmu";
369 reg = <0x123C0000 0x1000>;
370 interrupt-parent = <&combiner>;
371 interrupts = <16 1>;
372 power-domains = <&pd_isp>;
373 clock-names = "sysmmu", "master";
374 clocks = <&isp_clock CLK_ISP_SMMU_LITE1>,
375 <&isp_clock CLK_ISP_FIMC_LITE1>;
376 #iommu-cells = <0>;
490 }; 377 };
491 opp-160000000 { 378
492 opp-hz = /bits/ 64 <160000000>; 379 bus_dmc: bus_dmc {
380 compatible = "samsung,exynos-bus";
381 clocks = <&clock CLK_DIV_DMC>;
382 clock-names = "bus";
383 operating-points-v2 = <&bus_dmc_opp_table>;
384 status = "disabled";
493 }; 385 };
494 opp-267000000 { 386
495 opp-hz = /bits/ 64 <267000000>; 387 bus_acp: bus_acp {
388 compatible = "samsung,exynos-bus";
389 clocks = <&clock CLK_DIV_ACP>;
390 clock-names = "bus";
391 operating-points-v2 = <&bus_acp_opp_table>;
392 status = "disabled";
496 }; 393 };
497 };
498 394
499 bus_leftbus: bus_leftbus { 395 bus_c2c: bus_c2c {
500 compatible = "samsung,exynos-bus"; 396 compatible = "samsung,exynos-bus";
501 clocks = <&clock CLK_DIV_GDL>; 397 clocks = <&clock CLK_DIV_C2C>;
502 clock-names = "bus"; 398 clock-names = "bus";
503 operating-points-v2 = <&bus_leftbus_opp_table>; 399 operating-points-v2 = <&bus_dmc_opp_table>;
504 status = "disabled"; 400 status = "disabled";
505 }; 401 };
506 402
507 bus_rightbus: bus_rightbus { 403 bus_dmc_opp_table: opp_table1 {
508 compatible = "samsung,exynos-bus"; 404 compatible = "operating-points-v2";
509 clocks = <&clock CLK_DIV_GDR>; 405 opp-shared;
510 clock-names = "bus";
511 operating-points-v2 = <&bus_leftbus_opp_table>;
512 status = "disabled";
513 };
514 406
515 bus_display: bus_display { 407 opp-100000000 {
516 compatible = "samsung,exynos-bus"; 408 opp-hz = /bits/ 64 <100000000>;
517 clocks = <&clock CLK_ACLK160>; 409 opp-microvolt = <900000>;
518 clock-names = "bus"; 410 };
519 operating-points-v2 = <&bus_display_opp_table>; 411 opp-134000000 {
520 status = "disabled"; 412 opp-hz = /bits/ 64 <134000000>;
521 }; 413 opp-microvolt = <900000>;
414 };
415 opp-160000000 {
416 opp-hz = /bits/ 64 <160000000>;
417 opp-microvolt = <900000>;
418 };
419 opp-267000000 {
420 opp-hz = /bits/ 64 <267000000>;
421 opp-microvolt = <950000>;
422 };
423 opp-400000000 {
424 opp-hz = /bits/ 64 <400000000>;
425 opp-microvolt = <1050000>;
426 };
427 };
522 428
523 bus_fsys: bus_fsys { 429 bus_acp_opp_table: opp_table2 {
524 compatible = "samsung,exynos-bus"; 430 compatible = "operating-points-v2";
525 clocks = <&clock CLK_ACLK133>; 431 opp-shared;
526 clock-names = "bus";
527 operating-points-v2 = <&bus_fsys_opp_table>;
528 status = "disabled";
529 };
530 432
531 bus_peri: bus_peri { 433 opp-100000000 {
532 compatible = "samsung,exynos-bus"; 434 opp-hz = /bits/ 64 <100000000>;
533 clocks = <&clock CLK_ACLK100>; 435 };
534 clock-names = "bus"; 436 opp-134000000 {
535 operating-points-v2 = <&bus_peri_opp_table>; 437 opp-hz = /bits/ 64 <134000000>;
536 status = "disabled"; 438 };
537 }; 439 opp-160000000 {
440 opp-hz = /bits/ 64 <160000000>;
441 };
442 opp-267000000 {
443 opp-hz = /bits/ 64 <267000000>;
444 };
445 };
538 446
539 bus_mfc: bus_mfc { 447 bus_leftbus: bus_leftbus {
540 compatible = "samsung,exynos-bus"; 448 compatible = "samsung,exynos-bus";
541 clocks = <&clock CLK_SCLK_MFC>; 449 clocks = <&clock CLK_DIV_GDL>;
542 clock-names = "bus"; 450 clock-names = "bus";
543 operating-points-v2 = <&bus_leftbus_opp_table>; 451 operating-points-v2 = <&bus_leftbus_opp_table>;
544 status = "disabled"; 452 status = "disabled";
545 }; 453 };
546 454
547 bus_leftbus_opp_table: opp_table3 { 455 bus_rightbus: bus_rightbus {
548 compatible = "operating-points-v2"; 456 compatible = "samsung,exynos-bus";
549 opp-shared; 457 clocks = <&clock CLK_DIV_GDR>;
458 clock-names = "bus";
459 operating-points-v2 = <&bus_leftbus_opp_table>;
460 status = "disabled";
461 };
550 462
551 opp-100000000 { 463 bus_display: bus_display {
552 opp-hz = /bits/ 64 <100000000>; 464 compatible = "samsung,exynos-bus";
553 opp-microvolt = <900000>; 465 clocks = <&clock CLK_ACLK160>;
466 clock-names = "bus";
467 operating-points-v2 = <&bus_display_opp_table>;
468 status = "disabled";
554 }; 469 };
555 opp-134000000 { 470
556 opp-hz = /bits/ 64 <134000000>; 471 bus_fsys: bus_fsys {
557 opp-microvolt = <925000>; 472 compatible = "samsung,exynos-bus";
473 clocks = <&clock CLK_ACLK133>;
474 clock-names = "bus";
475 operating-points-v2 = <&bus_fsys_opp_table>;
476 status = "disabled";
558 }; 477 };
559 opp-160000000 { 478
560 opp-hz = /bits/ 64 <160000000>; 479 bus_peri: bus_peri {
561 opp-microvolt = <950000>; 480 compatible = "samsung,exynos-bus";
481 clocks = <&clock CLK_ACLK100>;
482 clock-names = "bus";
483 operating-points-v2 = <&bus_peri_opp_table>;
484 status = "disabled";
562 }; 485 };
563 opp-200000000 { 486
564 opp-hz = /bits/ 64 <200000000>; 487 bus_mfc: bus_mfc {
565 opp-microvolt = <1000000>; 488 compatible = "samsung,exynos-bus";
489 clocks = <&clock CLK_SCLK_MFC>;
490 clock-names = "bus";
491 operating-points-v2 = <&bus_leftbus_opp_table>;
492 status = "disabled";
566 }; 493 };
567 };
568 494
569 bus_display_opp_table: opp_table4 { 495 bus_leftbus_opp_table: opp_table3 {
570 compatible = "operating-points-v2"; 496 compatible = "operating-points-v2";
571 opp-shared; 497 opp-shared;
572 498
573 opp-160000000 { 499 opp-100000000 {
574 opp-hz = /bits/ 64 <160000000>; 500 opp-hz = /bits/ 64 <100000000>;
575 }; 501 opp-microvolt = <900000>;
576 opp-200000000 { 502 };
577 opp-hz = /bits/ 64 <200000000>; 503 opp-134000000 {
504 opp-hz = /bits/ 64 <134000000>;
505 opp-microvolt = <925000>;
506 };
507 opp-160000000 {
508 opp-hz = /bits/ 64 <160000000>;
509 opp-microvolt = <950000>;
510 };
511 opp-200000000 {
512 opp-hz = /bits/ 64 <200000000>;
513 opp-microvolt = <1000000>;
514 };
578 }; 515 };
579 };
580 516
581 bus_fsys_opp_table: opp_table5 { 517 bus_display_opp_table: opp_table4 {
582 compatible = "operating-points-v2"; 518 compatible = "operating-points-v2";
583 opp-shared; 519 opp-shared;
584 520
585 opp-100000000 { 521 opp-160000000 {
586 opp-hz = /bits/ 64 <100000000>; 522 opp-hz = /bits/ 64 <160000000>;
587 }; 523 };
588 opp-134000000 { 524 opp-200000000 {
589 opp-hz = /bits/ 64 <134000000>; 525 opp-hz = /bits/ 64 <200000000>;
526 };
590 }; 527 };
591 };
592 528
593 bus_peri_opp_table: opp_table6 { 529 bus_fsys_opp_table: opp_table5 {
594 compatible = "operating-points-v2"; 530 compatible = "operating-points-v2";
595 opp-shared; 531 opp-shared;
596 532
597 opp-50000000 { 533 opp-100000000 {
598 opp-hz = /bits/ 64 <50000000>; 534 opp-hz = /bits/ 64 <100000000>;
599 }; 535 };
600 opp-100000000 { 536 opp-134000000 {
601 opp-hz = /bits/ 64 <100000000>; 537 opp-hz = /bits/ 64 <134000000>;
538 };
602 }; 539 };
603 };
604 540
605 pmu { 541 bus_peri_opp_table: opp_table6 {
606 interrupts = <2 2>, <3 2>, <18 2>, <19 2>; 542 compatible = "operating-points-v2";
543 opp-shared;
544
545 opp-50000000 {
546 opp-hz = /bits/ 64 <50000000>;
547 };
548 opp-100000000 {
549 opp-hz = /bits/ 64 <100000000>;
550 };
551 };
607 }; 552 };
608}; 553};
609 554
@@ -631,6 +576,92 @@
631 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 576 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
632}; 577};
633 578
579&camera {
580 clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
581 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
582 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
583
584 /* fimc_[0-3] are configured outside, under phandles */
585 fimc_lite_0: fimc-lite@12390000 {
586 compatible = "samsung,exynos4212-fimc-lite";
587 reg = <0x12390000 0x1000>;
588 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
589 power-domains = <&pd_isp>;
590 clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
591 clock-names = "flite";
592 iommus = <&sysmmu_fimc_lite0>;
593 status = "disabled";
594 };
595
596 fimc_lite_1: fimc-lite@123a0000 {
597 compatible = "samsung,exynos4212-fimc-lite";
598 reg = <0x123A0000 0x1000>;
599 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
600 power-domains = <&pd_isp>;
601 clocks = <&isp_clock CLK_ISP_FIMC_LITE1>;
602 clock-names = "flite";
603 iommus = <&sysmmu_fimc_lite1>;
604 status = "disabled";
605 };
606
607 fimc_is: fimc-is@12000000 {
608 compatible = "samsung,exynos4212-fimc-is";
609 reg = <0x12000000 0x260000>;
610 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
611 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
612 power-domains = <&pd_isp>;
613 clocks = <&isp_clock CLK_ISP_FIMC_LITE0>,
614 <&isp_clock CLK_ISP_FIMC_LITE1>,
615 <&isp_clock CLK_ISP_PPMUISPX>,
616 <&isp_clock CLK_ISP_PPMUISPMX>,
617 <&isp_clock CLK_ISP_FIMC_ISP>,
618 <&isp_clock CLK_ISP_FIMC_DRC>,
619 <&isp_clock CLK_ISP_FIMC_FD>,
620 <&isp_clock CLK_ISP_MCUISP>,
621 <&isp_clock CLK_ISP_GICISP>,
622 <&isp_clock CLK_ISP_MCUCTL_ISP>,
623 <&isp_clock CLK_ISP_PWM_ISP>,
624 <&isp_clock CLK_ISP_DIV_ISP0>,
625 <&isp_clock CLK_ISP_DIV_ISP1>,
626 <&isp_clock CLK_ISP_DIV_MCUISP0>,
627 <&isp_clock CLK_ISP_DIV_MCUISP1>,
628 <&clock CLK_MOUT_MPLL_USER_T>,
629 <&clock CLK_ACLK200>,
630 <&clock CLK_ACLK400_MCUISP>,
631 <&clock CLK_DIV_ACLK200>,
632 <&clock CLK_DIV_ACLK400_MCUISP>,
633 <&clock CLK_UART_ISP_SCLK>;
634 clock-names = "lite0", "lite1", "ppmuispx",
635 "ppmuispmx", "isp",
636 "drc", "fd", "mcuisp",
637 "gicisp", "mcuctl_isp", "pwm_isp",
638 "ispdiv0", "ispdiv1", "mcuispdiv0",
639 "mcuispdiv1", "mpll", "aclk200",
640 "aclk400mcuisp", "div_aclk200",
641 "div_aclk400mcuisp", "uart";
642 iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
643 <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
644 iommu-names = "isp", "drc", "fd", "mcuctl";
645 #address-cells = <1>;
646 #size-cells = <1>;
647 ranges;
648 status = "disabled";
649
650 pmu@10020000 {
651 reg = <0x10020000 0x3000>;
652 };
653
654 i2c1_isp: i2c-isp@12140000 {
655 compatible = "samsung,exynos4212-i2c-isp";
656 reg = <0x12140000 0x100>;
657 clocks = <&isp_clock CLK_ISP_I2C1_ISP>;
658 clock-names = "i2c_isp";
659 #address-cells = <1>;
660 #size-cells = <0>;
661 };
662 };
663};
664
634&exynos_usbphy { 665&exynos_usbphy {
635 compatible = "samsung,exynos4x12-usb2-phy"; 666 compatible = "samsung,exynos4x12-usb2-phy";
636 samsung,sysreg-phandle = <&sys_reg>; 667 samsung,sysreg-phandle = <&sys_reg>;
@@ -693,35 +724,8 @@
693 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>; 724 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
694}; 725};
695 726
696&pinctrl_0 { 727&pmu {
697 compatible = "samsung,exynos4x12-pinctrl"; 728 interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
698 reg = <0x11400000 0x1000>;
699 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
700};
701
702&pinctrl_1 {
703 compatible = "samsung,exynos4x12-pinctrl";
704 reg = <0x11000000 0x1000>;
705 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
706
707 wakup_eint: wakeup-interrupt-controller {
708 compatible = "samsung,exynos4210-wakeup-eint";
709 interrupt-parent = <&gic>;
710 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
711 };
712};
713
714&pinctrl_2 {
715 compatible = "samsung,exynos4x12-pinctrl";
716 reg = <0x03860000 0x1000>;
717 interrupt-parent = <&combiner>;
718 interrupts = <10 0>;
719};
720
721&pinctrl_3 {
722 compatible = "samsung,exynos4x12-pinctrl";
723 reg = <0x106E0000 0x1000>;
724 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
725}; 729};
726 730
727&pmu_system_controller { 731&pmu_system_controller {
@@ -743,3 +747,5 @@
743 clock-names = "tmu_apbif"; 747 clock-names = "tmu_apbif";
744 status = "disabled"; 748 status = "disabled";
745}; 749};
750
751#include "exynos4412-pinctrl.dtsi"
diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
index 59cf1b202849..fd9226d3b207 100644
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -9,6 +9,7 @@
9#include <dt-bindings/clock/maxim,max77686.h> 9#include <dt-bindings/clock/maxim,max77686.h>
10#include <dt-bindings/interrupt-controller/irq.h> 10#include <dt-bindings/interrupt-controller/irq.h>
11#include <dt-bindings/input/input.h> 11#include <dt-bindings/input/input.h>
12#include <dt-bindings/sound/samsung-i2s.h>
12#include "exynos5250.dtsi" 13#include "exynos5250.dtsi"
13 14
14/ { 15/ {
@@ -225,6 +226,16 @@
225 }; 226 };
226}; 227};
227 228
229&clock {
230 assigned-clocks = <&clock CLK_FOUT_EPLL>;
231 assigned-clock-rates = <49152000>;
232};
233
234&clock_audss {
235 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
236 assigned-clock-parents = <&clock CLK_FOUT_EPLL>;
237};
238
228&cpu0 { 239&cpu0 {
229 cpu0-supply = <&buck2_reg>; 240 cpu0-supply = <&buck2_reg>;
230}; 241};
@@ -513,6 +524,8 @@
513}; 524};
514 525
515&i2s0 { 526&i2s0 {
527 assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
528 assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
516 status = "okay"; 529 status = "okay";
517}; 530};
518 531
@@ -649,6 +662,11 @@
649 }; 662 };
650}; 663};
651 664
665&pmu_system_controller {
666 assigned-clocks = <&pmu_system_controller 0>;
667 assigned-clock-parents = <&clock CLK_FIN_PLL>;
668};
669
652&rtc { 670&rtc {
653 status = "okay"; 671 status = "okay";
654 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; 672 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index 4827cb506fa3..75fdc5e6d423 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -18,6 +18,14 @@
18 18
19 samsung,model = "Snow-I2S-MAX98095"; 19 samsung,model = "Snow-I2S-MAX98095";
20 samsung,audio-codec = <&max98095>; 20 samsung,audio-codec = <&max98095>;
21
22 cpu {
23 sound-dai = <&i2s0 0>;
24 };
25
26 codec {
27 sound-dai = <&max98095 0>, <&hdmi>;
28 };
21 }; 29 };
22}; 30};
23 31
@@ -27,6 +35,9 @@
27 reg = <0x11>; 35 reg = <0x11>;
28 pinctrl-names = "default"; 36 pinctrl-names = "default";
29 pinctrl-0 = <&max98095_en>; 37 pinctrl-0 = <&max98095_en>;
38 clocks = <&pmu_system_controller 0>;
39 clock-names = "mclk";
40 #sound-dai-cells = <1>;
30 }; 41 };
31}; 42};
32 43
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 56626d1a4235..45283a6c5eee 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -77,8 +77,6 @@
77 300000 937500 77 300000 937500
78 200000 925000 78 200000 925000
79 >; 79 >;
80 cooling-min-level = <15>;
81 cooling-max-level = <9>;
82 #cooling-cells = <2>; /* min followed by max */ 80 #cooling-cells = <2>; /* min followed by max */
83 }; 81 };
84 cpu@1 { 82 cpu@1 {
@@ -500,6 +498,8 @@
500 pinctrl-names = "default"; 498 pinctrl-names = "default";
501 pinctrl-0 = <&i2s0_bus>; 499 pinctrl-0 = <&i2s0_bus>;
502 power-domains = <&pd_mau>; 500 power-domains = <&pd_mau>;
501 #clock-cells = <1>;
502 #sound-dai-cells = <1>;
503 }; 503 };
504 504
505 i2s1: i2s@12d60000 { 505 i2s1: i2s@12d60000 {
@@ -514,6 +514,7 @@
514 pinctrl-names = "default"; 514 pinctrl-names = "default";
515 pinctrl-0 = <&i2s1_bus>; 515 pinctrl-0 = <&i2s1_bus>;
516 power-domains = <&pd_mau>; 516 power-domains = <&pd_mau>;
517 #sound-dai-cells = <1>;
517 }; 518 };
518 519
519 i2s2: i2s@12d70000 { 520 i2s2: i2s@12d70000 {
@@ -528,6 +529,7 @@
528 pinctrl-names = "default"; 529 pinctrl-names = "default";
529 pinctrl-0 = <&i2s2_bus>; 530 pinctrl-0 = <&i2s2_bus>;
530 power-domains = <&pd_mau>; 531 power-domains = <&pd_mau>;
532 #sound-dai-cells = <1>;
531 }; 533 };
532 534
533 usb_dwc3 { 535 usb_dwc3 {
@@ -655,7 +657,7 @@
655 power-domains = <&pd_gsc>; 657 power-domains = <&pd_gsc>;
656 clocks = <&clock CLK_GSCL0>; 658 clocks = <&clock CLK_GSCL0>;
657 clock-names = "gscl"; 659 clock-names = "gscl";
658 iommu = <&sysmmu_gsc0>; 660 iommus = <&sysmmu_gsc0>;
659 }; 661 };
660 662
661 gsc_1: gsc@13e10000 { 663 gsc_1: gsc@13e10000 {
@@ -665,7 +667,7 @@
665 power-domains = <&pd_gsc>; 667 power-domains = <&pd_gsc>;
666 clocks = <&clock CLK_GSCL1>; 668 clocks = <&clock CLK_GSCL1>;
667 clock-names = "gscl"; 669 clock-names = "gscl";
668 iommu = <&sysmmu_gsc1>; 670 iommus = <&sysmmu_gsc1>;
669 }; 671 };
670 672
671 gsc_2: gsc@13e20000 { 673 gsc_2: gsc@13e20000 {
@@ -675,7 +677,7 @@
675 power-domains = <&pd_gsc>; 677 power-domains = <&pd_gsc>;
676 clocks = <&clock CLK_GSCL2>; 678 clocks = <&clock CLK_GSCL2>;
677 clock-names = "gscl"; 679 clock-names = "gscl";
678 iommu = <&sysmmu_gsc2>; 680 iommus = <&sysmmu_gsc2>;
679 }; 681 };
680 682
681 gsc_3: gsc@13e30000 { 683 gsc_3: gsc@13e30000 {
@@ -685,7 +687,7 @@
685 power-domains = <&pd_gsc>; 687 power-domains = <&pd_gsc>;
686 clocks = <&clock CLK_GSCL3>; 688 clocks = <&clock CLK_GSCL3>;
687 clock-names = "gscl"; 689 clock-names = "gscl";
688 iommu = <&sysmmu_gsc3>; 690 iommus = <&sysmmu_gsc3>;
689 }; 691 };
690 692
691 hdmi: hdmi@14530000 { 693 hdmi: hdmi@14530000 {
@@ -700,6 +702,7 @@
700 "sclk_hdmiphy", "mout_hdmi"; 702 "sclk_hdmiphy", "mout_hdmi";
701 samsung,syscon-phandle = <&pmu_system_controller>; 703 samsung,syscon-phandle = <&pmu_system_controller>;
702 phy = <&hdmiphy>; 704 phy = <&hdmiphy>;
705 #sound-dai-cells = <0>;
703 status = "disabled"; 706 status = "disabled";
704 }; 707 };
705 708
diff --git a/arch/arm/boot/dts/exynos5260-xyref5260.dts b/arch/arm/boot/dts/exynos5260-xyref5260.dts
index 442eb0353f29..fa19c59b2fb6 100644
--- a/arch/arm/boot/dts/exynos5260-xyref5260.dts
+++ b/arch/arm/boot/dts/exynos5260-xyref5260.dts
@@ -65,7 +65,6 @@
65&mmc_0 { 65&mmc_0 {
66 status = "okay"; 66 status = "okay";
67 broken-cd; 67 broken-cd;
68 bypass-smu;
69 cap-mmc-highspeed; 68 cap-mmc-highspeed;
70 supports-hs200-mode; /* 200 MHz */ 69 supports-hs200-mode; /* 200 MHz */
71 card-detect-delay = <200>; 70 card-detect-delay = <200>;
diff --git a/arch/arm/boot/dts/exynos5410.dtsi b/arch/arm/boot/dts/exynos5410.dtsi
index 1886aa00b2db..55509c690328 100644
--- a/arch/arm/boot/dts/exynos5410.dtsi
+++ b/arch/arm/boot/dts/exynos5410.dtsi
@@ -11,7 +11,6 @@
11 */ 11 */
12 12
13#include "exynos54xx.dtsi" 13#include "exynos54xx.dtsi"
14#include "exynos-syscon-restart.dtsi"
15#include <dt-bindings/clock/exynos5410.h> 14#include <dt-bindings/clock/exynos5410.h>
16#include <dt-bindings/clock/exynos-audss-clk.h> 15#include <dt-bindings/clock/exynos-audss-clk.h>
17#include <dt-bindings/interrupt-controller/arm-gic.h> 16#include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -197,9 +196,9 @@
197 interrupt-parent = <&gic>; 196 interrupt-parent = <&gic>;
198 ranges; 197 ranges;
199 198
200 pdma0: pdma@12680000 { 199 pdma0: pdma@121a0000 {
201 compatible = "arm,pl330", "arm,primecell"; 200 compatible = "arm,pl330", "arm,primecell";
202 reg = <0x121A0000 0x1000>; 201 reg = <0x121a0000 0x1000>;
203 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 202 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
204 clocks = <&clock CLK_PDMA0>; 203 clocks = <&clock CLK_PDMA0>;
205 clock-names = "apb_pclk"; 204 clock-names = "apb_pclk";
@@ -208,9 +207,9 @@
208 #dma-requests = <32>; 207 #dma-requests = <32>;
209 }; 208 };
210 209
211 pdma1: pdma@12690000 { 210 pdma1: pdma@121b0000 {
212 compatible = "arm,pl330", "arm,primecell"; 211 compatible = "arm,pl330", "arm,primecell";
213 reg = <0x121B0000 0x1000>; 212 reg = <0x121b0000 0x1000>;
214 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 213 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
215 clocks = <&clock CLK_PDMA1>; 214 clocks = <&clock CLK_PDMA1>;
216 clock-names = "apb_pclk"; 215 clock-names = "apb_pclk";
diff --git a/arch/arm/boot/dts/exynos5420-cpus.dtsi b/arch/arm/boot/dts/exynos5420-cpus.dtsi
index 123f0cef658d..a8e449471304 100644
--- a/arch/arm/boot/dts/exynos5420-cpus.dtsi
+++ b/arch/arm/boot/dts/exynos5420-cpus.dtsi
@@ -30,8 +30,6 @@
30 clock-frequency = <1800000000>; 30 clock-frequency = <1800000000>;
31 cci-control-port = <&cci_control1>; 31 cci-control-port = <&cci_control1>;
32 operating-points-v2 = <&cluster_a15_opp_table>; 32 operating-points-v2 = <&cluster_a15_opp_table>;
33 cooling-min-level = <0>;
34 cooling-max-level = <11>;
35 #cooling-cells = <2>; /* min followed by max */ 33 #cooling-cells = <2>; /* min followed by max */
36 capacity-dmips-mhz = <1024>; 34 capacity-dmips-mhz = <1024>;
37 }; 35 };
@@ -43,8 +41,6 @@
43 clock-frequency = <1800000000>; 41 clock-frequency = <1800000000>;
44 cci-control-port = <&cci_control1>; 42 cci-control-port = <&cci_control1>;
45 operating-points-v2 = <&cluster_a15_opp_table>; 43 operating-points-v2 = <&cluster_a15_opp_table>;
46 cooling-min-level = <0>;
47 cooling-max-level = <11>;
48 #cooling-cells = <2>; /* min followed by max */ 44 #cooling-cells = <2>; /* min followed by max */
49 capacity-dmips-mhz = <1024>; 45 capacity-dmips-mhz = <1024>;
50 }; 46 };
@@ -56,8 +52,6 @@
56 clock-frequency = <1800000000>; 52 clock-frequency = <1800000000>;
57 cci-control-port = <&cci_control1>; 53 cci-control-port = <&cci_control1>;
58 operating-points-v2 = <&cluster_a15_opp_table>; 54 operating-points-v2 = <&cluster_a15_opp_table>;
59 cooling-min-level = <0>;
60 cooling-max-level = <11>;
61 #cooling-cells = <2>; /* min followed by max */ 55 #cooling-cells = <2>; /* min followed by max */
62 capacity-dmips-mhz = <1024>; 56 capacity-dmips-mhz = <1024>;
63 }; 57 };
@@ -69,8 +63,6 @@
69 clock-frequency = <1800000000>; 63 clock-frequency = <1800000000>;
70 cci-control-port = <&cci_control1>; 64 cci-control-port = <&cci_control1>;
71 operating-points-v2 = <&cluster_a15_opp_table>; 65 operating-points-v2 = <&cluster_a15_opp_table>;
72 cooling-min-level = <0>;
73 cooling-max-level = <11>;
74 #cooling-cells = <2>; /* min followed by max */ 66 #cooling-cells = <2>; /* min followed by max */
75 capacity-dmips-mhz = <1024>; 67 capacity-dmips-mhz = <1024>;
76 }; 68 };
@@ -83,8 +75,6 @@
83 clock-frequency = <1000000000>; 75 clock-frequency = <1000000000>;
84 cci-control-port = <&cci_control0>; 76 cci-control-port = <&cci_control0>;
85 operating-points-v2 = <&cluster_a7_opp_table>; 77 operating-points-v2 = <&cluster_a7_opp_table>;
86 cooling-min-level = <0>;
87 cooling-max-level = <7>;
88 #cooling-cells = <2>; /* min followed by max */ 78 #cooling-cells = <2>; /* min followed by max */
89 capacity-dmips-mhz = <539>; 79 capacity-dmips-mhz = <539>;
90 }; 80 };
@@ -96,8 +86,6 @@
96 clock-frequency = <1000000000>; 86 clock-frequency = <1000000000>;
97 cci-control-port = <&cci_control0>; 87 cci-control-port = <&cci_control0>;
98 operating-points-v2 = <&cluster_a7_opp_table>; 88 operating-points-v2 = <&cluster_a7_opp_table>;
99 cooling-min-level = <0>;
100 cooling-max-level = <7>;
101 #cooling-cells = <2>; /* min followed by max */ 89 #cooling-cells = <2>; /* min followed by max */
102 capacity-dmips-mhz = <539>; 90 capacity-dmips-mhz = <539>;
103 }; 91 };
@@ -109,8 +97,6 @@
109 clock-frequency = <1000000000>; 97 clock-frequency = <1000000000>;
110 cci-control-port = <&cci_control0>; 98 cci-control-port = <&cci_control0>;
111 operating-points-v2 = <&cluster_a7_opp_table>; 99 operating-points-v2 = <&cluster_a7_opp_table>;
112 cooling-min-level = <0>;
113 cooling-max-level = <7>;
114 #cooling-cells = <2>; /* min followed by max */ 100 #cooling-cells = <2>; /* min followed by max */
115 capacity-dmips-mhz = <539>; 101 capacity-dmips-mhz = <539>;
116 }; 102 };
@@ -122,8 +108,6 @@
122 clock-frequency = <1000000000>; 108 clock-frequency = <1000000000>;
123 cci-control-port = <&cci_control0>; 109 cci-control-port = <&cci_control0>;
124 operating-points-v2 = <&cluster_a7_opp_table>; 110 operating-points-v2 = <&cluster_a7_opp_table>;
125 cooling-min-level = <0>;
126 cooling-max-level = <7>;
127 #cooling-cells = <2>; /* min followed by max */ 111 #cooling-cells = <2>; /* min followed by max */
128 capacity-dmips-mhz = <539>; 112 capacity-dmips-mhz = <539>;
129 }; 113 };
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 5a76ed77dda1..244f0091c21f 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -11,6 +11,7 @@
11#include <dt-bindings/interrupt-controller/irq.h> 11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/clock/maxim,max77802.h> 12#include <dt-bindings/clock/maxim,max77802.h>
13#include <dt-bindings/regulator/maxim,max77802.h> 13#include <dt-bindings/regulator/maxim,max77802.h>
14#include <dt-bindings/sound/samsung-i2s.h>
14#include "exynos5420.dtsi" 15#include "exynos5420.dtsi"
15#include "exynos5420-cpus.dtsi" 16#include "exynos5420-cpus.dtsi"
16 17
@@ -86,6 +87,14 @@
86 samsung,model = "Peach-Pit-I2S-MAX98090"; 87 samsung,model = "Peach-Pit-I2S-MAX98090";
87 samsung,i2s-controller = <&i2s0>; 88 samsung,i2s-controller = <&i2s0>;
88 samsung,audio-codec = <&max98090>; 89 samsung,audio-codec = <&max98090>;
90
91 cpu {
92 sound-dai = <&i2s0 0>;
93 };
94
95 codec {
96 sound-dai = <&max98090>, <&hdmi>;
97 };
89 }; 98 };
90 99
91 usb300_vbus_reg: regulator-usb300 { 100 usb300_vbus_reg: regulator-usb300 {
@@ -142,6 +151,11 @@
142 vdd-supply = <&ldo9_reg>; 151 vdd-supply = <&ldo9_reg>;
143}; 152};
144 153
154&clock_audss {
155 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
156 assigned-clock-parents = <&clock CLK_FOUT_EPLL>;
157};
158
145&cpu0 { 159&cpu0 {
146 cpu-supply = <&buck2_reg>; 160 cpu-supply = <&buck2_reg>;
147}; 161};
@@ -606,6 +620,7 @@
606 pinctrl-0 = <&max98090_irq>; 620 pinctrl-0 = <&max98090_irq>;
607 clocks = <&pmu_system_controller 0>; 621 clocks = <&pmu_system_controller 0>;
608 clock-names = "mclk"; 622 clock-names = "mclk";
623 #sound-dai-cells = <0>;
609 }; 624 };
610 625
611 light-sensor@44 { 626 light-sensor@44 {
@@ -690,6 +705,8 @@
690}; 705};
691 706
692&i2s0 { 707&i2s0 {
708 assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
709 assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
693 status = "okay"; 710 status = "okay";
694}; 711};
695 712
diff --git a/arch/arm/boot/dts/exynos5422-cpus.dtsi b/arch/arm/boot/dts/exynos5422-cpus.dtsi
index c593809c7f08..7c130a00d1a8 100644
--- a/arch/arm/boot/dts/exynos5422-cpus.dtsi
+++ b/arch/arm/boot/dts/exynos5422-cpus.dtsi
@@ -29,8 +29,6 @@
29 clock-frequency = <1000000000>; 29 clock-frequency = <1000000000>;
30 cci-control-port = <&cci_control0>; 30 cci-control-port = <&cci_control0>;
31 operating-points-v2 = <&cluster_a7_opp_table>; 31 operating-points-v2 = <&cluster_a7_opp_table>;
32 cooling-min-level = <0>;
33 cooling-max-level = <11>;
34 #cooling-cells = <2>; /* min followed by max */ 32 #cooling-cells = <2>; /* min followed by max */
35 capacity-dmips-mhz = <539>; 33 capacity-dmips-mhz = <539>;
36 }; 34 };
@@ -42,8 +40,6 @@
42 clock-frequency = <1000000000>; 40 clock-frequency = <1000000000>;
43 cci-control-port = <&cci_control0>; 41 cci-control-port = <&cci_control0>;
44 operating-points-v2 = <&cluster_a7_opp_table>; 42 operating-points-v2 = <&cluster_a7_opp_table>;
45 cooling-min-level = <0>;
46 cooling-max-level = <11>;
47 #cooling-cells = <2>; /* min followed by max */ 43 #cooling-cells = <2>; /* min followed by max */
48 capacity-dmips-mhz = <539>; 44 capacity-dmips-mhz = <539>;
49 }; 45 };
@@ -55,8 +51,6 @@
55 clock-frequency = <1000000000>; 51 clock-frequency = <1000000000>;
56 cci-control-port = <&cci_control0>; 52 cci-control-port = <&cci_control0>;
57 operating-points-v2 = <&cluster_a7_opp_table>; 53 operating-points-v2 = <&cluster_a7_opp_table>;
58 cooling-min-level = <0>;
59 cooling-max-level = <11>;
60 #cooling-cells = <2>; /* min followed by max */ 54 #cooling-cells = <2>; /* min followed by max */
61 capacity-dmips-mhz = <539>; 55 capacity-dmips-mhz = <539>;
62 }; 56 };
@@ -68,8 +62,6 @@
68 clock-frequency = <1000000000>; 62 clock-frequency = <1000000000>;
69 cci-control-port = <&cci_control0>; 63 cci-control-port = <&cci_control0>;
70 operating-points-v2 = <&cluster_a7_opp_table>; 64 operating-points-v2 = <&cluster_a7_opp_table>;
71 cooling-min-level = <0>;
72 cooling-max-level = <11>;
73 #cooling-cells = <2>; /* min followed by max */ 65 #cooling-cells = <2>; /* min followed by max */
74 capacity-dmips-mhz = <539>; 66 capacity-dmips-mhz = <539>;
75 }; 67 };
@@ -82,8 +74,6 @@
82 clock-frequency = <1800000000>; 74 clock-frequency = <1800000000>;
83 cci-control-port = <&cci_control1>; 75 cci-control-port = <&cci_control1>;
84 operating-points-v2 = <&cluster_a15_opp_table>; 76 operating-points-v2 = <&cluster_a15_opp_table>;
85 cooling-min-level = <0>;
86 cooling-max-level = <15>;
87 #cooling-cells = <2>; /* min followed by max */ 77 #cooling-cells = <2>; /* min followed by max */
88 capacity-dmips-mhz = <1024>; 78 capacity-dmips-mhz = <1024>;
89 }; 79 };
@@ -95,8 +85,6 @@
95 clock-frequency = <1800000000>; 85 clock-frequency = <1800000000>;
96 cci-control-port = <&cci_control1>; 86 cci-control-port = <&cci_control1>;
97 operating-points-v2 = <&cluster_a15_opp_table>; 87 operating-points-v2 = <&cluster_a15_opp_table>;
98 cooling-min-level = <0>;
99 cooling-max-level = <15>;
100 #cooling-cells = <2>; /* min followed by max */ 88 #cooling-cells = <2>; /* min followed by max */
101 capacity-dmips-mhz = <1024>; 89 capacity-dmips-mhz = <1024>;
102 }; 90 };
@@ -108,8 +96,6 @@
108 clock-frequency = <1800000000>; 96 clock-frequency = <1800000000>;
109 cci-control-port = <&cci_control1>; 97 cci-control-port = <&cci_control1>;
110 operating-points-v2 = <&cluster_a15_opp_table>; 98 operating-points-v2 = <&cluster_a15_opp_table>;
111 cooling-min-level = <0>;
112 cooling-max-level = <15>;
113 #cooling-cells = <2>; /* min followed by max */ 99 #cooling-cells = <2>; /* min followed by max */
114 capacity-dmips-mhz = <1024>; 100 capacity-dmips-mhz = <1024>;
115 }; 101 };
@@ -121,8 +107,6 @@
121 clock-frequency = <1800000000>; 107 clock-frequency = <1800000000>;
122 cci-control-port = <&cci_control1>; 108 cci-control-port = <&cci_control1>;
123 operating-points-v2 = <&cluster_a15_opp_table>; 109 operating-points-v2 = <&cluster_a15_opp_table>;
124 cooling-min-level = <0>;
125 cooling-max-level = <15>;
126 #cooling-cells = <2>; /* min followed by max */ 110 #cooling-cells = <2>; /* min followed by max */
127 capacity-dmips-mhz = <1024>; 111 capacity-dmips-mhz = <1024>;
128 }; 112 };
diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi
index fce9e26b5930..f3abecc44657 100644
--- a/arch/arm/boot/dts/exynos5440.dtsi
+++ b/arch/arm/boot/dts/exynos5440.dtsi
@@ -26,24 +26,6 @@
26 tmuctrl2 = &tmuctrl_2; 26 tmuctrl2 = &tmuctrl_2;
27 }; 27 };
28 28
29 clock: clock-controller@160000 {
30 compatible = "samsung,exynos5440-clock";
31 reg = <0x160000 0x1000>;
32 #clock-cells = <1>;
33 };
34
35 gic: interrupt-controller@2e0000 {
36 compatible = "arm,cortex-a15-gic";
37 #interrupt-cells = <3>;
38 interrupt-controller;
39 reg = <0x2E1000 0x1000>,
40 <0x2E2000 0x2000>,
41 <0x2E4000 0x2000>,
42 <0x2E6000 0x2000>;
43 interrupts = <GIC_PPI 9
44 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
45 };
46
47 cpus { 29 cpus {
48 #address-cells = <1>; 30 #address-cells = <1>;
49 #size-cells = <0>; 31 #size-cells = <0>;
@@ -70,182 +52,290 @@
70 }; 52 };
71 }; 53 };
72 54
73 arm-pmu { 55 soc: soc {
74 compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu"; 56 compatible = "simple-bus";
75 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>, 57 #address-cells = <1>;
76 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, 58 #size-cells = <1>;
77 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, 59 ranges;
78 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
79 };
80 60
81 timer { 61 clock: clock-controller@160000 {
82 compatible = "arm,cortex-a15-timer", 62 compatible = "samsung,exynos5440-clock";
83 "arm,armv7-timer"; 63 reg = <0x160000 0x1000>;
84 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 64 #clock-cells = <1>;
85 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 65 };
86 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
87 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
88 clock-frequency = <50000000>;
89 };
90 66
91 cpufreq@160000 { 67 gic: interrupt-controller@2e0000 {
92 compatible = "samsung,exynos5440-cpufreq"; 68 compatible = "arm,cortex-a15-gic";
93 reg = <0x160000 0x1000>; 69 #interrupt-cells = <3>;
94 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 70 interrupt-controller;
95 operating-points = < 71 reg = <0x2E1000 0x1000>,
96 /* KHz uV */ 72 <0x2E2000 0x2000>,
97 1500000 1100000 73 <0x2E4000 0x2000>,
98 1400000 1075000 74 <0x2E6000 0x2000>;
99 1300000 1050000 75 interrupts = <GIC_PPI 9
100 1200000 1025000 76 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
101 1100000 1000000 77 };
102 1000000 975000
103 900000 950000
104 800000 925000
105 >;
106 };
107 78
108 serial_0: serial@b0000 {
109 compatible = "samsung,exynos4210-uart";
110 reg = <0xB0000 0x1000>;
111 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
112 clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
113 clock-names = "uart", "clk_uart_baud0";
114 };
115 79
116 serial_1: serial@c0000 { 80 arm-pmu {
117 compatible = "samsung,exynos4210-uart"; 81 compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu";
118 reg = <0xC0000 0x1000>; 82 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
119 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 83 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
120 clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; 84 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
121 clock-names = "uart", "clk_uart_baud0"; 85 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
122 }; 86 };
123 87
124 spi_0: spi@d0000 { 88 timer {
125 compatible = "samsung,exynos5440-spi"; 89 compatible = "arm,cortex-a15-timer",
126 reg = <0xD0000 0x100>; 90 "arm,armv7-timer";
127 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 91 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
128 #address-cells = <1>; 92 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
129 #size-cells = <0>; 93 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
130 samsung,spi-src-clk = <0>; 94 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
131 num-cs = <1>; 95 clock-frequency = <50000000>;
132 clocks = <&clock CLK_B_125>, <&clock CLK_SPI_BAUD>; 96 };
133 clock-names = "spi", "spi_busclk0";
134 };
135 97
136 pin_ctrl: pinctrl@e0000 { 98 cpufreq@160000 {
137 compatible = "samsung,exynos5440-pinctrl"; 99 compatible = "samsung,exynos5440-cpufreq";
138 reg = <0xE0000 0x1000>; 100 reg = <0x160000 0x1000>;
139 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>, 101 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
140 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>, 102 operating-points = <
141 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 103 /* KHz uV */
142 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 104 1500000 1100000
143 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 105 1400000 1075000
144 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>, 106 1300000 1050000
145 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>, 107 1200000 1025000
146 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 108 1100000 1000000
147 interrupt-controller; 109 1000000 975000
148 #interrupt-cells = <2>; 110 900000 950000
149 #gpio-cells = <2>; 111 800000 925000
112 >;
113 };
150 114
151 fan: fan { 115 serial_0: serial@b0000 {
152 samsung,exynos5440-pin-function = <1>; 116 compatible = "samsung,exynos4210-uart";
117 reg = <0xB0000 0x1000>;
118 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
119 clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
120 clock-names = "uart", "clk_uart_baud0";
153 }; 121 };
154 122
155 hdd_led0: hdd_led0 { 123 serial_1: serial@c0000 {
156 samsung,exynos5440-pin-function = <2>; 124 compatible = "samsung,exynos4210-uart";
125 reg = <0xC0000 0x1000>;
126 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
127 clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
128 clock-names = "uart", "clk_uart_baud0";
157 }; 129 };
158 130
159 hdd_led1: hdd_led1 { 131 spi_0: spi@d0000 {
160 samsung,exynos5440-pin-function = <3>; 132 compatible = "samsung,exynos5440-spi";
133 reg = <0xD0000 0x100>;
134 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
135 #address-cells = <1>;
136 #size-cells = <0>;
137 samsung,spi-src-clk = <0>;
138 num-cs = <1>;
139 clocks = <&clock CLK_B_125>, <&clock CLK_SPI_BAUD>;
140 clock-names = "spi", "spi_busclk0";
161 }; 141 };
162 142
163 uart1: uart1 { 143 pin_ctrl: pinctrl@e0000 {
164 samsung,exynos5440-pin-function = <4>; 144 compatible = "samsung,exynos5440-pinctrl";
145 reg = <0xE0000 0x1000>;
146 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
147 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
148 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
149 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
150 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
151 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
152 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
153 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
154 interrupt-controller;
155 #interrupt-cells = <2>;
156 #gpio-cells = <2>;
157
158 fan: fan {
159 samsung,exynos5440-pin-function = <1>;
160 };
161
162 hdd_led0: hdd_led0 {
163 samsung,exynos5440-pin-function = <2>;
164 };
165
166 hdd_led1: hdd_led1 {
167 samsung,exynos5440-pin-function = <3>;
168 };
169
170 uart1: uart1 {
171 samsung,exynos5440-pin-function = <4>;
172 };
165 }; 173 };
166 };
167 174
168 i2c@f0000 { 175 i2c@f0000 {
169 compatible = "samsung,exynos5440-i2c"; 176 compatible = "samsung,exynos5440-i2c";
170 reg = <0xF0000 0x1000>; 177 reg = <0xF0000 0x1000>;
171 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 178 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
172 #address-cells = <1>; 179 #address-cells = <1>;
173 #size-cells = <0>; 180 #size-cells = <0>;
174 clocks = <&clock CLK_B_125>; 181 clocks = <&clock CLK_B_125>;
175 clock-names = "i2c"; 182 clock-names = "i2c";
176 }; 183 };
177 184
178 i2c@100000 { 185 i2c@100000 {
179 compatible = "samsung,exynos5440-i2c"; 186 compatible = "samsung,exynos5440-i2c";
180 reg = <0x100000 0x1000>; 187 reg = <0x100000 0x1000>;
181 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 188 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
182 #address-cells = <1>; 189 #address-cells = <1>;
183 #size-cells = <0>; 190 #size-cells = <0>;
184 clocks = <&clock CLK_B_125>; 191 clocks = <&clock CLK_B_125>;
185 clock-names = "i2c"; 192 clock-names = "i2c";
186 }; 193 };
187 194
188 watchdog@110000 { 195 watchdog@110000 {
189 compatible = "samsung,s3c6410-wdt"; 196 compatible = "samsung,s3c6410-wdt";
190 reg = <0x110000 0x1000>; 197 reg = <0x110000 0x1000>;
191 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 198 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
192 clocks = <&clock CLK_B_125>; 199 clocks = <&clock CLK_B_125>;
193 clock-names = "watchdog"; 200 clock-names = "watchdog";
194 }; 201 };
195 202
196 gmac: ethernet@230000 { 203 gmac: ethernet@230000 {
197 compatible = "snps,dwmac-3.70a", "snps,dwmac"; 204 compatible = "snps,dwmac-3.70a", "snps,dwmac";
198 reg = <0x00230000 0x8000>; 205 reg = <0x00230000 0x8000>;
199 interrupt-parent = <&gic>; 206 interrupt-parent = <&gic>;
200 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 207 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
201 interrupt-names = "macirq"; 208 interrupt-names = "macirq";
202 phy-mode = "sgmii"; 209 phy-mode = "sgmii";
203 clocks = <&clock CLK_GMAC0>; 210 clocks = <&clock CLK_GMAC0>;
204 clock-names = "stmmaceth"; 211 clock-names = "stmmaceth";
205 }; 212 };
206 213
207 amba { 214 amba {
208 #address-cells = <1>; 215 #address-cells = <1>;
209 #size-cells = <1>; 216 #size-cells = <1>;
210 compatible = "simple-bus"; 217 compatible = "simple-bus";
211 interrupt-parent = <&gic>; 218 interrupt-parent = <&gic>;
212 ranges; 219 ranges;
213 }; 220 };
214 221
215 rtc@130000 { 222 rtc@130000 {
216 compatible = "samsung,s3c6410-rtc"; 223 compatible = "samsung,s3c6410-rtc";
217 reg = <0x130000 0x1000>; 224 reg = <0x130000 0x1000>;
218 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 225 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
219 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 226 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
220 clocks = <&clock CLK_B_125>; 227 clocks = <&clock CLK_B_125>;
221 clock-names = "rtc"; 228 clock-names = "rtc";
222 }; 229 };
223 230
224 tmuctrl_0: tmuctrl@160118 { 231 tmuctrl_0: tmuctrl@160118 {
225 compatible = "samsung,exynos5440-tmu"; 232 compatible = "samsung,exynos5440-tmu";
226 reg = <0x160118 0x230>, <0x160368 0x10>; 233 reg = <0x160118 0x230>, <0x160368 0x10>;
227 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 234 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
228 clocks = <&clock CLK_B_125>; 235 clocks = <&clock CLK_B_125>;
229 clock-names = "tmu_apbif"; 236 clock-names = "tmu_apbif";
230 #include "exynos5440-tmu-sensor-conf.dtsi" 237 #include "exynos5440-tmu-sensor-conf.dtsi"
231 }; 238 };
232 239
233 tmuctrl_1: tmuctrl@16011c { 240 tmuctrl_1: tmuctrl@16011c {
234 compatible = "samsung,exynos5440-tmu"; 241 compatible = "samsung,exynos5440-tmu";
235 reg = <0x16011C 0x230>, <0x160368 0x10>; 242 reg = <0x16011C 0x230>, <0x160368 0x10>;
236 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 243 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
237 clocks = <&clock CLK_B_125>; 244 clocks = <&clock CLK_B_125>;
238 clock-names = "tmu_apbif"; 245 clock-names = "tmu_apbif";
239 #include "exynos5440-tmu-sensor-conf.dtsi" 246 #include "exynos5440-tmu-sensor-conf.dtsi"
240 }; 247 };
248
249 tmuctrl_2: tmuctrl@160120 {
250 compatible = "samsung,exynos5440-tmu";
251 reg = <0x160120 0x230>, <0x160368 0x10>;
252 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
253 clocks = <&clock CLK_B_125>;
254 clock-names = "tmu_apbif";
255 #include "exynos5440-tmu-sensor-conf.dtsi"
256 };
241 257
242 tmuctrl_2: tmuctrl@160120 { 258 sata@210000 {
243 compatible = "samsung,exynos5440-tmu"; 259 compatible = "snps,exynos5440-ahci";
244 reg = <0x160120 0x230>, <0x160368 0x10>; 260 reg = <0x210000 0x10000>;
245 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 261 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
246 clocks = <&clock CLK_B_125>; 262 clocks = <&clock CLK_SATA>;
247 clock-names = "tmu_apbif"; 263 clock-names = "sata";
248 #include "exynos5440-tmu-sensor-conf.dtsi" 264 };
265
266 ohci@220000 {
267 compatible = "samsung,exynos5440-ohci";
268 reg = <0x220000 0x1000>;
269 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
270 clocks = <&clock CLK_USB>;
271 clock-names = "usbhost";
272 };
273
274 ehci@221000 {
275 compatible = "samsung,exynos5440-ehci";
276 reg = <0x221000 0x1000>;
277 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
278 clocks = <&clock CLK_USB>;
279 clock-names = "usbhost";
280 };
281
282 pcie_phy0: pcie-phy@270000 {
283 #phy-cells = <0>;
284 compatible = "samsung,exynos5440-pcie-phy";
285 reg = <0x270000 0x1000>, <0x271000 0x40>;
286 };
287
288 pcie_phy1: pcie-phy@272000 {
289 #phy-cells = <0>;
290 compatible = "samsung,exynos5440-pcie-phy";
291 reg = <0x272000 0x1000>, <0x271040 0x40>;
292 };
293
294 pcie_0: pcie@290000 {
295 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
296 reg = <0x290000 0x1000>, <0x40000000 0x1000>;
297 reg-names = "elbi", "config";
298 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
299 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
300 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
301 clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>;
302 clock-names = "pcie", "pcie_bus";
303 #address-cells = <3>;
304 #size-cells = <2>;
305 device_type = "pci";
306 phys = <&pcie_phy0>;
307 ranges = <0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
308 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
309 bus-range = <0x00 0xff>;
310 #interrupt-cells = <1>;
311 interrupt-map-mask = <0 0 0 0>;
312 interrupt-map = <0x0 0 &gic 53>;
313 num-lanes = <4>;
314 status = "disabled";
315 };
316
317 pcie_1: pcie@2a0000 {
318 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
319 reg = <0x2a0000 0x1000>, <0x60000000 0x1000>;
320 reg-names = "elbi", "config";
321 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
322 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
323 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
324 clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>;
325 clock-names = "pcie", "pcie_bus";
326 #address-cells = <3>;
327 #size-cells = <2>;
328 device_type = "pci";
329 phys = <&pcie_phy1>;
330 ranges = <0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
331 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
332 bus-range = <0x00 0xff>;
333 #interrupt-cells = <1>;
334 interrupt-map-mask = <0 0 0 0>;
335 interrupt-map = <0x0 0 &gic 56>;
336 num-lanes = <4>;
337 status = "disabled";
338 };
249 }; 339 };
250 340
251 thermal-zones { 341 thermal-zones {
@@ -262,86 +352,4 @@
262 #include "exynos5440-trip-points.dtsi" 352 #include "exynos5440-trip-points.dtsi"
263 }; 353 };
264 }; 354 };
265
266 sata@210000 {
267 compatible = "snps,exynos5440-ahci";
268 reg = <0x210000 0x10000>;
269 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
270 clocks = <&clock CLK_SATA>;
271 clock-names = "sata";
272 };
273
274 ohci@220000 {
275 compatible = "samsung,exynos5440-ohci";
276 reg = <0x220000 0x1000>;
277 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
278 clocks = <&clock CLK_USB>;
279 clock-names = "usbhost";
280 };
281
282 ehci@221000 {
283 compatible = "samsung,exynos5440-ehci";
284 reg = <0x221000 0x1000>;
285 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&clock CLK_USB>;
287 clock-names = "usbhost";
288 };
289
290 pcie_phy0: pcie-phy@270000 {
291 #phy-cells = <0>;
292 compatible = "samsung,exynos5440-pcie-phy";
293 reg = <0x270000 0x1000>, <0x271000 0x40>;
294 };
295
296 pcie_phy1: pcie-phy@272000 {
297 #phy-cells = <0>;
298 compatible = "samsung,exynos5440-pcie-phy";
299 reg = <0x272000 0x1000>, <0x271040 0x40>;
300 };
301
302 pcie_0: pcie@290000 {
303 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
304 reg = <0x290000 0x1000>, <0x40000000 0x1000>;
305 reg-names = "elbi", "config";
306 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
307 <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
308 <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
309 clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>;
310 clock-names = "pcie", "pcie_bus";
311 #address-cells = <3>;
312 #size-cells = <2>;
313 device_type = "pci";
314 phys = <&pcie_phy0>;
315 ranges = <0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
316 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
317 bus-range = <0x00 0xff>;
318 #interrupt-cells = <1>;
319 interrupt-map-mask = <0 0 0 0>;
320 interrupt-map = <0x0 0 &gic 53>;
321 num-lanes = <4>;
322 status = "disabled";
323 };
324
325 pcie_1: pcie@2a0000 {
326 compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
327 reg = <0x2a0000 0x1000>, <0x60000000 0x1000>;
328 reg-names = "elbi", "config";
329 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
330 <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
331 <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
332 clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>;
333 clock-names = "pcie", "pcie_bus";
334 #address-cells = <3>;
335 #size-cells = <2>;
336 device_type = "pci";
337 phys = <&pcie_phy1>;
338 ranges = <0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
339 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
340 bus-range = <0x00 0xff>;
341 #interrupt-cells = <1>;
342 interrupt-map-mask = <0 0 0 0>;
343 interrupt-map = <0x0 0 &gic 56>;
344 num-lanes = <4>;
345 status = "disabled";
346 };
347}; 355};
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 0029ec27819c..2f8df9244f72 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -1,11 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Google Peach Pi Rev 10+ board device tree source 3 * Google Peach Pi Rev 10+ board device tree source
3 * 4 *
4 * Copyright (c) 2014 Google, Inc 5 * Copyright (c) 2014 Google, Inc
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */ 6 */
10 7
11/dts-v1/; 8/dts-v1/;
@@ -14,6 +11,7 @@
14#include <dt-bindings/interrupt-controller/irq.h> 11#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/clock/maxim,max77802.h> 12#include <dt-bindings/clock/maxim,max77802.h>
16#include <dt-bindings/regulator/maxim,max77802.h> 13#include <dt-bindings/regulator/maxim,max77802.h>
14#include <dt-bindings/sound/samsung-i2s.h>
17#include "exynos5800.dtsi" 15#include "exynos5800.dtsi"
18#include "exynos5420-cpus.dtsi" 16#include "exynos5420-cpus.dtsi"
19 17
@@ -89,6 +87,14 @@
89 samsung,model = "Peach-Pi-I2S-MAX98091"; 87 samsung,model = "Peach-Pi-I2S-MAX98091";
90 samsung,i2s-controller = <&i2s0>; 88 samsung,i2s-controller = <&i2s0>;
91 samsung,audio-codec = <&max98091>; 89 samsung,audio-codec = <&max98091>;
90
91 cpu {
92 sound-dai = <&i2s0 0>;
93 };
94
95 codec {
96 sound-dai = <&max98091>, <&hdmi>;
97 };
92 }; 98 };
93 99
94 usb300_vbus_reg: regulator-usb300 { 100 usb300_vbus_reg: regulator-usb300 {
@@ -145,6 +151,11 @@
145 vdd-supply = <&ldo9_reg>; 151 vdd-supply = <&ldo9_reg>;
146}; 152};
147 153
154&clock_audss {
155 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>;
156 assigned-clock-parents = <&clock CLK_FOUT_EPLL>;
157};
158
148&cpu0 { 159&cpu0 {
149 cpu-supply = <&buck2_reg>; 160 cpu-supply = <&buck2_reg>;
150}; 161};
@@ -609,6 +620,7 @@
609 pinctrl-0 = <&max98091_irq>; 620 pinctrl-0 = <&max98091_irq>;
610 clocks = <&pmu_system_controller 0>; 621 clocks = <&pmu_system_controller 0>;
611 clock-names = "mclk"; 622 clock-names = "mclk";
623 #sound-dai-cells = <0>;
612 }; 624 };
613 625
614 light-sensor@44 { 626 light-sensor@44 {
@@ -661,6 +673,8 @@
661}; 673};
662 674
663&i2s0 { 675&i2s0 {
676 assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
677 assigned-clock-parents = <&clock_audss EXYNOS_I2S_BUS>;
664 status = "okay"; 678 status = "okay";
665}; 679};
666 680
diff --git a/arch/arm/boot/dts/exynos5800.dtsi b/arch/arm/boot/dts/exynos5800.dtsi
index 9ddb6bacac5a..57d3b319fd65 100644
--- a/arch/arm/boot/dts/exynos5800.dtsi
+++ b/arch/arm/boot/dts/exynos5800.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * SAMSUNG EXYNOS5800 SoC device tree source 3 * SAMSUNG EXYNOS5800 SoC device tree source
3 * 4 *
@@ -7,10 +8,6 @@
7 * SAMSUNG EXYNOS5800 SoC device nodes are listed in this file. 8 * SAMSUNG EXYNOS5800 SoC device nodes are listed in this file.
8 * EXYNOS5800 based board files can include this file and provide 9 * EXYNOS5800 based board files can include this file and provide
9 * values for board specfic bindings. 10 * values for board specfic bindings.
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */ 11 */
15 12
16#include "exynos5420.dtsi" 13#include "exynos5420.dtsi"
diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
index da8bb9d60f99..403364a7aab9 100644
--- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
@@ -78,8 +78,6 @@
78 gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>, 78 gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
79 <&gpio0 12 GPIO_ACTIVE_HIGH>; 79 <&gpio0 12 GPIO_ACTIVE_HIGH>;
80 gpio-fan,speed-map = <0 0>, <3000 1>, <6000 2>; 80 gpio-fan,speed-map = <0 0>, <3000 1>, <6000 2>;
81 cooling-min-level = <0>;
82 cooling-max-level = <2>;
83 #cooling-cells = <2>; 81 #cooling-cells = <2>;
84 }; 82 };
85 83
diff --git a/arch/arm/boot/dts/imx1-ads.dts b/arch/arm/boot/dts/imx1-ads.dts
index 5ea28ee07cf4..6354e4c87313 100644
--- a/arch/arm/boot/dts/imx1-ads.dts
+++ b/arch/arm/boot/dts/imx1-ads.dts
@@ -20,7 +20,7 @@
20 stdout-path = &uart1; 20 stdout-path = &uart1;
21 }; 21 };
22 22
23 memory { 23 memory@8000000 {
24 reg = <0x08000000 0x04000000>; 24 reg = <0x08000000 0x04000000>;
25 }; 25 };
26 26
diff --git a/arch/arm/boot/dts/imx1-apf9328.dts b/arch/arm/boot/dts/imx1-apf9328.dts
index e8b4b52c2418..11515c0cb195 100644
--- a/arch/arm/boot/dts/imx1-apf9328.dts
+++ b/arch/arm/boot/dts/imx1-apf9328.dts
@@ -20,7 +20,7 @@
20 stdout-path = &uart1; 20 stdout-path = &uart1;
21 }; 21 };
22 22
23 memory { 23 memory@8000000 {
24 reg = <0x08000000 0x00800000>; 24 reg = <0x08000000 0x00800000>;
25 }; 25 };
26}; 26};
diff --git a/arch/arm/boot/dts/imx1.dtsi b/arch/arm/boot/dts/imx1.dtsi
index 20f6565c337d..f7b9edf93f5e 100644
--- a/arch/arm/boot/dts/imx1.dtsi
+++ b/arch/arm/boot/dts/imx1.dtsi
@@ -25,7 +25,7 @@
25 * Also for U-Boot there must be a pre-existing /memory node. 25 * Also for U-Boot there must be a pre-existing /memory node.
26 */ 26 */
27 chosen {}; 27 chosen {};
28 memory { device_type = "memory"; reg = <0 0>; }; 28 memory { device_type = "memory"; };
29 29
30 aliases { 30 aliases {
31 gpio0 = &gpio1; 31 gpio0 = &gpio1;
diff --git a/arch/arm/boot/dts/imx23-evk.dts b/arch/arm/boot/dts/imx23-evk.dts
index 57e29977ba06..9d92ece82560 100644
--- a/arch/arm/boot/dts/imx23-evk.dts
+++ b/arch/arm/boot/dts/imx23-evk.dts
@@ -16,7 +16,7 @@
16 model = "Freescale i.MX23 Evaluation Kit"; 16 model = "Freescale i.MX23 Evaluation Kit";
17 compatible = "fsl,imx23-evk", "fsl,imx23"; 17 compatible = "fsl,imx23-evk", "fsl,imx23";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x08000000>; 20 reg = <0x40000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts
index a8b1c53ebe46..e9351774c619 100644
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
@@ -19,7 +19,7 @@
19 model = "i.MX23 Olinuxino Low Cost Board"; 19 model = "i.MX23 Olinuxino Low Cost Board";
20 compatible = "olimex,imx23-olinuxino", "fsl,imx23"; 20 compatible = "olimex,imx23-olinuxino", "fsl,imx23";
21 21
22 memory { 22 memory@40000000 {
23 reg = <0x40000000 0x04000000>; 23 reg = <0x40000000 0x04000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx23-sansa.dts b/arch/arm/boot/dts/imx23-sansa.dts
index 221fd55e967e..67de7863ad79 100644
--- a/arch/arm/boot/dts/imx23-sansa.dts
+++ b/arch/arm/boot/dts/imx23-sansa.dts
@@ -49,7 +49,7 @@
49 model = "SanDisk Sansa Fuze+"; 49 model = "SanDisk Sansa Fuze+";
50 compatible = "sandisk,sansa_fuze_plus", "fsl,imx23"; 50 compatible = "sandisk,sansa_fuze_plus", "fsl,imx23";
51 51
52 memory { 52 memory@40000000 {
53 reg = <0x40000000 0x04000000>; 53 reg = <0x40000000 0x04000000>;
54 }; 54 };
55 55
diff --git a/arch/arm/boot/dts/imx23-stmp378x_devb.dts b/arch/arm/boot/dts/imx23-stmp378x_devb.dts
index 455169e99d49..95c7b918f6d6 100644
--- a/arch/arm/boot/dts/imx23-stmp378x_devb.dts
+++ b/arch/arm/boot/dts/imx23-stmp378x_devb.dts
@@ -16,7 +16,7 @@
16 model = "Freescale STMP378x Development Board"; 16 model = "Freescale STMP378x Development Board";
17 compatible = "fsl,stmp378x-devb", "fsl,imx23"; 17 compatible = "fsl,stmp378x-devb", "fsl,imx23";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x04000000>; 20 reg = <0x40000000 0x04000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx23-xfi3.dts b/arch/arm/boot/dts/imx23-xfi3.dts
index 025cf949662d..9616e500b996 100644
--- a/arch/arm/boot/dts/imx23-xfi3.dts
+++ b/arch/arm/boot/dts/imx23-xfi3.dts
@@ -48,7 +48,7 @@
48 model = "Creative ZEN X-Fi3"; 48 model = "Creative ZEN X-Fi3";
49 compatible = "creative,x-fi3", "fsl,imx23"; 49 compatible = "creative,x-fi3", "fsl,imx23";
50 50
51 memory { 51 memory@40000000 {
52 reg = <0x40000000 0x04000000>; 52 reg = <0x40000000 0x04000000>;
53 }; 53 };
54 54
diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi
index 10d57f9cbb42..cb0a3fe32718 100644
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -23,7 +23,7 @@
23 * Also for U-Boot there must be a pre-existing /memory node. 23 * Also for U-Boot there must be a pre-existing /memory node.
24 */ 24 */
25 chosen {}; 25 chosen {};
26 memory { device_type = "memory"; reg = <0 0>; }; 26 memory { device_type = "memory"; };
27 27
28 aliases { 28 aliases {
29 gpio0 = &gpio0; 29 gpio0 = &gpio0;
@@ -222,7 +222,8 @@
222 fsl,pull-up = <MXS_PULL_DISABLE>; 222 fsl,pull-up = <MXS_PULL_DISABLE>;
223 }; 223 };
224 224
225 gpmi_pins_fixup: gpmi-pins-fixup { 225 gpmi_pins_fixup: gpmi-pins-fixup@0 {
226 reg = <0>;
226 fsl,pinmux-ids = < 227 fsl,pinmux-ids = <
227 MX23_PAD_GPMI_WPN__GPMI_WPN 228 MX23_PAD_GPMI_WPN__GPMI_WPN
228 MX23_PAD_GPMI_WRN__GPMI_WRN 229 MX23_PAD_GPMI_WRN__GPMI_WRN
@@ -266,7 +267,8 @@
266 fsl,pull-up = <MXS_PULL_ENABLE>; 267 fsl,pull-up = <MXS_PULL_ENABLE>;
267 }; 268 };
268 269
269 mmc0_pins_fixup: mmc0-pins-fixup { 270 mmc0_pins_fixup: mmc0-pins-fixup@0 {
271 reg = <0>;
270 fsl,pinmux-ids = < 272 fsl,pinmux-ids = <
271 MX23_PAD_SSP1_DETECT__SSP1_DETECT 273 MX23_PAD_SSP1_DETECT__SSP1_DETECT
272 MX23_PAD_SSP1_SCK__SSP1_SCK 274 MX23_PAD_SSP1_SCK__SSP1_SCK
diff --git a/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi b/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi
index d6f27641c0ef..e316fe08837a 100644
--- a/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi
+++ b/arch/arm/boot/dts/imx25-eukrea-cpuimx25.dtsi
@@ -17,7 +17,7 @@
17 model = "Eukrea CPUIMX25"; 17 model = "Eukrea CPUIMX25";
18 compatible = "eukrea,cpuimx25", "fsl,imx25"; 18 compatible = "eukrea,cpuimx25", "fsl,imx25";
19 19
20 memory { 20 memory@80000000 {
21 reg = <0x80000000 0x4000000>; /* 64M */ 21 reg = <0x80000000 0x4000000>; /* 64M */
22 }; 22 };
23}; 23};
diff --git a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
index 0f053721d80f..6273a1f243ed 100644
--- a/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
+++ b/arch/arm/boot/dts/imx25-eukrea-mbimxsd25-baseboard.dts
@@ -88,12 +88,12 @@
88 88
89 pinctrl_esdhc1: esdhc1grp { 89 pinctrl_esdhc1: esdhc1grp {
90 fsl,pins = < 90 fsl,pins = <
91 MX25_PAD_SD1_CMD__SD1_CMD 0x400000c0 91 MX25_PAD_SD1_CMD__ESDHC1_CMD 0x400000c0
92 MX25_PAD_SD1_CLK__SD1_CLK 0x400000c0 92 MX25_PAD_SD1_CLK__ESDHC1_CLK 0x400000c0
93 MX25_PAD_SD1_DATA0__SD1_DATA0 0x400000c0 93 MX25_PAD_SD1_DATA0__ESDHC1_DAT0 0x400000c0
94 MX25_PAD_SD1_DATA1__SD1_DATA1 0x400000c0 94 MX25_PAD_SD1_DATA1__ESDHC1_DAT1 0x400000c0
95 MX25_PAD_SD1_DATA2__SD1_DATA2 0x400000c0 95 MX25_PAD_SD1_DATA2__ESDHC1_DAT2 0x400000c0
96 MX25_PAD_SD1_DATA3__SD1_DATA3 0x400000c0 96 MX25_PAD_SD1_DATA3__ESDHC1_DAT3 0x400000c0
97 >; 97 >;
98 }; 98 };
99 99
diff --git a/arch/arm/boot/dts/imx25-karo-tx25.dts b/arch/arm/boot/dts/imx25-karo-tx25.dts
index 30a62d4be8d9..5cb6967866c0 100644
--- a/arch/arm/boot/dts/imx25-karo-tx25.dts
+++ b/arch/arm/boot/dts/imx25-karo-tx25.dts
@@ -36,7 +36,7 @@
36 }; 36 };
37 }; 37 };
38 38
39 memory { 39 memory@80000000 {
40 reg = <0x80000000 0x02000000 0x90000000 0x02000000>; 40 reg = <0x80000000 0x02000000 0x90000000 0x02000000>;
41 }; 41 };
42}; 42};
diff --git a/arch/arm/boot/dts/imx25-pdk.dts b/arch/arm/boot/dts/imx25-pdk.dts
index 2d15ce72d006..7f9bd052b84e 100644
--- a/arch/arm/boot/dts/imx25-pdk.dts
+++ b/arch/arm/boot/dts/imx25-pdk.dts
@@ -18,7 +18,7 @@
18 model = "Freescale i.MX25 Product Development Kit"; 18 model = "Freescale i.MX25 Product Development Kit";
19 compatible = "fsl,imx25-pdk", "fsl,imx25"; 19 compatible = "fsl,imx25-pdk", "fsl,imx25";
20 20
21 memory { 21 memory@80000000 {
22 reg = <0x80000000 0x4000000>; 22 reg = <0x80000000 0x4000000>;
23 }; 23 };
24 24
@@ -165,12 +165,12 @@
165 165
166 pinctrl_esdhc1: esdhc1grp { 166 pinctrl_esdhc1: esdhc1grp {
167 fsl,pins = < 167 fsl,pins = <
168 MX25_PAD_SD1_CMD__SD1_CMD 0x80000000 168 MX25_PAD_SD1_CMD__ESDHC1_CMD 0x80000000
169 MX25_PAD_SD1_CLK__SD1_CLK 0x80000000 169 MX25_PAD_SD1_CLK__ESDHC1_CLK 0x80000000
170 MX25_PAD_SD1_DATA0__SD1_DATA0 0x80000000 170 MX25_PAD_SD1_DATA0__ESDHC1_DAT0 0x80000000
171 MX25_PAD_SD1_DATA1__SD1_DATA1 0x80000000 171 MX25_PAD_SD1_DATA1__ESDHC1_DAT1 0x80000000
172 MX25_PAD_SD1_DATA2__SD1_DATA2 0x80000000 172 MX25_PAD_SD1_DATA2__ESDHC1_DAT2 0x80000000
173 MX25_PAD_SD1_DATA3__SD1_DATA3 0x80000000 173 MX25_PAD_SD1_DATA3__ESDHC1_DAT3 0x80000000
174 MX25_PAD_A14__GPIO_2_0 0x80000000 174 MX25_PAD_A14__GPIO_2_0 0x80000000
175 MX25_PAD_A15__GPIO_2_1 0x80000000 175 MX25_PAD_A15__GPIO_2_1 0x80000000
176 >; 176 >;
diff --git a/arch/arm/boot/dts/imx25-pinfunc.h b/arch/arm/boot/dts/imx25-pinfunc.h
index 6c63dca1b9b8..a4807062a90f 100644
--- a/arch/arm/boot/dts/imx25-pinfunc.h
+++ b/arch/arm/boot/dts/imx25-pinfunc.h
@@ -151,21 +151,21 @@
151#define MX25_PAD_D15__D15 0x088 0x280 0x000 0x00 0x000 151#define MX25_PAD_D15__D15 0x088 0x280 0x000 0x00 0x000
152#define MX25_PAD_D15__LD16 0x088 0x280 0x000 0x01 0x000 152#define MX25_PAD_D15__LD16 0x088 0x280 0x000 0x01 0x000
153#define MX25_PAD_D15__GPIO_4_5 0x088 0x280 0x000 0x05 0x000 153#define MX25_PAD_D15__GPIO_4_5 0x088 0x280 0x000 0x05 0x000
154#define MX25_PAD_D15__SDHC1_DAT7 0x088 0x280 0x4d8 0x06 0x000 154#define MX25_PAD_D15__ESDHC1_DAT7 0x088 0x280 0x4d8 0x06 0x000
155 155
156#define MX25_PAD_D14__D14 0x08c 0x284 0x000 0x00 0x000 156#define MX25_PAD_D14__D14 0x08c 0x284 0x000 0x00 0x000
157#define MX25_PAD_D14__LD17 0x08c 0x284 0x000 0x01 0x000 157#define MX25_PAD_D14__LD17 0x08c 0x284 0x000 0x01 0x000
158#define MX25_PAD_D14__GPIO_4_6 0x08c 0x284 0x000 0x05 0x000 158#define MX25_PAD_D14__GPIO_4_6 0x08c 0x284 0x000 0x05 0x000
159#define MX25_PAD_D14__SDHC1_DAT6 0x08c 0x284 0x4d4 0x06 0x000 159#define MX25_PAD_D14__ESDHC1_DAT6 0x08c 0x284 0x4d4 0x06 0x000
160 160
161#define MX25_PAD_D13__D13 0x090 0x288 0x000 0x00 0x000 161#define MX25_PAD_D13__D13 0x090 0x288 0x000 0x00 0x000
162#define MX25_PAD_D13__LD18 0x090 0x288 0x000 0x01 0x000 162#define MX25_PAD_D13__LD18 0x090 0x288 0x000 0x01 0x000
163#define MX25_PAD_D13__GPIO_4_7 0x090 0x288 0x000 0x05 0x000 163#define MX25_PAD_D13__GPIO_4_7 0x090 0x288 0x000 0x05 0x000
164#define MX25_PAD_D13__SDHC1_DAT5 0x090 0x288 0x4d0 0x06 0x000 164#define MX25_PAD_D13__ESDHC1_DAT5 0x090 0x288 0x4d0 0x06 0x000
165 165
166#define MX25_PAD_D12__D12 0x094 0x28c 0x000 0x00 0x000 166#define MX25_PAD_D12__D12 0x094 0x28c 0x000 0x00 0x000
167#define MX25_PAD_D12__GPIO_4_8 0x094 0x28c 0x000 0x05 0x000 167#define MX25_PAD_D12__GPIO_4_8 0x094 0x28c 0x000 0x05 0x000
168#define MX25_PAD_D12__SDHC1_DAT4 0x094 0x28c 0x4cc 0x06 0x000 168#define MX25_PAD_D12__ESDHC1_DAT4 0x094 0x28c 0x4cc 0x06 0x000
169 169
170#define MX25_PAD_D11__D11 0x098 0x290 0x000 0x00 0x000 170#define MX25_PAD_D11__D11 0x098 0x290 0x000 0x00 0x000
171#define MX25_PAD_D11__GPIO_4_9 0x098 0x290 0x000 0x05 0x000 171#define MX25_PAD_D11__GPIO_4_9 0x098 0x290 0x000 0x05 0x000
@@ -236,12 +236,13 @@
236#define MX25_PAD_LD8__LD8 0x0e8 0x2e0 0x000 0x00 0x000 236#define MX25_PAD_LD8__LD8 0x0e8 0x2e0 0x000 0x00 0x000
237#define MX25_PAD_LD8__UART4_RXD 0x0e8 0x2e0 0x570 0x02 0x000 237#define MX25_PAD_LD8__UART4_RXD 0x0e8 0x2e0 0x570 0x02 0x000
238#define MX25_PAD_LD8__FEC_TX_ERR 0x0e8 0x2e0 0x000 0x05 0x000 238#define MX25_PAD_LD8__FEC_TX_ERR 0x0e8 0x2e0 0x000 0x05 0x000
239#define MX25_PAD_LD8__SDHC2_CMD 0x0e8 0x2e0 0x4e0 0x06 0x000 239/* SION must be set; see the comment for MX25_PAD_SD1_CMD__ESDHC1_CMD. */
240#define MX25_PAD_LD8__ESDHC2_CMD 0x0e8 0x2e0 0x4e0 0x16 0x000
240 241
241#define MX25_PAD_LD9__LD9 0x0ec 0x2e4 0x000 0x00 0x000 242#define MX25_PAD_LD9__LD9 0x0ec 0x2e4 0x000 0x00 0x000
242#define MX25_PAD_LD9__UART4_TXD 0x0ec 0x2e4 0x000 0x02 0x000 243#define MX25_PAD_LD9__UART4_TXD 0x0ec 0x2e4 0x000 0x02 0x000
243#define MX25_PAD_LD9__FEC_COL 0x0ec 0x2e4 0x504 0x05 0x001 244#define MX25_PAD_LD9__FEC_COL 0x0ec 0x2e4 0x504 0x05 0x001
244#define MX25_PAD_LD9__SDHC2_CLK 0x0ec 0x2e4 0x4dc 0x06 0x000 245#define MX25_PAD_LD9__ESDHC2_CLK 0x0ec 0x2e4 0x4dc 0x06 0x000
245 246
246#define MX25_PAD_LD10__LD10 0x0f0 0x2e8 0x000 0x00 0x000 247#define MX25_PAD_LD10__LD10 0x0f0 0x2e8 0x000 0x00 0x000
247#define MX25_PAD_LD10__UART4_RTS 0x0f0 0x2e8 0x56c 0x02 0x000 248#define MX25_PAD_LD10__UART4_RTS 0x0f0 0x2e8 0x56c 0x02 0x000
@@ -250,7 +251,7 @@
250#define MX25_PAD_LD11__LD11 0x0f4 0x2ec 0x000 0x00 0x000 251#define MX25_PAD_LD11__LD11 0x0f4 0x2ec 0x000 0x00 0x000
251#define MX25_PAD_LD11__UART4_CTS 0x0f4 0x2ec 0x000 0x02 0x000 252#define MX25_PAD_LD11__UART4_CTS 0x0f4 0x2ec 0x000 0x02 0x000
252#define MX25_PAD_LD11__FEC_RDATA2 0x0f4 0x2ec 0x50c 0x05 0x001 253#define MX25_PAD_LD11__FEC_RDATA2 0x0f4 0x2ec 0x50c 0x05 0x001
253#define MX25_PAD_LD11__SDHC2_DAT1 0x0f4 0x2ec 0x4e8 0x06 0x000 254#define MX25_PAD_LD11__ESDHC2_DAT1 0x0f4 0x2ec 0x4e8 0x06 0x000
254 255
255#define MX25_PAD_LD12__LD12 0x0f8 0x2f0 0x000 0x00 0x000 256#define MX25_PAD_LD12__LD12 0x0f8 0x2f0 0x000 0x00 0x000
256#define MX25_PAD_LD12__CSPI2_MOSI 0x0f8 0x2f0 0x4a0 0x02 0x000 257#define MX25_PAD_LD12__CSPI2_MOSI 0x0f8 0x2f0 0x4a0 0x02 0x000
@@ -316,12 +317,13 @@
316#define MX25_PAD_CSI_D5__CSPI3_RDY 0x12c 0x324 0x000 0x07 0x000 317#define MX25_PAD_CSI_D5__CSPI3_RDY 0x12c 0x324 0x000 0x07 0x000
317 318
318#define MX25_PAD_CSI_D6__CSI_D6 0x130 0x328 0x000 0x00 0x000 319#define MX25_PAD_CSI_D6__CSI_D6 0x130 0x328 0x000 0x00 0x000
319#define MX25_PAD_CSI_D6__SDHC2_CMD 0x130 0x328 0x4e0 0x02 0x001 320/* SION must be set; see the comment for MX25_PAD_SD1_CMD__ESDHC1_CMD. */
321#define MX25_PAD_CSI_D6__ESDHC2_CMD 0x130 0x328 0x4e0 0x12 0x001
320#define MX25_PAD_CSI_D6__SIM1_PD0 0x130 0x328 0x000 0x04 0x000 322#define MX25_PAD_CSI_D6__SIM1_PD0 0x130 0x328 0x000 0x04 0x000
321#define MX25_PAD_CSI_D6__GPIO_1_31 0x130 0x328 0x000 0x05 0x000 323#define MX25_PAD_CSI_D6__GPIO_1_31 0x130 0x328 0x000 0x05 0x000
322 324
323#define MX25_PAD_CSI_D7__CSI_D7 0x134 0x32c 0x000 0x00 0x000 325#define MX25_PAD_CSI_D7__CSI_D7 0x134 0x32c 0x000 0x00 0x000
324#define MX25_PAD_CSI_D7__SDHC2_DAT_CLK 0x134 0x32C 0x4dc 0x02 0x001 326#define MX25_PAD_CSI_D7__ESDHC2_CLK 0x134 0x32C 0x4dc 0x02 0x001
325#define MX25_PAD_CSI_D7__GPIO_1_6 0x134 0x32c 0x000 0x05 0x000 327#define MX25_PAD_CSI_D7__GPIO_1_6 0x134 0x32c 0x000 0x05 0x000
326 328
327#define MX25_PAD_CSI_D8__CSI_D8 0x138 0x330 0x000 0x00 0x000 329#define MX25_PAD_CSI_D8__CSI_D8 0x138 0x330 0x000 0x00 0x000
@@ -336,22 +338,22 @@
336 338
337#define MX25_PAD_CSI_MCLK__CSI_MCLK 0x140 0x338 0x000 0x00 0x000 339#define MX25_PAD_CSI_MCLK__CSI_MCLK 0x140 0x338 0x000 0x00 0x000
338#define MX25_PAD_CSI_MCLK__AUD6_TXD 0x140 0x338 0x000 0x01 0x000 340#define MX25_PAD_CSI_MCLK__AUD6_TXD 0x140 0x338 0x000 0x01 0x000
339#define MX25_PAD_CSI_MCLK__SDHC2_DAT0 0x140 0x338 0x4e4 0x02 0x001 341#define MX25_PAD_CSI_MCLK__ESDHC2_DAT0 0x140 0x338 0x4e4 0x02 0x001
340#define MX25_PAD_CSI_MCLK__GPIO_1_8 0x140 0x338 0x000 0x05 0x000 342#define MX25_PAD_CSI_MCLK__GPIO_1_8 0x140 0x338 0x000 0x05 0x000
341 343
342#define MX25_PAD_CSI_VSYNC__CSI_VSYNC 0x144 0x33c 0x000 0x00 0x000 344#define MX25_PAD_CSI_VSYNC__CSI_VSYNC 0x144 0x33c 0x000 0x00 0x000
343#define MX25_PAD_CSI_VSYNC__AUD6_RXD 0x144 0x33c 0x000 0x01 0x000 345#define MX25_PAD_CSI_VSYNC__AUD6_RXD 0x144 0x33c 0x000 0x01 0x000
344#define MX25_PAD_CSI_VSYNC__SDHC2_DAT1 0x144 0x33c 0x4e8 0x02 0x001 346#define MX25_PAD_CSI_VSYNC__ESDHC2_DAT1 0x144 0x33c 0x4e8 0x02 0x001
345#define MX25_PAD_CSI_VSYNC__GPIO_1_9 0x144 0x33c 0x000 0x05 0x000 347#define MX25_PAD_CSI_VSYNC__GPIO_1_9 0x144 0x33c 0x000 0x05 0x000
346 348
347#define MX25_PAD_CSI_HSYNC__CSI_HSYNC 0x148 0x340 0x000 0x00 0x000 349#define MX25_PAD_CSI_HSYNC__CSI_HSYNC 0x148 0x340 0x000 0x00 0x000
348#define MX25_PAD_CSI_HSYNC__AUD6_TXC 0x148 0x340 0x000 0x01 0x000 350#define MX25_PAD_CSI_HSYNC__AUD6_TXC 0x148 0x340 0x000 0x01 0x000
349#define MX25_PAD_CSI_HSYNC__SDHC2_DAT2 0x148 0x340 0x4ec 0x02 0x001 351#define MX25_PAD_CSI_HSYNC__ESDHC2_DAT2 0x148 0x340 0x4ec 0x02 0x001
350#define MX25_PAD_CSI_HSYNC__GPIO_1_10 0x148 0x340 0x000 0x05 0x000 352#define MX25_PAD_CSI_HSYNC__GPIO_1_10 0x148 0x340 0x000 0x05 0x000
351 353
352#define MX25_PAD_CSI_PIXCLK__CSI_PIXCLK 0x14c 0x344 0x000 0x00 0x000 354#define MX25_PAD_CSI_PIXCLK__CSI_PIXCLK 0x14c 0x344 0x000 0x00 0x000
353#define MX25_PAD_CSI_PIXCLK__AUD6_TXFS 0x14c 0x344 0x000 0x01 0x000 355#define MX25_PAD_CSI_PIXCLK__AUD6_TXFS 0x14c 0x344 0x000 0x01 0x000
354#define MX25_PAD_CSI_PIXCLK__SDHC2_DAT3 0x14c 0x344 0x4f0 0x02 0x001 356#define MX25_PAD_CSI_PIXCLK__ESDHC2_DAT3 0x14c 0x344 0x4f0 0x02 0x001
355#define MX25_PAD_CSI_PIXCLK__GPIO_1_11 0x14c 0x344 0x000 0x05 0x000 357#define MX25_PAD_CSI_PIXCLK__GPIO_1_11 0x14c 0x344 0x000 0x05 0x000
356 358
357#define MX25_PAD_I2C1_CLK__I2C1_CLK 0x150 0x348 0x000 0x00 0x000 359#define MX25_PAD_I2C1_CLK__I2C1_CLK 0x150 0x348 0x000 0x00 0x000
@@ -419,37 +421,37 @@
419#define MX25_PAD_UART2_CTS__GPIO_4_29 0x18c 0x384 0x000 0x05 0x000 421#define MX25_PAD_UART2_CTS__GPIO_4_29 0x18c 0x384 0x000 0x05 0x000
420 422
421/* 423/*
422 * Removing the SION bit from MX25_PAD_SD1_CMD__SD1_CMD breaks detecting an SD 424 * Removing the SION bit from MX25_PAD_*__ESDHCn_CMD breaks detecting an SD
423 * card. According to the i.MX25 reference manual (e.g. Figure 23-2 in IMX25RM 425 * card. According to the i.MX25 reference manual (e.g. Figure 23-2 in IMX25RM
424 * Rev. 2 from 01/2011) this pin is bidirectional. So it seems to be a silicon 426 * Rev. 2 from 01/2011) this pin is bidirectional. So it seems to be a silicon
425 * bug that configuring the SD1_CMD function doesn't enable the input path for 427 * bug that configuring the ESDHCn_CMD function doesn't enable the input path
426 * this pin. 428 * for this pin.
427 * This might have side effects for other hardware units that are connected to 429 * This might have side effects for other hardware units that are connected to
428 * that pin and use the respective function as input. 430 * that pin and use the respective function as input.
429 */ 431 */
430#define MX25_PAD_SD1_CMD__SD1_CMD 0x190 0x388 0x000 0x10 0x000 432#define MX25_PAD_SD1_CMD__ESDHC1_CMD 0x190 0x388 0x000 0x10 0x000
431#define MX25_PAD_SD1_CMD__CSPI2_MOSI 0x190 0x388 0x4a0 0x01 0x001 433#define MX25_PAD_SD1_CMD__CSPI2_MOSI 0x190 0x388 0x4a0 0x01 0x001
432#define MX25_PAD_SD1_CMD__FEC_RDATA2 0x190 0x388 0x50c 0x02 0x002 434#define MX25_PAD_SD1_CMD__FEC_RDATA2 0x190 0x388 0x50c 0x02 0x002
433#define MX25_PAD_SD1_CMD__GPIO_2_23 0x190 0x388 0x000 0x05 0x000 435#define MX25_PAD_SD1_CMD__GPIO_2_23 0x190 0x388 0x000 0x05 0x000
434 436
435#define MX25_PAD_SD1_CLK__SD1_CLK 0x194 0x38c 0x000 0x00 0x000 437#define MX25_PAD_SD1_CLK__ESDHC1_CLK 0x194 0x38c 0x000 0x00 0x000
436#define MX25_PAD_SD1_CLK__CSPI2_MISO 0x194 0x38c 0x49c 0x01 0x001 438#define MX25_PAD_SD1_CLK__CSPI2_MISO 0x194 0x38c 0x49c 0x01 0x001
437#define MX25_PAD_SD1_CLK__FEC_RDATA3 0x194 0x38c 0x510 0x02 0x002 439#define MX25_PAD_SD1_CLK__FEC_RDATA3 0x194 0x38c 0x510 0x02 0x002
438#define MX25_PAD_SD1_CLK__GPIO_2_24 0x194 0x38c 0x000 0x05 0x000 440#define MX25_PAD_SD1_CLK__GPIO_2_24 0x194 0x38c 0x000 0x05 0x000
439 441
440#define MX25_PAD_SD1_DATA0__SD1_DATA0 0x198 0x390 0x000 0x00 0x000 442#define MX25_PAD_SD1_DATA0__ESDHC1_DAT0 0x198 0x390 0x000 0x00 0x000
441#define MX25_PAD_SD1_DATA0__CSPI2_SCLK 0x198 0x390 0x494 0x01 0x001 443#define MX25_PAD_SD1_DATA0__CSPI2_SCLK 0x198 0x390 0x494 0x01 0x001
442#define MX25_PAD_SD1_DATA0__GPIO_2_25 0x198 0x390 0x000 0x05 0x000 444#define MX25_PAD_SD1_DATA0__GPIO_2_25 0x198 0x390 0x000 0x05 0x000
443 445
444#define MX25_PAD_SD1_DATA1__SD1_DATA1 0x19c 0x394 0x000 0x00 0x000 446#define MX25_PAD_SD1_DATA1__ESDHC1_DAT1 0x19c 0x394 0x000 0x00 0x000
445#define MX25_PAD_SD1_DATA1__AUD7_RXD 0x19c 0x394 0x478 0x03 0x000 447#define MX25_PAD_SD1_DATA1__AUD7_RXD 0x19c 0x394 0x478 0x03 0x000
446#define MX25_PAD_SD1_DATA1__GPIO_2_26 0x19c 0x394 0x000 0x05 0x000 448#define MX25_PAD_SD1_DATA1__GPIO_2_26 0x19c 0x394 0x000 0x05 0x000
447 449
448#define MX25_PAD_SD1_DATA2__SD1_DATA2 0x1a0 0x398 0x000 0x00 0x000 450#define MX25_PAD_SD1_DATA2__ESDHC1_DAT2 0x1a0 0x398 0x000 0x00 0x000
449#define MX25_PAD_SD1_DATA2__FEC_RX_CLK 0x1a0 0x398 0x514 0x02 0x002 451#define MX25_PAD_SD1_DATA2__FEC_RX_CLK 0x1a0 0x398 0x514 0x02 0x002
450#define MX25_PAD_SD1_DATA2__GPIO_2_27 0x1a0 0x398 0x000 0x05 0x000 452#define MX25_PAD_SD1_DATA2__GPIO_2_27 0x1a0 0x398 0x000 0x05 0x000
451 453
452#define MX25_PAD_SD1_DATA3__SD1_DATA3 0x1a4 0x39c 0x000 0x00 0x000 454#define MX25_PAD_SD1_DATA3__ESDHC1_DAT3 0x1a4 0x39c 0x000 0x00 0x000
453#define MX25_PAD_SD1_DATA3__FEC_CRS 0x1a4 0x39c 0x508 0x02 0x002 455#define MX25_PAD_SD1_DATA3__FEC_CRS 0x1a4 0x39c 0x508 0x02 0x002
454#define MX25_PAD_SD1_DATA3__GPIO_2_28 0x1a4 0x39c 0x000 0x05 0x000 456#define MX25_PAD_SD1_DATA3__GPIO_2_28 0x1a4 0x39c 0x000 0x05 0x000
455 457
@@ -496,6 +498,8 @@
496#define MX25_PAD_KPP_COL3__GPIO_3_4 0x1c4 0x3bc 0x000 0x05 0x000 498#define MX25_PAD_KPP_COL3__GPIO_3_4 0x1c4 0x3bc 0x000 0x05 0x000
497 499
498#define MX25_PAD_FEC_MDC__FEC_MDC 0x1c8 0x3c0 0x000 0x00 0x000 500#define MX25_PAD_FEC_MDC__FEC_MDC 0x1c8 0x3c0 0x000 0x00 0x000
501/* SION must be set; see the comment for MX25_PAD_SD1_CMD__ESDHC1_CMD. */
502#define MX25_PAD_FEC_MDC__ESDHC2_CMD 0x1c8 0x3c0 0x4e0 0x11 0x002
499#define MX25_PAD_FEC_MDC__AUD4_TXD 0x1c8 0x3c0 0x464 0x02 0x001 503#define MX25_PAD_FEC_MDC__AUD4_TXD 0x1c8 0x3c0 0x464 0x02 0x001
500#define MX25_PAD_FEC_MDC__GPIO_3_5 0x1c8 0x3c0 0x000 0x05 0x000 504#define MX25_PAD_FEC_MDC__GPIO_3_5 0x1c8 0x3c0 0x000 0x05 0x000
501 505
@@ -601,4 +605,28 @@
601#define MX25_PAD_BOOT_MODE1__BOOT_MODE1 0x228 0x000 0x000 0x00 0x000 605#define MX25_PAD_BOOT_MODE1__BOOT_MODE1 0x228 0x000 0x000 0x00 0x000
602#define MX25_PAD_BOOT_MODE1__GPIO_4_31 0x228 0x000 0x000 0x05 0x000 606#define MX25_PAD_BOOT_MODE1__GPIO_4_31 0x228 0x000 0x000 0x05 0x000
603 607
608/*
609 * Compatibility defines for out-of-tree users. You should update if you make
610 * use of one of them.
611 */
612#define MX25_PAD_D15__SDHC1_DAT7 MX25_PAD_D15__ESDHC1_DAT7
613#define MX25_PAD_D14__SDHC1_DAT6 MX25_PAD_D14__ESDHC1_DAT6
614#define MX25_PAD_D13__SDHC1_DAT5 MX25_PAD_D13__ESDHC1_DAT5
615#define MX25_PAD_D12__SDHC1_DAT4 MX25_PAD_D12__ESDHC1_DAT4
616#define MX25_PAD_LD8__SDHC2_CMD MX25_PAD_LD8__ESDHC2_CMD
617#define MX25_PAD_LD9__SDHC2_CLK MX25_PAD_LD9__ESDHC2_CLK
618#define MX25_PAD_LD11__SDHC2_DAT1 MX25_PAD_LD11__ESDHC2_DAT1
619#define MX25_PAD_CSI_D6__SDHC2_CMD MX25_PAD_CSI_D6__ESDHC2_CMD
620#define MX25_PAD_CSI_D7__SDHC2_DAT_CLK MX25_PAD_CSI_D7__ESDHC2_CLK
621#define MX25_PAD_CSI_MCLK__SDHC2_DAT0 MX25_PAD_CSI_MCLK__ESDHC2_DAT0
622#define MX25_PAD_CSI_VSYNC__SDHC2_DAT1 MX25_PAD_CSI_VSYNC__ESDHC2_DAT1
623#define MX25_PAD_CSI_HSYNC__SDHC2_DAT2 MX25_PAD_CSI_HSYNC__ESDHC2_DAT2
624#define MX25_PAD_CSI_PIXCLK__SDHC2_DAT3 MX25_PAD_CSI_PIXCLK__ESDHC2_DAT3
625#define MX25_PAD_SD1_CMD__SD1_CMD MX25_PAD_SD1_CMD__ESDHC1_CMD
626#define MX25_PAD_SD1_CLK__SD1_CLK MX25_PAD_SD1_CLK__ESDHC1_CLK
627#define MX25_PAD_SD1_DATA0__SD1_DATA0 MX25_PAD_SD1_DATA0__ESDHC1_DAT0
628#define MX25_PAD_SD1_DATA1__SD1_DATA1 MX25_PAD_SD1_DATA1__ESDHC1_DAT1
629#define MX25_PAD_SD1_DATA2__SD1_DATA2 MX25_PAD_SD1_DATA2__ESDHC1_DAT2
630#define MX25_PAD_SD1_DATA3__SD1_DATA3 MX25_PAD_SD1_DATA3__ESDHC1_DAT3
631
604#endif /* __DTS_IMX25_PINFUNC_H */ 632#endif /* __DTS_IMX25_PINFUNC_H */
diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi
index 9445f8e1473c..cf70df20b19c 100644
--- a/arch/arm/boot/dts/imx25.dtsi
+++ b/arch/arm/boot/dts/imx25.dtsi
@@ -22,7 +22,7 @@
22 * Also for U-Boot there must be a pre-existing /memory node. 22 * Also for U-Boot there must be a pre-existing /memory node.
23 */ 23 */
24 chosen {}; 24 chosen {};
25 memory { device_type = "memory"; reg = <0 0>; }; 25 memory { device_type = "memory"; };
26 26
27 aliases { 27 aliases {
28 ethernet0 = &fec; 28 ethernet0 = &fec;
@@ -269,6 +269,7 @@
269 dmas = <&sdma 24 1 0>, 269 dmas = <&sdma 24 1 0>,
270 <&sdma 25 1 0>; 270 <&sdma 25 1 0>;
271 dma-names = "rx", "tx"; 271 dma-names = "rx", "tx";
272 fsl,fifo-depth = <15>;
272 status = "disabled"; 273 status = "disabled";
273 }; 274 };
274 275
@@ -329,6 +330,7 @@
329 dmas = <&sdma 28 1 0>, 330 dmas = <&sdma 28 1 0>,
330 <&sdma 29 1 0>; 331 <&sdma 29 1 0>;
331 dma-names = "rx", "tx"; 332 dma-names = "rx", "tx";
333 fsl,fifo-depth = <15>;
332 status = "disabled"; 334 status = "disabled";
333 }; 335 };
334 336
diff --git a/arch/arm/boot/dts/imx27-apf27.dts b/arch/arm/boot/dts/imx27-apf27.dts
index 73aae4f5e539..66941cdbf244 100644
--- a/arch/arm/boot/dts/imx27-apf27.dts
+++ b/arch/arm/boot/dts/imx27-apf27.dts
@@ -19,7 +19,7 @@
19 model = "Armadeus Systems APF27 module"; 19 model = "Armadeus Systems APF27 module";
20 compatible = "armadeus,imx27-apf27", "fsl,imx27"; 20 compatible = "armadeus,imx27-apf27", "fsl,imx27";
21 21
22 memory { 22 memory@a0000000 {
23 reg = <0xa0000000 0x04000000>; 23 reg = <0xa0000000 0x04000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi b/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi
index 2cf896c505f9..9c455dcbe6eb 100644
--- a/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi
+++ b/arch/arm/boot/dts/imx27-eukrea-cpuimx27.dtsi
@@ -16,21 +16,14 @@
16 model = "Eukrea CPUIMX27"; 16 model = "Eukrea CPUIMX27";
17 compatible = "eukrea,cpuimx27", "fsl,imx27"; 17 compatible = "eukrea,cpuimx27", "fsl,imx27";
18 18
19 memory { 19 memory@a0000000 {
20 reg = <0xa0000000 0x04000000>; 20 reg = <0xa0000000 0x04000000>;
21 }; 21 };
22 22
23 clocks { 23 clk14745600: clk-uart {
24 #address-cells = <1>; 24 compatible = "fixed-clock";
25 #size-cells = <0>; 25 #clock-cells = <0>;
26 compatible = "simple-bus"; 26 clock-frequency = <14745600>;
27
28 clk14745600: clock@0 {
29 #clock-cells = <0>;
30 compatible = "fixed-clock";
31 clock-frequency = <14745600>;
32 reg = <0>;
33 };
34 }; 27 };
35}; 28};
36 29
diff --git a/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts b/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts
index f56535768ee8..15145e7f9778 100644
--- a/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts
+++ b/arch/arm/boot/dts/imx27-eukrea-mbimxsd27-baseboard.dts
@@ -84,7 +84,7 @@
84 cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>; 84 cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>;
85 status = "okay"; 85 status = "okay";
86 86
87 ads7846 { 87 ads7846@0 {
88 compatible = "ti,ads7846"; 88 compatible = "ti,ads7846";
89 pinctrl-names = "default"; 89 pinctrl-names = "default";
90 pinctrl-0 = <&pinctrl_touch>; 90 pinctrl-0 = <&pinctrl_touch>;
diff --git a/arch/arm/boot/dts/imx27-pdk.dts b/arch/arm/boot/dts/imx27-pdk.dts
index 2a140c8ae6d2..924b90c9985d 100644
--- a/arch/arm/boot/dts/imx27-pdk.dts
+++ b/arch/arm/boot/dts/imx27-pdk.dts
@@ -16,7 +16,7 @@
16 model = "Freescale i.MX27 Product Development Kit"; 16 model = "Freescale i.MX27 Product Development Kit";
17 compatible = "fsl,imx27-pdk", "fsl,imx27"; 17 compatible = "fsl,imx27-pdk", "fsl,imx27";
18 18
19 memory { 19 memory@a0000000 {
20 reg = <0xa0000000 0x08000000>; 20 reg = <0xa0000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi b/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi
index 0b8490b21a38..cbad7c88c58c 100644
--- a/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi
+++ b/arch/arm/boot/dts/imx27-phytec-phycard-s-som.dtsi
@@ -17,7 +17,7 @@
17 model = "Phytec pca100"; 17 model = "Phytec pca100";
18 compatible = "phytec,imx27-pca100", "fsl,imx27"; 18 compatible = "phytec,imx27-pca100", "fsl,imx27";
19 19
20 memory { 20 memory@a0000000 {
21 reg = <0xa0000000 0x08000000>; /* 128MB */ 21 reg = <0xa0000000 0x08000000>; /* 128MB */
22 }; 22 };
23}; 23};
diff --git a/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi
index c9095b7654c6..ec466b4bfd41 100644
--- a/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi
+++ b/arch/arm/boot/dts/imx27-phytec-phycore-som.dtsi
@@ -16,7 +16,7 @@
16 model = "Phytec pcm038"; 16 model = "Phytec pcm038";
17 compatible = "phytec,imx27-pcm038", "fsl,imx27"; 17 compatible = "phytec,imx27-pcm038", "fsl,imx27";
18 18
19 memory { 19 memory@a0000000 {
20 reg = <0xa0000000 0x08000000>; 20 reg = <0xa0000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi
index 15d85f1f85fd..6585b00c3917 100644
--- a/arch/arm/boot/dts/imx27.dtsi
+++ b/arch/arm/boot/dts/imx27.dtsi
@@ -26,7 +26,7 @@
26 * Also for U-Boot there must be a pre-existing /memory node. 26 * Also for U-Boot there must be a pre-existing /memory node.
27 */ 27 */
28 chosen {}; 28 chosen {};
29 memory { device_type = "memory"; reg = <0 0>; }; 29 memory { device_type = "memory"; };
30 30
31 aliases { 31 aliases {
32 ethernet0 = &fec; 32 ethernet0 = &fec;
diff --git a/arch/arm/boot/dts/imx28-apf28.dts b/arch/arm/boot/dts/imx28-apf28.dts
index 070e59cbdd8b..bab78346fa9f 100644
--- a/arch/arm/boot/dts/imx28-apf28.dts
+++ b/arch/arm/boot/dts/imx28-apf28.dts
@@ -16,7 +16,7 @@
16 model = "Armadeus Systems APF28 module"; 16 model = "Armadeus Systems APF28 module";
17 compatible = "armadeus,imx28-apf28", "fsl,imx28"; 17 compatible = "armadeus,imx28-apf28", "fsl,imx28";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x08000000>; 20 reg = <0x40000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx28-apx4devkit.dts b/arch/arm/boot/dts/imx28-apx4devkit.dts
index ae078341fb60..96faa53ba44c 100644
--- a/arch/arm/boot/dts/imx28-apx4devkit.dts
+++ b/arch/arm/boot/dts/imx28-apx4devkit.dts
@@ -6,7 +6,7 @@
6 model = "Bluegiga APX4 Development Kit"; 6 model = "Bluegiga APX4 Development Kit";
7 compatible = "bluegiga,apx4devkit", "fsl,imx28"; 7 compatible = "bluegiga,apx4devkit", "fsl,imx28";
8 8
9 memory { 9 memory@40000000 {
10 reg = <0x40000000 0x04000000>; 10 reg = <0x40000000 0x04000000>;
11 }; 11 };
12 12
@@ -82,7 +82,8 @@
82 fsl,pull-up = <MXS_PULL_ENABLE>; 82 fsl,pull-up = <MXS_PULL_ENABLE>;
83 }; 83 };
84 84
85 mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4 { 85 mmc2_sck_cfg_apx4: mmc2-sck-cfg-apx4@0 {
86 reg = <0>;
86 fsl,pinmux-ids = < 87 fsl,pinmux-ids = <
87 MX28_PAD_SSP0_DATA7__SSP2_SCK 88 MX28_PAD_SSP0_DATA7__SSP2_SCK
88 >; 89 >;
@@ -146,6 +147,7 @@
146 sgtl5000: codec@a { 147 sgtl5000: codec@a {
147 compatible = "fsl,sgtl5000"; 148 compatible = "fsl,sgtl5000";
148 reg = <0x0a>; 149 reg = <0x0a>;
150 #sound-dai-cells = <0>;
149 VDDA-supply = <&reg_3p3v>; 151 VDDA-supply = <&reg_3p3v>;
150 VDDIO-supply = <&reg_3p3v>; 152 VDDIO-supply = <&reg_3p3v>;
151 clocks = <&saif0>; 153 clocks = <&saif0>;
diff --git a/arch/arm/boot/dts/imx28-cfa10036.dts b/arch/arm/boot/dts/imx28-cfa10036.dts
index 570aa339a05e..e54f5aba7091 100644
--- a/arch/arm/boot/dts/imx28-cfa10036.dts
+++ b/arch/arm/boot/dts/imx28-cfa10036.dts
@@ -16,7 +16,7 @@
16 model = "Crystalfontz CFA-10036 Board"; 16 model = "Crystalfontz CFA-10036 Board";
17 compatible = "crystalfontz,cfa10036", "fsl,imx28"; 17 compatible = "crystalfontz,cfa10036", "fsl,imx28";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x08000000>; 20 reg = <0x40000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx28-cfa10049.dts b/arch/arm/boot/dts/imx28-cfa10049.dts
index 4cd52d53cf00..60e5c7fd5035 100644
--- a/arch/arm/boot/dts/imx28-cfa10049.dts
+++ b/arch/arm/boot/dts/imx28-cfa10049.dts
@@ -19,6 +19,71 @@
19 model = "Crystalfontz CFA-10049 Board"; 19 model = "Crystalfontz CFA-10049 Board";
20 compatible = "crystalfontz,cfa10049", "crystalfontz,cfa10036", "fsl,imx28"; 20 compatible = "crystalfontz,cfa10049", "crystalfontz,cfa10036", "fsl,imx28";
21 21
22 i2cmux {
23 compatible = "i2c-mux-gpio";
24 #address-cells = <1>;
25 #size-cells = <0>;
26 pinctrl-names = "default";
27 pinctrl-0 = <&i2cmux_pins_cfa10049>;
28 mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
29 i2c-parent = <&i2c1>;
30
31 i2c@0 {
32 #address-cells = <1>;
33 #size-cells = <0>;
34 reg = <0>;
35
36 adc0: nau7802@2a {
37 compatible = "nuvoton,nau7802";
38 reg = <0x2a>;
39 nuvoton,vldo = <3000>;
40 };
41 };
42
43 i2c@1 {
44 #address-cells = <1>;
45 #size-cells = <0>;
46 reg = <1>;
47
48 adc1: nau7802@2a {
49 compatible = "nuvoton,nau7802";
50 reg = <0x2a>;
51 nuvoton,vldo = <3000>;
52 };
53 };
54
55 i2c@2 {
56 #address-cells = <1>;
57 #size-cells = <0>;
58 reg = <2>;
59
60 adc2: nau7802@2a {
61 compatible = "nuvoton,nau7802";
62 reg = <0x2a>;
63 nuvoton,vldo = <3000>;
64 };
65 };
66
67 i2c@3 {
68 reg = <3>;
69 #address-cells = <1>;
70 #size-cells = <0>;
71
72 pca9555: pca9555@20 {
73 compatible = "nxp,pca9555";
74 pinctrl-names = "default";
75 pinctrl-0 = <&pca_pins_cfa10049>;
76 interrupt-parent = <&gpio2>;
77 interrupts = <19 0x2>;
78 gpio-controller;
79 #gpio-cells = <2>;
80 interrupt-controller;
81 #interrupt-cells = <2>;
82 reg = <0x20>;
83 };
84 };
85 };
86
22 apb@80000000 { 87 apb@80000000 {
23 apbh@80000000 { 88 apbh@80000000 {
24 pinctrl@80018000 { 89 pinctrl@80018000 {
@@ -219,71 +284,6 @@
219 status = "okay"; 284 status = "okay";
220 }; 285 };
221 286
222 i2cmux {
223 compatible = "i2c-mux-gpio";
224 #address-cells = <1>;
225 #size-cells = <0>;
226 pinctrl-names = "default";
227 pinctrl-0 = <&i2cmux_pins_cfa10049>;
228 mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
229 i2c-parent = <&i2c1>;
230
231 i2c@0 {
232 #address-cells = <1>;
233 #size-cells = <0>;
234 reg = <0>;
235
236 adc0: nau7802@2a {
237 compatible = "nuvoton,nau7802";
238 reg = <0x2a>;
239 nuvoton,vldo = <3000>;
240 };
241 };
242
243 i2c@1 {
244 #address-cells = <1>;
245 #size-cells = <0>;
246 reg = <1>;
247
248 adc1: nau7802@2a {
249 compatible = "nuvoton,nau7802";
250 reg = <0x2a>;
251 nuvoton,vldo = <3000>;
252 };
253 };
254
255 i2c@2 {
256 #address-cells = <1>;
257 #size-cells = <0>;
258 reg = <2>;
259
260 adc2: nau7802@2a {
261 compatible = "nuvoton,nau7802";
262 reg = <0x2a>;
263 nuvoton,vldo = <3000>;
264 };
265 };
266
267 i2c@3 {
268 reg = <3>;
269 #address-cells = <1>;
270 #size-cells = <0>;
271
272 pca9555: pca9555@20 {
273 compatible = "nxp,pca9555";
274 pinctrl-names = "default";
275 pinctrl-0 = <&pca_pins_cfa10049>;
276 interrupt-parent = <&gpio2>;
277 interrupts = <19 0x2>;
278 gpio-controller;
279 #gpio-cells = <2>;
280 interrupt-controller;
281 #interrupt-cells = <2>;
282 reg = <0x20>;
283 };
284 };
285 };
286
287 usbphy1: usbphy@8007e000 { 287 usbphy1: usbphy@8007e000 {
288 status = "okay"; 288 status = "okay";
289 }; 289 };
diff --git a/arch/arm/boot/dts/imx28-duckbill-2-485.dts b/arch/arm/boot/dts/imx28-duckbill-2-485.dts
index bd3fd470f9c3..97084e463d7c 100644
--- a/arch/arm/boot/dts/imx28-duckbill-2-485.dts
+++ b/arch/arm/boot/dts/imx28-duckbill-2-485.dts
@@ -19,7 +19,7 @@
19 model = "I2SE Duckbill 2 485"; 19 model = "I2SE Duckbill 2 485";
20 compatible = "i2se,duckbill-2-485", "i2se,duckbill-2", "fsl,imx28"; 20 compatible = "i2se,duckbill-2-485", "i2se,duckbill-2", "fsl,imx28";
21 21
22 memory { 22 memory@40000000 {
23 reg = <0x40000000 0x08000000>; 23 reg = <0x40000000 0x08000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts b/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts
index 4450047885eb..7f8d40a9c67e 100644
--- a/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts
+++ b/arch/arm/boot/dts/imx28-duckbill-2-enocean.dts
@@ -20,7 +20,7 @@
20 model = "I2SE Duckbill 2 EnOcean"; 20 model = "I2SE Duckbill 2 EnOcean";
21 compatible = "i2se,duckbill-2-enocean", "i2se,duckbill-2", "fsl,imx28"; 21 compatible = "i2se,duckbill-2-enocean", "i2se,duckbill-2", "fsl,imx28";
22 22
23 memory { 23 memory@40000000 {
24 reg = <0x40000000 0x08000000>; 24 reg = <0x40000000 0x08000000>;
25 }; 25 };
26 26
diff --git a/arch/arm/boot/dts/imx28-duckbill-2-spi.dts b/arch/arm/boot/dts/imx28-duckbill-2-spi.dts
index 927732efca98..13e7b134da9e 100644
--- a/arch/arm/boot/dts/imx28-duckbill-2-spi.dts
+++ b/arch/arm/boot/dts/imx28-duckbill-2-spi.dts
@@ -23,7 +23,7 @@
23 ethernet1 = &qca7000; 23 ethernet1 = &qca7000;
24 }; 24 };
25 25
26 memory { 26 memory@40000000 {
27 reg = <0x40000000 0x08000000>; 27 reg = <0x40000000 0x08000000>;
28 }; 28 };
29 29
diff --git a/arch/arm/boot/dts/imx28-duckbill-2.dts b/arch/arm/boot/dts/imx28-duckbill-2.dts
index 7fa3d759505c..88556c93b00f 100644
--- a/arch/arm/boot/dts/imx28-duckbill-2.dts
+++ b/arch/arm/boot/dts/imx28-duckbill-2.dts
@@ -19,7 +19,7 @@
19 model = "I2SE Duckbill 2"; 19 model = "I2SE Duckbill 2";
20 compatible = "i2se,duckbill-2", "fsl,imx28"; 20 compatible = "i2se,duckbill-2", "fsl,imx28";
21 21
22 memory { 22 memory@40000000 {
23 reg = <0x40000000 0x08000000>; 23 reg = <0x40000000 0x08000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx28-duckbill.dts b/arch/arm/boot/dts/imx28-duckbill.dts
index 3e4385d4ed78..f286bfe699be 100644
--- a/arch/arm/boot/dts/imx28-duckbill.dts
+++ b/arch/arm/boot/dts/imx28-duckbill.dts
@@ -18,7 +18,7 @@
18 model = "I2SE Duckbill"; 18 model = "I2SE Duckbill";
19 compatible = "i2se,duckbill", "fsl,imx28"; 19 compatible = "i2se,duckbill", "fsl,imx28";
20 20
21 memory { 21 memory@40000000 {
22 reg = <0x40000000 0x08000000>; 22 reg = <0x40000000 0x08000000>;
23 }; 23 };
24 24
diff --git a/arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dts b/arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dts
index 7c1572c5a4fb..b70f3349c350 100644
--- a/arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dts
+++ b/arch/arm/boot/dts/imx28-eukrea-mbmx283lc.dts
@@ -23,7 +23,7 @@
23 model = "Eukrea Electromatique MBMX283LC"; 23 model = "Eukrea Electromatique MBMX283LC";
24 compatible = "eukrea,mbmx283lc", "eukrea,mbmx28lc", "fsl,imx28"; 24 compatible = "eukrea,mbmx283lc", "eukrea,mbmx28lc", "fsl,imx28";
25 25
26 memory { 26 memory@40000000 {
27 reg = <0x40000000 0x04000000>; 27 reg = <0x40000000 0x04000000>;
28 }; 28 };
29}; 29};
diff --git a/arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dts b/arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dts
index b61fd61eb1c7..65efb78ac040 100644
--- a/arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dts
+++ b/arch/arm/boot/dts/imx28-eukrea-mbmx287lc.dts
@@ -22,7 +22,7 @@
22 model = "Eukrea Electromatique MBMX287LC"; 22 model = "Eukrea Electromatique MBMX287LC";
23 compatible = "eukrea,mbmx287lc", "eukrea,mbmx283lc", "eukrea,mbmx28lc", "fsl,imx28"; 23 compatible = "eukrea,mbmx287lc", "eukrea,mbmx283lc", "eukrea,mbmx28lc", "fsl,imx28";
24 24
25 memory { 25 memory@40000000 {
26 reg = <0x40000000 0x08000000>; 26 reg = <0x40000000 0x08000000>;
27 }; 27 };
28}; 28};
diff --git a/arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi b/arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi
index 49ab40838e69..ff1328ce7d37 100644
--- a/arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi
+++ b/arch/arm/boot/dts/imx28-eukrea-mbmx28lc.dtsi
@@ -151,6 +151,7 @@
151 sgtl5000: codec@a { 151 sgtl5000: codec@a {
152 compatible = "fsl,sgtl5000"; 152 compatible = "fsl,sgtl5000";
153 reg = <0x0a>; 153 reg = <0x0a>;
154 #sound-dai-cells = <0>;
154 VDDA-supply = <&reg_3p3v>; 155 VDDA-supply = <&reg_3p3v>;
155 VDDIO-supply = <&reg_3p3v>; 156 VDDIO-supply = <&reg_3p3v>;
156 clocks = <&saif0>; 157 clocks = <&saif0>;
diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts
index 7f5b80402c54..b0d39654aeb3 100644
--- a/arch/arm/boot/dts/imx28-evk.dts
+++ b/arch/arm/boot/dts/imx28-evk.dts
@@ -16,7 +16,7 @@
16 model = "Freescale i.MX28 Evaluation Kit"; 16 model = "Freescale i.MX28 Evaluation Kit";
17 compatible = "fsl,imx28-evk", "fsl,imx28"; 17 compatible = "fsl,imx28-evk", "fsl,imx28";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x08000000>; 20 reg = <0x40000000 0x08000000>;
21 }; 21 };
22 22
@@ -197,6 +197,7 @@
197 sgtl5000: codec@a { 197 sgtl5000: codec@a {
198 compatible = "fsl,sgtl5000"; 198 compatible = "fsl,sgtl5000";
199 reg = <0x0a>; 199 reg = <0x0a>;
200 #sound-dai-cells = <0>;
200 VDDA-supply = <&reg_3p3v>; 201 VDDA-supply = <&reg_3p3v>;
201 VDDIO-supply = <&reg_3p3v>; 202 VDDIO-supply = <&reg_3p3v>;
202 clocks = <&saif0>; 203 clocks = <&saif0>;
diff --git a/arch/arm/boot/dts/imx28-m28.dtsi b/arch/arm/boot/dts/imx28-m28.dtsi
index a69856e41ba4..0ec415e1ff58 100644
--- a/arch/arm/boot/dts/imx28-m28.dtsi
+++ b/arch/arm/boot/dts/imx28-m28.dtsi
@@ -15,7 +15,7 @@
15 model = "Aries/DENX M28"; 15 model = "Aries/DENX M28";
16 compatible = "aries,m28", "denx,m28", "fsl,imx28"; 16 compatible = "aries,m28", "denx,m28", "fsl,imx28";
17 17
18 memory { 18 memory@40000000 {
19 reg = <0x40000000 0x08000000>; 19 reg = <0x40000000 0x08000000>;
20 }; 20 };
21 21
diff --git a/arch/arm/boot/dts/imx28-m28cu3.dts b/arch/arm/boot/dts/imx28-m28cu3.dts
index 9d6c8fe28d74..3bb5ffc644d6 100644
--- a/arch/arm/boot/dts/imx28-m28cu3.dts
+++ b/arch/arm/boot/dts/imx28-m28cu3.dts
@@ -16,7 +16,7 @@
16 model = "MSR M28CU3"; 16 model = "MSR M28CU3";
17 compatible = "msr,m28cu3", "fsl,imx28"; 17 compatible = "msr,m28cu3", "fsl,imx28";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x08000000>; 20 reg = <0x40000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx28-m28evk.dts b/arch/arm/boot/dts/imx28-m28evk.dts
index 22aa025cab1e..7d97a0ce74a3 100644
--- a/arch/arm/boot/dts/imx28-m28evk.dts
+++ b/arch/arm/boot/dts/imx28-m28evk.dts
@@ -140,6 +140,7 @@
140 sgtl5000: codec@a { 140 sgtl5000: codec@a {
141 compatible = "fsl,sgtl5000"; 141 compatible = "fsl,sgtl5000";
142 reg = <0x0a>; 142 reg = <0x0a>;
143 #sound-dai-cells = <0>;
143 VDDA-supply = <&reg_3p3v>; 144 VDDA-supply = <&reg_3p3v>;
144 VDDIO-supply = <&reg_3p3v>; 145 VDDIO-supply = <&reg_3p3v>;
145 clocks = <&saif0>; 146 clocks = <&saif0>;
diff --git a/arch/arm/boot/dts/imx28-sps1.dts b/arch/arm/boot/dts/imx28-sps1.dts
index 0ce3cb8e7914..2393e83979e0 100644
--- a/arch/arm/boot/dts/imx28-sps1.dts
+++ b/arch/arm/boot/dts/imx28-sps1.dts
@@ -16,7 +16,7 @@
16 model = "SchulerControl GmbH, SC SPS 1"; 16 model = "SchulerControl GmbH, SC SPS 1";
17 compatible = "schulercontrol,imx28-sps1", "fsl,imx28"; 17 compatible = "schulercontrol,imx28-sps1", "fsl,imx28";
18 18
19 memory { 19 memory@40000000 {
20 reg = <0x40000000 0x08000000>; 20 reg = <0x40000000 0x08000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx28-ts4600.dts b/arch/arm/boot/dts/imx28-ts4600.dts
index 1e391c9f1b7a..f8a09a8c2c36 100644
--- a/arch/arm/boot/dts/imx28-ts4600.dts
+++ b/arch/arm/boot/dts/imx28-ts4600.dts
@@ -19,7 +19,7 @@
19 model = "Technologic Systems i.MX28 TS-4600"; 19 model = "Technologic Systems i.MX28 TS-4600";
20 compatible = "technologic,imx28-ts4600", "fsl,imx28"; 20 compatible = "technologic,imx28-ts4600", "fsl,imx28";
21 21
22 memory { 22 memory@40000000 {
23 reg = <0x40000000 0x10000000>; /* 256MB */ 23 reg = <0x40000000 0x10000000>; /* 256MB */
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts
index 152621ea37db..687186358c18 100644
--- a/arch/arm/boot/dts/imx28-tx28.dts
+++ b/arch/arm/boot/dts/imx28-tx28.dts
@@ -65,8 +65,8 @@
65 usbotg = &usb0; 65 usbotg = &usb0;
66 }; 66 };
67 67
68 memory { 68 memory@40000000 {
69 reg = <0 0>; /* will be filled in by U-Boot */ 69 reg = <0x40000000 0>; /* will be filled in by U-Boot */
70 }; 70 };
71 71
72 onewire { 72 onewire {
@@ -531,7 +531,8 @@
531 fsl,pull-up = <MXS_PULL_DISABLE>; 531 fsl,pull-up = <MXS_PULL_DISABLE>;
532 }; 532 };
533 533
534 tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins { 534 tx28_edt_ft5x06_pins: tx28-edt-ft5x06-pins@0 {
535 reg = <0>;
535 fsl,pinmux-ids = < 536 fsl,pinmux-ids = <
536 MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */ 537 MX28_PAD_SSP0_DATA6__GPIO_2_6 /* RESET */
537 MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */ 538 MX28_PAD_SSP0_DATA5__GPIO_2_5 /* IRQ */
@@ -542,7 +543,8 @@
542 fsl,pull-up = <MXS_PULL_DISABLE>; 543 fsl,pull-up = <MXS_PULL_DISABLE>;
543 }; 544 };
544 545
545 tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins { 546 tx28_flexcan_xcvr_pins: tx28-flexcan-xcvr-pins@0 {
547 reg = <0>;
546 fsl,pinmux-ids = < 548 fsl,pinmux-ids = <
547 MX28_PAD_LCD_D00__GPIO_1_0 549 MX28_PAD_LCD_D00__GPIO_1_0
548 >; 550 >;
@@ -551,7 +553,8 @@
551 fsl,pull-up = <MXS_PULL_DISABLE>; 553 fsl,pull-up = <MXS_PULL_DISABLE>;
552 }; 554 };
553 555
554 tx28_lcdif_23bit_pins: tx28-lcdif-23bit { 556 tx28_lcdif_23bit_pins: tx28-lcdif-23bit@0 {
557 reg = <0>;
555 fsl,pinmux-ids = < 558 fsl,pinmux-ids = <
556 /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */ 559 /* LCD_D00 may be used as Flexcan Transceiver Enable on STK5-V5 */
557 MX28_PAD_LCD_D01__LCD_D1 560 MX28_PAD_LCD_D01__LCD_D1
@@ -583,7 +586,8 @@
583 fsl,pull-up = <MXS_PULL_DISABLE>; 586 fsl,pull-up = <MXS_PULL_DISABLE>;
584 }; 587 };
585 588
586 tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl { 589 tx28_lcdif_ctrl_pins: tx28-lcdif-ctrl@0 {
590 reg = <0>;
587 fsl,pinmux-ids = < 591 fsl,pinmux-ids = <
588 MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */ 592 MX28_PAD_LCD_ENABLE__GPIO_1_31 /* Enable */
589 MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */ 593 MX28_PAD_LCD_RESET__GPIO_3_30 /* Reset */
@@ -593,7 +597,8 @@
593 fsl,pull-up = <MXS_PULL_DISABLE>; 597 fsl,pull-up = <MXS_PULL_DISABLE>;
594 }; 598 };
595 599
596 tx28_mac0_pins_gpio: tx28-mac0-gpio-pins { 600 tx28_mac0_pins_gpio: tx28-mac0-gpio-pins@0 {
601 reg = <0>;
597 fsl,pinmux-ids = < 602 fsl,pinmux-ids = <
598 MX28_PAD_ENET0_MDC__GPIO_4_0 603 MX28_PAD_ENET0_MDC__GPIO_4_0
599 MX28_PAD_ENET0_MDIO__GPIO_4_1 604 MX28_PAD_ENET0_MDIO__GPIO_4_1
@@ -610,7 +615,8 @@
610 fsl,pull-up = <MXS_PULL_DISABLE>; 615 fsl,pull-up = <MXS_PULL_DISABLE>;
611 }; 616 };
612 617
613 tx28_pca9554_pins: tx28-pca9554-pins { 618 tx28_pca9554_pins: tx28-pca9554-pins@0 {
619 reg = <0>;
614 fsl,pinmux-ids = < 620 fsl,pinmux-ids = <
615 MX28_PAD_PWM3__GPIO_3_28 621 MX28_PAD_PWM3__GPIO_3_28
616 >; 622 >;
@@ -619,7 +625,8 @@
619 fsl,pull-up = <MXS_PULL_DISABLE>; 625 fsl,pull-up = <MXS_PULL_DISABLE>;
620 }; 626 };
621 627
622 tx28_spi_gpio_pins: spi-gpiogrp { 628 tx28_spi_gpio_pins: spi-gpiogrp@0 {
629 reg = <0>;
623 fsl,pinmux-ids = < 630 fsl,pinmux-ids = <
624 MX28_PAD_AUART2_RX__GPIO_3_8 631 MX28_PAD_AUART2_RX__GPIO_3_8
625 MX28_PAD_AUART2_TX__GPIO_3_9 632 MX28_PAD_AUART2_TX__GPIO_3_9
@@ -633,7 +640,8 @@
633 fsl,pull-up = <MXS_PULL_DISABLE>; 640 fsl,pull-up = <MXS_PULL_DISABLE>;
634 }; 641 };
635 642
636 tx28_tsc2007_pins: tx28-tsc2007-pins { 643 tx28_tsc2007_pins: tx28-tsc2007-pins@0 {
644 reg = <0>;
637 fsl,pinmux-ids = < 645 fsl,pinmux-ids = <
638 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */ 646 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
639 >; 647 >;
@@ -643,7 +651,8 @@
643 }; 651 };
644 652
645 653
646 tx28_usbphy0_pins: tx28-usbphy0-pins { 654 tx28_usbphy0_pins: tx28-usbphy0-pins@0 {
655 reg = <0>;
647 fsl,pinmux-ids = < 656 fsl,pinmux-ids = <
648 MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */ 657 MX28_PAD_GPMI_CE2N__GPIO_0_18 /* USBOTG_VBUSEN */
649 MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */ 658 MX28_PAD_GPMI_CE3N__GPIO_0_19 /* USBOTH_OC */
@@ -653,7 +662,8 @@
653 fsl,pull-up = <MXS_PULL_DISABLE>; 662 fsl,pull-up = <MXS_PULL_DISABLE>;
654 }; 663 };
655 664
656 tx28_usbphy1_pins: tx28-usbphy1-pins { 665 tx28_usbphy1_pins: tx28-usbphy1-pins@0 {
666 reg = <0>;
657 fsl,pinmux-ids = < 667 fsl,pinmux-ids = <
658 MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */ 668 MX28_PAD_SPDIF__GPIO_3_27 /* USBH_VBUSEN */
659 MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */ 669 MX28_PAD_JTAG_RTCK__GPIO_4_20 /* USBH_OC */
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index e52e05c0fe56..9ad8d3556859 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -24,7 +24,7 @@
24 * Also for U-Boot there must be a pre-existing /memory node. 24 * Also for U-Boot there must be a pre-existing /memory node.
25 */ 25 */
26 chosen {}; 26 chosen {};
27 memory { device_type = "memory"; reg = <0 0>; }; 27 memory { device_type = "memory"; };
28 28
29 aliases { 29 aliases {
30 ethernet0 = &mac0; 30 ethernet0 = &mac0;
@@ -283,7 +283,8 @@
283 fsl,pull-up = <MXS_PULL_DISABLE>; 283 fsl,pull-up = <MXS_PULL_DISABLE>;
284 }; 284 };
285 285
286 gpmi_status_cfg: gpmi-status-cfg { 286 gpmi_status_cfg: gpmi-status-cfg@0 {
287 reg = <0>;
287 fsl,pinmux-ids = < 288 fsl,pinmux-ids = <
288 MX28_PAD_GPMI_RDN__GPMI_RDN 289 MX28_PAD_GPMI_RDN__GPMI_RDN
289 MX28_PAD_GPMI_WRN__GPMI_WRN 290 MX28_PAD_GPMI_WRN__GPMI_WRN
@@ -527,14 +528,16 @@
527 fsl,pull-up = <MXS_PULL_ENABLE>; 528 fsl,pull-up = <MXS_PULL_ENABLE>;
528 }; 529 };
529 530
530 mmc0_cd_cfg: mmc0-cd-cfg { 531 mmc0_cd_cfg: mmc0-cd-cfg@0 {
532 reg = <0>;
531 fsl,pinmux-ids = < 533 fsl,pinmux-ids = <
532 MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT 534 MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT
533 >; 535 >;
534 fsl,pull-up = <MXS_PULL_DISABLE>; 536 fsl,pull-up = <MXS_PULL_DISABLE>;
535 }; 537 };
536 538
537 mmc0_sck_cfg: mmc0-sck-cfg { 539 mmc0_sck_cfg: mmc0-sck-cfg@0 {
540 reg = <0>;
538 fsl,pinmux-ids = < 541 fsl,pinmux-ids = <
539 MX28_PAD_SSP0_SCK__SSP0_SCK 542 MX28_PAD_SSP0_SCK__SSP0_SCK
540 >; 543 >;
@@ -558,14 +561,16 @@
558 fsl,pull-up = <MXS_PULL_ENABLE>; 561 fsl,pull-up = <MXS_PULL_ENABLE>;
559 }; 562 };
560 563
561 mmc1_cd_cfg: mmc1-cd-cfg { 564 mmc1_cd_cfg: mmc1-cd-cfg@0 {
565 reg = <0>;
562 fsl,pinmux-ids = < 566 fsl,pinmux-ids = <
563 MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT 567 MX28_PAD_GPMI_RDY0__SSP1_CARD_DETECT
564 >; 568 >;
565 fsl,pull-up = <MXS_PULL_DISABLE>; 569 fsl,pull-up = <MXS_PULL_DISABLE>;
566 }; 570 };
567 571
568 mmc1_sck_cfg: mmc1-sck-cfg { 572 mmc1_sck_cfg: mmc1-sck-cfg@0 {
573 reg = <0>;
569 fsl,pinmux-ids = < 574 fsl,pinmux-ids = <
570 MX28_PAD_GPMI_WRN__SSP1_SCK 575 MX28_PAD_GPMI_WRN__SSP1_SCK
571 >; 576 >;
@@ -606,7 +611,8 @@
606 fsl,pull-up = <MXS_PULL_ENABLE>; 611 fsl,pull-up = <MXS_PULL_ENABLE>;
607 }; 612 };
608 613
609 mmc2_cd_cfg: mmc2-cd-cfg { 614 mmc2_cd_cfg: mmc2-cd-cfg@0 {
615 reg = <0>;
610 fsl,pinmux-ids = < 616 fsl,pinmux-ids = <
611 MX28_PAD_AUART1_RX__SSP2_CARD_DETECT 617 MX28_PAD_AUART1_RX__SSP2_CARD_DETECT
612 >; 618 >;
diff --git a/arch/arm/boot/dts/imx31-bug.dts b/arch/arm/boot/dts/imx31-bug.dts
index ae6cebbed84b..6ee4ff8e4e8f 100644
--- a/arch/arm/boot/dts/imx31-bug.dts
+++ b/arch/arm/boot/dts/imx31-bug.dts
@@ -16,7 +16,7 @@
16 model = "Buglabs i.MX31 Bug 1.x"; 16 model = "Buglabs i.MX31 Bug 1.x";
17 compatible = "buglabs,imx31-bug", "fsl,imx31"; 17 compatible = "buglabs,imx31-bug", "fsl,imx31";
18 18
19 memory { 19 memory@80000000 {
20 reg = <0x80000000 0x8000000>; /* 128M */ 20 reg = <0x80000000 0x8000000>; /* 128M */
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx31.dtsi b/arch/arm/boot/dts/imx31.dtsi
index a72031407ebd..ebc3f2dbb6fd 100644
--- a/arch/arm/boot/dts/imx31.dtsi
+++ b/arch/arm/boot/dts/imx31.dtsi
@@ -19,7 +19,7 @@
19 * Also for U-Boot there must be a pre-existing /memory node. 19 * Also for U-Boot there must be a pre-existing /memory node.
20 */ 20 */
21 chosen {}; 21 chosen {};
22 memory { device_type = "memory"; reg = <0 0>; }; 22 memory { device_type = "memory"; };
23 23
24 aliases { 24 aliases {
25 serial0 = &uart1; 25 serial0 = &uart1;
diff --git a/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi b/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi
index 9c2b715ab8bf..ba39d938f289 100644
--- a/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi
+++ b/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi
@@ -17,7 +17,7 @@
17 model = "Eukrea CPUIMX35"; 17 model = "Eukrea CPUIMX35";
18 compatible = "eukrea,cpuimx35", "fsl,imx35"; 18 compatible = "eukrea,cpuimx35", "fsl,imx35";
19 19
20 memory { 20 memory@80000000 {
21 reg = <0x80000000 0x8000000>; /* 128M */ 21 reg = <0x80000000 0x8000000>; /* 128M */
22 }; 22 };
23}; 23};
diff --git a/arch/arm/boot/dts/imx35-pdk.dts b/arch/arm/boot/dts/imx35-pdk.dts
index 9bb628f22502..646b1257bba2 100644
--- a/arch/arm/boot/dts/imx35-pdk.dts
+++ b/arch/arm/boot/dts/imx35-pdk.dts
@@ -17,7 +17,7 @@
17 model = "Freescale i.MX35 Product Development Kit"; 17 model = "Freescale i.MX35 Product Development Kit";
18 compatible = "fsl,imx35-pdk", "fsl,imx35"; 18 compatible = "fsl,imx35-pdk", "fsl,imx35";
19 19
20 memory { 20 memory@80000000 {
21 reg = <0x80000000 0x8000000>, 21 reg = <0x80000000 0x8000000>,
22 <0x90000000 0x8000000>; 22 <0x90000000 0x8000000>;
23 }; 23 };
diff --git a/arch/arm/boot/dts/imx35.dtsi b/arch/arm/boot/dts/imx35.dtsi
index e08c0c193767..bf343195697e 100644
--- a/arch/arm/boot/dts/imx35.dtsi
+++ b/arch/arm/boot/dts/imx35.dtsi
@@ -20,7 +20,7 @@
20 * Also for U-Boot there must be a pre-existing /memory node. 20 * Also for U-Boot there must be a pre-existing /memory node.
21 */ 21 */
22 chosen {}; 22 chosen {};
23 memory { device_type = "memory"; reg = <0 0>; }; 23 memory { device_type = "memory"; };
24 24
25 aliases { 25 aliases {
26 ethernet0 = &fec; 26 ethernet0 = &fec;
diff --git a/arch/arm/boot/dts/imx50-evk.dts b/arch/arm/boot/dts/imx50-evk.dts
index 98b5faa06e27..23f1833e23fa 100644
--- a/arch/arm/boot/dts/imx50-evk.dts
+++ b/arch/arm/boot/dts/imx50-evk.dts
@@ -18,7 +18,7 @@
18 model = "Freescale i.MX50 Evaluation Kit"; 18 model = "Freescale i.MX50 Evaluation Kit";
19 compatible = "fsl,imx50-evk", "fsl,imx50"; 19 compatible = "fsl,imx50-evk", "fsl,imx50";
20 20
21 memory { 21 memory@70000000 {
22 reg = <0x70000000 0x80000000>; 22 reg = <0x70000000 0x80000000>;
23 }; 23 };
24}; 24};
diff --git a/arch/arm/boot/dts/imx50.dtsi b/arch/arm/boot/dts/imx50.dtsi
index 35955e63d6c5..7954e79d0a16 100644
--- a/arch/arm/boot/dts/imx50.dtsi
+++ b/arch/arm/boot/dts/imx50.dtsi
@@ -25,7 +25,7 @@
25 * Also for U-Boot there must be a pre-existing /memory node. 25 * Also for U-Boot there must be a pre-existing /memory node.
26 */ 26 */
27 chosen {}; 27 chosen {};
28 memory { device_type = "memory"; reg = <0 0>; }; 28 memory { device_type = "memory"; };
29 29
30 aliases { 30 aliases {
31 ethernet0 = &fec; 31 ethernet0 = &fec;
diff --git a/arch/arm/boot/dts/imx51-apf51.dts b/arch/arm/boot/dts/imx51-apf51.dts
index c83ac1600322..79d80036f74d 100644
--- a/arch/arm/boot/dts/imx51-apf51.dts
+++ b/arch/arm/boot/dts/imx51-apf51.dts
@@ -21,7 +21,7 @@
21 model = "Armadeus Systems APF51 module"; 21 model = "Armadeus Systems APF51 module";
22 compatible = "armadeus,imx51-apf51", "fsl,imx51"; 22 compatible = "armadeus,imx51-apf51", "fsl,imx51";
23 23
24 memory { 24 memory@90000000 {
25 reg = <0x90000000 0x20000000>; 25 reg = <0x90000000 0x20000000>;
26 }; 26 };
27 27
diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts
index 4ac5ab614a7f..cf7a1963df25 100644
--- a/arch/arm/boot/dts/imx51-babbage.dts
+++ b/arch/arm/boot/dts/imx51-babbage.dts
@@ -21,7 +21,7 @@
21 stdout-path = &uart1; 21 stdout-path = &uart1;
22 }; 22 };
23 23
24 memory { 24 memory@90000000 {
25 reg = <0x90000000 0x20000000>; 25 reg = <0x90000000 0x20000000>;
26 }; 26 };
27 27
@@ -369,6 +369,7 @@
369 sgtl5000: codec@a { 369 sgtl5000: codec@a {
370 compatible = "fsl,sgtl5000"; 370 compatible = "fsl,sgtl5000";
371 reg = <0x0a>; 371 reg = <0x0a>;
372 #sound-dai-cells = <0>;
372 clocks = <&clk_audio>; 373 clocks = <&clk_audio>;
373 VDDA-supply = <&vdig_reg>; 374 VDDA-supply = <&vdig_reg>;
374 VDDIO-supply = <&vvideo_reg>; 375 VDDIO-supply = <&vvideo_reg>;
diff --git a/arch/arm/boot/dts/imx51-digi-connectcore-jsk.dts b/arch/arm/boot/dts/imx51-digi-connectcore-jsk.dts
index 1db517d3d497..2967a748d859 100644
--- a/arch/arm/boot/dts/imx51-digi-connectcore-jsk.dts
+++ b/arch/arm/boot/dts/imx51-digi-connectcore-jsk.dts
@@ -17,7 +17,7 @@
17 "digi,connectcore-ccxmx51-som", "fsl,imx51"; 17 "digi,connectcore-ccxmx51-som", "fsl,imx51";
18 18
19 chosen { 19 chosen {
20 linux,stdout-path = &uart1; 20 stdout-path = &uart1;
21 }; 21 };
22}; 22};
23 23
diff --git a/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi b/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi
index b821066a0d2a..5761a66e8a0d 100644
--- a/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi
+++ b/arch/arm/boot/dts/imx51-digi-connectcore-som.dtsi
@@ -16,7 +16,7 @@
16 model = "Digi ConnectCore CC(W)-MX51"; 16 model = "Digi ConnectCore CC(W)-MX51";
17 compatible = "digi,connectcore-ccxmx51-som", "fsl,imx51"; 17 compatible = "digi,connectcore-ccxmx51-som", "fsl,imx51";
18 18
19 memory { 19 memory@90000000 {
20 reg = <0x90000000 0x08000000>; 20 reg = <0x90000000 0x08000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi b/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi
index 63164266af83..f8902a338e49 100644
--- a/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi
+++ b/arch/arm/boot/dts/imx51-eukrea-cpuimx51.dtsi
@@ -22,7 +22,7 @@
22 model = "Eukrea CPUIMX51"; 22 model = "Eukrea CPUIMX51";
23 compatible = "eukrea,cpuimx51", "fsl,imx51"; 23 compatible = "eukrea,cpuimx51", "fsl,imx51";
24 24
25 memory { 25 memory@90000000 {
26 reg = <0x90000000 0x10000000>; /* 256M */ 26 reg = <0x90000000 0x10000000>; /* 256M */
27 }; 27 };
28}; 28};
diff --git a/arch/arm/boot/dts/imx51-ts4800.dts b/arch/arm/boot/dts/imx51-ts4800.dts
index f59b02bae68d..39eb067904c3 100644
--- a/arch/arm/boot/dts/imx51-ts4800.dts
+++ b/arch/arm/boot/dts/imx51-ts4800.dts
@@ -17,7 +17,7 @@
17 stdout-path = &uart1; 17 stdout-path = &uart1;
18 }; 18 };
19 19
20 memory { 20 memory@90000000 {
21 reg = <0x90000000 0x10000000>; 21 reg = <0x90000000 0x10000000>;
22 }; 22 };
23 23
diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
index 5306b78de0ca..0c99ac04ad08 100644
--- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
+++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
@@ -51,6 +51,11 @@
51 stdout-path = &uart1; 51 stdout-path = &uart1;
52 }; 52 };
53 53
54 /* Will be filled by the bootloader */
55 memory@90000000 {
56 reg = <0x90000000 0>;
57 };
58
54 aliases { 59 aliases {
55 mdio-gpio0 = &mdio_gpio; 60 mdio-gpio0 = &mdio_gpio;
56 rtc0 = &ds1341; 61 rtc0 = &ds1341;
@@ -568,6 +573,15 @@
568 pinctrl-names = "default"; 573 pinctrl-names = "default";
569 pinctrl-0 = <&pinctrl_uart3>; 574 pinctrl-0 = <&pinctrl_uart3>;
570 status = "okay"; 575 status = "okay";
576
577 rave-sp {
578 compatible = "zii,rave-sp-rdu1";
579 current-speed = <38400>;
580
581 watchdog {
582 compatible = "zii,rave-sp-watchdog";
583 };
584 };
571}; 585};
572 586
573&usbh1 { 587&usbh1 {
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi
index 00d30bd70068..5d390a64e976 100644
--- a/arch/arm/boot/dts/imx51.dtsi
+++ b/arch/arm/boot/dts/imx51.dtsi
@@ -26,7 +26,7 @@
26 * Also for U-Boot there must be a pre-existing /memory node. 26 * Also for U-Boot there must be a pre-existing /memory node.
27 */ 27 */
28 chosen {}; 28 chosen {};
29 memory { device_type = "memory"; reg = <0 0>; }; 29 memory { device_type = "memory"; };
30 30
31 aliases { 31 aliases {
32 ethernet0 = &fec; 32 ethernet0 = &fec;
diff --git a/arch/arm/boot/dts/imx53-ard.dts b/arch/arm/boot/dts/imx53-ard.dts
index 4486bc47d140..80fc00705d92 100644
--- a/arch/arm/boot/dts/imx53-ard.dts
+++ b/arch/arm/boot/dts/imx53-ard.dts
@@ -17,7 +17,7 @@
17 model = "Freescale i.MX53 Automotive Reference Design Board"; 17 model = "Freescale i.MX53 Automotive Reference Design Board";
18 compatible = "fsl,imx53-ard", "fsl,imx53"; 18 compatible = "fsl,imx53-ard", "fsl,imx53";
19 19
20 memory { 20 memory@70000000 {
21 reg = <0x70000000 0x40000000>; 21 reg = <0x70000000 0x40000000>;
22 }; 22 };
23 23
diff --git a/arch/arm/boot/dts/imx53-cx9020.dts b/arch/arm/boot/dts/imx53-cx9020.dts
index 5e67e43004e7..cf70ebc4399a 100644
--- a/arch/arm/boot/dts/imx53-cx9020.dts
+++ b/arch/arm/boot/dts/imx53-cx9020.dts
@@ -21,7 +21,7 @@
21 stdout-path = &uart2; 21 stdout-path = &uart2;
22 }; 22 };
23 23
24 memory { 24 memory@70000000 {
25 reg = <0x70000000 0x20000000>, 25 reg = <0x70000000 0x20000000>,
26 <0xb0000000 0x20000000>; 26 <0xb0000000 0x20000000>;
27 }; 27 };
diff --git a/arch/arm/boot/dts/imx53-m53.dtsi b/arch/arm/boot/dts/imx53-m53.dtsi
index 7ce69c63510c..3da6dd5edb79 100644
--- a/arch/arm/boot/dts/imx53-m53.dtsi
+++ b/arch/arm/boot/dts/imx53-m53.dtsi
@@ -15,7 +15,7 @@
15 model = "Aries/DENX M53"; 15 model = "Aries/DENX M53";
16 compatible = "aries,imx53-m53", "denx,imx53-m53", "fsl,imx53"; 16 compatible = "aries,imx53-m53", "denx,imx53-m53", "fsl,imx53";
17 17
18 memory { 18 memory@70000000 {
19 reg = <0x70000000 0x20000000>, 19 reg = <0x70000000 0x20000000>,
20 <0xb0000000 0x20000000>; 20 <0xb0000000 0x20000000>;
21 }; 21 };
diff --git a/arch/arm/boot/dts/imx53-m53evk.dts b/arch/arm/boot/dts/imx53-m53evk.dts
index e48525763b1b..3935fe6490ed 100644
--- a/arch/arm/boot/dts/imx53-m53evk.dts
+++ b/arch/arm/boot/dts/imx53-m53evk.dts
@@ -153,6 +153,7 @@
153 sgtl5000: codec@a { 153 sgtl5000: codec@a {
154 compatible = "fsl,sgtl5000"; 154 compatible = "fsl,sgtl5000";
155 reg = <0x0a>; 155 reg = <0x0a>;
156 #sound-dai-cells = <0>;
156 VDDA-supply = <&reg_3p2v>; 157 VDDA-supply = <&reg_3p2v>;
157 VDDIO-supply = <&reg_3p2v>; 158 VDDIO-supply = <&reg_3p2v>;
158 clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>; 159 clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>;
diff --git a/arch/arm/boot/dts/imx53-ppd.dts b/arch/arm/boot/dts/imx53-ppd.dts
index cce959438a79..d5628af2e301 100644
--- a/arch/arm/boot/dts/imx53-ppd.dts
+++ b/arch/arm/boot/dts/imx53-ppd.dts
@@ -132,6 +132,14 @@
132 enable-active-high; 132 enable-active-high;
133 }; 133 };
134 134
135 reg_tsiref: regulator-tsiref {
136 compatible = "regulator-fixed";
137 regulator-name = "tsiref";
138 regulator-min-microvolt = <2500000>;
139 regulator-max-microvolt = <2500000>;
140 regulator-always-on;
141 };
142
135 pwm_bl: backlight { 143 pwm_bl: backlight {
136 compatible = "pwm-backlight"; 144 compatible = "pwm-backlight";
137 pwms = <&pwm2 0 50000>; 145 pwms = <&pwm2 0 50000>;
@@ -294,6 +302,8 @@
294 interrupt-parent = <&gpio3>; 302 interrupt-parent = <&gpio3>;
295 interrupts = <12 0x8>; 303 interrupts = <12 0x8>;
296 spi-max-frequency = <1000000>; 304 spi-max-frequency = <1000000>;
305 dlg,tsi-as-adc;
306 tsiref-supply = <&reg_tsiref>;
297 307
298 regulators { 308 regulators {
299 buck1_reg: buck1 { 309 buck1_reg: buck1 {
@@ -436,6 +446,7 @@
436 sgtl5000: codec@a { 446 sgtl5000: codec@a {
437 compatible = "fsl,sgtl5000"; 447 compatible = "fsl,sgtl5000";
438 reg = <0xa>; 448 reg = <0xa>;
449 #sound-dai-cells = <0>;
439 VDDA-supply = <&reg_sgtl5k>; 450 VDDA-supply = <&reg_sgtl5k>;
440 VDDIO-supply = <&reg_sgtl5k>; 451 VDDIO-supply = <&reg_sgtl5k>;
441 clocks = <&cko2_11M>; 452 clocks = <&cko2_11M>;
@@ -525,6 +536,7 @@
525 536
526 touchscreen@4b { 537 touchscreen@4b {
527 compatible = "atmel,maxtouch"; 538 compatible = "atmel,maxtouch";
539 reset-gpio = <&gpio5 19 GPIO_ACTIVE_HIGH>;
528 reg = <0x4b>; 540 reg = <0x4b>;
529 interrupt-parent = <&gpio5>; 541 interrupt-parent = <&gpio5>;
530 interrupts = <4 0x8>; 542 interrupts = <4 0x8>;
diff --git a/arch/arm/boot/dts/imx53-qsb-common.dtsi b/arch/arm/boot/dts/imx53-qsb-common.dtsi
index 41a2e2a2b079..485a69d45e1c 100644
--- a/arch/arm/boot/dts/imx53-qsb-common.dtsi
+++ b/arch/arm/boot/dts/imx53-qsb-common.dtsi
@@ -17,7 +17,7 @@
17 stdout-path = &uart1; 17 stdout-path = &uart1;
18 }; 18 };
19 19
20 memory { 20 memory@70000000 {
21 reg = <0x70000000 0x20000000>, 21 reg = <0x70000000 0x20000000>,
22 <0xb0000000 0x20000000>; 22 <0xb0000000 0x20000000>;
23 }; 23 };
@@ -317,6 +317,7 @@
317 sgtl5000: codec@a { 317 sgtl5000: codec@a {
318 compatible = "fsl,sgtl5000"; 318 compatible = "fsl,sgtl5000";
319 reg = <0x0a>; 319 reg = <0x0a>;
320 #sound-dai-cells = <0>;
320 VDDA-supply = <&reg_3p2v>; 321 VDDA-supply = <&reg_3p2v>;
321 VDDIO-supply = <&reg_3p2v>; 322 VDDIO-supply = <&reg_3p2v>;
322 clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>; 323 clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>;
diff --git a/arch/arm/boot/dts/imx53-smd.dts b/arch/arm/boot/dts/imx53-smd.dts
index 51f4a42a55e2..fd030128666c 100644
--- a/arch/arm/boot/dts/imx53-smd.dts
+++ b/arch/arm/boot/dts/imx53-smd.dts
@@ -17,7 +17,7 @@
17 model = "Freescale i.MX53 Smart Mobile Reference Design Board"; 17 model = "Freescale i.MX53 Smart Mobile Reference Design Board";
18 compatible = "fsl,imx53-smd", "fsl,imx53"; 18 compatible = "fsl,imx53-smd", "fsl,imx53";
19 19
20 memory { 20 memory@70000000 {
21 reg = <0x70000000 0x40000000>; 21 reg = <0x70000000 0x40000000>;
22 }; 22 };
23 23
diff --git a/arch/arm/boot/dts/imx53-tqma53.dtsi b/arch/arm/boot/dts/imx53-tqma53.dtsi
index eecdc1c55eef..a72b8981fc3b 100644
--- a/arch/arm/boot/dts/imx53-tqma53.dtsi
+++ b/arch/arm/boot/dts/imx53-tqma53.dtsi
@@ -16,7 +16,7 @@
16 model = "TQ TQMa53"; 16 model = "TQ TQMa53";
17 compatible = "tq,tqma53", "fsl,imx53"; 17 compatible = "tq,tqma53", "fsl,imx53";
18 18
19 memory { 19 memory@70000000 {
20 reg = <0x70000000 0x40000000>; /* Up to 1GiB */ 20 reg = <0x70000000 0x40000000>; /* Up to 1GiB */
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx53-tx53-x03x.dts b/arch/arm/boot/dts/imx53-tx53-x03x.dts
index fe15c9555d6e..af8ec5e4417b 100644
--- a/arch/arm/boot/dts/imx53-tx53-x03x.dts
+++ b/arch/arm/boot/dts/imx53-tx53-x03x.dts
@@ -230,6 +230,7 @@
230 sgtl5000: codec@a { 230 sgtl5000: codec@a {
231 compatible = "fsl,sgtl5000"; 231 compatible = "fsl,sgtl5000";
232 reg = <0x0a>; 232 reg = <0x0a>;
233 #sound-dai-cells = <0>;
233 VDDA-supply = <&reg_2v5>; 234 VDDA-supply = <&reg_2v5>;
234 VDDIO-supply = <&reg_3v3>; 235 VDDIO-supply = <&reg_3v3>;
235 clocks = <&mclk>; 236 clocks = <&mclk>;
diff --git a/arch/arm/boot/dts/imx53-tx53-x13x.dts b/arch/arm/boot/dts/imx53-tx53-x13x.dts
index f2b2ad3ce9e5..6cdf2082c742 100644
--- a/arch/arm/boot/dts/imx53-tx53-x13x.dts
+++ b/arch/arm/boot/dts/imx53-tx53-x13x.dts
@@ -131,6 +131,7 @@
131 sgtl5000: codec@a { 131 sgtl5000: codec@a {
132 compatible = "fsl,sgtl5000"; 132 compatible = "fsl,sgtl5000";
133 reg = <0x0a>; 133 reg = <0x0a>;
134 #sound-dai-cells = <0>;
134 VDDA-supply = <&reg_2v5>; 135 VDDA-supply = <&reg_2v5>;
135 VDDIO-supply = <&reg_3v3>; 136 VDDIO-supply = <&reg_3v3>;
136 clocks = <&mclk>; 137 clocks = <&mclk>;
diff --git a/arch/arm/boot/dts/imx53-tx53.dtsi b/arch/arm/boot/dts/imx53-tx53.dtsi
index a22e461fc168..69a2af7d6c11 100644
--- a/arch/arm/boot/dts/imx53-tx53.dtsi
+++ b/arch/arm/boot/dts/imx53-tx53.dtsi
@@ -49,6 +49,11 @@
49 model = "Ka-Ro electronics TX53 module"; 49 model = "Ka-Ro electronics TX53 module";
50 compatible = "karo,tx53", "fsl,imx53"; 50 compatible = "karo,tx53", "fsl,imx53";
51 51
52 /* Will be filled by the bootloader */
53 memory@70000000 {
54 reg = <0x70000000 0>;
55 };
56
52 aliases { 57 aliases {
53 can0 = &can2; /* Make the can interface indices consistent with TX28/TX48 modules */ 58 can0 = &can2; /* Make the can interface indices consistent with TX28/TX48 modules */
54 can1 = &can1; 59 can1 = &can1;
diff --git a/arch/arm/boot/dts/imx53-usbarmory.dts b/arch/arm/boot/dts/imx53-usbarmory.dts
index 6782d7fc5961..f6268d0ded29 100644
--- a/arch/arm/boot/dts/imx53-usbarmory.dts
+++ b/arch/arm/boot/dts/imx53-usbarmory.dts
@@ -57,7 +57,7 @@
57 stdout-path = &uart1; 57 stdout-path = &uart1;
58 }; 58 };
59 59
60 memory { 60 memory@70000000 {
61 reg = <0x70000000 0x20000000>; 61 reg = <0x70000000 0x20000000>;
62 }; 62 };
63 63
diff --git a/arch/arm/boot/dts/imx53-voipac-bsb.dts b/arch/arm/boot/dts/imx53-voipac-bsb.dts
index 25c78f19826c..957053755c3c 100644
--- a/arch/arm/boot/dts/imx53-voipac-bsb.dts
+++ b/arch/arm/boot/dts/imx53-voipac-bsb.dts
@@ -133,6 +133,7 @@
133 sgtl5000: codec@a { 133 sgtl5000: codec@a {
134 compatible = "fsl,sgtl5000"; 134 compatible = "fsl,sgtl5000";
135 reg = <0x0a>; 135 reg = <0x0a>;
136 #sound-dai-cells = <0>;
136 VDDA-supply = <&reg_3p3v>; 137 VDDA-supply = <&reg_3p3v>;
137 VDDIO-supply = <&reg_3p3v>; 138 VDDIO-supply = <&reg_3p3v>;
138 clocks = <&clks 150>; 139 clocks = <&clks 150>;
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index 1040251f2951..7d647d043f52 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -26,7 +26,7 @@
26 * Also for U-Boot there must be a pre-existing /memory node. 26 * Also for U-Boot there must be a pre-existing /memory node.
27 */ 27 */
28 chosen {}; 28 chosen {};
29 memory { device_type = "memory"; reg = <0 0>; }; 29 memory { device_type = "memory"; };
30 30
31 aliases { 31 aliases {
32 ethernet0 = &fec; 32 ethernet0 = &fec;
diff --git a/arch/arm/boot/dts/imx6dl-apf6dev.dts b/arch/arm/boot/dts/imx6dl-apf6dev.dts
index df26e542ab3a..4a7f86de6c39 100644
--- a/arch/arm/boot/dts/imx6dl-apf6dev.dts
+++ b/arch/arm/boot/dts/imx6dl-apf6dev.dts
@@ -54,7 +54,7 @@
54 model = "Armadeus APF6 Solo Module on APF6Dev Board"; 54 model = "Armadeus APF6 Solo Module on APF6Dev Board";
55 compatible = "armadeus,imx6dl-apf6dev", "armadeus,imx6dl-apf6", "fsl,imx6dl"; 55 compatible = "armadeus,imx6dl-apf6dev", "armadeus,imx6dl-apf6", "fsl,imx6dl";
56 56
57 memory { 57 memory@10000000 {
58 reg = <0x10000000 0x20000000>; 58 reg = <0x10000000 0x20000000>;
59 }; 59 };
60}; 60};
diff --git a/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts b/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts
index 5f0d196495d0..7128c76d5721 100644
--- a/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts
+++ b/arch/arm/boot/dts/imx6dl-aristainetos2_4.dts
@@ -48,7 +48,7 @@
48 model = "aristainetos2 i.MX6 Dual Lite Board 4"; 48 model = "aristainetos2 i.MX6 Dual Lite Board 4";
49 compatible = "fsl,imx6dl"; 49 compatible = "fsl,imx6dl";
50 50
51 memory { 51 memory@10000000 {
52 reg = <0x10000000 0x40000000>; 52 reg = <0x10000000 0x40000000>;
53 }; 53 };
54 54
diff --git a/arch/arm/boot/dts/imx6dl-aristainetos2_7.dts b/arch/arm/boot/dts/imx6dl-aristainetos2_7.dts
index 805b1318b7f7..240f3661469f 100644
--- a/arch/arm/boot/dts/imx6dl-aristainetos2_7.dts
+++ b/arch/arm/boot/dts/imx6dl-aristainetos2_7.dts
@@ -48,7 +48,7 @@
48 model = "aristainetos2 i.MX6 Dual Lite Board 7"; 48 model = "aristainetos2 i.MX6 Dual Lite Board 7";
49 compatible = "fsl,imx6dl"; 49 compatible = "fsl,imx6dl";
50 50
51 memory { 51 memory@10000000 {
52 reg = <0x10000000 0x40000000>; 52 reg = <0x10000000 0x40000000>;
53 }; 53 };
54 54
diff --git a/arch/arm/boot/dts/imx6dl-aristainetos_4.dts b/arch/arm/boot/dts/imx6dl-aristainetos_4.dts
index 3c9f4af9e9ff..ad7733662fe5 100644
--- a/arch/arm/boot/dts/imx6dl-aristainetos_4.dts
+++ b/arch/arm/boot/dts/imx6dl-aristainetos_4.dts
@@ -27,7 +27,7 @@
27 status = "okay"; 27 status = "okay";
28 }; 28 };
29 29
30 memory { 30 memory@10000000 {
31 reg = <0x10000000 0x40000000>; 31 reg = <0x10000000 0x40000000>;
32 }; 32 };
33 33
diff --git a/arch/arm/boot/dts/imx6dl-aristainetos_7.dts b/arch/arm/boot/dts/imx6dl-aristainetos_7.dts
index 96cd835ccbf6..64ed84e3c512 100644
--- a/arch/arm/boot/dts/imx6dl-aristainetos_7.dts
+++ b/arch/arm/boot/dts/imx6dl-aristainetos_7.dts
@@ -16,7 +16,7 @@
16 model = "aristainetos i.MX6 Dual Lite Board 7"; 16 model = "aristainetos i.MX6 Dual Lite Board 7";
17 compatible = "fsl,imx6dl"; 17 compatible = "fsl,imx6dl";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x40000000>; 20 reg = <0x10000000 0x40000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
index dcf9206f3e0d..ea184d108491 100644
--- a/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/imx6dl-colibri-eval-v3.dts
@@ -53,6 +53,11 @@
53 compatible = "toradex,colibri_imx6dl-eval-v3", "toradex,colibri_imx6dl", 53 compatible = "toradex,colibri_imx6dl-eval-v3", "toradex,colibri_imx6dl",
54 "fsl,imx6dl"; 54 "fsl,imx6dl";
55 55
56 /* Will be filled by the bootloader */
57 memory@10000000 {
58 reg = <0x10000000 0>;
59 };
60
56 aliases { 61 aliases {
57 i2c0 = &i2c2; 62 i2c0 = &i2c2;
58 i2c1 = &i2c3; 63 i2c1 = &i2c3;
@@ -63,6 +68,10 @@
63 rtc1 = &snvs_rtc; 68 rtc1 = &snvs_rtc;
64 }; 69 };
65 70
71 chosen {
72 stdout-path = "serial0:115200n8";
73 };
74
66 clocks { 75 clocks {
67 /* Fixed crystal dedicated to mcp251x */ 76 /* Fixed crystal dedicated to mcp251x */
68 clk16m: clk@1 { 77 clk16m: clk@1 {
diff --git a/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts b/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts
index 994f96a3fb54..89384cb618f6 100644
--- a/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts
+++ b/arch/arm/boot/dts/imx6dl-dfi-fs700-m60.dts
@@ -20,4 +20,9 @@
20/ { 20/ {
21 model = "DFI FS700-M60-6DL i.MX6dl Q7 Board"; 21 model = "DFI FS700-M60-6DL i.MX6dl Q7 Board";
22 compatible = "dfi,fs700-m60-6dl", "dfi,fs700e-m60", "fsl,imx6dl"; 22 compatible = "dfi,fs700-m60-6dl", "dfi,fs700e-m60", "fsl,imx6dl";
23
24 /* Will be filled by the bootloader */
25 memory@10000000 {
26 reg = <0x10000000 0>;
27 };
23}; 28};
diff --git a/arch/arm/boot/dts/imx6dl-phytec-mira-rdk-nand.dts b/arch/arm/boot/dts/imx6dl-phytec-mira-rdk-nand.dts
new file mode 100644
index 000000000000..9f7f9f98139d
--- /dev/null
+++ b/arch/arm/boot/dts/imx6dl-phytec-mira-rdk-nand.dts
@@ -0,0 +1,64 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 PHYTEC Messtechnik GmbH
4 * Author: Christian Hemp <c.hemp@phytec.de>
5 */
6
7/dts-v1/;
8#include "imx6dl.dtsi"
9#include "imx6qdl-phytec-phycore-som.dtsi"
10#include "imx6qdl-phytec-mira.dtsi"
11
12/ {
13 model = "PHYTEC phyBOARD-Mira DualLite/Solo Carrier-Board with NAND";
14 compatible = "phytec,imx6dl-pbac06-nand", "phytec,imx6dl-pbac06",
15 "phytec,imx6qdl-pcm058", "fsl,imx6dl";
16
17 chosen {
18 stdout-path = &uart2;
19 };
20};
21
22&ethphy {
23 max-speed = <100>;
24};
25
26&fec {
27 status = "okay";
28};
29
30&gpmi {
31 status = "okay";
32};
33
34&hdmi {
35 status = "okay";
36};
37
38&i2c1 {
39 status = "okay";
40};
41
42&i2c2 {
43 status = "okay";
44};
45
46&i2c_rtc {
47 status = "okay";
48};
49
50&uart3 {
51 status = "okay";
52};
53
54&usbh1 {
55 status = "okay";
56};
57
58&usbotg {
59 status = "okay";
60};
61
62&usdhc1 {
63 status = "okay";
64};
diff --git a/arch/arm/boot/dts/imx6dl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6dl-phytec-pfla02.dtsi
index 964bc2ad3c5d..7d9888937f12 100644
--- a/arch/arm/boot/dts/imx6dl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6dl-phytec-pfla02.dtsi
@@ -16,7 +16,7 @@
16 model = "Phytec phyFLEX-i.MX6 DualLite/Solo"; 16 model = "Phytec phyFLEX-i.MX6 DualLite/Solo";
17 compatible = "phytec,imx6dl-pfla02", "fsl,imx6dl"; 17 compatible = "phytec,imx6dl-pfla02", "fsl,imx6dl";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x20000000>; 20 reg = <0x10000000 0x20000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6dl-rex-basic.dts b/arch/arm/boot/dts/imx6dl-rex-basic.dts
index c3a14a4330a2..3fb7f4ee2496 100644
--- a/arch/arm/boot/dts/imx6dl-rex-basic.dts
+++ b/arch/arm/boot/dts/imx6dl-rex-basic.dts
@@ -16,7 +16,7 @@
16 model = "Rex Basic i.MX6 Dual Lite Board"; 16 model = "Rex Basic i.MX6 Dual Lite Board";
17 compatible = "rex,imx6dl-rex-basic", "fsl,imx6dl"; 17 compatible = "rex,imx6dl-rex-basic", "fsl,imx6dl";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x20000000>; 20 reg = <0x10000000 0x20000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6dl-riotboard.dts b/arch/arm/boot/dts/imx6dl-riotboard.dts
index 23e108204e1e..2e98c92adff7 100644
--- a/arch/arm/boot/dts/imx6dl-riotboard.dts
+++ b/arch/arm/boot/dts/imx6dl-riotboard.dts
@@ -15,7 +15,7 @@
15 model = "RIoTboard i.MX6S"; 15 model = "RIoTboard i.MX6S";
16 compatible = "riot,imx6s-riotboard", "fsl,imx6dl"; 16 compatible = "riot,imx6s-riotboard", "fsl,imx6dl";
17 17
18 memory { 18 memory@10000000 {
19 reg = <0x10000000 0x40000000>; 19 reg = <0x10000000 0x40000000>;
20 }; 20 };
21 21
diff --git a/arch/arm/boot/dts/imx6dl-ts4900.dts b/arch/arm/boot/dts/imx6dl-ts4900.dts
index 6ea0b780677d..cc01a7a22e30 100644
--- a/arch/arm/boot/dts/imx6dl-ts4900.dts
+++ b/arch/arm/boot/dts/imx6dl-ts4900.dts
@@ -46,4 +46,9 @@
46/ { 46/ {
47 model = "Technologic Systems i.MX6 Solo/DualLite TS-4900 (Default Device Tree)"; 47 model = "Technologic Systems i.MX6 Solo/DualLite TS-4900 (Default Device Tree)";
48 compatible = "technologic,imx6dl-ts4900", "fsl,imx6dl"; 48 compatible = "technologic,imx6dl-ts4900", "fsl,imx6dl";
49
50 /* Will be filled by the bootloader */
51 memory@10000000 {
52 reg = <0x10000000 0>;
53 };
49}; 54};
diff --git a/arch/arm/boot/dts/imx6dl-ts7970.dts b/arch/arm/boot/dts/imx6dl-ts7970.dts
index d104daf305d9..82435d5bf33f 100644
--- a/arch/arm/boot/dts/imx6dl-ts7970.dts
+++ b/arch/arm/boot/dts/imx6dl-ts7970.dts
@@ -47,4 +47,9 @@
47/ { 47/ {
48 model = "Technologic Systems i.MX6 Solo/DualLite TS-7970 (Default Device Tree)"; 48 model = "Technologic Systems i.MX6 Solo/DualLite TS-7970 (Default Device Tree)";
49 compatible = "technologic,imx6dl-ts7970", "fsl,imx6dl"; 49 compatible = "technologic,imx6dl-ts7970", "fsl,imx6dl";
50
51 /* Will be filled by the bootloader */
52 memory@10000000 {
53 reg = <0x10000000 0>;
54 };
50}; 55};
diff --git a/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts b/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts
index 8c314eee4fdd..5727fa48cfd5 100644
--- a/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts
+++ b/arch/arm/boot/dts/imx6dl-wandboard-revb1.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 Dual Lite Board rev B1"; 16 model = "Wandboard i.MX6 Dual Lite Board rev B1";
17 compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; 17 compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x40000000>; 20 reg = <0x10000000 0x40000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts b/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts
index aa4d4faaaec4..a72c07db7dda 100644
--- a/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts
+++ b/arch/arm/boot/dts/imx6dl-wandboard-revd1.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 Dual Lite Board revD1"; 16 model = "Wandboard i.MX6 Dual Lite Board revD1";
17 compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; 17 compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x40000000>; 20 reg = <0x10000000 0x40000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6dl-wandboard.dts b/arch/arm/boot/dts/imx6dl-wandboard.dts
index bbb616723097..a09f274cd1f4 100644
--- a/arch/arm/boot/dts/imx6dl-wandboard.dts
+++ b/arch/arm/boot/dts/imx6dl-wandboard.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 Dual Lite Board"; 16 model = "Wandboard i.MX6 Dual Lite Board";
17 compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; 17 compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x40000000>; 20 reg = <0x10000000 0x40000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index c01674fa098a..558bce81209d 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -80,11 +80,6 @@
80 reg = <0x020f4000 0x4000>; 80 reg = <0x020f4000 0x4000>;
81 interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>; 81 interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
82 }; 82 };
83
84 lcdif: lcdif@20f8000 {
85 reg = <0x020f8000 0x4000>;
86 interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
87 };
88 }; 83 };
89 84
90 aips2: aips-bus@2100000 { 85 aips2: aips-bus@2100000 {
@@ -109,11 +104,6 @@
109 compatible = "fsl,imx-display-subsystem"; 104 compatible = "fsl,imx-display-subsystem";
110 ports = <&ipu1_di0>, <&ipu1_di1>; 105 ports = <&ipu1_di0>, <&ipu1_di1>;
111 }; 106 };
112
113 gpu-subsystem {
114 compatible = "fsl,imx-gpu-subsystem";
115 cores = <&gpu_2d>, <&gpu_3d>;
116 };
117}; 107};
118 108
119&gpio1 { 109&gpio1 {
diff --git a/arch/arm/boot/dts/imx6q-apf6dev.dts b/arch/arm/boot/dts/imx6q-apf6dev.dts
index 4e4de821d9e5..5e72f81cdf8b 100644
--- a/arch/arm/boot/dts/imx6q-apf6dev.dts
+++ b/arch/arm/boot/dts/imx6q-apf6dev.dts
@@ -54,7 +54,7 @@
54 model = "Armadeus APF6 Quad / Dual Module on APF6Dev Board"; 54 model = "Armadeus APF6 Quad / Dual Module on APF6Dev Board";
55 compatible = "armadeus,imx6q-apf6dev", "armadeus,imx6q-apf6", "fsl,imx6q"; 55 compatible = "armadeus,imx6q-apf6dev", "armadeus,imx6q-apf6", "fsl,imx6q";
56 56
57 memory { 57 memory@10000000 {
58 reg = <0x10000000 0x40000000>; 58 reg = <0x10000000 0x40000000>;
59 }; 59 };
60}; 60};
diff --git a/arch/arm/boot/dts/imx6q-arm2.dts b/arch/arm/boot/dts/imx6q-arm2.dts
index 4989d0bff10f..953a5b5a8ea4 100644
--- a/arch/arm/boot/dts/imx6q-arm2.dts
+++ b/arch/arm/boot/dts/imx6q-arm2.dts
@@ -18,7 +18,7 @@
18 model = "Freescale i.MX6 Quad Armadillo2 Board"; 18 model = "Freescale i.MX6 Quad Armadillo2 Board";
19 compatible = "fsl,imx6q-arm2", "fsl,imx6q"; 19 compatible = "fsl,imx6q-arm2", "fsl,imx6q";
20 20
21 memory { 21 memory@10000000 {
22 reg = <0x10000000 0x80000000>; 22 reg = <0x10000000 0x80000000>;
23 }; 23 };
24 24
diff --git a/arch/arm/boot/dts/imx6q-ba16.dtsi b/arch/arm/boot/dts/imx6q-ba16.dtsi
index 5fcb0372d58b..bf4bdb385de9 100644
--- a/arch/arm/boot/dts/imx6q-ba16.dtsi
+++ b/arch/arm/boot/dts/imx6q-ba16.dtsi
@@ -46,7 +46,7 @@
46#include <dt-bindings/gpio/gpio.h> 46#include <dt-bindings/gpio/gpio.h>
47 47
48/ { 48/ {
49 memory { 49 memory@10000000 {
50 reg = <0x10000000 0x40000000>; 50 reg = <0x10000000 0x40000000>;
51 }; 51 };
52 52
diff --git a/arch/arm/boot/dts/imx6q-bx50v3.dtsi b/arch/arm/boot/dts/imx6q-bx50v3.dtsi
index 916ea94d75ca..990e411cbca0 100644
--- a/arch/arm/boot/dts/imx6q-bx50v3.dtsi
+++ b/arch/arm/boot/dts/imx6q-bx50v3.dtsi
@@ -353,6 +353,14 @@
353 }; 353 };
354}; 354};
355 355
356&pmu {
357 secure-reg-access;
358};
359
360&usdhc2 {
361 status = "disabled";
362};
363
356&usdhc4 { 364&usdhc4 {
357 pinctrl-names = "default"; 365 pinctrl-names = "default";
358 pinctrl-0 = <&pinctrl_usdhc4>; 366 pinctrl-0 = <&pinctrl_usdhc4>;
diff --git a/arch/arm/boot/dts/imx6q-cm-fx6.dts b/arch/arm/boot/dts/imx6q-cm-fx6.dts
index bc7587c383f6..65ef4cacbc71 100644
--- a/arch/arm/boot/dts/imx6q-cm-fx6.dts
+++ b/arch/arm/boot/dts/imx6q-cm-fx6.dts
@@ -50,7 +50,7 @@
50 model = "CompuLab CM-FX6"; 50 model = "CompuLab CM-FX6";
51 compatible = "compulab,cm-fx6", "fsl,imx6q"; 51 compatible = "compulab,cm-fx6", "fsl,imx6q";
52 52
53 memory { 53 memory@10000000 {
54 reg = <0x10000000 0x80000000>; 54 reg = <0x10000000 0x80000000>;
55 }; 55 };
56 56
diff --git a/arch/arm/boot/dts/imx6q-dfi-fs700-m60.dts b/arch/arm/boot/dts/imx6q-dfi-fs700-m60.dts
index fd0ad9a8866c..ad12d76bbb89 100644
--- a/arch/arm/boot/dts/imx6q-dfi-fs700-m60.dts
+++ b/arch/arm/boot/dts/imx6q-dfi-fs700-m60.dts
@@ -20,4 +20,9 @@
20/ { 20/ {
21 model = "DFI FS700-M60-6QD i.MX6qd Q7 Board"; 21 model = "DFI FS700-M60-6QD i.MX6qd Q7 Board";
22 compatible = "dfi,fs700-m60-6qd", "dfi,fs700e-m60", "fsl,imx6q"; 22 compatible = "dfi,fs700-m60-6qd", "dfi,fs700e-m60", "fsl,imx6q";
23
24 /* Will be filled by the bootloader */
25 memory@10000000 {
26 reg = <0x10000000 0>;
27 };
23}; 28};
diff --git a/arch/arm/boot/dts/imx6q-display5.dtsi b/arch/arm/boot/dts/imx6q-display5.dtsi
index 09085fde3341..85232c7c36a0 100644
--- a/arch/arm/boot/dts/imx6q-display5.dtsi
+++ b/arch/arm/boot/dts/imx6q-display5.dtsi
@@ -47,7 +47,7 @@
47 model = "Liebherr (LWN) display5 i.MX6 Quad Board"; 47 model = "Liebherr (LWN) display5 i.MX6 Quad Board";
48 compatible = "lwn,display5", "fsl,imx6q"; 48 compatible = "lwn,display5", "fsl,imx6q";
49 49
50 memory { 50 memory@10000000 {
51 reg = <0x10000000 0x40000000>; 51 reg = <0x10000000 0x40000000>;
52 }; 52 };
53 53
diff --git a/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts b/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts
index f0316ea96898..b3c6a4a7897d 100644
--- a/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts
+++ b/arch/arm/boot/dts/imx6q-dmo-edmqmx6.dts
@@ -29,7 +29,7 @@
29 stmpe-i2c1 = &stmpe2; 29 stmpe-i2c1 = &stmpe2;
30 }; 30 };
31 31
32 memory { 32 memory@10000000 {
33 reg = <0x10000000 0x80000000>; 33 reg = <0x10000000 0x80000000>;
34 }; 34 };
35 35
diff --git a/arch/arm/boot/dts/imx6q-dms-ba16.dts b/arch/arm/boot/dts/imx6q-dms-ba16.dts
new file mode 100644
index 000000000000..57761f3172fa
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-dms-ba16.dts
@@ -0,0 +1,139 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/gpio/gpio.h>
6#include "imx6q-ba16.dtsi"
7
8/ {
9 model = "Advantech DMS-BA16";
10 compatible = "advantech,imx6q-dms-ba16", "advantech,imx6q-ba16", "fsl,imx6q";
11
12 reg_usb_otg_vbus: regulator-usbotgvbus {
13 compatible = "regulator-fixed";
14 regulator-name = "usb_otg_vbus";
15 regulator-min-microvolt = <5000000>;
16 regulator-max-microvolt = <5000000>;
17 pinctrl-names = "default";
18 pinctrl-0 = <&pinctrl_usbotgvbus>;
19 gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
20 enable-active-high;
21 };
22
23 sys_mclk: clock-sys-mclk {
24 compatible = "fixed-clock";
25 #clock-cells = <0>;
26 clock-frequency = <22000000>;
27 };
28
29 sound {
30 compatible = "fsl,imx6q-ba16-sgtl5000",
31 "fsl,imx-audio-sgtl5000";
32 model = "imx6q-ba16-sgtl5000";
33 ssi-controller = <&ssi1>;
34 audio-codec = <&sgtl5000>;
35 audio-routing =
36 "MIC_IN", "Mic Jack",
37 "Mic Jack", "Mic Bias",
38 "Headphone Jack", "HP_OUT";
39 mux-int-port = <1>;
40 mux-ext-port = <4>;
41 };
42};
43
44&ecspi5 {
45 cs-gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
46 pinctrl-names = "default";
47 pinctrl-0 = <&pinctrl_ecspi5>;
48 status = "okay";
49
50 m25_eeprom: m25p80@0 {
51 compatible = "atmel,at25256B", "atmel,at25";
52 spi-max-frequency = <20000000>;
53 size = <0x8000>;
54 pagesize = <64>;
55 reg = <0>;
56 address-width = <16>;
57 };
58};
59
60&iomuxc {
61 pinctrl_i2c1_gpio: i2c1gpiogrp {
62 fsl,pins = <
63 MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x1b0b0
64 MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x1b0b0
65 >;
66 };
67
68 pinctrl_i2c2_gpio: i2c2gpiogrp {
69 fsl,pins = <
70 MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0
71 MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0
72 >;
73 };
74
75 pinctrl_i2c3_gpio: i2c3gpiogrp {
76 fsl,pins = <
77 MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0
78 MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0
79 >;
80 };
81
82 pinctrl_usbotgvbus: usbotgvbusgrp {
83 fsl,pins = <
84 MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
85 MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x000b0
86 >;
87 };
88};
89
90&i2c1 {
91 clock-frequency = <100000>;
92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_i2c1>;
94 status = "okay";
95
96 sgtl5000: codec@a {
97 compatible = "fsl,sgtl5000";
98 reg = <0x0a>;
99 clocks = <&sys_mclk>;
100 lrclk-strength = <0x3>;
101 VDDA-supply = <&reg_1p8v>;
102 VDDIO-supply = <&reg_3p3v>;
103 };
104};
105
106&pwm2 {
107 pinctrl-names = "default";
108 pinctrl-0 = <&pinctrl_pwm2>;
109 status = "okay";
110};
111
112&sata {
113 fsl,no-spread-spectrum;
114 fsl,transmit-atten-16ths = <12>;
115 fsl,transmit-boost-mdB = <3330>;
116 fsl,transmit-level-mV = <1133>;
117 fsl,receive-dpll-mode = <1>;
118 status = "okay";
119};
120
121&usbotg {
122 vbus-supply = <&reg_usb_otg_vbus>;
123 pinctrl-names = "default";
124 pinctrl-0 = <&pinctrl_usbotg>;
125 dr_mode = "otg";
126 disable-over-current;
127 status = "okay";
128};
129
130&usdhc4 {
131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_usdhc4>;
133 bus-width = <8>;
134 cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
135 no-1-8-v;
136 keep-power-in-suspend;
137 wakeup-source;
138 status = "okay";
139};
diff --git a/arch/arm/boot/dts/imx6q-evi.dts b/arch/arm/boot/dts/imx6q-evi.dts
index e0aea782c666..fcd257bc5ac3 100644
--- a/arch/arm/boot/dts/imx6q-evi.dts
+++ b/arch/arm/boot/dts/imx6q-evi.dts
@@ -50,7 +50,7 @@
50 model = "Uniwest Evi"; 50 model = "Uniwest Evi";
51 compatible = "uniwest,imx6q-evi", "fsl,imx6q"; 51 compatible = "uniwest,imx6q-evi", "fsl,imx6q";
52 52
53 memory { 53 memory@10000000 {
54 reg = <0x10000000 0x40000000>; 54 reg = <0x10000000 0x40000000>;
55 }; 55 };
56 56
diff --git a/arch/arm/boot/dts/imx6q-gk802.dts b/arch/arm/boot/dts/imx6q-gk802.dts
index b715deb4ea46..0be375611382 100644
--- a/arch/arm/boot/dts/imx6q-gk802.dts
+++ b/arch/arm/boot/dts/imx6q-gk802.dts
@@ -18,7 +18,7 @@
18 stdout-path = &uart4; 18 stdout-path = &uart4;
19 }; 19 };
20 20
21 memory { 21 memory@10000000 {
22 reg = <0x10000000 0x40000000>; 22 reg = <0x10000000 0x40000000>;
23 }; 23 };
24 24
diff --git a/arch/arm/boot/dts/imx6q-gw5400-a.dts b/arch/arm/boot/dts/imx6q-gw5400-a.dts
index 29adaa7c72f8..a8f70b4266ef 100644
--- a/arch/arm/boot/dts/imx6q-gw5400-a.dts
+++ b/arch/arm/boot/dts/imx6q-gw5400-a.dts
@@ -60,7 +60,7 @@
60 }; 60 };
61 }; 61 };
62 62
63 memory { 63 memory@10000000 {
64 reg = <0x10000000 0x40000000>; 64 reg = <0x10000000 0x40000000>;
65 }; 65 };
66 66
diff --git a/arch/arm/boot/dts/imx6q-h100.dts b/arch/arm/boot/dts/imx6q-h100.dts
index 8a2ea6c58902..714e09e04dcb 100644
--- a/arch/arm/boot/dts/imx6q-h100.dts
+++ b/arch/arm/boot/dts/imx6q-h100.dts
@@ -49,6 +49,11 @@
49 model = "Auvidea H100"; 49 model = "Auvidea H100";
50 compatible = "auvidea,h100", "fsl,imx6q"; 50 compatible = "auvidea,h100", "fsl,imx6q";
51 51
52 /* Will be filled by the bootloader */
53 memory@10000000 {
54 reg = <0x10000000 0>;
55 };
56
52 aliases { 57 aliases {
53 rtc0 = &rtc; 58 rtc0 = &rtc;
54 rtc1 = &snvs_rtc; 59 rtc1 = &snvs_rtc;
@@ -161,7 +166,7 @@
161 status = "okay"; 166 status = "okay";
162 167
163 eeprom: 24c02@51 { 168 eeprom: 24c02@51 {
164 compatible = "microchip,24c02", "at24"; 169 compatible = "microchip,24c02", "atmel,24c02";
165 reg = <0x51>; 170 reg = <0x51>;
166 }; 171 };
167 172
diff --git a/arch/arm/boot/dts/imx6q-marsboard.dts b/arch/arm/boot/dts/imx6q-marsboard.dts
index 432291bedcf1..dd763f205819 100644
--- a/arch/arm/boot/dts/imx6q-marsboard.dts
+++ b/arch/arm/boot/dts/imx6q-marsboard.dts
@@ -47,7 +47,7 @@
47 model = "Embest MarS Board i.MX6Dual"; 47 model = "Embest MarS Board i.MX6Dual";
48 compatible = "embest,imx6q-marsboard", "fsl,imx6q"; 48 compatible = "embest,imx6q-marsboard", "fsl,imx6q";
49 49
50 memory { 50 memory@10000000 {
51 reg = <0x10000000 0x40000000>; 51 reg = <0x10000000 0x40000000>;
52 }; 52 };
53 53
diff --git a/arch/arm/boot/dts/imx6q-mccmon6.dts b/arch/arm/boot/dts/imx6q-mccmon6.dts
index cab36f48d5f1..b7e9f38cec72 100644
--- a/arch/arm/boot/dts/imx6q-mccmon6.dts
+++ b/arch/arm/boot/dts/imx6q-mccmon6.dts
@@ -19,7 +19,7 @@
19 model = "Liebherr (LWN) monitor6 i.MX6 Quad Board"; 19 model = "Liebherr (LWN) monitor6 i.MX6 Quad Board";
20 compatible = "lwn,mccmon6", "fsl,imx6q"; 20 compatible = "lwn,mccmon6", "fsl,imx6q";
21 21
22 memory { 22 memory@10000000 {
23 reg = <0x10000000 0x80000000>; 23 reg = <0x10000000 0x80000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx6q-novena.dts b/arch/arm/boot/dts/imx6q-novena.dts
index 7d7dc59507cf..52f39371188d 100644
--- a/arch/arm/boot/dts/imx6q-novena.dts
+++ b/arch/arm/boot/dts/imx6q-novena.dts
@@ -55,6 +55,11 @@
55 model = "Kosagi Novena Dual/Quad"; 55 model = "Kosagi Novena Dual/Quad";
56 compatible = "kosagi,imx6q-novena", "fsl,imx6q"; 56 compatible = "kosagi,imx6q-novena", "fsl,imx6q";
57 57
58 /* Will be filled by the bootloader */
59 memory@10000000 {
60 reg = <0x10000000 0>;
61 };
62
58 chosen { 63 chosen {
59 stdout-path = &uart2; 64 stdout-path = &uart2;
60 }; 65 };
diff --git a/arch/arm/boot/dts/imx6q-phytec-mira-rdk-emmc.dts b/arch/arm/boot/dts/imx6q-phytec-mira-rdk-emmc.dts
new file mode 100644
index 000000000000..2e70ea5623c6
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-phytec-mira-rdk-emmc.dts
@@ -0,0 +1,72 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 PHYTEC Messtechnik GmbH
4 * Author: Christian Hemp <c.hemp@phytec.de>
5 */
6
7/dts-v1/;
8#include "imx6q.dtsi"
9#include "imx6qdl-phytec-phycore-som.dtsi"
10#include "imx6qdl-phytec-mira.dtsi"
11
12/ {
13 model = "PHYTEC phyBOARD-Mira Quad Carrier-Board with eMMC";
14 compatible = "phytec,imx6q-pbac06-emmc", "phytec,imx6q-pbac06",
15 "phytec,imx6qdl-pcm058", "fsl,imx6q";
16
17 chosen {
18 stdout-path = &uart2;
19 };
20};
21
22&can1 {
23 status = "okay";
24};
25
26&fec {
27 status = "okay";
28};
29
30&hdmi {
31 status = "okay";
32};
33
34&i2c1 {
35 status = "okay";
36};
37
38&i2c2 {
39 status = "okay";
40};
41
42&i2c_rtc {
43 status = "okay";
44};
45
46&m25p80 {
47 status = "okay";
48};
49
50&pcie {
51 status = "okay";
52};
53
54&uart3 {
55 status = "okay";
56};
57
58&usbh1 {
59 status = "okay";
60};
61
62&usbotg {
63 status = "okay";
64};
65
66&usdhc1 {
67 status = "okay";
68};
69
70&usdhc4 {
71 status = "okay";
72};
diff --git a/arch/arm/boot/dts/imx6q-phytec-mira-rdk-nand.dts b/arch/arm/boot/dts/imx6q-phytec-mira-rdk-nand.dts
new file mode 100644
index 000000000000..65d2e483c136
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-phytec-mira-rdk-nand.dts
@@ -0,0 +1,72 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 PHYTEC Messtechnik GmbH
4 * Author: Christian Hemp <c.hemp@phytec.de>
5 */
6
7/dts-v1/;
8#include "imx6q.dtsi"
9#include "imx6qdl-phytec-phycore-som.dtsi"
10#include "imx6qdl-phytec-mira.dtsi"
11
12/ {
13 model = "PHYTEC phyBOARD-Mira Quad Carrier-Board with NAND";
14 compatible = "phytec,imx6q-pbac06-nand", "phytec,imx6q-pbac06",
15 "phytec,imx6qdl-pcm058", "fsl,imx6q";
16
17 chosen {
18 stdout-path = &uart2;
19 };
20};
21
22&can1 {
23 status = "okay";
24};
25
26&fec {
27 status = "okay";
28};
29
30&gpmi {
31 status = "okay";
32};
33
34&hdmi {
35 status = "okay";
36};
37
38&i2c1 {
39 status = "okay";
40};
41
42&i2c2 {
43 status = "okay";
44};
45
46&i2c_rtc {
47 status = "okay";
48};
49
50&m25p80 {
51 status = "okay";
52};
53
54&pcie {
55 status = "okay";
56};
57
58&uart3 {
59 status = "okay";
60};
61
62&usbh1 {
63 status = "okay";
64};
65
66&usbotg {
67 status = "okay";
68};
69
70&usdhc1 {
71 status = "okay";
72};
diff --git a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi
index cd20d0a948de..fad858c30fe9 100644
--- a/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6q-phytec-pfla02.dtsi
@@ -16,7 +16,7 @@
16 model = "Phytec phyFLEX-i.MX6 Quad"; 16 model = "Phytec phyFLEX-i.MX6 Quad";
17 compatible = "phytec,imx6q-pfla02", "fsl,imx6q"; 17 compatible = "phytec,imx6q-pfla02", "fsl,imx6q";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x80000000>; 20 reg = <0x10000000 0x80000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6q-pistachio.dts b/arch/arm/boot/dts/imx6q-pistachio.dts
index 1effb58f304c..bd57b3b74db7 100644
--- a/arch/arm/boot/dts/imx6q-pistachio.dts
+++ b/arch/arm/boot/dts/imx6q-pistachio.dts
@@ -56,7 +56,7 @@
56 stdout-path = &uart4; 56 stdout-path = &uart4;
57 }; 57 };
58 58
59 memory: memory { 59 memory@10000000 {
60 reg = <0x10000000 0x80000000>; 60 reg = <0x10000000 0x80000000>;
61 }; 61 };
62 62
diff --git a/arch/arm/boot/dts/imx6q-rex-pro.dts b/arch/arm/boot/dts/imx6q-rex-pro.dts
index 90ea61ae04e9..d6cae73b1927 100644
--- a/arch/arm/boot/dts/imx6q-rex-pro.dts
+++ b/arch/arm/boot/dts/imx6q-rex-pro.dts
@@ -16,7 +16,7 @@
16 model = "Rex Pro i.MX6 Quad Board"; 16 model = "Rex Pro i.MX6 Quad Board";
17 compatible = "rex,imx6q-rex-pro", "fsl,imx6q"; 17 compatible = "rex,imx6q-rex-pro", "fsl,imx6q";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x80000000>; 20 reg = <0x10000000 0x80000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6q-sbc6x.dts b/arch/arm/boot/dts/imx6q-sbc6x.dts
index 255733063ea4..b7aa2f0b9f53 100644
--- a/arch/arm/boot/dts/imx6q-sbc6x.dts
+++ b/arch/arm/boot/dts/imx6q-sbc6x.dts
@@ -12,7 +12,7 @@
12 model = "MicroSys sbc6x board"; 12 model = "MicroSys sbc6x board";
13 compatible = "microsys,sbc6x", "fsl,imx6q"; 13 compatible = "microsys,sbc6x", "fsl,imx6q";
14 14
15 memory { 15 memory@10000000 {
16 reg = <0x10000000 0x80000000>; 16 reg = <0x10000000 0x80000000>;
17 }; 17 };
18}; 18};
diff --git a/arch/arm/boot/dts/imx6q-tbs2910.dts b/arch/arm/boot/dts/imx6q-tbs2910.dts
index a3cd7afac20a..505cba776a2d 100644
--- a/arch/arm/boot/dts/imx6q-tbs2910.dts
+++ b/arch/arm/boot/dts/imx6q-tbs2910.dts
@@ -59,7 +59,7 @@
59 stdout-path = &uart1; 59 stdout-path = &uart1;
60 }; 60 };
61 61
62 memory { 62 memory@10000000 {
63 reg = <0x10000000 0x80000000>; 63 reg = <0x10000000 0x80000000>;
64 }; 64 };
65 65
diff --git a/arch/arm/boot/dts/imx6q-ts4900.dts b/arch/arm/boot/dts/imx6q-ts4900.dts
index fab76f8cd076..e655107edc56 100644
--- a/arch/arm/boot/dts/imx6q-ts4900.dts
+++ b/arch/arm/boot/dts/imx6q-ts4900.dts
@@ -46,6 +46,11 @@
46/ { 46/ {
47 model = "Technologic Systems i.MX6 Quad TS-4900 (Default Device Tree)"; 47 model = "Technologic Systems i.MX6 Quad TS-4900 (Default Device Tree)";
48 compatible = "technologic,imx6q-ts4900", "fsl,imx6q"; 48 compatible = "technologic,imx6q-ts4900", "fsl,imx6q";
49
50 /* Will be filled by the bootloader */
51 memory@10000000 {
52 reg = <0x10000000 0>;
53 };
49}; 54};
50 55
51&sata { 56&sata {
diff --git a/arch/arm/boot/dts/imx6q-ts7970.dts b/arch/arm/boot/dts/imx6q-ts7970.dts
index f19e18995e68..c615ac4feede 100644
--- a/arch/arm/boot/dts/imx6q-ts7970.dts
+++ b/arch/arm/boot/dts/imx6q-ts7970.dts
@@ -47,6 +47,11 @@
47/ { 47/ {
48 model = "Technologic Systems i.MX6 Quad TS-7970 (Default Device Tree)"; 48 model = "Technologic Systems i.MX6 Quad TS-7970 (Default Device Tree)";
49 compatible = "technologic,imx6q-ts7970", "fsl,imx6q"; 49 compatible = "technologic,imx6q-ts7970", "fsl,imx6q";
50
51 /* Will be filled by the bootloader */
52 memory@10000000 {
53 reg = <0x10000000 0>;
54 };
50}; 55};
51 56
52&sata { 57&sata {
diff --git a/arch/arm/boot/dts/imx6q-wandboard-revb1.dts b/arch/arm/boot/dts/imx6q-wandboard-revb1.dts
index 9207d80f9cfb..b763352cddae 100644
--- a/arch/arm/boot/dts/imx6q-wandboard-revb1.dts
+++ b/arch/arm/boot/dts/imx6q-wandboard-revb1.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 Quad Board rev B1"; 16 model = "Wandboard i.MX6 Quad Board rev B1";
17 compatible = "wand,imx6q-wandboard", "fsl,imx6q"; 17 compatible = "wand,imx6q-wandboard", "fsl,imx6q";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x80000000>; 20 reg = <0x10000000 0x80000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6q-wandboard-revd1.dts b/arch/arm/boot/dts/imx6q-wandboard-revd1.dts
index e87ddb168669..8691fab21058 100644
--- a/arch/arm/boot/dts/imx6q-wandboard-revd1.dts
+++ b/arch/arm/boot/dts/imx6q-wandboard-revd1.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 Quad Board revD1"; 16 model = "Wandboard i.MX6 Quad Board revD1";
17 compatible = "wand,imx6q-wandboard", "fsl,imx6q"; 17 compatible = "wand,imx6q-wandboard", "fsl,imx6q";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x80000000>; 20 reg = <0x10000000 0x80000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6q-wandboard.dts b/arch/arm/boot/dts/imx6q-wandboard.dts
index 4a8a6ee13e9f..2a3d98c1489a 100644
--- a/arch/arm/boot/dts/imx6q-wandboard.dts
+++ b/arch/arm/boot/dts/imx6q-wandboard.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 Quad Board"; 16 model = "Wandboard i.MX6 Quad Board";
17 compatible = "wand,imx6q-wandboard", "fsl,imx6q"; 17 compatible = "wand,imx6q-wandboard", "fsl,imx6q";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x80000000>; 20 reg = <0x10000000 0x80000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6q-zii-rdu2.dts b/arch/arm/boot/dts/imx6q-zii-rdu2.dts
index 6be8a1eea895..7da6dde9c857 100644
--- a/arch/arm/boot/dts/imx6q-zii-rdu2.dts
+++ b/arch/arm/boot/dts/imx6q-zii-rdu2.dts
@@ -47,4 +47,9 @@
47/ { 47/ {
48 model = "ZII RDU2 Board"; 48 model = "ZII RDU2 Board";
49 compatible = "zii,imx6q-zii-rdu2", "fsl,imx6q"; 49 compatible = "zii,imx6q-zii-rdu2", "fsl,imx6q";
50
51 /* Will be filled by the bootloader */
52 memory@10000000 {
53 reg = <0x10000000 0>;
54 };
50}; 55};
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index bc581aa5cf17..ae7b3f107893 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -215,11 +215,6 @@
215 compatible = "fsl,imx-display-subsystem"; 215 compatible = "fsl,imx-display-subsystem";
216 ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>; 216 ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>;
217 }; 217 };
218
219 gpu-subsystem {
220 compatible = "fsl,imx-gpu-subsystem";
221 cores = <&gpu_2d>, <&gpu_3d>, <&gpu_vg>;
222 };
223}; 218};
224 219
225&gpio1 { 220&gpio1 {
diff --git a/arch/arm/boot/dts/imx6qdl-apalis.dtsi b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
index 4e776e036cbc..8206683172d2 100644
--- a/arch/arm/boot/dts/imx6qdl-apalis.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-apalis.dtsi
@@ -47,6 +47,11 @@
47 model = "Toradex Apalis iMX6Q/D Module"; 47 model = "Toradex Apalis iMX6Q/D Module";
48 compatible = "toradex,apalis_imx6q", "fsl,imx6q"; 48 compatible = "toradex,apalis_imx6q", "fsl,imx6q";
49 49
50 /* Will be filled by the bootloader */
51 memory@10000000 {
52 reg = <0x10000000 0>;
53 };
54
50 backlight: backlight { 55 backlight: backlight {
51 compatible = "pwm-backlight"; 56 compatible = "pwm-backlight";
52 pinctrl-names = "default"; 57 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
index d1cfdc264126..9332a31e6c8b 100644
--- a/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-cubox-i.dtsi
@@ -42,6 +42,11 @@
42#include <dt-bindings/gpio/gpio.h> 42#include <dt-bindings/gpio/gpio.h>
43 43
44/ { 44/ {
45 /* Will be filled by the bootloader */
46 memory@10000000 {
47 reg = <0x10000000 0>;
48 };
49
45 ir_recv: ir-receiver { 50 ir_recv: ir-receiver {
46 compatible = "gpio-ir-receiver"; 51 compatible = "gpio-ir-receiver";
47 gpios = <&gpio3 9 1>; 52 gpios = <&gpio3 9 1>;
diff --git a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
index dea8fc43c692..17a7b9c083d0 100644
--- a/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw51xx.dtsi
@@ -44,7 +44,7 @@
44 }; 44 };
45 }; 45 };
46 46
47 memory { 47 memory@10000000 {
48 reg = <0x10000000 0x20000000>; 48 reg = <0x10000000 0x20000000>;
49 }; 49 };
50 50
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
index 363a44394dad..b8044681006c 100644
--- a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
@@ -59,7 +59,7 @@
59 }; 59 };
60 }; 60 };
61 61
62 memory { 62 memory@10000000 {
63 reg = <0x10000000 0x20000000>; 63 reg = <0x10000000 0x20000000>;
64 }; 64 };
65 65
diff --git a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
index c75385c0cad0..629908fbaa32 100644
--- a/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw53xx.dtsi
@@ -59,7 +59,7 @@
59 }; 59 };
60 }; 60 };
61 61
62 memory { 62 memory@10000000 {
63 reg = <0x10000000 0x40000000>; 63 reg = <0x10000000 0x40000000>;
64 }; 64 };
65 65
diff --git a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
index eab75f3dbaf3..a1a6fb5541e1 100644
--- a/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw54xx.dtsi
@@ -59,7 +59,7 @@
59 }; 59 };
60 }; 60 };
61 61
62 memory { 62 memory@10000000 {
63 reg = <0x10000000 0x40000000>; 63 reg = <0x10000000 0x40000000>;
64 }; 64 };
65 65
diff --git a/arch/arm/boot/dts/imx6qdl-gw551x.dtsi b/arch/arm/boot/dts/imx6qdl-gw551x.dtsi
index 30d4662d4480..4e21b3849394 100644
--- a/arch/arm/boot/dts/imx6qdl-gw551x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw551x.dtsi
@@ -74,7 +74,7 @@
74 }; 74 };
75 }; 75 };
76 76
77 memory { 77 memory@10000000 {
78 reg = <0x10000000 0x20000000>; 78 reg = <0x10000000 0x20000000>;
79 }; 79 };
80 80
diff --git a/arch/arm/boot/dts/imx6qdl-gw552x.dtsi b/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
index c67c10605070..81dae5b5bc87 100644
--- a/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw552x.dtsi
@@ -51,7 +51,7 @@
51 }; 51 };
52 }; 52 };
53 53
54 memory { 54 memory@10000000 {
55 reg = <0x10000000 0x20000000>; 55 reg = <0x10000000 0x20000000>;
56 }; 56 };
57 57
diff --git a/arch/arm/boot/dts/imx6qdl-gw553x.dtsi b/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
index 1a0faa1a14c8..c5d95e8d2e09 100644
--- a/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw553x.dtsi
@@ -80,7 +80,7 @@
80 }; 80 };
81 }; 81 };
82 82
83 memory { 83 memory@10000000 {
84 reg = <0x10000000 0x20000000>; 84 reg = <0x10000000 0x20000000>;
85 }; 85 };
86 86
diff --git a/arch/arm/boot/dts/imx6qdl-gw560x.dtsi b/arch/arm/boot/dts/imx6qdl-gw560x.dtsi
index d894dde6e85d..b5986efe1090 100644
--- a/arch/arm/boot/dts/imx6qdl-gw560x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw560x.dtsi
@@ -288,6 +288,7 @@
288 sgtl5000: codec@a { 288 sgtl5000: codec@a {
289 compatible = "fsl,sgtl5000"; 289 compatible = "fsl,sgtl5000";
290 reg = <0x0a>; 290 reg = <0x0a>;
291 #sound-dai-cells = <0>;
291 clocks = <&clks IMX6QDL_CLK_CKO>; 292 clocks = <&clks IMX6QDL_CLK_CKO>;
292 VDDA-supply = <&reg_1p8v>; 293 VDDA-supply = <&reg_1p8v>;
293 VDDIO-supply = <&reg_3p3v>; 294 VDDIO-supply = <&reg_3p3v>;
diff --git a/arch/arm/boot/dts/imx6qdl-gw5903.dtsi b/arch/arm/boot/dts/imx6qdl-gw5903.dtsi
index 444425153fc7..368132274a91 100644
--- a/arch/arm/boot/dts/imx6qdl-gw5903.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw5903.dtsi
@@ -83,7 +83,7 @@
83 }; 83 };
84 }; 84 };
85 85
86 memory { 86 memory@10000000 {
87 reg = <0x10000000 0x40000000>; 87 reg = <0x10000000 0x40000000>;
88 }; 88 };
89 89
diff --git a/arch/arm/boot/dts/imx6qdl-gw5904.dtsi b/arch/arm/boot/dts/imx6qdl-gw5904.dtsi
index fd4b68be9fe9..58124adfd65b 100644
--- a/arch/arm/boot/dts/imx6qdl-gw5904.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-gw5904.dtsi
@@ -93,7 +93,7 @@
93 }; 93 };
94 }; 94 };
95 95
96 memory { 96 memory@10000000 {
97 reg = <0x10000000 0x40000000>; 97 reg = <0x10000000 0x40000000>;
98 }; 98 };
99 99
diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
index 92583238ca4a..7e20b47de839 100644
--- a/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-hummingboard.dtsi
@@ -40,6 +40,11 @@
40 */ 40 */
41 41
42/ { 42/ {
43 /* Will be filled by the bootloader */
44 memory@10000000 {
45 reg = <0x10000000 0>;
46 };
47
43 chosen { 48 chosen {
44 stdout-path = &uart1; 49 stdout-path = &uart1;
45 }; 50 };
@@ -239,10 +244,9 @@
239 244
240 pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id { 245 pinctrl_hummingboard_usbotg_id: hummingboard-usbotg-id {
241 /* 246 /*
242 * Similar to pinctrl_usbotg_2, but we want it 247 * We want it pulled down for a fixed host connection.
243 * pulled down for a fixed host connection.
244 */ 248 */
245 fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; 249 fsl,pins = <MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x13059>;
246 }; 250 };
247 251
248 pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus { 252 pinctrl_hummingboard_usbotg_vbus: hummingboard-usbotg-vbus {
diff --git a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
index dffbc92e0023..98241acb08a6 100644
--- a/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-hummingboard2.dtsi
@@ -40,6 +40,11 @@
40 */ 40 */
41 41
42/ { 42/ {
43 /* Will be filled by the bootloader */
44 memory@10000000 {
45 reg = <0x10000000 0>;
46 };
47
43 chosen { 48 chosen {
44 stdout-path = &uart1; 49 stdout-path = &uart1;
45 }; 50 };
@@ -191,6 +196,7 @@
191 sgtl5000: codec@a { 196 sgtl5000: codec@a {
192 clocks = <&clks IMX6QDL_CLK_CKO>; 197 clocks = <&clks IMX6QDL_CLK_CKO>;
193 compatible = "fsl,sgtl5000"; 198 compatible = "fsl,sgtl5000";
199 #sound-dai-cells = <0>;
194 pinctrl-names = "default"; 200 pinctrl-names = "default";
195 pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>; 201 pinctrl-0 = <&pinctrl_hummingboard2_sgtl5000>;
196 reg = <0x0a>; 202 reg = <0x0a>;
@@ -409,8 +415,7 @@
409 415
410 pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id { 416 pinctrl_hummingboard2_usbotg_id: hummingboard2-usbotg-id {
411 /* 417 /*
412 * Similar to pinctrl_usbotg_2, but we want it 418 * We want it pulled down for a fixed host connection.
413 * pulled down for a fixed host connection.
414 */ 419 */
415 fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>; 420 fsl,pins = <MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x13059>;
416 }; 421 };
diff --git a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
index b6220d62f6de..acc3b11fba2a 100644
--- a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
@@ -44,7 +44,7 @@
44#include <dt-bindings/sound/fsl-imx-audmux.h> 44#include <dt-bindings/sound/fsl-imx-audmux.h>
45 45
46/ { 46/ {
47 memory { 47 memory@10000000 {
48 reg = <0x10000000 0x80000000>; 48 reg = <0x10000000 0x80000000>;
49 }; 49 };
50 50
@@ -200,7 +200,11 @@
200 status = "okay"; 200 status = "okay";
201 201
202 mdio { 202 mdio {
203 eth_phy: ethernet-phy { 203 #address-cells = <1>;
204 #size-cells = <0>;
205
206 eth_phy: ethernet-phy@0 {
207 reg = <0x0>;
204 rxc-skew-ps = <1140>; 208 rxc-skew-ps = <1140>;
205 txc-skew-ps = <1140>; 209 txc-skew-ps = <1140>;
206 txen-skew-ps = <600>; 210 txen-skew-ps = <600>;
diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
index a1b469c142f1..b3a463a5908b 100644
--- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
@@ -45,7 +45,7 @@
45#include <dt-bindings/sound/fsl-imx-audmux.h> 45#include <dt-bindings/sound/fsl-imx-audmux.h>
46 46
47/ { 47/ {
48 memory { 48 memory@10000000 {
49 reg = <0x10000000 0x80000000>; 49 reg = <0x10000000 0x80000000>;
50 }; 50 };
51 51
diff --git a/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi b/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi
index 4cc4e23cf99c..aab088f318e8 100644
--- a/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi
@@ -46,7 +46,7 @@
46 stdout-path = &uart2; 46 stdout-path = &uart2;
47 }; 47 };
48 48
49 memory { 49 memory@10000000 {
50 reg = <0x10000000 0x20000000>; 50 reg = <0x10000000 0x20000000>;
51 }; 51 };
52 52
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi
index fd05f7caa472..87ca6ead4098 100644
--- a/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi
@@ -46,7 +46,7 @@
46 stdout-path = &uart2; 46 stdout-path = &uart2;
47 }; 47 };
48 48
49 memory { 49 memory@10000000 {
50 reg = <0x10000000 0xF0000000>; 50 reg = <0x10000000 0xF0000000>;
51 }; 51 };
52 52
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi
index 40942d6b94b3..f5b763d39285 100644
--- a/arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi
@@ -46,7 +46,7 @@
46 stdout-path = &uart2; 46 stdout-path = &uart2;
47 }; 47 };
48 48
49 memory { 49 memory@10000000 {
50 reg = <0x10000000 0x40000000>; 50 reg = <0x10000000 0x40000000>;
51 }; 51 };
52 52
diff --git a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
index 919b6b7619a4..596866b0a0d2 100644
--- a/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi
@@ -48,7 +48,7 @@
48 stdout-path = &uart2; 48 stdout-path = &uart2;
49 }; 49 };
50 50
51 memory { 51 memory@10000000 {
52 reg = <0x10000000 0x40000000>; 52 reg = <0x10000000 0x40000000>;
53 }; 53 };
54 54
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-mira.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-mira.dtsi
new file mode 100644
index 000000000000..9ebd438dce7d
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-phytec-mira.dtsi
@@ -0,0 +1,390 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 PHYTEC Messtechnik GmbH
4 * Author: Christian Hemp <c.hemp@phytec.de>
5 */
6
7
8/ {
9 aliases {
10 rtc0 = &i2c_rtc;
11 };
12
13 backlight: backlight {
14 compatible = "pwm-backlight";
15 brightness-levels = <0 4 8 16 32 64 128 255>;
16 default-brightness-level = <7>;
17 power-supply = <&reg_backlight>;
18 pwms = <&pwm1 0 5000000>;
19 status = "okay";
20 };
21
22 gpio_leds: leds {
23 compatible = "gpio-leds";
24 pinctrl-names = "default";
25 pinctrl-0 = <&pinctrl_gpioleds>;
26 status = "disabled";
27
28 red {
29 label = "phyboard-mira:red";
30 gpios = <&gpio5 22 GPIO_ACTIVE_HIGH>;
31 };
32
33 green {
34 label = "phyboard-mira:green";
35 gpios = <&gpio5 23 GPIO_ACTIVE_HIGH>;
36 };
37
38 blue {
39 label = "phyboard-mira:blue";
40 gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>;
41 linux,default-trigger = "mmc0";
42 };
43 };
44
45 reg_backlight: regulator-backlight {
46 compatible = "regulator-fixed";
47 regulator-name = "backlight_3v3";
48 regulator-min-microvolt = <3300000>;
49 regulator-max-microvolt = <3300000>;
50 regulator-always-on;
51 };
52
53 reg_en_switch: regulator-en-switch {
54 compatible = "regulator-fixed";
55 pinctrl-names = "default";
56 pinctrl-0 = <&pinctrl_en_switch>;
57 regulator-name = "Enable Switch";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
60 enable-active-high;
61 gpio = <&gpio3 4 GPIO_ACTIVE_HIGH>;
62 regulator-always-on;
63 };
64
65 reg_flexcan1: regulator-flexcan1 {
66 compatible = "regulator-fixed";
67 pinctrl-names = "default";
68 pinctrl-0 = <&pinctrl_flexcan1_en>;
69 regulator-name = "flexcan1-reg";
70 regulator-min-microvolt = <1500000>;
71 regulator-max-microvolt = <1500000>;
72 gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>;
73 enable-active-high;
74 };
75
76 reg_panel: regulator-panel {
77 compatible = "regulator-fixed";
78 regulator-name = "panel-power-supply";
79 regulator-min-microvolt = <12000000>;
80 regulator-max-microvolt = <12000000>;
81 regulator-always-on;
82 };
83
84 reg_pcie: regulator-pcie {
85 compatible = "regulator-fixed";
86 pinctrl-names = "default";
87 pinctrl-0 = <&pinctrl_pcie_reg>;
88 regulator-name = "mPCIe_1V5";
89 regulator-min-microvolt = <1500000>;
90 regulator-max-microvolt = <1500000>;
91 gpio = <&gpio3 0 GPIO_ACTIVE_HIGH>;
92 enable-active-high;
93 };
94
95 reg_usb_h1_vbus: usb-h1-vbus {
96 compatible = "regulator-fixed";
97 pinctrl-names = "default";
98 pinctrl-0 = <&pinctrl_usbh1_vbus>;
99 regulator-name = "usb_h1_vbus";
100 regulator-min-microvolt = <5000000>;
101 regulator-max-microvolt = <5000000>;
102 gpio = <&gpio2 18 GPIO_ACTIVE_HIGH>;
103 enable-active-high;
104 };
105
106 reg_usbotg_vbus: usbotg-vbus {
107 compatible = "regulator-fixed";
108 pinctrl-names = "default";
109 pinctrl-0 = <&pinctrl_usbotg_vbus>;
110 regulator-name = "usb_otg_vbus";
111 regulator-min-microvolt = <5000000>;
112 regulator-max-microvolt = <5000000>;
113 gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
114 enable-active-high;
115 };
116
117 panel {
118 compatible = "auo,g104sn02";
119 pinctrl-names = "default";
120 pinctrl-0 = <&pinctrl_panel_en>;
121 power-supply = <&reg_panel>;
122 enable-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
123 backlight = <&backlight>;
124
125 port {
126 panel_in: endpoint {
127 remote-endpoint = <&lvds0_out>;
128 };
129 };
130 };
131};
132
133&can1 {
134 pinctrl-names = "default";
135 pinctrl-0 = <&pinctrl_flexcan1>;
136 xceiver-supply = <&reg_flexcan1>;
137 status = "disabled";
138};
139
140&hdmi {
141 pinctrl-names = "default";
142 pinctrl-0 = <&pinctrl_hdmicec>;
143 ddc-i2c-bus = <&i2c2>;
144 status = "disabled";
145};
146
147&i2c1 {
148 pinctrl-names = "default";
149 pinctrl-0 = <&pinctrl_i2c1>;
150 clock-frequency = <400000>;
151 status = "disabled";
152
153 stmpe: touchctrl@44 {
154 compatible = "st,stmpe811";
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_stmpe>;
157 reg = <0x44>;
158 interrupt-parent = <&gpio7>;
159 interrupts = <12 IRQ_TYPE_NONE>;
160 status = "disabled";
161
162 stmpe_touchscreen {
163 compatible = "st,stmpe-ts";
164 st,sample-time = <4>;
165 st,mod-12b = <1>;
166 st,ref-sel = <0>;
167 st,adc-freq = <1>;
168 st,ave-ctrl = <1>;
169 st,touch-det-delay = <2>;
170 st,settling = <2>;
171 st,fraction-z = <7>;
172 st,i-drive = <1>;
173 };
174 };
175
176 i2c_rtc: rtc@68 {
177 compatible = "microcrystal,rv4162";
178 pinctrl-names = "default";
179 pinctrl-0 = <&pinctrl_rtc_int>;
180 reg = <0x68>;
181 interrupt-parent = <&gpio7>;
182 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
183 status = "disabled";
184 };
185};
186
187&i2c2 {
188 pinctrl-names = "default";
189 pinctrl-0 = <&pinctrl_i2c2>;
190 clock-frequency = <100000>;
191 status = "disabled";
192};
193
194&ldb {
195 status = "okay";
196
197 lvds-channel@0 {
198 fsl,data-mapping = "spwg";
199 fsl,data-width = <24>;
200 status = "disabled";
201
202 port@4 {
203 reg = <4>;
204
205 lvds0_out: endpoint {
206 remote-endpoint = <&panel_in>;
207 };
208 };
209 };
210};
211
212&pcie {
213 pinctrl-names = "default";
214 pinctrl-0 = <&pinctrl_pcie>;
215 reset-gpio = <&gpio2 25 GPIO_ACTIVE_LOW>;
216 vpcie-supply = <&reg_pcie>;
217 status = "disabled";
218};
219
220&pwm1 {
221 pinctrl-names = "default";
222 pinctrl-0 = <&pinctrl_pwm1>;
223 status = "okay";
224};
225
226&uart2 {
227 pinctrl-names = "default";
228 pinctrl-0 = <&pinctrl_uart2>;
229 status = "okay";
230};
231
232&uart3 {
233 pinctrl-names = "default";
234 pinctrl-0 = <&pinctrl_uart3>;
235 uart-has-rtscts;
236 status = "disabled";
237};
238
239&usbh1 {
240 vbus-supply = <&reg_usb_h1_vbus>;
241 disable-over-current;
242 status = "disabled";
243};
244
245&usbotg {
246 pinctrl-names = "default";
247 pinctrl-0 = <&pinctrl_usbotg>;
248 vbus-supply = <&reg_usbotg_vbus>;
249 disable-over-current;
250 status = "disabled";
251};
252
253&usdhc1 {
254 pinctrl-names = "default";
255 pinctrl-0 = <&pinctrl_usdhc1>;
256 cd-gpios = <&gpio6 31 GPIO_ACTIVE_LOW>;
257 no-1-8-v;
258 status = "disabled";
259};
260
261&iomuxc {
262 pinctrl_panel_en: panelen1grp {
263 fsl,pins = <
264 MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0xb0b1
265 >;
266 };
267
268 pinctrl_en_switch: enswitchgrp {
269 fsl,pins = <
270 MX6QDL_PAD_EIM_DA4__GPIO3_IO04 0xb0b1
271 >;
272 };
273
274 pinctrl_flexcan1: flexcan1grp {
275 fsl,pins = <
276 MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0
277 MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x1b0b0
278 >;
279 };
280
281 pinctrl_flexcan1_en: flexcan1engrp {
282 fsl,pins = <
283 MX6QDL_PAD_EIM_A18__GPIO2_IO20 0xb0b1
284 >;
285 };
286
287 pinctrl_gpioleds: gpioledsgrp {
288 fsl,pins = <
289 MX6QDL_PAD_CSI0_DAT4__GPIO5_IO22 0x1b0b0
290 MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23 0x1b0b0
291 MX6QDL_PAD_CSI0_DAT6__GPIO5_IO24 0x1b0b0
292 >;
293 };
294
295 pinctrl_hdmicec: hdmicecgrp {
296 fsl,pins = <
297 MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
298 >;
299 };
300
301 pinctrl_i2c2: i2c2grp {
302 fsl,pins = <
303 MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
304 MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
305 >;
306 };
307
308 pinctrl_i2c1: i2c1grp {
309 fsl,pins = <
310 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
311 MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
312 >;
313 };
314
315 pinctrl_pcie: pciegrp {
316 fsl,pins = <
317 MX6QDL_PAD_EIM_OE__GPIO2_IO25 0xb0b1
318 >;
319 };
320
321 pinctrl_pcie_reg: pciereggrp {
322 fsl,pins = <
323 MX6QDL_PAD_EIM_DA0__GPIO3_IO00 0xb0b1
324 >;
325 };
326
327 pinctrl_pwm1: pwm1grp {
328 fsl,pins = <
329 MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1
330 >;
331 };
332
333 pinctrl_rtc_int: rtcintgrp {
334 fsl,pins = <
335 MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x1b0b0
336 >;
337 };
338
339 pinctrl_stmpe: stmpegrp {
340 fsl,pins = <
341 MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0
342 >;
343 };
344
345 pinctrl_uart2: uart2grp {
346 fsl,pins = <
347 MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
348 MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
349 >;
350 };
351
352 pinctrl_uart3: uart3grp {
353 fsl,pins = <
354 MX6QDL_PAD_EIM_EB3__UART3_CTS_B 0x1b0b1
355 MX6QDL_PAD_EIM_D23__UART3_RTS_B 0x1b0b1
356 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
357 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
358 >;
359 };
360
361 pinctrl_usbh1_vbus: usbh1vbusgrp {
362 fsl,pins = <
363 MX6QDL_PAD_EIM_A20__GPIO2_IO18 0xb0b1
364 >;
365 };
366
367 pinctrl_usbotg: usbotggrp {
368 fsl,pins = <
369 MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
370 >;
371 };
372
373 pinctrl_usbotg_vbus: usbotgvbusgrp {
374 fsl,pins = <
375 MX6QDL_PAD_EIM_A19__GPIO2_IO19 0xb0b1
376 >;
377 };
378
379 pinctrl_usdhc1: usdhc1grp {
380 fsl,pins = <
381 MX6QDL_PAD_SD1_CMD__SD1_CMD 0x170f9
382 MX6QDL_PAD_SD1_CLK__SD1_CLK 0x100f9
383 MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x170f9
384 MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x170f9
385 MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x170f9
386 MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x170f9
387 MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0xb0b1 /* CD */
388 >;
389 };
390};
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
index 585b4f6986c1..7ba317ae899b 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pbab01.dtsi
@@ -13,7 +13,7 @@
13 13
14/ { 14/ {
15 chosen { 15 chosen {
16 linux,stdout-path = &uart4; 16 stdout-path = &uart4;
17 }; 17 };
18 18
19 regulators { 19 regulators {
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
index d81b0078a100..c58f3443d55d 100644
--- a/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi
@@ -15,7 +15,7 @@
15 model = "Phytec phyFLEX-i.MX6 Quad"; 15 model = "Phytec phyFLEX-i.MX6 Quad";
16 compatible = "phytec,imx6q-pfla02", "fsl,imx6q"; 16 compatible = "phytec,imx6q-pfla02", "fsl,imx6q";
17 17
18 memory { 18 memory@10000000 {
19 reg = <0x10000000 0x80000000>; 19 reg = <0x10000000 0x80000000>;
20 }; 20 };
21 21
diff --git a/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi b/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi
new file mode 100644
index 000000000000..6486df3e2942
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi
@@ -0,0 +1,279 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 PHYTEC Messtechnik GmbH
4 * Author: Christian Hemp <c.hemp@phytec.de>
5 */
6
7#include <dt-bindings/gpio/gpio.h>
8
9/ {
10 aliases {
11 rtc1 = &da9062_rtc;
12 rtc2 = &snvs_rtc;
13 };
14
15 /*
16 * Set the minimum memory size here and
17 * let the bootloader set the real size.
18 */
19 memory@10000000 {
20 device_type = "memory";
21 reg = <0x10000000 0x8000000>;
22 };
23
24 gpio_leds_som: somleds {
25 compatible = "gpio-leds";
26 pinctrl-names = "default";
27 pinctrl-0 = <&pinctrl_gpioleds_som>;
28
29 som-led-green {
30 label = "phycore:green";
31 gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
32 linux,default-trigger = "heartbeat";
33 };
34 };
35};
36
37&ecspi1 {
38 pinctrl-names = "default";
39 pinctrl-0 = <&pinctrl_ecspi1>;
40 cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
41 status = "okay";
42
43 m25p80: flash@0 {
44 compatible = "jedec,spi-nor";
45 spi-max-frequency = <20000000>;
46 reg = <0>;
47 status = "disabled";
48 };
49};
50
51&fec {
52 pinctrl-names = "default";
53 pinctrl-0 = <&pinctrl_enet>;
54 phy-handle = <&ethphy>;
55 phy-mode = "rgmii";
56 phy-supply = <&vdd_eth_io>;
57 phy-reset-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
58 status = "disabled";
59
60 mdio {
61 #address-cells = <1>;
62 #size-cells = <0>;
63
64 ethphy: ethernet-phy@3 {
65 reg = <3>;
66 txc-skew-ps = <1680>;
67 rxc-skew-ps = <1860>;
68 };
69 };
70};
71
72&gpmi {
73 pinctrl-names = "default";
74 pinctrl-0 = <&pinctrl_gpmi_nand>;
75 nand-on-flash-bbt;
76 status = "disabled";
77};
78
79&i2c3 {
80 pinctrl-names = "default";
81 pinctrl-0 = <&pinctrl_i2c3>;
82 clock-frequency = <400000>;
83 status = "okay";
84
85 eeprom@50 {
86 compatible = "atmel,24c32";
87 reg = <0x50>;
88 };
89
90 pmic@58 {
91 compatible = "dlg,da9062";
92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_pmic>;
94 reg = <0x58>;
95 interrupt-parent = <&gpio1>;
96 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
97 interrupt-controller;
98
99 da9062_rtc: rtc {
100 compatible = "dlg,da9062-rtc";
101 };
102
103 watchdog {
104 compatible = "dlg,da9062-watchdog";
105 };
106
107 regulators {
108 vdd_arm: buck1 {
109 regulator-name = "vdd_arm";
110 regulator-min-microvolt = <730000>;
111 regulator-max-microvolt = <1380000>;
112 regulator-always-on;
113 };
114
115 vdd_soc: buck2 {
116 regulator-name = "vdd_soc";
117 regulator-min-microvolt = <730000>;
118 regulator-max-microvolt = <1380000>;
119 regulator-always-on;
120 };
121
122 vdd_ddr3_1p5: buck3 {
123 regulator-name = "vdd_ddr3";
124 regulator-min-microvolt = <1500000>;
125 regulator-max-microvolt = <1500000>;
126 regulator-always-on;
127 };
128
129 vdd_eth_1p2: buck4 {
130 regulator-name = "vdd_eth";
131 regulator-min-microvolt = <1200000>;
132 regulator-max-microvolt = <1200000>;
133 regulator-always-on;
134 };
135
136 vdd_snvs: ldo1 {
137 regulator-name = "vdd_snvs";
138 regulator-min-microvolt = <3000000>;
139 regulator-max-microvolt = <3000000>;
140 regulator-always-on;
141 };
142
143 vdd_high: ldo2 {
144 regulator-name = "vdd_high";
145 regulator-min-microvolt = <3000000>;
146 regulator-max-microvolt = <3000000>;
147 regulator-always-on;
148 };
149
150 vdd_eth_io: ldo3 {
151 regulator-name = "vdd_eth_io";
152 regulator-min-microvolt = <2500000>;
153 regulator-max-microvolt = <2500000>;
154 };
155
156 vdd_emmc_1p8: ldo4 {
157 regulator-name = "vdd_emmc";
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <1800000>;
160 };
161 };
162 };
163};
164
165&reg_arm {
166 vin-supply = <&vdd_arm>;
167};
168
169&reg_pu {
170 vin-supply = <&vdd_soc>;
171};
172
173&reg_soc {
174 vin-supply = <&vdd_soc>;
175};
176
177&snvs_poweroff {
178 status = "okay";
179};
180
181&usdhc4 {
182 pinctrl-names = "default";
183 pinctrl-0 = <&pinctrl_usdhc4>;
184 bus-width = <8>;
185 non-removable;
186 vmmc-supply = <&vdd_emmc_1p8>;
187 status = "disabled";
188};
189
190&iomuxc {
191 pinctrl_enet: enetgrp {
192 fsl,pins = <
193 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
194 MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
195 MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
196 MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
197 MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
198 MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
199 MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
200 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
201 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
202 MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
203 MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
204 MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
205 MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
206 MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
207 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
208 MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
209 MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
210 >;
211 };
212
213 pinctrl_gpioleds_som: gpioledssomgrp {
214 fsl,pins = <
215 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0
216 >;
217 };
218
219 pinctrl_gpmi_nand: gpminandgrp {
220 fsl,pins = <
221 MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
222 MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
223 MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1
224 MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000
225 MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1
226 MX6QDL_PAD_NANDF_CS1__NAND_CE1_B 0xb0b1
227 MX6QDL_PAD_NANDF_CS2__NAND_CE2_B 0xb0b1
228 MX6QDL_PAD_NANDF_CS3__NAND_CE3_B 0xb0b1
229 MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1
230 MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1
231 MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1
232 MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1
233 MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1
234 MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1
235 MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1
236 MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1
237 MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1
238 MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1
239 MX6QDL_PAD_SD4_DAT0__NAND_DQS 0x00b1
240 >;
241 };
242
243 pinctrl_i2c3: i2c3grp {
244 fsl,pins = <
245 MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
246 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
247 >;
248 };
249
250 pinctrl_ecspi1: ecspi1grp {
251 fsl,pins = <
252 MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1
253 MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1
254 MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1
255 MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x1b0b0
256 >;
257 };
258
259 pinctrl_pmic: pmicgrp {
260 fsl,pins = <
261 MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b0
262 >;
263 };
264
265 pinctrl_usdhc4: usdhc4grp {
266 fsl,pins = <
267 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059
268 MX6QDL_PAD_SD4_CLK__SD4_CLK 0x10059
269 MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059
270 MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059
271 MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059
272 MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059
273 MX6QDL_PAD_SD4_DAT4__SD4_DATA4 0x17059
274 MX6QDL_PAD_SD4_DAT5__SD4_DATA5 0x17059
275 MX6QDL_PAD_SD4_DAT6__SD4_DATA6 0x17059
276 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x17059
277 >;
278 };
279};
diff --git a/arch/arm/boot/dts/imx6qdl-rex.dtsi b/arch/arm/boot/dts/imx6qdl-rex.dtsi
index 6e9549ff11da..039e3b8306c4 100644
--- a/arch/arm/boot/dts/imx6qdl-rex.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-rex.dtsi
@@ -137,7 +137,7 @@
137 status = "okay"; 137 status = "okay";
138 138
139 eeprom@57 { 139 eeprom@57 {
140 compatible = "at,24c02"; 140 compatible = "atmel,24c02";
141 reg = <0x57>; 141 reg = <0x57>;
142 }; 142 };
143}; 143};
diff --git a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
index 82d6ccb46982..54b0139e978d 100644
--- a/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi
@@ -13,7 +13,7 @@
13#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/gpio/gpio.h>
14 14
15/ { 15/ {
16 memory { 16 memory@10000000 {
17 reg = <0x10000000 0x80000000>; 17 reg = <0x10000000 0x80000000>;
18 }; 18 };
19 19
diff --git a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
index 35de7adc997b..18b65052553d 100644
--- a/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabrelite.dtsi
@@ -49,7 +49,7 @@
49 stdout-path = &uart2; 49 stdout-path = &uart2;
50 }; 50 };
51 51
52 memory { 52 memory@10000000 {
53 reg = <0x10000000 0x40000000>; 53 reg = <0x10000000 0x40000000>;
54 }; 54 };
55 55
diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index 0a50705b9c18..f019f9900369 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -19,7 +19,7 @@
19 stdout-path = &uart1; 19 stdout-path = &uart1;
20 }; 20 };
21 21
22 memory { 22 memory@10000000 {
23 reg = <0x10000000 0x40000000>; 23 reg = <0x10000000 0x40000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/imx6qdl-tx6.dtsi b/arch/arm/boot/dts/imx6qdl-tx6.dtsi
index 6abb66cd7d4a..f015e2d1cf35 100644
--- a/arch/arm/boot/dts/imx6qdl-tx6.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-tx6.dtsi
@@ -61,8 +61,8 @@
61 sdhc1 = &usdhc2; 61 sdhc1 = &usdhc2;
62 }; 62 };
63 63
64 memory { 64 memory@10000000 {
65 reg = <0 0>; /* will be filled by U-Boot */ 65 reg = <0x10000000 0>; /* will be filled by U-Boot */
66 }; 66 };
67 67
68 clocks { 68 clocks {
diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
index 4161b7d4323a..906387915dc5 100644
--- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
@@ -35,7 +35,7 @@
35 pinctrl-names = "default"; 35 pinctrl-names = "default";
36 }; 36 };
37 37
38 memory { 38 memory@10000000 {
39 reg = <0x10000000 0x40000000>; 39 reg = <0x10000000 0x40000000>;
40 }; 40 };
41 41
diff --git a/arch/arm/boot/dts/imx6qdl-var-dart.dtsi b/arch/arm/boot/dts/imx6qdl-var-dart.dtsi
index 421d6f527609..38080c1dfaec 100644
--- a/arch/arm/boot/dts/imx6qdl-var-dart.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-var-dart.dtsi
@@ -10,7 +10,7 @@
10#include <dt-bindings/sound/fsl-imx-audmux.h> 10#include <dt-bindings/sound/fsl-imx-audmux.h>
11 11
12/ { 12/ {
13 memory { 13 memory@10000000 {
14 reg = <0x10000000 0x40000000>; 14 reg = <0x10000000 0x40000000>;
15 }; 15 };
16 16
diff --git a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
index 72f52fcecee1..911f7f0e3cea 100644
--- a/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-zii-rdu2.dtsi
@@ -305,6 +305,15 @@
305 pinctrl-names = "default"; 305 pinctrl-names = "default";
306 pinctrl-0 = <&pinctrl_uart4>; 306 pinctrl-0 = <&pinctrl_uart4>;
307 status = "okay"; 307 status = "okay";
308
309 rave-sp {
310 compatible = "zii,rave-sp-rdu2";
311 current-speed = <1000000>;
312
313 watchdog {
314 compatible = "zii,rave-sp-watchdog";
315 };
316 };
308}; 317};
309 318
310&ecspi1 { 319&ecspi1 {
@@ -498,7 +507,7 @@
498 }; 507 };
499 508
500 eeprom@54 { 509 eeprom@54 {
501 compatible = "at,24c128"; 510 compatible = "atmel,24c128";
502 reg = <0x54>; 511 reg = <0x54>;
503 }; 512 };
504 513
@@ -602,6 +611,8 @@
602 wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; 611 wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
603 vmmc-supply = <&reg_3p3v_sd>; 612 vmmc-supply = <&reg_3p3v_sd>;
604 vqmmc-supply = <&reg_3p3v>; 613 vqmmc-supply = <&reg_3p3v>;
614 no-1-8-v;
615 no-sdio;
605 status = "okay"; 616 status = "okay";
606}; 617};
607 618
@@ -613,6 +624,8 @@
613 wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; 624 wp-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
614 vmmc-supply = <&reg_3p3v_sd>; 625 vmmc-supply = <&reg_3p3v_sd>;
615 vqmmc-supply = <&reg_3p3v>; 626 vqmmc-supply = <&reg_3p3v>;
627 no-1-8-v;
628 no-sdio;
616 status = "okay"; 629 status = "okay";
617}; 630};
618 631
@@ -622,7 +635,10 @@
622 bus-width = <8>; 635 bus-width = <8>;
623 vmmc-supply = <&reg_3p3v>; 636 vmmc-supply = <&reg_3p3v>;
624 vqmmc-supply = <&reg_3p3v>; 637 vqmmc-supply = <&reg_3p3v>;
638 no-1-8-v;
625 non-removable; 639 non-removable;
640 no-sdio;
641 no-sd;
626 status = "okay"; 642 status = "okay";
627}; 643};
628 644
@@ -805,6 +821,10 @@
805 }; 821 };
806}; 822};
807 823
824&wdog1 {
825 status = "disabled";
826};
827
808&iomuxc { 828&iomuxc {
809 pinctrl_accel: accelgrp { 829 pinctrl_accel: accelgrp {
810 fsl,pins = < 830 fsl,pins = <
diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 59ff86695a14..c003e62bf290 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -23,7 +23,7 @@
23 * Also for U-Boot there must be a pre-existing /memory node. 23 * Also for U-Boot there must be a pre-existing /memory node.
24 */ 24 */
25 chosen {}; 25 chosen {};
26 memory { device_type = "memory"; reg = <0 0>; }; 26 memory { device_type = "memory"; };
27 27
28 aliases { 28 aliases {
29 ethernet0 = &fec; 29 ethernet0 = &fec;
@@ -143,7 +143,7 @@
143 }; 143 };
144 }; 144 };
145 145
146 pmu { 146 pmu: pmu {
147 compatible = "arm,cortex-a9-pmu"; 147 compatible = "arm,cortex-a9-pmu";
148 interrupt-parent = <&gpc>; 148 interrupt-parent = <&gpc>;
149 interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>; 149 interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm/boot/dts/imx6qp-phytec-mira-rdk-nand.dts b/arch/arm/boot/dts/imx6qp-phytec-mira-rdk-nand.dts
new file mode 100644
index 000000000000..f27d7ab42626
--- /dev/null
+++ b/arch/arm/boot/dts/imx6qp-phytec-mira-rdk-nand.dts
@@ -0,0 +1,72 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2018 PHYTEC Messtechnik GmbH
4 * Author: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
5 */
6
7/dts-v1/;
8#include "imx6qp.dtsi"
9#include "imx6qdl-phytec-phycore-som.dtsi"
10#include "imx6qdl-phytec-mira.dtsi"
11
12/ {
13 model = "PHYTEC phyBOARD-Mira QuadPlus Carrier-Board with NAND";
14 compatible = "phytec,imx6qp-pbac06-nand", "phytec,imx6qp-pbac06",
15 "phytec,imx6qdl-pcm058", "fsl,imx6qp";
16
17 chosen {
18 stdout-path = &uart2;
19 };
20};
21
22&can1 {
23 status = "okay";
24};
25
26&fec {
27 status = "okay";
28};
29
30&gpmi {
31 status = "okay";
32};
33
34&hdmi {
35 status = "okay";
36};
37
38&i2c1 {
39 status = "okay";
40};
41
42&i2c2 {
43 status = "okay";
44};
45
46&i2c_rtc {
47 status = "okay";
48};
49
50&m25p80 {
51 status = "okay";
52};
53
54&pcie {
55 status = "okay";
56};
57
58&uart3 {
59 status = "okay";
60};
61
62&usbh1 {
63 status = "okay";
64};
65
66&usbotg {
67 status = "okay";
68};
69
70&usdhc1 {
71 status = "okay";
72};
diff --git a/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts b/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts
index f7badd82ce8a..907ba0c74ba6 100644
--- a/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts
+++ b/arch/arm/boot/dts/imx6qp-wandboard-revd1.dts
@@ -16,7 +16,7 @@
16 model = "Wandboard i.MX6 QuadPlus Board revD1"; 16 model = "Wandboard i.MX6 QuadPlus Board revD1";
17 compatible = "wand,imx6qp-wandboard", "fsl,imx6qp"; 17 compatible = "wand,imx6qp-wandboard", "fsl,imx6qp";
18 18
19 memory { 19 memory@10000000 {
20 reg = <0x10000000 0x80000000>; 20 reg = <0x10000000 0x80000000>;
21 }; 21 };
22}; 22};
diff --git a/arch/arm/boot/dts/imx6qp-zii-rdu2.dts b/arch/arm/boot/dts/imx6qp-zii-rdu2.dts
index 547a76677ab3..de5b50df833c 100644
--- a/arch/arm/boot/dts/imx6qp-zii-rdu2.dts
+++ b/arch/arm/boot/dts/imx6qp-zii-rdu2.dts
@@ -47,4 +47,9 @@
47/ { 47/ {
48 model = "ZII RDU2+ Board"; 48 model = "ZII RDU2+ Board";
49 compatible = "zii,imx6qp-zii-rdu2", "fsl,imx6qp"; 49 compatible = "zii,imx6qp-zii-rdu2", "fsl,imx6qp";
50
51 /* Will be filled by the bootloader */
52 memory@10000000 {
53 reg = <0x10000000 0>;
54 };
50}; 55};
diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts
index 2844ab541759..37e792fdc160 100644
--- a/arch/arm/boot/dts/imx6sl-evk.dts
+++ b/arch/arm/boot/dts/imx6sl-evk.dts
@@ -16,7 +16,7 @@
16 model = "Freescale i.MX6 SoloLite EVK Board"; 16 model = "Freescale i.MX6 SoloLite EVK Board";
17 compatible = "fsl,imx6sl-evk", "fsl,imx6sl"; 17 compatible = "fsl,imx6sl-evk", "fsl,imx6sl";
18 18
19 memory { 19 memory@80000000 {
20 reg = <0x80000000 0x40000000>; 20 reg = <0x80000000 0x40000000>;
21 }; 21 };
22 22
diff --git a/arch/arm/boot/dts/imx6sl-warp.dts b/arch/arm/boot/dts/imx6sl-warp.dts
index 72c7745f51d3..404e602e6781 100644
--- a/arch/arm/boot/dts/imx6sl-warp.dts
+++ b/arch/arm/boot/dts/imx6sl-warp.dts
@@ -54,7 +54,7 @@
54 model = "WaRP Board"; 54 model = "WaRP Board";
55 compatible = "warp,imx6sl-warp", "fsl,imx6sl"; 55 compatible = "warp,imx6sl-warp", "fsl,imx6sl";
56 56
57 memory { 57 memory@80000000 {
58 reg = <0x80000000 0x20000000>; 58 reg = <0x80000000 0x20000000>;
59 }; 59 };
60 60
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
index ae8df3cf687e..ab6a7e2e7e8f 100644
--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -21,7 +21,7 @@
21 * Also for U-Boot there must be a pre-existing /memory node. 21 * Also for U-Boot there must be a pre-existing /memory node.
22 */ 22 */
23 chosen {}; 23 chosen {};
24 memory { device_type = "memory"; reg = <0 0>; }; 24 memory { device_type = "memory"; };
25 25
26 aliases { 26 aliases {
27 ethernet0 = &fec; 27 ethernet0 = &fec;
diff --git a/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts b/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
index f9d40ee14982..b58f770c40d9 100644
--- a/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
+++ b/arch/arm/boot/dts/imx6sx-nitrogen6sx.dts
@@ -52,7 +52,7 @@
52 t_lcd = &t_lcd; 52 t_lcd = &t_lcd;
53 }; 53 };
54 54
55 memory { 55 memory@80000000 {
56 reg = <0x80000000 0x40000000>; 56 reg = <0x80000000 0x40000000>;
57 }; 57 };
58 58
diff --git a/arch/arm/boot/dts/imx6sx-sabreauto.dts b/arch/arm/boot/dts/imx6sx-sabreauto.dts
index 240a2864d044..72da5acf35a2 100644
--- a/arch/arm/boot/dts/imx6sx-sabreauto.dts
+++ b/arch/arm/boot/dts/imx6sx-sabreauto.dts
@@ -14,7 +14,7 @@
14 model = "Freescale i.MX6 SoloX Sabre Auto Board"; 14 model = "Freescale i.MX6 SoloX Sabre Auto Board";
15 compatible = "fsl,imx6sx-sabreauto", "fsl,imx6sx"; 15 compatible = "fsl,imx6sx-sabreauto", "fsl,imx6sx";
16 16
17 memory { 17 memory@80000000 {
18 reg = <0x80000000 0x80000000>; 18 reg = <0x80000000 0x80000000>;
19 }; 19 };
20 20
diff --git a/arch/arm/boot/dts/imx6sx-sdb.dtsi b/arch/arm/boot/dts/imx6sx-sdb.dtsi
index d35aa858f9db..f8f31872fa14 100644
--- a/arch/arm/boot/dts/imx6sx-sdb.dtsi
+++ b/arch/arm/boot/dts/imx6sx-sdb.dtsi
@@ -20,7 +20,7 @@
20 stdout-path = &uart1; 20 stdout-path = &uart1;
21 }; 21 };
22 22
23 memory { 23 memory@80000000 {
24 reg = <0x80000000 0x40000000>; 24 reg = <0x80000000 0x40000000>;
25 }; 25 };
26 26
diff --git a/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts b/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts
index 4d8c6521845f..252175b59247 100644
--- a/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts
+++ b/arch/arm/boot/dts/imx6sx-softing-vining-2000.dts
@@ -20,7 +20,7 @@
20 stdout-path = &uart1; 20 stdout-path = &uart1;
21 }; 21 };
22 22
23 memory { 23 memory@80000000 {
24 reg = <0x80000000 0x40000000>; 24 reg = <0x80000000 0x40000000>;
25 }; 25 };
26 26
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts b/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
index 0c1fc1a8f913..40ccdf43dffc 100644
--- a/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo-basic.dts
@@ -48,7 +48,7 @@
48 model = "UDOO Neo Basic"; 48 model = "UDOO Neo Basic";
49 compatible = "udoo,neobasic", "fsl,imx6sx"; 49 compatible = "udoo,neobasic", "fsl,imx6sx";
50 50
51 memory { 51 memory@80000000 {
52 reg = <0x80000000 0x20000000>; 52 reg = <0x80000000 0x20000000>;
53 }; 53 };
54}; 54};
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts b/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
index 5d6c2274ee2b..42bfc8f8f7f6 100644
--- a/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo-extended.dts
@@ -48,7 +48,7 @@
48 model = "UDOO Neo Extended"; 48 model = "UDOO Neo Extended";
49 compatible = "udoo,neoextended", "fsl,imx6sx"; 49 compatible = "udoo,neoextended", "fsl,imx6sx";
50 50
51 memory { 51 memory@80000000 {
52 reg = <0x80000000 0x40000000>; 52 reg = <0x80000000 0x40000000>;
53 }; 53 };
54}; 54};
diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts b/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
index 653ceb29e28b..c84c877f09d4 100644
--- a/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo-full.dts
@@ -48,7 +48,7 @@
48 model = "UDOO Neo Full"; 48 model = "UDOO Neo Full";
49 compatible = "udoo,neofull", "fsl,imx6sx"; 49 compatible = "udoo,neofull", "fsl,imx6sx";
50 50
51 memory { 51 memory@80000000 {
52 reg = <0x80000000 0x40000000>; 52 reg = <0x80000000 0x40000000>;
53 }; 53 };
54}; 54};
diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi
index fd7879342d0d..49c7205b8db8 100644
--- a/arch/arm/boot/dts/imx6sx.dtsi
+++ b/arch/arm/boot/dts/imx6sx.dtsi
@@ -22,7 +22,7 @@
22 * Also for U-Boot there must be a pre-existing /memory node. 22 * Also for U-Boot there must be a pre-existing /memory node.
23 */ 23 */
24 chosen {}; 24 chosen {};
25 memory { device_type = "memory"; reg = <0 0>; }; 25 memory { device_type = "memory"; };
26 26
27 aliases { 27 aliases {
28 can0 = &flexcan1; 28 can0 = &flexcan1;
@@ -188,6 +188,7 @@
188 <&clks IMX6SX_CLK_GPU>, 188 <&clks IMX6SX_CLK_GPU>,
189 <&clks IMX6SX_CLK_GPU>; 189 <&clks IMX6SX_CLK_GPU>;
190 clock-names = "bus", "core", "shader"; 190 clock-names = "bus", "core", "shader";
191 power-domains = <&pd_pu>;
191 }; 192 };
192 193
193 dma_apbh: dma-apbh@1804000 { 194 dma_apbh: dma-apbh@1804000 {
@@ -767,6 +768,18 @@
767 #address-cells = <1>; 768 #address-cells = <1>;
768 #size-cells = <0>; 769 #size-cells = <0>;
769 770
771 power-domain@0 {
772 reg = <0>;
773 #power-domain-cells = <0>;
774 };
775
776 pd_pu: power-domain@1 {
777 reg = <1>;
778 #power-domain-cells = <0>;
779 power-supply = <&reg_soc>;
780 clocks = <&clks IMX6SX_CLK_GPU>;
781 };
782
770 pd_pci: power-domain@3 { 783 pd_pci: power-domain@3 {
771 reg = <3>; 784 reg = <3>;
772 #power-domain-cells = <0>; 785 #power-domain-cells = <0>;
@@ -1355,9 +1368,4 @@
1355 status = "disabled"; 1368 status = "disabled";
1356 }; 1369 };
1357 }; 1370 };
1358
1359 gpu-subsystem {
1360 compatible = "fsl,imx-gpu-subsystem";
1361 cores = <&gpu>;
1362 };
1363}; 1371};
diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk.dts b/arch/arm/boot/dts/imx6ul-14x14-evk.dts
index 18fdb088ba1e..6d720b20e7ed 100644
--- a/arch/arm/boot/dts/imx6ul-14x14-evk.dts
+++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dts
@@ -9,487 +9,9 @@
9/dts-v1/; 9/dts-v1/;
10 10
11#include "imx6ul.dtsi" 11#include "imx6ul.dtsi"
12#include "imx6ul-14x14-evk.dtsi"
12 13
13/ { 14/ {
14 model = "Freescale i.MX6 UltraLite 14x14 EVK Board"; 15 model = "Freescale i.MX6 UltraLite 14x14 EVK Board";
15 compatible = "fsl,imx6ul-14x14-evk", "fsl,imx6ul"; 16 compatible = "fsl,imx6ul-14x14-evk", "fsl,imx6ul";
16
17 chosen {
18 stdout-path = &uart1;
19 };
20
21 memory {
22 reg = <0x80000000 0x20000000>;
23 };
24
25 backlight_display: backlight-display {
26 compatible = "pwm-backlight";
27 pwms = <&pwm1 0 5000000>;
28 brightness-levels = <0 4 8 16 32 64 128 255>;
29 default-brightness-level = <6>;
30 status = "okay";
31 };
32
33
34 reg_sd1_vmmc: regulator-sd1-vmmc {
35 compatible = "regulator-fixed";
36 regulator-name = "VSD_3V3";
37 regulator-min-microvolt = <3300000>;
38 regulator-max-microvolt = <3300000>;
39 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
40 enable-active-high;
41 };
42
43 sound {
44 compatible = "simple-audio-card";
45 simple-audio-card,name = "mx6ul-wm8960";
46 simple-audio-card,format = "i2s";
47 simple-audio-card,bitclock-master = <&dailink_master>;
48 simple-audio-card,frame-master = <&dailink_master>;
49 simple-audio-card,widgets =
50 "Microphone", "Mic Jack",
51 "Line", "Line In",
52 "Line", "Line Out",
53 "Speaker", "Speaker",
54 "Headphone", "Headphone Jack";
55 simple-audio-card,routing =
56 "Headphone Jack", "HP_L",
57 "Headphone Jack", "HP_R",
58 "Speaker", "SPK_LP",
59 "Speaker", "SPK_LN",
60 "Speaker", "SPK_RP",
61 "Speaker", "SPK_RN",
62 "LINPUT1", "Mic Jack",
63 "LINPUT3", "Mic Jack",
64 "RINPUT1", "Mic Jack",
65 "RINPUT2", "Mic Jack";
66
67 simple-audio-card,cpu {
68 sound-dai = <&sai2>;
69 };
70
71 dailink_master: simple-audio-card,codec {
72 sound-dai = <&codec>;
73 clocks = <&clks IMX6UL_CLK_SAI2>;
74 };
75 };
76
77 panel {
78 compatible = "innolux,at043tn24";
79 backlight = <&backlight_display>;
80
81 port {
82 panel_in: endpoint {
83 remote-endpoint = <&display_out>;
84 };
85 };
86 };
87};
88
89&clks {
90 assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
91 assigned-clock-rates = <786432000>;
92};
93
94&i2c2 {
95 clock_frequency = <100000>;
96 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_i2c2>;
98 status = "okay";
99
100 codec: wm8960@1a {
101 #sound-dai-cells = <0>;
102 compatible = "wlf,wm8960";
103 reg = <0x1a>;
104 wlf,shared-lrclk;
105 };
106};
107
108&fec1 {
109 pinctrl-names = "default";
110 pinctrl-0 = <&pinctrl_enet1>;
111 phy-mode = "rmii";
112 phy-handle = <&ethphy0>;
113 status = "okay";
114};
115
116&fec2 {
117 pinctrl-names = "default";
118 pinctrl-0 = <&pinctrl_enet2>;
119 phy-mode = "rmii";
120 phy-handle = <&ethphy1>;
121 status = "okay";
122
123 mdio {
124 #address-cells = <1>;
125 #size-cells = <0>;
126
127 ethphy0: ethernet-phy@2 {
128 reg = <2>;
129 micrel,led-mode = <1>;
130 clocks = <&clks IMX6UL_CLK_ENET_REF>;
131 clock-names = "rmii-ref";
132 };
133
134 ethphy1: ethernet-phy@1 {
135 reg = <1>;
136 micrel,led-mode = <1>;
137 clocks = <&clks IMX6UL_CLK_ENET2_REF>;
138 clock-names = "rmii-ref";
139 };
140 };
141};
142
143
144&lcdif {
145 assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
146 assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
147 pinctrl-names = "default";
148 pinctrl-0 = <&pinctrl_lcdif_dat
149 &pinctrl_lcdif_ctrl>;
150 status = "okay";
151
152 port {
153 display_out: endpoint {
154 remote-endpoint = <&panel_in>;
155 };
156 };
157};
158
159&pwm1 {
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_pwm1>;
162 status = "okay";
163};
164
165&qspi {
166 pinctrl-names = "default";
167 pinctrl-0 = <&pinctrl_qspi>;
168 status = "okay";
169
170 flash0: n25q256a@0 {
171 #address-cells = <1>;
172 #size-cells = <1>;
173 compatible = "micron,n25q256a";
174 spi-max-frequency = <29000000>;
175 reg = <0>;
176 };
177};
178
179&sai2 {
180 pinctrl-names = "default";
181 pinctrl-0 = <&pinctrl_sai2>;
182 assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
183 <&clks IMX6UL_CLK_SAI2>;
184 assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
185 assigned-clock-rates = <0>, <12288000>;
186 fsl,sai-mclk-direction-output;
187 status = "okay";
188};
189
190&snvs_poweroff {
191 status = "okay";
192};
193
194&tsc {
195 pinctrl-names = "default";
196 pinctrl-0 = <&pinctrl_tsc>;
197 xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
198 measure-delay-time = <0xffff>;
199 pre-charge-time = <0xfff>;
200 status = "okay";
201};
202
203&uart1 {
204 pinctrl-names = "default";
205 pinctrl-0 = <&pinctrl_uart1>;
206 status = "okay";
207};
208
209&uart2 {
210 pinctrl-names = "default";
211 pinctrl-0 = <&pinctrl_uart2>;
212 uart-has-rtscts;
213 status = "okay";
214};
215
216&usbotg1 {
217 dr_mode = "otg";
218 status = "okay";
219};
220
221&usbotg2 {
222 dr_mode = "host";
223 disable-over-current;
224 status = "okay";
225};
226
227&usbphy1 {
228 fsl,tx-d-cal = <106>;
229};
230
231&usbphy2 {
232 fsl,tx-d-cal = <106>;
233};
234
235&usdhc1 {
236 pinctrl-names = "default", "state_100mhz", "state_200mhz";
237 pinctrl-0 = <&pinctrl_usdhc1>;
238 pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
239 pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
240 cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
241 keep-power-in-suspend;
242 wakeup-source;
243 vmmc-supply = <&reg_sd1_vmmc>;
244 status = "okay";
245};
246
247&usdhc2 {
248 pinctrl-names = "default";
249 pinctrl-0 = <&pinctrl_usdhc2>;
250 no-1-8-v;
251 keep-power-in-suspend;
252 wakeup-source;
253 status = "okay";
254};
255
256&wdog1 {
257 pinctrl-names = "default";
258 pinctrl-0 = <&pinctrl_wdog>;
259 fsl,ext-reset-output;
260};
261
262&iomuxc {
263 pinctrl-names = "default";
264
265 pinctrl_csi1: csi1grp {
266 fsl,pins = <
267 MX6UL_PAD_CSI_MCLK__CSI_MCLK 0x1b088
268 MX6UL_PAD_CSI_PIXCLK__CSI_PIXCLK 0x1b088
269 MX6UL_PAD_CSI_VSYNC__CSI_VSYNC 0x1b088
270 MX6UL_PAD_CSI_HSYNC__CSI_HSYNC 0x1b088
271 MX6UL_PAD_CSI_DATA00__CSI_DATA02 0x1b088
272 MX6UL_PAD_CSI_DATA01__CSI_DATA03 0x1b088
273 MX6UL_PAD_CSI_DATA02__CSI_DATA04 0x1b088
274 MX6UL_PAD_CSI_DATA03__CSI_DATA05 0x1b088
275 MX6UL_PAD_CSI_DATA04__CSI_DATA06 0x1b088
276 MX6UL_PAD_CSI_DATA05__CSI_DATA07 0x1b088
277 MX6UL_PAD_CSI_DATA06__CSI_DATA08 0x1b088
278 MX6UL_PAD_CSI_DATA07__CSI_DATA09 0x1b088
279 >;
280 };
281
282 pinctrl_enet1: enet1grp {
283 fsl,pins = <
284 MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0
285 MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
286 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
287 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
288 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
289 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
290 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
291 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031
292 >;
293 };
294
295 pinctrl_enet2: enet2grp {
296 fsl,pins = <
297 MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0
298 MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0
299 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0
300 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0
301 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
302 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
303 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0
304 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
305 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
306 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031
307 >;
308 };
309
310 pinctrl_flexcan1: flexcan1grp{
311 fsl,pins = <
312 MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x1b020
313 MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x1b020
314 >;
315 };
316
317 pinctrl_flexcan2: flexcan2grp{
318 fsl,pins = <
319 MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX 0x1b020
320 MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX 0x1b020
321 >;
322 };
323
324 pinctrl_i2c1: i2c1grp {
325 fsl,pins = <
326 MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
327 MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
328 >;
329 };
330
331 pinctrl_i2c2: i2c2grp {
332 fsl,pins = <
333 MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
334 MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001b8b0
335 >;
336 };
337
338 pinctrl_lcdif_dat: lcdifdatgrp {
339 fsl,pins = <
340 MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x79
341 MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x79
342 MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x79
343 MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x79
344 MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x79
345 MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x79
346 MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x79
347 MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x79
348 MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x79
349 MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x79
350 MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x79
351 MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x79
352 MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x79
353 MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x79
354 MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x79
355 MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x79
356 MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x79
357 MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79
358 MX6UL_PAD_LCD_DATA18__LCDIF_DATA18 0x79
359 MX6UL_PAD_LCD_DATA19__LCDIF_DATA19 0x79
360 MX6UL_PAD_LCD_DATA20__LCDIF_DATA20 0x79
361 MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x79
362 MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x79
363 MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x79
364 >;
365 };
366
367 pinctrl_lcdif_ctrl: lcdifctrlgrp {
368 fsl,pins = <
369 MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x79
370 MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x79
371 MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x79
372 MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x79
373 /* used for lcd reset */
374 MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x79
375 >;
376 };
377
378 pinctrl_qspi: qspigrp {
379 fsl,pins = <
380 MX6UL_PAD_NAND_WP_B__QSPI_A_SCLK 0x70a1
381 MX6UL_PAD_NAND_READY_B__QSPI_A_DATA00 0x70a1
382 MX6UL_PAD_NAND_CE0_B__QSPI_A_DATA01 0x70a1
383 MX6UL_PAD_NAND_CE1_B__QSPI_A_DATA02 0x70a1
384 MX6UL_PAD_NAND_CLE__QSPI_A_DATA03 0x70a1
385 MX6UL_PAD_NAND_DQS__QSPI_A_SS0_B 0x70a1
386 >;
387 };
388
389 pinctrl_sai2: sai2grp {
390 fsl,pins = <
391 MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088
392 MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088
393 MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088
394 MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x11088
395 MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x17088
396 MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x17059
397 >;
398 };
399
400 pinctrl_pwm1: pwm1grp {
401 fsl,pins = <
402 MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0
403 >;
404 };
405
406 pinctrl_sim2: sim2grp {
407 fsl,pins = <
408 MX6UL_PAD_CSI_DATA03__SIM2_PORT1_PD 0xb808
409 MX6UL_PAD_CSI_DATA04__SIM2_PORT1_CLK 0x31
410 MX6UL_PAD_CSI_DATA05__SIM2_PORT1_RST_B 0xb808
411 MX6UL_PAD_CSI_DATA06__SIM2_PORT1_SVEN 0xb808
412 MX6UL_PAD_CSI_DATA07__SIM2_PORT1_TRXD 0xb809
413 MX6UL_PAD_CSI_DATA02__GPIO4_IO23 0x3008
414 >;
415 };
416
417 pinctrl_tsc: tscgrp {
418 fsl,pins = <
419 MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0
420 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0xb0
421 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0
422 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0xb0
423 >;
424 };
425
426 pinctrl_uart1: uart1grp {
427 fsl,pins = <
428 MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
429 MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
430 >;
431 };
432
433 pinctrl_uart2: uart2grp {
434 fsl,pins = <
435 MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX 0x1b0b1
436 MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX 0x1b0b1
437 MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS 0x1b0b1
438 MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS 0x1b0b1
439 >;
440 };
441
442 pinctrl_usdhc1: usdhc1grp {
443 fsl,pins = <
444 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059
445 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059
446 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
447 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
448 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
449 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
450 MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */
451 MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */
452 MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x17059 /* SD1 RESET */
453 >;
454 };
455
456 pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
457 fsl,pins = <
458 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170b9
459 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100b9
460 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9
461 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
462 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
463 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
464
465 >;
466 };
467
468 pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
469 fsl,pins = <
470 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170f9
471 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100f9
472 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9
473 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9
474 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9
475 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9
476 >;
477 };
478
479 pinctrl_usdhc2: usdhc2grp {
480 fsl,pins = <
481 MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x17059
482 MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x17059
483 MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
484 MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
485 MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
486 MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
487 >;
488 };
489
490 pinctrl_wdog: wdoggrp {
491 fsl,pins = <
492 MX6UL_PAD_LCD_RESET__WDOG1_WDOG_ANY 0x30b0
493 >;
494 };
495}; 17};
diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi b/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
new file mode 100644
index 000000000000..32a07232c034
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dtsi
@@ -0,0 +1,499 @@
1/*
2 * Copyright (C) 2015 Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9/ {
10 chosen {
11 stdout-path = &uart1;
12 };
13
14 memory@80000000 {
15 reg = <0x80000000 0x20000000>;
16 };
17
18 backlight_display: backlight-display {
19 compatible = "pwm-backlight";
20 pwms = <&pwm1 0 5000000>;
21 brightness-levels = <0 4 8 16 32 64 128 255>;
22 default-brightness-level = <6>;
23 status = "okay";
24 };
25
26
27 reg_sd1_vmmc: regulator-sd1-vmmc {
28 compatible = "regulator-fixed";
29 regulator-name = "VSD_3V3";
30 regulator-min-microvolt = <3300000>;
31 regulator-max-microvolt = <3300000>;
32 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
33 enable-active-high;
34 };
35
36 sound {
37 compatible = "simple-audio-card";
38 simple-audio-card,name = "mx6ul-wm8960";
39 simple-audio-card,format = "i2s";
40 simple-audio-card,bitclock-master = <&dailink_master>;
41 simple-audio-card,frame-master = <&dailink_master>;
42 simple-audio-card,widgets =
43 "Microphone", "Mic Jack",
44 "Line", "Line In",
45 "Line", "Line Out",
46 "Speaker", "Speaker",
47 "Headphone", "Headphone Jack";
48 simple-audio-card,routing =
49 "Headphone Jack", "HP_L",
50 "Headphone Jack", "HP_R",
51 "Speaker", "SPK_LP",
52 "Speaker", "SPK_LN",
53 "Speaker", "SPK_RP",
54 "Speaker", "SPK_RN",
55 "LINPUT1", "Mic Jack",
56 "LINPUT3", "Mic Jack",
57 "RINPUT1", "Mic Jack",
58 "RINPUT2", "Mic Jack";
59
60 simple-audio-card,cpu {
61 sound-dai = <&sai2>;
62 };
63
64 dailink_master: simple-audio-card,codec {
65 sound-dai = <&codec>;
66 clocks = <&clks IMX6UL_CLK_SAI2>;
67 };
68 };
69
70 panel {
71 compatible = "innolux,at043tn24";
72 backlight = <&backlight_display>;
73
74 port {
75 panel_in: endpoint {
76 remote-endpoint = <&display_out>;
77 };
78 };
79 };
80};
81
82&clks {
83 assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
84 assigned-clock-rates = <786432000>;
85};
86
87&i2c2 {
88 clock_frequency = <100000>;
89 pinctrl-names = "default";
90 pinctrl-0 = <&pinctrl_i2c2>;
91 status = "okay";
92
93 codec: wm8960@1a {
94 #sound-dai-cells = <0>;
95 compatible = "wlf,wm8960";
96 reg = <0x1a>;
97 wlf,shared-lrclk;
98 };
99};
100
101&fec1 {
102 pinctrl-names = "default";
103 pinctrl-0 = <&pinctrl_enet1>;
104 phy-mode = "rmii";
105 phy-handle = <&ethphy0>;
106 status = "okay";
107};
108
109&fec2 {
110 pinctrl-names = "default";
111 pinctrl-0 = <&pinctrl_enet2>;
112 phy-mode = "rmii";
113 phy-handle = <&ethphy1>;
114 status = "okay";
115
116 mdio {
117 #address-cells = <1>;
118 #size-cells = <0>;
119
120 ethphy0: ethernet-phy@2 {
121 reg = <2>;
122 micrel,led-mode = <1>;
123 clocks = <&clks IMX6UL_CLK_ENET_REF>;
124 clock-names = "rmii-ref";
125 };
126
127 ethphy1: ethernet-phy@1 {
128 reg = <1>;
129 micrel,led-mode = <1>;
130 clocks = <&clks IMX6UL_CLK_ENET2_REF>;
131 clock-names = "rmii-ref";
132 };
133 };
134};
135
136&i2c1 {
137 clock-frequency = <100000>;
138 pinctrl-names = "default";
139 pinctrl-0 = <&pinctrl_i2c1>;
140 status = "okay";
141
142 mag3110@e {
143 compatible = "fsl,mag3110";
144 reg = <0x0e>;
145 };
146};
147
148&lcdif {
149 assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
150 assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
151 pinctrl-names = "default";
152 pinctrl-0 = <&pinctrl_lcdif_dat
153 &pinctrl_lcdif_ctrl>;
154 status = "okay";
155
156 port {
157 display_out: endpoint {
158 remote-endpoint = <&panel_in>;
159 };
160 };
161};
162
163&pwm1 {
164 pinctrl-names = "default";
165 pinctrl-0 = <&pinctrl_pwm1>;
166 status = "okay";
167};
168
169&qspi {
170 pinctrl-names = "default";
171 pinctrl-0 = <&pinctrl_qspi>;
172 status = "okay";
173
174 flash0: n25q256a@0 {
175 #address-cells = <1>;
176 #size-cells = <1>;
177 compatible = "micron,n25q256a";
178 spi-max-frequency = <29000000>;
179 reg = <0>;
180 };
181};
182
183&sai2 {
184 pinctrl-names = "default";
185 pinctrl-0 = <&pinctrl_sai2>;
186 assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
187 <&clks IMX6UL_CLK_SAI2>;
188 assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
189 assigned-clock-rates = <0>, <12288000>;
190 fsl,sai-mclk-direction-output;
191 status = "okay";
192};
193
194&snvs_poweroff {
195 status = "okay";
196};
197
198&tsc {
199 pinctrl-names = "default";
200 pinctrl-0 = <&pinctrl_tsc>;
201 xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
202 measure-delay-time = <0xffff>;
203 pre-charge-time = <0xfff>;
204 status = "okay";
205};
206
207&uart1 {
208 pinctrl-names = "default";
209 pinctrl-0 = <&pinctrl_uart1>;
210 status = "okay";
211};
212
213&uart2 {
214 pinctrl-names = "default";
215 pinctrl-0 = <&pinctrl_uart2>;
216 uart-has-rtscts;
217 status = "okay";
218};
219
220&usbotg1 {
221 dr_mode = "otg";
222 status = "okay";
223};
224
225&usbotg2 {
226 dr_mode = "host";
227 disable-over-current;
228 status = "okay";
229};
230
231&usbphy1 {
232 fsl,tx-d-cal = <106>;
233};
234
235&usbphy2 {
236 fsl,tx-d-cal = <106>;
237};
238
239&usdhc1 {
240 pinctrl-names = "default", "state_100mhz", "state_200mhz";
241 pinctrl-0 = <&pinctrl_usdhc1>;
242 pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
243 pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
244 cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
245 keep-power-in-suspend;
246 wakeup-source;
247 vmmc-supply = <&reg_sd1_vmmc>;
248 status = "okay";
249};
250
251&usdhc2 {
252 pinctrl-names = "default";
253 pinctrl-0 = <&pinctrl_usdhc2>;
254 no-1-8-v;
255 keep-power-in-suspend;
256 wakeup-source;
257 status = "okay";
258};
259
260&wdog1 {
261 pinctrl-names = "default";
262 pinctrl-0 = <&pinctrl_wdog>;
263 fsl,ext-reset-output;
264};
265
266&iomuxc {
267 pinctrl-names = "default";
268
269 pinctrl_csi1: csi1grp {
270 fsl,pins = <
271 MX6UL_PAD_CSI_MCLK__CSI_MCLK 0x1b088
272 MX6UL_PAD_CSI_PIXCLK__CSI_PIXCLK 0x1b088
273 MX6UL_PAD_CSI_VSYNC__CSI_VSYNC 0x1b088
274 MX6UL_PAD_CSI_HSYNC__CSI_HSYNC 0x1b088
275 MX6UL_PAD_CSI_DATA00__CSI_DATA02 0x1b088
276 MX6UL_PAD_CSI_DATA01__CSI_DATA03 0x1b088
277 MX6UL_PAD_CSI_DATA02__CSI_DATA04 0x1b088
278 MX6UL_PAD_CSI_DATA03__CSI_DATA05 0x1b088
279 MX6UL_PAD_CSI_DATA04__CSI_DATA06 0x1b088
280 MX6UL_PAD_CSI_DATA05__CSI_DATA07 0x1b088
281 MX6UL_PAD_CSI_DATA06__CSI_DATA08 0x1b088
282 MX6UL_PAD_CSI_DATA07__CSI_DATA09 0x1b088
283 >;
284 };
285
286 pinctrl_enet1: enet1grp {
287 fsl,pins = <
288 MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0
289 MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
290 MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
291 MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
292 MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
293 MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
294 MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
295 MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031
296 >;
297 };
298
299 pinctrl_enet2: enet2grp {
300 fsl,pins = <
301 MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0
302 MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0
303 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0
304 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0
305 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
306 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
307 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0
308 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
309 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
310 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031
311 >;
312 };
313
314 pinctrl_flexcan1: flexcan1grp{
315 fsl,pins = <
316 MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x1b020
317 MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x1b020
318 >;
319 };
320
321 pinctrl_flexcan2: flexcan2grp{
322 fsl,pins = <
323 MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX 0x1b020
324 MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX 0x1b020
325 >;
326 };
327
328 pinctrl_i2c1: i2c1grp {
329 fsl,pins = <
330 MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
331 MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
332 >;
333 };
334
335 pinctrl_i2c2: i2c2grp {
336 fsl,pins = <
337 MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
338 MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001b8b0
339 >;
340 };
341
342 pinctrl_lcdif_dat: lcdifdatgrp {
343 fsl,pins = <
344 MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x79
345 MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x79
346 MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x79
347 MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x79
348 MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x79
349 MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x79
350 MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x79
351 MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x79
352 MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x79
353 MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x79
354 MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x79
355 MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x79
356 MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x79
357 MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x79
358 MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x79
359 MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x79
360 MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x79
361 MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79
362 MX6UL_PAD_LCD_DATA18__LCDIF_DATA18 0x79
363 MX6UL_PAD_LCD_DATA19__LCDIF_DATA19 0x79
364 MX6UL_PAD_LCD_DATA20__LCDIF_DATA20 0x79
365 MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x79
366 MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x79
367 MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x79
368 >;
369 };
370
371 pinctrl_lcdif_ctrl: lcdifctrlgrp {
372 fsl,pins = <
373 MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x79
374 MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x79
375 MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x79
376 MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x79
377 /* used for lcd reset */
378 MX6UL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x79
379 >;
380 };
381
382 pinctrl_qspi: qspigrp {
383 fsl,pins = <
384 MX6UL_PAD_NAND_WP_B__QSPI_A_SCLK 0x70a1
385 MX6UL_PAD_NAND_READY_B__QSPI_A_DATA00 0x70a1
386 MX6UL_PAD_NAND_CE0_B__QSPI_A_DATA01 0x70a1
387 MX6UL_PAD_NAND_CE1_B__QSPI_A_DATA02 0x70a1
388 MX6UL_PAD_NAND_CLE__QSPI_A_DATA03 0x70a1
389 MX6UL_PAD_NAND_DQS__QSPI_A_SS0_B 0x70a1
390 >;
391 };
392
393 pinctrl_sai2: sai2grp {
394 fsl,pins = <
395 MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088
396 MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088
397 MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088
398 MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x11088
399 MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x17088
400 MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x17059
401 >;
402 };
403
404 pinctrl_pwm1: pwm1grp {
405 fsl,pins = <
406 MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0
407 >;
408 };
409
410 pinctrl_sim2: sim2grp {
411 fsl,pins = <
412 MX6UL_PAD_CSI_DATA03__SIM2_PORT1_PD 0xb808
413 MX6UL_PAD_CSI_DATA04__SIM2_PORT1_CLK 0x31
414 MX6UL_PAD_CSI_DATA05__SIM2_PORT1_RST_B 0xb808
415 MX6UL_PAD_CSI_DATA06__SIM2_PORT1_SVEN 0xb808
416 MX6UL_PAD_CSI_DATA07__SIM2_PORT1_TRXD 0xb809
417 MX6UL_PAD_CSI_DATA02__GPIO4_IO23 0x3008
418 >;
419 };
420
421 pinctrl_tsc: tscgrp {
422 fsl,pins = <
423 MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0
424 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0xb0
425 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0
426 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0xb0
427 >;
428 };
429
430 pinctrl_uart1: uart1grp {
431 fsl,pins = <
432 MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
433 MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
434 >;
435 };
436
437 pinctrl_uart2: uart2grp {
438 fsl,pins = <
439 MX6UL_PAD_UART2_TX_DATA__UART2_DCE_TX 0x1b0b1
440 MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX 0x1b0b1
441 MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS 0x1b0b1
442 MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS 0x1b0b1
443 >;
444 };
445
446 pinctrl_usdhc1: usdhc1grp {
447 fsl,pins = <
448 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059
449 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10059
450 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
451 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
452 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
453 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
454 MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */
455 MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */
456 MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x17059 /* SD1 RESET */
457 >;
458 };
459
460 pinctrl_usdhc1_100mhz: usdhc1grp100mhz {
461 fsl,pins = <
462 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170b9
463 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100b9
464 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9
465 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
466 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
467 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
468
469 >;
470 };
471
472 pinctrl_usdhc1_200mhz: usdhc1grp200mhz {
473 fsl,pins = <
474 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x170f9
475 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x100f9
476 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170f9
477 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170f9
478 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170f9
479 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170f9
480 >;
481 };
482
483 pinctrl_usdhc2: usdhc2grp {
484 fsl,pins = <
485 MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x17059
486 MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x17059
487 MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
488 MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
489 MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
490 MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
491 >;
492 };
493
494 pinctrl_wdog: wdoggrp {
495 fsl,pins = <
496 MX6UL_PAD_LCD_RESET__WDOG1_WDOG_ANY 0x30b0
497 >;
498 };
499};
diff --git a/arch/arm/boot/dts/imx6ul-geam.dts b/arch/arm/boot/dts/imx6ul-geam.dts
index 571eea7f1c6b..d81d20f8fc8d 100644
--- a/arch/arm/boot/dts/imx6ul-geam.dts
+++ b/arch/arm/boot/dts/imx6ul-geam.dts
@@ -50,7 +50,7 @@
50 model = "Engicam GEAM6UL Starter Kit"; 50 model = "Engicam GEAM6UL Starter Kit";
51 compatible = "engicam,imx6ul-geam", "fsl,imx6ul"; 51 compatible = "engicam,imx6ul-geam", "fsl,imx6ul";
52 52
53 memory { 53 memory@80000000 {
54 reg = <0x80000000 0x08000000>; 54 reg = <0x80000000 0x08000000>;
55 }; 55 };
56 56
@@ -181,6 +181,7 @@
181 sgtl5000: codec@a { 181 sgtl5000: codec@a {
182 compatible = "fsl,sgtl5000"; 182 compatible = "fsl,sgtl5000";
183 reg = <0x0a>; 183 reg = <0x0a>;
184 #sound-dai-cells = <0>;
184 clocks = <&clks IMX6UL_CLK_OSC>; 185 clocks = <&clks IMX6UL_CLK_OSC>;
185 clock-names = "mclk"; 186 clock-names = "mclk";
186 VDDA-supply = <&reg_3p3v>; 187 VDDA-supply = <&reg_3p3v>;
diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
index 950fb28b630a..921e12c69a00 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -45,7 +45,7 @@
45#include "imx6ul.dtsi" 45#include "imx6ul.dtsi"
46 46
47/ { 47/ {
48 memory { 48 memory@80000000 {
49 reg = <0x80000000 0x20000000>; 49 reg = <0x80000000 0x20000000>;
50 }; 50 };
51 51
@@ -142,6 +142,7 @@
142 sgtl5000: codec@a { 142 sgtl5000: codec@a {
143 compatible = "fsl,sgtl5000"; 143 compatible = "fsl,sgtl5000";
144 reg = <0x0a>; 144 reg = <0x0a>;
145 #sound-dai-cells = <0>;
145 clocks = <&clks IMX6UL_CLK_OSC>; 146 clocks = <&clks IMX6UL_CLK_OSC>;
146 clock-names = "mclk"; 147 clock-names = "mclk";
147 VDDA-supply = <&reg_3p3v>; 148 VDDA-supply = <&reg_3p3v>;
diff --git a/arch/arm/boot/dts/imx6ul-litesom.dtsi b/arch/arm/boot/dts/imx6ul-litesom.dtsi
index 039721d3dcb4..8f775f6974d1 100644
--- a/arch/arm/boot/dts/imx6ul-litesom.dtsi
+++ b/arch/arm/boot/dts/imx6ul-litesom.dtsi
@@ -47,7 +47,7 @@
47 model = "Grinn i.MX6UL liteSOM"; 47 model = "Grinn i.MX6UL liteSOM";
48 compatible = "grinn,imx6ul-litesom", "fsl,imx6ul"; 48 compatible = "grinn,imx6ul-litesom", "fsl,imx6ul";
49 49
50 memory { 50 memory@80000000 {
51 reg = <0x80000000 0x20000000>; 51 reg = <0x80000000 0x20000000>;
52 }; 52 };
53}; 53};
diff --git a/arch/arm/boot/dts/imx6ul-opos6ul.dtsi b/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
index aec5ccce0321..a031bee311df 100644
--- a/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
+++ b/arch/arm/boot/dts/imx6ul-opos6ul.dtsi
@@ -48,7 +48,7 @@
48#include "imx6ul.dtsi" 48#include "imx6ul.dtsi"
49 49
50/ { 50/ {
51 memory { 51 memory@80000000 {
52 reg = <0x80000000 0>; /* will be filled by U-Boot */ 52 reg = <0x80000000 0>; /* will be filled by U-Boot */
53 }; 53 };
54 54
diff --git a/arch/arm/boot/dts/imx6ul-pico-hobbit.dts b/arch/arm/boot/dts/imx6ul-pico-hobbit.dts
index 3bf26ebd4df9..47682b8c023c 100644
--- a/arch/arm/boot/dts/imx6ul-pico-hobbit.dts
+++ b/arch/arm/boot/dts/imx6ul-pico-hobbit.dts
@@ -51,7 +51,7 @@
51 model = "Technexion Pico i.MX6UL Board"; 51 model = "Technexion Pico i.MX6UL Board";
52 compatible = "technexion,imx6ul-pico-hobbit", "fsl,imx6ul"; 52 compatible = "technexion,imx6ul-pico-hobbit", "fsl,imx6ul";
53 53
54 memory { 54 memory@80000000 {
55 reg = <0x80000000 0x10000000>; 55 reg = <0x80000000 0x10000000>;
56 }; 56 };
57 57
diff --git a/arch/arm/boot/dts/imx6ul-pinfunc.h b/arch/arm/boot/dts/imx6ul-pinfunc.h
index 0034eeb84542..7b9a4dc38456 100644
--- a/arch/arm/boot/dts/imx6ul-pinfunc.h
+++ b/arch/arm/boot/dts/imx6ul-pinfunc.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2015 Freescale Semiconductor, Inc. 2 * Copyright 2014 - 2015 Freescale Semiconductor, Inc.
3 * 3 *
4 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as 5 * it under the terms of the GNU General Public License version 2 as
@@ -34,14 +34,14 @@
34#define MX6UL_PAD_JTAG_MOD__ENET1_REF_CLK_25M 0x0044 0x02d0 0x0000 3 0 34#define MX6UL_PAD_JTAG_MOD__ENET1_REF_CLK_25M 0x0044 0x02d0 0x0000 3 0
35#define MX6UL_PAD_JTAG_MOD__CCM_PMIC_RDY 0x0044 0x02d0 0x04c0 4 0 35#define MX6UL_PAD_JTAG_MOD__CCM_PMIC_RDY 0x0044 0x02d0 0x04c0 4 0
36#define MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0x0044 0x02d0 0x0000 5 0 36#define MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0x0044 0x02d0 0x0000 5 0
37#define MX6UL_PAD_JTAG_MOD__SDMA_EXT_EVENT00 0x0044 0x02d0 0x0000 6 0 37#define MX6UL_PAD_JTAG_MOD__SDMA_EXT_EVENT00 0x0044 0x02d0 0x0610 6 0
38#define MX6UL_PAD_JTAG_TMS__SJC_TMS 0x0048 0x02d4 0x0000 0 0 38#define MX6UL_PAD_JTAG_TMS__SJC_TMS 0x0048 0x02d4 0x0000 0 0
39#define MX6UL_PAD_JTAG_TMS__GPT2_CAPTURE1 0x0048 0x02d4 0x0598 1 0 39#define MX6UL_PAD_JTAG_TMS__GPT2_CAPTURE1 0x0048 0x02d4 0x0598 1 0
40#define MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x0048 0x02d4 0x0000 2 0 40#define MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x0048 0x02d4 0x05f0 2 0
41#define MX6UL_PAD_JTAG_TMS__CCM_CLKO1 0x0048 0x02d4 0x0000 3 0 41#define MX6UL_PAD_JTAG_TMS__CCM_CLKO1 0x0048 0x02d4 0x0000 3 0
42#define MX6UL_PAD_JTAG_TMS__CCM_WAIT 0x0048 0x02d4 0x0000 4 0 42#define MX6UL_PAD_JTAG_TMS__CCM_WAIT 0x0048 0x02d4 0x0000 4 0
43#define MX6UL_PAD_JTAG_TMS__GPIO1_IO11 0x0048 0x02d4 0x0000 5 0 43#define MX6UL_PAD_JTAG_TMS__GPIO1_IO11 0x0048 0x02d4 0x0000 5 0
44#define MX6UL_PAD_JTAG_TMS__SDMA_EXT_EVENT01 0x0048 0x02d4 0x0000 6 0 44#define MX6UL_PAD_JTAG_TMS__SDMA_EXT_EVENT01 0x0048 0x02d4 0x0614 6 0
45#define MX6UL_PAD_JTAG_TMS__EPIT1_OUT 0x0048 0x02d4 0x0000 8 0 45#define MX6UL_PAD_JTAG_TMS__EPIT1_OUT 0x0048 0x02d4 0x0000 8 0
46#define MX6UL_PAD_JTAG_TDO__SJC_TDO 0x004c 0x02d8 0x0000 0 0 46#define MX6UL_PAD_JTAG_TDO__SJC_TDO 0x004c 0x02d8 0x0000 0 0
47#define MX6UL_PAD_JTAG_TDO__GPT2_CAPTURE2 0x004c 0x02d8 0x059c 1 0 47#define MX6UL_PAD_JTAG_TDO__GPT2_CAPTURE2 0x004c 0x02d8 0x059c 1 0
@@ -63,12 +63,14 @@
63#define MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x0054 0x02e0 0x05f4 2 0 63#define MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x0054 0x02e0 0x05f4 2 0
64#define MX6UL_PAD_JTAG_TCK__PWM7_OUT 0x0054 0x02e0 0x0000 4 0 64#define MX6UL_PAD_JTAG_TCK__PWM7_OUT 0x0054 0x02e0 0x0000 4 0
65#define MX6UL_PAD_JTAG_TCK__GPIO1_IO14 0x0054 0x02e0 0x0000 5 0 65#define MX6UL_PAD_JTAG_TCK__GPIO1_IO14 0x0054 0x02e0 0x0000 5 0
66#define MX6UL_PAD_JTAG_TCK__OSC32K_32K_OUT 0x0054 0x02e0 0x0000 6 0
66#define MX6UL_PAD_JTAG_TCK__SIM2_POWER_FAIL 0x0054 0x02e0 0x0000 8 0 67#define MX6UL_PAD_JTAG_TCK__SIM2_POWER_FAIL 0x0054 0x02e0 0x0000 8 0
67#define MX6UL_PAD_JTAG_TRST_B__SJC_TRSTB 0x0058 0x02e4 0x0000 0 0 68#define MX6UL_PAD_JTAG_TRST_B__SJC_TRSTB 0x0058 0x02e4 0x0000 0 0
68#define MX6UL_PAD_JTAG_TRST_B__GPT2_COMPARE3 0x0058 0x02e4 0x0000 1 0 69#define MX6UL_PAD_JTAG_TRST_B__GPT2_COMPARE3 0x0058 0x02e4 0x0000 1 0
69#define MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x0058 0x02e4 0x0000 2 0 70#define MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x0058 0x02e4 0x0000 2 0
70#define MX6UL_PAD_JTAG_TRST_B__PWM8_OUT 0x0058 0x02e4 0x0000 4 0 71#define MX6UL_PAD_JTAG_TRST_B__PWM8_OUT 0x0058 0x02e4 0x0000 4 0
71#define MX6UL_PAD_JTAG_TRST_B__GPIO1_IO15 0x0058 0x02e4 0x0000 5 0 72#define MX6UL_PAD_JTAG_TRST_B__GPIO1_IO15 0x0058 0x02e4 0x0000 5 0
73#define MX6UL_PAD_JTAG_TRST_B__REF_CLK_24M 0x0058 0x02e4 0x0000 6 0
72#define MX6UL_PAD_JTAG_TRST_B__CAAM_RNG_OSC_OBS 0x0058 0x02e4 0x0000 8 0 74#define MX6UL_PAD_JTAG_TRST_B__CAAM_RNG_OSC_OBS 0x0058 0x02e4 0x0000 8 0
73#define MX6UL_PAD_GPIO1_IO00__I2C2_SCL 0x005c 0x02e8 0x05ac 0 1 75#define MX6UL_PAD_GPIO1_IO00__I2C2_SCL 0x005c 0x02e8 0x05ac 0 1
74#define MX6UL_PAD_GPIO1_IO00__GPT1_CAPTURE1 0x005c 0x02e8 0x058c 1 0 76#define MX6UL_PAD_GPIO1_IO00__GPT1_CAPTURE1 0x005c 0x02e8 0x058c 1 0
@@ -94,22 +96,24 @@
94#define MX6UL_PAD_GPIO1_IO02__ENET1_REF_CLK_25M 0x0064 0x02f0 0x0000 3 0 96#define MX6UL_PAD_GPIO1_IO02__ENET1_REF_CLK_25M 0x0064 0x02f0 0x0000 3 0
95#define MX6UL_PAD_GPIO1_IO02__USDHC1_WP 0x0064 0x02f0 0x066c 4 0 97#define MX6UL_PAD_GPIO1_IO02__USDHC1_WP 0x0064 0x02f0 0x066c 4 0
96#define MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x0064 0x02f0 0x0000 5 0 98#define MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x0064 0x02f0 0x0000 5 0
97#define MX6UL_PAD_GPIO1_IO02__SDMA_EXT_EVENT00 0x0064 0x02f0 0x0000 6 0 99#define MX6UL_PAD_GPIO1_IO02__SDMA_EXT_EVENT00 0x0064 0x02f0 0x0610 6 1
98#define MX6UL_PAD_GPIO1_IO02__SRC_ANY_PU_RESET 0x0064 0x02f0 0x0000 7 0 100#define MX6UL_PAD_GPIO1_IO02__SRC_ANY_PU_RESET 0x0064 0x02f0 0x0000 7 0
99#define MX6UL_PAD_GPIO1_IO02__UART1_DCE_TX 0x0064 0x02f0 0x0000 8 0 101#define MX6UL_PAD_GPIO1_IO02__UART1_DCE_TX 0x0064 0x02f0 0x0000 8 0
100#define MX6UL_PAD_GPIO1_IO02__UART1_DTE_RX 0x0064 0x02f0 0x0624 8 0 102#define MX6UL_PAD_GPIO1_IO02__UART1_DTE_RX 0x0064 0x02f0 0x0624 8 0
101#define MX6UL_PAD_GPIO1_IO03__I2C1_SDA 0x0068 0x02f4 0x05a8 0 1 103#define MX6UL_PAD_GPIO1_IO03__I2C1_SDA 0x0068 0x02f4 0x05a8 0 1
102#define MX6UL_PAD_GPIO1_IO03__GPT1_COMPARE3 0x0068 0x02f4 0x0000 1 0 104#define MX6UL_PAD_GPIO1_IO03__GPT1_COMPARE3 0x0068 0x02f4 0x0000 1 0
103#define MX6UL_PAD_GPIO1_IO03__USB_OTG2_OC 0x0068 0x02f4 0x0660 2 0 105#define MX6UL_PAD_GPIO1_IO03__USB_OTG2_OC 0x0068 0x02f4 0x0660 2 0
106#define MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT 0x0068 0x02f4 0x0000 3 0
104#define MX6UL_PAD_GPIO1_IO03__USDHC1_CD_B 0x0068 0x02f4 0x0668 4 0 107#define MX6UL_PAD_GPIO1_IO03__USDHC1_CD_B 0x0068 0x02f4 0x0668 4 0
105#define MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x0068 0x02f4 0x0000 5 0 108#define MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x0068 0x02f4 0x0000 5 0
106#define MX6UL_PAD_GPIO1_IO03__CCM_DI0_eXT_CLK 0x0068 0x02f4 0x0000 6 0 109#define MX6UL_PAD_GPIO1_IO03__CCM_DI0_EXT_CLK 0x0068 0x02f4 0x0000 6 0
107#define MX6UL_PAD_GPIO1_IO03__SRC_TESTER_ACK 0x0068 0x02f4 0x0000 7 0 110#define MX6UL_PAD_GPIO1_IO03__SRC_TESTER_ACK 0x0068 0x02f4 0x0000 7 0
108#define MX6UL_PAD_GPIO1_IO03__UART1_DTE_TX 0x0068 0x02f4 0x0000 8 0
109#define MX6UL_PAD_GPIO1_IO03__UART1_DCE_RX 0x0068 0x02f4 0x0624 8 1 111#define MX6UL_PAD_GPIO1_IO03__UART1_DCE_RX 0x0068 0x02f4 0x0624 8 1
112#define MX6UL_PAD_GPIO1_IO03__UART1_DTE_TX 0x0068 0x02f4 0x0000 8 0
110#define MX6UL_PAD_GPIO1_IO04__ENET1_REF_CLK1 0x006c 0x02f8 0x0574 0 1 113#define MX6UL_PAD_GPIO1_IO04__ENET1_REF_CLK1 0x006c 0x02f8 0x0574 0 1
111#define MX6UL_PAD_GPIO1_IO04__PWM3_OUT 0x006c 0x02f8 0x0000 1 0 114#define MX6UL_PAD_GPIO1_IO04__PWM3_OUT 0x006c 0x02f8 0x0000 1 0
112#define MX6UL_PAD_GPIO1_IO04__USB_OTG1_PWR 0x006c 0x02f8 0x0000 2 0 115#define MX6UL_PAD_GPIO1_IO04__USB_OTG1_PWR 0x006c 0x02f8 0x0000 2 0
116#define MX6UL_PAD_GPIO1_IO04__REF_CLK_24M 0x006c 0x02f8 0x0000 3 0
113#define MX6UL_PAD_GPIO1_IO04__USDHC1_RESET_B 0x006c 0x02f8 0x0000 4 0 117#define MX6UL_PAD_GPIO1_IO04__USDHC1_RESET_B 0x006c 0x02f8 0x0000 4 0
114#define MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x006c 0x02f8 0x0000 5 0 118#define MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x006c 0x02f8 0x0000 5 0
115#define MX6UL_PAD_GPIO1_IO04__ENET2_1588_EVENT0_IN 0x006c 0x02f8 0x0000 6 0 119#define MX6UL_PAD_GPIO1_IO04__ENET2_1588_EVENT0_IN 0x006c 0x02f8 0x0000 6 0
@@ -200,7 +204,7 @@
200#define MX6UL_PAD_UART2_TX_DATA__CSI_DATA06 0x0094 0x0320 0x04dc 3 0 204#define MX6UL_PAD_UART2_TX_DATA__CSI_DATA06 0x0094 0x0320 0x04dc 3 0
201#define MX6UL_PAD_UART2_TX_DATA__GPT1_CAPTURE1 0x0094 0x0320 0x058c 4 1 205#define MX6UL_PAD_UART2_TX_DATA__GPT1_CAPTURE1 0x0094 0x0320 0x058c 4 1
202#define MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x0094 0x0320 0x0000 5 0 206#define MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x0094 0x0320 0x0000 5 0
203#define MX6UL_PAD_UART2_TX_DATA__ECSPI3_SS0 0x0094 0x0320 0x0000 8 0 207#define MX6UL_PAD_UART2_TX_DATA__ECSPI3_SS0 0x0094 0x0320 0x0560 8 0
204#define MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX 0x0098 0x0324 0x062c 0 1 208#define MX6UL_PAD_UART2_RX_DATA__UART2_DCE_RX 0x0098 0x0324 0x062c 0 1
205#define MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX 0x0098 0x0324 0x0000 0 0 209#define MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX 0x0098 0x0324 0x0000 0 0
206#define MX6UL_PAD_UART2_RX_DATA__ENET1_TDATA03 0x0098 0x0324 0x0000 1 0 210#define MX6UL_PAD_UART2_RX_DATA__ENET1_TDATA03 0x0098 0x0324 0x0000 1 0
@@ -232,7 +236,7 @@
232#define MX6UL_PAD_UART3_TX_DATA__UART3_DTE_RX 0x00a4 0x0330 0x0634 0 0 236#define MX6UL_PAD_UART3_TX_DATA__UART3_DTE_RX 0x00a4 0x0330 0x0634 0 0
233#define MX6UL_PAD_UART3_TX_DATA__ENET2_RDATA02 0x00a4 0x0330 0x0000 1 0 237#define MX6UL_PAD_UART3_TX_DATA__ENET2_RDATA02 0x00a4 0x0330 0x0000 1 0
234#define MX6UL_PAD_UART3_TX_DATA__SIM1_PORT0_PD 0x00a4 0x0330 0x0000 2 0 238#define MX6UL_PAD_UART3_TX_DATA__SIM1_PORT0_PD 0x00a4 0x0330 0x0000 2 0
235#define MX6UL_PAD_UART3_TX_DATA__CSI_DATA01 0x00a4 0x0330 0x0000 3 0 239#define MX6UL_PAD_UART3_TX_DATA__CSI_DATA01 0x00a4 0x0330 0x04d4 3 0
236#define MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS 0x00a4 0x0330 0x0000 4 0 240#define MX6UL_PAD_UART3_TX_DATA__UART2_DCE_CTS 0x00a4 0x0330 0x0000 4 0
237#define MX6UL_PAD_UART3_TX_DATA__UART2_DTE_RTS 0x00a4 0x0330 0x0628 4 2 241#define MX6UL_PAD_UART3_TX_DATA__UART2_DTE_RTS 0x00a4 0x0330 0x0628 4 2
238#define MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0x00a4 0x0330 0x0000 5 0 242#define MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0x00a4 0x0330 0x0000 5 0
@@ -242,7 +246,7 @@
242#define MX6UL_PAD_UART3_RX_DATA__UART3_DTE_TX 0x00a8 0x0334 0x0000 0 0 246#define MX6UL_PAD_UART3_RX_DATA__UART3_DTE_TX 0x00a8 0x0334 0x0000 0 0
243#define MX6UL_PAD_UART3_RX_DATA__ENET2_RDATA03 0x00a8 0x0334 0x0000 1 0 247#define MX6UL_PAD_UART3_RX_DATA__ENET2_RDATA03 0x00a8 0x0334 0x0000 1 0
244#define MX6UL_PAD_UART3_RX_DATA__SIM2_PORT0_PD 0x00a8 0x0334 0x0000 2 0 248#define MX6UL_PAD_UART3_RX_DATA__SIM2_PORT0_PD 0x00a8 0x0334 0x0000 2 0
245#define MX6UL_PAD_UART3_RX_DATA__CSI_DATA00 0x00a8 0x0334 0x0000 3 0 249#define MX6UL_PAD_UART3_RX_DATA__CSI_DATA00 0x00a8 0x0334 0x04d0 3 0
246#define MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS 0x00a8 0x0334 0x0628 4 3 250#define MX6UL_PAD_UART3_RX_DATA__UART2_DCE_RTS 0x00a8 0x0334 0x0628 4 3
247#define MX6UL_PAD_UART3_RX_DATA__UART2_DTE_CTS 0x00a8 0x0334 0x0000 4 0 251#define MX6UL_PAD_UART3_RX_DATA__UART2_DTE_CTS 0x00a8 0x0334 0x0000 4 0
248#define MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0x00a8 0x0334 0x0000 5 0 252#define MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0x00a8 0x0334 0x0000 5 0
@@ -251,7 +255,7 @@
251#define MX6UL_PAD_UART3_CTS_B__UART3_DTE_RTS 0x00ac 0x0338 0x0630 0 0 255#define MX6UL_PAD_UART3_CTS_B__UART3_DTE_RTS 0x00ac 0x0338 0x0630 0 0
252#define MX6UL_PAD_UART3_CTS_B__ENET2_RX_CLK 0x00ac 0x0338 0x0000 1 0 256#define MX6UL_PAD_UART3_CTS_B__ENET2_RX_CLK 0x00ac 0x0338 0x0000 1 0
253#define MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x00ac 0x0338 0x0000 2 0 257#define MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x00ac 0x0338 0x0000 2 0
254#define MX6UL_PAD_UART3_CTS_B__CSI_DATA10 0x00ac 0x0338 0x0000 3 0 258#define MX6UL_PAD_UART3_CTS_B__CSI_DATA10 0x00ac 0x0338 0x04ec 3 0
255#define MX6UL_PAD_UART3_CTS_B__ENET1_1588_EVENT1_IN 0x00ac 0x0338 0x0000 4 0 259#define MX6UL_PAD_UART3_CTS_B__ENET1_1588_EVENT1_IN 0x00ac 0x0338 0x0000 4 0
256#define MX6UL_PAD_UART3_CTS_B__GPIO1_IO26 0x00ac 0x0338 0x0000 5 0 260#define MX6UL_PAD_UART3_CTS_B__GPIO1_IO26 0x00ac 0x0338 0x0000 5 0
257#define MX6UL_PAD_UART3_CTS_B__EPIT2_OUT 0x00ac 0x0338 0x0000 8 0 261#define MX6UL_PAD_UART3_CTS_B__EPIT2_OUT 0x00ac 0x0338 0x0000 8 0
@@ -259,7 +263,7 @@
259#define MX6UL_PAD_UART3_RTS_B__UART3_DTE_CTS 0x00b0 0x033c 0x0000 0 0 263#define MX6UL_PAD_UART3_RTS_B__UART3_DTE_CTS 0x00b0 0x033c 0x0000 0 0
260#define MX6UL_PAD_UART3_RTS_B__ENET2_TX_ER 0x00b0 0x033c 0x0000 1 0 264#define MX6UL_PAD_UART3_RTS_B__ENET2_TX_ER 0x00b0 0x033c 0x0000 1 0
261#define MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x00b0 0x033c 0x0584 2 0 265#define MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x00b0 0x033c 0x0584 2 0
262#define MX6UL_PAD_UART3_RTS_B__CSI_DATA11 0x00b0 0x033c 0x0000 3 0 266#define MX6UL_PAD_UART3_RTS_B__CSI_DATA11 0x00b0 0x033c 0x04f0 3 0
263#define MX6UL_PAD_UART3_RTS_B__ENET1_1588_EVENT1_OUT 0x00b0 0x033c 0x0000 4 0 267#define MX6UL_PAD_UART3_RTS_B__ENET1_1588_EVENT1_OUT 0x00b0 0x033c 0x0000 4 0
264#define MX6UL_PAD_UART3_RTS_B__GPIO1_IO27 0x00b0 0x033c 0x0000 5 0 268#define MX6UL_PAD_UART3_RTS_B__GPIO1_IO27 0x00b0 0x033c 0x0000 5 0
265#define MX6UL_PAD_UART3_RTS_B__WDOG1_WDOG_B 0x00b0 0x033c 0x0000 8 0 269#define MX6UL_PAD_UART3_RTS_B__WDOG1_WDOG_B 0x00b0 0x033c 0x0000 8 0
@@ -267,7 +271,7 @@
267#define MX6UL_PAD_UART4_TX_DATA__UART4_DTE_RX 0x00b4 0x0340 0x063c 0 0 271#define MX6UL_PAD_UART4_TX_DATA__UART4_DTE_RX 0x00b4 0x0340 0x063c 0 0
268#define MX6UL_PAD_UART4_TX_DATA__ENET2_TDATA02 0x00b4 0x0340 0x0000 1 0 272#define MX6UL_PAD_UART4_TX_DATA__ENET2_TDATA02 0x00b4 0x0340 0x0000 1 0
269#define MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x00b4 0x0340 0x05a4 2 1 273#define MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x00b4 0x0340 0x05a4 2 1
270#define MX6UL_PAD_UART4_TX_DATA__CSI_DATA12 0x00b4 0x0340 0x0000 3 0 274#define MX6UL_PAD_UART4_TX_DATA__CSI_DATA12 0x00b4 0x0340 0x04f4 3 0
271#define MX6UL_PAD_UART4_TX_DATA__CSU_CSU_ALARM_AUT02 0x00b4 0x0340 0x0000 4 0 275#define MX6UL_PAD_UART4_TX_DATA__CSU_CSU_ALARM_AUT02 0x00b4 0x0340 0x0000 4 0
272#define MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28 0x00b4 0x0340 0x0000 5 0 276#define MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28 0x00b4 0x0340 0x0000 5 0
273#define MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK 0x00b4 0x0340 0x0544 8 1 277#define MX6UL_PAD_UART4_TX_DATA__ECSPI2_SCLK 0x00b4 0x0340 0x0544 8 1
@@ -275,23 +279,23 @@
275#define MX6UL_PAD_UART4_RX_DATA__UART4_DTE_TX 0x00b8 0x0344 0x0000 0 0 279#define MX6UL_PAD_UART4_RX_DATA__UART4_DTE_TX 0x00b8 0x0344 0x0000 0 0
276#define MX6UL_PAD_UART4_RX_DATA__ENET2_TDATA03 0x00b8 0x0344 0x0000 1 0 280#define MX6UL_PAD_UART4_RX_DATA__ENET2_TDATA03 0x00b8 0x0344 0x0000 1 0
277#define MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x00b8 0x0344 0x05a8 2 2 281#define MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x00b8 0x0344 0x05a8 2 2
278#define MX6UL_PAD_UART4_RX_DATA__CSI_DATA13 0x00b8 0x0344 0x0000 3 0 282#define MX6UL_PAD_UART4_RX_DATA__CSI_DATA13 0x00b8 0x0344 0x04f8 3 0
279#define MX6UL_PAD_UART4_RX_DATA__CSU_CSU_ALARM_AUT01 0x00b8 0x0344 0x0000 4 0 283#define MX6UL_PAD_UART4_RX_DATA__CSU_CSU_ALARM_AUT01 0x00b8 0x0344 0x0000 4 0
280#define MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x00b8 0x0344 0x0000 5 0 284#define MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x00b8 0x0344 0x0000 5 0
281#define MX6UL_PAD_UART4_RX_DATA__ECSPI2_SS0 0x00b8 0x0344 0x0000 8 0 285#define MX6UL_PAD_UART4_RX_DATA__ECSPI2_SS0 0x00b8 0x0344 0x0550 8 1
282#define MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30 0x00bc 0x0348 0x0000 5 0 286#define MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30 0x00bc 0x0348 0x0000 5 0
283#define MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI 0x00bc 0x0348 0x054c 8 0 287#define MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSI 0x00bc 0x0348 0x054c 8 0
284#define MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX 0x00bc 0x0348 0x0000 0 0 288#define MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX 0x00bc 0x0348 0x0000 0 0
285#define MX6UL_PAD_UART5_TX_DATA__UART5_DTE_RX 0x00bc 0x0348 0x0644 0 4 289#define MX6UL_PAD_UART5_TX_DATA__UART5_DTE_RX 0x00bc 0x0348 0x0644 0 4
286#define MX6UL_PAD_UART5_TX_DATA__ENET2_CRS 0x00bc 0x0348 0x0000 1 0 290#define MX6UL_PAD_UART5_TX_DATA__ENET2_CRS 0x00bc 0x0348 0x0000 1 0
287#define MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x00bc 0x0348 0x05ac 2 2 291#define MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x00bc 0x0348 0x05ac 2 2
288#define MX6UL_PAD_UART5_TX_DATA__CSI_DATA14 0x00bc 0x0348 0x0000 3 0 292#define MX6UL_PAD_UART5_TX_DATA__CSI_DATA14 0x00bc 0x0348 0x04fc 3 0
289#define MX6UL_PAD_UART5_TX_DATA__CSU_CSU_ALARM_AUT00 0x00bc 0x0348 0x0000 4 0 293#define MX6UL_PAD_UART5_TX_DATA__CSU_CSU_ALARM_AUT00 0x00bc 0x0348 0x0000 4 0
290#define MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x00c0 0x034c 0x0644 0 5 294#define MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX 0x00c0 0x034c 0x0644 0 5
291#define MX6UL_PAD_UART5_RX_DATA__UART5_DTE_TX 0x00c0 0x034c 0x0000 0 0 295#define MX6UL_PAD_UART5_RX_DATA__UART5_DTE_TX 0x00c0 0x034c 0x0000 0 0
292#define MX6UL_PAD_UART5_RX_DATA__ENET2_COL 0x00c0 0x034c 0x0000 1 0 296#define MX6UL_PAD_UART5_RX_DATA__ENET2_COL 0x00c0 0x034c 0x0000 1 0
293#define MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x00c0 0x034c 0x05b0 2 2 297#define MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x00c0 0x034c 0x05b0 2 2
294#define MX6UL_PAD_UART5_RX_DATA__CSI_DATA15 0x00c0 0x034c 0x0000 3 0 298#define MX6UL_PAD_UART5_RX_DATA__CSI_DATA15 0x00c0 0x034c 0x0500 3 0
295#define MX6UL_PAD_UART5_RX_DATA__CSU_CSU_INT_DEB 0x00c0 0x034c 0x0000 4 0 299#define MX6UL_PAD_UART5_RX_DATA__CSU_CSU_INT_DEB 0x00c0 0x034c 0x0000 4 0
296#define MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31 0x00c0 0x034c 0x0000 5 0 300#define MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31 0x00c0 0x034c 0x0000 5 0
297#define MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO 0x00c0 0x034c 0x0548 8 1 301#define MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO 0x00c0 0x034c 0x0548 8 1
@@ -299,59 +303,61 @@
299#define MX6UL_PAD_ENET1_RX_DATA0__UART4_DCE_RTS 0x00c4 0x0350 0x0638 1 0 303#define MX6UL_PAD_ENET1_RX_DATA0__UART4_DCE_RTS 0x00c4 0x0350 0x0638 1 0
300#define MX6UL_PAD_ENET1_RX_DATA0__UART4_DTE_CTS 0x00c4 0x0350 0x0000 1 0 304#define MX6UL_PAD_ENET1_RX_DATA0__UART4_DTE_CTS 0x00c4 0x0350 0x0000 1 0
301#define MX6UL_PAD_ENET1_RX_DATA0__PWM1_OUT 0x00c4 0x0350 0x0000 2 0 305#define MX6UL_PAD_ENET1_RX_DATA0__PWM1_OUT 0x00c4 0x0350 0x0000 2 0
302#define MX6UL_PAD_ENET1_RX_DATA0__CSI_DATA16 0x00c4 0x0350 0x0000 3 0 306#define MX6UL_PAD_ENET1_RX_DATA0__CSI_DATA16 0x00c4 0x0350 0x0504 3 0
303#define MX6UL_PAD_ENET1_RX_DATA0__FLEXCAN1_TX 0x00c4 0x0350 0x0000 4 0 307#define MX6UL_PAD_ENET1_RX_DATA0__FLEXCAN1_TX 0x00c4 0x0350 0x0000 4 0
304#define MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00 0x00c4 0x0350 0x0000 5 0 308#define MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00 0x00c4 0x0350 0x0000 5 0
305#define MX6UL_PAD_ENET1_RX_DATA0__KPP_ROW00 0x00c4 0x0350 0x0000 6 0 309#define MX6UL_PAD_ENET1_RX_DATA0__KPP_ROW00 0x00c4 0x0350 0x05d0 6 0
306#define MX6UL_PAD_ENET1_RX_DATA0__USDHC1_LCTL 0x00c4 0x0350 0x0000 8 0 310#define MX6UL_PAD_ENET1_RX_DATA0__USDHC1_LCTL 0x00c4 0x0350 0x0000 8 0
307#define MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x00c8 0x0354 0x0000 0 0 311#define MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x00c8 0x0354 0x0000 0 0
308#define MX6UL_PAD_ENET1_RX_DATA1__UART4_DCE_CTS 0x00c8 0x0354 0x0000 1 0 312#define MX6UL_PAD_ENET1_RX_DATA1__UART4_DCE_CTS 0x00c8 0x0354 0x0000 1 0
309#define MX6UL_PAD_ENET1_RX_DATA1__UART4_DTE_RTS 0x00c8 0x0354 0x0638 1 1 313#define MX6UL_PAD_ENET1_RX_DATA1__UART4_DTE_RTS 0x00c8 0x0354 0x0638 1 1
310#define MX6UL_PAD_ENET1_RX_DATA1__PWM2_OUT 0x00c8 0x0354 0x0000 2 0 314#define MX6UL_PAD_ENET1_RX_DATA1__PWM2_OUT 0x00c8 0x0354 0x0000 2 0
311#define MX6UL_PAD_ENET1_RX_DATA1__CSI_DATA17 0x00c8 0x0354 0x0000 3 0 315#define MX6UL_PAD_ENET1_RX_DATA1__CSI_DATA17 0x00c8 0x0354 0x0508 3 0
312#define MX6UL_PAD_ENET1_RX_DATA1__FLEXCAN1_RX 0x00c8 0x0354 0x0584 4 1 316#define MX6UL_PAD_ENET1_RX_DATA1__FLEXCAN1_RX 0x00c8 0x0354 0x0584 4 1
313#define MX6UL_PAD_ENET1_RX_DATA1__GPIO2_IO01 0x00c8 0x0354 0x0000 5 0 317#define MX6UL_PAD_ENET1_RX_DATA1__GPIO2_IO01 0x00c8 0x0354 0x0000 5 0
314#define MX6UL_PAD_ENET1_RX_DATA1__KPP_COL00 0x00c8 0x0354 0x0000 6 0 318#define MX6UL_PAD_ENET1_RX_DATA1__KPP_COL00 0x00c8 0x0354 0x05c4 6 0
315#define MX6UL_PAD_ENET1_RX_DATA1__USDHC2_LCTL 0x00c8 0x0354 0x0000 8 0 319#define MX6UL_PAD_ENET1_RX_DATA1__USDHC2_LCTL 0x00c8 0x0354 0x0000 8 0
316#define MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x00cc 0x0358 0x0000 0 0 320#define MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x00cc 0x0358 0x0000 0 0
317#define MX6UL_PAD_ENET1_RX_EN__UART5_DCE_RTS 0x00cc 0x0358 0x0640 1 3 321#define MX6UL_PAD_ENET1_RX_EN__UART5_DCE_RTS 0x00cc 0x0358 0x0640 1 3
318#define MX6UL_PAD_ENET1_RX_EN__UART5_DTE_CTS 0x00cc 0x0358 0x0000 1 0 322#define MX6UL_PAD_ENET1_RX_EN__UART5_DTE_CTS 0x00cc 0x0358 0x0000 1 0
319#define MX6UL_PAD_ENET1_RX_EN__CSI_DATA18 0x00cc 0x0358 0x0000 3 0 323#define MX6UL_PAD_ENET1_RX_EN__OSC32K_32K_OUT 0x00cc 0x0358 0x0000 2 0
324#define MX6UL_PAD_ENET1_RX_EN__CSI_DATA18 0x00cc 0x0358 0x050c 3 0
320#define MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX 0x00cc 0x0358 0x0000 4 0 325#define MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX 0x00cc 0x0358 0x0000 4 0
321#define MX6UL_PAD_ENET1_RX_EN__GPIO2_IO02 0x00cc 0x0358 0x0000 5 0 326#define MX6UL_PAD_ENET1_RX_EN__GPIO2_IO02 0x00cc 0x0358 0x0000 5 0
322#define MX6UL_PAD_ENET1_RX_EN__KPP_ROW01 0x00cc 0x0358 0x0000 6 0 327#define MX6UL_PAD_ENET1_RX_EN__KPP_ROW01 0x00cc 0x0358 0x05d4 6 0
323#define MX6UL_PAD_ENET1_RX_EN__USDHC1_VSELECT 0x00cc 0x0358 0x0000 8 0 328#define MX6UL_PAD_ENET1_RX_EN__USDHC1_VSELECT 0x00cc 0x0358 0x0000 8 0
324#define MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x00d0 0x035c 0x0000 0 0 329#define MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x00d0 0x035c 0x0000 0 0
325#define MX6UL_PAD_ENET1_TX_DATA0__UART5_DCE_CTS 0x00d0 0x035c 0x0000 1 0 330#define MX6UL_PAD_ENET1_TX_DATA0__UART5_DCE_CTS 0x00d0 0x035c 0x0000 1 0
326#define MX6UL_PAD_ENET1_TX_DATA0__UART5_DTE_RTS 0x00d0 0x035c 0x0640 1 4 331#define MX6UL_PAD_ENET1_TX_DATA0__UART5_DTE_RTS 0x00d0 0x035c 0x0640 1 4
327#define MX6UL_PAD_ENET1_TX_DATA0__CSI_DATA19 0x00d0 0x035c 0x0000 3 0 332#define MX6UL_PAD_ENET1_TX_DATA0__REF_CLK_24M 0x00d0 0x035c 0x0000 2 0
333#define MX6UL_PAD_ENET1_TX_DATA0__CSI_DATA19 0x00d0 0x035c 0x0510 3 0
328#define MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX 0x00d0 0x035c 0x0588 4 1 334#define MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX 0x00d0 0x035c 0x0588 4 1
329#define MX6UL_PAD_ENET1_TX_DATA0__GPIO2_IO03 0x00d0 0x035c 0x0000 5 0 335#define MX6UL_PAD_ENET1_TX_DATA0__GPIO2_IO03 0x00d0 0x035c 0x0000 5 0
330#define MX6UL_PAD_ENET1_TX_DATA0__KPP_COL01 0x00d0 0x035c 0x0000 6 0 336#define MX6UL_PAD_ENET1_TX_DATA0__KPP_COL01 0x00d0 0x035c 0x05c8 6 0
331#define MX6UL_PAD_ENET1_TX_DATA0__USDHC2_VSELECT 0x00d0 0x035c 0x0000 8 0 337#define MX6UL_PAD_ENET1_TX_DATA0__USDHC2_VSELECT 0x00d0 0x035c 0x0000 8 0
332#define MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x00d4 0x0360 0x0000 0 0 338#define MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x00d4 0x0360 0x0000 0 0
333#define MX6UL_PAD_ENET1_TX_DATA1__UART6_DCE_CTS 0x00d4 0x0360 0x0000 1 0 339#define MX6UL_PAD_ENET1_TX_DATA1__UART6_DCE_CTS 0x00d4 0x0360 0x0000 1 0
334#define MX6UL_PAD_ENET1_TX_DATA1__UART6_DTE_RTS 0x00d4 0x0360 0x0648 1 2 340#define MX6UL_PAD_ENET1_TX_DATA1__UART6_DTE_RTS 0x00d4 0x0360 0x0648 1 2
335#define MX6UL_PAD_ENET1_TX_DATA1__PWM5_OUT 0x00d4 0x0360 0x0000 2 0 341#define MX6UL_PAD_ENET1_TX_DATA1__PWM5_OUT 0x00d4 0x0360 0x0000 2 0
336#define MX6UL_PAD_ENET1_TX_DATA1__CSI_DATA20 0x00d4 0x0360 0x0000 3 0 342#define MX6UL_PAD_ENET1_TX_DATA1__CSI_DATA20 0x00d4 0x0360 0x0514 3 0
337#define MX6UL_PAD_ENET1_TX_DATA1__ENET2_MDIO 0x00d4 0x0360 0x0580 4 1 343#define MX6UL_PAD_ENET1_TX_DATA1__ENET2_MDIO 0x00d4 0x0360 0x0580 4 1
338#define MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04 0x00d4 0x0360 0x0000 5 0 344#define MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04 0x00d4 0x0360 0x0000 5 0
339#define MX6UL_PAD_ENET1_TX_DATA1__KPP_ROW02 0x00d4 0x0360 0x0000 6 0 345#define MX6UL_PAD_ENET1_TX_DATA1__KPP_ROW02 0x00d4 0x0360 0x05d8 6 0
340#define MX6UL_PAD_ENET1_TX_DATA1__WDOG1_WDOG_RST_B_DEB 0x00d4 0x0360 0x0000 8 0 346#define MX6UL_PAD_ENET1_TX_DATA1__WDOG1_WDOG_RST_B_DEB 0x00d4 0x0360 0x0000 8 0
341#define MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x00d8 0x0364 0x0000 0 0 347#define MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x00d8 0x0364 0x0000 0 0
342#define MX6UL_PAD_ENET1_TX_EN__UART6_DCE_RTS 0x00d8 0x0364 0x0648 1 3 348#define MX6UL_PAD_ENET1_TX_EN__UART6_DCE_RTS 0x00d8 0x0364 0x0648 1 3
343#define MX6UL_PAD_ENET1_TX_EN__UART6_DTE_CTS 0x00d8 0x0364 0x0000 1 0 349#define MX6UL_PAD_ENET1_TX_EN__UART6_DTE_CTS 0x00d8 0x0364 0x0000 1 0
344#define MX6UL_PAD_ENET1_TX_EN__PWM6_OUT 0x00d8 0x0364 0x0000 2 0 350#define MX6UL_PAD_ENET1_TX_EN__PWM6_OUT 0x00d8 0x0364 0x0000 2 0
345#define MX6UL_PAD_ENET1_TX_EN__CSI_DATA21 0x00d8 0x0364 0x0000 3 0 351#define MX6UL_PAD_ENET1_TX_EN__CSI_DATA21 0x00d8 0x0364 0x0518 3 0
346#define MX6UL_PAD_ENET1_TX_EN__ENET2_MDC 0x00d8 0x0364 0x0000 4 0 352#define MX6UL_PAD_ENET1_TX_EN__ENET2_MDC 0x00d8 0x0364 0x0000 4 0
347#define MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05 0x00d8 0x0364 0x0000 5 0 353#define MX6UL_PAD_ENET1_TX_EN__GPIO2_IO05 0x00d8 0x0364 0x0000 5 0
348#define MX6UL_PAD_ENET1_TX_EN__KPP_COL02 0x00d8 0x0364 0x0000 6 0 354#define MX6UL_PAD_ENET1_TX_EN__KPP_COL02 0x00d8 0x0364 0x05cc 6 0
349#define MX6UL_PAD_ENET1_TX_EN__WDOG2_WDOG_RST_B_DEB 0x00d8 0x0364 0x0000 8 0 355#define MX6UL_PAD_ENET1_TX_EN__WDOG2_WDOG_RST_B_DEB 0x00d8 0x0364 0x0000 8 0
350#define MX6UL_PAD_ENET1_TX_CLK__ENET1_TX_CLK 0x00dc 0x0368 0x0000 0 0 356#define MX6UL_PAD_ENET1_TX_CLK__ENET1_TX_CLK 0x00dc 0x0368 0x0000 0 0
351#define MX6UL_PAD_ENET1_TX_CLK__UART7_DCE_CTS 0x00dc 0x0368 0x0000 1 0 357#define MX6UL_PAD_ENET1_TX_CLK__UART7_DCE_CTS 0x00dc 0x0368 0x0000 1 0
352#define MX6UL_PAD_ENET1_TX_CLK__UART7_DTE_RTS 0x00dc 0x0368 0x0650 1 0 358#define MX6UL_PAD_ENET1_TX_CLK__UART7_DTE_RTS 0x00dc 0x0368 0x0650 1 0
353#define MX6UL_PAD_ENET1_TX_CLK__PWM7_OUT 0x00dc 0x0368 0x0000 2 0 359#define MX6UL_PAD_ENET1_TX_CLK__PWM7_OUT 0x00dc 0x0368 0x0000 2 0
354#define MX6UL_PAD_ENET1_TX_CLK__CSI_DATA22 0x00dc 0x0368 0x0000 3 0 360#define MX6UL_PAD_ENET1_TX_CLK__CSI_DATA22 0x00dc 0x0368 0x051c 3 0
355#define MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x00dc 0x0368 0x0574 4 2 361#define MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x00dc 0x0368 0x0574 4 2
356#define MX6UL_PAD_ENET1_TX_CLK__GPIO2_IO06 0x00dc 0x0368 0x0000 5 0 362#define MX6UL_PAD_ENET1_TX_CLK__GPIO2_IO06 0x00dc 0x0368 0x0000 5 0
357#define MX6UL_PAD_ENET1_TX_CLK__KPP_ROW03 0x00dc 0x0368 0x0000 6 0 363#define MX6UL_PAD_ENET1_TX_CLK__KPP_ROW03 0x00dc 0x0368 0x0000 6 0
@@ -360,7 +366,7 @@
360#define MX6UL_PAD_ENET1_RX_ER__UART7_DCE_RTS 0x00e0 0x036c 0x0650 1 1 366#define MX6UL_PAD_ENET1_RX_ER__UART7_DCE_RTS 0x00e0 0x036c 0x0650 1 1
361#define MX6UL_PAD_ENET1_RX_ER__UART7_DTE_CTS 0x00e0 0x036c 0x0000 1 0 367#define MX6UL_PAD_ENET1_RX_ER__UART7_DTE_CTS 0x00e0 0x036c 0x0000 1 0
362#define MX6UL_PAD_ENET1_RX_ER__PWM8_OUT 0x00e0 0x036c 0x0000 2 0 368#define MX6UL_PAD_ENET1_RX_ER__PWM8_OUT 0x00e0 0x036c 0x0000 2 0
363#define MX6UL_PAD_ENET1_RX_ER__CSI_DATA23 0x00e0 0x036c 0x0000 3 0 369#define MX6UL_PAD_ENET1_RX_ER__CSI_DATA23 0x00e0 0x036c 0x0520 3 0
364#define MX6UL_PAD_ENET1_RX_ER__EIM_CRE 0x00e0 0x036c 0x0000 4 0 370#define MX6UL_PAD_ENET1_RX_ER__EIM_CRE 0x00e0 0x036c 0x0000 4 0
365#define MX6UL_PAD_ENET1_RX_ER__GPIO2_IO07 0x00e0 0x036c 0x0000 5 0 371#define MX6UL_PAD_ENET1_RX_ER__GPIO2_IO07 0x00e0 0x036c 0x0000 5 0
366#define MX6UL_PAD_ENET1_RX_ER__KPP_COL03 0x00e0 0x036c 0x0000 6 0 372#define MX6UL_PAD_ENET1_RX_ER__KPP_COL03 0x00e0 0x036c 0x0000 6 0
@@ -377,7 +383,7 @@
377#define MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x00e8 0x0374 0x0000 0 0 383#define MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x00e8 0x0374 0x0000 0 0
378#define MX6UL_PAD_ENET2_RX_DATA1__UART6_DCE_RX 0x00e8 0x0374 0x064c 1 2 384#define MX6UL_PAD_ENET2_RX_DATA1__UART6_DCE_RX 0x00e8 0x0374 0x064c 1 2
379#define MX6UL_PAD_ENET2_RX_DATA1__UART6_DTE_TX 0x00e8 0x0374 0x0000 1 0 385#define MX6UL_PAD_ENET2_RX_DATA1__UART6_DTE_TX 0x00e8 0x0374 0x0000 1 0
380#define MX6UL_PAD_ENET2_RX_DATA1__SIM1_PORT0_cLK 0x00e8 0x0374 0x0000 2 0 386#define MX6UL_PAD_ENET2_RX_DATA1__SIM1_PORT0_CLK 0x00e8 0x0374 0x0000 2 0
381#define MX6UL_PAD_ENET2_RX_DATA1__I2C3_SDA 0x00e8 0x0374 0x05b8 3 1 387#define MX6UL_PAD_ENET2_RX_DATA1__I2C3_SDA 0x00e8 0x0374 0x05b8 3 1
382#define MX6UL_PAD_ENET2_RX_DATA1__ENET1_MDC 0x00e8 0x0374 0x0000 4 0 388#define MX6UL_PAD_ENET2_RX_DATA1__ENET1_MDC 0x00e8 0x0374 0x0000 4 0
383#define MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09 0x00e8 0x0374 0x0000 5 0 389#define MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09 0x00e8 0x0374 0x0000 5 0
@@ -400,6 +406,7 @@
400#define MX6UL_PAD_ENET2_TX_DATA0__EIM_EB_B02 0x00f0 0x037c 0x0000 4 0 406#define MX6UL_PAD_ENET2_TX_DATA0__EIM_EB_B02 0x00f0 0x037c 0x0000 4 0
401#define MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11 0x00f0 0x037c 0x0000 5 0 407#define MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11 0x00f0 0x037c 0x0000 5 0
402#define MX6UL_PAD_ENET2_TX_DATA0__KPP_COL05 0x00f0 0x037c 0x0000 6 0 408#define MX6UL_PAD_ENET2_TX_DATA0__KPP_COL05 0x00f0 0x037c 0x0000 6 0
409#define MX6UL_PAD_ENET2_TX_DATA0__REF_CLK_24M 0x00f0 0x037c 0x0000 8 0
403#define MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x00f4 0x0380 0x0000 0 0 410#define MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x00f4 0x0380 0x0000 0 0
404#define MX6UL_PAD_ENET2_TX_DATA1__UART8_DCE_TX 0x00f4 0x0380 0x0000 1 0 411#define MX6UL_PAD_ENET2_TX_DATA1__UART8_DCE_TX 0x00f4 0x0380 0x0000 1 0
405#define MX6UL_PAD_ENET2_TX_DATA1__UART8_DTE_RX 0x00f4 0x0380 0x065c 1 0 412#define MX6UL_PAD_ENET2_TX_DATA1__UART8_DTE_RX 0x00f4 0x0380 0x065c 1 0
@@ -412,7 +419,7 @@
412#define MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x00f8 0x0384 0x0000 0 0 419#define MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x00f8 0x0384 0x0000 0 0
413#define MX6UL_PAD_ENET2_TX_EN__UART8_DCE_RX 0x00f8 0x0384 0x065c 1 1 420#define MX6UL_PAD_ENET2_TX_EN__UART8_DCE_RX 0x00f8 0x0384 0x065c 1 1
414#define MX6UL_PAD_ENET2_TX_EN__UART8_DTE_TX 0x00f8 0x0384 0x0000 1 0 421#define MX6UL_PAD_ENET2_TX_EN__UART8_DTE_TX 0x00f8 0x0384 0x0000 1 0
415#define MX6UL_PAD_ENET2_TX_EN__SIM2_PORT0_cLK 0x00f8 0x0384 0x0000 2 0 422#define MX6UL_PAD_ENET2_TX_EN__SIM2_PORT0_CLK 0x00f8 0x0384 0x0000 2 0
416#define MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI 0x00f8 0x0384 0x056c 3 0 423#define MX6UL_PAD_ENET2_TX_EN__ECSPI4_MOSI 0x00f8 0x0384 0x056c 3 0
417#define MX6UL_PAD_ENET2_TX_EN__EIM_ACLK_FREERUN 0x00f8 0x0384 0x0000 4 0 424#define MX6UL_PAD_ENET2_TX_EN__EIM_ACLK_FREERUN 0x00f8 0x0384 0x0000 4 0
418#define MX6UL_PAD_ENET2_TX_EN__GPIO2_IO13 0x00f8 0x0384 0x0000 5 0 425#define MX6UL_PAD_ENET2_TX_EN__GPIO2_IO13 0x00f8 0x0384 0x0000 5 0
@@ -431,7 +438,7 @@
431#define MX6UL_PAD_ENET2_RX_ER__UART8_DCE_RTS 0x0100 0x038c 0x0658 1 1 438#define MX6UL_PAD_ENET2_RX_ER__UART8_DCE_RTS 0x0100 0x038c 0x0658 1 1
432#define MX6UL_PAD_ENET2_RX_ER__UART8_DTE_CTS 0x0100 0x038c 0x0000 1 0 439#define MX6UL_PAD_ENET2_RX_ER__UART8_DTE_CTS 0x0100 0x038c 0x0000 1 0
433#define MX6UL_PAD_ENET2_RX_ER__SIM2_PORT0_SVEN 0x0100 0x038c 0x0000 2 0 440#define MX6UL_PAD_ENET2_RX_ER__SIM2_PORT0_SVEN 0x0100 0x038c 0x0000 2 0
434#define MX6UL_PAD_ENET2_RX_ER__ECSPI4_SS0 0x0100 0x038c 0x0000 3 0 441#define MX6UL_PAD_ENET2_RX_ER__ECSPI4_SS0 0x0100 0x038c 0x0570 3 0
435#define MX6UL_PAD_ENET2_RX_ER__EIM_ADDR25 0x0100 0x038c 0x0000 4 0 442#define MX6UL_PAD_ENET2_RX_ER__EIM_ADDR25 0x0100 0x038c 0x0000 4 0
436#define MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x0100 0x038c 0x0000 5 0 443#define MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x0100 0x038c 0x0000 5 0
437#define MX6UL_PAD_ENET2_RX_ER__KPP_COL07 0x0100 0x038c 0x0000 6 0 444#define MX6UL_PAD_ENET2_RX_ER__KPP_COL07 0x0100 0x038c 0x0000 6 0
@@ -440,7 +447,7 @@
440#define MX6UL_PAD_LCD_CLK__LCDIF_WR_RWN 0x0104 0x0390 0x0000 1 0 447#define MX6UL_PAD_LCD_CLK__LCDIF_WR_RWN 0x0104 0x0390 0x0000 1 0
441#define MX6UL_PAD_LCD_CLK__UART4_DCE_TX 0x0104 0x0390 0x0000 2 0 448#define MX6UL_PAD_LCD_CLK__UART4_DCE_TX 0x0104 0x0390 0x0000 2 0
442#define MX6UL_PAD_LCD_CLK__UART4_DTE_RX 0x0104 0x0390 0x063c 2 2 449#define MX6UL_PAD_LCD_CLK__UART4_DTE_RX 0x0104 0x0390 0x063c 2 2
443#define MX6UL_PAD_LCD_CLK__SAI3_MCLK 0x0104 0x0390 0x0000 3 0 450#define MX6UL_PAD_LCD_CLK__SAI3_MCLK 0x0104 0x0390 0x0600 3 0
444#define MX6UL_PAD_LCD_CLK__EIM_CS2_B 0x0104 0x0390 0x0000 4 0 451#define MX6UL_PAD_LCD_CLK__EIM_CS2_B 0x0104 0x0390 0x0000 4 0
445#define MX6UL_PAD_LCD_CLK__GPIO3_IO00 0x0104 0x0390 0x0000 5 0 452#define MX6UL_PAD_LCD_CLK__GPIO3_IO00 0x0104 0x0390 0x0000 5 0
446#define MX6UL_PAD_LCD_CLK__WDOG1_WDOG_RST_B_DEB 0x0104 0x0390 0x0000 8 0 453#define MX6UL_PAD_LCD_CLK__WDOG1_WDOG_RST_B_DEB 0x0104 0x0390 0x0000 8 0
@@ -464,7 +471,7 @@
464#define MX6UL_PAD_LCD_VSYNC__LCDIF_BUSY 0x0110 0x039c 0x05dc 1 1 471#define MX6UL_PAD_LCD_VSYNC__LCDIF_BUSY 0x0110 0x039c 0x05dc 1 1
465#define MX6UL_PAD_LCD_VSYNC__UART4_DCE_RTS 0x0110 0x039c 0x0638 2 3 472#define MX6UL_PAD_LCD_VSYNC__UART4_DCE_RTS 0x0110 0x039c 0x0638 2 3
466#define MX6UL_PAD_LCD_VSYNC__UART4_DTE_CTS 0x0110 0x039c 0x0000 2 0 473#define MX6UL_PAD_LCD_VSYNC__UART4_DTE_CTS 0x0110 0x039c 0x0000 2 0
467#define MX6UL_PAD_LCD_VSYNC__SAI3_RX_DATA 0x0110 0x039c 0x0000 3 0 474#define MX6UL_PAD_LCD_VSYNC__SAI3_RX_DATA 0x0110 0x039c 0x0604 3 0
468#define MX6UL_PAD_LCD_VSYNC__WDOG2_WDOG_B 0x0110 0x039c 0x0000 4 0 475#define MX6UL_PAD_LCD_VSYNC__WDOG2_WDOG_B 0x0110 0x039c 0x0000 4 0
469#define MX6UL_PAD_LCD_VSYNC__GPIO3_IO03 0x0110 0x039c 0x0000 5 0 476#define MX6UL_PAD_LCD_VSYNC__GPIO3_IO03 0x0110 0x039c 0x0000 5 0
470#define MX6UL_PAD_LCD_VSYNC__ECSPI2_SS2 0x0110 0x039c 0x0000 8 0 477#define MX6UL_PAD_LCD_VSYNC__ECSPI2_SS2 0x0110 0x039c 0x0000 8 0
@@ -477,13 +484,15 @@
477#define MX6UL_PAD_LCD_RESET__ECSPI2_SS3 0x0114 0x03a0 0x0000 8 0 484#define MX6UL_PAD_LCD_RESET__ECSPI2_SS3 0x0114 0x03a0 0x0000 8 0
478#define MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x0118 0x03a4 0x0000 0 0 485#define MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x0118 0x03a4 0x0000 0 0
479#define MX6UL_PAD_LCD_DATA00__PWM1_OUT 0x0118 0x03a4 0x0000 1 0 486#define MX6UL_PAD_LCD_DATA00__PWM1_OUT 0x0118 0x03a4 0x0000 1 0
487#define MX6UL_PAD_LCD_DATA00__CA7_MX6UL_TRACE0 0x0118 0x03a4 0x0000 2 0
480#define MX6UL_PAD_LCD_DATA00__ENET1_1588_EVENT2_IN 0x0118 0x03a4 0x0000 3 0 488#define MX6UL_PAD_LCD_DATA00__ENET1_1588_EVENT2_IN 0x0118 0x03a4 0x0000 3 0
481#define MX6UL_PAD_LCD_DATA00__I2C3_SDA 0x0118 0x03a4 0x05b8 4 2 489#define MX6UL_PAD_LCD_DATA00__I2C3_SDA 0x0118 0x03a4 0x05b8 4 2
482#define MX6UL_PAD_LCD_DATA00__GPIO3_IO05 0x0118 0x03a4 0x0000 5 0 490#define MX6UL_PAD_LCD_DATA00__GPIO3_IO05 0x0118 0x03a4 0x0000 5 0
483#define MX6UL_PAD_LCD_DATA00__SRC_BT_CFG00 0x0118 0x03a4 0x0000 6 0 491#define MX6UL_PAD_LCD_DATA00__SRC_BT_CFG00 0x0118 0x03a4 0x0000 6 0
484#define MX6UL_PAD_LCD_DATA00__SAI1_MCLK 0x0118 0x03a4 0x0000 8 0 492#define MX6UL_PAD_LCD_DATA00__SAI1_MCLK 0x0118 0x03a4 0x05e0 8 1
485#define MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x011c 0x03a8 0x0000 0 0 493#define MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x011c 0x03a8 0x0000 0 0
486#define MX6UL_PAD_LCD_DATA01__PWM2_OUT 0x011c 0x03a8 0x0000 1 0 494#define MX6UL_PAD_LCD_DATA01__PWM2_OUT 0x011c 0x03a8 0x0000 1 0
495#define MX6UL_PAD_LCD_DATA01__CA7_MX6UL_TRACE1 0x011c 0x03a8 0x0000 2 0
487#define MX6UL_PAD_LCD_DATA01__ENET1_1588_EVENT2_OUT 0x011c 0x03a8 0x0000 3 0 496#define MX6UL_PAD_LCD_DATA01__ENET1_1588_EVENT2_OUT 0x011c 0x03a8 0x0000 3 0
488#define MX6UL_PAD_LCD_DATA01__I2C3_SCL 0x011c 0x03a8 0x05b4 4 2 497#define MX6UL_PAD_LCD_DATA01__I2C3_SCL 0x011c 0x03a8 0x05b4 4 2
489#define MX6UL_PAD_LCD_DATA01__GPIO3_IO06 0x011c 0x03a8 0x0000 5 0 498#define MX6UL_PAD_LCD_DATA01__GPIO3_IO06 0x011c 0x03a8 0x0000 5 0
@@ -491,6 +500,7 @@
491#define MX6UL_PAD_LCD_DATA01__SAI1_TX_SYNC 0x011c 0x03a8 0x05ec 8 0 500#define MX6UL_PAD_LCD_DATA01__SAI1_TX_SYNC 0x011c 0x03a8 0x05ec 8 0
492#define MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x0120 0x03ac 0x0000 0 0 501#define MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x0120 0x03ac 0x0000 0 0
493#define MX6UL_PAD_LCD_DATA02__PWM3_OUT 0x0120 0x03ac 0x0000 1 0 502#define MX6UL_PAD_LCD_DATA02__PWM3_OUT 0x0120 0x03ac 0x0000 1 0
503#define MX6UL_PAD_LCD_DATA02__CA7_MX6UL_TRACE2 0x0120 0x03ac 0x0000 2 0
494#define MX6UL_PAD_LCD_DATA02__ENET1_1588_EVENT3_IN 0x0120 0x03ac 0x0000 3 0 504#define MX6UL_PAD_LCD_DATA02__ENET1_1588_EVENT3_IN 0x0120 0x03ac 0x0000 3 0
495#define MX6UL_PAD_LCD_DATA02__I2C4_SDA 0x0120 0x03ac 0x05c0 4 2 505#define MX6UL_PAD_LCD_DATA02__I2C4_SDA 0x0120 0x03ac 0x05c0 4 2
496#define MX6UL_PAD_LCD_DATA02__GPIO3_IO07 0x0120 0x03ac 0x0000 5 0 506#define MX6UL_PAD_LCD_DATA02__GPIO3_IO07 0x0120 0x03ac 0x0000 5 0
@@ -498,14 +508,16 @@
498#define MX6UL_PAD_LCD_DATA02__SAI1_TX_BCLK 0x0120 0x03ac 0x05e8 8 0 508#define MX6UL_PAD_LCD_DATA02__SAI1_TX_BCLK 0x0120 0x03ac 0x05e8 8 0
499#define MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x0124 0x03b0 0x0000 0 0 509#define MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x0124 0x03b0 0x0000 0 0
500#define MX6UL_PAD_LCD_DATA03__PWM4_OUT 0x0124 0x03b0 0x0000 1 0 510#define MX6UL_PAD_LCD_DATA03__PWM4_OUT 0x0124 0x03b0 0x0000 1 0
511#define MX6UL_PAD_LCD_DATA03__CA7_MX6UL_TRACE3 0x0124 0x03b0 0x0000 2 0
501#define MX6UL_PAD_LCD_DATA03__ENET1_1588_EVENT3_OUT 0x0124 0x03b0 0x0000 3 0 512#define MX6UL_PAD_LCD_DATA03__ENET1_1588_EVENT3_OUT 0x0124 0x03b0 0x0000 3 0
502#define MX6UL_PAD_LCD_DATA03__I2C4_SCL 0x0124 0x03b0 0x05bc 4 2 513#define MX6UL_PAD_LCD_DATA03__I2C4_SCL 0x0124 0x03b0 0x05bc 4 2
503#define MX6UL_PAD_LCD_DATA03__GPIO3_IO08 0x0124 0x03b0 0x0000 5 0 514#define MX6UL_PAD_LCD_DATA03__GPIO3_IO08 0x0124 0x03b0 0x0000 5 0
504#define MX6UL_PAD_LCD_DATA03__SRC_BT_CFG03 0x0124 0x03b0 0x0000 6 0 515#define MX6UL_PAD_LCD_DATA03__SRC_BT_CFG03 0x0124 0x03b0 0x0000 6 0
505#define MX6UL_PAD_LCD_DATA03__SAI1_RX_DATA 0x0124 0x03b0 0x0000 8 0 516#define MX6UL_PAD_LCD_DATA03__SAI1_RX_DATA 0x0124 0x03b0 0x05e4 8 0
506#define MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x0128 0x03b4 0x0000 0 0 517#define MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x0128 0x03b4 0x0000 0 0
507#define MX6UL_PAD_LCD_DATA04__UART8_DCE_CTS 0x0128 0x03b4 0x0000 1 0 518#define MX6UL_PAD_LCD_DATA04__UART8_DCE_CTS 0x0128 0x03b4 0x0000 1 0
508#define MX6UL_PAD_LCD_DATA04__UART8_DTE_RTS 0x0128 0x03b4 0x0658 1 2 519#define MX6UL_PAD_LCD_DATA04__UART8_DTE_RTS 0x0128 0x03b4 0x0658 1 2
520#define MX6UL_PAD_LCD_DATA04__CA7_MX6UL_TRACE4 0x0128 0x03b4 0x0000 2 0
509#define MX6UL_PAD_LCD_DATA04__ENET2_1588_EVENT2_IN 0x0128 0x03b4 0x0000 3 0 521#define MX6UL_PAD_LCD_DATA04__ENET2_1588_EVENT2_IN 0x0128 0x03b4 0x0000 3 0
510#define MX6UL_PAD_LCD_DATA04__SPDIF_SR_CLK 0x0128 0x03b4 0x0000 4 0 522#define MX6UL_PAD_LCD_DATA04__SPDIF_SR_CLK 0x0128 0x03b4 0x0000 4 0
511#define MX6UL_PAD_LCD_DATA04__GPIO3_IO09 0x0128 0x03b4 0x0000 5 0 523#define MX6UL_PAD_LCD_DATA04__GPIO3_IO09 0x0128 0x03b4 0x0000 5 0
@@ -514,6 +526,7 @@
514#define MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x012c 0x03b8 0x0000 0 0 526#define MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x012c 0x03b8 0x0000 0 0
515#define MX6UL_PAD_LCD_DATA05__UART8_DCE_RTS 0x012c 0x03b8 0x0658 1 3 527#define MX6UL_PAD_LCD_DATA05__UART8_DCE_RTS 0x012c 0x03b8 0x0658 1 3
516#define MX6UL_PAD_LCD_DATA05__UART8_DTE_CTS 0x012c 0x03b8 0x0000 1 0 528#define MX6UL_PAD_LCD_DATA05__UART8_DTE_CTS 0x012c 0x03b8 0x0000 1 0
529#define MX6UL_PAD_LCD_DATA05__CA7_MX6UL_TRACE5 0x012c 0x03b8 0x0000 2 0
517#define MX6UL_PAD_LCD_DATA05__ENET2_1588_EVENT2_OUT 0x012c 0x03b8 0x0000 3 0 530#define MX6UL_PAD_LCD_DATA05__ENET2_1588_EVENT2_OUT 0x012c 0x03b8 0x0000 3 0
518#define MX6UL_PAD_LCD_DATA05__SPDIF_OUT 0x012c 0x03b8 0x0000 4 0 531#define MX6UL_PAD_LCD_DATA05__SPDIF_OUT 0x012c 0x03b8 0x0000 4 0
519#define MX6UL_PAD_LCD_DATA05__GPIO3_IO10 0x012c 0x03b8 0x0000 5 0 532#define MX6UL_PAD_LCD_DATA05__GPIO3_IO10 0x012c 0x03b8 0x0000 5 0
@@ -522,6 +535,7 @@
522#define MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x0130 0x03bc 0x0000 0 0 535#define MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x0130 0x03bc 0x0000 0 0
523#define MX6UL_PAD_LCD_DATA06__UART7_DCE_CTS 0x0130 0x03bc 0x0000 1 0 536#define MX6UL_PAD_LCD_DATA06__UART7_DCE_CTS 0x0130 0x03bc 0x0000 1 0
524#define MX6UL_PAD_LCD_DATA06__UART7_DTE_RTS 0x0130 0x03bc 0x0650 1 2 537#define MX6UL_PAD_LCD_DATA06__UART7_DTE_RTS 0x0130 0x03bc 0x0650 1 2
538#define MX6UL_PAD_LCD_DATA06__CA7_MX6UL_TRACE6 0x0130 0x03bc 0x0000 2 0
525#define MX6UL_PAD_LCD_DATA06__ENET2_1588_EVENT3_IN 0x0130 0x03bc 0x0000 3 0 539#define MX6UL_PAD_LCD_DATA06__ENET2_1588_EVENT3_IN 0x0130 0x03bc 0x0000 3 0
526#define MX6UL_PAD_LCD_DATA06__SPDIF_LOCK 0x0130 0x03bc 0x0000 4 0 540#define MX6UL_PAD_LCD_DATA06__SPDIF_LOCK 0x0130 0x03bc 0x0000 4 0
527#define MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x0130 0x03bc 0x0000 5 0 541#define MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x0130 0x03bc 0x0000 5 0
@@ -530,6 +544,7 @@
530#define MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x0134 0x03c0 0x0000 0 0 544#define MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x0134 0x03c0 0x0000 0 0
531#define MX6UL_PAD_LCD_DATA07__UART7_DCE_RTS 0x0134 0x03c0 0x0650 1 3 545#define MX6UL_PAD_LCD_DATA07__UART7_DCE_RTS 0x0134 0x03c0 0x0650 1 3
532#define MX6UL_PAD_LCD_DATA07__UART7_DTE_CTS 0x0134 0x03c0 0x0000 1 0 546#define MX6UL_PAD_LCD_DATA07__UART7_DTE_CTS 0x0134 0x03c0 0x0000 1 0
547#define MX6UL_PAD_LCD_DATA07__CA7_MX6UL_TRACE7 0x0134 0x03c0 0x0000 2 0
533#define MX6UL_PAD_LCD_DATA07__ENET2_1588_EVENT3_OUT 0x0134 0x03c0 0x0000 3 0 548#define MX6UL_PAD_LCD_DATA07__ENET2_1588_EVENT3_OUT 0x0134 0x03c0 0x0000 3 0
534#define MX6UL_PAD_LCD_DATA07__SPDIF_EXT_CLK 0x0134 0x03c0 0x061c 4 0 549#define MX6UL_PAD_LCD_DATA07__SPDIF_EXT_CLK 0x0134 0x03c0 0x061c 4 0
535#define MX6UL_PAD_LCD_DATA07__GPIO3_IO12 0x0134 0x03c0 0x0000 5 0 550#define MX6UL_PAD_LCD_DATA07__GPIO3_IO12 0x0134 0x03c0 0x0000 5 0
@@ -537,56 +552,64 @@
537#define MX6UL_PAD_LCD_DATA07__ECSPI1_SS3 0x0134 0x03c0 0x0000 8 0 552#define MX6UL_PAD_LCD_DATA07__ECSPI1_SS3 0x0134 0x03c0 0x0000 8 0
538#define MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x0138 0x03c4 0x0000 0 0 553#define MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x0138 0x03c4 0x0000 0 0
539#define MX6UL_PAD_LCD_DATA08__SPDIF_IN 0x0138 0x03c4 0x0618 1 2 554#define MX6UL_PAD_LCD_DATA08__SPDIF_IN 0x0138 0x03c4 0x0618 1 2
540#define MX6UL_PAD_LCD_DATA08__CSI_DATA16 0x0138 0x03c4 0x0000 3 0 555#define MX6UL_PAD_LCD_DATA08__CA7_MX6UL_TRACE8 0x0138 0x03c4 0x0000 2 0
556#define MX6UL_PAD_LCD_DATA08__CSI_DATA16 0x0138 0x03c4 0x0504 3 1
541#define MX6UL_PAD_LCD_DATA08__EIM_DATA00 0x0138 0x03c4 0x0000 4 0 557#define MX6UL_PAD_LCD_DATA08__EIM_DATA00 0x0138 0x03c4 0x0000 4 0
542#define MX6UL_PAD_LCD_DATA08__GPIO3_IO13 0x0138 0x03c4 0x0000 5 0 558#define MX6UL_PAD_LCD_DATA08__GPIO3_IO13 0x0138 0x03c4 0x0000 5 0
543#define MX6UL_PAD_LCD_DATA08__SRC_BT_CFG08 0x0138 0x03c4 0x0000 6 0 559#define MX6UL_PAD_LCD_DATA08__SRC_BT_CFG08 0x0138 0x03c4 0x0000 6 0
544#define MX6UL_PAD_LCD_DATA08__FLEXCAN1_TX 0x0138 0x03c4 0x0000 8 0 560#define MX6UL_PAD_LCD_DATA08__FLEXCAN1_TX 0x0138 0x03c4 0x0000 8 0
545#define MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x013c 0x03c8 0x0000 0 0 561#define MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x013c 0x03c8 0x0000 0 0
546#define MX6UL_PAD_LCD_DATA09__SAI3_MCLK 0x013c 0x03c8 0x0000 1 0 562#define MX6UL_PAD_LCD_DATA09__SAI3_MCLK 0x013c 0x03c8 0x0600 1 1
547#define MX6UL_PAD_LCD_DATA09__CSI_DATA17 0x013c 0x03c8 0x0000 3 0 563#define MX6UL_PAD_LCD_DATA09__CA7_MX6UL_TRACE9 0x013c 0x03c8 0x0000 2 0
564#define MX6UL_PAD_LCD_DATA09__CSI_DATA17 0x013c 0x03c8 0x0508 3 1
548#define MX6UL_PAD_LCD_DATA09__EIM_DATA01 0x013c 0x03c8 0x0000 4 0 565#define MX6UL_PAD_LCD_DATA09__EIM_DATA01 0x013c 0x03c8 0x0000 4 0
549#define MX6UL_PAD_LCD_DATA09__GPIO3_IO14 0x013c 0x03c8 0x0000 5 0 566#define MX6UL_PAD_LCD_DATA09__GPIO3_IO14 0x013c 0x03c8 0x0000 5 0
550#define MX6UL_PAD_LCD_DATA09__SRC_BT_CFG09 0x013c 0x03c8 0x0000 6 0 567#define MX6UL_PAD_LCD_DATA09__SRC_BT_CFG09 0x013c 0x03c8 0x0000 6 0
551#define MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX 0x013c 0x03c8 0x0584 8 2 568#define MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX 0x013c 0x03c8 0x0584 8 2
552#define MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x0140 0x03cc 0x0000 0 0 569#define MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x0140 0x03cc 0x0000 0 0
553#define MX6UL_PAD_LCD_DATA10__SAI3_RX_SYNC 0x0140 0x03cc 0x0000 1 0 570#define MX6UL_PAD_LCD_DATA10__SAI3_RX_SYNC 0x0140 0x03cc 0x0000 1 0
554#define MX6UL_PAD_LCD_DATA10__CSI_DATA18 0x0140 0x03cc 0x0000 3 0 571#define MX6UL_PAD_LCD_DATA10__CA7_MX6UL_TRACE10 0x0140 0x03cc 0x0000 2 0
572#define MX6UL_PAD_LCD_DATA10__CSI_DATA18 0x0140 0x03cc 0x050c 3 1
555#define MX6UL_PAD_LCD_DATA10__EIM_DATA02 0x0140 0x03cc 0x0000 4 0 573#define MX6UL_PAD_LCD_DATA10__EIM_DATA02 0x0140 0x03cc 0x0000 4 0
556#define MX6UL_PAD_LCD_DATA10__GPIO3_IO15 0x0140 0x03cc 0x0000 5 0 574#define MX6UL_PAD_LCD_DATA10__GPIO3_IO15 0x0140 0x03cc 0x0000 5 0
557#define MX6UL_PAD_LCD_DATA10__SRC_BT_CFG10 0x0140 0x03cc 0x0000 6 0 575#define MX6UL_PAD_LCD_DATA10__SRC_BT_CFG10 0x0140 0x03cc 0x0000 6 0
558#define MX6UL_PAD_LCD_DATA10__FLEXCAN2_TX 0x0140 0x03cc 0x0000 8 0 576#define MX6UL_PAD_LCD_DATA10__FLEXCAN2_TX 0x0140 0x03cc 0x0000 8 0
559#define MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x0144 0x03d0 0x0000 0 0 577#define MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x0144 0x03d0 0x0000 0 0
560#define MX6UL_PAD_LCD_DATA11__SAI3_RX_BCLK 0x0144 0x03d0 0x0000 1 0 578#define MX6UL_PAD_LCD_DATA11__SAI3_RX_BCLK 0x0144 0x03d0 0x0000 1 0
561#define MX6UL_PAD_LCD_DATA11__CSI_DATA19 0x0144 0x03d0 0x0000 3 0 579#define MX6UL_PAD_LCD_DATA11__CA7_MX6UL_TRACE11 0x0144 0x03d0 0x0000 2 0
580#define MX6UL_PAD_LCD_DATA11__CSI_DATA19 0x0144 0x03d0 0x0510 3 1
562#define MX6UL_PAD_LCD_DATA11__EIM_DATA03 0x0144 0x03d0 0x0000 4 0 581#define MX6UL_PAD_LCD_DATA11__EIM_DATA03 0x0144 0x03d0 0x0000 4 0
563#define MX6UL_PAD_LCD_DATA11__GPIO3_IO16 0x0144 0x03d0 0x0000 5 0 582#define MX6UL_PAD_LCD_DATA11__GPIO3_IO16 0x0144 0x03d0 0x0000 5 0
564#define MX6UL_PAD_LCD_DATA11__SRC_BT_CFG11 0x0144 0x03d0 0x0000 6 0 583#define MX6UL_PAD_LCD_DATA11__SRC_BT_CFG11 0x0144 0x03d0 0x0000 6 0
565#define MX6UL_PAD_LCD_DATA11__FLEXCAN2_RX 0x0144 0x03d0 0x0588 8 2 584#define MX6UL_PAD_LCD_DATA11__FLEXCAN2_RX 0x0144 0x03d0 0x0588 8 2
566#define MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x0148 0x03d4 0x0000 0 0 585#define MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x0148 0x03d4 0x0000 0 0
567#define MX6UL_PAD_LCD_DATA12__SAI3_TX_SYNC 0x0148 0x03d4 0x060c 1 1 586#define MX6UL_PAD_LCD_DATA12__SAI3_TX_SYNC 0x0148 0x03d4 0x060c 1 1
568#define MX6UL_PAD_LCD_DATA12__CSI_DATA20 0x0148 0x03d4 0x0000 3 0 587#define MX6UL_PAD_LCD_DATA12__CA7_MX6UL_TRACE12 0x0148 0x03d4 0x0000 2 0
588#define MX6UL_PAD_LCD_DATA12__CSI_DATA20 0x0148 0x03d4 0x0514 3 1
569#define MX6UL_PAD_LCD_DATA12__EIM_DATA04 0x0148 0x03d4 0x0000 4 0 589#define MX6UL_PAD_LCD_DATA12__EIM_DATA04 0x0148 0x03d4 0x0000 4 0
570#define MX6UL_PAD_LCD_DATA12__GPIO3_IO17 0x0148 0x03d4 0x0000 5 0 590#define MX6UL_PAD_LCD_DATA12__GPIO3_IO17 0x0148 0x03d4 0x0000 5 0
571#define MX6UL_PAD_LCD_DATA12__SRC_BT_CFG12 0x0148 0x03d4 0x0000 6 0 591#define MX6UL_PAD_LCD_DATA12__SRC_BT_CFG12 0x0148 0x03d4 0x0000 6 0
572#define MX6UL_PAD_LCD_DATA12__ECSPI1_RDY 0x0148 0x03d4 0x0000 8 0 592#define MX6UL_PAD_LCD_DATA12__ECSPI1_RDY 0x0148 0x03d4 0x0000 8 0
573#define MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x014c 0x03d8 0x0000 0 0 593#define MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x014c 0x03d8 0x0000 0 0
574#define MX6UL_PAD_LCD_DATA13__SAI3_TX_BCLK 0x014c 0x03d8 0x0608 1 1 594#define MX6UL_PAD_LCD_DATA13__SAI3_TX_BCLK 0x014c 0x03d8 0x0608 1 1
575#define MX6UL_PAD_LCD_DATA13__CSI_DATA21 0x014c 0x03d8 0x0000 3 0 595#define MX6UL_PAD_LCD_DATA13__CA7_MX6UL_TRACE13 0x014c 0x03d8 0x0000 2 0
596#define MX6UL_PAD_LCD_DATA13__CSI_DATA21 0x014c 0x03d8 0x0518 3 1
576#define MX6UL_PAD_LCD_DATA13__EIM_DATA05 0x014c 0x03d8 0x0000 4 0 597#define MX6UL_PAD_LCD_DATA13__EIM_DATA05 0x014c 0x03d8 0x0000 4 0
577#define MX6UL_PAD_LCD_DATA13__GPIO3_IO18 0x014c 0x03d8 0x0000 5 0 598#define MX6UL_PAD_LCD_DATA13__GPIO3_IO18 0x014c 0x03d8 0x0000 5 0
578#define MX6UL_PAD_LCD_DATA13__SRC_BT_CFG13 0x014c 0x03d8 0x0000 6 0 599#define MX6UL_PAD_LCD_DATA13__SRC_BT_CFG13 0x014c 0x03d8 0x0000 6 0
579#define MX6UL_PAD_LCD_DATA13__USDHC2_RESET_B 0x014c 0x03d8 0x0000 8 0 600#define MX6UL_PAD_LCD_DATA13__USDHC2_RESET_B 0x014c 0x03d8 0x0000 8 0
580#define MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x0150 0x03dc 0x0000 0 0 601#define MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x0150 0x03dc 0x0000 0 0
581#define MX6UL_PAD_LCD_DATA14__SAI3_RX_DATA 0x0150 0x03dc 0x0000 1 0 602#define MX6UL_PAD_LCD_DATA14__SAI3_RX_DATA 0x0150 0x03dc 0x0604 1 1
582#define MX6UL_PAD_LCD_DATA14__CSI_DATA22 0x0150 0x03dc 0x0000 3 0 603#define MX6UL_PAD_LCD_DATA14__CA7_MX6UL_TRACE14 0x0150 0x03dc 0x0000 2 0
604#define MX6UL_PAD_LCD_DATA14__CSI_DATA22 0x0150 0x03dc 0x051c 3 1
583#define MX6UL_PAD_LCD_DATA14__EIM_DATA06 0x0150 0x03dc 0x0000 4 0 605#define MX6UL_PAD_LCD_DATA14__EIM_DATA06 0x0150 0x03dc 0x0000 4 0
584#define MX6UL_PAD_LCD_DATA14__GPIO3_IO19 0x0150 0x03dc 0x0000 5 0 606#define MX6UL_PAD_LCD_DATA14__GPIO3_IO19 0x0150 0x03dc 0x0000 5 0
585#define MX6UL_PAD_LCD_DATA14__SRC_BT_CFG14 0x0150 0x03dc 0x0000 6 0 607#define MX6UL_PAD_LCD_DATA14__SRC_BT_CFG14 0x0150 0x03dc 0x0000 6 0
586#define MX6UL_PAD_LCD_DATA14__USDHC2_DATA4 0x0150 0x03dc 0x068c 8 0 608#define MX6UL_PAD_LCD_DATA14__USDHC2_DATA4 0x0150 0x03dc 0x068c 8 0
587#define MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x0154 0x03e0 0x0000 0 0 609#define MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x0154 0x03e0 0x0000 0 0
588#define MX6UL_PAD_LCD_DATA15__SAI3_TX_DATA 0x0154 0x03e0 0x0000 1 0 610#define MX6UL_PAD_LCD_DATA15__SAI3_TX_DATA 0x0154 0x03e0 0x0000 1 0
589#define MX6UL_PAD_LCD_DATA15__CSI_DATA23 0x0154 0x03e0 0x0000 3 0 611#define MX6UL_PAD_LCD_DATA15__CA7_MX6UL_TRACE15 0x0154 0x03e0 0x0000 2 0
612#define MX6UL_PAD_LCD_DATA15__CSI_DATA23 0x0154 0x03e0 0x0520 3 1
590#define MX6UL_PAD_LCD_DATA15__EIM_DATA07 0x0154 0x03e0 0x0000 4 0 613#define MX6UL_PAD_LCD_DATA15__EIM_DATA07 0x0154 0x03e0 0x0000 4 0
591#define MX6UL_PAD_LCD_DATA15__GPIO3_IO20 0x0154 0x03e0 0x0000 5 0 614#define MX6UL_PAD_LCD_DATA15__GPIO3_IO20 0x0154 0x03e0 0x0000 5 0
592#define MX6UL_PAD_LCD_DATA15__SRC_BT_CFG15 0x0154 0x03e0 0x0000 6 0 615#define MX6UL_PAD_LCD_DATA15__SRC_BT_CFG15 0x0154 0x03e0 0x0000 6 0
@@ -594,7 +617,8 @@
594#define MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x0158 0x03e4 0x0000 0 0 617#define MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x0158 0x03e4 0x0000 0 0
595#define MX6UL_PAD_LCD_DATA16__UART7_DCE_TX 0x0158 0x03e4 0x0000 1 0 618#define MX6UL_PAD_LCD_DATA16__UART7_DCE_TX 0x0158 0x03e4 0x0000 1 0
596#define MX6UL_PAD_LCD_DATA16__UART7_DTE_RX 0x0158 0x03e4 0x0654 1 2 619#define MX6UL_PAD_LCD_DATA16__UART7_DTE_RX 0x0158 0x03e4 0x0654 1 2
597#define MX6UL_PAD_LCD_DATA16__CSI_DATA01 0x0158 0x03e4 0x0000 3 0 620#define MX6UL_PAD_LCD_DATA16__CA7_MX6UL_TRACE_CLK 0x0158 0x03e4 0x0000 2 0
621#define MX6UL_PAD_LCD_DATA16__CSI_DATA01 0x0158 0x03e4 0x04d4 3 1
598#define MX6UL_PAD_LCD_DATA16__EIM_DATA08 0x0158 0x03e4 0x0000 4 0 622#define MX6UL_PAD_LCD_DATA16__EIM_DATA08 0x0158 0x03e4 0x0000 4 0
599#define MX6UL_PAD_LCD_DATA16__GPIO3_IO21 0x0158 0x03e4 0x0000 5 0 623#define MX6UL_PAD_LCD_DATA16__GPIO3_IO21 0x0158 0x03e4 0x0000 5 0
600#define MX6UL_PAD_LCD_DATA16__SRC_BT_CFG24 0x0158 0x03e4 0x0000 6 0 624#define MX6UL_PAD_LCD_DATA16__SRC_BT_CFG24 0x0158 0x03e4 0x0000 6 0
@@ -602,7 +626,8 @@
602#define MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x015c 0x03e8 0x0000 0 0 626#define MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x015c 0x03e8 0x0000 0 0
603#define MX6UL_PAD_LCD_DATA17__UART7_DCE_RX 0x015c 0x03e8 0x0654 1 3 627#define MX6UL_PAD_LCD_DATA17__UART7_DCE_RX 0x015c 0x03e8 0x0654 1 3
604#define MX6UL_PAD_LCD_DATA17__UART7_DTE_TX 0x015c 0x03e8 0x0000 1 0 628#define MX6UL_PAD_LCD_DATA17__UART7_DTE_TX 0x015c 0x03e8 0x0000 1 0
605#define MX6UL_PAD_LCD_DATA17__CSI_DATA00 0x015c 0x03e8 0x0000 3 0 629#define MX6UL_PAD_LCD_DATA17__CA7_MX6UL_TRACE_CTL 0x015c 0x03e8 0x0000 2 0
630#define MX6UL_PAD_LCD_DATA17__CSI_DATA00 0x015c 0x03e8 0x04d0 3 1
606#define MX6UL_PAD_LCD_DATA17__EIM_DATA09 0x015c 0x03e8 0x0000 4 0 631#define MX6UL_PAD_LCD_DATA17__EIM_DATA09 0x015c 0x03e8 0x0000 4 0
607#define MX6UL_PAD_LCD_DATA17__GPIO3_IO22 0x015c 0x03e8 0x0000 5 0 632#define MX6UL_PAD_LCD_DATA17__GPIO3_IO22 0x015c 0x03e8 0x0000 5 0
608#define MX6UL_PAD_LCD_DATA17__SRC_BT_CFG25 0x015c 0x03e8 0x0000 6 0 633#define MX6UL_PAD_LCD_DATA17__SRC_BT_CFG25 0x015c 0x03e8 0x0000 6 0
@@ -610,7 +635,7 @@
610#define MX6UL_PAD_LCD_DATA18__LCDIF_DATA18 0x0160 0x03ec 0x0000 0 0 635#define MX6UL_PAD_LCD_DATA18__LCDIF_DATA18 0x0160 0x03ec 0x0000 0 0
611#define MX6UL_PAD_LCD_DATA18__PWM5_OUT 0x0160 0x03ec 0x0000 1 0 636#define MX6UL_PAD_LCD_DATA18__PWM5_OUT 0x0160 0x03ec 0x0000 1 0
612#define MX6UL_PAD_LCD_DATA18__CA7_MX6UL_EVENTO 0x0160 0x03ec 0x0000 2 0 637#define MX6UL_PAD_LCD_DATA18__CA7_MX6UL_EVENTO 0x0160 0x03ec 0x0000 2 0
613#define MX6UL_PAD_LCD_DATA18__CSI_DATA10 0x0160 0x03ec 0x0000 3 0 638#define MX6UL_PAD_LCD_DATA18__CSI_DATA10 0x0160 0x03ec 0x04ec 3 1
614#define MX6UL_PAD_LCD_DATA18__EIM_DATA10 0x0160 0x03ec 0x0000 4 0 639#define MX6UL_PAD_LCD_DATA18__EIM_DATA10 0x0160 0x03ec 0x0000 4 0
615#define MX6UL_PAD_LCD_DATA18__GPIO3_IO23 0x0160 0x03ec 0x0000 5 0 640#define MX6UL_PAD_LCD_DATA18__GPIO3_IO23 0x0160 0x03ec 0x0000 5 0
616#define MX6UL_PAD_LCD_DATA18__SRC_BT_CFG26 0x0160 0x03ec 0x0000 6 0 641#define MX6UL_PAD_LCD_DATA18__SRC_BT_CFG26 0x0160 0x03ec 0x0000 6 0
@@ -622,7 +647,7 @@
622#define MX6UL_PAD_LCD_DATA19__LCDIF_DATA19 0x0164 0x03f0 0x0000 0 0 647#define MX6UL_PAD_LCD_DATA19__LCDIF_DATA19 0x0164 0x03f0 0x0000 0 0
623#define MX6UL_PAD_LCD_DATA19__PWM6_OUT 0x0164 0x03f0 0x0000 1 0 648#define MX6UL_PAD_LCD_DATA19__PWM6_OUT 0x0164 0x03f0 0x0000 1 0
624#define MX6UL_PAD_LCD_DATA19__WDOG1_WDOG_ANY 0x0164 0x03f0 0x0000 2 0 649#define MX6UL_PAD_LCD_DATA19__WDOG1_WDOG_ANY 0x0164 0x03f0 0x0000 2 0
625#define MX6UL_PAD_LCD_DATA19__CSI_DATA11 0x0164 0x03f0 0x0000 3 0 650#define MX6UL_PAD_LCD_DATA19__CSI_DATA11 0x0164 0x03f0 0x04f0 3 1
626#define MX6UL_PAD_LCD_DATA20__EIM_DATA12 0x0168 0x03f4 0x0000 4 0 651#define MX6UL_PAD_LCD_DATA20__EIM_DATA12 0x0168 0x03f4 0x0000 4 0
627#define MX6UL_PAD_LCD_DATA20__GPIO3_IO25 0x0168 0x03f4 0x0000 5 0 652#define MX6UL_PAD_LCD_DATA20__GPIO3_IO25 0x0168 0x03f4 0x0000 5 0
628#define MX6UL_PAD_LCD_DATA20__SRC_BT_CFG28 0x0168 0x03f4 0x0000 6 0 653#define MX6UL_PAD_LCD_DATA20__SRC_BT_CFG28 0x0168 0x03f4 0x0000 6 0
@@ -631,12 +656,12 @@
631#define MX6UL_PAD_LCD_DATA20__UART8_DCE_TX 0x0168 0x03f4 0x0000 1 0 656#define MX6UL_PAD_LCD_DATA20__UART8_DCE_TX 0x0168 0x03f4 0x0000 1 0
632#define MX6UL_PAD_LCD_DATA20__UART8_DTE_RX 0x0168 0x03f4 0x065c 1 2 657#define MX6UL_PAD_LCD_DATA20__UART8_DTE_RX 0x0168 0x03f4 0x065c 1 2
633#define MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK 0x0168 0x03f4 0x0534 2 0 658#define MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK 0x0168 0x03f4 0x0534 2 0
634#define MX6UL_PAD_LCD_DATA20__CSI_DATA12 0x0168 0x03f4 0x0000 3 0 659#define MX6UL_PAD_LCD_DATA20__CSI_DATA12 0x0168 0x03f4 0x04f4 3 1
635#define MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x016c 0x03f8 0x0000 0 0 660#define MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x016c 0x03f8 0x0000 0 0
636#define MX6UL_PAD_LCD_DATA21__UART8_DCE_RX 0x016c 0x03f8 0x065c 1 3 661#define MX6UL_PAD_LCD_DATA21__UART8_DCE_RX 0x016c 0x03f8 0x065c 1 3
637#define MX6UL_PAD_LCD_DATA21__UART8_DTE_TX 0x016c 0x03f8 0x0000 1 0 662#define MX6UL_PAD_LCD_DATA21__UART8_DTE_TX 0x016c 0x03f8 0x0000 1 0
638#define MX6UL_PAD_LCD_DATA21__ECSPI1_SS0 0x016c 0x03f8 0x0000 2 0 663#define MX6UL_PAD_LCD_DATA21__ECSPI1_SS0 0x016c 0x03f8 0x0540 2 0
639#define MX6UL_PAD_LCD_DATA21__CSI_DATA13 0x016c 0x03f8 0x0000 3 0 664#define MX6UL_PAD_LCD_DATA21__CSI_DATA13 0x016c 0x03f8 0x04f8 3 1
640#define MX6UL_PAD_LCD_DATA21__EIM_DATA13 0x016c 0x03f8 0x0000 4 0 665#define MX6UL_PAD_LCD_DATA21__EIM_DATA13 0x016c 0x03f8 0x0000 4 0
641#define MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0x016c 0x03f8 0x0000 5 0 666#define MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0x016c 0x03f8 0x0000 5 0
642#define MX6UL_PAD_LCD_DATA21__SRC_BT_CFG29 0x016c 0x03f8 0x0000 6 0 667#define MX6UL_PAD_LCD_DATA21__SRC_BT_CFG29 0x016c 0x03f8 0x0000 6 0
@@ -644,7 +669,7 @@
644#define MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x0170 0x03fc 0x0000 0 0 669#define MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x0170 0x03fc 0x0000 0 0
645#define MX6UL_PAD_LCD_DATA22__MQS_RIGHT 0x0170 0x03fc 0x0000 1 0 670#define MX6UL_PAD_LCD_DATA22__MQS_RIGHT 0x0170 0x03fc 0x0000 1 0
646#define MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI 0x0170 0x03fc 0x053c 2 0 671#define MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI 0x0170 0x03fc 0x053c 2 0
647#define MX6UL_PAD_LCD_DATA22__CSI_DATA14 0x0170 0x03fc 0x0000 3 0 672#define MX6UL_PAD_LCD_DATA22__CSI_DATA14 0x0170 0x03fc 0x04fc 3 1
648#define MX6UL_PAD_LCD_DATA22__EIM_DATA14 0x0170 0x03fc 0x0000 4 0 673#define MX6UL_PAD_LCD_DATA22__EIM_DATA14 0x0170 0x03fc 0x0000 4 0
649#define MX6UL_PAD_LCD_DATA22__GPIO3_IO27 0x0170 0x03fc 0x0000 5 0 674#define MX6UL_PAD_LCD_DATA22__GPIO3_IO27 0x0170 0x03fc 0x0000 5 0
650#define MX6UL_PAD_LCD_DATA22__SRC_BT_CFG30 0x0170 0x03fc 0x0000 6 0 675#define MX6UL_PAD_LCD_DATA22__SRC_BT_CFG30 0x0170 0x03fc 0x0000 6 0
@@ -652,7 +677,7 @@
652#define MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x0174 0x0400 0x0000 0 0 677#define MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x0174 0x0400 0x0000 0 0
653#define MX6UL_PAD_LCD_DATA23__MQS_LEFT 0x0174 0x0400 0x0000 1 0 678#define MX6UL_PAD_LCD_DATA23__MQS_LEFT 0x0174 0x0400 0x0000 1 0
654#define MX6UL_PAD_LCD_DATA23__ECSPI1_MISO 0x0174 0x0400 0x0538 2 0 679#define MX6UL_PAD_LCD_DATA23__ECSPI1_MISO 0x0174 0x0400 0x0538 2 0
655#define MX6UL_PAD_LCD_DATA23__CSI_DATA15 0x0174 0x0400 0x0000 3 0 680#define MX6UL_PAD_LCD_DATA23__CSI_DATA15 0x0174 0x0400 0x0500 3 1
656#define MX6UL_PAD_LCD_DATA23__EIM_DATA15 0x0174 0x0400 0x0000 4 0 681#define MX6UL_PAD_LCD_DATA23__EIM_DATA15 0x0174 0x0400 0x0000 4 0
657#define MX6UL_PAD_LCD_DATA23__GPIO3_IO28 0x0174 0x0400 0x0000 5 0 682#define MX6UL_PAD_LCD_DATA23__GPIO3_IO28 0x0174 0x0400 0x0000 5 0
658#define MX6UL_PAD_LCD_DATA23__SRC_BT_CFG31 0x0174 0x0400 0x0000 6 0 683#define MX6UL_PAD_LCD_DATA23__SRC_BT_CFG31 0x0174 0x0400 0x0000 6 0
@@ -660,42 +685,42 @@
660#define MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B 0x0178 0x0404 0x0000 0 0 685#define MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B 0x0178 0x0404 0x0000 0 0
661#define MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x0178 0x0404 0x0670 1 2 686#define MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x0178 0x0404 0x0670 1 2
662#define MX6UL_PAD_NAND_RE_B__QSPI_B_SCLK 0x0178 0x0404 0x0000 2 0 687#define MX6UL_PAD_NAND_RE_B__QSPI_B_SCLK 0x0178 0x0404 0x0000 2 0
663#define MX6UL_PAD_NAND_RE_B__KPP_ROW00 0x0178 0x0404 0x0000 3 0 688#define MX6UL_PAD_NAND_RE_B__KPP_ROW00 0x0178 0x0404 0x05d0 3 1
664#define MX6UL_PAD_NAND_RE_B__EIM_EB_B00 0x0178 0x0404 0x0000 4 0 689#define MX6UL_PAD_NAND_RE_B__EIM_EB_B00 0x0178 0x0404 0x0000 4 0
665#define MX6UL_PAD_NAND_RE_B__GPIO4_IO00 0x0178 0x0404 0x0000 5 0 690#define MX6UL_PAD_NAND_RE_B__GPIO4_IO00 0x0178 0x0404 0x0000 5 0
666#define MX6UL_PAD_NAND_RE_B__ECSPI3_SS2 0x0178 0x0404 0x0000 8 0 691#define MX6UL_PAD_NAND_RE_B__ECSPI3_SS2 0x0178 0x0404 0x0000 8 0
667#define MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B 0x017c 0x0408 0x0000 0 0 692#define MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B 0x017c 0x0408 0x0000 0 0
668#define MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x017c 0x0408 0x0678 1 2 693#define MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x017c 0x0408 0x0678 1 2
669#define MX6UL_PAD_NAND_WE_B__QSPI_B_SS0_B 0x017c 0x0408 0x0000 2 0 694#define MX6UL_PAD_NAND_WE_B__QSPI_B_SS0_B 0x017c 0x0408 0x0000 2 0
670#define MX6UL_PAD_NAND_WE_B__KPP_COL00 0x017c 0x0408 0x0000 3 0 695#define MX6UL_PAD_NAND_WE_B__KPP_COL00 0x017c 0x0408 0x05c4 3 1
671#define MX6UL_PAD_NAND_WE_B__EIM_EB_B01 0x017c 0x0408 0x0000 4 0 696#define MX6UL_PAD_NAND_WE_B__EIM_EB_B01 0x017c 0x0408 0x0000 4 0
672#define MX6UL_PAD_NAND_WE_B__GPIO4_IO01 0x017c 0x0408 0x0000 5 0 697#define MX6UL_PAD_NAND_WE_B__GPIO4_IO01 0x017c 0x0408 0x0000 5 0
673#define MX6UL_PAD_NAND_WE_B__ECSPI3_SS3 0x017c 0x0408 0x0000 8 0 698#define MX6UL_PAD_NAND_WE_B__ECSPI3_SS3 0x017c 0x0408 0x0000 8 0
674#define MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00 0x0180 0x040c 0x0000 0 0 699#define MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00 0x0180 0x040c 0x0000 0 0
675#define MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x0180 0x040c 0x067c 1 2 700#define MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x0180 0x040c 0x067c 1 2
676#define MX6UL_PAD_NAND_DATA00__QSPI_B_SS1_B 0x0180 0x040c 0x0000 2 0 701#define MX6UL_PAD_NAND_DATA00__QSPI_B_SS1_B 0x0180 0x040c 0x0000 2 0
677#define MX6UL_PAD_NAND_DATA00__KPP_ROW01 0x0180 0x040c 0x0000 3 0 702#define MX6UL_PAD_NAND_DATA00__KPP_ROW01 0x0180 0x040c 0x05d4 3 1
678#define MX6UL_PAD_NAND_DATA00__EIM_AD08 0x0180 0x040c 0x0000 4 0 703#define MX6UL_PAD_NAND_DATA00__EIM_AD08 0x0180 0x040c 0x0000 4 0
679#define MX6UL_PAD_NAND_DATA00__GPIO4_IO02 0x0180 0x040c 0x0000 5 0 704#define MX6UL_PAD_NAND_DATA00__GPIO4_IO02 0x0180 0x040c 0x0000 5 0
680#define MX6UL_PAD_NAND_DATA00__ECSPI4_RDY 0x0180 0x040c 0x0000 8 0 705#define MX6UL_PAD_NAND_DATA00__ECSPI4_RDY 0x0180 0x040c 0x0000 8 0
681#define MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01 0x0184 0x0410 0x0000 0 0 706#define MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01 0x0184 0x0410 0x0000 0 0
682#define MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x0184 0x0410 0x0680 1 2 707#define MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x0184 0x0410 0x0680 1 2
683#define MX6UL_PAD_NAND_DATA01__QSPI_B_DQS 0x0184 0x0410 0x0000 2 0 708#define MX6UL_PAD_NAND_DATA01__QSPI_B_DQS 0x0184 0x0410 0x0000 2 0
684#define MX6UL_PAD_NAND_DATA01__KPP_COL01 0x0184 0x0410 0x0000 3 0 709#define MX6UL_PAD_NAND_DATA01__KPP_COL01 0x0184 0x0410 0x05c8 3 1
685#define MX6UL_PAD_NAND_DATA01__EIM_AD09 0x0184 0x0410 0x0000 4 0 710#define MX6UL_PAD_NAND_DATA01__EIM_AD09 0x0184 0x0410 0x0000 4 0
686#define MX6UL_PAD_NAND_DATA01__GPIO4_IO03 0x0184 0x0410 0x0000 5 0 711#define MX6UL_PAD_NAND_DATA01__GPIO4_IO03 0x0184 0x0410 0x0000 5 0
687#define MX6UL_PAD_NAND_DATA01__ECSPI4_SS1 0x0184 0x0410 0x0000 8 0 712#define MX6UL_PAD_NAND_DATA01__ECSPI4_SS1 0x0184 0x0410 0x0000 8 0
688#define MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02 0x0188 0x0414 0x0000 0 0 713#define MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02 0x0188 0x0414 0x0000 0 0
689#define MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x0188 0x0414 0x0684 1 1 714#define MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x0188 0x0414 0x0684 1 1
690#define MX6UL_PAD_NAND_DATA02__QSPI_B_DATA00 0x0188 0x0414 0x0000 2 0 715#define MX6UL_PAD_NAND_DATA02__QSPI_B_DATA00 0x0188 0x0414 0x0000 2 0
691#define MX6UL_PAD_NAND_DATA02__KPP_ROW02 0x0188 0x0414 0x0000 3 0 716#define MX6UL_PAD_NAND_DATA02__KPP_ROW02 0x0188 0x0414 0x05d8 3 1
692#define MX6UL_PAD_NAND_DATA02__EIM_AD10 0x0188 0x0414 0x0000 4 0 717#define MX6UL_PAD_NAND_DATA02__EIM_AD10 0x0188 0x0414 0x0000 4 0
693#define MX6UL_PAD_NAND_DATA02__GPIO4_IO04 0x0188 0x0414 0x0000 5 0 718#define MX6UL_PAD_NAND_DATA02__GPIO4_IO04 0x0188 0x0414 0x0000 5 0
694#define MX6UL_PAD_NAND_DATA02__ECSPI4_SS2 0x0188 0x0414 0x0000 8 0 719#define MX6UL_PAD_NAND_DATA02__ECSPI4_SS2 0x0188 0x0414 0x0000 8 0
695#define MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03 0x018c 0x0418 0x0000 0 0 720#define MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03 0x018c 0x0418 0x0000 0 0
696#define MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x018c 0x0418 0x0688 1 2 721#define MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x018c 0x0418 0x0688 1 2
697#define MX6UL_PAD_NAND_DATA03__QSPI_B_DATA01 0x018c 0x0418 0x0000 2 0 722#define MX6UL_PAD_NAND_DATA03__QSPI_B_DATA01 0x018c 0x0418 0x0000 2 0
698#define MX6UL_PAD_NAND_DATA03__KPP_COL02 0x018c 0x0418 0x0000 3 0 723#define MX6UL_PAD_NAND_DATA03__KPP_COL02 0x018c 0x0418 0x05cc 3 1
699#define MX6UL_PAD_NAND_DATA03__EIM_AD11 0x018c 0x0418 0x0000 4 0 724#define MX6UL_PAD_NAND_DATA03__EIM_AD11 0x018c 0x0418 0x0000 4 0
700#define MX6UL_PAD_NAND_DATA03__GPIO4_IO05 0x018c 0x0418 0x0000 5 0 725#define MX6UL_PAD_NAND_DATA03__GPIO4_IO05 0x018c 0x0418 0x0000 5 0
701#define MX6UL_PAD_NAND_DATA03__ECSPI4_SS3 0x018c 0x0418 0x0000 8 0 726#define MX6UL_PAD_NAND_DATA03__ECSPI4_SS3 0x018c 0x0418 0x0000 8 0
@@ -726,7 +751,7 @@
726#define MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07 0x019c 0x0428 0x0000 0 0 751#define MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07 0x019c 0x0428 0x0000 0 0
727#define MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x019c 0x0428 0x0698 1 1 752#define MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x019c 0x0428 0x0698 1 1
728#define MX6UL_PAD_NAND_DATA07__QSPI_A_SS1_B 0x019c 0x0428 0x0000 2 0 753#define MX6UL_PAD_NAND_DATA07__QSPI_A_SS1_B 0x019c 0x0428 0x0000 2 0
729#define MX6UL_PAD_NAND_DATA07__ECSPI4_SS0 0x019c 0x0428 0x0000 3 0 754#define MX6UL_PAD_NAND_DATA07__ECSPI4_SS0 0x019c 0x0428 0x0570 3 1
730#define MX6UL_PAD_NAND_DATA07__EIM_AD15 0x019c 0x0428 0x0000 4 0 755#define MX6UL_PAD_NAND_DATA07__EIM_AD15 0x019c 0x0428 0x0000 4 0
731#define MX6UL_PAD_NAND_DATA07__GPIO4_IO09 0x019c 0x0428 0x0000 5 0 756#define MX6UL_PAD_NAND_DATA07__GPIO4_IO09 0x019c 0x0428 0x0000 5 0
732#define MX6UL_PAD_NAND_DATA07__UART2_DCE_RTS 0x019c 0x0428 0x0628 8 5 757#define MX6UL_PAD_NAND_DATA07__UART2_DCE_RTS 0x019c 0x0428 0x0628 8 5
@@ -748,7 +773,7 @@
748#define MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B 0x01a8 0x0434 0x0000 0 0 773#define MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B 0x01a8 0x0434 0x0000 0 0
749#define MX6UL_PAD_NAND_READY_B__USDHC1_DATA4 0x01a8 0x0434 0x0000 1 0 774#define MX6UL_PAD_NAND_READY_B__USDHC1_DATA4 0x01a8 0x0434 0x0000 1 0
750#define MX6UL_PAD_NAND_READY_B__QSPI_A_DATA00 0x01a8 0x0434 0x0000 2 0 775#define MX6UL_PAD_NAND_READY_B__QSPI_A_DATA00 0x01a8 0x0434 0x0000 2 0
751#define MX6UL_PAD_NAND_READY_B__ECSPI3_SS0 0x01a8 0x0434 0x0000 3 0 776#define MX6UL_PAD_NAND_READY_B__ECSPI3_SS0 0x01a8 0x0434 0x0560 3 1
752#define MX6UL_PAD_NAND_READY_B__EIM_CS1_B 0x01a8 0x0434 0x0000 4 0 777#define MX6UL_PAD_NAND_READY_B__EIM_CS1_B 0x01a8 0x0434 0x0000 4 0
753#define MX6UL_PAD_NAND_READY_B__GPIO4_IO12 0x01a8 0x0434 0x0000 5 0 778#define MX6UL_PAD_NAND_READY_B__GPIO4_IO12 0x01a8 0x0434 0x0000 5 0
754#define MX6UL_PAD_NAND_READY_B__UART3_DCE_TX 0x01a8 0x0434 0x0000 8 0 779#define MX6UL_PAD_NAND_READY_B__UART3_DCE_TX 0x01a8 0x0434 0x0000 8 0
@@ -783,7 +808,7 @@
783#define MX6UL_PAD_NAND_DQS__PWM5_OUT 0x01b8 0x0444 0x0000 3 0 808#define MX6UL_PAD_NAND_DQS__PWM5_OUT 0x01b8 0x0444 0x0000 3 0
784#define MX6UL_PAD_NAND_DQS__EIM_WAIT 0x01b8 0x0444 0x0000 4 0 809#define MX6UL_PAD_NAND_DQS__EIM_WAIT 0x01b8 0x0444 0x0000 4 0
785#define MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x01b8 0x0444 0x0000 5 0 810#define MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x01b8 0x0444 0x0000 5 0
786#define MX6UL_PAD_NAND_DQS__SDMA_EXT_EVENT01 0x01b8 0x0444 0x0000 6 0 811#define MX6UL_PAD_NAND_DQS__SDMA_EXT_EVENT01 0x01b8 0x0444 0x0614 6 1
787#define MX6UL_PAD_NAND_DQS__SPDIF_EXT_CLK 0x01b8 0x0444 0x061c 8 1 812#define MX6UL_PAD_NAND_DQS__SPDIF_EXT_CLK 0x01b8 0x0444 0x061c 8 1
788#define MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x01bc 0x0448 0x0000 0 0 813#define MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x01bc 0x0448 0x0000 0 0
789#define MX6UL_PAD_SD1_CMD__GPT2_COMPARE1 0x01bc 0x0448 0x0000 1 0 814#define MX6UL_PAD_SD1_CMD__GPT2_COMPARE1 0x01bc 0x0448 0x0000 1 0
@@ -791,11 +816,11 @@
791#define MX6UL_PAD_SD1_CMD__SPDIF_OUT 0x01bc 0x0448 0x0000 3 0 816#define MX6UL_PAD_SD1_CMD__SPDIF_OUT 0x01bc 0x0448 0x0000 3 0
792#define MX6UL_PAD_SD1_CMD__EIM_ADDR19 0x01bc 0x0448 0x0000 4 0 817#define MX6UL_PAD_SD1_CMD__EIM_ADDR19 0x01bc 0x0448 0x0000 4 0
793#define MX6UL_PAD_SD1_CMD__GPIO2_IO16 0x01bc 0x0448 0x0000 5 0 818#define MX6UL_PAD_SD1_CMD__GPIO2_IO16 0x01bc 0x0448 0x0000 5 0
794#define MX6UL_PAD_SD1_CMD__SDMA_EXT_EVENT00 0x01bc 0x0448 0x0000 6 0 819#define MX6UL_PAD_SD1_CMD__SDMA_EXT_EVENT00 0x01bc 0x0448 0x0610 6 2
795#define MX6UL_PAD_SD1_CMD__USB_OTG1_PWR 0x01bc 0x0448 0x0000 8 0 820#define MX6UL_PAD_SD1_CMD__USB_OTG1_PWR 0x01bc 0x0448 0x0000 8 0
796#define MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x01c0 0x044c 0x0000 0 0 821#define MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x01c0 0x044c 0x0000 0 0
797#define MX6UL_PAD_SD1_CLK__GPT2_COMPARE2 0x01c0 0x044c 0x0000 1 0 822#define MX6UL_PAD_SD1_CLK__GPT2_COMPARE2 0x01c0 0x044c 0x0000 1 0
798#define MX6UL_PAD_SD1_CLK__SAI2_MCLK 0x01c0 0x044c 0x0000 2 0 823#define MX6UL_PAD_SD1_CLK__SAI2_MCLK 0x01c0 0x044c 0x05f0 2 1
799#define MX6UL_PAD_SD1_CLK__SPDIF_IN 0x01c0 0x044c 0x0618 3 3 824#define MX6UL_PAD_SD1_CLK__SPDIF_IN 0x01c0 0x044c 0x0618 3 3
800#define MX6UL_PAD_SD1_CLK__EIM_ADDR20 0x01c0 0x044c 0x0000 4 0 825#define MX6UL_PAD_SD1_CLK__EIM_ADDR20 0x01c0 0x044c 0x0000 4 0
801#define MX6UL_PAD_SD1_CLK__GPIO2_IO17 0x01c0 0x044c 0x0000 5 0 826#define MX6UL_PAD_SD1_CLK__GPIO2_IO17 0x01c0 0x044c 0x0000 5 0
@@ -878,10 +903,10 @@
878#define MX6UL_PAD_CSI_DATA01__CSI_DATA03 0x01e8 0x0474 0x04c8 0 0 903#define MX6UL_PAD_CSI_DATA01__CSI_DATA03 0x01e8 0x0474 0x04c8 0 0
879#define MX6UL_PAD_CSI_DATA01__USDHC2_DATA1 0x01e8 0x0474 0x0680 1 0 904#define MX6UL_PAD_CSI_DATA01__USDHC2_DATA1 0x01e8 0x0474 0x0680 1 0
880#define MX6UL_PAD_CSI_DATA01__SIM1_PORT1_SVEN 0x01e8 0x0474 0x0000 2 0 905#define MX6UL_PAD_CSI_DATA01__SIM1_PORT1_SVEN 0x01e8 0x0474 0x0000 2 0
881#define MX6UL_PAD_CSI_DATA01__ECSPI2_SS0 0x01e8 0x0474 0x0000 3 0 906#define MX6UL_PAD_CSI_DATA01__ECSPI2_SS0 0x01e8 0x0474 0x0550 3 0
882#define MX6UL_PAD_CSI_DATA01__EIM_AD01 0x01e8 0x0474 0x0000 4 0 907#define MX6UL_PAD_CSI_DATA01__EIM_AD01 0x01e8 0x0474 0x0000 4 0
883#define MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x01e8 0x0474 0x0000 5 0 908#define MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x01e8 0x0474 0x0000 5 0
884#define MX6UL_PAD_CSI_DATA01__SAI1_MCLK 0x01e8 0x0474 0x0000 6 0 909#define MX6UL_PAD_CSI_DATA01__SAI1_MCLK 0x01e8 0x0474 0x05e0 6 0
885#define MX6UL_PAD_CSI_DATA01__UART5_DCE_RX 0x01e8 0x0474 0x0644 8 1 910#define MX6UL_PAD_CSI_DATA01__UART5_DCE_RX 0x01e8 0x0474 0x0644 8 1
886#define MX6UL_PAD_CSI_DATA01__UART5_DTE_TX 0x01e8 0x0474 0x0000 8 0 911#define MX6UL_PAD_CSI_DATA01__UART5_DTE_TX 0x01e8 0x0474 0x0000 8 0
887#define MX6UL_PAD_CSI_DATA02__CSI_DATA04 0x01ec 0x0478 0x04d8 0 1 912#define MX6UL_PAD_CSI_DATA02__CSI_DATA04 0x01ec 0x0478 0x04d8 0 1
@@ -913,7 +938,7 @@
913#define MX6UL_PAD_CSI_DATA05__CSI_DATA07 0x01f8 0x0484 0x04e0 0 1 938#define MX6UL_PAD_CSI_DATA05__CSI_DATA07 0x01f8 0x0484 0x04e0 0 1
914#define MX6UL_PAD_CSI_DATA05__USDHC2_DATA5 0x01f8 0x0484 0x0690 1 2 939#define MX6UL_PAD_CSI_DATA05__USDHC2_DATA5 0x01f8 0x0484 0x0690 1 2
915#define MX6UL_PAD_CSI_DATA05__SIM2_PORT1_RST_B 0x01f8 0x0484 0x0000 2 0 940#define MX6UL_PAD_CSI_DATA05__SIM2_PORT1_RST_B 0x01f8 0x0484 0x0000 2 0
916#define MX6UL_PAD_CSI_DATA05__ECSPI1_SS0 0x01f8 0x0484 0x0000 3 0 941#define MX6UL_PAD_CSI_DATA05__ECSPI1_SS0 0x01f8 0x0484 0x0540 3 1
917#define MX6UL_PAD_CSI_DATA05__EIM_AD05 0x01f8 0x0484 0x0000 4 0 942#define MX6UL_PAD_CSI_DATA05__EIM_AD05 0x01f8 0x0484 0x0000 4 0
918#define MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0x01f8 0x0484 0x0000 5 0 943#define MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0x01f8 0x0484 0x0000 5 0
919#define MX6UL_PAD_CSI_DATA05__SAI1_TX_BCLK 0x01f8 0x0484 0x05e8 6 1 944#define MX6UL_PAD_CSI_DATA05__SAI1_TX_BCLK 0x01f8 0x0484 0x05e8 6 1
@@ -924,7 +949,7 @@
924#define MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI 0x01fc 0x0488 0x053c 3 1 949#define MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI 0x01fc 0x0488 0x053c 3 1
925#define MX6UL_PAD_CSI_DATA06__EIM_AD06 0x01fc 0x0488 0x0000 4 0 950#define MX6UL_PAD_CSI_DATA06__EIM_AD06 0x01fc 0x0488 0x0000 4 0
926#define MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0x01fc 0x0488 0x0000 5 0 951#define MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0x01fc 0x0488 0x0000 5 0
927#define MX6UL_PAD_CSI_DATA06__SAI1_RX_DATA 0x01fc 0x0488 0x0000 6 0 952#define MX6UL_PAD_CSI_DATA06__SAI1_RX_DATA 0x01fc 0x0488 0x05e4 6 1
928#define MX6UL_PAD_CSI_DATA06__USDHC1_RESET_B 0x01fc 0x0488 0x0000 8 0 953#define MX6UL_PAD_CSI_DATA06__USDHC1_RESET_B 0x01fc 0x0488 0x0000 8 0
929#define MX6UL_PAD_CSI_DATA07__CSI_DATA09 0x0200 0x048c 0x04e8 0 1 954#define MX6UL_PAD_CSI_DATA07__CSI_DATA09 0x0200 0x048c 0x04e8 0 1
930#define MX6UL_PAD_CSI_DATA07__USDHC2_DATA7 0x0200 0x048c 0x0698 1 2 955#define MX6UL_PAD_CSI_DATA07__USDHC2_DATA7 0x0200 0x048c 0x0698 1 2
diff --git a/arch/arm/boot/dts/imx6ul-tx6ul.dtsi b/arch/arm/boot/dts/imx6ul-tx6ul.dtsi
index 65111f9843f4..f678d18ad44a 100644
--- a/arch/arm/boot/dts/imx6ul-tx6ul.dtsi
+++ b/arch/arm/boot/dts/imx6ul-tx6ul.dtsi
@@ -70,8 +70,8 @@
70 stdout-path = &uart1; 70 stdout-path = &uart1;
71 }; 71 };
72 72
73 memory { 73 memory@80000000 {
74 reg = <0 0>; /* will be filled by U-Boot */ 74 reg = <0x80000000 0>; /* will be filled by U-Boot */
75 }; 75 };
76 76
77 clocks { 77 clocks {
diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi
index 5d6c3ba36cd1..1241972b16ba 100644
--- a/arch/arm/boot/dts/imx6ul.dtsi
+++ b/arch/arm/boot/dts/imx6ul.dtsi
@@ -22,7 +22,7 @@
22 * Also for U-Boot there must be a pre-existing /memory node. 22 * Also for U-Boot there must be a pre-existing /memory node.
23 */ 23 */
24 chosen {}; 24 chosen {};
25 memory { device_type = "memory"; reg = <0 0>; }; 25 memory { device_type = "memory"; };
26 26
27 aliases { 27 aliases {
28 ethernet0 = &fec1; 28 ethernet0 = &fec1;
@@ -86,15 +86,10 @@
86 <&clks IMX6UL_CA7_SECONDARY_SEL>, 86 <&clks IMX6UL_CA7_SECONDARY_SEL>,
87 <&clks IMX6UL_CLK_STEP>, 87 <&clks IMX6UL_CLK_STEP>,
88 <&clks IMX6UL_CLK_PLL1_SW>, 88 <&clks IMX6UL_CLK_PLL1_SW>,
89 <&clks IMX6UL_CLK_PLL1_SYS>, 89 <&clks IMX6UL_CLK_PLL1_SYS>;
90 <&clks IMX6UL_PLL1_BYPASS>,
91 <&clks IMX6UL_CLK_PLL1>,
92 <&clks IMX6UL_PLL1_BYPASS_SRC>,
93 <&clks IMX6UL_CLK_OSC>;
94 clock-names = "arm", "pll2_bus", "pll2_pfd2_396m", 90 clock-names = "arm", "pll2_bus", "pll2_pfd2_396m",
95 "secondary_sel", "step", "pll1_sw", 91 "secondary_sel", "step", "pll1_sw",
96 "pll1_sys", "pll1_bypass", "pll1", 92 "pll1_sys";
97 "pll1_bypass_src", "osc";
98 arm-supply = <&reg_arm>; 93 arm-supply = <&reg_arm>;
99 soc-supply = <&reg_soc>; 94 soc-supply = <&reg_soc>;
100 }; 95 };
@@ -102,14 +97,26 @@
102 97
103 intc: interrupt-controller@a01000 { 98 intc: interrupt-controller@a01000 {
104 compatible = "arm,gic-400", "arm,cortex-a7-gic"; 99 compatible = "arm,gic-400", "arm,cortex-a7-gic";
100 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
105 #interrupt-cells = <3>; 101 #interrupt-cells = <3>;
106 interrupt-controller; 102 interrupt-controller;
103 interrupt-parent = <&intc>;
107 reg = <0x00a01000 0x1000>, 104 reg = <0x00a01000 0x1000>,
108 <0x00a02000 0x2000>, 105 <0x00a02000 0x2000>,
109 <0x00a04000 0x2000>, 106 <0x00a04000 0x2000>,
110 <0x00a06000 0x2000>; 107 <0x00a06000 0x2000>;
111 }; 108 };
112 109
110 timer {
111 compatible = "arm,armv7-timer";
112 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
113 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
114 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
115 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
116 interrupt-parent = <&intc>;
117 status = "disabled";
118 };
119
113 ckil: clock-cli { 120 ckil: clock-cli {
114 compatible = "fixed-clock"; 121 compatible = "fixed-clock";
115 #clock-cells = <0>; 122 #clock-cells = <0>;
@@ -924,6 +931,14 @@
924 status = "disabled"; 931 status = "disabled";
925 }; 932 };
926 933
934 wdog3: wdog@21e4000 {
935 compatible = "fsl,imx6ul-wdt", "fsl,imx21-wdt";
936 reg = <0x021e4000 0x4000>;
937 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
938 clocks = <&clks IMX6UL_CLK_WDOG3>;
939 status = "disabled";
940 };
941
927 uart2: serial@21e8000 { 942 uart2: serial@21e8000 {
928 compatible = "fsl,imx6ul-uart", 943 compatible = "fsl,imx6ul-uart",
929 "fsl,imx6q-uart"; 944 "fsl,imx6q-uart";
diff --git a/arch/arm/boot/dts/imx6ull-14x14-evk.dts b/arch/arm/boot/dts/imx6ull-14x14-evk.dts
index 4741871434dd..30ef60344af3 100644
--- a/arch/arm/boot/dts/imx6ull-14x14-evk.dts
+++ b/arch/arm/boot/dts/imx6ull-14x14-evk.dts
@@ -39,7 +39,10 @@
39 * OTHER DEALINGS IN THE SOFTWARE. 39 * OTHER DEALINGS IN THE SOFTWARE.
40 */ 40 */
41 41
42#include "imx6ul-14x14-evk.dts" 42/dts-v1/;
43
44#include "imx6ull.dtsi"
45#include "imx6ul-14x14-evk.dtsi"
43 46
44/ { 47/ {
45 model = "Freescale i.MX6 UlltraLite 14x14 EVK Board"; 48 model = "Freescale i.MX6 UlltraLite 14x14 EVK Board";
diff --git a/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dts b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dts
new file mode 100644
index 000000000000..08669a18349e
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dts
@@ -0,0 +1,14 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2018 Toradex AG
4 */
5
6/dts-v1/;
7
8#include "imx6ull-colibri-nonwifi.dtsi"
9#include "imx6ull-colibri-eval-v3.dtsi"
10
11/ {
12 model = "Toradex Colibri iMX6ULL 256MB on Colibri Evaluation Board V3";
13 compatible = "toradex,colibri-imx6ull-eval", "fsl,imx6ull";
14};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
new file mode 100644
index 000000000000..006690ea98c0
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-colibri-eval-v3.dtsi
@@ -0,0 +1,157 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2017 Toradex AG
4 */
5
6/ {
7 chosen {
8 stdout-path = "serial0:115200n8";
9 };
10
11 /* fixed crystal dedicated to mcp2515 */
12 clk16m: clk16m {
13 compatible = "fixed-clock";
14 #clock-cells = <0>;
15 clock-frequency = <16000000>;
16 };
17
18 panel: panel {
19 compatible = "edt,et057090dhu";
20 backlight = <&bl>;
21 power-supply = <&reg_3v3>;
22
23 port {
24 panel_in: endpoint {
25 remote-endpoint = <&lcdif_out>;
26 };
27 };
28 };
29
30 reg_3v3: regulator-3v3 {
31 compatible = "regulator-fixed";
32 regulator-name = "3.3V";
33 regulator-min-microvolt = <3300000>;
34 regulator-max-microvolt = <3300000>;
35 };
36
37 reg_5v0: regulator-5v0 {
38 compatible = "regulator-fixed";
39 regulator-name = "5V";
40 regulator-min-microvolt = <5000000>;
41 regulator-max-microvolt = <5000000>;
42 };
43
44 reg_usbh_vbus: regulator-usbh-vbus {
45 compatible = "regulator-fixed";
46 pinctrl-names = "default";
47 pinctrl-0 = <&pinctrl_usbh_reg>;
48 regulator-name = "VCC_USB[1-4]";
49 regulator-min-microvolt = <5000000>;
50 regulator-max-microvolt = <5000000>;
51 gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
52 vin-supply = <&reg_5v0>;
53 };
54};
55
56&adc1 {
57 status = "okay";
58};
59
60&bl {
61 brightness-levels = <0 4 8 16 32 64 128 255>;
62 default-brightness-level = <6>;
63 power-supply = <&reg_3v3>;
64 pwms = <&pwm4 0 5000000 1>;
65 status = "okay";
66};
67
68&ecspi1 {
69 status = "okay";
70
71 mcp2515: can@0 {
72 compatible = "microchip,mcp2515";
73 pinctrl-names = "default";
74 pinctrl-0 = <&pinctrl_can_int>;
75 reg = <0>;
76 clocks = <&clk16m>;
77 interrupt-parent = <&gpio2>;
78 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
79 spi-max-frequency = <10000000>;
80 vdd-supply = <&reg_3v3>;
81 xceiver-supply = <&reg_5v0>;
82 status = "okay";
83 };
84};
85
86&i2c1 {
87 status = "okay";
88
89 /* M41T0M6 real time clock on carrier board */
90 m41t0m6: rtc@68 {
91 compatible = "st,m41t0";
92 reg = <0x68>;
93 };
94};
95
96&lcdif {
97 status = "okay";
98
99 port {
100 lcdif_out: endpoint {
101 remote-endpoint = <&panel_in>;
102 };
103 };
104};
105
106/* PWM <A> */
107&pwm4 {
108 status = "okay";
109};
110
111/* PWM <B> */
112&pwm5 {
113 status = "okay";
114};
115
116/* PWM <C> */
117&pwm6 {
118 status = "okay";
119};
120
121/* PWM <D> */
122&pwm7 {
123 status = "okay";
124};
125
126&uart1 {
127 status = "okay";
128};
129
130&uart2 {
131 status = "okay";
132};
133
134&uart5 {
135 status = "okay";
136};
137
138&usbotg1 {
139 status = "okay";
140};
141
142&usbotg2 {
143 vbus-supply = <&reg_usbh_vbus>;
144 status = "okay";
145};
146
147&usdhc1 {
148 pinctrl-names = "default";
149 pinctrl-0 = <&pinctrl_usdhc1 &pinctrl_snvs_usdhc1_cd>;
150 no-1-8-v;
151 cd-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
152 disable-wp;
153 wakeup-source;
154 keep-power-in-suspend;
155 vmmc-supply = <&reg_3v3>;
156 status = "okay";
157};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi b/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
new file mode 100644
index 000000000000..10ab4697950f
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-colibri-nonwifi.dtsi
@@ -0,0 +1,23 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2018 Toradex AG
4 */
5
6#include "imx6ull-colibri.dtsi"
7
8/ {
9 memory@80000000 {
10 reg = <0x80000000 0x10000000>;
11 };
12};
13
14&iomuxc {
15 pinctrl-names = "default";
16 pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
17 &pinctrl_gpio4 &pinctrl_gpio5 &pinctrl_gpio6>;
18};
19
20&iomuxc_snvs {
21 pinctrl-names = "default";
22 pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio2 &pinctrl_snvs_gpio3>;
23};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dts b/arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dts
new file mode 100644
index 000000000000..df72ce1ae2cb
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-colibri-wifi-eval-v3.dts
@@ -0,0 +1,14 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2018 Toradex AG
4 */
5
6/dts-v1/;
7
8#include "imx6ull-colibri-wifi.dtsi"
9#include "imx6ull-colibri-eval-v3.dtsi"
10
11/ {
12 model = "Toradex Colibri iMX6ULL 512MB on Colibri Evaluation Board V3";
13 compatible = "toradex,colibri-imx6ull-wifi-eval", "fsl,imx6ull";
14};
diff --git a/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi b/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
new file mode 100644
index 000000000000..3dffbcd50bf6
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-colibri-wifi.dtsi
@@ -0,0 +1,65 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2018 Toradex AG
4 */
5
6#include "imx6ull-colibri.dtsi"
7
8/ {
9 memory@80000000 {
10 reg = <0x80000000 0x20000000>;
11 };
12
13 wifi_pwrseq: sdio-pwrseq {
14 compatible = "mmc-pwrseq-simple";
15 pinctrl-names = "default";
16 pinctrl-0 = <&pinctrl_snvs_wifi_pdn>;
17 reset-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
18 };
19};
20
21&cpu0 {
22 clock-frequency = <792000000>;
23 operating-points = <
24 /* kHz uV */
25 792000 1225000
26 528000 1175000
27 396000 1025000
28 198000 950000
29 >;
30 fsl,soc-operating-points = <
31 /* KHz uV */
32 792000 1175000
33 528000 1175000
34 396000 1175000
35 198000 1175000
36 >;
37};
38
39&iomuxc {
40 pinctrl-names = "default";
41 pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3
42 &pinctrl_gpio4 &pinctrl_gpio5>;
43
44};
45
46&iomuxc_snvs {
47 pinctrl-names = "default";
48 pinctrl-0 = <&pinctrl_snvs_gpio1 &pinctrl_snvs_gpio2>;
49};
50
51&usdhc2 {
52 pinctrl-names = "default";
53 pinctrl-0 = <&pinctrl_usdhc2>;
54 assigned-clocks = <&clks IMX6UL_CLK_USDHC2_SEL>, <&clks IMX6UL_CLK_USDHC2>;
55 assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
56 assigned-clock-rates = <0>, <198000000>;
57 cap-power-off-card;
58 keep-power-in-suspend;
59 mmc-pwrseq = <&wifi_pwrseq>;
60 no-1-8-v;
61 non-removable;
62 vmmc-supply = <&reg_module_3v3>;
63 wakeup-source;
64 status = "okay";
65};
diff --git a/arch/arm/boot/dts/imx6ull-colibri.dtsi b/arch/arm/boot/dts/imx6ull-colibri.dtsi
new file mode 100644
index 000000000000..6c63a7384611
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-colibri.dtsi
@@ -0,0 +1,553 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2018 Toradex AG
4 */
5
6#include "imx6ull.dtsi"
7
8/ {
9 aliases {
10 ethernet0 = &fec2;
11 ethernet1 = &fec1;
12 };
13
14 bl: backlight {
15 compatible = "pwm-backlight";
16 pinctrl-names = "default";
17 pinctrl-0 = <&pinctrl_gpio_bl_on>;
18 enable-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
19 status = "disabled";
20 };
21
22 reg_module_3v3: regulator-module-3v3 {
23 compatible = "regulator-fixed";
24 regulator-always-on;
25 regulator-name = "+V3.3";
26 regulator-min-microvolt = <3300000>;
27 regulator-max-microvolt = <3300000>;
28 };
29
30 reg_module_3v3_avdd: regulator-module-3v3-avdd {
31 compatible = "regulator-fixed";
32 regulator-always-on;
33 regulator-name = "+V3.3_AVDD_AUDIO";
34 regulator-min-microvolt = <3300000>;
35 regulator-max-microvolt = <3300000>;
36 };
37
38 reg_sd1_vmmc: regulator-sd1-vmmc {
39 compatible = "regulator-gpio";
40 gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
41 pinctrl-names = "default";
42 pinctrl-0 = <&pinctrl_snvs_reg_sd>;
43 regulator-always-on;
44 regulator-name = "+V3.3_1.8_SD";
45 regulator-min-microvolt = <1800000>;
46 regulator-max-microvolt = <3300000>;
47 states = <1800000 0x1 3300000 0x0>;
48 vin-supply = <&reg_module_3v3>;
49 };
50};
51
52&adc1 {
53 num-channels = <10>;
54 vref-supply = <&reg_module_3v3_avdd>;
55};
56
57/* Colibri SPI */
58&ecspi1 {
59 cs-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>;
60 pinctrl-names = "default";
61 pinctrl-0 = <&pinctrl_ecspi1 &pinctrl_ecspi1_cs>;
62};
63
64&fec2 {
65 pinctrl-names = "default";
66 pinctrl-0 = <&pinctrl_enet2>;
67 phy-mode = "rmii";
68 phy-handle = <&ethphy1>;
69 status = "okay";
70
71 mdio {
72 #address-cells = <1>;
73 #size-cells = <0>;
74
75 ethphy1: ethernet-phy@2 {
76 compatible = "ethernet-phy-ieee802.3-c22";
77 max-speed = <100>;
78 reg = <2>;
79 };
80 };
81};
82
83&gpmi {
84 pinctrl-names = "default";
85 pinctrl-0 = <&pinctrl_gpmi_nand>;
86 nand-on-flash-bbt;
87 nand-ecc-mode = "hw";
88 nand-ecc-strength = <8>;
89 nand-ecc-step-size = <512>;
90 status = "okay";
91};
92
93&i2c1 {
94 pinctrl-names = "default", "gpio";
95 pinctrl-0 = <&pinctrl_i2c1>;
96 pinctrl-1 = <&pinctrl_i2c1_gpio>;
97 sda-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
98 scl-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
99};
100
101&i2c2 {
102 pinctrl-names = "default", "gpio";
103 pinctrl-0 = <&pinctrl_i2c2>;
104 pinctrl-1 = <&pinctrl_i2c2_gpio>;
105 sda-gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
106 scl-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
107 status = "okay";
108
109 ad7879@2c {
110 compatible = "adi,ad7879-1";
111 pinctrl-names = "default";
112 pinctrl-0 = <&pinctrl_snvs_ad7879_int>;
113 reg = <0x2c>;
114 interrupt-parent = <&gpio5>;
115 interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
116 touchscreen-max-pressure = <4096>;
117 adi,resistance-plate-x = <120>;
118 adi,first-conversion-delay = /bits/ 8 <3>;
119 adi,acquisition-time = /bits/ 8 <1>;
120 adi,median-filter-size = /bits/ 8 <2>;
121 adi,averaging = /bits/ 8 <1>;
122 adi,conversion-interval = /bits/ 8 <255>;
123 };
124};
125
126&lcdif {
127 pinctrl-names = "default";
128 pinctrl-0 = <&pinctrl_lcdif_dat
129 &pinctrl_lcdif_ctrl>;
130};
131
132&pwm4 {
133 pinctrl-names = "default";
134 pinctrl-0 = <&pinctrl_pwm4>;
135 #pwm-cells = <3>;
136};
137
138&pwm5 {
139 pinctrl-names = "default";
140 pinctrl-0 = <&pinctrl_pwm5>;
141 #pwm-cells = <3>;
142};
143
144&pwm6 {
145 pinctrl-names = "default";
146 pinctrl-0 = <&pinctrl_pwm6>;
147 #pwm-cells = <3>;
148};
149
150&pwm7 {
151 pinctrl-names = "default";
152 pinctrl-0 = <&pinctrl_pwm7>;
153 #pwm-cells = <3>;
154};
155
156&sdma {
157 status = "okay";
158};
159
160&snvs_pwrkey {
161 status = "disabled";
162};
163
164&uart1 {
165 pinctrl-names = "default";
166 pinctrl-0 = <&pinctrl_uart1 &pinctrl_uart1_ctrl1>;
167 uart-has-rtscts;
168 fsl,dte-mode;
169};
170
171&uart2 {
172 pinctrl-names = "default";
173 pinctrl-0 = <&pinctrl_uart2>;
174 uart-has-rtscts;
175 fsl,dte-mode;
176};
177
178&uart5 {
179 pinctrl-names = "default";
180 pinctrl-0 = <&pinctrl_uart5>;
181 fsl,dte-mode;
182};
183
184&usbotg1 {
185 dr_mode = "otg";
186 srp-disable;
187 hnp-disable;
188 adp-disable;
189};
190
191&usbotg2 {
192 dr_mode = "host";
193};
194
195&usdhc1 {
196 assigned-clocks = <&clks IMX6UL_CLK_USDHC1_SEL>, <&clks IMX6UL_CLK_USDHC1>;
197 assigned-clock-parents = <&clks IMX6UL_CLK_PLL2_PFD2>;
198 assigned-clock-rates = <0>, <198000000>;
199};
200
201&iomuxc {
202 pinctrl_can_int: canint-grp {
203 fsl,pins = <
204 MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04 0X14 /* SODIMM 73 */
205 >;
206 };
207
208 pinctrl_enet2: enet2-grp {
209 fsl,pins = <
210 MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0
211 MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0
212 MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
213 MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
214 MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0
215 MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0
216 MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031
217 MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
218 MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
219 MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0
220 >;
221 };
222
223 pinctrl_ecspi1_cs: ecspi1-cs-grp {
224 fsl,pins = <
225 MX6UL_PAD_LCD_DATA21__GPIO3_IO26 0x000a0
226 >;
227 };
228
229 pinctrl_ecspi1: ecspi1-grp {
230 fsl,pins = <
231 MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK 0x000a0
232 MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI 0x000a0
233 MX6UL_PAD_LCD_DATA23__ECSPI1_MISO 0x100a0
234 >;
235 };
236
237 pinctrl_flexcan2: flexcan2-grp {
238 fsl,pins = <
239 MX6UL_PAD_ENET1_TX_DATA0__FLEXCAN2_RX 0x1b020
240 MX6UL_PAD_ENET1_RX_EN__FLEXCAN2_TX 0x1b020
241 >;
242 };
243
244 pinctrl_gpio_bl_on: gpio-bl-on-grp {
245 fsl,pins = <
246 MX6UL_PAD_JTAG_TMS__GPIO1_IO11 0x000a0
247 >;
248 };
249
250 pinctrl_gpio1: gpio1-grp {
251 fsl,pins = <
252 MX6UL_PAD_ENET1_RX_DATA0__GPIO2_IO00 0x74 /* SODIMM 55 */
253 MX6UL_PAD_ENET1_RX_DATA1__GPIO2_IO01 0x74 /* SODIMM 63 */
254 MX6UL_PAD_UART3_RX_DATA__GPIO1_IO25 0X14 /* SODIMM 77 */
255 MX6UL_PAD_JTAG_TCK__GPIO1_IO14 0x14 /* SODIMM 99 */
256 MX6UL_PAD_NAND_CE1_B__GPIO4_IO14 0x14 /* SODIMM 133 */
257 MX6UL_PAD_UART3_TX_DATA__GPIO1_IO24 0x14 /* SODIMM 135 */
258 MX6UL_PAD_UART3_CTS_B__GPIO1_IO26 0x14 /* SODIMM 100 */
259 MX6UL_PAD_JTAG_TRST_B__GPIO1_IO15 0x14 /* SODIMM 102 */
260 MX6UL_PAD_ENET1_RX_ER__GPIO2_IO07 0x14 /* SODIMM 104 */
261 MX6UL_PAD_UART3_RTS_B__GPIO1_IO27 0x14 /* SODIMM 186 */
262 >;
263 };
264
265 pinctrl_gpio2: gpio2-grp { /* Camera */
266 fsl,pins = <
267 MX6UL_PAD_CSI_DATA04__GPIO4_IO25 0x74 /* SODIMM 69 */
268 MX6UL_PAD_CSI_MCLK__GPIO4_IO17 0x14 /* SODIMM 75 */
269 MX6UL_PAD_CSI_DATA06__GPIO4_IO27 0x14 /* SODIMM 85 */
270 MX6UL_PAD_CSI_PIXCLK__GPIO4_IO18 0x14 /* SODIMM 96 */
271 MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0x14 /* SODIMM 98 */
272 >;
273 };
274
275 pinctrl_gpio3: gpio3-grp { /* CAN2 */
276 fsl,pins = <
277 MX6UL_PAD_ENET1_RX_EN__GPIO2_IO02 0x14 /* SODIMM 178 */
278 MX6UL_PAD_ENET1_TX_DATA0__GPIO2_IO03 0x14 /* SODIMM 188 */
279 >;
280 };
281
282 pinctrl_gpio4: gpio4-grp {
283 fsl,pins = <
284 MX6UL_PAD_CSI_DATA07__GPIO4_IO28 0x74 /* SODIMM 65 */
285 >;
286 };
287
288 pinctrl_gpio5: gpio5-grp { /* ATMEL MXT TOUCH */
289 fsl,pins = <
290 MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0x74 /* SODIMM 106 */
291 >;
292 };
293
294 pinctrl_gpio6: gpio6-grp { /* Wifi pins */
295 fsl,pins = <
296 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x14 /* SODIMM 89 */
297 MX6UL_PAD_CSI_DATA02__GPIO4_IO23 0x14 /* SODIMM 79 */
298 MX6UL_PAD_CSI_VSYNC__GPIO4_IO19 0x14 /* SODIMM 81 */
299 MX6UL_PAD_CSI_DATA03__GPIO4_IO24 0x14 /* SODIMM 97 */
300 MX6UL_PAD_CSI_DATA00__GPIO4_IO21 0x14 /* SODIMM 101 */
301 MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x14 /* SODIMM 103 */
302 MX6UL_PAD_CSI_HSYNC__GPIO4_IO20 0x14 /* SODIMM 94 */
303 >;
304 };
305
306 pinctrl_gpmi_nand: gpmi-nand-grp {
307 fsl,pins = <
308 MX6UL_PAD_NAND_DATA00__RAWNAND_DATA00 0x100a9
309 MX6UL_PAD_NAND_DATA01__RAWNAND_DATA01 0x100a9
310 MX6UL_PAD_NAND_DATA02__RAWNAND_DATA02 0x100a9
311 MX6UL_PAD_NAND_DATA03__RAWNAND_DATA03 0x100a9
312 MX6UL_PAD_NAND_DATA04__RAWNAND_DATA04 0x100a9
313 MX6UL_PAD_NAND_DATA05__RAWNAND_DATA05 0x100a9
314 MX6UL_PAD_NAND_DATA06__RAWNAND_DATA06 0x100a9
315 MX6UL_PAD_NAND_DATA07__RAWNAND_DATA07 0x100a9
316 MX6UL_PAD_NAND_CLE__RAWNAND_CLE 0x100a9
317 MX6UL_PAD_NAND_ALE__RAWNAND_ALE 0x100a9
318 MX6UL_PAD_NAND_RE_B__RAWNAND_RE_B 0x100a9
319 MX6UL_PAD_NAND_WE_B__RAWNAND_WE_B 0x100a9
320 MX6UL_PAD_NAND_CE0_B__RAWNAND_CE0_B 0x100a9
321 MX6UL_PAD_NAND_READY_B__RAWNAND_READY_B 0x100a9
322 >;
323 };
324
325 pinctrl_i2c1: i2c1-grp {
326 fsl,pins = <
327 MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
328 MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
329 >;
330 };
331
332 pinctrl_i2c1_gpio: i2c1-gpio-grp {
333 fsl,pins = <
334 MX6UL_PAD_UART4_TX_DATA__GPIO1_IO28 0x4001b8b0
335 MX6UL_PAD_UART4_RX_DATA__GPIO1_IO29 0x4001b8b0
336 >;
337 };
338
339 pinctrl_i2c2: i2c2-grp {
340 fsl,pins = <
341 MX6UL_PAD_UART5_TX_DATA__I2C2_SCL 0x4001b8b0
342 MX6UL_PAD_UART5_RX_DATA__I2C2_SDA 0x4001b8b0
343 >;
344 };
345
346 pinctrl_i2c2_gpio: i2c2-gpio-grp {
347 fsl,pins = <
348 MX6UL_PAD_UART5_TX_DATA__GPIO1_IO30 0x4001b8b0
349 MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31 0x4001b8b0
350 >;
351 };
352
353 pinctrl_lcdif_dat: lcdif-dat-grp {
354 fsl,pins = <
355 MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x00079
356 MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x00079
357 MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x00079
358 MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x00079
359 MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x00079
360 MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x00079
361 MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x00079
362 MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x00079
363 MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x00079
364 MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x00079
365 MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x00079
366 MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x00079
367 MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x00079
368 MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x00079
369 MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x00079
370 MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x00079
371 MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x00079
372 MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x00079
373 >;
374 };
375
376 pinctrl_lcdif_ctrl: lcdif-ctrl-grp {
377 fsl,pins = <
378 MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x00079
379 MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x00079
380 MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x00079
381 MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x00079
382 >;
383 };
384
385 pinctrl_pwm4: pwm4-grp {
386 fsl,pins = <
387 MX6UL_PAD_NAND_WP_B__PWM4_OUT 0x00079
388 >;
389 };
390
391 pinctrl_pwm5: pwm5-grp {
392 fsl,pins = <
393 MX6UL_PAD_NAND_DQS__PWM5_OUT 0x00079
394 >;
395 };
396
397 pinctrl_pwm6: pwm6-grp {
398 fsl,pins = <
399 MX6UL_PAD_ENET1_TX_EN__PWM6_OUT 0x00079
400 >;
401 };
402
403 pinctrl_pwm7: pwm7-grp {
404 fsl,pins = <
405 MX6UL_PAD_ENET1_TX_CLK__PWM7_OUT 0x00079
406 >;
407 };
408
409 pinctrl_uart1: uart1-grp {
410 fsl,pins = <
411 MX6UL_PAD_UART1_TX_DATA__UART1_DTE_RX 0x1b0b1
412 MX6UL_PAD_UART1_RX_DATA__UART1_DTE_TX 0x1b0b1
413 MX6UL_PAD_UART1_RTS_B__UART1_DTE_CTS 0x1b0b1
414 MX6UL_PAD_UART1_CTS_B__UART1_DTE_RTS 0x1b0b1
415 >;
416 };
417
418 pinctrl_uart1_ctrl1: uart1-ctrl1-grp { /* Additional DTR, DCD */
419 fsl,pins = <
420 MX6UL_PAD_JTAG_TDI__GPIO1_IO13 0x1b0b1 /* DCD */
421 MX6UL_PAD_LCD_DATA18__GPIO3_IO23 0x1b0b1 /* DSR */
422 MX6UL_PAD_JTAG_TDO__GPIO1_IO12 0x1b0b1 /* DTR */
423 MX6UL_PAD_LCD_DATA19__GPIO3_IO24 0x1b0b1 /* RI */
424 >;
425 };
426
427 pinctrl_uart2: uart2-grp {
428 fsl,pins = <
429 MX6UL_PAD_UART2_TX_DATA__UART2_DTE_RX 0x1b0b1
430 MX6UL_PAD_UART2_RX_DATA__UART2_DTE_TX 0x1b0b1
431 MX6UL_PAD_UART2_CTS_B__UART2_DTE_RTS 0x1b0b1
432 MX6UL_PAD_UART2_RTS_B__UART2_DTE_CTS 0x1b0b1
433 >;
434 };
435 pinctrl_uart5: uart5-grp {
436 fsl,pins = <
437 MX6UL_PAD_GPIO1_IO04__UART5_DTE_RX 0x1b0b1
438 MX6UL_PAD_GPIO1_IO05__UART5_DTE_TX 0x1b0b1
439 >;
440 };
441
442 pinctrl_usbh_reg: gpio-usbh-reg {
443 fsl,pins = <
444 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x1b0b1 /* SODIMM 129 USBH PEN */
445 >;
446 };
447
448 pinctrl_usdhc1: usdhc1-grp {
449 fsl,pins = <
450 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x17059
451 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x10059
452 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
453 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
454 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
455 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
456 >;
457 };
458
459 pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
460 fsl,pins = <
461 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x170b9
462 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x100b9
463 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9
464 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
465 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
466 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
467 >;
468 };
469
470 pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
471 fsl,pins = <
472 MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x170f9
473 MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x100f9
474 MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x170b9
475 MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x170b9
476 MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x170b9
477 MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x170b9
478 >;
479 };
480
481 pinctrl_usdhc2: usdhc2-grp {
482 fsl,pins = <
483 MX6UL_PAD_CSI_DATA00__USDHC2_DATA0 0x17059
484 MX6UL_PAD_CSI_DATA01__USDHC2_DATA1 0x17059
485 MX6UL_PAD_CSI_DATA02__USDHC2_DATA2 0x17059
486 MX6UL_PAD_CSI_DATA03__USDHC2_DATA3 0x17059
487 MX6UL_PAD_CSI_HSYNC__USDHC2_CMD 0x17059
488 MX6UL_PAD_CSI_VSYNC__USDHC2_CLK 0x17059
489
490 MX6UL_PAD_GPIO1_IO03__OSC32K_32K_OUT 0x14
491 >;
492 };
493};
494
495&iomuxc_snvs {
496 pinctrl_snvs_gpio1: snvs-gpio1-grp {
497 fsl,pins = <
498 MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x14 /* SODIMM 93 */
499 MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x14 /* SODIMM 95 */
500 MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10 0x74 /* SODIMM 105 */
501 MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x14 /* SODIMM 131 USBH OC */
502 MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x74 /* SODIMM 138 */
503 >;
504 };
505
506 pinctrl_snvs_gpio2: snvs-gpio2-grp { /* ATMEL MXT TOUCH */
507 fsl,pins = <
508 MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x74 /* SODIMM 107 */
509 >;
510 };
511
512 pinctrl_snvs_gpio3: snvs-gpio3-grp { /* Wifi pins */
513 fsl,pins = <
514 MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11 0x14 /* SODIMM 127 */
515 >;
516 };
517
518 pinctrl_snvs_ad7879_int: snvs-ad7879-int-grp { /* TOUCH Interrupt */
519 fsl,pins = <
520 MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x1b0b0
521 >;
522 };
523
524 pinctrl_snvs_reg_sd: snvs-reg-sd-grp {
525 fsl,pins = <
526 MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x4001b8b0
527 >;
528 };
529
530 pinctrl_snvs_usbc_det: snvs-usbc-det-grp {
531 fsl,pins = <
532 MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1b0b0
533 >;
534 };
535
536 pinctrl_snvs_gpiokeys: snvs-gpiokeys-grp {
537 fsl,pins = <
538 MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x130b0
539 >;
540 };
541
542 pinctrl_snvs_usdhc1_cd: snvs-usdhc1-cd-grp {
543 fsl,pins = <
544 MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x1b0b0 /* CD */
545 >;
546 };
547
548 pinctrl_snvs_wifi_pdn: snvs-wifi-pdn-grp {
549 fsl,pins = <
550 MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11 0x14
551 >;
552 };
553};
diff --git a/arch/arm/boot/dts/imx6ull-pinfunc-snvs.h b/arch/arm/boot/dts/imx6ull-pinfunc-snvs.h
new file mode 100644
index 000000000000..f6fb6783c193
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ull-pinfunc-snvs.h
@@ -0,0 +1,26 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2016 Freescale Semiconductor, Inc.
4 * Copyright (C) 2017 NXP
5 */
6
7#ifndef __DTS_IMX6ULL_PINFUNC_SNVS_H
8#define __DTS_IMX6ULL_PINFUNC_SNVS_H
9/*
10 * The pin function ID is a tuple of
11 * <mux_reg conf_reg input_reg mux_mode input_val>
12 */
13#define MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10 0x0000 0x0044 0x0000 0x5 0x0
14#define MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11 0x0004 0x0048 0x0000 0x5 0x0
15#define MX6ULL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x0008 0x004C 0x0000 0x5 0x0
16#define MX6ULL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x000C 0x0050 0x0000 0x5 0x0
17#define MX6ULL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x0010 0x0054 0x0000 0x5 0x0
18#define MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x0014 0x0058 0x0000 0x5 0x0
19#define MX6ULL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x0018 0x005C 0x0000 0x5 0x0
20#define MX6ULL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x001C 0x0060 0x0000 0x5 0x0
21#define MX6ULL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x0020 0x0064 0x0000 0x5 0x0
22#define MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x0024 0x0068 0x0000 0x5 0x0
23#define MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x0028 0x006C 0x0000 0x5 0x0
24#define MX6ULL_PAD_SNVS_TAMPER9__GPIO5_IO09 0x002C 0x0070 0x0000 0x5 0x0
25
26#endif /* __DTS_IMX6ULL_PINFUNC_SNVS_H */
diff --git a/arch/arm/boot/dts/imx6ull.dtsi b/arch/arm/boot/dts/imx6ull.dtsi
index 0c182917b863..571ddd71cdba 100644
--- a/arch/arm/boot/dts/imx6ull.dtsi
+++ b/arch/arm/boot/dts/imx6ull.dtsi
@@ -41,3 +41,35 @@
41 41
42#include "imx6ul.dtsi" 42#include "imx6ul.dtsi"
43#include "imx6ull-pinfunc.h" 43#include "imx6ull-pinfunc.h"
44#include "imx6ull-pinfunc-snvs.h"
45
46/* Delete UART8 in AIPS-1 (i.MX6UL specific) */
47/delete-node/ &uart8;
48
49/ {
50 soc {
51 aips3: aips-bus@2200000 {
52 compatible = "fsl,aips-bus", "simple-bus";
53 #address-cells = <1>;
54 #size-cells = <1>;
55 reg = <0x02200000 0x100000>;
56 ranges;
57
58 iomuxc_snvs: iomuxc-snvs@2290000 {
59 compatible = "fsl,imx6ull-iomuxc-snvs";
60 reg = <0x02290000 0x4000>;
61 };
62
63 uart8: serial@2288000 {
64 compatible = "fsl,imx6ul-uart",
65 "fsl,imx6q-uart";
66 reg = <0x02288000 0x4000>;
67 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
68 clocks = <&clks IMX6UL_CLK_UART8_IPG>,
69 <&clks IMX6UL_CLK_UART8_SERIAL>;
70 clock-names = "ipg", "per";
71 status = "disabled";
72 };
73 };
74 };
75};
diff --git a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts
index ae45af1ad062..7f645683f53b 100644
--- a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts
+++ b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts
@@ -18,7 +18,7 @@
18 model = "CompuLab CL-SOM-iMX7"; 18 model = "CompuLab CL-SOM-iMX7";
19 compatible = "compulab,cl-som-imx7", "fsl,imx7d"; 19 compatible = "compulab,cl-som-imx7", "fsl,imx7d";
20 20
21 memory { 21 memory@80000000 {
22 reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */ 22 reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */
23 }; 23 };
24 24
@@ -213,37 +213,37 @@
213&iomuxc { 213&iomuxc {
214 pinctrl_enet1: enet1grp { 214 pinctrl_enet1: enet1grp {
215 fsl,pins = < 215 fsl,pins = <
216 MX7D_PAD_SD2_CD_B__ENET1_MDIO 0x3 216 MX7D_PAD_SD2_CD_B__ENET1_MDIO 0x30
217 MX7D_PAD_SD2_WP__ENET1_MDC 0x3 217 MX7D_PAD_SD2_WP__ENET1_MDC 0x30
218 MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x1 218 MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC 0x11
219 MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x1 219 MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0 0x11
220 MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x1 220 MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1 0x11
221 MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x1 221 MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2 0x11
222 MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x1 222 MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3 0x11
223 MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x1 223 MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL 0x11
224 MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x1 224 MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC 0x11
225 MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x1 225 MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0 0x11
226 MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x1 226 MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1 0x11
227 MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x1 227 MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2 0x11
228 MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x1 228 MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3 0x11
229 MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x1 229 MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL 0x11
230 >; 230 >;
231 }; 231 };
232 232
233 pinctrl_enet2: enet2grp { 233 pinctrl_enet2: enet2grp {
234 fsl,pins = < 234 fsl,pins = <
235 MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC 0x1 235 MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC 0x11
236 MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0 0x1 236 MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0 0x11
237 MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1 0x1 237 MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1 0x11
238 MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2 0x1 238 MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2 0x11
239 MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3 0x1 239 MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3 0x11
240 MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL 0x1 240 MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL 0x11
241 MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC 0x1 241 MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC 0x11
242 MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0 0x1 242 MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0 0x11
243 MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1 0x1 243 MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1 0x11
244 MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2 0x1 244 MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2 0x11
245 MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3 0x1 245 MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3 0x11
246 MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL 0x1 246 MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL 0x11
247 >; 247 >;
248 }; 248 };
249 249
diff --git a/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi b/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi
index 9b63b9c89e4b..04d24ee17b14 100644
--- a/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi
+++ b/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi
@@ -7,7 +7,7 @@
7#include "imx7-colibri.dtsi" 7#include "imx7-colibri.dtsi"
8 8
9/ { 9/ {
10 memory { 10 memory@80000000 {
11 reg = <0x80000000 0x40000000>; 11 reg = <0x80000000 0x40000000>;
12 }; 12 };
13}; 13};
diff --git a/arch/arm/boot/dts/imx7d-colibri.dtsi b/arch/arm/boot/dts/imx7d-colibri.dtsi
index 6f2bb70c1fbd..d9f8fb69511b 100644
--- a/arch/arm/boot/dts/imx7d-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7d-colibri.dtsi
@@ -44,7 +44,7 @@
44#include "imx7-colibri.dtsi" 44#include "imx7-colibri.dtsi"
45 45
46/ { 46/ {
47 memory { 47 memory@80000000 {
48 reg = <0x80000000 0x20000000>; 48 reg = <0x80000000 0x20000000>;
49 }; 49 };
50}; 50};
diff --git a/arch/arm/boot/dts/imx7d-nitrogen7.dts b/arch/arm/boot/dts/imx7d-nitrogen7.dts
index 2b05898bb3f6..52167298984d 100644
--- a/arch/arm/boot/dts/imx7d-nitrogen7.dts
+++ b/arch/arm/boot/dts/imx7d-nitrogen7.dts
@@ -53,7 +53,7 @@
53 t_lcd = &t_lcd; 53 t_lcd = &t_lcd;
54 }; 54 };
55 55
56 memory { 56 memory@80000000 {
57 reg = <0x80000000 0x40000000>; 57 reg = <0x80000000 0x40000000>;
58 }; 58 };
59 59
diff --git a/arch/arm/boot/dts/imx7d-pico.dtsi b/arch/arm/boot/dts/imx7d-pico.dtsi
index e307462a48ec..21973eb55671 100644
--- a/arch/arm/boot/dts/imx7d-pico.dtsi
+++ b/arch/arm/boot/dts/imx7d-pico.dtsi
@@ -48,7 +48,7 @@
48 model = "Technexion Pico i.MX7D Board"; 48 model = "Technexion Pico i.MX7D Board";
49 compatible = "technexion,imx7d-pico", "fsl,imx7d"; 49 compatible = "technexion,imx7d-pico", "fsl,imx7d";
50 50
51 memory { 51 memory@80000000 {
52 reg = <0x80000000 0x80000000>; 52 reg = <0x80000000 0x80000000>;
53 }; 53 };
54 54
diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts
index e7d2db839d70..5d6a08be397f 100644
--- a/arch/arm/boot/dts/imx7d-sdb.dts
+++ b/arch/arm/boot/dts/imx7d-sdb.dts
@@ -48,7 +48,7 @@
48 model = "Freescale i.MX7 SabreSD Board"; 48 model = "Freescale i.MX7 SabreSD Board";
49 compatible = "fsl,imx7d-sdb", "fsl,imx7d"; 49 compatible = "fsl,imx7d-sdb", "fsl,imx7d";
50 50
51 memory { 51 memory@80000000 {
52 reg = <0x80000000 0x80000000>; 52 reg = <0x80000000 0x80000000>;
53 }; 53 };
54 54
@@ -336,6 +336,11 @@
336 pinctrl-names = "default"; 336 pinctrl-names = "default";
337 pinctrl-0 = <&pinctrl_i2c2>; 337 pinctrl-0 = <&pinctrl_i2c2>;
338 status = "okay"; 338 status = "okay";
339
340 mpl3115@60 {
341 compatible = "fsl,mpl3115";
342 reg = <0x60>;
343 };
339}; 344};
340 345
341&i2c3 { 346&i2c3 {
diff --git a/arch/arm/boot/dts/imx7s-colibri.dtsi b/arch/arm/boot/dts/imx7s-colibri.dtsi
index b81013455b21..fe8344cee864 100644
--- a/arch/arm/boot/dts/imx7s-colibri.dtsi
+++ b/arch/arm/boot/dts/imx7s-colibri.dtsi
@@ -44,7 +44,7 @@
44#include "imx7-colibri.dtsi" 44#include "imx7-colibri.dtsi"
45 45
46/ { 46/ {
47 memory { 47 memory@80000000 {
48 reg = <0x80000000 0x10000000>; 48 reg = <0x80000000 0x10000000>;
49 }; 49 };
50}; 50};
diff --git a/arch/arm/boot/dts/imx7s-warp.dts b/arch/arm/boot/dts/imx7s-warp.dts
index 9bdf121f7e43..8a30b148534d 100644
--- a/arch/arm/boot/dts/imx7s-warp.dts
+++ b/arch/arm/boot/dts/imx7s-warp.dts
@@ -50,7 +50,7 @@
50 model = "Warp i.MX7 Board"; 50 model = "Warp i.MX7 Board";
51 compatible = "warp,imx7s-warp", "fsl,imx7s"; 51 compatible = "warp,imx7s-warp", "fsl,imx7s";
52 52
53 memory { 53 memory@80000000 {
54 reg = <0x80000000 0x20000000>; 54 reg = <0x80000000 0x20000000>;
55 }; 55 };
56 56
@@ -271,6 +271,15 @@
271 status = "okay"; 271 status = "okay";
272}; 272};
273 273
274&uart6 {
275 pinctrl-names = "default";
276 pinctrl-0 = <&pinctrl_uart6>;
277 assigned-clocks = <&clks IMX7D_UART6_ROOT_SRC>;
278 assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
279 fsl,dte-mode;
280 status = "okay";
281};
282
274&usbotg1 { 283&usbotg1 {
275 dr_mode = "peripheral"; 284 dr_mode = "peripheral";
276 status = "okay"; 285 status = "okay";
@@ -379,6 +388,13 @@
379 >; 388 >;
380 }; 389 };
381 390
391 pinctrl_uart6: uart6grp {
392 fsl,pins = <
393 MX7D_PAD_ECSPI1_MOSI__UART6_DTE_RX 0x79
394 MX7D_PAD_ECSPI1_SCLK__UART6_DTE_TX 0x79
395 >;
396 };
397
382 pinctrl_usdhc1: usdhc1grp { 398 pinctrl_usdhc1: usdhc1grp {
383 fsl,pins = < 399 fsl,pins = <
384 MX7D_PAD_SD1_CMD__SD1_CMD 0x59 400 MX7D_PAD_SD1_CMD__SD1_CMD 0x59
diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi
index 9aa2bb998552..4d42335c0dee 100644
--- a/arch/arm/boot/dts/imx7s.dtsi
+++ b/arch/arm/boot/dts/imx7s.dtsi
@@ -58,7 +58,7 @@
58 * Also for U-Boot there must be a pre-existing /memory node. 58 * Also for U-Boot there must be a pre-existing /memory node.
59 */ 59 */
60 chosen {}; 60 chosen {};
61 memory { device_type = "memory"; reg = <0 0>; }; 61 memory { device_type = "memory"; };
62 62
63 aliases { 63 aliases {
64 gpio0 = &gpio1; 64 gpio0 = &gpio1;
@@ -130,6 +130,12 @@
130 #phy-cells = <0>; 130 #phy-cells = <0>;
131 }; 131 };
132 132
133 pmu {
134 compatible = "arm,cortex-a7-pmu";
135 interrupt-parent = <&gpc>;
136 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
137 interrupt-affinity = <&cpu0>;
138 };
133 139
134 replicator { 140 replicator {
135 /* 141 /*
@@ -499,6 +505,14 @@
499 status = "disabled"; 505 status = "disabled";
500 }; 506 };
501 507
508 kpp: kpp@30320000 {
509 compatible = "fsl,imx7d-kpp", "fsl,imx21-kpp";
510 reg = <0x30320000 0x10000>;
511 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
512 clocks = <&clks IMX7D_KPP_ROOT_CLK>;
513 status = "disabled";
514 };
515
502 iomuxc: iomuxc@30330000 { 516 iomuxc: iomuxc@30330000 {
503 compatible = "fsl,imx7d-iomuxc"; 517 compatible = "fsl,imx7d-iomuxc";
504 reg = <0x30330000 0x10000>; 518 reg = <0x30330000 0x10000>;
@@ -511,9 +525,29 @@
511 }; 525 };
512 526
513 ocotp: ocotp-ctrl@30350000 { 527 ocotp: ocotp-ctrl@30350000 {
528 #address-cells = <1>;
529 #size-cells = <1>;
514 compatible = "fsl,imx7d-ocotp", "syscon"; 530 compatible = "fsl,imx7d-ocotp", "syscon";
515 reg = <0x30350000 0x10000>; 531 reg = <0x30350000 0x10000>;
516 clocks = <&clks IMX7D_OCOTP_CLK>; 532 clocks = <&clks IMX7D_OCOTP_CLK>;
533
534 tempmon_calib: calib@3c {
535 reg = <0x3c 0x4>;
536 };
537
538 tempmon_temp_grade: temp-grade@10 {
539 reg = <0x10 0x4>;
540 };
541 };
542
543 tempmon: tempmon {
544 compatible = "fsl,imx7d-tempmon";
545 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
546 fsl,tempmon =<&anatop>;
547 nvmem-cells = <&tempmon_calib>,
548 <&tempmon_temp_grade>;
549 nvmem-cell-names = "calib", "temp_grade";
550 clocks = <&clks IMX7D_PLL_SYS_MAIN_CLK>;
517 }; 551 };
518 552
519 anatop: anatop@30360000 { 553 anatop: anatop@30360000 {
@@ -551,6 +585,8 @@
551 offset = <0x34>; 585 offset = <0x34>;
552 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>, 586 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
553 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 587 <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
588 clocks = <&clks IMX7D_SNVS_CLK>;
589 clock-names = "snvs-rtc";
554 }; 590 };
555 591
556 snvs_poweroff: snvs-poweroff { 592 snvs_poweroff: snvs-poweroff {
@@ -708,118 +744,156 @@
708 reg = <0x30800000 0x400000>; 744 reg = <0x30800000 0x400000>;
709 ranges; 745 ranges;
710 746
711 ecspi1: ecspi@30820000 { 747 spba-bus@30800000 {
748 compatible = "fsl,spba-bus", "simple-bus";
712 #address-cells = <1>; 749 #address-cells = <1>;
713 #size-cells = <0>; 750 #size-cells = <1>;
714 compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 751 reg = <0x30800000 0x100000>;
715 reg = <0x30820000 0x10000>; 752 ranges;
716 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
717 clocks = <&clks IMX7D_ECSPI1_ROOT_CLK>,
718 <&clks IMX7D_ECSPI1_ROOT_CLK>;
719 clock-names = "ipg", "per";
720 status = "disabled";
721 };
722 753
723 ecspi2: ecspi@30830000 { 754 ecspi1: ecspi@30820000 {
724 #address-cells = <1>; 755 #address-cells = <1>;
725 #size-cells = <0>; 756 #size-cells = <0>;
726 compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 757 compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi";
727 reg = <0x30830000 0x10000>; 758 reg = <0x30820000 0x10000>;
728 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 759 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
729 clocks = <&clks IMX7D_ECSPI2_ROOT_CLK>, 760 clocks = <&clks IMX7D_ECSPI1_ROOT_CLK>,
730 <&clks IMX7D_ECSPI2_ROOT_CLK>; 761 <&clks IMX7D_ECSPI1_ROOT_CLK>;
731 clock-names = "ipg", "per"; 762 clock-names = "ipg", "per";
732 status = "disabled"; 763 status = "disabled";
733 }; 764 };
734 765
735 ecspi3: ecspi@30840000 { 766 ecspi2: ecspi@30830000 {
736 #address-cells = <1>; 767 #address-cells = <1>;
737 #size-cells = <0>; 768 #size-cells = <0>;
738 compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi"; 769 compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi";
739 reg = <0x30840000 0x10000>; 770 reg = <0x30830000 0x10000>;
740 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 771 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
741 clocks = <&clks IMX7D_ECSPI3_ROOT_CLK>, 772 clocks = <&clks IMX7D_ECSPI2_ROOT_CLK>,
742 <&clks IMX7D_ECSPI3_ROOT_CLK>; 773 <&clks IMX7D_ECSPI2_ROOT_CLK>;
743 clock-names = "ipg", "per"; 774 clock-names = "ipg", "per";
744 status = "disabled"; 775 status = "disabled";
745 }; 776 };
746 777
747 uart1: serial@30860000 { 778 ecspi3: ecspi@30840000 {
748 compatible = "fsl,imx7d-uart", 779 #address-cells = <1>;
749 "fsl,imx6q-uart"; 780 #size-cells = <0>;
750 reg = <0x30860000 0x10000>; 781 compatible = "fsl,imx7d-ecspi", "fsl,imx51-ecspi";
751 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 782 reg = <0x30840000 0x10000>;
752 clocks = <&clks IMX7D_UART1_ROOT_CLK>, 783 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
753 <&clks IMX7D_UART1_ROOT_CLK>; 784 clocks = <&clks IMX7D_ECSPI3_ROOT_CLK>,
754 clock-names = "ipg", "per"; 785 <&clks IMX7D_ECSPI3_ROOT_CLK>;
755 status = "disabled"; 786 clock-names = "ipg", "per";
756 }; 787 status = "disabled";
788 };
757 789
758 uart2: serial@30890000 { 790 uart1: serial@30860000 {
759 compatible = "fsl,imx7d-uart", 791 compatible = "fsl,imx7d-uart",
760 "fsl,imx6q-uart"; 792 "fsl,imx6q-uart";
761 reg = <0x30890000 0x10000>; 793 reg = <0x30860000 0x10000>;
762 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 794 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
763 clocks = <&clks IMX7D_UART2_ROOT_CLK>, 795 clocks = <&clks IMX7D_UART1_ROOT_CLK>,
764 <&clks IMX7D_UART2_ROOT_CLK>; 796 <&clks IMX7D_UART1_ROOT_CLK>;
765 clock-names = "ipg", "per"; 797 clock-names = "ipg", "per";
766 status = "disabled"; 798 status = "disabled";
767 }; 799 };
768 800
769 uart3: serial@30880000 { 801 uart2: serial@30890000 {
770 compatible = "fsl,imx7d-uart", 802 compatible = "fsl,imx7d-uart",
771 "fsl,imx6q-uart"; 803 "fsl,imx6q-uart";
772 reg = <0x30880000 0x10000>; 804 reg = <0x30890000 0x10000>;
773 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 805 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
774 clocks = <&clks IMX7D_UART3_ROOT_CLK>, 806 clocks = <&clks IMX7D_UART2_ROOT_CLK>,
775 <&clks IMX7D_UART3_ROOT_CLK>; 807 <&clks IMX7D_UART2_ROOT_CLK>;
776 clock-names = "ipg", "per"; 808 clock-names = "ipg", "per";
777 status = "disabled"; 809 status = "disabled";
778 }; 810 };
779 811
780 sai1: sai@308a0000 { 812 uart3: serial@30880000 {
781 #sound-dai-cells = <0>; 813 compatible = "fsl,imx7d-uart",
782 compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 814 "fsl,imx6q-uart";
783 reg = <0x308a0000 0x10000>; 815 reg = <0x30880000 0x10000>;
784 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 816 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
785 clocks = <&clks IMX7D_SAI1_IPG_CLK>, 817 clocks = <&clks IMX7D_UART3_ROOT_CLK>,
786 <&clks IMX7D_SAI1_ROOT_CLK>, 818 <&clks IMX7D_UART3_ROOT_CLK>;
787 <&clks IMX7D_CLK_DUMMY>, 819 clock-names = "ipg", "per";
788 <&clks IMX7D_CLK_DUMMY>; 820 status = "disabled";
789 clock-names = "bus", "mclk1", "mclk2", "mclk3"; 821 };
790 dma-names = "rx", "tx";
791 dmas = <&sdma 8 24 0>, <&sdma 9 24 0>;
792 status = "disabled";
793 };
794 822
795 sai2: sai@308b0000 { 823 sai1: sai@308a0000 {
796 #sound-dai-cells = <0>; 824 #sound-dai-cells = <0>;
797 compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 825 compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai";
798 reg = <0x308b0000 0x10000>; 826 reg = <0x308a0000 0x10000>;
799 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 827 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
800 clocks = <&clks IMX7D_SAI2_IPG_CLK>, 828 clocks = <&clks IMX7D_SAI1_IPG_CLK>,
801 <&clks IMX7D_SAI2_ROOT_CLK>, 829 <&clks IMX7D_SAI1_ROOT_CLK>,
802 <&clks IMX7D_CLK_DUMMY>, 830 <&clks IMX7D_CLK_DUMMY>,
803 <&clks IMX7D_CLK_DUMMY>; 831 <&clks IMX7D_CLK_DUMMY>;
804 clock-names = "bus", "mclk1", "mclk2", "mclk3"; 832 clock-names = "bus", "mclk1", "mclk2", "mclk3";
805 dma-names = "rx", "tx"; 833 dma-names = "rx", "tx";
806 dmas = <&sdma 10 24 0>, <&sdma 11 24 0>; 834 dmas = <&sdma 8 24 0>, <&sdma 9 24 0>;
807 status = "disabled"; 835 status = "disabled";
836 };
837
838 sai2: sai@308b0000 {
839 #sound-dai-cells = <0>;
840 compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai";
841 reg = <0x308b0000 0x10000>;
842 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
843 clocks = <&clks IMX7D_SAI2_IPG_CLK>,
844 <&clks IMX7D_SAI2_ROOT_CLK>,
845 <&clks IMX7D_CLK_DUMMY>,
846 <&clks IMX7D_CLK_DUMMY>;
847 clock-names = "bus", "mclk1", "mclk2", "mclk3";
848 dma-names = "rx", "tx";
849 dmas = <&sdma 10 24 0>, <&sdma 11 24 0>;
850 status = "disabled";
851 };
852
853 sai3: sai@308c0000 {
854 #sound-dai-cells = <0>;
855 compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai";
856 reg = <0x308c0000 0x10000>;
857 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
858 clocks = <&clks IMX7D_SAI3_IPG_CLK>,
859 <&clks IMX7D_SAI3_ROOT_CLK>,
860 <&clks IMX7D_CLK_DUMMY>,
861 <&clks IMX7D_CLK_DUMMY>;
862 clock-names = "bus", "mclk1", "mclk2", "mclk3";
863 dma-names = "rx", "tx";
864 dmas = <&sdma 12 24 0>, <&sdma 13 24 0>;
865 status = "disabled";
866 };
808 }; 867 };
809 868
810 sai3: sai@308c0000 { 869 crypto: caam@30900000 {
811 #sound-dai-cells = <0>; 870 compatible = "fsl,sec-v4.0";
812 compatible = "fsl,imx7d-sai", "fsl,imx6sx-sai"; 871 #address-cells = <1>;
813 reg = <0x308c0000 0x10000>; 872 #size-cells = <1>;
814 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 873 reg = <0x30900000 0x40000>;
815 clocks = <&clks IMX7D_SAI3_IPG_CLK>, 874 ranges = <0 0x30900000 0x40000>;
816 <&clks IMX7D_SAI3_ROOT_CLK>, 875 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
817 <&clks IMX7D_CLK_DUMMY>, 876 clocks = <&clks IMX7D_CAAM_CLK>,
818 <&clks IMX7D_CLK_DUMMY>; 877 <&clks IMX7D_AHB_CHANNEL_ROOT_CLK>;
819 clock-names = "bus", "mclk1", "mclk2", "mclk3"; 878 clock-names = "ipg", "aclk";
820 dma-names = "rx", "tx"; 879
821 dmas = <&sdma 12 24 0>, <&sdma 13 24 0>; 880 sec_jr0: jr0@1000 {
822 status = "disabled"; 881 compatible = "fsl,sec-v4.0-job-ring";
882 reg = <0x1000 0x1000>;
883 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
884 };
885
886 sec_jr1: jr1@2000 {
887 compatible = "fsl,sec-v4.0-job-ring";
888 reg = <0x2000 0x1000>;
889 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
890 };
891
892 sec_jr2: jr1@3000 {
893 compatible = "fsl,sec-v4.0-job-ring";
894 reg = <0x3000 0x1000>;
895 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
896 };
823 }; 897 };
824 898
825 flexcan1: can@30a00000 { 899 flexcan1: can@30a00000 {
diff --git a/arch/arm/boot/dts/keystone-k2e-clocks.dtsi b/arch/arm/boot/dts/keystone-k2e-clocks.dtsi
index 5e0e7d232161..f7592155a740 100644
--- a/arch/arm/boot/dts/keystone-k2e-clocks.dtsi
+++ b/arch/arm/boot/dts/keystone-k2e-clocks.dtsi
@@ -42,7 +42,7 @@ clocks {
42 domain-id = <0>; 42 domain-id = <0>;
43 }; 43 };
44 44
45 clkhyperlink0: clkhyperlink02350030 { 45 clkhyperlink0: clkhyperlink0@2350030 {
46 #clock-cells = <0>; 46 #clock-cells = <0>;
47 compatible = "ti,keystone,psc-clock"; 47 compatible = "ti,keystone,psc-clock";
48 clocks = <&chipclk12>; 48 clocks = <&chipclk12>;
diff --git a/arch/arm/boot/dts/keystone-k2e.dtsi b/arch/arm/boot/dts/keystone-k2e.dtsi
index 0bcd3f8a9c45..085e7326ea8e 100644
--- a/arch/arm/boot/dts/keystone-k2e.dtsi
+++ b/arch/arm/boot/dts/keystone-k2e.dtsi
@@ -109,11 +109,14 @@
109 }; 109 };
110 }; 110 };
111 111
112 dspgpio0: keystone_dsp_gpio@2620240 { 112 devctrl: device-state-control@2620000 {
113 compatible = "ti,keystone-dsp-gpio"; 113 dspgpio0: keystone_dsp_gpio@240 {
114 gpio-controller; 114 compatible = "ti,keystone-dsp-gpio";
115 #gpio-cells = <2>; 115 reg = <0x240 0x4>;
116 gpio,syscon-dev = <&devctrl 0x240>; 116 gpio-controller;
117 #gpio-cells = <2>;
118 gpio,syscon-dev = <&devctrl 0x240>;
119 };
117 }; 120 };
118 121
119 dsp0: dsp@10800000 { 122 dsp0: dsp@10800000 {
diff --git a/arch/arm/boot/dts/keystone-k2g.dtsi b/arch/arm/boot/dts/keystone-k2g.dtsi
index fd061718dc0a..da78c0034427 100644
--- a/arch/arm/boot/dts/keystone-k2g.dtsi
+++ b/arch/arm/boot/dts/keystone-k2g.dtsi
@@ -69,6 +69,24 @@
69 interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>; 69 interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
70 }; 70 };
71 71
72 usbphy {
73 #address-cells = <1>;
74 #size-cells = <0>;
75 compatible = "simple-bus";
76
77 usb0_phy: usb-phy@0 {
78 compatible = "usb-nop-xceiv";
79 reg = <0>;
80 status = "disabled";
81 };
82
83 usb1_phy: usb-phy@1 {
84 compatible = "usb-nop-xceiv";
85 reg = <1>;
86 status = "disabled";
87 };
88 };
89
72 soc0: soc@0 { 90 soc0: soc@0 {
73 #address-cells = <1>; 91 #address-cells = <1>;
74 #size-cells = <1>; 92 #size-cells = <1>;
@@ -97,8 +115,28 @@
97 }; 115 };
98 116
99 devctrl: device-state-control@2620000 { 117 devctrl: device-state-control@2620000 {
100 compatible = "ti,keystone-devctrl", "syscon"; 118 compatible = "ti,keystone-devctrl", "syscon", "simple-mfd";
101 reg = <0x02620000 0x1000>; 119 reg = <0x02620000 0x1000>;
120 #address-cells = <1>;
121 #size-cells = <1>;
122 ranges = <0x0 0x02620000 0x1000>;
123
124 kirq0: keystone_irq@2a0 {
125 compatible = "ti,keystone-irq";
126 reg = <0x2a0 0x10>;
127 interrupts = <GIC_SPI 1 IRQ_TYPE_EDGE_RISING>;
128 interrupt-controller;
129 #interrupt-cells = <1>;
130 ti,syscon-dev = <&devctrl 0x2a0>;
131 };
132
133 dspgpio0: keystone_dsp_gpio@240 {
134 compatible = "ti,keystone-dsp-gpio";
135 reg = <0x240 0x4>;
136 gpio-controller;
137 #gpio-cells = <2>;
138 gpio,syscon-dev = <&devctrl 0x240>;
139 };
102 }; 140 };
103 141
104 uart0: serial@2530c00 { 142 uart0: serial@2530c00 {
@@ -113,7 +151,7 @@
113 status = "disabled"; 151 status = "disabled";
114 }; 152 };
115 153
116 uart1: serial@02531000 { 154 uart1: serial@2531000 {
117 compatible = "ti,da830-uart", "ns16550a"; 155 compatible = "ti,da830-uart", "ns16550a";
118 current-speed = <115200>; 156 current-speed = <115200>;
119 reg-shift = <2>; 157 reg-shift = <2>;
@@ -125,7 +163,7 @@
125 status = "disabled"; 163 status = "disabled";
126 }; 164 };
127 165
128 uart2: serial@02531400 { 166 uart2: serial@2531400 {
129 compatible = "ti,da830-uart", "ns16550a"; 167 compatible = "ti,da830-uart", "ns16550a";
130 current-speed = <115200>; 168 current-speed = <115200>;
131 reg-shift = <2>; 169 reg-shift = <2>;
@@ -188,21 +226,6 @@
188 status = "disabled"; 226 status = "disabled";
189 }; 227 };
190 228
191 kirq0: keystone_irq@26202a0 {
192 compatible = "ti,keystone-irq";
193 interrupts = <GIC_SPI 1 IRQ_TYPE_EDGE_RISING>;
194 interrupt-controller;
195 #interrupt-cells = <1>;
196 ti,syscon-dev = <&devctrl 0x2a0>;
197 };
198
199 dspgpio0: keystone_dsp_gpio@2620240 {
200 compatible = "ti,keystone-dsp-gpio";
201 gpio-controller;
202 #gpio-cells = <2>;
203 gpio,syscon-dev = <&devctrl 0x240>;
204 };
205
206 dsp0: dsp@10800000 { 229 dsp0: dsp@10800000 {
207 compatible = "ti,k2g-dsp"; 230 compatible = "ti,k2g-dsp";
208 reg = <0x10800000 0x00100000>, 231 reg = <0x10800000 0x00100000>,
@@ -460,11 +483,6 @@
460 status = "disabled"; 483 status = "disabled";
461 }; 484 };
462 485
463 usb0_phy: usb-phy@0 {
464 compatible = "usb-nop-xceiv";
465 status = "disabled";
466 };
467
468 keystone_usb0: keystone-dwc3@2680000 { 486 keystone_usb0: keystone-dwc3@2680000 {
469 compatible = "ti,keystone-dwc3"; 487 compatible = "ti,keystone-dwc3";
470 #address-cells = <1>; 488 #address-cells = <1>;
@@ -488,11 +506,6 @@
488 }; 506 };
489 }; 507 };
490 508
491 usb1_phy: usb-phy@1 {
492 compatible = "usb-nop-xceiv";
493 status = "disabled";
494 };
495
496 keystone_usb1: keystone-dwc3@2580000 { 509 keystone_usb1: keystone-dwc3@2580000 {
497 compatible = "ti,keystone-dwc3"; 510 compatible = "ti,keystone-dwc3";
498 #address-cells = <1>; 511 #address-cells = <1>;
@@ -583,5 +596,18 @@
583 power-domains = <&k2g_pds 0x0013>; 596 power-domains = <&k2g_pds 0x0013>;
584 clocks = <&k2g_clks 0x0013 0>; 597 clocks = <&k2g_clks 0x0013 0>;
585 }; 598 };
599
600 wdt: wdt@02250000 {
601 compatible = "ti,keystone-wdt", "ti,davinci-wdt";
602 reg = <0x02250000 0x80>;
603 power-domains = <&k2g_pds 0x22>;
604 clocks = <&k2g_clks 0x22 0>;
605 };
606
607 emif: emif@21010000 {
608 compatible = "ti,emif-keystone";
609 reg = <0x21010000 0x200>;
610 interrupts = <GIC_SPI 123 IRQ_TYPE_EDGE_RISING>;
611 };
586 }; 612 };
587}; 613};
diff --git a/arch/arm/boot/dts/keystone-k2hk.dtsi b/arch/arm/boot/dts/keystone-k2hk.dtsi
index ed59474522cb..ca0f198ba627 100644
--- a/arch/arm/boot/dts/keystone-k2hk.dtsi
+++ b/arch/arm/boot/dts/keystone-k2hk.dtsi
@@ -87,60 +87,70 @@
87 }; 87 };
88 }; 88 };
89 89
90 dspgpio0: keystone_dsp_gpio@2620240 { 90 devctrl: device-state-control@2620000 {
91 compatible = "ti,keystone-dsp-gpio"; 91 dspgpio0: keystone_dsp_gpio@240 {
92 gpio-controller; 92 compatible = "ti,keystone-dsp-gpio";
93 #gpio-cells = <2>; 93 reg = <0x240 0x4>;
94 gpio,syscon-dev = <&devctrl 0x240>; 94 gpio-controller;
95 }; 95 #gpio-cells = <2>;
96 gpio,syscon-dev = <&devctrl 0x240>;
97 };
96 98
97 dspgpio1: keystone_dsp_gpio@2620244 { 99 dspgpio1: keystone_dsp_gpio@244 {
98 compatible = "ti,keystone-dsp-gpio"; 100 compatible = "ti,keystone-dsp-gpio";
99 gpio-controller; 101 reg = <0x244 0x4>;
100 #gpio-cells = <2>; 102 gpio-controller;
101 gpio,syscon-dev = <&devctrl 0x244>; 103 #gpio-cells = <2>;
102 }; 104 gpio,syscon-dev = <&devctrl 0x244>;
105 };
103 106
104 dspgpio2: keystone_dsp_gpio@2620248 { 107 dspgpio2: keystone_dsp_gpio@248 {
105 compatible = "ti,keystone-dsp-gpio"; 108 compatible = "ti,keystone-dsp-gpio";
106 gpio-controller; 109 reg = <0x248 0x4>;
107 #gpio-cells = <2>; 110 gpio-controller;
108 gpio,syscon-dev = <&devctrl 0x248>; 111 #gpio-cells = <2>;
109 }; 112 gpio,syscon-dev = <&devctrl 0x248>;
113 };
110 114
111 dspgpio3: keystone_dsp_gpio@262024c { 115 dspgpio3: keystone_dsp_gpio@24c {
112 compatible = "ti,keystone-dsp-gpio"; 116 compatible = "ti,keystone-dsp-gpio";
113 gpio-controller; 117 reg = <0x24c 0x4>;
114 #gpio-cells = <2>; 118 gpio-controller;
115 gpio,syscon-dev = <&devctrl 0x24c>; 119 #gpio-cells = <2>;
116 }; 120 gpio,syscon-dev = <&devctrl 0x24c>;
121 };
117 122
118 dspgpio4: keystone_dsp_gpio@2620250 { 123 dspgpio4: keystone_dsp_gpio@250 {
119 compatible = "ti,keystone-dsp-gpio"; 124 compatible = "ti,keystone-dsp-gpio";
120 gpio-controller; 125 reg = <0x250 0x4>;
121 #gpio-cells = <2>; 126 gpio-controller;
122 gpio,syscon-dev = <&devctrl 0x250>; 127 #gpio-cells = <2>;
123 }; 128 gpio,syscon-dev = <&devctrl 0x250>;
129 };
124 130
125 dspgpio5: keystone_dsp_gpio@2620254 { 131 dspgpio5: keystone_dsp_gpio@254 {
126 compatible = "ti,keystone-dsp-gpio"; 132 compatible = "ti,keystone-dsp-gpio";
127 gpio-controller; 133 reg = <0x254 0x4>;
128 #gpio-cells = <2>; 134 gpio-controller;
129 gpio,syscon-dev = <&devctrl 0x254>; 135 #gpio-cells = <2>;
130 }; 136 gpio,syscon-dev = <&devctrl 0x254>;
137 };
131 138
132 dspgpio6: keystone_dsp_gpio@2620258 { 139 dspgpio6: keystone_dsp_gpio@258 {
133 compatible = "ti,keystone-dsp-gpio"; 140 compatible = "ti,keystone-dsp-gpio";
134 gpio-controller; 141 reg = <0x258 0x4>;
135 #gpio-cells = <2>; 142 gpio-controller;
136 gpio,syscon-dev = <&devctrl 0x258>; 143 #gpio-cells = <2>;
137 }; 144 gpio,syscon-dev = <&devctrl 0x258>;
145 };
138 146
139 dspgpio7: keystone_dsp_gpio@262025c { 147 dspgpio7: keystone_dsp_gpio@25c {
140 compatible = "ti,keystone-dsp-gpio"; 148 compatible = "ti,keystone-dsp-gpio";
141 gpio-controller; 149 reg = <0x25c 0x4>;
142 #gpio-cells = <2>; 150 gpio-controller;
143 gpio,syscon-dev = <&devctrl 0x25c>; 151 #gpio-cells = <2>;
152 gpio,syscon-dev = <&devctrl 0x25c>;
153 };
144 }; 154 };
145 155
146 dsp0: dsp@10800000 { 156 dsp0: dsp@10800000 {
diff --git a/arch/arm/boot/dts/keystone-k2l.dtsi b/arch/arm/boot/dts/keystone-k2l.dtsi
index b61a830f4a4d..374c80124c4e 100644
--- a/arch/arm/boot/dts/keystone-k2l.dtsi
+++ b/arch/arm/boot/dts/keystone-k2l.dtsi
@@ -289,32 +289,38 @@
289 clocks = <&clkosr>; 289 clocks = <&clkosr>;
290 }; 290 };
291 291
292 dspgpio0: keystone_dsp_gpio@2620240 { 292 devctrl: device-state-control@2620000 {
293 compatible = "ti,keystone-dsp-gpio"; 293 dspgpio0: keystone_dsp_gpio@240 {
294 gpio-controller; 294 compatible = "ti,keystone-dsp-gpio";
295 #gpio-cells = <2>; 295 reg = <0x240 0x4>;
296 gpio,syscon-dev = <&devctrl 0x240>; 296 gpio-controller;
297 }; 297 #gpio-cells = <2>;
298 gpio,syscon-dev = <&devctrl 0x240>;
299 };
298 300
299 dspgpio1: keystone_dsp_gpio@2620244 { 301 dspgpio1: keystone_dsp_gpio@244 {
300 compatible = "ti,keystone-dsp-gpio"; 302 compatible = "ti,keystone-dsp-gpio";
301 gpio-controller; 303 reg = <0x244 0x4>;
302 #gpio-cells = <2>; 304 gpio-controller;
303 gpio,syscon-dev = <&devctrl 0x244>; 305 #gpio-cells = <2>;
304 }; 306 gpio,syscon-dev = <&devctrl 0x244>;
307 };
305 308
306 dspgpio2: keystone_dsp_gpio@2620248 { 309 dspgpio2: keystone_dsp_gpio@248 {
307 compatible = "ti,keystone-dsp-gpio"; 310 compatible = "ti,keystone-dsp-gpio";
308 gpio-controller; 311 reg = <0x248 0x4>;
309 #gpio-cells = <2>; 312 gpio-controller;
310 gpio,syscon-dev = <&devctrl 0x248>; 313 #gpio-cells = <2>;
311 }; 314 gpio,syscon-dev = <&devctrl 0x248>;
315 };
312 316
313 dspgpio3: keystone_dsp_gpio@262024c { 317 dspgpio3: keystone_dsp_gpio@24c {
314 compatible = "ti,keystone-dsp-gpio"; 318 compatible = "ti,keystone-dsp-gpio";
315 gpio-controller; 319 reg = <0x24c 0x4>;
316 #gpio-cells = <2>; 320 gpio-controller;
317 gpio,syscon-dev = <&devctrl 0x24c>; 321 #gpio-cells = <2>;
322 gpio,syscon-dev = <&devctrl 0x24c>;
323 };
318 }; 324 };
319 325
320 dsp0: dsp@10800000 { 326 dsp0: dsp@10800000 {
diff --git a/arch/arm/boot/dts/keystone.dtsi b/arch/arm/boot/dts/keystone.dtsi
index 93ea5c69ea77..c298675a29a5 100644
--- a/arch/arm/boot/dts/keystone.dtsi
+++ b/arch/arm/boot/dts/keystone.dtsi
@@ -87,15 +87,28 @@
87 }; 87 };
88 88
89 devctrl: device-state-control@2620000 { 89 devctrl: device-state-control@2620000 {
90 compatible = "ti,keystone-devctrl", "syscon"; 90 compatible = "ti,keystone-devctrl", "syscon", "simple-mfd";
91 reg = <0x02620000 0x1000>; 91 reg = <0x02620000 0x1000>;
92 }; 92 #address-cells = <1>;
93 #size-cells = <1>;
94 ranges = <0x0 0x02620000 0x1000>;
95
96 kirq0: keystone_irq@2a0 {
97 compatible = "ti,keystone-irq";
98 reg = <0x2a0 0x4>;
99 interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
100 interrupt-controller;
101 #interrupt-cells = <1>;
102 ti,syscon-dev = <&devctrl 0x2a0>;
103 };
93 104
94 rstctrl: reset-controller { 105 rstctrl: reset-controller@328 {
95 compatible = "ti,keystone-reset"; 106 compatible = "ti,keystone-reset";
96 ti,syscon-pll = <&pllctrl 0xe4>; 107 reg = <0x328 0x10>;
97 ti,syscon-dev = <&devctrl 0x328>; 108 ti,syscon-pll = <&pllctrl 0xe4>;
98 ti,wdt-list = <0>; 109 ti,syscon-dev = <&devctrl 0x328>;
110 ti,wdt-list = <0>;
111 };
99 }; 112 };
100 113
101 /include/ "keystone-clocks.dtsi" 114 /include/ "keystone-clocks.dtsi"
@@ -282,14 +295,6 @@
282 1 0 0x21000A00 0x00000100>; 295 1 0 0x21000A00 0x00000100>;
283 }; 296 };
284 297
285 kirq0: keystone_irq@26202a0 {
286 compatible = "ti,keystone-irq";
287 interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
288 interrupt-controller;
289 #interrupt-cells = <1>;
290 ti,syscon-dev = <&devctrl 0x2a0>;
291 };
292
293 pcie0: pcie@21800000 { 298 pcie0: pcie@21800000 {
294 compatible = "ti,keystone-pcie", "snps,dw-pcie"; 299 compatible = "ti,keystone-pcie", "snps,dw-pcie";
295 clocks = <&clkpcie>; 300 clocks = <&clkpcie>;
@@ -338,5 +343,12 @@
338 <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>; 343 <GIC_SPI 29 IRQ_TYPE_EDGE_RISING>;
339 }; 344 };
340 }; 345 };
346
347 emif: emif@21010000 {
348 compatible = "ti,emif-keystone";
349 reg = <0x21010000 0x200>;
350 interrupts = <GIC_SPI 448 IRQ_TYPE_EDGE_RISING>;
351 interrupt-parent = <&gic>;
352 };
341 }; 353 };
342}; 354};
diff --git a/arch/arm/boot/dts/kirkwood-b3.dts b/arch/arm/boot/dts/kirkwood-b3.dts
index d091ecb61cd2..17f48f88a983 100644
--- a/arch/arm/boot/dts/kirkwood-b3.dts
+++ b/arch/arm/boot/dts/kirkwood-b3.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree file for Excito Bubba B3 3 * Device Tree file for Excito Bubba B3
3 * 4 *
4 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch> 5 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 * 7 *
11 * Note: This requires a new'ish version of u-boot, which disables the 8 * Note: This requires a new'ish version of u-boot, which disables the
12 * L2 cache. If your B3 silently fails to boot, u-boot is probably too 9 * L2 cache. If your B3 silently fails to boot, u-boot is probably too
diff --git a/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts b/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts
index f16a73e49a88..07fbfca444d5 100644
--- a/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts
+++ b/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree file for Seagate Blackarmor NAS220 3 * Device Tree file for Seagate Blackarmor NAS220
3 * 4 *
4 * Copyright (C) 2014 Evgeni Dobrev <evgeni@studio-punkt.com> 5 * Copyright (C) 2014 Evgeni Dobrev <evgeni@studio-punkt.com>
5 *
6 * Licensed under GPLv2 or later.
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-d2net.dts b/arch/arm/boot/dts/kirkwood-d2net.dts
index e1c25c35e9ce..bd3b266dd766 100644
--- a/arch/arm/boot/dts/kirkwood-d2net.dts
+++ b/arch/arm/boot/dts/kirkwood-d2net.dts
@@ -1,11 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for d2 Network v2 3 * Device Tree file for d2 Network v2
3 * 4 *
4 * Copyright (C) 2014 Simon Guinot <simon.guinot@sequanux.org> 5 * Copyright (C) 2014 Simon Guinot <simon.guinot@sequanux.org>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9*/ 7*/
10 8
11/dts-v1/; 9/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-db-88f6281.dts b/arch/arm/boot/dts/kirkwood-db-88f6281.dts
index aee6f02b1c80..2adb17c955aa 100644
--- a/arch/arm/boot/dts/kirkwood-db-88f6281.dts
+++ b/arch/arm/boot/dts/kirkwood-db-88f6281.dts
@@ -1,12 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell DB-88F6281-BP Development Board Setup 3 * Marvell DB-88F6281-BP Development Board Setup
3 * 4 *
4 * Saeed Bishara <saeed@marvell.com> 5 * Saeed Bishara <saeed@marvell.com>
5 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 * 7 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 */ 8 */
11 9
12/dts-v1/; 10/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-db-88f6282.dts b/arch/arm/boot/dts/kirkwood-db-88f6282.dts
index e8b23e13ec0c..f84a48539917 100644
--- a/arch/arm/boot/dts/kirkwood-db-88f6282.dts
+++ b/arch/arm/boot/dts/kirkwood-db-88f6282.dts
@@ -1,12 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell DB-88F6282-BP Development Board Setup 3 * Marvell DB-88F6282-BP Development Board Setup
3 * 4 *
4 * Saeed Bishara <saeed@marvell.com> 5 * Saeed Bishara <saeed@marvell.com>
5 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 * 7 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 */ 8 */
11 9
12/dts-v1/; 10/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-db.dtsi b/arch/arm/boot/dts/kirkwood-db.dtsi
index 812df691ae3d..6fe2e31534af 100644
--- a/arch/arm/boot/dts/kirkwood-db.dtsi
+++ b/arch/arm/boot/dts/kirkwood-db.dtsi
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell DB-{88F6281,88F6282}-BP Development Board Setup 3 * Marvell DB-{88F6281,88F6282}-BP Development Board Setup
3 * 4 *
4 * Saeed Bishara <saeed@marvell.com> 5 * Saeed Bishara <saeed@marvell.com>
5 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 * 7 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 *
11 * This file contains the definitions that are common between the 6281 8 * This file contains the definitions that are common between the 6281
12 * and 6282 variants of the Marvell Kirkwood Development Board. 9 * and 6282 variants of the Marvell Kirkwood Development Board.
13 */ 10 */
diff --git a/arch/arm/boot/dts/kirkwood-dir665.dts b/arch/arm/boot/dts/kirkwood-dir665.dts
index 4d2b15d6244a..31ceacd841de 100644
--- a/arch/arm/boot/dts/kirkwood-dir665.dts
+++ b/arch/arm/boot/dts/kirkwood-dir665.dts
@@ -1,9 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2014 Claudio Leite <leitec@staticky.com> 3 * Copyright (C) 2014 Claudio Leite <leitec@staticky.com>
3 * 4 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */ 5 */
8 6
9/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds109.dts b/arch/arm/boot/dts/kirkwood-ds109.dts
index d4bcc1c7f6b3..29982e7acb7f 100644
--- a/arch/arm/boot/dts/kirkwood-ds109.dts
+++ b/arch/arm/boot/dts/kirkwood-ds109.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds110jv10.dts b/arch/arm/boot/dts/kirkwood-ds110jv10.dts
index 95bf83b91b4a..d68c616e9309 100644
--- a/arch/arm/boot/dts/kirkwood-ds110jv10.dts
+++ b/arch/arm/boot/dts/kirkwood-ds110jv10.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds111.dts b/arch/arm/boot/dts/kirkwood-ds111.dts
index a85a4664431b..e1420cbcd7e4 100644
--- a/arch/arm/boot/dts/kirkwood-ds111.dts
+++ b/arch/arm/boot/dts/kirkwood-ds111.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds112.dts b/arch/arm/boot/dts/kirkwood-ds112.dts
index 6cef4bdbc01b..f48609e95afe 100644
--- a/arch/arm/boot/dts/kirkwood-ds112.dts
+++ b/arch/arm/boot/dts/kirkwood-ds112.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds209.dts b/arch/arm/boot/dts/kirkwood-ds209.dts
index 6d25093a9ac4..f41fe95e055f 100644
--- a/arch/arm/boot/dts/kirkwood-ds209.dts
+++ b/arch/arm/boot/dts/kirkwood-ds209.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds210.dts b/arch/arm/boot/dts/kirkwood-ds210.dts
index 2f1933efcac1..729f959a7838 100644
--- a/arch/arm/boot/dts/kirkwood-ds210.dts
+++ b/arch/arm/boot/dts/kirkwood-ds210.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds212.dts b/arch/arm/boot/dts/kirkwood-ds212.dts
index 7f32e7abffac..416bab50d170 100644
--- a/arch/arm/boot/dts/kirkwood-ds212.dts
+++ b/arch/arm/boot/dts/kirkwood-ds212.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds212j.dts b/arch/arm/boot/dts/kirkwood-ds212j.dts
index f5c4213fc67c..14cf4d8afaf3 100644
--- a/arch/arm/boot/dts/kirkwood-ds212j.dts
+++ b/arch/arm/boot/dts/kirkwood-ds212j.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds409.dts b/arch/arm/boot/dts/kirkwood-ds409.dts
index e80a962ebba0..a8650f9e3eb7 100644
--- a/arch/arm/boot/dts/kirkwood-ds409.dts
+++ b/arch/arm/boot/dts/kirkwood-ds409.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds409slim.dts b/arch/arm/boot/dts/kirkwood-ds409slim.dts
index cae5af4b88b5..27a1d840bd15 100644
--- a/arch/arm/boot/dts/kirkwood-ds409slim.dts
+++ b/arch/arm/boot/dts/kirkwood-ds409slim.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds411.dts b/arch/arm/boot/dts/kirkwood-ds411.dts
index 72e58307416d..86907be70cf9 100644
--- a/arch/arm/boot/dts/kirkwood-ds411.dts
+++ b/arch/arm/boot/dts/kirkwood-ds411.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds411j.dts b/arch/arm/boot/dts/kirkwood-ds411j.dts
index 3348e330f074..bb3200daea1e 100644
--- a/arch/arm/boot/dts/kirkwood-ds411j.dts
+++ b/arch/arm/boot/dts/kirkwood-ds411j.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ds411slim.dts b/arch/arm/boot/dts/kirkwood-ds411slim.dts
index aaaf31b81522..9c5364a4e0a8 100644
--- a/arch/arm/boot/dts/kirkwood-ds411slim.dts
+++ b/arch/arm/boot/dts/kirkwood-ds411slim.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-laplug.dts b/arch/arm/boot/dts/kirkwood-laplug.dts
index 1b0f070c2676..6158214a939a 100644
--- a/arch/arm/boot/dts/kirkwood-laplug.dts
+++ b/arch/arm/boot/dts/kirkwood-laplug.dts
@@ -1,9 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2013 Maxime Hadjinlian <maxime.hadjinlian@gmail.com> 3 * Copyright (C) 2013 Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
3 * 4 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */ 5 */
8 6
9/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
index b9125e5ed076..377b6e970259 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
+++ b/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree common file for kirkwood-6282 based Buffalo Linkstation 3 * Device Tree common file for kirkwood-6282 based Buffalo Linkstation
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46#include "kirkwood.dtsi" 9#include "kirkwood.dtsi"
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
index 29d929535453..ba629e02ba31 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
+++ b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation 3 * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46#include "kirkwood.dtsi" 9#include "kirkwood.dtsi"
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts
index 9cc05203baee..8bb381088910 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts
+++ b/arch/arm/boot/dts/kirkwood-linkstation-lsqvl.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Buffalo Linkstation LS-QVL 3 * Device Tree file for Buffalo Linkstation LS-QVL
3 * 4 *
@@ -6,44 +7,6 @@
6 * Based on kirkwood-linkstation-lswvl.dts, 7 * Based on kirkwood-linkstation-lswvl.dts,
7 * Copyright (C) 2015, 2016 8 * Copyright (C) 2015, 2016
8 * Roger Shimizu <rogershimizu@gmail.com> 9 * Roger Shimizu <rogershimizu@gmail.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This file is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This file is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49/dts-v1/; 12/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
index ff37e76ab551..3f2a0bfe03ed 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
+++ b/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Buffalo Linkstation LS-VL 3 * Device Tree file for Buffalo Linkstation LS-VL
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46/dts-v1/; 9/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
index f602c059c718..c42d0da38fe7 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
+++ b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Buffalo Linkstation LS-WSXL 3 * Device Tree file for Buffalo Linkstation LS-WSXL
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46/dts-v1/; 9/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
index ef8fc1a077f8..e0f62adc0d5d 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
+++ b/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Buffalo Linkstation LS-WVL 3 * Device Tree file for Buffalo Linkstation LS-WVL
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46/dts-v1/; 9/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
index ce41d553b693..c6024b569423 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
+++ b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Buffalo Linkstation LS-WXL 3 * Device Tree file for Buffalo Linkstation LS-WXL
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46/dts-v1/; 9/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-linkstation.dtsi b/arch/arm/boot/dts/kirkwood-linkstation.dtsi
index b459042a904a..407d6d8b3a7f 100644
--- a/arch/arm/boot/dts/kirkwood-linkstation.dtsi
+++ b/arch/arm/boot/dts/kirkwood-linkstation.dtsi
@@ -1,46 +1,9 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree common file for kirkwood based Buffalo Linkstation 3 * Device Tree common file for kirkwood based Buffalo Linkstation
3 * 4 *
4 * Copyright (C) 2015, 2016 5 * Copyright (C) 2015, 2016
5 * Roger Shimizu <rogershimizu@gmail.com> 6 * Roger Shimizu <rogershimizu@gmail.com>
6 *
7 * This file is dual-licensed: you can use it either under the terms
8 * of the GPL or the X11 license, at your option. Note that this dual
9 * licensing only applies to this file, and not this project as a
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 7 */
45 8
46/ { 9/ {
diff --git a/arch/arm/boot/dts/kirkwood-linksys-viper.dts b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
index f21a50dd9869..a7d659b7145a 100644
--- a/arch/arm/boot/dts/kirkwood-linksys-viper.dts
+++ b/arch/arm/boot/dts/kirkwood-linksys-viper.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500) 3 * kirkwood-viper.dts - Device Tree file for Linksys viper (E4200v2 / EA4500)
3 * 4 *
@@ -6,9 +7,6 @@
6 * (c) 2014 Luka Perkov <luka@openwrt.org> 7 * (c) 2014 Luka Perkov <luka@openwrt.org>
7 * (c) 2014 Randy C. Will <randall.will@gmail.com> 8 * (c) 2014 Randy C. Will <randall.will@gmail.com>
8 * 9 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12 */ 10 */
13 11
14/dts-v1/; 12/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
index 327023a477b8..86d532916d56 100644
--- a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
+++ b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
@@ -1,13 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell 88F6281 GTW GE Board 3 * Marvell 88F6281 GTW GE Board
3 * 4 *
4 * Lennert Buytenhek <buytenh@marvell.com> 5 * Lennert Buytenhek <buytenh@marvell.com>
5 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 * 7 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 *
11 * This file contains the definitions that are common between the 6281 8 * This file contains the definitions that are common between the 6281
12 * and 6282 variants of the Marvell Kirkwood Development Board. 9 * and 6282 variants of the Marvell Kirkwood Development Board.
13 */ 10 */
diff --git a/arch/arm/boot/dts/kirkwood-nas2big.dts b/arch/arm/boot/dts/kirkwood-nas2big.dts
index f53bcacf6b63..6a2934b7d0ce 100644
--- a/arch/arm/boot/dts/kirkwood-nas2big.dts
+++ b/arch/arm/boot/dts/kirkwood-nas2big.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for LaCie 2Big NAS 3 * Device Tree file for LaCie 2Big NAS
3 * 4 *
@@ -5,9 +6,6 @@
5 * 6 *
6 * Author: Simon Guinot <simon.guinot@sequanux.org> 7 * Author: Simon Guinot <simon.guinot@sequanux.org>
7 * 8 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11*/ 9*/
12 10
13/dts-v1/; 11/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-net2big.dts b/arch/arm/boot/dts/kirkwood-net2big.dts
index 13a44773b6df..3e3ac289e5b0 100644
--- a/arch/arm/boot/dts/kirkwood-net2big.dts
+++ b/arch/arm/boot/dts/kirkwood-net2big.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for LaCie 2Big Network v2 3 * Device Tree file for LaCie 2Big Network v2
3 * 4 *
@@ -8,9 +9,6 @@
8 * Based on netxbig_v2-setup.c, 9 * Based on netxbig_v2-setup.c,
9 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com> 10 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
10 * 11 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14*/ 12*/
15 13
16/dts-v1/; 14/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-net5big.dts b/arch/arm/boot/dts/kirkwood-net5big.dts
index d2d44df9c8c0..cba8a2b6f6d9 100644
--- a/arch/arm/boot/dts/kirkwood-net5big.dts
+++ b/arch/arm/boot/dts/kirkwood-net5big.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for LaCie 5Big Network v2 3 * Device Tree file for LaCie 5Big Network v2
3 * 4 *
@@ -8,9 +9,6 @@
8 * Based on netxbig_v2-setup.c, 9 * Based on netxbig_v2-setup.c,
9 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com> 10 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
10 * 11 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14*/ 12*/
15 13
16/dts-v1/; 14/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
index c0413b63cf2e..cb564c3bcdc4 100644
--- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
+++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
@@ -1,12 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree file for NETGEAR ReadyNAS Duo v2 3 * Device Tree file for NETGEAR ReadyNAS Duo v2
3 * 4 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */ 6 */
11 7
12/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts b/arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts
index 2bfc6cfa151d..8cc8550242ef 100644
--- a/arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts
+++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_nv+_v2.dts
@@ -1,12 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree file for NETGEAR ReadyNAS NV+ v2 3 * Device Tree file for NETGEAR ReadyNAS NV+ v2
3 * 4 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */ 6 */
11 7
12/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-netxbig.dtsi b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
index 52b58fe0c4fe..b5737026e244 100644
--- a/arch/arm/boot/dts/kirkwood-netxbig.dtsi
+++ b/arch/arm/boot/dts/kirkwood-netxbig.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree common file for LaCie 2Big and 5Big Network v2 3 * Device Tree common file for LaCie 2Big and 5Big Network v2
3 * 4 *
@@ -8,9 +9,6 @@
8 * Based on netxbig_v2-setup.c, 9 * Based on netxbig_v2-setup.c,
9 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com> 10 * Copyright (C) 2010 Simon Guinot <sguinot@lacie.com>
10 * 11 *
11 * This file is licensed under the terms of the GNU General Public
12 * License version 2. This program is licensed "as is" without any
13 * warranty of any kind, whether express or implied.
14*/ 12*/
15 13
16#include <dt-bindings/leds/leds-netxbig.h> 14#include <dt-bindings/leds/leds-netxbig.h>
diff --git a/arch/arm/boot/dts/kirkwood-nsa320.dts b/arch/arm/boot/dts/kirkwood-nsa320.dts
index 6ab104b4bb42..b69b096f267b 100644
--- a/arch/arm/boot/dts/kirkwood-nsa320.dts
+++ b/arch/arm/boot/dts/kirkwood-nsa320.dts
@@ -1,11 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* Device tree file for the Zyxel NSA 320 NAS box. 2/* Device tree file for the Zyxel NSA 320 NAS box.
2 * 3 *
3 * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk> 4 * Copyright (c) 2014, Adam Baker <linux@baker-net.org.uk>
4 * 5 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version
8 * 2 of the License, or (at your option) any later version.
9 * 6 *
10 * Based upon the board setup file created by Peter Schildmann */ 7 * Based upon the board setup file created by Peter Schildmann */
11 8
diff --git a/arch/arm/boot/dts/kirkwood-nsa325.dts b/arch/arm/boot/dts/kirkwood-nsa325.dts
index 36c64816bf7f..6f8085dbb1f4 100644
--- a/arch/arm/boot/dts/kirkwood-nsa325.dts
+++ b/arch/arm/boot/dts/kirkwood-nsa325.dts
@@ -1,11 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* Device tree file for the Zyxel NSA 325 NAS box. 2/* Device tree file for the Zyxel NSA 325 NAS box.
2 * 3 *
3 * Copyright (c) 2015, Hans Ulli Kroll <ulli.kroll@googlemail.com> 4 * Copyright (c) 2015, Hans Ulli Kroll <ulli.kroll@googlemail.com>
4 * 5 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version
8 * 2 of the License, or (at your option) any later version.
9 * 6 *
10 * Based upon the board setup file created by Peter Schildmann 7 * Based upon the board setup file created by Peter Schildmann
11 */ 8 */
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a7.dts b/arch/arm/boot/dts/kirkwood-openblocks_a7.dts
index 27cc913ca0f5..946f0f453dd1 100644
--- a/arch/arm/boot/dts/kirkwood-openblocks_a7.dts
+++ b/arch/arm/boot/dts/kirkwood-openblocks_a7.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for OpenBlocks A7 board 3 * Device Tree file for OpenBlocks A7 board
3 * 4 *
@@ -5,9 +6,6 @@
5 * 6 *
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 * 8 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */ 9 */
12 10
13/dts-v1/; 11/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-openrd-base.dts b/arch/arm/boot/dts/kirkwood-openrd-base.dts
index 8af58999606d..094191ece3d7 100644
--- a/arch/arm/boot/dts/kirkwood-openrd-base.dts
+++ b/arch/arm/boot/dts/kirkwood-openrd-base.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell OpenRD Base Board Description 3 * Marvell OpenRD Base Board Description
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are specific to OpenRD 7 * This file contains the definitions that are specific to OpenRD
11 * base variant of the Marvell Kirkwood Development Board. 8 * base variant of the Marvell Kirkwood Development Board.
12 */ 9 */
diff --git a/arch/arm/boot/dts/kirkwood-openrd-client.dts b/arch/arm/boot/dts/kirkwood-openrd-client.dts
index 96ff59d68f44..d4e0b8150a84 100644
--- a/arch/arm/boot/dts/kirkwood-openrd-client.dts
+++ b/arch/arm/boot/dts/kirkwood-openrd-client.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell OpenRD Client Board Description 3 * Marvell OpenRD Client Board Description
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are specific to OpenRD 7 * This file contains the definitions that are specific to OpenRD
11 * client variant of the Marvell Kirkwood Development Board. 8 * client variant of the Marvell Kirkwood Development Board.
12 */ 9 */
diff --git a/arch/arm/boot/dts/kirkwood-openrd-ultimate.dts b/arch/arm/boot/dts/kirkwood-openrd-ultimate.dts
index 9f12f8b53e24..888e13320c19 100644
--- a/arch/arm/boot/dts/kirkwood-openrd-ultimate.dts
+++ b/arch/arm/boot/dts/kirkwood-openrd-ultimate.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell OpenRD Ultimate Board Description 3 * Marvell OpenRD Ultimate Board Description
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are specific to OpenRD 7 * This file contains the definitions that are specific to OpenRD
11 * ultimate variant of the Marvell Kirkwood Development Board. 8 * ultimate variant of the Marvell Kirkwood Development Board.
12 */ 9 */
diff --git a/arch/arm/boot/dts/kirkwood-openrd.dtsi b/arch/arm/boot/dts/kirkwood-openrd.dtsi
index 7175511a92da..47f03c69c55a 100644
--- a/arch/arm/boot/dts/kirkwood-openrd.dtsi
+++ b/arch/arm/boot/dts/kirkwood-openrd.dtsi
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell OpenRD (Base|Client|Ultimate) Board Description 3 * Marvell OpenRD (Base|Client|Ultimate) Board Description
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are common between the three 7 * This file contains the definitions that are common between the three
11 * variants of the Marvell Kirkwood Development Board. 8 * variants of the Marvell Kirkwood Development Board.
12 */ 9 */
diff --git a/arch/arm/boot/dts/kirkwood-pogo_e02.dts b/arch/arm/boot/dts/kirkwood-pogo_e02.dts
index a190080c9c4f..f9e95e55f36d 100644
--- a/arch/arm/boot/dts/kirkwood-pogo_e02.dts
+++ b/arch/arm/boot/dts/kirkwood-pogo_e02.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * kirkwood-pogo_e02.dts - Device tree file for Pogoplug E02 3 * kirkwood-pogo_e02.dts - Device tree file for Pogoplug E02
3 * 4 *
@@ -7,9 +8,6 @@
7 * Arch Linux ARM by Oleg Rakhmanov <moonman.ca@gmail.com> 8 * Arch Linux ARM by Oleg Rakhmanov <moonman.ca@gmail.com>
8 * OpenWrt by Felix Kaechele <heffer@fedoraproject.org> 9 * OpenWrt by Felix Kaechele <heffer@fedoraproject.org>
9 * 10 *
10 * This file is licensed under the terms of the GNU General Public
11 * License version 2. This program is licensed "as is" without any
12 * warranty of any kind, whether express or implied.
13 */ 11 */
14 12
15/dts-v1/; 13/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts b/arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts
index 5ce220ac9611..5aa4669ae254 100644
--- a/arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts
+++ b/arch/arm/boot/dts/kirkwood-pogoplug-series-4.dts
@@ -35,7 +35,7 @@
35 pinctrl-names = "default"; 35 pinctrl-names = "default";
36 36
37 eject { 37 eject {
38 debounce_interval = <50>; 38 debounce-interval = <50>;
39 wakeup-source; 39 wakeup-source;
40 linux,code = <KEY_EJECTCD>; 40 linux,code = <KEY_EJECTCD>;
41 label = "Eject Button"; 41 label = "Eject Button";
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6192.dts b/arch/arm/boot/dts/kirkwood-rd88f6192.dts
index b8af907249fb..712d6042b132 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6192.dts
+++ b/arch/arm/boot/dts/kirkwood-rd88f6192.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell RD88F6192 Board descrition 3 * Marvell RD88F6192 Board descrition
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are common between the three 7 * This file contains the definitions that are common between the three
11 * variants of the Marvell Kirkwood Development Board. 8 * variants of the Marvell Kirkwood Development Board.
12 */ 9 */
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
index 9ec5a65561e9..5da163591bbf 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281-a.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell RD88F6181 A Board descrition 3 * Marvell RD88F6181 A Board descrition
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions for the board with the A0 or 7 * This file contains the definitions for the board with the A0 or
11 * higher stepping of the SoC. The ethernet switch does not have a 8 * higher stepping of the SoC. The ethernet switch does not have a
12 * "wan" port. 9 * "wan" port.
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
index 6a4a65ec7944..a9fee2c2bcaf 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281-z0.dts
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell RD88F6181 Z0 stepping descrition 3 * Marvell RD88F6181 Z0 stepping descrition
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions for the board using the Z0 7 * This file contains the definitions for the board using the Z0
11 * stepping of the SoC. The ethernet switch has a "wan" port. 8 * stepping of the SoC. The ethernet switch has a "wan" port.
12*/ 9*/
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
index 91f5da5dae5f..0f22f0e6f56b 100644
--- a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Marvell RD88F6181 Common Board descrition 3 * Marvell RD88F6181 Common Board descrition
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * 6 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are common between the two 7 * This file contains the definitions that are common between the two
11 * variants of the Marvell Kirkwood Development Board. 8 * variants of the Marvell Kirkwood Development Board.
12 */ 9 */
diff --git a/arch/arm/boot/dts/kirkwood-rs212.dts b/arch/arm/boot/dts/kirkwood-rs212.dts
index 2c722ecd5331..c51cea883215 100644
--- a/arch/arm/boot/dts/kirkwood-rs212.dts
+++ b/arch/arm/boot/dts/kirkwood-rs212.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-rs409.dts b/arch/arm/boot/dts/kirkwood-rs409.dts
index 921ca49e85a4..43673b03cb35 100644
--- a/arch/arm/boot/dts/kirkwood-rs409.dts
+++ b/arch/arm/boot/dts/kirkwood-rs409.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-rs411.dts b/arch/arm/boot/dts/kirkwood-rs411.dts
index 02852b0c809f..41fa63cec839 100644
--- a/arch/arm/boot/dts/kirkwood-rs411.dts
+++ b/arch/arm/boot/dts/kirkwood-rs411.dts
@@ -1,10 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Andrew Lunn <andrew@lunn.ch> 3 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net> 4 * Ben Peddell <klightspeed@killerwolves.net>
4 * 5 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */ 6 */
9 7
10/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
index 7196c7f3e109..0a698d3b7393 100644
--- a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * kirkwood-sheevaplug-common.dtsi - Common parts for Sheevaplugs 3 * kirkwood-sheevaplug-common.dtsi - Common parts for Sheevaplugs
3 * 4 *
4 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com> 5 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
5 *
6 * Licensed under GPLv2
7 */ 6 */
8 7
9#include "kirkwood.dtsi" 8#include "kirkwood.dtsi"
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts b/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts
index e2b4ea4f9e10..ae8f493c9a0f 100644
--- a/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * kirkwood-sheevaplug-esata.dts - Device tree file for eSATA Sheevaplug 3 * kirkwood-sheevaplug-esata.dts - Device tree file for eSATA Sheevaplug
3 * 4 *
4 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com> 5 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
5 *
6 * Licensed under GPLv2
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug.dts b/arch/arm/boot/dts/kirkwood-sheevaplug.dts
index 82f6abf120fd..c73cc904e5c4 100644
--- a/arch/arm/boot/dts/kirkwood-sheevaplug.dts
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * kirkwood-sheevaplug.dts - Device tree file for Sheevaplug 3 * kirkwood-sheevaplug.dts - Device tree file for Sheevaplug
3 * 4 *
4 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com> 5 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
5 *
6 * Licensed under GPLv2
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-synology.dtsi b/arch/arm/boot/dts/kirkwood-synology.dtsi
index 210d21a65bd1..c97ed29a0a0b 100644
--- a/arch/arm/boot/dts/kirkwood-synology.dtsi
+++ b/arch/arm/boot/dts/kirkwood-synology.dtsi
@@ -1,12 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Nodes for Marvell 628x Synology devices 3 * Nodes for Marvell 628x Synology devices
3 * 4 *
4 * Andrew Lunn <andrew@lunn.ch> 5 * Andrew Lunn <andrew@lunn.ch>
5 * Ben Peddell <klightspeed@killerwolves.net> 6 * Ben Peddell <klightspeed@killerwolves.net>
6 * 7 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 */ 8 */
11 9
12/ { 10/ {
diff --git a/arch/arm/boot/dts/kirkwood-t5325.dts b/arch/arm/boot/dts/kirkwood-t5325.dts
index 3500f4738fb0..fe63b3a03a72 100644
--- a/arch/arm/boot/dts/kirkwood-t5325.dts
+++ b/arch/arm/boot/dts/kirkwood-t5325.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Device Tree file for HP t5325 Thin Client" 3 * Device Tree file for HP t5325 Thin Client"
3 * 4 *
@@ -6,9 +7,6 @@
6 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7 * Andrew Lunn <andrew@lunn.ch> 8 * Andrew Lunn <andrew@lunn.ch>
8 * 9 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without any
11 * warranty of any kind, whether express or implied.
12*/ 10*/
13 11
14/dts-v1/; 12/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ts419-6281.dts b/arch/arm/boot/dts/kirkwood-ts419-6281.dts
index aa22aa862857..4a42ebcca4f0 100644
--- a/arch/arm/boot/dts/kirkwood-ts419-6281.dts
+++ b/arch/arm/boot/dts/kirkwood-ts419-6281.dts
@@ -1,12 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree file for QNAP TS41X with 6281 SoC 3 * Device Tree file for QNAP TS41X with 6281 SoC
3 * 4 *
4 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch> 5 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */ 6 */
11 7
12/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ts419-6282.dts b/arch/arm/boot/dts/kirkwood-ts419-6282.dts
index e3e71f48acc8..be772e194c2b 100644
--- a/arch/arm/boot/dts/kirkwood-ts419-6282.dts
+++ b/arch/arm/boot/dts/kirkwood-ts419-6282.dts
@@ -1,12 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree file for QNAP TS41X with 6282 SoC 3 * Device Tree file for QNAP TS41X with 6282 SoC
3 * 4 *
4 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch> 5 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */ 6 */
11 7
12/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm/boot/dts/kirkwood-ts419.dtsi b/arch/arm/boot/dts/kirkwood-ts419.dtsi
index 02bd53762705..717236853e45 100644
--- a/arch/arm/boot/dts/kirkwood-ts419.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ts419.dtsi
@@ -1,12 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device Tree include file for QNAP TS41X 3 * Device Tree include file for QNAP TS41X
3 * 4 *
4 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch> 5 * Copyright (C) 2013, Andrew Lunn <andrew@lunn.ch>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */ 6 */
11 7
12/ { 8/ {
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index eb2bf7409655..81c7eda2c442 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -382,7 +382,7 @@
382 382
383 audio0: audio-controller@a0000 { 383 audio0: audio-controller@a0000 {
384 compatible = "marvell,kirkwood-audio"; 384 compatible = "marvell,kirkwood-audio";
385 #sound-dai-cells = <1>; 385 #sound-dai-cells = <0>;
386 reg = <0xa0000 0x2210>; 386 reg = <0xa0000 0x2210>;
387 interrupts = <24>; 387 interrupts = <24>;
388 clocks = <&gate_clk 9>; 388 clocks = <&gate_clk 9>;
diff --git a/arch/arm/boot/dts/logicpd-som-lv.dtsi b/arch/arm/boot/dts/logicpd-som-lv.dtsi
index a30ee9fcb3ae..b47cac23a04b 100644
--- a/arch/arm/boot/dts/logicpd-som-lv.dtsi
+++ b/arch/arm/boot/dts/logicpd-som-lv.dtsi
@@ -88,10 +88,14 @@
88}; 88};
89 89
90&i2c2 { 90&i2c2 {
91 pinctrl-names = "default";
92 pinctrl-0 = <&i2c2_pins>;
91 clock-frequency = <400000>; 93 clock-frequency = <400000>;
92}; 94};
93 95
94&i2c3 { 96&i2c3 {
97 pinctrl-names = "default";
98 pinctrl-0 = <&i2c3_pins>;
95 clock-frequency = <400000>; 99 clock-frequency = <400000>;
96}; 100};
97 101
@@ -213,6 +217,18 @@
213 OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4) /* sys_boot1.gpio_3 */ 217 OMAP3_WKUP_IOPAD(0x2a0c, PIN_OUTPUT | MUX_MODE4) /* sys_boot1.gpio_3 */
214 >; 218 >;
215 }; 219 };
220 i2c2_pins: pinmux_i2c2_pins {
221 pinctrl-single,pins = <
222 OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
223 OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
224 >;
225 };
226 i2c3_pins: pinmux_i2c3_pins {
227 pinctrl-single,pins = <
228 OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0) /* i2c3_scl */
229 OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda */
230 >;
231 };
216}; 232};
217 233
218&omap3_pmx_core2 { 234&omap3_pmx_core2 {
diff --git a/arch/arm/boot/dts/logicpd-torpedo-som.dtsi b/arch/arm/boot/dts/logicpd-torpedo-som.dtsi
index 47915447a826..3e174e474d3d 100644
--- a/arch/arm/boot/dts/logicpd-torpedo-som.dtsi
+++ b/arch/arm/boot/dts/logicpd-torpedo-som.dtsi
@@ -83,10 +83,14 @@
83}; 83};
84 84
85&i2c2 { 85&i2c2 {
86 pinctrl-names = "default";
87 pinctrl-0 = <&i2c2_pins>;
86 clock-frequency = <400000>; 88 clock-frequency = <400000>;
87}; 89};
88 90
89&i2c3 { 91&i2c3 {
92 pinctrl-names = "default";
93 pinctrl-0 = <&i2c3_pins>;
90 clock-frequency = <400000>; 94 clock-frequency = <400000>;
91 at24@50 { 95 at24@50 {
92 compatible = "atmel,24c64"; 96 compatible = "atmel,24c64";
@@ -144,6 +148,18 @@
144 OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */ 148 OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */
145 >; 149 >;
146 }; 150 };
151 i2c2_pins: pinmux_i2c2_pins {
152 pinctrl-single,pins = <
153 OMAP3_CORE1_IOPAD(0x21be, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
154 OMAP3_CORE1_IOPAD(0x21c0, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
155 >;
156 };
157 i2c3_pins: pinmux_i2c3_pins {
158 pinctrl-single,pins = <
159 OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT | MUX_MODE0) /* i2c3_scl */
160 OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT | MUX_MODE0) /* i2c3_sda */
161 >;
162 };
147}; 163};
148 164
149&uart2 { 165&uart2 {
diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi
index c31dad98f989..fbd2897566c3 100644
--- a/arch/arm/boot/dts/ls1021a.dtsi
+++ b/arch/arm/boot/dts/ls1021a.dtsi
@@ -788,5 +788,21 @@
788 clock-names = "ipg", "per"; 788 clock-names = "ipg", "per";
789 big-endian; 789 big-endian;
790 }; 790 };
791
792 ocram1: sram@10000000 {
793 compatible = "mmio-sram";
794 reg = <0x0 0x10000000 0x0 0x10000>;
795 #address-cells = <1>;
796 #size-cells = <1>;
797 ranges = <0x0 0x0 0x10000000 0x10000>;
798 };
799
800 ocram2: sram@10010000 {
801 compatible = "mmio-sram";
802 reg = <0x0 0x10010000 0x0 0x10000>;
803 #address-cells = <1>;
804 #size-cells = <1>;
805 ranges = <0x0 0x0 0x10010000 0x10000>;
806 };
791 }; 807 };
792}; 808};
diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi
index d2e3eeaa1a5f..dcc9292d2ffa 100644
--- a/arch/arm/boot/dts/meson8.dtsi
+++ b/arch/arm/boot/dts/meson8.dtsi
@@ -46,6 +46,7 @@
46#include <dt-bindings/clock/meson8b-clkc.h> 46#include <dt-bindings/clock/meson8b-clkc.h>
47#include <dt-bindings/gpio/meson8-gpio.h> 47#include <dt-bindings/gpio/meson8-gpio.h>
48#include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h> 48#include <dt-bindings/reset/amlogic,meson8b-clkc-reset.h>
49#include <dt-bindings/reset/amlogic,meson8b-reset.h>
49#include "meson.dtsi" 50#include "meson.dtsi"
50 51
51/ { 52/ {
@@ -187,6 +188,12 @@
187 reg = <0x8000 0x4>, <0x4000 0x460>; 188 reg = <0x8000 0x4>, <0x4000 0x460>;
188 }; 189 };
189 190
191 reset: reset-controller@4404 {
192 compatible = "amlogic,meson8b-reset";
193 reg = <0x4404 0x9c>;
194 #reset-cells = <1>;
195 };
196
190 analog_top: analog-top@81a8 { 197 analog_top: analog-top@81a8 {
191 compatible = "amlogic,meson8-analog-top", "syscon"; 198 compatible = "amlogic,meson8-analog-top", "syscon";
192 reg = <0x81a8 0x14>; 199 reg = <0x81a8 0x14>;
@@ -383,10 +390,12 @@
383 compatible = "amlogic,meson8-usb2-phy", "amlogic,meson-mx-usb2-phy"; 390 compatible = "amlogic,meson8-usb2-phy", "amlogic,meson-mx-usb2-phy";
384 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>; 391 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB0>;
385 clock-names = "usb_general", "usb"; 392 clock-names = "usb_general", "usb";
393 resets = <&reset RESET_USB_OTG>;
386}; 394};
387 395
388&usb1_phy { 396&usb1_phy {
389 compatible = "amlogic,meson8-usb2-phy", "amlogic,meson-mx-usb2-phy"; 397 compatible = "amlogic,meson8-usb2-phy", "amlogic,meson-mx-usb2-phy";
390 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>; 398 clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1>;
391 clock-names = "usb_general", "usb"; 399 clock-names = "usb_general", "usb";
400 resets = <&reset RESET_USB_OTG>;
392}; 401};
diff --git a/arch/arm/boot/dts/meson8b-odroidc1.dts b/arch/arm/boot/dts/meson8b-odroidc1.dts
index 9ff6ca4e20d0..3a5603d95b70 100644
--- a/arch/arm/boot/dts/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/meson8b-odroidc1.dts
@@ -54,6 +54,7 @@
54 54
55 aliases { 55 aliases {
56 serial0 = &uart_AO; 56 serial0 = &uart_AO;
57 mmc0 = &sd_card_slot;
57 }; 58 };
58 59
59 memory { 60 memory {
@@ -69,6 +70,37 @@
69 default-state = "off"; 70 default-state = "off";
70 }; 71 };
71 }; 72 };
73
74 tflash_vdd: regulator-tflash_vdd {
75 /*
76 * signal name from schematics: TFLASH_VDD_EN
77 */
78 compatible = "regulator-fixed";
79
80 regulator-name = "TFLASH_VDD";
81 regulator-min-microvolt = <3300000>;
82 regulator-max-microvolt = <3300000>;
83
84 gpio = <&gpio GPIOY_12 GPIO_ACTIVE_HIGH>;
85 enable-active-high;
86 };
87
88 tf_io: gpio-regulator-tf_io {
89 compatible = "regulator-gpio";
90
91 regulator-name = "TF_IO";
92 regulator-min-microvolt = <1800000>;
93 regulator-max-microvolt = <3300000>;
94
95 /*
96 * signal name from schematics: TF_3V3N_1V8_EN
97 */
98 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_HIGH>;
99 gpios-states = <0>;
100
101 states = <3300000 0
102 1800000 1>;
103 };
72}; 104};
73 105
74&uart_AO { 106&uart_AO {
@@ -99,3 +131,59 @@
99&usb1 { 131&usb1 {
100 status = "okay"; 132 status = "okay";
101}; 133};
134
135&sdio {
136 status = "okay";
137
138 pinctrl-0 = <&sd_b_pins>;
139 pinctrl-names = "default";
140
141 /* SD card */
142 sd_card_slot: slot@1 {
143 compatible = "mmc-slot";
144 reg = <1>;
145 status = "okay";
146
147 bus-width = <4>;
148 no-sdio;
149 cap-mmc-highspeed;
150 cap-sd-highspeed;
151 disable-wp;
152
153 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
154 cd-inverted;
155
156 vmmc-supply = <&tflash_vdd>;
157 vqmmc-supply = <&tf_io>;
158 };
159};
160
161&ethmac {
162 status = "okay";
163
164 snps,reset-gpio = <&gpio GPIOH_4 GPIO_ACTIVE_HIGH>;
165 snps,reset-active-low;
166 snps,reset-delays-us = <0 10000 30000>;
167
168 pinctrl-0 = <&eth_rgmii_pins>;
169 pinctrl-names = "default";
170
171 phy-mode = "rgmii";
172 phy-handle = <&eth_phy>;
173 amlogic,tx-delay-ns = <4>;
174
175 mdio {
176 compatible = "snps,dwmac-mdio";
177 #address-cells = <1>;
178 #size-cells = <0>;
179
180 /* Realtek RTL8211F (0x001cc916) */
181 eth_phy: ethernet-phy@0 {
182 reg = <0>;
183 eee-broken-1000t;
184 interrupt-parent = <&gpio_intc>;
185 /* GPIOH_3 */
186 interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
187 };
188 };
189};
diff --git a/arch/arm/boot/dts/meson8b.dtsi b/arch/arm/boot/dts/meson8b.dtsi
index 7cd03ed3742e..553b82174604 100644
--- a/arch/arm/boot/dts/meson8b.dtsi
+++ b/arch/arm/boot/dts/meson8b.dtsi
@@ -152,7 +152,7 @@
152 152
153 reset: reset-controller@4404 { 153 reset: reset-controller@4404 {
154 compatible = "amlogic,meson8b-reset"; 154 compatible = "amlogic,meson8b-reset";
155 reg = <0x4404 0x20>; 155 reg = <0x4404 0x9c>;
156 #reset-cells = <1>; 156 #reset-cells = <1>;
157 }; 157 };
158 158
@@ -183,7 +183,36 @@
183 reg-names = "mux", "pull", "pull-enable", "gpio"; 183 reg-names = "mux", "pull", "pull-enable", "gpio";
184 gpio-controller; 184 gpio-controller;
185 #gpio-cells = <2>; 185 #gpio-cells = <2>;
186 gpio-ranges = <&pinctrl_cbus 0 0 130>; 186 gpio-ranges = <&pinctrl_cbus 0 0 83>;
187 };
188
189 eth_rgmii_pins: eth-rgmii {
190 mux {
191 groups = "eth_tx_clk",
192 "eth_tx_en",
193 "eth_txd1_0",
194 "eth_txd1_1",
195 "eth_txd0_0",
196 "eth_txd0_1",
197 "eth_rx_clk",
198 "eth_rx_dv",
199 "eth_rxd1",
200 "eth_rxd0",
201 "eth_mdio_en",
202 "eth_mdc",
203 "eth_ref_clk",
204 "eth_txd2",
205 "eth_txd3";
206 function = "ethernet";
207 };
208 };
209
210 sd_b_pins: sd-b {
211 mux {
212 groups = "sd_d0_b", "sd_d1_b", "sd_d2_b",
213 "sd_d3_b", "sd_clk_b", "sd_cmd_b";
214 function = "sd_b";
215 };
187 }; 216 };
188 }; 217 };
189}; 218};
@@ -203,8 +232,18 @@
203}; 232};
204 233
205&ethmac { 234&ethmac {
206 clocks = <&clkc CLKID_ETH>; 235 compatible = "amlogic,meson8b-dwmac", "snps,dwmac-3.70a", "snps,dwmac";
207 clock-names = "stmmaceth"; 236
237 reg = <0xc9410000 0x10000
238 0xc1108140 0x4>;
239
240 clocks = <&clkc CLKID_ETH>,
241 <&clkc CLKID_MPLL2>,
242 <&clkc CLKID_MPLL2>;
243 clock-names = "stmmaceth", "clkin0", "clkin1";
244
245 resets = <&reset RESET_ETHERNET>;
246 reset-names = "stmmaceth";
208}; 247};
209 248
210&gpio_intc { 249&gpio_intc {
@@ -219,6 +258,18 @@
219 clock-names = "core"; 258 clock-names = "core";
220}; 259};
221 260
261&i2c_AO {
262 clocks = <&clkc CLKID_CLK81>;
263};
264
265&i2c_A {
266 clocks = <&clkc CLKID_I2C>;
267};
268
269&i2c_B {
270 clocks = <&clkc CLKID_I2C>;
271};
272
222&L2 { 273&L2 {
223 arm,data-latency = <3 3 3>; 274 arm,data-latency = <3 3 3>;
224 arm,tag-latency = <2 2 2>; 275 arm,tag-latency = <2 2 2>;
diff --git a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
index 4d61e5b1334a..ddc7a7bb33c0 100644
--- a/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
+++ b/arch/arm/boot/dts/motorola-cpcap-mapphone.dtsi
@@ -68,6 +68,19 @@
68 }; 68 };
69 }; 69 };
70 70
71 cpcap_audio: audio-codec {
72 #sound-dai-cells = <1>;
73
74 port@0 {
75 cpcap_audio_codec0: endpoint {
76 };
77 };
78 port@1 {
79 cpcap_audio_codec1: endpoint {
80 };
81 };
82 };
83
71 cpcap_rtc: rtc { 84 cpcap_rtc: rtc {
72 compatible = "motorola,cpcap-rtc"; 85 compatible = "motorola,cpcap-rtc";
73 86
diff --git a/arch/arm/boot/dts/mt7623.dtsi b/arch/arm/boot/dts/mt7623.dtsi
index 8e7c65464c9d..e10c03496524 100644
--- a/arch/arm/boot/dts/mt7623.dtsi
+++ b/arch/arm/boot/dts/mt7623.dtsi
@@ -28,7 +28,7 @@
28 compatible = "mediatek,mt7623"; 28 compatible = "mediatek,mt7623";
29 interrupt-parent = <&sysirq>; 29 interrupt-parent = <&sysirq>;
30 30
31 cpu_opp_table: opp_table { 31 cpu_opp_table: opp-table {
32 compatible = "operating-points-v2"; 32 compatible = "operating-points-v2";
33 opp-shared; 33 opp-shared;
34 34
@@ -94,6 +94,9 @@
94 device_type = "cpu"; 94 device_type = "cpu";
95 compatible = "arm,cortex-a7"; 95 compatible = "arm,cortex-a7";
96 reg = <0x1>; 96 reg = <0x1>;
97 clocks = <&infracfg CLK_INFRA_CPUSEL>,
98 <&apmixedsys CLK_APMIXED_MAINPLL>;
99 clock-names = "cpu", "intermediate";
97 operating-points-v2 = <&cpu_opp_table>; 100 operating-points-v2 = <&cpu_opp_table>;
98 clock-frequency = <1300000000>; 101 clock-frequency = <1300000000>;
99 }; 102 };
@@ -102,6 +105,9 @@
102 device_type = "cpu"; 105 device_type = "cpu";
103 compatible = "arm,cortex-a7"; 106 compatible = "arm,cortex-a7";
104 reg = <0x2>; 107 reg = <0x2>;
108 clocks = <&infracfg CLK_INFRA_CPUSEL>,
109 <&apmixedsys CLK_APMIXED_MAINPLL>;
110 clock-names = "cpu", "intermediate";
105 operating-points-v2 = <&cpu_opp_table>; 111 operating-points-v2 = <&cpu_opp_table>;
106 clock-frequency = <1300000000>; 112 clock-frequency = <1300000000>;
107 }; 113 };
@@ -110,6 +116,9 @@
110 device_type = "cpu"; 116 device_type = "cpu";
111 compatible = "arm,cortex-a7"; 117 compatible = "arm,cortex-a7";
112 reg = <0x3>; 118 reg = <0x3>;
119 clocks = <&infracfg CLK_INFRA_CPUSEL>,
120 <&apmixedsys CLK_APMIXED_MAINPLL>;
121 clock-names = "cpu", "intermediate";
113 operating-points-v2 = <&cpu_opp_table>; 122 operating-points-v2 = <&cpu_opp_table>;
114 clock-frequency = <1300000000>; 123 clock-frequency = <1300000000>;
115 }; 124 };
@@ -136,32 +145,32 @@
136 }; 145 };
137 146
138 thermal-zones { 147 thermal-zones {
139 cpu_thermal: cpu_thermal { 148 cpu_thermal: cpu-thermal {
140 polling-delay-passive = <1000>; 149 polling-delay-passive = <1000>;
141 polling-delay = <1000>; 150 polling-delay = <1000>;
142 151
143 thermal-sensors = <&thermal 0>; 152 thermal-sensors = <&thermal 0>;
144 153
145 trips { 154 trips {
146 cpu_passive: cpu_passive { 155 cpu_passive: cpu-passive {
147 temperature = <47000>; 156 temperature = <47000>;
148 hysteresis = <2000>; 157 hysteresis = <2000>;
149 type = "passive"; 158 type = "passive";
150 }; 159 };
151 160
152 cpu_active: cpu_active { 161 cpu_active: cpu-active {
153 temperature = <67000>; 162 temperature = <67000>;
154 hysteresis = <2000>; 163 hysteresis = <2000>;
155 type = "active"; 164 type = "active";
156 }; 165 };
157 166
158 cpu_hot: cpu_hot { 167 cpu_hot: cpu-hot {
159 temperature = <87000>; 168 temperature = <87000>;
160 hysteresis = <2000>; 169 hysteresis = <2000>;
161 type = "hot"; 170 type = "hot";
162 }; 171 };
163 172
164 cpu_crit { 173 cpu-crit {
165 temperature = <107000>; 174 temperature = <107000>;
166 hysteresis = <2000>; 175 hysteresis = <2000>;
167 type = "critical"; 176 type = "critical";
@@ -668,6 +677,111 @@
668 #reset-cells = <1>; 677 #reset-cells = <1>;
669 }; 678 };
670 679
680 pcie: pcie@1a140000 {
681 compatible = "mediatek,mt7623-pcie";
682 device_type = "pci";
683 reg = <0 0x1a140000 0 0x1000>, /* PCIe shared registers */
684 <0 0x1a142000 0 0x1000>, /* Port0 registers */
685 <0 0x1a143000 0 0x1000>, /* Port1 registers */
686 <0 0x1a144000 0 0x1000>; /* Port2 registers */
687 reg-names = "subsys", "port0", "port1", "port2";
688 #address-cells = <3>;
689 #size-cells = <2>;
690 #interrupt-cells = <1>;
691 interrupt-map-mask = <0xf800 0 0 0>;
692 interrupt-map = <0x0000 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>,
693 <0x0800 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>,
694 <0x1000 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
695 clocks = <&topckgen CLK_TOP_ETHIF_SEL>,
696 <&hifsys CLK_HIFSYS_PCIE0>,
697 <&hifsys CLK_HIFSYS_PCIE1>,
698 <&hifsys CLK_HIFSYS_PCIE2>;
699 clock-names = "free_ck", "sys_ck0", "sys_ck1", "sys_ck2";
700 resets = <&hifsys MT2701_HIFSYS_PCIE0_RST>,
701 <&hifsys MT2701_HIFSYS_PCIE1_RST>,
702 <&hifsys MT2701_HIFSYS_PCIE2_RST>;
703 reset-names = "pcie-rst0", "pcie-rst1", "pcie-rst2";
704 phys = <&pcie0_port PHY_TYPE_PCIE>,
705 <&pcie1_port PHY_TYPE_PCIE>,
706 <&u3port1 PHY_TYPE_PCIE>;
707 phy-names = "pcie-phy0", "pcie-phy1", "pcie-phy2";
708 power-domains = <&scpsys MT2701_POWER_DOMAIN_HIF>;
709 bus-range = <0x00 0xff>;
710 status = "disabled";
711 ranges = <0x81000000 0 0x1a160000 0 0x1a160000 0 0x00010000
712 0x83000000 0 0x60000000 0 0x60000000 0 0x10000000>;
713
714 pcie@0,0 {
715 reg = <0x0000 0 0 0 0>;
716 #address-cells = <3>;
717 #size-cells = <2>;
718 #interrupt-cells = <1>;
719 interrupt-map-mask = <0 0 0 0>;
720 interrupt-map = <0 0 0 0 &sysirq GIC_SPI 193 IRQ_TYPE_LEVEL_LOW>;
721 ranges;
722 num-lanes = <1>;
723 status = "disabled";
724 };
725
726 pcie@1,0 {
727 reg = <0x0800 0 0 0 0>;
728 #address-cells = <3>;
729 #size-cells = <2>;
730 #interrupt-cells = <1>;
731 interrupt-map-mask = <0 0 0 0>;
732 interrupt-map = <0 0 0 0 &sysirq GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
733 ranges;
734 num-lanes = <1>;
735 status = "disabled";
736 };
737
738 pcie@2,0 {
739 reg = <0x1000 0 0 0 0>;
740 #address-cells = <3>;
741 #size-cells = <2>;
742 #interrupt-cells = <1>;
743 interrupt-map-mask = <0 0 0 0>;
744 interrupt-map = <0 0 0 0 &sysirq GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
745 ranges;
746 num-lanes = <1>;
747 status = "disabled";
748 };
749 };
750
751 pcie0_phy: pcie-phy@1a149000 {
752 compatible = "mediatek,generic-tphy-v1";
753 reg = <0 0x1a149000 0 0x0700>;
754 #address-cells = <2>;
755 #size-cells = <2>;
756 ranges;
757 status = "disabled";
758
759 pcie0_port: pcie-phy@1a149900 {
760 reg = <0 0x1a149900 0 0x0700>;
761 clocks = <&clk26m>;
762 clock-names = "ref";
763 #phy-cells = <1>;
764 status = "okay";
765 };
766 };
767
768 pcie1_phy: pcie-phy@1a14a000 {
769 compatible = "mediatek,generic-tphy-v1";
770 reg = <0 0x1a14a000 0 0x0700>;
771 #address-cells = <2>;
772 #size-cells = <2>;
773 ranges;
774 status = "disabled";
775
776 pcie1_port: pcie-phy@1a14a900 {
777 reg = <0 0x1a14a900 0 0x0700>;
778 clocks = <&clk26m>;
779 clock-names = "ref";
780 #phy-cells = <1>;
781 status = "okay";
782 };
783 };
784
671 usb1: usb@1a1c0000 { 785 usb1: usb@1a1c0000 {
672 compatible = "mediatek,mt7623-xhci", 786 compatible = "mediatek,mt7623-xhci",
673 "mediatek,mt8173-xhci"; 787 "mediatek,mt8173-xhci";
diff --git a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
index 7bf5aa2237c9..bbf56f855e46 100644
--- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
+++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts
@@ -39,7 +39,34 @@
39 }; 39 };
40 }; 40 };
41 41
42 gpio_keys { 42 reg_1p8v: regulator-1p8v {
43 compatible = "regulator-fixed";
44 regulator-name = "fixed-1.8V";
45 regulator-min-microvolt = <1800000>;
46 regulator-max-microvolt = <1800000>;
47 regulator-boot-on;
48 regulator-always-on;
49 };
50
51 reg_3p3v: regulator-3p3v {
52 compatible = "regulator-fixed";
53 regulator-name = "fixed-3.3V";
54 regulator-min-microvolt = <3300000>;
55 regulator-max-microvolt = <3300000>;
56 regulator-boot-on;
57 regulator-always-on;
58 };
59
60 reg_5v: regulator-5v {
61 compatible = "regulator-fixed";
62 regulator-name = "fixed-5V";
63 regulator-min-microvolt = <5000000>;
64 regulator-max-microvolt = <5000000>;
65 regulator-boot-on;
66 regulator-always-on;
67 };
68
69 gpio-keys {
43 compatible = "gpio-keys"; 70 compatible = "gpio-keys";
44 pinctrl-names = "default"; 71 pinctrl-names = "default";
45 pinctrl-0 = <&key_pins_a>; 72 pinctrl-0 = <&key_pins_a>;
@@ -120,7 +147,6 @@
120 #address-cells = <1>; 147 #address-cells = <1>;
121 #size-cells = <0>; 148 #size-cells = <0>;
122 reg = <0>; 149 reg = <0>;
123 pinctrl-names = "default";
124 reset-gpios = <&pio 33 0>; 150 reset-gpios = <&pio 33 0>;
125 core-supply = <&mt6323_vpa_reg>; 151 core-supply = <&mt6323_vpa_reg>;
126 io-supply = <&mt6323_vemc3v3_reg>; 152 io-supply = <&mt6323_vemc3v3_reg>;
@@ -191,8 +217,8 @@
191 bus-width = <8>; 217 bus-width = <8>;
192 max-frequency = <50000000>; 218 max-frequency = <50000000>;
193 cap-mmc-highspeed; 219 cap-mmc-highspeed;
194 vmmc-supply = <&mt6323_vemc3v3_reg>; 220 vmmc-supply = <&reg_3p3v>;
195 vqmmc-supply = <&mt6323_vio18_reg>; 221 vqmmc-supply = <&reg_1p8v>;
196 non-removable; 222 non-removable;
197}; 223};
198 224
@@ -205,20 +231,42 @@
205 max-frequency = <50000000>; 231 max-frequency = <50000000>;
206 cap-sd-highspeed; 232 cap-sd-highspeed;
207 cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>; 233 cd-gpios = <&pio 261 GPIO_ACTIVE_LOW>;
208 vmmc-supply = <&mt6323_vmch_reg>; 234 vmmc-supply = <&reg_3p3v>;
209 vqmmc-supply = <&mt6323_vio18_reg>; 235 vqmmc-supply = <&reg_3p3v>;
236};
237
238&pcie {
239 pinctrl-names = "default";
240 pinctrl-0 = <&pcie_default>;
241 status = "okay";
242
243 pcie@0,0 {
244 status = "okay";
245 };
246
247 pcie@1,0 {
248 status = "okay";
249 };
250};
251
252&pcie0_phy {
253 status = "okay";
254};
255
256&pcie1_phy {
257 status = "okay";
210}; 258};
211 259
212&pio { 260&pio {
213 cir_pins_a:cir@0 { 261 cir_pins_a:cir@0 {
214 pins_cir { 262 pins-cir {
215 pinmux = <MT7623_PIN_46_IR_FUNC_IR>; 263 pinmux = <MT7623_PIN_46_IR_FUNC_IR>;
216 bias-disable; 264 bias-disable;
217 }; 265 };
218 }; 266 };
219 267
220 i2c0_pins_a: i2c@0 { 268 i2c0_pins_a: i2c@0 {
221 pins_i2c0 { 269 pins-i2c0 {
222 pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>, 270 pinmux = <MT7623_PIN_75_SDA0_FUNC_SDA0>,
223 <MT7623_PIN_76_SCL0_FUNC_SCL0>; 271 <MT7623_PIN_76_SCL0_FUNC_SCL0>;
224 bias-disable; 272 bias-disable;
@@ -226,7 +274,7 @@
226 }; 274 };
227 275
228 i2c1_pins_a: i2c@1 { 276 i2c1_pins_a: i2c@1 {
229 pin_i2c1 { 277 pin-i2c1 {
230 pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>, 278 pinmux = <MT7623_PIN_57_SDA1_FUNC_SDA1>,
231 <MT7623_PIN_58_SCL1_FUNC_SCL1>; 279 <MT7623_PIN_58_SCL1_FUNC_SCL1>;
232 bias-disable; 280 bias-disable;
@@ -234,7 +282,7 @@
234 }; 282 };
235 283
236 i2s0_pins_a: i2s@0 { 284 i2s0_pins_a: i2s@0 {
237 pin_i2s0 { 285 pin-i2s0 {
238 pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>, 286 pinmux = <MT7623_PIN_49_I2S0_DATA_FUNC_I2S0_DATA>,
239 <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>, 287 <MT7623_PIN_72_I2S0_DATA_IN_FUNC_I2S0_DATA_IN>,
240 <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>, 288 <MT7623_PIN_73_I2S0_LRCK_FUNC_I2S0_LRCK>,
@@ -246,7 +294,7 @@
246 }; 294 };
247 295
248 i2s1_pins_a: i2s@1 { 296 i2s1_pins_a: i2s@1 {
249 pin_i2s1 { 297 pin-i2s1 {
250 pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>, 298 pinmux = <MT7623_PIN_33_I2S1_DATA_FUNC_I2S1_DATA>,
251 <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>, 299 <MT7623_PIN_34_I2S1_DATA_IN_FUNC_I2S1_DATA_IN>,
252 <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>, 300 <MT7623_PIN_35_I2S1_BCK_FUNC_I2S1_BCK>,
@@ -258,7 +306,7 @@
258 }; 306 };
259 307
260 key_pins_a: keys@0 { 308 key_pins_a: keys@0 {
261 pins_keys { 309 pins-keys {
262 pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>, 310 pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
263 <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ; 311 <MT7623_PIN_257_GPIO257_FUNC_GPIO257> ;
264 input-enable; 312 input-enable;
@@ -266,7 +314,7 @@
266 }; 314 };
267 315
268 led_pins_a: leds@0 { 316 led_pins_a: leds@0 {
269 pins_leds { 317 pins-leds {
270 pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>, 318 pinmux = <MT7623_PIN_239_EXT_SDIO0_FUNC_GPIO239>,
271 <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>, 319 <MT7623_PIN_240_EXT_XCS_FUNC_GPIO240>,
272 <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>; 320 <MT7623_PIN_241_EXT_SCK_FUNC_GPIO241>;
@@ -274,7 +322,7 @@
274 }; 322 };
275 323
276 mmc0_pins_default: mmc0default { 324 mmc0_pins_default: mmc0default {
277 pins_cmd_dat { 325 pins-cmd-dat {
278 pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>, 326 pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
279 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>, 327 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
280 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>, 328 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
@@ -288,19 +336,19 @@
288 bias-pull-up; 336 bias-pull-up;
289 }; 337 };
290 338
291 pins_clk { 339 pins-clk {
292 pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>; 340 pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
293 bias-pull-down; 341 bias-pull-down;
294 }; 342 };
295 343
296 pins_rst { 344 pins-rst {
297 pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>; 345 pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
298 bias-pull-up; 346 bias-pull-up;
299 }; 347 };
300 }; 348 };
301 349
302 mmc0_pins_uhs: mmc0 { 350 mmc0_pins_uhs: mmc0 {
303 pins_cmd_dat { 351 pins-cmd-dat {
304 pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>, 352 pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
305 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>, 353 <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
306 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>, 354 <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
@@ -315,20 +363,20 @@
315 bias-pull-up = <MTK_PUPD_SET_R1R0_01>; 363 bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
316 }; 364 };
317 365
318 pins_clk { 366 pins-clk {
319 pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>; 367 pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
320 drive-strength = <MTK_DRIVE_2mA>; 368 drive-strength = <MTK_DRIVE_2mA>;
321 bias-pull-down = <MTK_PUPD_SET_R1R0_01>; 369 bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
322 }; 370 };
323 371
324 pins_rst { 372 pins-rst {
325 pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>; 373 pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
326 bias-pull-up; 374 bias-pull-up;
327 }; 375 };
328 }; 376 };
329 377
330 mmc1_pins_default: mmc1default { 378 mmc1_pins_default: mmc1default {
331 pins_cmd_dat { 379 pins-cmd-dat {
332 pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>, 380 pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
333 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>, 381 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
334 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>, 382 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
@@ -339,26 +387,26 @@
339 bias-pull-up = <MTK_PUPD_SET_R1R0_10>; 387 bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
340 }; 388 };
341 389
342 pins_clk { 390 pins-clk {
343 pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>; 391 pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
344 bias-pull-down; 392 bias-pull-down;
345 drive-strength = <MTK_DRIVE_4mA>; 393 drive-strength = <MTK_DRIVE_4mA>;
346 }; 394 };
347 395
348 pins_wp { 396 pins-wp {
349 pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>; 397 pinmux = <MT7623_PIN_29_EINT7_FUNC_MSDC1_WP>;
350 input-enable; 398 input-enable;
351 bias-pull-up; 399 bias-pull-up;
352 }; 400 };
353 401
354 pins_insert { 402 pins-insert {
355 pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>; 403 pinmux = <MT7623_PIN_261_MSDC1_INS_FUNC_GPIO261>;
356 bias-pull-up; 404 bias-pull-up;
357 }; 405 };
358 }; 406 };
359 407
360 mmc1_pins_uhs: mmc1 { 408 mmc1_pins_uhs: mmc1 {
361 pins_cmd_dat { 409 pins-cmd-dat {
362 pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>, 410 pinmux = <MT7623_PIN_107_MSDC1_DAT0_FUNC_MSDC1_DAT0>,
363 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>, 411 <MT7623_PIN_108_MSDC1_DAT1_FUNC_MSDC1_DAT1>,
364 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>, 412 <MT7623_PIN_109_MSDC1_DAT2_FUNC_MSDC1_DAT2>,
@@ -369,15 +417,23 @@
369 bias-pull-up = <MTK_PUPD_SET_R1R0_10>; 417 bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
370 }; 418 };
371 419
372 pins_clk { 420 pins-clk {
373 pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>; 421 pinmux = <MT7623_PIN_106_MSDC1_CLK_FUNC_MSDC1_CLK>;
374 drive-strength = <MTK_DRIVE_4mA>; 422 drive-strength = <MTK_DRIVE_4mA>;
375 bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 423 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
376 }; 424 };
377 }; 425 };
378 426
427 pcie_default: pcie_pin_default {
428 pins_cmd_dat {
429 pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>,
430 <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>;
431 bias-disable;
432 };
433 };
434
379 pwm_pins_a: pwm@0 { 435 pwm_pins_a: pwm@0 {
380 pins_pwm { 436 pins-pwm {
381 pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>, 437 pinmux = <MT7623_PIN_203_PWM0_FUNC_PWM0>,
382 <MT7623_PIN_204_PWM1_FUNC_PWM1>, 438 <MT7623_PIN_204_PWM1_FUNC_PWM1>,
383 <MT7623_PIN_205_PWM2_FUNC_PWM2>, 439 <MT7623_PIN_205_PWM2_FUNC_PWM2>,
@@ -387,7 +443,7 @@
387 }; 443 };
388 444
389 spi0_pins_a: spi@0 { 445 spi0_pins_a: spi@0 {
390 pins_spi { 446 pins-spi {
391 pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>, 447 pinmux = <MT7623_PIN_53_SPI0_CSN_FUNC_SPI0_CS>,
392 <MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>, 448 <MT7623_PIN_54_SPI0_CK_FUNC_SPI0_CK>,
393 <MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>, 449 <MT7623_PIN_55_SPI0_MI_FUNC_SPI0_MI>,
@@ -397,18 +453,25 @@
397 }; 453 };
398 454
399 uart0_pins_a: uart@0 { 455 uart0_pins_a: uart@0 {
400 pins_dat { 456 pins-dat {
401 pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>, 457 pinmux = <MT7623_PIN_79_URXD0_FUNC_URXD0>,
402 <MT7623_PIN_80_UTXD0_FUNC_UTXD0>; 458 <MT7623_PIN_80_UTXD0_FUNC_UTXD0>;
403 }; 459 };
404 }; 460 };
405 461
406 uart1_pins_a: uart@1 { 462 uart1_pins_a: uart@1 {
407 pins_dat { 463 pins-dat {
408 pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>, 464 pinmux = <MT7623_PIN_81_URXD1_FUNC_URXD1>,
409 <MT7623_PIN_82_UTXD1_FUNC_UTXD1>; 465 <MT7623_PIN_82_UTXD1_FUNC_UTXD1>;
410 }; 466 };
411 }; 467 };
468
469 uart2_pins_a: uart@2 {
470 pins-dat {
471 pinmux = <MT7623_PIN_14_GPIO14_FUNC_URXD2>,
472 <MT7623_PIN_15_GPIO15_FUNC_UTXD2>;
473 };
474 };
412}; 475};
413 476
414&pwm { 477&pwm {
@@ -454,26 +517,30 @@
454&uart0 { 517&uart0 {
455 pinctrl-names = "default"; 518 pinctrl-names = "default";
456 pinctrl-0 = <&uart0_pins_a>; 519 pinctrl-0 = <&uart0_pins_a>;
457 status = "disabled"; 520 status = "okay";
458}; 521};
459 522
460&uart1 { 523&uart1 {
461 pinctrl-names = "default"; 524 pinctrl-names = "default";
462 pinctrl-0 = <&uart1_pins_a>; 525 pinctrl-0 = <&uart1_pins_a>;
463 status = "disabled"; 526 status = "okay";
464}; 527};
465 528
466&uart2 { 529&uart2 {
530 pinctrl-names = "default";
531 pinctrl-0 = <&uart2_pins_a>;
467 status = "okay"; 532 status = "okay";
468}; 533};
469 534
470&usb1 { 535&usb1 {
471 vusb33-supply = <&mt6323_vusb_reg>; 536 vusb33-supply = <&reg_3p3v>;
537 vbus-supply = <&reg_5v>;
472 status = "okay"; 538 status = "okay";
473}; 539};
474 540
475&usb2 { 541&usb2 {
476 vusb33-supply = <&mt6323_vusb_reg>; 542 vusb33-supply = <&reg_3p3v>;
543 vbus-supply = <&reg_5v>;
477 status = "okay"; 544 status = "okay";
478}; 545};
479 546
diff --git a/arch/arm/boot/dts/mt7623n-rfb-nand.dts b/arch/arm/boot/dts/mt7623n-rfb-nand.dts
index e66de8611650..f729c718aba1 100644
--- a/arch/arm/boot/dts/mt7623n-rfb-nand.dts
+++ b/arch/arm/boot/dts/mt7623n-rfb-nand.dts
@@ -81,13 +81,13 @@
81 81
82&pio { 82&pio {
83 nand_pins_default: nanddefault { 83 nand_pins_default: nanddefault {
84 pins_ale { 84 pins-ale {
85 pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>; 85 pinmux = <MT7623_PIN_116_MSDC0_CMD_FUNC_NALE>;
86 drive-strength = <MTK_DRIVE_8mA>; 86 drive-strength = <MTK_DRIVE_8mA>;
87 bias-pull-down = <MTK_PUPD_SET_R1R0_10>; 87 bias-pull-down = <MTK_PUPD_SET_R1R0_10>;
88 }; 88 };
89 89
90 pins_dat { 90 pins-dat {
91 pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>, 91 pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_NLD7>,
92 <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>, 92 <MT7623_PIN_112_MSDC0_DAT6_FUNC_NLD6>,
93 <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>, 93 <MT7623_PIN_114_MSDC0_DAT4_FUNC_NLD4>,
@@ -102,7 +102,7 @@
102 bias-pull-up; 102 bias-pull-up;
103 }; 103 };
104 104
105 pins_we { 105 pins-we {
106 pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>; 106 pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_NWEB>;
107 drive-strength = <MTK_DRIVE_8mA>; 107 drive-strength = <MTK_DRIVE_8mA>;
108 bias-pull-up = <MTK_PUPD_SET_R1R0_10>; 108 bias-pull-up = <MTK_PUPD_SET_R1R0_10>;
diff --git a/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi b/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi
new file mode 100644
index 000000000000..d2d0761295a4
--- /dev/null
+++ b/arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi
@@ -0,0 +1,187 @@
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
3// Copyright 2018 Google, Inc.
4
5#include <dt-bindings/interrupt-controller/arm-gic.h>
6
7/ {
8 #address-cells = <1>;
9 #size-cells = <1>;
10 interrupt-parent = <&gic>;
11
12 /* external reference clock */
13 clk_refclk: clk_refclk {
14 compatible = "fixed-clock";
15 #clock-cells = <0>;
16 clock-frequency = <25000000>;
17 clock-output-names = "refclk";
18 };
19
20 /* external reference clock for cpu. float in normal operation */
21 clk_sysbypck: clk_sysbypck {
22 compatible = "fixed-clock";
23 #clock-cells = <0>;
24 clock-frequency = <800000000>;
25 clock-output-names = "sysbypck";
26 };
27
28 /* external reference clock for MC. float in normal operation */
29 clk_mcbypck: clk_mcbypck {
30 compatible = "fixed-clock";
31 #clock-cells = <0>;
32 clock-frequency = <800000000>;
33 clock-output-names = "mcbypck";
34 };
35
36 /* external clock signal rg1refck, supplied by the phy */
37 clk_rg1refck: clk_rg1refck {
38 compatible = "fixed-clock";
39 #clock-cells = <0>;
40 clock-frequency = <125000000>;
41 clock-output-names = "clk_rg1refck";
42 };
43
44 /* external clock signal rg2refck, supplied by the phy */
45 clk_rg2refck: clk_rg2refck {
46 compatible = "fixed-clock";
47 #clock-cells = <0>;
48 clock-frequency = <125000000>;
49 clock-output-names = "clk_rg2refck";
50 };
51
52 clk_xin: clk_xin {
53 compatible = "fixed-clock";
54 #clock-cells = <0>;
55 clock-frequency = <50000000>;
56 clock-output-names = "clk_xin";
57 };
58
59 soc {
60 #address-cells = <1>;
61 #size-cells = <1>;
62 compatible = "simple-bus";
63 interrupt-parent = <&gic>;
64 ranges = <0x0 0xf0000000 0x00900000>;
65
66 gcr: gcr@800000 {
67 compatible = "nuvoton,npcm750-gcr", "syscon",
68 "simple-mfd";
69 reg = <0x800000 0x1000>;
70 };
71
72 scu: scu@3fe000 {
73 compatible = "arm,cortex-a9-scu";
74 reg = <0x3fe000 0x1000>;
75 };
76
77 l2: cache-controller@3fc000 {
78 compatible = "arm,pl310-cache";
79 reg = <0x3fc000 0x1000>;
80 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
81 cache-unified;
82 cache-level = <2>;
83 clocks = <&clk 10>;
84 arm,shared-override;
85 };
86
87 gic: interrupt-controller@3ff000 {
88 compatible = "arm,cortex-a9-gic";
89 interrupt-controller;
90 #interrupt-cells = <3>;
91 reg = <0x3ff000 0x1000>,
92 <0x3fe100 0x100>;
93 };
94 };
95
96 ahb {
97 #address-cells = <1>;
98 #size-cells = <1>;
99 compatible = "simple-bus";
100 interrupt-parent = <&gic>;
101 ranges;
102
103 clk: clock-controller@f0801000 {
104 compatible = "nuvoton,npcm750-clk", "syscon";
105 #clock-cells = <1>;
106 clock-controller;
107 reg = <0xf0801000 0x1000>;
108 clock-names = "refclk", "sysbypck", "mcbypck";
109 clocks = <&clk_refclk>, <&clk_sysbypck>, <&clk_mcbypck>;
110 };
111
112 apb {
113 #address-cells = <1>;
114 #size-cells = <1>;
115 compatible = "simple-bus";
116 interrupt-parent = <&gic>;
117 ranges = <0x0 0xf0000000 0x00300000>;
118
119 timer0: timer@8000 {
120 compatible = "nuvoton,npcm750-timer";
121 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
122 reg = <0x8000 0x50>;
123 clocks = <&clk 5>;
124 };
125
126 watchdog0: watchdog@801C {
127 compatible = "nuvoton,npcm750-wdt";
128 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
129 reg = <0x801C 0x4>;
130 status = "disabled";
131 clocks = <&clk 5>;
132 };
133
134 watchdog1: watchdog@901C {
135 compatible = "nuvoton,npcm750-wdt";
136 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
137 reg = <0x901C 0x4>;
138 status = "disabled";
139 clocks = <&clk 5>;
140 };
141
142 watchdog2: watchdog@a01C {
143 compatible = "nuvoton,npcm750-wdt";
144 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
145 reg = <0xa01C 0x4>;
146 status = "disabled";
147 clocks = <&clk 5>;
148 };
149
150 serial0: serial@1000 {
151 compatible = "nuvoton,npcm750-uart";
152 reg = <0x1000 0x1000>;
153 clocks = <&clk 6>;
154 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
155 reg-shift = <2>;
156 status = "disabled";
157 };
158
159 serial1: serial@2000 {
160 compatible = "nuvoton,npcm750-uart";
161 reg = <0x2000 0x1000>;
162 clocks = <&clk 6>;
163 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
164 reg-shift = <2>;
165 status = "disabled";
166 };
167
168 serial2: serial@3000 {
169 compatible = "nuvoton,npcm750-uart";
170 reg = <0x3000 0x1000>;
171 clocks = <&clk 6>;
172 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
173 reg-shift = <2>;
174 status = "disabled";
175 };
176
177 serial3: serial@4000 {
178 compatible = "nuvoton,npcm750-uart";
179 reg = <0x4000 0x1000>;
180 clocks = <&clk 6>;
181 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
182 reg-shift = <2>;
183 status = "disabled";
184 };
185 };
186 };
187};
diff --git a/arch/arm/boot/dts/nuvoton-npcm750-evb.dts b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
new file mode 100644
index 000000000000..15f744f1beea
--- /dev/null
+++ b/arch/arm/boot/dts/nuvoton-npcm750-evb.dts
@@ -0,0 +1,39 @@
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
3// Copyright 2018 Google, Inc.
4
5/dts-v1/;
6#include "nuvoton-npcm750.dtsi"
7
8/ {
9 model = "Nuvoton npcm750 Development Board (Device Tree)";
10 compatible = "nuvoton,npcm750";
11
12 chosen {
13 stdout-path = &serial3;
14 };
15
16 memory {
17 reg = <0 0x40000000>;
18 };
19};
20
21&watchdog1 {
22 status = "okay";
23};
24
25&serial0 {
26 status = "okay";
27};
28
29&serial1 {
30 status = "okay";
31};
32
33&serial2 {
34 status = "okay";
35};
36
37&serial3 {
38 status = "okay";
39};
diff --git a/arch/arm/boot/dts/nuvoton-npcm750.dtsi b/arch/arm/boot/dts/nuvoton-npcm750.dtsi
new file mode 100644
index 000000000000..6ac340533587
--- /dev/null
+++ b/arch/arm/boot/dts/nuvoton-npcm750.dtsi
@@ -0,0 +1,44 @@
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (c) 2018 Nuvoton Technology tomer.maimon@nuvoton.com
3// Copyright 2018 Google, Inc.
4
5#include "nuvoton-common-npcm7xx.dtsi"
6
7/ {
8 #address-cells = <1>;
9 #size-cells = <1>;
10 interrupt-parent = <&gic>;
11
12 cpus {
13 #address-cells = <1>;
14 #size-cells = <0>;
15 enable-method = "nuvoton,npcm750-smp";
16
17 cpu@0 {
18 device_type = "cpu";
19 compatible = "arm,cortex-a9";
20 clocks = <&clk 0>;
21 clock-names = "clk_cpu";
22 reg = <0>;
23 next-level-cache = <&l2>;
24 };
25
26 cpu@1 {
27 device_type = "cpu";
28 compatible = "arm,cortex-a9";
29 clocks = <&clk 0>;
30 clock-names = "clk_cpu";
31 reg = <1>;
32 next-level-cache = <&l2>;
33 };
34 };
35 soc {
36 timer@3fe600 {
37 compatible = "arm,cortex-a9-twd-timer";
38 reg = <0x3fe600 0x20>;
39 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
40 IRQ_TYPE_LEVEL_HIGH)>;
41 clocks = <&clk 5>;
42 };
43 };
44};
diff --git a/arch/arm/boot/dts/omap3-n9.dts b/arch/arm/boot/dts/omap3-n9.dts
index e44d93fc644c..ded5fcf084eb 100644
--- a/arch/arm/boot/dts/omap3-n9.dts
+++ b/arch/arm/boot/dts/omap3-n9.dts
@@ -39,6 +39,13 @@
39 }; 39 };
40}; 40};
41 41
42&i2c3 {
43 ak8975@0f {
44 compatible = "asahi-kasei,ak8975";
45 reg = <0x0f>;
46 };
47};
48
42&isp { 49&isp {
43 vdd-csiphy1-supply = <&vaux2>; 50 vdd-csiphy1-supply = <&vaux2>;
44 vdd-csiphy2-supply = <&vaux2>; 51 vdd-csiphy2-supply = <&vaux2>;
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index a005802cd52b..4043ecb38016 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -557,6 +557,7 @@
557 dma-names = "tx", "rx"; 557 dma-names = "tx", "rx";
558 clocks = <&mcbsp4_fck>; 558 clocks = <&mcbsp4_fck>;
559 clock-names = "fck"; 559 clock-names = "fck";
560 #sound-dai-cells = <0>;
560 status = "disabled"; 561 status = "disabled";
561 }; 562 };
562 563
diff --git a/arch/arm/boot/dts/omap4-droid4-xt894.dts b/arch/arm/boot/dts/omap4-droid4-xt894.dts
index b21084da490b..bdf73cbcec3a 100644
--- a/arch/arm/boot/dts/omap4-droid4-xt894.dts
+++ b/arch/arm/boot/dts/omap4-droid4-xt894.dts
@@ -70,8 +70,30 @@
70 regulator-always-on; 70 regulator-always-on;
71 }; 71 };
72 72
73 /* HS USB Host PHY on PORT 1 */ 73 /* FS USB Host PHY on port 1 for mdm6600 */
74 hsusb1_phy: hsusb1_phy { 74 fsusb1_phy: usb-phy@1 {
75 compatible = "motorola,mapphone-mdm6600";
76 pinctrl-0 = <&usb_mdm6600_pins>;
77 pinctrl-names = "default";
78 enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>; /* gpio_95 */
79 power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>; /* gpio_54 */
80 reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>; /* gpio_49 */
81 /* mode: gpio_148 gpio_149 */
82 motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>,
83 <&gpio5 21 GPIO_ACTIVE_HIGH>;
84 /* cmd: gpio_103 gpio_104 gpio_142 */
85 motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,
86 <&gpio4 8 GPIO_ACTIVE_HIGH>,
87 <&gpio5 14 GPIO_ACTIVE_HIGH>;
88 /* status: gpio_52 gpio_53 gpio_55 */
89 motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>,
90 <&gpio2 21 GPIO_ACTIVE_HIGH>,
91 <&gpio2 23 GPIO_ACTIVE_HIGH>;
92 #phy-cells = <0>;
93 };
94
95 /* HS USB host TLL nop-phy on port 2 for w3glte */
96 hsusb2_phy: usb-phy@2 {
75 compatible = "usb-nop-xceiv"; 97 compatible = "usb-nop-xceiv";
76 #phy-cells = <0>; 98 #phy-cells = <0>;
77 }; 99 };
@@ -117,6 +139,26 @@
117 139
118 }; 140 };
119 }; 141 };
142
143 soundcard {
144 compatible = "audio-graph-card";
145 label = "Droid 4 Audio";
146
147 simple-graph-card,widgets =
148 "Speaker", "Earpiece",
149 "Speaker", "Loudspeaker",
150 "Headphone", "Headphone Jack",
151 "Microphone", "Internal Mic";
152
153 simple-graph-card,routing =
154 "Earpiece", "EP",
155 "Loudspeaker", "SPKR",
156 "Headphone Jack", "HSL",
157 "Headphone Jack", "HSR",
158 "MICR", "Internal Mic";
159
160 dais = <&mcbsp2_port>, <&mcbsp3_port>;
161 };
120}; 162};
121 163
122&dss { 164&dss {
@@ -124,13 +166,6 @@
124}; 166};
125 167
126&gpio6 { 168&gpio6 {
127 touchscreen_reset {
128 gpio-hog;
129 gpios = <13 0>;
130 output-high;
131 line-name = "touchscreen-reset";
132 };
133
134 pwm8: dmtimer-pwm-8 { 169 pwm8: dmtimer-pwm-8 {
135 pinctrl-names = "default"; 170 pinctrl-names = "default";
136 pinctrl-0 = <&vibrator_direction_pin>; 171 pinctrl-0 = <&vibrator_direction_pin>;
@@ -362,22 +397,18 @@
362 }; 397 };
363}; 398};
364 399
365/*
366 * REVISIT: Add gpio173 reset pin handling to the driver, see gpio-hog above.
367 * If the GPIO reset is used, we probably need to have /lib/firmware/maxtouch.fw
368 * available. See "mxt-app" and "droid4-touchscreen-firmware" tools for more
369 * information.
370 */
371&i2c2 { 400&i2c2 {
372 tsp@4a { 401 touchscreen@4a {
373 compatible = "atmel,maxtouch"; 402 compatible = "atmel,maxtouch";
374 reg = <0x4a>; 403 reg = <0x4a>;
375 pinctrl-names = "default"; 404 pinctrl-names = "default";
376 pinctrl-0 = <&touchscreen_pins>; 405 pinctrl-0 = <&touchscreen_pins>;
377 406
407 reset-gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; /* gpio173 */
408
378 /* gpio_183 with sys_nirq2 pad as wakeup */ 409 /* gpio_183 with sys_nirq2 pad as wakeup */
379 interrupts-extended = <&gpio6 23 IRQ_TYPE_EDGE_FALLING 410 interrupts-extended = <&gpio6 23 IRQ_TYPE_EDGE_FALLING>,
380 &omap4_pmx_core 0x160>; 411 <&omap4_pmx_core 0x160>;
381 interrupt-names = "irq", "wakeup"; 412 interrupt-names = "irq", "wakeup";
382 wakeup-source; 413 wakeup-source;
383 }; 414 };
@@ -435,6 +466,7 @@
435 466
436 touchscreen_pins: pinmux_touchscreen_pins { 467 touchscreen_pins: pinmux_touchscreen_pins {
437 pinctrl-single,pins = < 468 pinctrl-single,pins = <
469 OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3)
438 OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3) 470 OMAP4_IOPAD(0x1a0, PIN_INPUT_PULLUP | MUX_MODE3)
439 >; 471 >;
440 }; 472 };
@@ -445,6 +477,43 @@
445 >; 477 >;
446 }; 478 };
447 479
480 usb_mdm6600_pins: pinmux_usb_mdm6600_pins {
481 pinctrl-single,pins = <
482 /* enable 0x4a1000d8 usbb1_ulpitll_dat7.gpio_95 ag16 */
483 OMAP4_IOPAD(0x0d8, PIN_INPUT | MUX_MODE3)
484
485 /* power 0x4a10007c gpmc_nwp.gpio_54 c25 */
486 OMAP4_IOPAD(0x07c, PIN_OUTPUT | MUX_MODE3)
487
488 /* reset 0x4a100072 gpmc_a25.gpio_49 d20 */
489 OMAP4_IOPAD(0x072, PIN_OUTPUT | MUX_MODE3)
490
491 /* mode0/bpwake 0x4a10014e sdmmc5_dat1.gpio_148 af4 */
492 OMAP4_IOPAD(0x14e, PIN_OUTPUT | MUX_MODE3)
493
494 /* mode1/apwake 0x4a100150 sdmmc5_dat2.gpio_149 ag3 */
495 OMAP4_IOPAD(0x150, PIN_OFF_OUTPUT_LOW | PIN_INPUT | MUX_MODE3)
496
497 /* status0 0x4a10007e gpmc_clk.gpio_55 b22 */
498 OMAP4_IOPAD(0x07e, PIN_INPUT | MUX_MODE3)
499
500 /* status1 0x4a10007a gpmc_ncs3.gpio_53 c22 */
501 OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)
502
503 /* status2 0x4a100078 gpmc_ncs2.gpio_52 d21 */
504 OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3)
505
506 /* cmd0 0x4a100094 gpmc_ncs6.gpio_103 c24 */
507 OMAP4_IOPAD(0x094, PIN_OUTPUT | MUX_MODE3)
508
509 /* cmd1 0x4a100096 gpmc_ncs7.gpio_104 d24 */
510 OMAP4_IOPAD(0x096, PIN_OUTPUT | MUX_MODE3)
511
512 /* cmd2 0x4a100142 uart3_rts_sd.gpio_142 f28 */
513 OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE3)
514 >;
515 };
516
448 usb_ulpi_pins: pinmux_usb_ulpi_pins { 517 usb_ulpi_pins: pinmux_usb_ulpi_pins {
449 pinctrl-single,pins = < 518 pinctrl-single,pins = <
450 OMAP4_IOPAD(0x196, MUX_MODE7) 519 OMAP4_IOPAD(0x196, MUX_MODE7)
@@ -484,6 +553,28 @@
484 >; 553 >;
485 }; 554 };
486 555
556 /*
557 * Note that the v3.0.8 stock userspace dynamically remuxes uart1
558 * rts pin probably for PM purposes to PIN_INPUT_PULLUP | MUX_MODE7
559 * when not used. If needed, we can add rts pin remux later based
560 * on power measurements.
561 */
562 uart1_pins: pinmux_uart1_pins {
563 pinctrl-single,pins = <
564 /* 0x4a10013c mcspi1_cs2.uart1_cts ag23 */
565 OMAP4_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE1)
566
567 /* 0x4a10013e mcspi1_cs3.uart1_rts ah23 */
568 OMAP4_IOPAD(0x13e, MUX_MODE1)
569
570 /* 0x4a100140 uart3_cts_rctx.uart1_tx f27 */
571 OMAP4_IOPAD(0x140, PIN_OUTPUT | MUX_MODE1)
572
573 /* 0x4a1001ca dpm_emu14.uart1_rx aa3 */
574 OMAP4_IOPAD(0x1ca, PIN_INPUT_PULLUP | MUX_MODE2)
575 >;
576 };
577
487 /* uart3_tx_irtx and uart3_rx_irrx */ 578 /* uart3_tx_irtx and uart3_rx_irrx */
488 uart3_pins: pinmux_uart3_pins { 579 uart3_pins: pinmux_uart3_pins {
489 pinctrl-single,pins = < 580 pinctrl-single,pins = <
@@ -512,6 +603,24 @@
512 OMAP4_IOPAD(0x112, PIN_OUTPUT_PULLUP | MUX_MODE5) /* uart4_rts */ 603 OMAP4_IOPAD(0x112, PIN_OUTPUT_PULLUP | MUX_MODE5) /* uart4_rts */
513 >; 604 >;
514 }; 605 };
606
607 mcbsp2_pins: pinmux_mcbsp2_pins {
608 pinctrl-single,pins = <
609 OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx */
610 OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_dr */
611 OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0) /* abe_mcbsp2_dx */
612 OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx */
613 >;
614 };
615
616 mcbsp3_pins: pinmux_mcbsp3_pins {
617 pinctrl-single,pins = <
618 OMAP4_IOPAD(0x106, PIN_INPUT | MUX_MODE1) /* abe_mcbsp3_dr */
619 OMAP4_IOPAD(0x108, PIN_OUTPUT | MUX_MODE1) /* abe_mcbsp3_dx */
620 OMAP4_IOPAD(0x10a, PIN_INPUT | MUX_MODE1) /* abe_mcbsp3_clkx */
621 OMAP4_IOPAD(0x10c, PIN_INPUT | MUX_MODE1) /* abe_mcbsp3_fsx */
622 >;
623 };
515}; 624};
516 625
517&omap4_pmx_wkup { 626&omap4_pmx_wkup {
@@ -535,6 +644,17 @@
535 }; 644 };
536}; 645};
537 646
647/*
648 * As uart1 is wired to mdm6600 with rts and cts, we can use the cts pin for
649 * uart1 wakeirq.
650 */
651&uart1 {
652 pinctrl-names = "default";
653 pinctrl-0 = <&uart1_pins>;
654 interrupts-extended = <&wakeupgen GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH
655 &omap4_pmx_core 0xfc>;
656};
657
538&uart3 { 658&uart3 {
539 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH 659 interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
540 &omap4_pmx_core 0x17c>; 660 &omap4_pmx_core 0x17c>;
@@ -551,8 +671,13 @@
551 }; 671 };
552}; 672};
553 673
674&usbhsohci {
675 phys = <&fsusb1_phy>;
676 phy-names = "usb";
677};
678
554&usbhsehci { 679&usbhsehci {
555 phys = <&hsusb1_phy>; 680 phys = <&hsusb2_phy>;
556}; 681};
557 682
558&usbhshost { 683&usbhshost {
@@ -597,3 +722,43 @@
597 "0", "0", "1"; 722 "0", "0", "1";
598 }; 723 };
599}; 724};
725
726&mcbsp2 {
727 #sound-dai-cells = <0>;
728 pinctrl-names = "default";
729 pinctrl-0 = <&mcbsp2_pins>;
730 status = "okay";
731
732 mcbsp2_port: port {
733 cpu_dai2: endpoint {
734 dai-format = "i2s";
735 remote-endpoint = <&cpcap_audio_codec0>;
736 frame-master = <&cpcap_audio_codec0>;
737 bitclock-master = <&cpcap_audio_codec0>;
738 };
739 };
740};
741
742&mcbsp3 {
743 #sound-dai-cells = <0>;
744 pinctrl-names = "default";
745 pinctrl-0 = <&mcbsp3_pins>;
746 status = "okay";
747
748 mcbsp3_port: port {
749 cpu_dai3: endpoint {
750 dai-format = "dsp_a";
751 frame-master = <&cpcap_audio_codec1>;
752 bitclock-master = <&cpcap_audio_codec1>;
753 remote-endpoint = <&cpcap_audio_codec1>;
754 };
755 };
756};
757
758&cpcap_audio_codec0 {
759 remote-endpoint = <&cpu_dai2>;
760};
761
762&cpcap_audio_codec1 {
763 remote-endpoint = <&cpu_dai3>;
764};
diff --git a/arch/arm/boot/dts/omap443x.dtsi b/arch/arm/boot/dts/omap443x.dtsi
index 03c8ad91ddac..cbcdcb4e7d1c 100644
--- a/arch/arm/boot/dts/omap443x.dtsi
+++ b/arch/arm/boot/dts/omap443x.dtsi
@@ -24,8 +24,6 @@
24 clock-latency = <300000>; /* From legacy driver */ 24 clock-latency = <300000>; /* From legacy driver */
25 25
26 /* cooling options */ 26 /* cooling options */
27 cooling-min-level = <0>;
28 cooling-max-level = <3>;
29 #cooling-cells = <2>; /* min followed by max */ 27 #cooling-cells = <2>; /* min followed by max */
30 }; 28 };
31 }; 29 };
diff --git a/arch/arm/boot/dts/omap4460.dtsi b/arch/arm/boot/dts/omap4460.dtsi
index c43f2a2d0a1e..ad97493e4e46 100644
--- a/arch/arm/boot/dts/omap4460.dtsi
+++ b/arch/arm/boot/dts/omap4460.dtsi
@@ -22,8 +22,6 @@
22 clock-latency = <300000>; /* From legacy driver */ 22 clock-latency = <300000>; /* From legacy driver */
23 23
24 /* cooling options */ 24 /* cooling options */
25 cooling-min-level = <0>;
26 cooling-max-level = <2>;
27 #cooling-cells = <2>; /* min followed by max */ 25 #cooling-cells = <2>; /* min followed by max */
28 }; 26 };
29 }; 27 };
diff --git a/arch/arm/boot/dts/omap5-board-common.dtsi b/arch/arm/boot/dts/omap5-board-common.dtsi
index 1b20838bb9a4..3b2244560c28 100644
--- a/arch/arm/boot/dts/omap5-board-common.dtsi
+++ b/arch/arm/boot/dts/omap5-board-common.dtsi
@@ -659,8 +659,8 @@
659 v2v1-supply = <&smps9_reg>; 659 v2v1-supply = <&smps9_reg>;
660 enable-active-high; 660 enable-active-high;
661 661
662 clocks = <&clk32kgaudio>; 662 clocks = <&clk32kgaudio>, <&fref_xtal_ck>;
663 clock-names = "clk32k"; 663 clock-names = "clk32k", "mclk";
664 }; 664 };
665}; 665};
666 666
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 35d4298da83d..732b61a0e990 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -55,8 +55,6 @@
55 clock-latency = <300000>; /* From omap-cpufreq driver */ 55 clock-latency = <300000>; /* From omap-cpufreq driver */
56 56
57 /* cooling options */ 57 /* cooling options */
58 cooling-min-level = <0>;
59 cooling-max-level = <2>;
60 #cooling-cells = <2>; /* min followed by max */ 58 #cooling-cells = <2>; /* min followed by max */
61 }; 59 };
62 cpu@1 { 60 cpu@1 {
@@ -289,6 +287,28 @@
289 pinctrl-single,register-width = <16>; 287 pinctrl-single,register-width = <16>;
290 pinctrl-single,function-mask = <0x7fff>; 288 pinctrl-single,function-mask = <0x7fff>;
291 }; 289 };
290
291 omap5_scm_wkup_pad_conf: omap5_scm_wkup_pad_conf@cda0 {
292 compatible = "ti,omap5-scm-wkup-pad-conf",
293 "simple-bus";
294 reg = <0xcda0 0x60>;
295 #address-cells = <1>;
296 #size-cells = <1>;
297 ranges = <0 0xcda0 0x60>;
298
299 scm_wkup_pad_conf: scm_conf@0 {
300 compatible = "syscon", "simple-bus";
301 reg = <0x0 0x60>;
302 #address-cells = <1>;
303 #size-cells = <1>;
304 ranges = <0 0x0 0x60>;
305
306 scm_wkup_pad_conf_clocks: clocks@0 {
307 #address-cells = <1>;
308 #size-cells = <0>;
309 };
310 };
311 };
292 }; 312 };
293 313
294 ocmcram: ocmcram@40300000 { 314 ocmcram: ocmcram@40300000 {
diff --git a/arch/arm/boot/dts/omap54xx-clocks.dtsi b/arch/arm/boot/dts/omap54xx-clocks.dtsi
index 9619a746d657..ecc5573d264c 100644
--- a/arch/arm/boot/dts/omap54xx-clocks.dtsi
+++ b/arch/arm/boot/dts/omap54xx-clocks.dtsi
@@ -1179,3 +1179,13 @@
1179 }; 1179 };
1180 }; 1180 };
1181}; 1181};
1182
1183&scm_wkup_pad_conf_clocks {
1184 fref_xtal_ck: fref_xtal_ck {
1185 #clock-cells = <0>;
1186 compatible = "ti,gate-clock";
1187 clocks = <&sys_clkin>;
1188 ti,bit-shift = <28>;
1189 reg = <0x14>;
1190 };
1191};
diff --git a/arch/arm/boot/dts/orion5x-lacie-d2-network.dts b/arch/arm/boot/dts/orion5x-lacie-d2-network.dts
index c701e8d16bbb..8c2449da6f00 100644
--- a/arch/arm/boot/dts/orion5x-lacie-d2-network.dts
+++ b/arch/arm/boot/dts/orion5x-lacie-d2-network.dts
@@ -24,7 +24,7 @@
24 24
25 chosen { 25 chosen {
26 bootargs = "console=ttyS0,115200n8 earlyprintk"; 26 bootargs = "console=ttyS0,115200n8 earlyprintk";
27 linux,stdout-path = &uart0; 27 stdout-path = &uart0;
28 }; 28 };
29 29
30 soc { 30 soc {
diff --git a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
index 89ff404a528c..b545d0f228a5 100644
--- a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
+++ b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
@@ -30,7 +30,7 @@
30 30
31 chosen { 31 chosen {
32 bootargs = "console=ttyS0,115200n8 earlyprintk"; 32 bootargs = "console=ttyS0,115200n8 earlyprintk";
33 linux,stdout-path = &uart0; 33 stdout-path = &uart0;
34 }; 34 };
35 35
36 soc { 36 soc {
diff --git a/arch/arm/boot/dts/orion5x-linkstation.dtsi b/arch/arm/boot/dts/orion5x-linkstation.dtsi
index e9991c83d7b7..ebd93df5d07a 100644
--- a/arch/arm/boot/dts/orion5x-linkstation.dtsi
+++ b/arch/arm/boot/dts/orion5x-linkstation.dtsi
@@ -48,7 +48,7 @@
48/ { 48/ {
49 chosen { 49 chosen {
50 bootargs = "console=ttyS0,115200n8 earlyprintk"; 50 bootargs = "console=ttyS0,115200n8 earlyprintk";
51 linux,stdout-path = &uart0; 51 stdout-path = &uart0;
52 }; 52 };
53 53
54 soc { 54 soc {
diff --git a/arch/arm/boot/dts/orion5x-lswsgl.dts b/arch/arm/boot/dts/orion5x-lswsgl.dts
index ea966ec03dd0..0d97ded66257 100644
--- a/arch/arm/boot/dts/orion5x-lswsgl.dts
+++ b/arch/arm/boot/dts/orion5x-lswsgl.dts
@@ -60,7 +60,7 @@
60 60
61 chosen { 61 chosen {
62 bootargs = "console=ttyS0,115200 earlyprintk"; 62 bootargs = "console=ttyS0,115200 earlyprintk";
63 linux,stdout-path = &uart0; 63 stdout-path = &uart0;
64 }; 64 };
65 65
66 soc { 66 soc {
diff --git a/arch/arm/boot/dts/orion5x-maxtor-shared-storage-2.dts b/arch/arm/boot/dts/orion5x-maxtor-shared-storage-2.dts
index ff3484904294..0324cb54939d 100644
--- a/arch/arm/boot/dts/orion5x-maxtor-shared-storage-2.dts
+++ b/arch/arm/boot/dts/orion5x-maxtor-shared-storage-2.dts
@@ -24,7 +24,7 @@
24 24
25 chosen { 25 chosen {
26 bootargs = "console=ttyS0,115200n8 earlyprintk"; 26 bootargs = "console=ttyS0,115200n8 earlyprintk";
27 linux,stdout-path = &uart0; 27 stdout-path = &uart0;
28 }; 28 };
29 29
30 soc { 30 soc {
diff --git a/arch/arm/boot/dts/orion5x-rd88f5182-nas.dts b/arch/arm/boot/dts/orion5x-rd88f5182-nas.dts
index 6fb052507b36..d1817af53e0b 100644
--- a/arch/arm/boot/dts/orion5x-rd88f5182-nas.dts
+++ b/arch/arm/boot/dts/orion5x-rd88f5182-nas.dts
@@ -21,7 +21,7 @@
21 21
22 chosen { 22 chosen {
23 bootargs = "console=ttyS0,115200n8 earlyprintk"; 23 bootargs = "console=ttyS0,115200n8 earlyprintk";
24 linux,stdout-path = &uart0; 24 stdout-path = &uart0;
25 }; 25 };
26 26
27 soc { 27 soc {
diff --git a/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts b/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts
index 1297414dd649..0c9729306089 100644
--- a/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts
+++ b/arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts
@@ -23,7 +23,7 @@
23 }; 23 };
24 24
25 chosen { 25 chosen {
26 linux,stdout-path = &uart0; 26 stdout-path = &uart0;
27 }; 27 };
28 28
29 clocks { 29 clocks {
diff --git a/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts b/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts
index 9e317a4f431c..86f26715b619 100644
--- a/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts
+++ b/arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts
@@ -23,7 +23,7 @@
23 }; 23 };
24 24
25 chosen { 25 chosen {
26 linux,stdout-path = &uart0; 26 stdout-path = &uart0;
27 }; 27 };
28 28
29 clocks { 29 clocks {
diff --git a/arch/arm/boot/dts/qcom-apq8064-cm-qs600.dts b/arch/arm/boot/dts/qcom-apq8064-cm-qs600.dts
index b818ebce0978..209eb21cea00 100644
--- a/arch/arm/boot/dts/qcom-apq8064-cm-qs600.dts
+++ b/arch/arm/boot/dts/qcom-apq8064-cm-qs600.dts
@@ -133,7 +133,7 @@
133 clock-frequency = <200000>; 133 clock-frequency = <200000>;
134 134
135 eeprom@50 { 135 eeprom@50 {
136 compatible = "24c02"; 136 compatible = "atmel,24c02";
137 reg = <0x50>; 137 reg = <0x50>;
138 pagesize = <32>; 138 pagesize = <32>;
139 }; 139 };
diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index 3ca96e361878..5341a39c0392 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -316,6 +316,23 @@
316 }; 316 };
317 }; 317 };
318 318
319
320 /*
321 * These channels from the ADC are simply hardware monitors.
322 * That is why the ADC is referred to as "HKADC" - HouseKeeping
323 * ADC.
324 */
325 iio-hwmon {
326 compatible = "iio-hwmon";
327 io-channels = <&xoadc 0x00 0x01>, /* Battery */
328 <&xoadc 0x00 0x02>, /* DC in (charger) */
329 <&xoadc 0x00 0x04>, /* VPH the main system voltage */
330 <&xoadc 0x00 0x0b>, /* Die temperature */
331 <&xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
332 <&xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
333 <&xoadc 0x00 0x0e>; /* Charger temperature */
334 };
335
319 soc: soc { 336 soc: soc {
320 #address-cells = <1>; 337 #address-cells = <1>;
321 #size-cells = <1>; 338 #size-cells = <1>;
@@ -770,6 +787,52 @@
770 debounce = <15625>; 787 debounce = <15625>;
771 pull-up; 788 pull-up;
772 }; 789 };
790
791 xoadc: xoadc@197 {
792 compatible = "qcom,pm8921-adc";
793 reg = <197>;
794 interrupts-extended = <&pmicintc 78 IRQ_TYPE_EDGE_RISING>;
795 #address-cells = <2>;
796 #size-cells = <0>;
797 #io-channel-cells = <2>;
798
799 vcoin: adc-channel@00 {
800 reg = <0x00 0x00>;
801 };
802 vbat: adc-channel@01 {
803 reg = <0x00 0x01>;
804 };
805 dcin: adc-channel@02 {
806 reg = <0x00 0x02>;
807 };
808 vph_pwr: adc-channel@04 {
809 reg = <0x00 0x04>;
810 };
811 batt_therm: adc-channel@08 {
812 reg = <0x00 0x08>;
813 };
814 batt_id: adc-channel@09 {
815 reg = <0x00 0x09>;
816 };
817 usb_vbus: adc-channel@0a {
818 reg = <0x00 0x0a>;
819 };
820 die_temp: adc-channel@0b {
821 reg = <0x00 0x0b>;
822 };
823 ref_625mv: adc-channel@0c {
824 reg = <0x00 0x0c>;
825 };
826 ref_1250mv: adc-channel@0d {
827 reg = <0x00 0x0d>;
828 };
829 chg_temp: adc-channel@0e {
830 reg = <0x00 0x0e>;
831 };
832 ref_muxoff: adc-channel@0f {
833 reg = <0x00 0x0f>;
834 };
835 };
773 }; 836 };
774 }; 837 };
775 838
diff --git a/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
new file mode 100644
index 000000000000..eaa1001d0a46
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts
@@ -0,0 +1,24 @@
1// SPDX-License-Identifier: GPL-2.0
2#include "qcom-msm8974pro.dtsi"
3#include "qcom-pm8841.dtsi"
4#include "qcom-pm8941.dtsi"
5
6/ {
7 model = "Samsung Galaxy S5";
8 compatible = "samsung,klte", "qcom,msm8974";
9
10 aliases {
11 serial0 = &blsp1_uart1;
12 };
13
14 chosen {
15 stdout-path = "serial0:115200n8";
16 };
17};
18
19&soc {
20 serial@f991e000 {
21 status = "ok";
22 };
23
24};
diff --git a/arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts b/arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
index e87f2c99060d..701b396719c7 100644
--- a/arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
+++ b/arch/arm/boot/dts/qcom-msm8974-sony-xperia-castor.dts
@@ -491,7 +491,7 @@
491 pinctrl-0 = <&i2c8_pins>; 491 pinctrl-0 = <&i2c8_pins>;
492 492
493 synaptics@2c { 493 synaptics@2c {
494 compatible = "syna,rmi-i2c"; 494 compatible = "syna,rmi4-i2c";
495 reg = <0x2c>; 495 reg = <0x2c>;
496 496
497 interrupt-parent = <&msmgpio>; 497 interrupt-parent = <&msmgpio>;
@@ -506,6 +506,8 @@
506 pinctrl-names = "default"; 506 pinctrl-names = "default";
507 pinctrl-0 = <&ts_int_pin>; 507 pinctrl-0 = <&ts_int_pin>;
508 508
509 syna,startup-delay-ms = <10>;
510
509 rmi-f01@1 { 511 rmi-f01@1 {
510 reg = <0x1>; 512 reg = <0x1>;
511 syna,nosleep = <1>; 513 syna,nosleep = <1>;
diff --git a/arch/arm/boot/dts/r8a7743-iwg20m.dtsi b/arch/arm/boot/dts/r8a7743-iwg20m.dtsi
index 75a8ca571846..1d3e9503c5bd 100644
--- a/arch/arm/boot/dts/r8a7743-iwg20m.dtsi
+++ b/arch/arm/boot/dts/r8a7743-iwg20m.dtsi
@@ -34,6 +34,10 @@
34 }; 34 };
35}; 35};
36 36
37&cmt0 {
38 status = "okay";
39};
40
37&extal_clk { 41&extal_clk {
38 clock-frequency = <20000000>; 42 clock-frequency = <20000000>;
39}; 43};
diff --git a/arch/arm/boot/dts/r8a7743.dtsi b/arch/arm/boot/dts/r8a7743.dtsi
index 0b74c6c7d21d..1d9073ba0ce0 100644
--- a/arch/arm/boot/dts/r8a7743.dtsi
+++ b/arch/arm/boot/dts/r8a7743.dtsi
@@ -141,29 +141,6 @@
141 #size-cells = <2>; 141 #size-cells = <2>;
142 ranges; 142 ranges;
143 143
144 apmu@e6152000 {
145 compatible = "renesas,r8a7743-apmu", "renesas,apmu";
146 reg = <0 0xe6152000 0 0x188>;
147 cpus = <&cpu0 &cpu1>;
148 };
149
150 gic: interrupt-controller@f1001000 {
151 compatible = "arm,gic-400";
152 #interrupt-cells = <3>;
153 #address-cells = <0>;
154 interrupt-controller;
155 reg = <0 0xf1001000 0 0x1000>,
156 <0 0xf1002000 0 0x2000>,
157 <0 0xf1004000 0 0x2000>,
158 <0 0xf1006000 0 0x2000>;
159 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
160 IRQ_TYPE_LEVEL_HIGH)>;
161 clocks = <&cpg CPG_MOD 408>;
162 clock-names = "clk";
163 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
164 resets = <&cpg 408>;
165 };
166
167 gpio0: gpio@e6050000 { 144 gpio0: gpio@e6050000 {
168 compatible = "renesas,gpio-r8a7743", 145 compatible = "renesas,gpio-r8a7743",
169 "renesas,rcar-gen2-gpio"; 146 "renesas,rcar-gen2-gpio";
@@ -284,6 +261,48 @@
284 resets = <&cpg 904>; 261 resets = <&cpg 904>;
285 }; 262 };
286 263
264 pfc: pin-controller@e6060000 {
265 compatible = "renesas,pfc-r8a7743";
266 reg = <0 0xe6060000 0 0x250>;
267 };
268
269 tpu: pwm@e60f0000 {
270 compatible = "renesas,tpu-r8a7743", "renesas,tpu";
271 reg = <0 0xe60f0000 0 0x148>;
272 clocks = <&cpg CPG_MOD 304>;
273 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
274 resets = <&cpg 304>;
275 #pwm-cells = <3>;
276 status = "disabled";
277 };
278
279 cpg: clock-controller@e6150000 {
280 compatible = "renesas,r8a7743-cpg-mssr";
281 reg = <0 0xe6150000 0 0x1000>;
282 clocks = <&extal_clk>, <&usb_extal_clk>;
283 clock-names = "extal", "usb_extal";
284 #clock-cells = <2>;
285 #power-domain-cells = <0>;
286 #reset-cells = <1>;
287 };
288
289 apmu@e6152000 {
290 compatible = "renesas,r8a7743-apmu", "renesas,apmu";
291 reg = <0 0xe6152000 0 0x188>;
292 cpus = <&cpu0 &cpu1>;
293 };
294
295 rst: reset-controller@e6160000 {
296 compatible = "renesas,r8a7743-rst";
297 reg = <0 0xe6160000 0 0x100>;
298 };
299
300 sysc: system-controller@e6180000 {
301 compatible = "renesas,r8a7743-sysc";
302 reg = <0 0xe6180000 0 0x200>;
303 #power-domain-cells = <1>;
304 };
305
287 irqc: interrupt-controller@e61c0000 { 306 irqc: interrupt-controller@e61c0000 {
288 compatible = "renesas,irqc-r8a7743", "renesas,irqc"; 307 compatible = "renesas,irqc-r8a7743", "renesas,irqc";
289 #interrupt-cells = <2>; 308 #interrupt-cells = <2>;
@@ -316,227 +335,89 @@
316 #thermal-sensor-cells = <0>; 335 #thermal-sensor-cells = <0>;
317 }; 336 };
318 337
319 cmt0: timer@ffca0000 { 338 ipmmu_sy0: mmu@e6280000 {
320 compatible = "renesas,r8a7743-cmt0", 339 compatible = "renesas,ipmmu-r8a7743",
321 "renesas,rcar-gen2-cmt0"; 340 "renesas,ipmmu-vmsa";
322 reg = <0 0xffca0000 0 0x1004>; 341 reg = <0 0xe6280000 0 0x1000>;
323 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 342 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
324 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 343 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
325 clocks = <&cpg CPG_MOD 124>; 344 #iommu-cells = <1>;
326 clock-names = "fck";
327 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
328 resets = <&cpg 124>;
329 status = "disabled"; 345 status = "disabled";
330 }; 346 };
331 347
332 cmt1: timer@e6130000 { 348 ipmmu_sy1: mmu@e6290000 {
333 compatible = "renesas,r8a7743-cmt1", 349 compatible = "renesas,ipmmu-r8a7743",
334 "renesas,rcar-gen2-cmt1"; 350 "renesas,ipmmu-vmsa";
335 reg = <0 0xe6130000 0 0x1004>; 351 reg = <0 0xe6290000 0 0x1000>;
336 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 352 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
337 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 353 #iommu-cells = <1>;
338 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
339 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
340 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
341 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
342 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
343 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
344 clocks = <&cpg CPG_MOD 329>;
345 clock-names = "fck";
346 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
347 resets = <&cpg 329>;
348 status = "disabled"; 354 status = "disabled";
349 }; 355 };
350 356
351 cpg: clock-controller@e6150000 { 357 ipmmu_ds: mmu@e6740000 {
352 compatible = "renesas,r8a7743-cpg-mssr"; 358 compatible = "renesas,ipmmu-r8a7743",
353 reg = <0 0xe6150000 0 0x1000>; 359 "renesas,ipmmu-vmsa";
354 clocks = <&extal_clk>, <&usb_extal_clk>; 360 reg = <0 0xe6740000 0 0x1000>;
355 clock-names = "extal", "usb_extal"; 361 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
356 #clock-cells = <2>; 362 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
357 #power-domain-cells = <0>; 363 #iommu-cells = <1>;
358 #reset-cells = <1>; 364 status = "disabled";
359 };
360
361 prr: chipid@ff000044 {
362 compatible = "renesas,prr";
363 reg = <0 0xff000044 0 4>;
364 };
365
366 rst: reset-controller@e6160000 {
367 compatible = "renesas,r8a7743-rst";
368 reg = <0 0xe6160000 0 0x100>;
369 };
370
371 sysc: system-controller@e6180000 {
372 compatible = "renesas,r8a7743-sysc";
373 reg = <0 0xe6180000 0 0x200>;
374 #power-domain-cells = <1>;
375 }; 365 };
376 366
377 pfc: pin-controller@e6060000 { 367 ipmmu_mp: mmu@ec680000 {
378 compatible = "renesas,pfc-r8a7743"; 368 compatible = "renesas,ipmmu-r8a7743",
379 reg = <0 0xe6060000 0 0x250>; 369 "renesas,ipmmu-vmsa";
370 reg = <0 0xec680000 0 0x1000>;
371 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
372 #iommu-cells = <1>;
373 status = "disabled";
380 }; 374 };
381 375
382 dmac0: dma-controller@e6700000 { 376 ipmmu_mx: mmu@fe951000 {
383 compatible = "renesas,dmac-r8a7743", 377 compatible = "renesas,ipmmu-r8a7743",
384 "renesas,rcar-dmac"; 378 "renesas,ipmmu-vmsa";
385 reg = <0 0xe6700000 0 0x20000>; 379 reg = <0 0xfe951000 0 0x1000>;
386 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 380 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
387 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH 381 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
388 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH 382 #iommu-cells = <1>;
389 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 383 status = "disabled";
390 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
391 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
392 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
393 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
394 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
395 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
396 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
397 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
398 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
399 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
400 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
401 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
402 interrupt-names = "error",
403 "ch0", "ch1", "ch2", "ch3",
404 "ch4", "ch5", "ch6", "ch7",
405 "ch8", "ch9", "ch10", "ch11",
406 "ch12", "ch13", "ch14";
407 clocks = <&cpg CPG_MOD 219>;
408 clock-names = "fck";
409 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
410 resets = <&cpg 219>;
411 #dma-cells = <1>;
412 dma-channels = <15>;
413 }; 384 };
414 385
415 dmac1: dma-controller@e6720000 { 386 ipmmu_gp: mmu@e62a0000 {
416 compatible = "renesas,dmac-r8a7743", 387 compatible = "renesas,ipmmu-r8a7743",
417 "renesas,rcar-dmac"; 388 "renesas,ipmmu-vmsa";
418 reg = <0 0xe6720000 0 0x20000>; 389 reg = <0 0xe62a0000 0 0x1000>;
419 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 390 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
420 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 391 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
421 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH 392 #iommu-cells = <1>;
422 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 393 status = "disabled";
423 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
424 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
425 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
426 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
427 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
428 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
429 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
430 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
431 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
432 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
433 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
434 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
435 interrupt-names = "error",
436 "ch0", "ch1", "ch2", "ch3",
437 "ch4", "ch5", "ch6", "ch7",
438 "ch8", "ch9", "ch10", "ch11",
439 "ch12", "ch13", "ch14";
440 clocks = <&cpg CPG_MOD 218>;
441 clock-names = "fck";
442 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
443 resets = <&cpg 218>;
444 #dma-cells = <1>;
445 dma-channels = <15>;
446 }; 394 };
447 395
448 audma0: dma-controller@ec700000 { 396 icram0: sram@e63a0000 {
449 compatible = "renesas,dmac-r8a7743", 397 compatible = "mmio-sram";
450 "renesas,rcar-dmac"; 398 reg = <0 0xe63a0000 0 0x12000>;
451 reg = <0 0xec700000 0 0x10000>;
452 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
453 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
454 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
455 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
456 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
457 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
458 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
459 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
460 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
461 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
462 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
463 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
464 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
465 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
466 interrupt-names = "error",
467 "ch0", "ch1", "ch2", "ch3",
468 "ch4", "ch5", "ch6", "ch7",
469 "ch8", "ch9", "ch10", "ch11",
470 "ch12";
471 clocks = <&cpg CPG_MOD 502>;
472 clock-names = "fck";
473 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
474 resets = <&cpg 502>;
475 #dma-cells = <1>;
476 dma-channels = <13>;
477 }; 399 };
478 400
479 audma1: dma-controller@ec720000 { 401 icram1: sram@e63c0000 {
480 compatible = "renesas,dmac-r8a7743", 402 compatible = "mmio-sram";
481 "renesas,rcar-dmac"; 403 reg = <0 0xe63c0000 0 0x1000>;
482 reg = <0 0xec720000 0 0x10000>; 404 #address-cells = <1>;
483 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 405 #size-cells = <1>;
484 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 406 ranges = <0 0 0xe63c0000 0x1000>;
485 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
486 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH
487 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
488 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
489 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
490 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
491 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
492 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
493 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
494 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
495 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
496 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
497 interrupt-names = "error",
498 "ch0", "ch1", "ch2", "ch3",
499 "ch4", "ch5", "ch6", "ch7",
500 "ch8", "ch9", "ch10", "ch11",
501 "ch12";
502 clocks = <&cpg CPG_MOD 501>;
503 clock-names = "fck";
504 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
505 resets = <&cpg 501>;
506 #dma-cells = <1>;
507 dma-channels = <13>;
508 };
509 407
510 usb_dmac0: dma-controller@e65a0000 { 408 smp-sram@0 {
511 compatible = "renesas,r8a7743-usb-dmac", 409 compatible = "renesas,smp-sram";
512 "renesas,usb-dmac"; 410 reg = <0 0x10>;
513 reg = <0 0xe65a0000 0 0x100>; 411 };
514 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
515 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
516 interrupt-names = "ch0", "ch1";
517 clocks = <&cpg CPG_MOD 330>;
518 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
519 resets = <&cpg 330>;
520 #dma-cells = <1>;
521 dma-channels = <2>;
522 }; 412 };
523 413
524 usb_dmac1: dma-controller@e65b0000 { 414 icram2: sram@e6300000 {
525 compatible = "renesas,r8a7743-usb-dmac", 415 compatible = "mmio-sram";
526 "renesas,usb-dmac"; 416 reg = <0 0xe6300000 0 0x40000>;
527 reg = <0 0xe65b0000 0 0x100>;
528 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
529 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
530 interrupt-names = "ch0", "ch1";
531 clocks = <&cpg CPG_MOD 331>;
532 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
533 resets = <&cpg 331>;
534 #dma-cells = <1>;
535 dma-channels = <2>;
536 }; 417 };
537 418
538 /* The memory map in the User's Manual maps the cores to bus 419 /* The memory map in the User's Manual maps the cores to
539 * numbers 420 * bus numbers
540 */ 421 */
541 i2c0: i2c@e6508000 { 422 i2c0: i2c@e6508000 {
542 #address-cells = <1>; 423 #address-cells = <1>;
@@ -675,6 +556,168 @@
675 status = "disabled"; 556 status = "disabled";
676 }; 557 };
677 558
559 hsusb: usb@e6590000 {
560 compatible = "renesas,usbhs-r8a7743",
561 "renesas,rcar-gen2-usbhs";
562 reg = <0 0xe6590000 0 0x100>;
563 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
564 clocks = <&cpg CPG_MOD 704>;
565 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
566 <&usb_dmac1 0>, <&usb_dmac1 1>;
567 dma-names = "ch0", "ch1", "ch2", "ch3";
568 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
569 resets = <&cpg 704>;
570 renesas,buswait = <4>;
571 phys = <&usb0 1>;
572 phy-names = "usb";
573 status = "disabled";
574 };
575
576 usbphy: usb-phy@e6590100 {
577 compatible = "renesas,usb-phy-r8a7743",
578 "renesas,rcar-gen2-usb-phy";
579 reg = <0 0xe6590100 0 0x100>;
580 #address-cells = <1>;
581 #size-cells = <0>;
582 clocks = <&cpg CPG_MOD 704>;
583 clock-names = "usbhs";
584 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
585 resets = <&cpg 704>;
586 status = "disabled";
587
588 usb0: usb-channel@0 {
589 reg = <0>;
590 #phy-cells = <1>;
591 };
592 usb2: usb-channel@2 {
593 reg = <2>;
594 #phy-cells = <1>;
595 };
596 };
597
598 usb_dmac0: dma-controller@e65a0000 {
599 compatible = "renesas,r8a7743-usb-dmac",
600 "renesas,usb-dmac";
601 reg = <0 0xe65a0000 0 0x100>;
602 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
603 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
604 interrupt-names = "ch0", "ch1";
605 clocks = <&cpg CPG_MOD 330>;
606 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
607 resets = <&cpg 330>;
608 #dma-cells = <1>;
609 dma-channels = <2>;
610 };
611
612 usb_dmac1: dma-controller@e65b0000 {
613 compatible = "renesas,r8a7743-usb-dmac",
614 "renesas,usb-dmac";
615 reg = <0 0xe65b0000 0 0x100>;
616 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
617 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
618 interrupt-names = "ch0", "ch1";
619 clocks = <&cpg CPG_MOD 331>;
620 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
621 resets = <&cpg 331>;
622 #dma-cells = <1>;
623 dma-channels = <2>;
624 };
625
626 dmac0: dma-controller@e6700000 {
627 compatible = "renesas,dmac-r8a7743",
628 "renesas,rcar-dmac";
629 reg = <0 0xe6700000 0 0x20000>;
630 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH
631 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
632 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
633 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
634 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
635 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
636 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
637 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
638 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
639 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
640 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
641 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
642 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
643 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
644 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
645 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
646 interrupt-names = "error",
647 "ch0", "ch1", "ch2", "ch3",
648 "ch4", "ch5", "ch6", "ch7",
649 "ch8", "ch9", "ch10", "ch11",
650 "ch12", "ch13", "ch14";
651 clocks = <&cpg CPG_MOD 219>;
652 clock-names = "fck";
653 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
654 resets = <&cpg 219>;
655 #dma-cells = <1>;
656 dma-channels = <15>;
657 };
658
659 dmac1: dma-controller@e6720000 {
660 compatible = "renesas,dmac-r8a7743",
661 "renesas,rcar-dmac";
662 reg = <0 0xe6720000 0 0x20000>;
663 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
664 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
665 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
666 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
667 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
668 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
669 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
670 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
671 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
672 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
673 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
674 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
675 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
676 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
677 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
678 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
679 interrupt-names = "error",
680 "ch0", "ch1", "ch2", "ch3",
681 "ch4", "ch5", "ch6", "ch7",
682 "ch8", "ch9", "ch10", "ch11",
683 "ch12", "ch13", "ch14";
684 clocks = <&cpg CPG_MOD 218>;
685 clock-names = "fck";
686 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
687 resets = <&cpg 218>;
688 #dma-cells = <1>;
689 dma-channels = <15>;
690 };
691
692 avb: ethernet@e6800000 {
693 compatible = "renesas,etheravb-r8a7743",
694 "renesas,etheravb-rcar-gen2";
695 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
696 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
697 clocks = <&cpg CPG_MOD 812>;
698 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
699 resets = <&cpg 812>;
700 #address-cells = <1>;
701 #size-cells = <0>;
702 status = "disabled";
703 };
704
705 qspi: spi@e6b10000 {
706 compatible = "renesas,qspi-r8a7743", "renesas,qspi";
707 reg = <0 0xe6b10000 0 0x2c>;
708 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
709 clocks = <&cpg CPG_MOD 917>;
710 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
711 <&dmac1 0x17>, <&dmac1 0x18>;
712 dma-names = "tx", "rx", "tx", "rx";
713 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
714 num-cs = <1>;
715 #address-cells = <1>;
716 #size-cells = <0>;
717 resets = <&cpg 917>;
718 status = "disabled";
719 };
720
678 scifa0: serial@e6c40000 { 721 scifa0: serial@e6c40000 {
679 compatible = "renesas,scifa-r8a7743", 722 compatible = "renesas,scifa-r8a7743",
680 "renesas,rcar-gen2-scifa", "renesas,scifa"; 723 "renesas,rcar-gen2-scifa", "renesas,scifa";
@@ -954,88 +997,6 @@
954 status = "disabled"; 997 status = "disabled";
955 }; 998 };
956 999
957 icram2: sram@e6300000 {
958 compatible = "mmio-sram";
959 reg = <0 0xe6300000 0 0x40000>;
960 };
961
962 icram0: sram@e63a0000 {
963 compatible = "mmio-sram";
964 reg = <0 0xe63a0000 0 0x12000>;
965 };
966
967 icram1: sram@e63c0000 {
968 compatible = "mmio-sram";
969 reg = <0 0xe63c0000 0 0x1000>;
970 #address-cells = <1>;
971 #size-cells = <1>;
972 ranges = <0 0 0xe63c0000 0x1000>;
973
974 smp-sram@0 {
975 compatible = "renesas,smp-sram";
976 reg = <0 0x10>;
977 };
978 };
979
980 ether: ethernet@ee700000 {
981 compatible = "renesas,ether-r8a7743",
982 "renesas,rcar-gen2-ether";
983 reg = <0 0xee700000 0 0x400>;
984 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
985 clocks = <&cpg CPG_MOD 813>;
986 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
987 resets = <&cpg 813>;
988 phy-mode = "rmii";
989 #address-cells = <1>;
990 #size-cells = <0>;
991 status = "disabled";
992 };
993
994 avb: ethernet@e6800000 {
995 compatible = "renesas,etheravb-r8a7743",
996 "renesas,etheravb-rcar-gen2";
997 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
998 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
999 clocks = <&cpg CPG_MOD 812>;
1000 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1001 resets = <&cpg 812>;
1002 #address-cells = <1>;
1003 #size-cells = <0>;
1004 status = "disabled";
1005 };
1006
1007 mmcif0: mmc@ee200000 {
1008 compatible = "renesas,mmcif-r8a7743",
1009 "renesas,sh-mmcif";
1010 reg = <0 0xee200000 0 0x80>;
1011 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1012 clocks = <&cpg CPG_MOD 315>;
1013 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1014 <&dmac1 0xd1>, <&dmac1 0xd2>;
1015 dma-names = "tx", "rx", "tx", "rx";
1016 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1017 resets = <&cpg 315>;
1018 reg-io-width = <4>;
1019 max-frequency = <97500000>;
1020 status = "disabled";
1021 };
1022
1023 qspi: spi@e6b10000 {
1024 compatible = "renesas,qspi-r8a7743", "renesas,qspi";
1025 reg = <0 0xe6b10000 0 0x2c>;
1026 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
1027 clocks = <&cpg CPG_MOD 917>;
1028 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
1029 <&dmac1 0x17>, <&dmac1 0x18>;
1030 dma-names = "tx", "rx", "tx", "rx";
1031 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1032 num-cs = <1>;
1033 #address-cells = <1>;
1034 #size-cells = <0>;
1035 resets = <&cpg 917>;
1036 status = "disabled";
1037 };
1038
1039 msiof0: spi@e6e20000 { 1000 msiof0: spi@e6e20000 {
1040 compatible = "renesas,msiof-r8a7743", 1001 compatible = "renesas,msiof-r8a7743",
1041 "renesas,rcar-gen2-msiof"; 1002 "renesas,rcar-gen2-msiof";
@@ -1084,26 +1045,6 @@
1084 status = "disabled"; 1045 status = "disabled";
1085 }; 1046 };
1086 1047
1087 /*
1088 * pci1 and xhci share the same phy, therefore only one of them
1089 * can be active at any one time. If both of them are enabled,
1090 * a race condition will determine who'll control the phy.
1091 * A firmware file is needed by the xhci driver in order for
1092 * USB 3.0 to work properly.
1093 */
1094 xhci: usb@ee000000 {
1095 compatible = "renesas,xhci-r8a7743",
1096 "renesas,rcar-gen2-xhci";
1097 reg = <0 0xee000000 0 0xc00>;
1098 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1099 clocks = <&cpg CPG_MOD 328>;
1100 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1101 resets = <&cpg 328>;
1102 phys = <&usb2 1>;
1103 phy-names = "usb";
1104 status = "disabled";
1105 };
1106
1107 pwm0: pwm@e6e30000 { 1048 pwm0: pwm@e6e30000 {
1108 compatible = "renesas,pwm-r8a7743", "renesas,pwm-rcar"; 1049 compatible = "renesas,pwm-r8a7743", "renesas,pwm-rcar";
1109 reg = <0 0xe6e30000 0 0x8>; 1050 reg = <0 0xe6e30000 0 0x8>;
@@ -1174,98 +1115,32 @@
1174 status = "disabled"; 1115 status = "disabled";
1175 }; 1116 };
1176 1117
1177 tpu: pwm@e60f0000 { 1118 can0: can@e6e80000 {
1178 compatible = "renesas,tpu-r8a7743", "renesas,tpu"; 1119 compatible = "renesas,can-r8a7743",
1179 reg = <0 0xe60f0000 0 0x148>; 1120 "renesas,rcar-gen2-can";
1180 clocks = <&cpg CPG_MOD 304>; 1121 reg = <0 0xe6e80000 0 0x1000>;
1181 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>; 1122 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1182 resets = <&cpg 304>; 1123 clocks = <&cpg CPG_MOD 916>,
1183 #pwm-cells = <3>; 1124 <&cpg CPG_CORE R8A7743_CLK_RCAN>,
1184 status = "disabled"; 1125 <&can_clk>;
1185 }; 1126 clock-names = "clkp1", "clkp2", "can_clk";
1186
1187 sdhi0: sd@ee100000 {
1188 compatible = "renesas,sdhi-r8a7743",
1189 "renesas,rcar-gen2-sdhi";
1190 reg = <0 0xee100000 0 0x328>;
1191 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1192 clocks = <&cpg CPG_MOD 314>;
1193 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1194 <&dmac1 0xcd>, <&dmac1 0xce>;
1195 dma-names = "tx", "rx", "tx", "rx";
1196 max-frequency = <195000000>;
1197 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1198 resets = <&cpg 314>;
1199 status = "disabled";
1200 };
1201
1202 sdhi1: sd@ee140000 {
1203 compatible = "renesas,sdhi-r8a7743",
1204 "renesas,rcar-gen2-sdhi";
1205 reg = <0 0xee140000 0 0x100>;
1206 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1207 clocks = <&cpg CPG_MOD 312>;
1208 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1209 <&dmac1 0xc1>, <&dmac1 0xc2>;
1210 dma-names = "tx", "rx", "tx", "rx";
1211 max-frequency = <97500000>;
1212 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1213 resets = <&cpg 312>;
1214 status = "disabled";
1215 };
1216
1217 sdhi2: sd@ee160000 {
1218 compatible = "renesas,sdhi-r8a7743",
1219 "renesas,rcar-gen2-sdhi";
1220 reg = <0 0xee160000 0 0x100>;
1221 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1222 clocks = <&cpg CPG_MOD 311>;
1223 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1224 <&dmac1 0xd3>, <&dmac1 0xd4>;
1225 dma-names = "tx", "rx", "tx", "rx";
1226 max-frequency = <97500000>;
1227 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1228 resets = <&cpg 311>;
1229 status = "disabled";
1230 };
1231
1232 hsusb: usb@e6590000 {
1233 compatible = "renesas,usbhs-r8a7743",
1234 "renesas,rcar-gen2-usbhs";
1235 reg = <0 0xe6590000 0 0x100>;
1236 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1237 clocks = <&cpg CPG_MOD 704>;
1238 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
1239 <&usb_dmac1 0>, <&usb_dmac1 1>;
1240 dma-names = "ch0", "ch1", "ch2", "ch3";
1241 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>; 1127 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1242 resets = <&cpg 704>; 1128 resets = <&cpg 916>;
1243 renesas,buswait = <4>;
1244 phys = <&usb0 1>;
1245 phy-names = "usb";
1246 status = "disabled"; 1129 status = "disabled";
1247 }; 1130 };
1248 1131
1249 usbphy: usb-phy@e6590100 { 1132 can1: can@e6e88000 {
1250 compatible = "renesas,usb-phy-r8a7743", 1133 compatible = "renesas,can-r8a7743",
1251 "renesas,rcar-gen2-usb-phy"; 1134 "renesas,rcar-gen2-can";
1252 reg = <0 0xe6590100 0 0x100>; 1135 reg = <0 0xe6e88000 0 0x1000>;
1253 #address-cells = <1>; 1136 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
1254 #size-cells = <0>; 1137 clocks = <&cpg CPG_MOD 915>,
1255 clocks = <&cpg CPG_MOD 704>; 1138 <&cpg CPG_CORE R8A7743_CLK_RCAN>,
1256 clock-names = "usbhs"; 1139 <&can_clk>;
1140 clock-names = "clkp1", "clkp2", "can_clk";
1257 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>; 1141 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1258 resets = <&cpg 704>; 1142 resets = <&cpg 915>;
1259 status = "disabled"; 1143 status = "disabled";
1260
1261 usb0: usb-channel@0 {
1262 reg = <0>;
1263 #phy-cells = <1>;
1264 };
1265 usb2: usb-channel@2 {
1266 reg = <2>;
1267 #phy-cells = <1>;
1268 };
1269 }; 1144 };
1270 1145
1271 vin0: video@e6ef0000 { 1146 vin0: video@e6ef0000 {
@@ -1301,162 +1176,6 @@
1301 status = "disabled"; 1176 status = "disabled";
1302 }; 1177 };
1303 1178
1304 du: display@feb00000 {
1305 compatible = "renesas,du-r8a7743";
1306 reg = <0 0xfeb00000 0 0x40000>,
1307 <0 0xfeb90000 0 0x1c>;
1308 reg-names = "du", "lvds.0";
1309 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1310 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
1311 clocks = <&cpg CPG_MOD 724>,
1312 <&cpg CPG_MOD 723>,
1313 <&cpg CPG_MOD 726>;
1314 clock-names = "du.0", "du.1", "lvds.0";
1315 status = "disabled";
1316
1317 ports {
1318 #address-cells = <1>;
1319 #size-cells = <0>;
1320
1321 port@0 {
1322 reg = <0>;
1323 du_out_rgb: endpoint {
1324 };
1325 };
1326 port@1 {
1327 reg = <1>;
1328 du_out_lvds0: endpoint {
1329 };
1330 };
1331 };
1332 };
1333
1334 can0: can@e6e80000 {
1335 compatible = "renesas,can-r8a7743",
1336 "renesas,rcar-gen2-can";
1337 reg = <0 0xe6e80000 0 0x1000>;
1338 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1339 clocks = <&cpg CPG_MOD 916>,
1340 <&cpg CPG_CORE R8A7743_CLK_RCAN>,
1341 <&can_clk>;
1342 clock-names = "clkp1", "clkp2", "can_clk";
1343 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1344 resets = <&cpg 916>;
1345 status = "disabled";
1346 };
1347
1348 can1: can@e6e88000 {
1349 compatible = "renesas,can-r8a7743",
1350 "renesas,rcar-gen2-can";
1351 reg = <0 0xe6e88000 0 0x1000>;
1352 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
1353 clocks = <&cpg CPG_MOD 915>,
1354 <&cpg CPG_CORE R8A7743_CLK_RCAN>,
1355 <&can_clk>;
1356 clock-names = "clkp1", "clkp2", "can_clk";
1357 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1358 resets = <&cpg 915>;
1359 status = "disabled";
1360 };
1361
1362 pci0: pci@ee090000 {
1363 compatible = "renesas,pci-r8a7743",
1364 "renesas,pci-rcar-gen2";
1365 device_type = "pci";
1366 reg = <0 0xee090000 0 0xc00>,
1367 <0 0xee080000 0 0x1100>;
1368 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1369 clocks = <&cpg CPG_MOD 703>;
1370 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1371 resets = <&cpg 703>;
1372 status = "disabled";
1373
1374 bus-range = <0 0>;
1375 #address-cells = <3>;
1376 #size-cells = <2>;
1377 #interrupt-cells = <1>;
1378 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1379 interrupt-map-mask = <0xff00 0 0 0x7>;
1380 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1381 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1382 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1383
1384 usb@1,0 {
1385 reg = <0x800 0 0 0 0>;
1386 phys = <&usb0 0>;
1387 phy-names = "usb";
1388 };
1389
1390 usb@2,0 {
1391 reg = <0x1000 0 0 0 0>;
1392 phys = <&usb0 0>;
1393 phy-names = "usb";
1394 };
1395 };
1396
1397 pci1: pci@ee0d0000 {
1398 compatible = "renesas,pci-r8a7743",
1399 "renesas,pci-rcar-gen2";
1400 device_type = "pci";
1401 reg = <0 0xee0d0000 0 0xc00>,
1402 <0 0xee0c0000 0 0x1100>;
1403 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1404 clocks = <&cpg CPG_MOD 703>;
1405 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1406 resets = <&cpg 703>;
1407 status = "disabled";
1408
1409 bus-range = <1 1>;
1410 #address-cells = <3>;
1411 #size-cells = <2>;
1412 #interrupt-cells = <1>;
1413 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1414 interrupt-map-mask = <0xff00 0 0 0x7>;
1415 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1416 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1417 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1418
1419 usb@1,0 {
1420 reg = <0x10800 0 0 0 0>;
1421 phys = <&usb2 0>;
1422 phy-names = "usb";
1423 };
1424
1425 usb@2,0 {
1426 reg = <0x11000 0 0 0 0>;
1427 phys = <&usb2 0>;
1428 phy-names = "usb";
1429 };
1430 };
1431
1432 pciec: pcie@fe000000 {
1433 compatible = "renesas,pcie-r8a7743",
1434 "renesas,pcie-rcar-gen2";
1435 reg = <0 0xfe000000 0 0x80000>;
1436 #address-cells = <3>;
1437 #size-cells = <2>;
1438 bus-range = <0x00 0xff>;
1439 device_type = "pci";
1440 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
1441 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
1442 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
1443 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1444 /* Map all possible DDR as inbound ranges */
1445 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1446 0x43000000 2 0x00000000 2 0x00000000 1 0x00000000>;
1447 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1448 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1449 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1450 #interrupt-cells = <1>;
1451 interrupt-map-mask = <0 0 0 0>;
1452 interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1453 clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1454 clock-names = "pcie", "pcie_bus";
1455 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1456 resets = <&cpg 319>;
1457 status = "disabled";
1458 };
1459
1460 rcar_sound: sound@ec500000 { 1179 rcar_sound: sound@ec500000 {
1461 /* 1180 /*
1462 * #sound-dai-cells is required 1181 * #sound-dai-cells is required
@@ -1641,6 +1360,369 @@
1641 }; 1360 };
1642 }; 1361 };
1643 }; 1362 };
1363
1364 audma0: dma-controller@ec700000 {
1365 compatible = "renesas,dmac-r8a7743",
1366 "renesas,rcar-dmac";
1367 reg = <0 0xec700000 0 0x10000>;
1368 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1369 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1370 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1371 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1372 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1373 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1374 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1375 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1376 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1377 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1378 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1379 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1380 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1381 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1382 interrupt-names = "error",
1383 "ch0", "ch1", "ch2", "ch3",
1384 "ch4", "ch5", "ch6", "ch7",
1385 "ch8", "ch9", "ch10", "ch11",
1386 "ch12";
1387 clocks = <&cpg CPG_MOD 502>;
1388 clock-names = "fck";
1389 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1390 resets = <&cpg 502>;
1391 #dma-cells = <1>;
1392 dma-channels = <13>;
1393 };
1394
1395 audma1: dma-controller@ec720000 {
1396 compatible = "renesas,dmac-r8a7743",
1397 "renesas,rcar-dmac";
1398 reg = <0 0xec720000 0 0x10000>;
1399 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
1400 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
1401 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
1402 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH
1403 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
1404 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
1405 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
1406 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
1407 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
1408 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
1409 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
1410 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
1411 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
1412 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
1413 interrupt-names = "error",
1414 "ch0", "ch1", "ch2", "ch3",
1415 "ch4", "ch5", "ch6", "ch7",
1416 "ch8", "ch9", "ch10", "ch11",
1417 "ch12";
1418 clocks = <&cpg CPG_MOD 501>;
1419 clock-names = "fck";
1420 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1421 resets = <&cpg 501>;
1422 #dma-cells = <1>;
1423 dma-channels = <13>;
1424 };
1425
1426 /*
1427 * pci1 and xhci share the same phy, therefore only one of them
1428 * can be active at any one time. If both of them are enabled,
1429 * a race condition will determine who'll control the phy.
1430 * A firmware file is needed by the xhci driver in order for
1431 * USB 3.0 to work properly.
1432 */
1433 xhci: usb@ee000000 {
1434 compatible = "renesas,xhci-r8a7743",
1435 "renesas,rcar-gen2-xhci";
1436 reg = <0 0xee000000 0 0xc00>;
1437 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1438 clocks = <&cpg CPG_MOD 328>;
1439 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1440 resets = <&cpg 328>;
1441 phys = <&usb2 1>;
1442 phy-names = "usb";
1443 status = "disabled";
1444 };
1445
1446 pci0: pci@ee090000 {
1447 compatible = "renesas,pci-r8a7743",
1448 "renesas,pci-rcar-gen2";
1449 device_type = "pci";
1450 reg = <0 0xee090000 0 0xc00>,
1451 <0 0xee080000 0 0x1100>;
1452 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1453 clocks = <&cpg CPG_MOD 703>;
1454 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1455 resets = <&cpg 703>;
1456 status = "disabled";
1457
1458 bus-range = <0 0>;
1459 #address-cells = <3>;
1460 #size-cells = <2>;
1461 #interrupt-cells = <1>;
1462 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1463 interrupt-map-mask = <0xff00 0 0 0x7>;
1464 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1465 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1466 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1467
1468 usb@1,0 {
1469 reg = <0x800 0 0 0 0>;
1470 phys = <&usb0 0>;
1471 phy-names = "usb";
1472 };
1473
1474 usb@2,0 {
1475 reg = <0x1000 0 0 0 0>;
1476 phys = <&usb0 0>;
1477 phy-names = "usb";
1478 };
1479 };
1480
1481 pci1: pci@ee0d0000 {
1482 compatible = "renesas,pci-r8a7743",
1483 "renesas,pci-rcar-gen2";
1484 device_type = "pci";
1485 reg = <0 0xee0d0000 0 0xc00>,
1486 <0 0xee0c0000 0 0x1100>;
1487 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1488 clocks = <&cpg CPG_MOD 703>;
1489 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1490 resets = <&cpg 703>;
1491 status = "disabled";
1492
1493 bus-range = <1 1>;
1494 #address-cells = <3>;
1495 #size-cells = <2>;
1496 #interrupt-cells = <1>;
1497 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1498 interrupt-map-mask = <0xff00 0 0 0x7>;
1499 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1500 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1501 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1502
1503 usb@1,0 {
1504 reg = <0x10800 0 0 0 0>;
1505 phys = <&usb2 0>;
1506 phy-names = "usb";
1507 };
1508
1509 usb@2,0 {
1510 reg = <0x11000 0 0 0 0>;
1511 phys = <&usb2 0>;
1512 phy-names = "usb";
1513 };
1514 };
1515
1516 sdhi0: sd@ee100000 {
1517 compatible = "renesas,sdhi-r8a7743",
1518 "renesas,rcar-gen2-sdhi";
1519 reg = <0 0xee100000 0 0x328>;
1520 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1521 clocks = <&cpg CPG_MOD 314>;
1522 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1523 <&dmac1 0xcd>, <&dmac1 0xce>;
1524 dma-names = "tx", "rx", "tx", "rx";
1525 max-frequency = <195000000>;
1526 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1527 resets = <&cpg 314>;
1528 status = "disabled";
1529 };
1530
1531 sdhi1: sd@ee140000 {
1532 compatible = "renesas,sdhi-r8a7743",
1533 "renesas,rcar-gen2-sdhi";
1534 reg = <0 0xee140000 0 0x100>;
1535 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1536 clocks = <&cpg CPG_MOD 312>;
1537 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1538 <&dmac1 0xc1>, <&dmac1 0xc2>;
1539 dma-names = "tx", "rx", "tx", "rx";
1540 max-frequency = <97500000>;
1541 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1542 resets = <&cpg 312>;
1543 status = "disabled";
1544 };
1545
1546 sdhi2: sd@ee160000 {
1547 compatible = "renesas,sdhi-r8a7743",
1548 "renesas,rcar-gen2-sdhi";
1549 reg = <0 0xee160000 0 0x100>;
1550 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1551 clocks = <&cpg CPG_MOD 311>;
1552 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1553 <&dmac1 0xd3>, <&dmac1 0xd4>;
1554 dma-names = "tx", "rx", "tx", "rx";
1555 max-frequency = <97500000>;
1556 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1557 resets = <&cpg 311>;
1558 status = "disabled";
1559 };
1560
1561 mmcif0: mmc@ee200000 {
1562 compatible = "renesas,mmcif-r8a7743",
1563 "renesas,sh-mmcif";
1564 reg = <0 0xee200000 0 0x80>;
1565 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1566 clocks = <&cpg CPG_MOD 315>;
1567 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1568 <&dmac1 0xd1>, <&dmac1 0xd2>;
1569 dma-names = "tx", "rx", "tx", "rx";
1570 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1571 resets = <&cpg 315>;
1572 reg-io-width = <4>;
1573 max-frequency = <97500000>;
1574 status = "disabled";
1575 };
1576
1577 ether: ethernet@ee700000 {
1578 compatible = "renesas,ether-r8a7743",
1579 "renesas,rcar-gen2-ether";
1580 reg = <0 0xee700000 0 0x400>;
1581 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1582 clocks = <&cpg CPG_MOD 813>;
1583 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1584 resets = <&cpg 813>;
1585 phy-mode = "rmii";
1586 #address-cells = <1>;
1587 #size-cells = <0>;
1588 status = "disabled";
1589 };
1590
1591 gic: interrupt-controller@f1001000 {
1592 compatible = "arm,gic-400";
1593 #interrupt-cells = <3>;
1594 #address-cells = <0>;
1595 interrupt-controller;
1596 reg = <0 0xf1001000 0 0x1000>, <0 0xf1002000 0 0x2000>,
1597 <0 0xf1004000 0 0x2000>, <0 0xf1006000 0 0x2000>;
1598 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
1599 clocks = <&cpg CPG_MOD 408>;
1600 clock-names = "clk";
1601 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1602 resets = <&cpg 408>;
1603 };
1604
1605 pciec: pcie@fe000000 {
1606 compatible = "renesas,pcie-r8a7743",
1607 "renesas,pcie-rcar-gen2";
1608 reg = <0 0xfe000000 0 0x80000>;
1609 #address-cells = <3>;
1610 #size-cells = <2>;
1611 bus-range = <0x00 0xff>;
1612 device_type = "pci";
1613 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
1614 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
1615 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
1616 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1617 /* Map all possible DDR as inbound ranges */
1618 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1619 0x43000000 2 0x00000000 2 0x00000000 1 0x00000000>;
1620 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1621 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1622 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1623 #interrupt-cells = <1>;
1624 interrupt-map-mask = <0 0 0 0>;
1625 interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1626 clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1627 clock-names = "pcie", "pcie_bus";
1628 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1629 resets = <&cpg 319>;
1630 status = "disabled";
1631 };
1632
1633 vsp@fe928000 {
1634 compatible = "renesas,vsp1";
1635 reg = <0 0xfe928000 0 0x8000>;
1636 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1637 clocks = <&cpg CPG_MOD 131>;
1638 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1639 resets = <&cpg 131>;
1640 };
1641
1642 vsp@fe930000 {
1643 compatible = "renesas,vsp1";
1644 reg = <0 0xfe930000 0 0x8000>;
1645 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
1646 clocks = <&cpg CPG_MOD 128>;
1647 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1648 resets = <&cpg 128>;
1649 };
1650
1651 vsp@fe938000 {
1652 compatible = "renesas,vsp1";
1653 reg = <0 0xfe938000 0 0x8000>;
1654 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
1655 clocks = <&cpg CPG_MOD 127>;
1656 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1657 resets = <&cpg 127>;
1658 };
1659
1660 du: display@feb00000 {
1661 compatible = "renesas,du-r8a7743";
1662 reg = <0 0xfeb00000 0 0x40000>,
1663 <0 0xfeb90000 0 0x1c>;
1664 reg-names = "du", "lvds.0";
1665 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1666 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
1667 clocks = <&cpg CPG_MOD 724>,
1668 <&cpg CPG_MOD 723>,
1669 <&cpg CPG_MOD 726>;
1670 clock-names = "du.0", "du.1", "lvds.0";
1671 status = "disabled";
1672
1673 ports {
1674 #address-cells = <1>;
1675 #size-cells = <0>;
1676
1677 port@0 {
1678 reg = <0>;
1679 du_out_rgb: endpoint {
1680 };
1681 };
1682 port@1 {
1683 reg = <1>;
1684 du_out_lvds0: endpoint {
1685 };
1686 };
1687 };
1688 };
1689
1690 prr: chipid@ff000044 {
1691 compatible = "renesas,prr";
1692 reg = <0 0xff000044 0 4>;
1693 };
1694
1695 cmt0: timer@ffca0000 {
1696 compatible = "renesas,r8a7743-cmt0",
1697 "renesas,rcar-gen2-cmt0";
1698 reg = <0 0xffca0000 0 0x1004>;
1699 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1700 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
1701 clocks = <&cpg CPG_MOD 124>;
1702 clock-names = "fck";
1703 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1704 resets = <&cpg 124>;
1705 status = "disabled";
1706 };
1707
1708 cmt1: timer@e6130000 {
1709 compatible = "renesas,r8a7743-cmt1",
1710 "renesas,rcar-gen2-cmt1";
1711 reg = <0 0xe6130000 0 0x1004>;
1712 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1713 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1714 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1715 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1716 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1717 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1718 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1719 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1720 clocks = <&cpg CPG_MOD 329>;
1721 clock-names = "fck";
1722 power-domains = <&sysc R8A7743_PD_ALWAYS_ON>;
1723 resets = <&cpg 329>;
1724 status = "disabled";
1725 };
1644 }; 1726 };
1645 1727
1646 thermal-zones { 1728 thermal-zones {
diff --git a/arch/arm/boot/dts/r8a7745-iwg22m.dtsi b/arch/arm/boot/dts/r8a7745-iwg22m.dtsi
index ed9a8cf3fe36..8d0a392b6811 100644
--- a/arch/arm/boot/dts/r8a7745-iwg22m.dtsi
+++ b/arch/arm/boot/dts/r8a7745-iwg22m.dtsi
@@ -29,6 +29,10 @@
29 }; 29 };
30}; 30};
31 31
32&cmt0 {
33 status = "okay";
34};
35
32&extal_clk { 36&extal_clk {
33 clock-frequency = <20000000>; 37 clock-frequency = <20000000>;
34}; 38};
diff --git a/arch/arm/boot/dts/r8a7745.dtsi b/arch/arm/boot/dts/r8a7745.dtsi
index ae918e9cce21..dd49a8b48f3e 100644
--- a/arch/arm/boot/dts/r8a7745.dtsi
+++ b/arch/arm/boot/dts/r8a7745.dtsi
@@ -121,29 +121,6 @@
121 #size-cells = <2>; 121 #size-cells = <2>;
122 ranges; 122 ranges;
123 123
124 apmu@e6151000 {
125 compatible = "renesas,r8a7745-apmu", "renesas,apmu";
126 reg = <0 0xe6151000 0 0x188>;
127 cpus = <&cpu0 &cpu1>;
128 };
129
130 gic: interrupt-controller@f1001000 {
131 compatible = "arm,gic-400";
132 #interrupt-cells = <3>;
133 #address-cells = <0>;
134 interrupt-controller;
135 reg = <0 0xf1001000 0 0x1000>,
136 <0 0xf1002000 0 0x2000>,
137 <0 0xf1004000 0 0x2000>,
138 <0 0xf1006000 0 0x2000>;
139 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
140 IRQ_TYPE_LEVEL_HIGH)>;
141 clocks = <&cpg CPG_MOD 408>;
142 clock-names = "clk";
143 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
144 resets = <&cpg 408>;
145 };
146
147 gpio0: gpio@e6050000 { 124 gpio0: gpio@e6050000 {
148 compatible = "renesas,gpio-r8a7745", 125 compatible = "renesas,gpio-r8a7745",
149 "renesas,rcar-gen2-gpio"; 126 "renesas,rcar-gen2-gpio";
@@ -249,6 +226,48 @@
249 resets = <&cpg 905>; 226 resets = <&cpg 905>;
250 }; 227 };
251 228
229 pfc: pin-controller@e6060000 {
230 compatible = "renesas,pfc-r8a7745";
231 reg = <0 0xe6060000 0 0x11c>;
232 };
233
234 tpu: pwm@e60f0000 {
235 compatible = "renesas,tpu-r8a7745", "renesas,tpu";
236 reg = <0 0xe60f0000 0 0x148>;
237 clocks = <&cpg CPG_MOD 304>;
238 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
239 resets = <&cpg 304>;
240 #pwm-cells = <3>;
241 status = "disabled";
242 };
243
244 cpg: clock-controller@e6150000 {
245 compatible = "renesas,r8a7745-cpg-mssr";
246 reg = <0 0xe6150000 0 0x1000>;
247 clocks = <&extal_clk>, <&usb_extal_clk>;
248 clock-names = "extal", "usb_extal";
249 #clock-cells = <2>;
250 #power-domain-cells = <0>;
251 #reset-cells = <1>;
252 };
253
254 apmu@e6151000 {
255 compatible = "renesas,r8a7745-apmu", "renesas,apmu";
256 reg = <0 0xe6151000 0 0x188>;
257 cpus = <&cpu0 &cpu1>;
258 };
259
260 rst: reset-controller@e6160000 {
261 compatible = "renesas,r8a7745-rst";
262 reg = <0 0xe6160000 0 0x100>;
263 };
264
265 sysc: system-controller@e6180000 {
266 compatible = "renesas,r8a7745-sysc";
267 reg = <0 0xe6180000 0 0x200>;
268 #power-domain-cells = <1>;
269 };
270
252 irqc: interrupt-controller@e61c0000 { 271 irqc: interrupt-controller@e61c0000 {
253 compatible = "renesas,irqc-r8a7745", "renesas,irqc"; 272 compatible = "renesas,irqc-r8a7745", "renesas,irqc";
254 #interrupt-cells = <2>; 273 #interrupt-cells = <2>;
@@ -269,67 +288,269 @@
269 resets = <&cpg 407>; 288 resets = <&cpg 407>;
270 }; 289 };
271 290
272 cmt0: timer@ffca0000 { 291 ipmmu_sy0: mmu@e6280000 {
273 compatible = "renesas,r8a7745-cmt0", 292 compatible = "renesas,ipmmu-r8a7745",
274 "renesas,rcar-gen2-cmt0"; 293 "renesas,ipmmu-vmsa";
275 reg = <0 0xffca0000 0 0x1004>; 294 reg = <0 0xe6280000 0 0x1000>;
276 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 295 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
277 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 296 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
278 clocks = <&cpg CPG_MOD 124>; 297 #iommu-cells = <1>;
279 clock-names = "fck"; 298 status = "disabled";
299 };
300
301 ipmmu_sy1: mmu@e6290000 {
302 compatible = "renesas,ipmmu-r8a7745",
303 "renesas,ipmmu-vmsa";
304 reg = <0 0xe6290000 0 0x1000>;
305 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
306 #iommu-cells = <1>;
307 status = "disabled";
308 };
309
310 ipmmu_ds: mmu@e6740000 {
311 compatible = "renesas,ipmmu-r8a7745",
312 "renesas,ipmmu-vmsa";
313 reg = <0 0xe6740000 0 0x1000>;
314 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
315 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
316 #iommu-cells = <1>;
317 status = "disabled";
318 };
319
320 ipmmu_mp: mmu@ec680000 {
321 compatible = "renesas,ipmmu-r8a7745",
322 "renesas,ipmmu-vmsa";
323 reg = <0 0xec680000 0 0x1000>;
324 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
325 #iommu-cells = <1>;
326 status = "disabled";
327 };
328
329 ipmmu_mx: mmu@fe951000 {
330 compatible = "renesas,ipmmu-r8a7745",
331 "renesas,ipmmu-vmsa";
332 reg = <0 0xfe951000 0 0x1000>;
333 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
334 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
335 #iommu-cells = <1>;
336 status = "disabled";
337 };
338
339 ipmmu_gp: mmu@e62a0000 {
340 compatible = "renesas,ipmmu-r8a7745",
341 "renesas,ipmmu-vmsa";
342 reg = <0 0xe62a0000 0 0x1000>;
343 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
344 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
345 #iommu-cells = <1>;
346 status = "disabled";
347 };
348
349 icram0: sram@e63a0000 {
350 compatible = "mmio-sram";
351 reg = <0 0xe63a0000 0 0x12000>;
352 };
353
354 icram1: sram@e63c0000 {
355 compatible = "mmio-sram";
356 reg = <0 0xe63c0000 0 0x1000>;
357 #address-cells = <1>;
358 #size-cells = <1>;
359 ranges = <0 0 0xe63c0000 0x1000>;
360
361 smp-sram@0 {
362 compatible = "renesas,smp-sram";
363 reg = <0 0x10>;
364 };
365 };
366
367 icram2: sram@e6300000 {
368 compatible = "mmio-sram";
369 reg = <0 0xe6300000 0 0x40000>;
370 };
371 i2c0: i2c@e6508000 {
372 #address-cells = <1>;
373 #size-cells = <0>;
374 compatible = "renesas,i2c-r8a7745",
375 "renesas,rcar-gen2-i2c";
376 reg = <0 0xe6508000 0 0x40>;
377 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
378 clocks = <&cpg CPG_MOD 931>;
280 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>; 379 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
281 resets = <&cpg 124>; 380 resets = <&cpg 931>;
381 i2c-scl-internal-delay-ns = <6>;
282 status = "disabled"; 382 status = "disabled";
283 }; 383 };
284 384
285 cmt1: timer@e6130000 { 385 i2c1: i2c@e6518000 {
286 compatible = "renesas,r8a7745-cmt1", 386 #address-cells = <1>;
287 "renesas,rcar-gen2-cmt1"; 387 #size-cells = <0>;
288 reg = <0 0xe6130000 0 0x1004>; 388 compatible = "renesas,i2c-r8a7745",
289 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 389 "renesas,rcar-gen2-i2c";
290 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 390 reg = <0 0xe6518000 0 0x40>;
291 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 391 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
292 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 392 clocks = <&cpg CPG_MOD 930>;
293 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
294 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
295 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
296 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
297 clocks = <&cpg CPG_MOD 329>;
298 clock-names = "fck";
299 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>; 393 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
300 resets = <&cpg 329>; 394 resets = <&cpg 930>;
395 i2c-scl-internal-delay-ns = <6>;
301 status = "disabled"; 396 status = "disabled";
302 }; 397 };
303 398
304 cpg: clock-controller@e6150000 { 399 i2c2: i2c@e6530000 {
305 compatible = "renesas,r8a7745-cpg-mssr"; 400 #address-cells = <1>;
306 reg = <0 0xe6150000 0 0x1000>; 401 #size-cells = <0>;
307 clocks = <&extal_clk>, <&usb_extal_clk>; 402 compatible = "renesas,i2c-r8a7745",
308 clock-names = "extal", "usb_extal"; 403 "renesas,rcar-gen2-i2c";
309 #clock-cells = <2>; 404 reg = <0 0xe6530000 0 0x40>;
310 #power-domain-cells = <0>; 405 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
311 #reset-cells = <1>; 406 clocks = <&cpg CPG_MOD 929>;
407 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
408 resets = <&cpg 929>;
409 i2c-scl-internal-delay-ns = <6>;
410 status = "disabled";
312 }; 411 };
313 412
314 prr: chipid@ff000044 { 413 i2c3: i2c@e6540000 {
315 compatible = "renesas,prr"; 414 #address-cells = <1>;
316 reg = <0 0xff000044 0 4>; 415 #size-cells = <0>;
416 compatible = "renesas,i2c-r8a7745",
417 "renesas,rcar-gen2-i2c";
418 reg = <0 0xe6540000 0 0x40>;
419 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
420 clocks = <&cpg CPG_MOD 928>;
421 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
422 resets = <&cpg 928>;
423 i2c-scl-internal-delay-ns = <6>;
424 status = "disabled";
317 }; 425 };
318 426
319 rst: reset-controller@e6160000 { 427 i2c4: i2c@e6520000 {
320 compatible = "renesas,r8a7745-rst"; 428 #address-cells = <1>;
321 reg = <0 0xe6160000 0 0x100>; 429 #size-cells = <0>;
430 compatible = "renesas,i2c-r8a7745",
431 "renesas,rcar-gen2-i2c";
432 reg = <0 0xe6520000 0 0x40>;
433 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
434 clocks = <&cpg CPG_MOD 927>;
435 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
436 resets = <&cpg 927>;
437 i2c-scl-internal-delay-ns = <6>;
438 status = "disabled";
322 }; 439 };
323 440
324 sysc: system-controller@e6180000 { 441 i2c5: i2c@e6528000 {
325 compatible = "renesas,r8a7745-sysc"; 442 #address-cells = <1>;
326 reg = <0 0xe6180000 0 0x200>; 443 #size-cells = <0>;
327 #power-domain-cells = <1>; 444 compatible = "renesas,i2c-r8a7745",
445 "renesas,rcar-gen2-i2c";
446 reg = <0 0xe6528000 0 0x40>;
447 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
448 clocks = <&cpg CPG_MOD 925>;
449 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
450 resets = <&cpg 925>;
451 i2c-scl-internal-delay-ns = <6>;
452 status = "disabled";
328 }; 453 };
329 454
330 pfc: pin-controller@e6060000 { 455 iic0: i2c@e6500000 {
331 compatible = "renesas,pfc-r8a7745"; 456 #address-cells = <1>;
332 reg = <0 0xe6060000 0 0x11c>; 457 #size-cells = <0>;
458 compatible = "renesas,iic-r8a7745",
459 "renesas,rcar-gen2-iic",
460 "renesas,rmobile-iic";
461 reg = <0 0xe6500000 0 0x425>;
462 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
463 clocks = <&cpg CPG_MOD 318>;
464 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
465 <&dmac1 0x61>, <&dmac1 0x62>;
466 dma-names = "tx", "rx", "tx", "rx";
467 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
468 resets = <&cpg 318>;
469 status = "disabled";
470 };
471
472 iic1: i2c@e6510000 {
473 #address-cells = <1>;
474 #size-cells = <0>;
475 compatible = "renesas,iic-r8a7745",
476 "renesas,rcar-gen2-iic",
477 "renesas,rmobile-iic";
478 reg = <0 0xe6510000 0 0x425>;
479 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
480 clocks = <&cpg CPG_MOD 323>;
481 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
482 <&dmac1 0x65>, <&dmac1 0x66>;
483 dma-names = "tx", "rx", "tx", "rx";
484 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
485 resets = <&cpg 323>;
486 status = "disabled";
487 };
488
489 hsusb: usb@e6590000 {
490 compatible = "renesas,usbhs-r8a7745",
491 "renesas,rcar-gen2-usbhs";
492 reg = <0 0xe6590000 0 0x100>;
493 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
494 clocks = <&cpg CPG_MOD 704>;
495 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
496 <&usb_dmac1 0>, <&usb_dmac1 1>;
497 dma-names = "ch0", "ch1", "ch2", "ch3";
498 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
499 resets = <&cpg 704>;
500 renesas,buswait = <4>;
501 phys = <&usb0 1>;
502 phy-names = "usb";
503 status = "disabled";
504 };
505
506 usbphy: usb-phy@e6590100 {
507 compatible = "renesas,usb-phy-r8a7745",
508 "renesas,rcar-gen2-usb-phy";
509 reg = <0 0xe6590100 0 0x100>;
510 #address-cells = <1>;
511 #size-cells = <0>;
512 clocks = <&cpg CPG_MOD 704>;
513 clock-names = "usbhs";
514 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
515 resets = <&cpg 704>;
516 status = "disabled";
517
518 usb0: usb-channel@0 {
519 reg = <0>;
520 #phy-cells = <1>;
521 };
522 usb2: usb-channel@2 {
523 reg = <2>;
524 #phy-cells = <1>;
525 };
526 };
527
528 usb_dmac0: dma-controller@e65a0000 {
529 compatible = "renesas,r8a7745-usb-dmac",
530 "renesas,usb-dmac";
531 reg = <0 0xe65a0000 0 0x100>;
532 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
533 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
534 interrupt-names = "ch0", "ch1";
535 clocks = <&cpg CPG_MOD 330>;
536 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
537 resets = <&cpg 330>;
538 #dma-cells = <1>;
539 dma-channels = <2>;
540 };
541
542 usb_dmac1: dma-controller@e65b0000 {
543 compatible = "renesas,r8a7745-usb-dmac",
544 "renesas,usb-dmac";
545 reg = <0 0xe65b0000 0 0x100>;
546 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
547 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
548 interrupt-names = "ch0", "ch1";
549 clocks = <&cpg CPG_MOD 331>;
550 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
551 resets = <&cpg 331>;
552 #dma-cells = <1>;
553 dma-channels = <2>;
333 }; 554 };
334 555
335 dmac0: dma-controller@e6700000 { 556 dmac0: dma-controller@e6700000 {
@@ -353,10 +574,10 @@
353 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH 574 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
354 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>; 575 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
355 interrupt-names = "error", 576 interrupt-names = "error",
356 "ch0", "ch1", "ch2", "ch3", 577 "ch0", "ch1", "ch2", "ch3",
357 "ch4", "ch5", "ch6", "ch7", 578 "ch4", "ch5", "ch6", "ch7",
358 "ch8", "ch9", "ch10", "ch11", 579 "ch8", "ch9", "ch10", "ch11",
359 "ch12", "ch13", "ch14"; 580 "ch12", "ch13", "ch14";
360 clocks = <&cpg CPG_MOD 219>; 581 clocks = <&cpg CPG_MOD 219>;
361 clock-names = "fck"; 582 clock-names = "fck";
362 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>; 583 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
@@ -386,75 +607,45 @@
386 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 607 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
387 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>; 608 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
388 interrupt-names = "error", 609 interrupt-names = "error",
389 "ch0", "ch1", "ch2", "ch3",
390 "ch4", "ch5", "ch6", "ch7",
391 "ch8", "ch9", "ch10", "ch11",
392 "ch12", "ch13", "ch14";
393 clocks = <&cpg CPG_MOD 218>;
394 clock-names = "fck";
395 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
396 resets = <&cpg 218>;
397 #dma-cells = <1>;
398 dma-channels = <15>;
399 };
400
401 audma0: dma-controller@ec700000 {
402 compatible = "renesas,dmac-r8a7745",
403 "renesas,rcar-dmac";
404 reg = <0 0xec700000 0 0x10000>;
405 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
406 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
407 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
408 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
409 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
410 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
411 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
412 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
413 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
414 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
415 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
416 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
417 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
418 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
419 interrupt-names = "error",
420 "ch0", "ch1", "ch2", "ch3", 610 "ch0", "ch1", "ch2", "ch3",
421 "ch4", "ch5", "ch6", "ch7", 611 "ch4", "ch5", "ch6", "ch7",
422 "ch8", "ch9", "ch10", "ch11", 612 "ch8", "ch9", "ch10", "ch11",
423 "ch12"; 613 "ch12", "ch13", "ch14";
424 clocks = <&cpg CPG_MOD 502>; 614 clocks = <&cpg CPG_MOD 218>;
425 clock-names = "fck"; 615 clock-names = "fck";
426 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>; 616 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
427 resets = <&cpg 502>; 617 resets = <&cpg 218>;
428 #dma-cells = <1>; 618 #dma-cells = <1>;
429 dma-channels = <13>; 619 dma-channels = <15>;
430 }; 620 };
431 621
432 usb_dmac0: dma-controller@e65a0000 { 622 avb: ethernet@e6800000 {
433 compatible = "renesas,r8a7745-usb-dmac", 623 compatible = "renesas,etheravb-r8a7745",
434 "renesas,usb-dmac"; 624 "renesas,etheravb-rcar-gen2";
435 reg = <0 0xe65a0000 0 0x100>; 625 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
436 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 626 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
437 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 627 clocks = <&cpg CPG_MOD 812>;
438 interrupt-names = "ch0", "ch1";
439 clocks = <&cpg CPG_MOD 330>;
440 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>; 628 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
441 resets = <&cpg 330>; 629 resets = <&cpg 812>;
442 #dma-cells = <1>; 630 #address-cells = <1>;
443 dma-channels = <2>; 631 #size-cells = <0>;
632 status = "disabled";
444 }; 633 };
445 634
446 usb_dmac1: dma-controller@e65b0000 { 635 qspi: spi@e6b10000 {
447 compatible = "renesas,r8a7745-usb-dmac", 636 compatible = "renesas,qspi-r8a7745", "renesas,qspi";
448 "renesas,usb-dmac"; 637 reg = <0 0xe6b10000 0 0x2c>;
449 reg = <0 0xe65b0000 0 0x100>; 638 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
450 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 639 clocks = <&cpg CPG_MOD 917>;
451 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 640 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
452 interrupt-names = "ch0", "ch1"; 641 <&dmac1 0x17>, <&dmac1 0x18>;
453 clocks = <&cpg CPG_MOD 331>; 642 dma-names = "tx", "rx", "tx", "rx";
454 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>; 643 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
455 resets = <&cpg 331>; 644 num-cs = <1>;
456 #dma-cells = <1>; 645 #address-cells = <1>;
457 dma-channels = <2>; 646 #size-cells = <0>;
647 resets = <&cpg 917>;
648 status = "disabled";
458 }; 649 };
459 650
460 scifa0: serial@e6c40000 { 651 scifa0: serial@e6c40000 {
@@ -736,255 +927,6 @@
736 status = "disabled"; 927 status = "disabled";
737 }; 928 };
738 929
739 icram2: sram@e6300000 {
740 compatible = "mmio-sram";
741 reg = <0 0xe6300000 0 0x40000>;
742 };
743
744 icram0: sram@e63a0000 {
745 compatible = "mmio-sram";
746 reg = <0 0xe63a0000 0 0x12000>;
747 };
748
749 icram1: sram@e63c0000 {
750 compatible = "mmio-sram";
751 reg = <0 0xe63c0000 0 0x1000>;
752 #address-cells = <1>;
753 #size-cells = <1>;
754 ranges = <0 0 0xe63c0000 0x1000>;
755
756 smp-sram@0 {
757 compatible = "renesas,smp-sram";
758 reg = <0 0x10>;
759 };
760 };
761
762 ether: ethernet@ee700000 {
763 compatible = "renesas,ether-r8a7745",
764 "renesas,rcar-gen2-ether";
765 reg = <0 0xee700000 0 0x400>;
766 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
767 clocks = <&cpg CPG_MOD 813>;
768 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
769 resets = <&cpg 813>;
770 phy-mode = "rmii";
771 #address-cells = <1>;
772 #size-cells = <0>;
773 status = "disabled";
774 };
775
776 avb: ethernet@e6800000 {
777 compatible = "renesas,etheravb-r8a7745",
778 "renesas,etheravb-rcar-gen2";
779 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
780 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
781 clocks = <&cpg CPG_MOD 812>;
782 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
783 resets = <&cpg 812>;
784 #address-cells = <1>;
785 #size-cells = <0>;
786 status = "disabled";
787 };
788
789 i2c0: i2c@e6508000 {
790 #address-cells = <1>;
791 #size-cells = <0>;
792 compatible = "renesas,i2c-r8a7745",
793 "renesas,rcar-gen2-i2c";
794 reg = <0 0xe6508000 0 0x40>;
795 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
796 clocks = <&cpg CPG_MOD 931>;
797 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
798 resets = <&cpg 931>;
799 i2c-scl-internal-delay-ns = <6>;
800 status = "disabled";
801 };
802
803 i2c1: i2c@e6518000 {
804 #address-cells = <1>;
805 #size-cells = <0>;
806 compatible = "renesas,i2c-r8a7745",
807 "renesas,rcar-gen2-i2c";
808 reg = <0 0xe6518000 0 0x40>;
809 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
810 clocks = <&cpg CPG_MOD 930>;
811 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
812 resets = <&cpg 930>;
813 i2c-scl-internal-delay-ns = <6>;
814 status = "disabled";
815 };
816
817 i2c2: i2c@e6530000 {
818 #address-cells = <1>;
819 #size-cells = <0>;
820 compatible = "renesas,i2c-r8a7745",
821 "renesas,rcar-gen2-i2c";
822 reg = <0 0xe6530000 0 0x40>;
823 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
824 clocks = <&cpg CPG_MOD 929>;
825 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
826 resets = <&cpg 929>;
827 i2c-scl-internal-delay-ns = <6>;
828 status = "disabled";
829 };
830
831 i2c3: i2c@e6540000 {
832 #address-cells = <1>;
833 #size-cells = <0>;
834 compatible = "renesas,i2c-r8a7745",
835 "renesas,rcar-gen2-i2c";
836 reg = <0 0xe6540000 0 0x40>;
837 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
838 clocks = <&cpg CPG_MOD 928>;
839 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
840 resets = <&cpg 928>;
841 i2c-scl-internal-delay-ns = <6>;
842 status = "disabled";
843 };
844
845 i2c4: i2c@e6520000 {
846 #address-cells = <1>;
847 #size-cells = <0>;
848 compatible = "renesas,i2c-r8a7745",
849 "renesas,rcar-gen2-i2c";
850 reg = <0 0xe6520000 0 0x40>;
851 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
852 clocks = <&cpg CPG_MOD 927>;
853 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
854 resets = <&cpg 927>;
855 i2c-scl-internal-delay-ns = <6>;
856 status = "disabled";
857 };
858
859 i2c5: i2c@e6528000 {
860 #address-cells = <1>;
861 #size-cells = <0>;
862 compatible = "renesas,i2c-r8a7745",
863 "renesas,rcar-gen2-i2c";
864 reg = <0 0xe6528000 0 0x40>;
865 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
866 clocks = <&cpg CPG_MOD 925>;
867 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
868 resets = <&cpg 925>;
869 i2c-scl-internal-delay-ns = <6>;
870 status = "disabled";
871 };
872
873 iic0: i2c@e6500000 {
874 #address-cells = <1>;
875 #size-cells = <0>;
876 compatible = "renesas,iic-r8a7745",
877 "renesas,rcar-gen2-iic",
878 "renesas,rmobile-iic";
879 reg = <0 0xe6500000 0 0x425>;
880 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
881 clocks = <&cpg CPG_MOD 318>;
882 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
883 <&dmac1 0x61>, <&dmac1 0x62>;
884 dma-names = "tx", "rx", "tx", "rx";
885 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
886 resets = <&cpg 318>;
887 status = "disabled";
888 };
889
890 iic1: i2c@e6510000 {
891 #address-cells = <1>;
892 #size-cells = <0>;
893 compatible = "renesas,iic-r8a7745",
894 "renesas,rcar-gen2-iic",
895 "renesas,rmobile-iic";
896 reg = <0 0xe6510000 0 0x425>;
897 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
898 clocks = <&cpg CPG_MOD 323>;
899 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
900 <&dmac1 0x65>, <&dmac1 0x66>;
901 dma-names = "tx", "rx", "tx", "rx";
902 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
903 resets = <&cpg 323>;
904 status = "disabled";
905 };
906
907 mmcif0: mmc@ee200000 {
908 compatible = "renesas,mmcif-r8a7745",
909 "renesas,sh-mmcif";
910 reg = <0 0xee200000 0 0x80>;
911 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
912 clocks = <&cpg CPG_MOD 315>;
913 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
914 <&dmac1 0xd1>, <&dmac1 0xd2>;
915 dma-names = "tx", "rx", "tx", "rx";
916 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
917 resets = <&cpg 315>;
918 reg-io-width = <4>;
919 max-frequency = <97500000>;
920 status = "disabled";
921 };
922
923 qspi: spi@e6b10000 {
924 compatible = "renesas,qspi-r8a7745", "renesas,qspi";
925 reg = <0 0xe6b10000 0 0x2c>;
926 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
927 clocks = <&cpg CPG_MOD 917>;
928 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
929 <&dmac1 0x17>, <&dmac1 0x18>;
930 dma-names = "tx", "rx", "tx", "rx";
931 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
932 num-cs = <1>;
933 #address-cells = <1>;
934 #size-cells = <0>;
935 resets = <&cpg 917>;
936 status = "disabled";
937 };
938
939 vin0: video@e6ef0000 {
940 compatible = "renesas,vin-r8a7745",
941 "renesas,rcar-gen2-vin";
942 reg = <0 0xe6ef0000 0 0x1000>;
943 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
944 clocks = <&cpg CPG_MOD 811>;
945 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
946 resets = <&cpg 811>;
947 status = "disabled";
948 };
949
950 vin1: video@e6ef1000 {
951 compatible = "renesas,vin-r8a7745",
952 "renesas,rcar-gen2-vin";
953 reg = <0 0xe6ef1000 0 0x1000>;
954 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
955 clocks = <&cpg CPG_MOD 810>;
956 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
957 resets = <&cpg 810>;
958 status = "disabled";
959 };
960
961 du: display@feb00000 {
962 compatible = "renesas,du-r8a7745";
963 reg = <0 0xfeb00000 0 0x40000>;
964 reg-names = "du";
965 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
966 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
967 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>;
968 clock-names = "du.0", "du.1";
969 status = "disabled";
970
971 ports {
972 #address-cells = <1>;
973 #size-cells = <0>;
974
975 port@0 {
976 reg = <0>;
977 du_out_rgb0: endpoint {
978 };
979 };
980 port@1 {
981 reg = <1>;
982 du_out_rgb1: endpoint {
983 };
984 };
985 };
986 };
987
988 msiof0: spi@e6e20000 { 930 msiof0: spi@e6e20000 {
989 compatible = "renesas,msiof-r8a7745", 931 compatible = "renesas,msiof-r8a7745",
990 "renesas,rcar-gen2-msiof"; 932 "renesas,rcar-gen2-msiof";
@@ -1103,170 +1045,6 @@
1103 status = "disabled"; 1045 status = "disabled";
1104 }; 1046 };
1105 1047
1106 tpu: pwm@e60f0000 {
1107 compatible = "renesas,tpu-r8a7745", "renesas,tpu";
1108 reg = <0 0xe60f0000 0 0x148>;
1109 clocks = <&cpg CPG_MOD 304>;
1110 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1111 resets = <&cpg 304>;
1112 #pwm-cells = <3>;
1113 status = "disabled";
1114 };
1115
1116 sdhi0: sd@ee100000 {
1117 compatible = "renesas,sdhi-r8a7745",
1118 "renesas,rcar-gen2-sdhi";
1119 reg = <0 0xee100000 0 0x328>;
1120 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1121 clocks = <&cpg CPG_MOD 314>;
1122 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1123 <&dmac1 0xcd>, <&dmac1 0xce>;
1124 dma-names = "tx", "rx", "tx", "rx";
1125 max-frequency = <195000000>;
1126 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1127 resets = <&cpg 314>;
1128 status = "disabled";
1129 };
1130
1131 sdhi1: sd@ee140000 {
1132 compatible = "renesas,sdhi-r8a7745",
1133 "renesas,rcar-gen2-sdhi";
1134 reg = <0 0xee140000 0 0x100>;
1135 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1136 clocks = <&cpg CPG_MOD 312>;
1137 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1138 <&dmac1 0xc1>, <&dmac1 0xc2>;
1139 dma-names = "tx", "rx", "tx", "rx";
1140 max-frequency = <97500000>;
1141 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1142 resets = <&cpg 312>;
1143 status = "disabled";
1144 };
1145
1146 sdhi2: sd@ee160000 {
1147 compatible = "renesas,sdhi-r8a7745",
1148 "renesas,rcar-gen2-sdhi";
1149 reg = <0 0xee160000 0 0x100>;
1150 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1151 clocks = <&cpg CPG_MOD 311>;
1152 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1153 <&dmac1 0xd3>, <&dmac1 0xd4>;
1154 dma-names = "tx", "rx", "tx", "rx";
1155 max-frequency = <97500000>;
1156 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1157 resets = <&cpg 311>;
1158 status = "disabled";
1159 };
1160
1161 pci0: pci@ee090000 {
1162 compatible = "renesas,pci-r8a7745",
1163 "renesas,pci-rcar-gen2";
1164 device_type = "pci";
1165 reg = <0 0xee090000 0 0xc00>,
1166 <0 0xee080000 0 0x1100>;
1167 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1168 clocks = <&cpg CPG_MOD 703>;
1169 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1170 resets = <&cpg 703>;
1171 status = "disabled";
1172
1173 bus-range = <0 0>;
1174 #address-cells = <3>;
1175 #size-cells = <2>;
1176 #interrupt-cells = <1>;
1177 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1178 interrupt-map-mask = <0xff00 0 0 0x7>;
1179 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1180 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1181 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1182
1183 usb@1,0 {
1184 reg = <0x800 0 0 0 0>;
1185 phys = <&usb0 0>;
1186 phy-names = "usb";
1187 };
1188
1189 usb@2,0 {
1190 reg = <0x1000 0 0 0 0>;
1191 phys = <&usb0 0>;
1192 phy-names = "usb";
1193 };
1194 };
1195
1196 pci1: pci@ee0d0000 {
1197 compatible = "renesas,pci-r8a7745",
1198 "renesas,pci-rcar-gen2";
1199 device_type = "pci";
1200 reg = <0 0xee0d0000 0 0xc00>,
1201 <0 0xee0c0000 0 0x1100>;
1202 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1203 clocks = <&cpg CPG_MOD 703>;
1204 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1205 resets = <&cpg 703>;
1206 status = "disabled";
1207
1208 bus-range = <1 1>;
1209 #address-cells = <3>;
1210 #size-cells = <2>;
1211 #interrupt-cells = <1>;
1212 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1213 interrupt-map-mask = <0xff00 0 0 0x7>;
1214 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1215 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1216 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1217
1218 usb@1,0 {
1219 reg = <0x10800 0 0 0 0>;
1220 phys = <&usb2 0>;
1221 phy-names = "usb";
1222 };
1223
1224 usb@2,0 {
1225 reg = <0x11000 0 0 0 0>;
1226 phys = <&usb2 0>;
1227 phy-names = "usb";
1228 };
1229 };
1230
1231 hsusb: usb@e6590000 {
1232 compatible = "renesas,usbhs-r8a7745",
1233 "renesas,rcar-gen2-usbhs";
1234 reg = <0 0xe6590000 0 0x100>;
1235 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1236 clocks = <&cpg CPG_MOD 704>;
1237 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
1238 <&usb_dmac1 0>, <&usb_dmac1 1>;
1239 dma-names = "ch0", "ch1", "ch2", "ch3";
1240 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1241 resets = <&cpg 704>;
1242 renesas,buswait = <4>;
1243 phys = <&usb0 1>;
1244 phy-names = "usb";
1245 status = "disabled";
1246 };
1247
1248 usbphy: usb-phy@e6590100 {
1249 compatible = "renesas,usb-phy-r8a7745",
1250 "renesas,rcar-gen2-usb-phy";
1251 reg = <0 0xe6590100 0 0x100>;
1252 #address-cells = <1>;
1253 #size-cells = <0>;
1254 clocks = <&cpg CPG_MOD 704>;
1255 clock-names = "usbhs";
1256 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1257 resets = <&cpg 704>;
1258 status = "disabled";
1259
1260 usb0: usb-channel@0 {
1261 reg = <0>;
1262 #phy-cells = <1>;
1263 };
1264 usb2: usb-channel@2 {
1265 reg = <2>;
1266 #phy-cells = <1>;
1267 };
1268 };
1269
1270 can0: can@e6e80000 { 1048 can0: can@e6e80000 {
1271 compatible = "renesas,can-r8a7745", 1049 compatible = "renesas,can-r8a7745",
1272 "renesas,rcar-gen2-can"; 1050 "renesas,rcar-gen2-can";
@@ -1295,6 +1073,28 @@
1295 status = "disabled"; 1073 status = "disabled";
1296 }; 1074 };
1297 1075
1076 vin0: video@e6ef0000 {
1077 compatible = "renesas,vin-r8a7745",
1078 "renesas,rcar-gen2-vin";
1079 reg = <0 0xe6ef0000 0 0x1000>;
1080 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
1081 clocks = <&cpg CPG_MOD 811>;
1082 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1083 resets = <&cpg 811>;
1084 status = "disabled";
1085 };
1086
1087 vin1: video@e6ef1000 {
1088 compatible = "renesas,vin-r8a7745",
1089 "renesas,rcar-gen2-vin";
1090 reg = <0 0xe6ef1000 0 0x1000>;
1091 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
1092 clocks = <&cpg CPG_MOD 810>;
1093 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1094 resets = <&cpg 810>;
1095 status = "disabled";
1096 };
1097
1298 rcar_sound: sound@ec500000 { 1098 rcar_sound: sound@ec500000 {
1299 /* 1099 /*
1300 * #sound-dai-cells is required 1100 * #sound-dai-cells is required
@@ -1474,6 +1274,278 @@
1474 }; 1274 };
1475 }; 1275 };
1476 }; 1276 };
1277
1278 audma0: dma-controller@ec700000 {
1279 compatible = "renesas,dmac-r8a7745",
1280 "renesas,rcar-dmac";
1281 reg = <0 0xec700000 0 0x10000>;
1282 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1283 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1284 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1285 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1286 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1287 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1288 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1289 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1290 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1291 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1292 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1293 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1294 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1295 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1296 interrupt-names = "error",
1297 "ch0", "ch1", "ch2", "ch3",
1298 "ch4", "ch5", "ch6", "ch7",
1299 "ch8", "ch9", "ch10", "ch11",
1300 "ch12";
1301 clocks = <&cpg CPG_MOD 502>;
1302 clock-names = "fck";
1303 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1304 resets = <&cpg 502>;
1305 #dma-cells = <1>;
1306 dma-channels = <13>;
1307 };
1308
1309 pci0: pci@ee090000 {
1310 compatible = "renesas,pci-r8a7745",
1311 "renesas,pci-rcar-gen2";
1312 device_type = "pci";
1313 reg = <0 0xee090000 0 0xc00>,
1314 <0 0xee080000 0 0x1100>;
1315 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1316 clocks = <&cpg CPG_MOD 703>;
1317 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1318 resets = <&cpg 703>;
1319 status = "disabled";
1320
1321 bus-range = <0 0>;
1322 #address-cells = <3>;
1323 #size-cells = <2>;
1324 #interrupt-cells = <1>;
1325 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1326 interrupt-map-mask = <0xff00 0 0 0x7>;
1327 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1328 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1329 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1330
1331 usb@1,0 {
1332 reg = <0x800 0 0 0 0>;
1333 phys = <&usb0 0>;
1334 phy-names = "usb";
1335 };
1336
1337 usb@2,0 {
1338 reg = <0x1000 0 0 0 0>;
1339 phys = <&usb0 0>;
1340 phy-names = "usb";
1341 };
1342 };
1343
1344 pci1: pci@ee0d0000 {
1345 compatible = "renesas,pci-r8a7745",
1346 "renesas,pci-rcar-gen2";
1347 device_type = "pci";
1348 reg = <0 0xee0d0000 0 0xc00>,
1349 <0 0xee0c0000 0 0x1100>;
1350 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1351 clocks = <&cpg CPG_MOD 703>;
1352 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1353 resets = <&cpg 703>;
1354 status = "disabled";
1355
1356 bus-range = <1 1>;
1357 #address-cells = <3>;
1358 #size-cells = <2>;
1359 #interrupt-cells = <1>;
1360 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1361 interrupt-map-mask = <0xff00 0 0 0x7>;
1362 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1363 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1364 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1365
1366 usb@1,0 {
1367 reg = <0x10800 0 0 0 0>;
1368 phys = <&usb2 0>;
1369 phy-names = "usb";
1370 };
1371
1372 usb@2,0 {
1373 reg = <0x11000 0 0 0 0>;
1374 phys = <&usb2 0>;
1375 phy-names = "usb";
1376 };
1377 };
1378
1379 sdhi0: sd@ee100000 {
1380 compatible = "renesas,sdhi-r8a7745",
1381 "renesas,rcar-gen2-sdhi";
1382 reg = <0 0xee100000 0 0x328>;
1383 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1384 clocks = <&cpg CPG_MOD 314>;
1385 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1386 <&dmac1 0xcd>, <&dmac1 0xce>;
1387 dma-names = "tx", "rx", "tx", "rx";
1388 max-frequency = <195000000>;
1389 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1390 resets = <&cpg 314>;
1391 status = "disabled";
1392 };
1393
1394 sdhi1: sd@ee140000 {
1395 compatible = "renesas,sdhi-r8a7745",
1396 "renesas,rcar-gen2-sdhi";
1397 reg = <0 0xee140000 0 0x100>;
1398 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1399 clocks = <&cpg CPG_MOD 312>;
1400 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1401 <&dmac1 0xc1>, <&dmac1 0xc2>;
1402 dma-names = "tx", "rx", "tx", "rx";
1403 max-frequency = <97500000>;
1404 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1405 resets = <&cpg 312>;
1406 status = "disabled";
1407 };
1408
1409 sdhi2: sd@ee160000 {
1410 compatible = "renesas,sdhi-r8a7745",
1411 "renesas,rcar-gen2-sdhi";
1412 reg = <0 0xee160000 0 0x100>;
1413 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1414 clocks = <&cpg CPG_MOD 311>;
1415 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1416 <&dmac1 0xd3>, <&dmac1 0xd4>;
1417 dma-names = "tx", "rx", "tx", "rx";
1418 max-frequency = <97500000>;
1419 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1420 resets = <&cpg 311>;
1421 status = "disabled";
1422 };
1423
1424 mmcif0: mmc@ee200000 {
1425 compatible = "renesas,mmcif-r8a7745",
1426 "renesas,sh-mmcif";
1427 reg = <0 0xee200000 0 0x80>;
1428 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1429 clocks = <&cpg CPG_MOD 315>;
1430 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1431 <&dmac1 0xd1>, <&dmac1 0xd2>;
1432 dma-names = "tx", "rx", "tx", "rx";
1433 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1434 resets = <&cpg 315>;
1435 reg-io-width = <4>;
1436 max-frequency = <97500000>;
1437 status = "disabled";
1438 };
1439
1440 ether: ethernet@ee700000 {
1441 compatible = "renesas,ether-r8a7745",
1442 "renesas,rcar-gen2-ether";
1443 reg = <0 0xee700000 0 0x400>;
1444 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1445 clocks = <&cpg CPG_MOD 813>;
1446 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1447 resets = <&cpg 813>;
1448 phy-mode = "rmii";
1449 #address-cells = <1>;
1450 #size-cells = <0>;
1451 status = "disabled";
1452 };
1453
1454 gic: interrupt-controller@f1001000 {
1455 compatible = "arm,gic-400";
1456 #interrupt-cells = <3>;
1457 #address-cells = <0>;
1458 interrupt-controller;
1459 reg = <0 0xf1001000 0 0x1000>, <0 0xf1002000 0 0x2000>,
1460 <0 0xf1004000 0 0x2000>, <0 0xf1006000 0 0x2000>;
1461 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
1462 clocks = <&cpg CPG_MOD 408>;
1463 clock-names = "clk";
1464 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1465 resets = <&cpg 408>;
1466 };
1467
1468 vsp@fe928000 {
1469 compatible = "renesas,vsp1";
1470 reg = <0 0xfe928000 0 0x8000>;
1471 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1472 clocks = <&cpg CPG_MOD 131>;
1473 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1474 resets = <&cpg 131>;
1475 };
1476
1477 vsp@fe930000 {
1478 compatible = "renesas,vsp1";
1479 reg = <0 0xfe930000 0 0x8000>;
1480 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
1481 clocks = <&cpg CPG_MOD 128>;
1482 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1483 resets = <&cpg 128>;
1484 };
1485
1486 du: display@feb00000 {
1487 compatible = "renesas,du-r8a7745";
1488 reg = <0 0xfeb00000 0 0x40000>;
1489 reg-names = "du";
1490 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1491 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
1492 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>;
1493 clock-names = "du.0", "du.1";
1494 status = "disabled";
1495
1496 ports {
1497 #address-cells = <1>;
1498 #size-cells = <0>;
1499
1500 port@0 {
1501 reg = <0>;
1502 du_out_rgb0: endpoint {
1503 };
1504 };
1505 port@1 {
1506 reg = <1>;
1507 du_out_rgb1: endpoint {
1508 };
1509 };
1510 };
1511 };
1512
1513 prr: chipid@ff000044 {
1514 compatible = "renesas,prr";
1515 reg = <0 0xff000044 0 4>;
1516 };
1517
1518 cmt0: timer@ffca0000 {
1519 compatible = "renesas,r8a7745-cmt0",
1520 "renesas,rcar-gen2-cmt0";
1521 reg = <0 0xffca0000 0 0x1004>;
1522 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1523 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
1524 clocks = <&cpg CPG_MOD 124>;
1525 clock-names = "fck";
1526 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1527 resets = <&cpg 124>;
1528 status = "disabled";
1529 };
1530
1531 cmt1: timer@e6130000 {
1532 compatible = "renesas,r8a7745-cmt1",
1533 "renesas,rcar-gen2-cmt1";
1534 reg = <0 0xe6130000 0 0x1004>;
1535 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1536 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1537 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1538 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1539 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1540 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1541 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1542 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1543 clocks = <&cpg CPG_MOD 329>;
1544 clock-names = "fck";
1545 power-domains = <&sysc R8A7745_PD_ALWAYS_ON>;
1546 resets = <&cpg 329>;
1547 status = "disabled";
1548 };
1477 }; 1549 };
1478 1550
1479 timer { 1551 timer {
diff --git a/arch/arm/boot/dts/r8a7779-marzen.dts b/arch/arm/boot/dts/r8a7779-marzen.dts
index 9412a86f9b30..4b9006bac3cb 100644
--- a/arch/arm/boot/dts/r8a7779-marzen.dts
+++ b/arch/arm/boot/dts/r8a7779-marzen.dts
@@ -42,6 +42,19 @@
42 regulator-always-on; 42 regulator-always-on;
43 }; 43 };
44 44
45 vccq_sdhi0: regulator-vccq-sdhi0 {
46 compatible = "regulator-gpio";
47
48 regulator-name = "SDHI0 VccQ";
49 regulator-min-microvolt = <1800000>;
50 regulator-max-microvolt = <3300000>;
51
52 gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
53 gpios-states = <1>;
54 states = <3300000 1
55 1800000 0>;
56 };
57
45 ethernet@18000000 { 58 ethernet@18000000 {
46 compatible = "smsc,lan9220", "smsc,lan9115"; 59 compatible = "smsc,lan9220", "smsc,lan9115";
47 reg = <0x18000000 0x100>; 60 reg = <0x18000000 0x100>;
@@ -243,6 +256,7 @@
243 pinctrl-names = "default"; 256 pinctrl-names = "default";
244 257
245 vmmc-supply = <&fixedregulator3v3>; 258 vmmc-supply = <&fixedregulator3v3>;
259 vqmmc-supply = <&vccq_sdhi0>;
246 bus-width = <4>; 260 bus-width = <4>;
247 status = "okay"; 261 status = "okay";
248}; 262};
diff --git a/arch/arm/boot/dts/r8a7790-lager.dts b/arch/arm/boot/dts/r8a7790-lager.dts
index f2ea632381e7..063fdb65dc60 100644
--- a/arch/arm/boot/dts/r8a7790-lager.dts
+++ b/arch/arm/boot/dts/r8a7790-lager.dts
@@ -51,8 +51,11 @@
51 serial0 = &scif0; 51 serial0 = &scif0;
52 serial1 = &scifa1; 52 serial1 = &scifa1;
53 i2c8 = &gpioi2c1; 53 i2c8 = &gpioi2c1;
54 i2c9 = &gpioi2c2;
54 i2c10 = &i2cexio0; 55 i2c10 = &i2cexio0;
55 i2c11 = &i2cexio1; 56 i2c11 = &i2cexio1;
57 i2c12 = &i2chdmi;
58 i2c13 = &i2cpwr;
56 }; 59 };
57 60
58 chosen { 61 chosen {
@@ -244,6 +247,12 @@
244 }; 247 };
245 }; 248 };
246 249
250 cec_clock: cec-clock {
251 compatible = "fixed-clock";
252 #clock-cells = <0>;
253 clock-frequency = <12000000>;
254 };
255
247 hdmi-out { 256 hdmi-out {
248 compatible = "hdmi-connector"; 257 compatible = "hdmi-connector";
249 type = "a"; 258 type = "a";
@@ -272,8 +281,18 @@
272 #size-cells = <0>; 281 #size-cells = <0>;
273 compatible = "i2c-gpio"; 282 compatible = "i2c-gpio";
274 status = "disabled"; 283 status = "disabled";
275 sda-gpios = <&gpio1 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
276 scl-gpios = <&gpio1 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 284 scl-gpios = <&gpio1 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
285 sda-gpios = <&gpio1 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
286 i2c-gpio,delay-us = <5>;
287 };
288
289 gpioi2c2: i2c-9 {
290 #address-cells = <1>;
291 #size-cells = <0>;
292 compatible = "i2c-gpio";
293 status = "disabled";
294 scl-gpios = <&gpio5 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
295 sda-gpios = <&gpio5 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
277 i2c-gpio,delay-us = <5>; 296 i2c-gpio,delay-us = <5>;
278 }; 297 };
279 298
@@ -308,6 +327,138 @@
308 #address-cells = <1>; 327 #address-cells = <1>;
309 #size-cells = <0>; 328 #size-cells = <0>;
310 }; 329 };
330
331 /*
332 * IIC2 and I2C2 may be switched using pinmux.
333 * A fallback to GPIO is also provided.
334 */
335 i2chdmi: i2c-12 {
336 compatible = "i2c-demux-pinctrl";
337 i2c-parent = <&iic2>, <&i2c2>, <&gpioi2c2>;
338 i2c-bus-name = "i2c-hdmi";
339 #address-cells = <1>;
340 #size-cells = <0>;
341
342 ak4643: codec@12 {
343 compatible = "asahi-kasei,ak4643";
344 #sound-dai-cells = <0>;
345 reg = <0x12>;
346 };
347
348 composite-in@20 {
349 compatible = "adi,adv7180";
350 reg = <0x20>;
351 remote = <&vin1>;
352
353 port {
354 adv7180: endpoint {
355 bus-width = <8>;
356 remote-endpoint = <&vin1ep0>;
357 };
358 };
359 };
360
361 hdmi@39 {
362 compatible = "adi,adv7511w";
363 reg = <0x39>;
364 interrupt-parent = <&gpio1>;
365 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
366 clocks = <&cec_clock>;
367 clock-names = "cec";
368
369 adi,input-depth = <8>;
370 adi,input-colorspace = "rgb";
371 adi,input-clock = "1x";
372 adi,input-style = <1>;
373 adi,input-justification = "evenly";
374
375 ports {
376 #address-cells = <1>;
377 #size-cells = <0>;
378
379 port@0 {
380 reg = <0>;
381 adv7511_in: endpoint {
382 remote-endpoint = <&du_out_lvds0>;
383 };
384 };
385
386 port@1 {
387 reg = <1>;
388 adv7511_out: endpoint {
389 remote-endpoint = <&hdmi_con_out>;
390 };
391 };
392 };
393 };
394
395 hdmi-in@4c {
396 compatible = "adi,adv7612";
397 reg = <0x4c>;
398 interrupt-parent = <&gpio1>;
399 interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
400 default-input = <0>;
401
402 ports {
403 #address-cells = <1>;
404 #size-cells = <0>;
405
406 port@0 {
407 reg = <0>;
408 adv7612_in: endpoint {
409 remote-endpoint = <&hdmi_con_in>;
410 };
411 };
412
413 port@2 {
414 reg = <2>;
415 adv7612_out: endpoint {
416 remote-endpoint = <&vin0ep2>;
417 };
418 };
419 };
420 };
421 };
422
423 /*
424 * IIC3 and I2C3 may be switched using pinmux.
425 * IIC3/I2C3 does not appear to support fallback to GPIO.
426 */
427 i2cpwr: i2c-13 {
428 compatible = "i2c-demux-pinctrl";
429 i2c-parent = <&iic3>, <&i2c3>;
430 i2c-bus-name = "i2c-pwr";
431 #address-cells = <1>;
432 #size-cells = <0>;
433
434 pmic@58 {
435 compatible = "dlg,da9063";
436 reg = <0x58>;
437 interrupt-parent = <&irqc0>;
438 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
439 interrupt-controller;
440
441 rtc {
442 compatible = "dlg,da9063-rtc";
443 };
444
445 wdt {
446 compatible = "dlg,da9063-watchdog";
447 };
448 };
449
450 vdd_dvfs: regulator@68 {
451 compatible = "dlg,da9210";
452 reg = <0x68>;
453 interrupt-parent = <&irqc0>;
454 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
455
456 regulator-min-microvolt = <1000000>;
457 regulator-max-microvolt = <1000000>;
458 regulator-boot-on;
459 regulator-always-on;
460 };
461 };
311}; 462};
312 463
313&du { 464&du {
@@ -437,11 +588,21 @@
437 function = "iic1"; 588 function = "iic1";
438 }; 589 };
439 590
591 i2c2_pins: i2c2 {
592 groups = "i2c2";
593 function = "i2c2";
594 };
595
440 iic2_pins: iic2 { 596 iic2_pins: iic2 {
441 groups = "iic2"; 597 groups = "iic2";
442 function = "iic2"; 598 function = "iic2";
443 }; 599 };
444 600
601 i2c3_pins: i2c3 {
602 groups = "i2c3";
603 function = "i2c3";
604 };
605
445 iic3_pins: iic3 { 606 iic3_pins: iic3 {
446 groups = "iic3"; 607 groups = "iic3";
447 function = "iic3"; 608 function = "iic3";
@@ -643,124 +804,28 @@
643 pinctrl-names = "i2c-exio1"; 804 pinctrl-names = "i2c-exio1";
644}; 805};
645 806
646&iic2 { 807&i2c2 {
647 status = "okay"; 808 pinctrl-0 = <&i2c2_pins>;
648 pinctrl-0 = <&iic2_pins>; 809 pinctrl-names = "i2c-hdmi";
649 pinctrl-names = "default";
650 810
651 clock-frequency = <100000>; 811 clock-frequency = <100000>;
812};
652 813
653 ak4643: codec@12 { 814&iic2 {
654 compatible = "asahi-kasei,ak4643"; 815 pinctrl-0 = <&iic2_pins>;
655 #sound-dai-cells = <0>; 816 pinctrl-names = "i2c-hdmi";
656 reg = <0x12>;
657 };
658
659 composite-in@20 {
660 compatible = "adi,adv7180";
661 reg = <0x20>;
662 remote = <&vin1>;
663
664 port {
665 adv7180: endpoint {
666 bus-width = <8>;
667 remote-endpoint = <&vin1ep0>;
668 };
669 };
670 };
671
672 hdmi@39 {
673 compatible = "adi,adv7511w";
674 reg = <0x39>;
675 interrupt-parent = <&gpio1>;
676 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
677
678 adi,input-depth = <8>;
679 adi,input-colorspace = "rgb";
680 adi,input-clock = "1x";
681 adi,input-style = <1>;
682 adi,input-justification = "evenly";
683
684 ports {
685 #address-cells = <1>;
686 #size-cells = <0>;
687
688 port@0 {
689 reg = <0>;
690 adv7511_in: endpoint {
691 remote-endpoint = <&du_out_lvds0>;
692 };
693 };
694
695 port@1 {
696 reg = <1>;
697 adv7511_out: endpoint {
698 remote-endpoint = <&hdmi_con_out>;
699 };
700 };
701 };
702 };
703
704 hdmi-in@4c {
705 compatible = "adi,adv7612";
706 reg = <0x4c>;
707 interrupt-parent = <&gpio1>;
708 interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
709 default-input = <0>;
710
711 ports {
712 #address-cells = <1>;
713 #size-cells = <0>;
714 817
715 port@0 { 818 clock-frequency = <100000>;
716 reg = <0>; 819};
717 adv7612_in: endpoint {
718 remote-endpoint = <&hdmi_con_in>;
719 };
720 };
721 820
722 port@2 { 821&i2c3 {
723 reg = <2>; 822 pinctrl-0 = <&i2c3_pins>;
724 adv7612_out: endpoint { 823 pinctrl-names = "i2c-pwr";
725 remote-endpoint = <&vin0ep2>;
726 };
727 };
728 };
729 };
730}; 824};
731 825
732&iic3 { 826&iic3 {
733 pinctrl-names = "default";
734 pinctrl-0 = <&iic3_pins>; 827 pinctrl-0 = <&iic3_pins>;
735 status = "okay"; 828 pinctrl-names = "i2c-pwr";
736
737 pmic@58 {
738 compatible = "dlg,da9063";
739 reg = <0x58>;
740 interrupt-parent = <&irqc0>;
741 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
742 interrupt-controller;
743
744 rtc {
745 compatible = "dlg,da9063-rtc";
746 };
747
748 wdt {
749 compatible = "dlg,da9063-watchdog";
750 };
751 };
752
753 vdd_dvfs: regulator@68 {
754 compatible = "dlg,da9210";
755 reg = <0x68>;
756 interrupt-parent = <&irqc0>;
757 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
758
759 regulator-min-microvolt = <1000000>;
760 regulator-max-microvolt = <1000000>;
761 regulator-boot-on;
762 regulator-always-on;
763 };
764}; 829};
765 830
766&pci0 { 831&pci0 {
diff --git a/arch/arm/boot/dts/r8a7790-stout.dts b/arch/arm/boot/dts/r8a7790-stout.dts
new file mode 100644
index 000000000000..a13a92c26645
--- /dev/null
+++ b/arch/arm/boot/dts/r8a7790-stout.dts
@@ -0,0 +1,363 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Stout board
4 *
5 * Copyright (C) 2018 Marek Vasut <marek.vasut@gmail.com>
6 */
7
8/dts-v1/;
9#include "r8a7790.dtsi"
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/input/input.h>
12
13/ {
14 model = "Stout";
15 compatible = "renesas,stout", "renesas,r8a7790";
16
17 aliases {
18 serial0 = &scifa0;
19 };
20
21 chosen {
22 bootargs = "ignore_loglevel rw root=/dev/nfs ip=dhcp";
23 stdout-path = "serial0:115200n8";
24 };
25
26 memory@40000000 {
27 device_type = "memory";
28 reg = <0 0x40000000 0 0x40000000>;
29 };
30
31 leds {
32 compatible = "gpio-leds";
33 led1 {
34 gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
35 };
36 led2 {
37 gpios = <&gpio4 23 GPIO_ACTIVE_LOW>;
38 };
39 led3 {
40 gpios = <&gpio5 17 GPIO_ACTIVE_LOW>;
41 };
42 led5 {
43 gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
44 };
45 };
46
47 fixedregulator3v3: regulator-3v3 {
48 compatible = "regulator-fixed";
49 regulator-name = "fixed-3.3V";
50 regulator-min-microvolt = <3300000>;
51 regulator-max-microvolt = <3300000>;
52 regulator-boot-on;
53 regulator-always-on;
54 };
55
56 vcc_sdhi0: regulator-vcc-sdhi0 {
57 compatible = "regulator-fixed";
58
59 regulator-name = "SDHI0 Vcc";
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62
63 gpio = <&gpio5 24 GPIO_ACTIVE_HIGH>;
64 enable-active-high;
65 };
66
67 hdmi-out {
68 compatible = "hdmi-connector";
69 type = "a";
70
71 port {
72 hdmi_con_out: endpoint {
73 remote-endpoint = <&adv7511_out>;
74 };
75 };
76 };
77
78 osc1_clk: osc1-clock {
79 compatible = "fixed-clock";
80 #clock-cells = <0>;
81 clock-frequency = <148500000>;
82 };
83
84 osc4_clk: osc4-clock {
85 compatible = "fixed-clock";
86 #clock-cells = <0>;
87 clock-frequency = <12000000>;
88 };
89};
90
91&du {
92 pinctrl-0 = <&du_pins>;
93 pinctrl-names = "default";
94 status = "okay";
95
96 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
97 <&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
98 <&osc1_clk>;
99 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1", "dclkin.0";
100
101 ports {
102 port@0 {
103 endpoint {
104 remote-endpoint = <&adv7511_in>;
105 };
106 };
107 port@1 {
108 lvds_connector0: endpoint {
109 };
110 };
111 port@2 {
112 lvds_connector1: endpoint {
113 };
114 };
115 };
116};
117
118&extal_clk {
119 clock-frequency = <20000000>;
120};
121
122&pfc {
123
124 pinctrl-0 = <&scif_clk_pins>;
125 pinctrl-names = "default";
126
127 du_pins: du {
128 groups = "du_rgb888", "du_sync_1", "du_clk_out_0";
129 function = "du";
130 };
131
132 scifa0_pins: scifa0 {
133 groups = "scifa0_data_b";
134 function = "scifa0";
135 };
136
137 scif_clk_pins: scif_clk {
138 groups = "scif_clk";
139 function = "scif_clk";
140 };
141
142 ether_pins: ether {
143 groups = "eth_link", "eth_mdio", "eth_rmii";
144 function = "eth";
145 };
146
147 phy1_pins: phy1 {
148 groups = "intc_irq1";
149 function = "intc";
150 };
151
152 sdhi0_pins: sd0 {
153 groups = "sdhi0_data4", "sdhi0_ctrl";
154 function = "sdhi0";
155 power-source = <3300>;
156 };
157
158 qspi_pins: qspi {
159 groups = "qspi_ctrl", "qspi_data4";
160 function = "qspi";
161 };
162
163 iic2_pins: iic2 {
164 groups = "iic2_b";
165 function = "iic2";
166 };
167
168 iic3_pins: iic3 {
169 groups = "iic3";
170 function = "iic3";
171 };
172
173 usb0_pins: usb0 {
174 groups = "usb0";
175 function = "usb0";
176 };
177};
178
179&ether {
180 pinctrl-0 = <&ether_pins &phy1_pins>;
181 pinctrl-names = "default";
182
183 phy-handle = <&phy1>;
184 renesas,ether-link-active-low;
185 status = "okay";
186
187 phy1: ethernet-phy@1 {
188 reg = <1>;
189 interrupt-parent = <&irqc0>;
190 interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
191 micrel,led-mode = <1>;
192 };
193};
194
195&cmt0 {
196 status = "okay";
197};
198
199&qspi {
200 pinctrl-0 = <&qspi_pins>;
201 pinctrl-names = "default";
202
203 status = "okay";
204
205 flash: flash@0 {
206 compatible = "spansion,s25fl512s", "jedec,spi-nor";
207 reg = <0>;
208 spi-max-frequency = <30000000>;
209 spi-tx-bus-width = <4>;
210 spi-rx-bus-width = <4>;
211 spi-cpha;
212 spi-cpol;
213 m25p,fast-read;
214
215 partitions {
216 compatible = "fixed-partitions";
217 #address-cells = <1>;
218 #size-cells = <1>;
219
220 partition@0 {
221 label = "loader";
222 reg = <0x00000000 0x00080000>;
223 read-only;
224 };
225 partition@80000 {
226 label = "uboot";
227 reg = <0x00080000 0x00040000>;
228 read-only;
229 };
230 partition@c0000 {
231 label = "uboot-env";
232 reg = <0x000c0000 0x00040000>;
233 read-only;
234 };
235 partition@100000 {
236 label = "flash";
237 reg = <0x00100000 0x03f00000>;
238 };
239 };
240 };
241};
242
243&scifa0 {
244 pinctrl-0 = <&scifa0_pins>;
245 pinctrl-names = "default";
246
247 status = "okay";
248};
249
250&scif_clk {
251 clock-frequency = <14745600>;
252};
253
254&sdhi0 {
255 pinctrl-0 = <&sdhi0_pins>;
256 pinctrl-names = "default";
257
258 vmmc-supply = <&vcc_sdhi0>;
259 cd-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
260 status = "okay";
261};
262
263&cpu0 {
264 cpu0-supply = <&vdd_dvfs>;
265};
266
267&iic2 {
268 status = "okay";
269 pinctrl-0 = <&iic2_pins>;
270 pinctrl-names = "default";
271
272 clock-frequency = <100000>;
273
274 hdmi@39 {
275 compatible = "adi,adv7511w";
276 reg = <0x39>;
277 interrupt-parent = <&gpio1>;
278 interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
279 clocks = <&osc4_clk>;
280 clock-names = "cec";
281
282 adi,input-depth = <8>;
283 adi,input-colorspace = "rgb";
284 adi,input-clock = "1x";
285 adi,input-style = <1>;
286 adi,input-justification = "evenly";
287
288 ports {
289 #address-cells = <1>;
290 #size-cells = <0>;
291
292 port@0 {
293 reg = <0>;
294 adv7511_in: endpoint {
295 remote-endpoint = <&du_out_rgb>;
296 };
297 };
298
299 port@1 {
300 reg = <1>;
301 adv7511_out: endpoint {
302 remote-endpoint = <&hdmi_con_out>;
303 };
304 };
305 };
306 };
307};
308
309&iic3 {
310 pinctrl-names = "default";
311 pinctrl-0 = <&iic3_pins>;
312 status = "okay";
313
314 pmic@58 {
315 compatible = "dlg,da9063";
316 reg = <0x58>;
317 interrupt-parent = <&irqc0>;
318 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
319 interrupt-controller;
320
321 rtc {
322 compatible = "dlg,da9063-rtc";
323 };
324
325 wdt {
326 compatible = "dlg,da9063-watchdog";
327 };
328 };
329
330 vdd_dvfs: regulator@68 {
331 compatible = "dlg,da9210";
332 reg = <0x68>;
333 interrupt-parent = <&irqc0>;
334 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
335
336 regulator-min-microvolt = <1000000>;
337 regulator-max-microvolt = <1000000>;
338 regulator-boot-on;
339 regulator-always-on;
340 };
341
342 vdd: regulator@70 {
343 compatible = "dlg,da9210";
344 reg = <0x70>;
345 interrupt-parent = <&irqc0>;
346 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
347
348 regulator-min-microvolt = <1000000>;
349 regulator-max-microvolt = <1000000>;
350 regulator-boot-on;
351 regulator-always-on;
352 };
353};
354
355&pci0 {
356 status = "okay";
357 pinctrl-0 = <&usb0_pins>;
358 pinctrl-names = "default";
359};
360
361&usbphy {
362 status = "okay";
363};
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
index ed9a68538a55..e4367cecad18 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -17,7 +17,6 @@
17 17
18/ { 18/ {
19 compatible = "renesas,r8a7790"; 19 compatible = "renesas,r8a7790";
20 interrupt-parent = <&gic>;
21 #address-cells = <2>; 20 #address-cells = <2>;
22 #size-cells = <2>; 21 #size-cells = <2>;
23 22
@@ -41,6 +40,35 @@
41 vin3 = &vin3; 40 vin3 = &vin3;
42 }; 41 };
43 42
43 /*
44 * The external audio clocks are configured as 0 Hz fixed frequency
45 * clocks by default.
46 * Boards that provide audio clocks should override them.
47 */
48 audio_clk_a: audio_clk_a {
49 compatible = "fixed-clock";
50 #clock-cells = <0>;
51 clock-frequency = <0>;
52 };
53 audio_clk_b: audio_clk_b {
54 compatible = "fixed-clock";
55 #clock-cells = <0>;
56 clock-frequency = <0>;
57 };
58 audio_clk_c: audio_clk_c {
59 compatible = "fixed-clock";
60 #clock-cells = <0>;
61 clock-frequency = <0>;
62 };
63
64 /* External CAN clock */
65 can_clk: can {
66 compatible = "fixed-clock";
67 #clock-cells = <0>;
68 /* This value must be overridden by the board. */
69 clock-frequency = <0>;
70 };
71
44 cpus { 72 cpus {
45 #address-cells = <1>; 73 #address-cells = <1>;
46 #size-cells = <0>; 74 #size-cells = <0>;
@@ -159,1510 +187,1553 @@
159 }; 187 };
160 }; 188 };
161 189
162 thermal-zones { 190 /* External root clock */
163 cpu_thermal: cpu-thermal { 191 extal_clk: extal {
164 polling-delay-passive = <0>; 192 compatible = "fixed-clock";
165 polling-delay = <0>; 193 #clock-cells = <0>;
166 194 /* This value must be overridden by the board. */
167 thermal-sensors = <&thermal>; 195 clock-frequency = <0>;
168
169 trips {
170 cpu-crit {
171 temperature = <95000>;
172 hysteresis = <0>;
173 type = "critical";
174 };
175 };
176 cooling-maps {
177 };
178 };
179 }; 196 };
180 197
181 apmu@e6151000 { 198 /* External PCIe clock - can be overridden by the board */
182 compatible = "renesas,r8a7790-apmu", "renesas,apmu"; 199 pcie_bus_clk: pcie_bus {
183 reg = <0 0xe6151000 0 0x188>; 200 compatible = "fixed-clock";
184 cpus = <&cpu4 &cpu5 &cpu6 &cpu7>; 201 #clock-cells = <0>;
202 clock-frequency = <0>;
185 }; 203 };
186 204
187 apmu@e6152000 { 205 /* External SCIF clock */
188 compatible = "renesas,r8a7790-apmu", "renesas,apmu"; 206 scif_clk: scif {
189 reg = <0 0xe6152000 0 0x188>; 207 compatible = "fixed-clock";
190 cpus = <&cpu0 &cpu1 &cpu2 &cpu3>; 208 #clock-cells = <0>;
209 /* This value must be overridden by the board. */
210 clock-frequency = <0>;
191 }; 211 };
192 212
193 gic: interrupt-controller@f1001000 { 213 soc {
194 compatible = "arm,gic-400"; 214 compatible = "simple-bus";
195 #interrupt-cells = <3>; 215 interrupt-parent = <&gic>;
196 #address-cells = <0>;
197 interrupt-controller;
198 reg = <0 0xf1001000 0 0x1000>,
199 <0 0xf1002000 0 0x2000>,
200 <0 0xf1004000 0 0x2000>,
201 <0 0xf1006000 0 0x2000>;
202 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
203 clocks = <&cpg CPG_MOD 408>;
204 clock-names = "clk";
205 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
206 resets = <&cpg 408>;
207 };
208 216
209 gpio0: gpio@e6050000 { 217 #address-cells = <2>;
210 compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio"; 218 #size-cells = <2>;
211 reg = <0 0xe6050000 0 0x50>; 219 ranges;
212 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 220
213 #gpio-cells = <2>; 221 gpio0: gpio@e6050000 {
214 gpio-controller; 222 compatible = "renesas,gpio-r8a7790",
215 gpio-ranges = <&pfc 0 0 32>; 223 "renesas,rcar-gen2-gpio";
216 #interrupt-cells = <2>; 224 reg = <0 0xe6050000 0 0x50>;
217 interrupt-controller; 225 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
218 clocks = <&cpg CPG_MOD 912>; 226 #gpio-cells = <2>;
219 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 227 gpio-controller;
220 resets = <&cpg 912>; 228 gpio-ranges = <&pfc 0 0 32>;
221 }; 229 #interrupt-cells = <2>;
230 interrupt-controller;
231 clocks = <&cpg CPG_MOD 912>;
232 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
233 resets = <&cpg 912>;
234 };
222 235
223 gpio1: gpio@e6051000 { 236 gpio1: gpio@e6051000 {
224 compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio"; 237 compatible = "renesas,gpio-r8a7790",
225 reg = <0 0xe6051000 0 0x50>; 238 "renesas,rcar-gen2-gpio";
226 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 239 reg = <0 0xe6051000 0 0x50>;
227 #gpio-cells = <2>; 240 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
228 gpio-controller; 241 #gpio-cells = <2>;
229 gpio-ranges = <&pfc 0 32 30>; 242 gpio-controller;
230 #interrupt-cells = <2>; 243 gpio-ranges = <&pfc 0 32 30>;
231 interrupt-controller; 244 #interrupt-cells = <2>;
232 clocks = <&cpg CPG_MOD 911>; 245 interrupt-controller;
233 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 246 clocks = <&cpg CPG_MOD 911>;
234 resets = <&cpg 911>; 247 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
235 }; 248 resets = <&cpg 911>;
249 };
236 250
237 gpio2: gpio@e6052000 { 251 gpio2: gpio@e6052000 {
238 compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio"; 252 compatible = "renesas,gpio-r8a7790",
239 reg = <0 0xe6052000 0 0x50>; 253 "renesas,rcar-gen2-gpio";
240 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 254 reg = <0 0xe6052000 0 0x50>;
241 #gpio-cells = <2>; 255 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
242 gpio-controller; 256 #gpio-cells = <2>;
243 gpio-ranges = <&pfc 0 64 30>; 257 gpio-controller;
244 #interrupt-cells = <2>; 258 gpio-ranges = <&pfc 0 64 30>;
245 interrupt-controller; 259 #interrupt-cells = <2>;
246 clocks = <&cpg CPG_MOD 910>; 260 interrupt-controller;
247 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 261 clocks = <&cpg CPG_MOD 910>;
248 resets = <&cpg 910>; 262 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
249 }; 263 resets = <&cpg 910>;
264 };
250 265
251 gpio3: gpio@e6053000 { 266 gpio3: gpio@e6053000 {
252 compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio"; 267 compatible = "renesas,gpio-r8a7790",
253 reg = <0 0xe6053000 0 0x50>; 268 "renesas,rcar-gen2-gpio";
254 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 269 reg = <0 0xe6053000 0 0x50>;
255 #gpio-cells = <2>; 270 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
256 gpio-controller; 271 #gpio-cells = <2>;
257 gpio-ranges = <&pfc 0 96 32>; 272 gpio-controller;
258 #interrupt-cells = <2>; 273 gpio-ranges = <&pfc 0 96 32>;
259 interrupt-controller; 274 #interrupt-cells = <2>;
260 clocks = <&cpg CPG_MOD 909>; 275 interrupt-controller;
261 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 276 clocks = <&cpg CPG_MOD 909>;
262 resets = <&cpg 909>; 277 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
263 }; 278 resets = <&cpg 909>;
279 };
264 280
265 gpio4: gpio@e6054000 { 281 gpio4: gpio@e6054000 {
266 compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio"; 282 compatible = "renesas,gpio-r8a7790",
267 reg = <0 0xe6054000 0 0x50>; 283 "renesas,rcar-gen2-gpio";
268 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 284 reg = <0 0xe6054000 0 0x50>;
269 #gpio-cells = <2>; 285 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
270 gpio-controller; 286 #gpio-cells = <2>;
271 gpio-ranges = <&pfc 0 128 32>; 287 gpio-controller;
272 #interrupt-cells = <2>; 288 gpio-ranges = <&pfc 0 128 32>;
273 interrupt-controller; 289 #interrupt-cells = <2>;
274 clocks = <&cpg CPG_MOD 908>; 290 interrupt-controller;
275 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 291 clocks = <&cpg CPG_MOD 908>;
276 resets = <&cpg 908>; 292 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
277 }; 293 resets = <&cpg 908>;
294 };
278 295
279 gpio5: gpio@e6055000 { 296 gpio5: gpio@e6055000 {
280 compatible = "renesas,gpio-r8a7790", "renesas,rcar-gen2-gpio"; 297 compatible = "renesas,gpio-r8a7790",
281 reg = <0 0xe6055000 0 0x50>; 298 "renesas,rcar-gen2-gpio";
282 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 299 reg = <0 0xe6055000 0 0x50>;
283 #gpio-cells = <2>; 300 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
284 gpio-controller; 301 #gpio-cells = <2>;
285 gpio-ranges = <&pfc 0 160 32>; 302 gpio-controller;
286 #interrupt-cells = <2>; 303 gpio-ranges = <&pfc 0 160 32>;
287 interrupt-controller; 304 #interrupt-cells = <2>;
288 clocks = <&cpg CPG_MOD 907>; 305 interrupt-controller;
289 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 306 clocks = <&cpg CPG_MOD 907>;
290 resets = <&cpg 907>; 307 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
291 }; 308 resets = <&cpg 907>;
309 };
292 310
293 thermal: thermal@e61f0000 { 311 pfc: pin-controller@e6060000 {
294 compatible = "renesas,thermal-r8a7790", 312 compatible = "renesas,pfc-r8a7790";
295 "renesas,rcar-gen2-thermal", 313 reg = <0 0xe6060000 0 0x250>;
296 "renesas,rcar-thermal"; 314 };
297 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
298 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
299 clocks = <&cpg CPG_MOD 522>;
300 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
301 resets = <&cpg 522>;
302 #thermal-sensor-cells = <0>;
303 };
304 315
305 timer { 316 cpg: clock-controller@e6150000 {
306 compatible = "arm,armv7-timer"; 317 compatible = "renesas,r8a7790-cpg-mssr";
307 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 318 reg = <0 0xe6150000 0 0x1000>;
308 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 319 clocks = <&extal_clk>, <&usb_extal_clk>;
309 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 320 clock-names = "extal", "usb_extal";
310 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 321 #clock-cells = <2>;
311 }; 322 #power-domain-cells = <0>;
323 #reset-cells = <1>;
324 };
312 325
313 cmt0: timer@ffca0000 { 326 apmu@e6151000 {
314 compatible = "renesas,r8a7790-cmt0", "renesas,rcar-gen2-cmt0"; 327 compatible = "renesas,r8a7790-apmu", "renesas,apmu";
315 reg = <0 0xffca0000 0 0x1004>; 328 reg = <0 0xe6151000 0 0x188>;
316 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 329 cpus = <&cpu4 &cpu5 &cpu6 &cpu7>;
317 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 330 };
318 clocks = <&cpg CPG_MOD 124>;
319 clock-names = "fck";
320 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
321 resets = <&cpg 124>;
322
323 status = "disabled";
324 };
325 331
326 cmt1: timer@e6130000 { 332 apmu@e6152000 {
327 compatible = "renesas,r8a7790-cmt1", "renesas,rcar-gen2-cmt1"; 333 compatible = "renesas,r8a7790-apmu", "renesas,apmu";
328 reg = <0 0xe6130000 0 0x1004>; 334 reg = <0 0xe6152000 0 0x188>;
329 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 335 cpus = <&cpu0 &cpu1 &cpu2 &cpu3>;
330 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 336 };
331 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
332 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
333 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
334 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
335 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
336 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
337 clocks = <&cpg CPG_MOD 329>;
338 clock-names = "fck";
339 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
340 resets = <&cpg 329>;
341
342 status = "disabled";
343 };
344 337
345 irqc0: interrupt-controller@e61c0000 { 338 rst: reset-controller@e6160000 {
346 compatible = "renesas,irqc-r8a7790", "renesas,irqc"; 339 compatible = "renesas,r8a7790-rst";
347 #interrupt-cells = <2>; 340 reg = <0 0xe6160000 0 0x0100>;
348 interrupt-controller; 341 };
349 reg = <0 0xe61c0000 0 0x200>;
350 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
351 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
352 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
353 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&cpg CPG_MOD 407>;
355 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
356 resets = <&cpg 407>;
357 };
358 342
359 dmac0: dma-controller@e6700000 { 343 sysc: system-controller@e6180000 {
360 compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac"; 344 compatible = "renesas,r8a7790-sysc";
361 reg = <0 0xe6700000 0 0x20000>; 345 reg = <0 0xe6180000 0 0x0200>;
362 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 346 #power-domain-cells = <1>;
363 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH 347 };
364 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
365 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
366 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
367 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
368 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
369 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
370 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
371 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
372 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
373 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
374 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
375 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
376 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
377 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
378 interrupt-names = "error",
379 "ch0", "ch1", "ch2", "ch3",
380 "ch4", "ch5", "ch6", "ch7",
381 "ch8", "ch9", "ch10", "ch11",
382 "ch12", "ch13", "ch14";
383 clocks = <&cpg CPG_MOD 219>;
384 clock-names = "fck";
385 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
386 resets = <&cpg 219>;
387 #dma-cells = <1>;
388 dma-channels = <15>;
389 };
390 348
391 dmac1: dma-controller@e6720000 { 349 irqc0: interrupt-controller@e61c0000 {
392 compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac"; 350 compatible = "renesas,irqc-r8a7790", "renesas,irqc";
393 reg = <0 0xe6720000 0 0x20000>; 351 #interrupt-cells = <2>;
394 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 352 interrupt-controller;
395 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 353 reg = <0 0xe61c0000 0 0x200>;
396 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH 354 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
397 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 355 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
398 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH 356 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
399 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH 357 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
400 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH 358 clocks = <&cpg CPG_MOD 407>;
401 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH 359 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
402 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH 360 resets = <&cpg 407>;
403 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH 361 };
404 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
405 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
406 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
407 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
408 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
409 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
410 interrupt-names = "error",
411 "ch0", "ch1", "ch2", "ch3",
412 "ch4", "ch5", "ch6", "ch7",
413 "ch8", "ch9", "ch10", "ch11",
414 "ch12", "ch13", "ch14";
415 clocks = <&cpg CPG_MOD 218>;
416 clock-names = "fck";
417 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
418 resets = <&cpg 218>;
419 #dma-cells = <1>;
420 dma-channels = <15>;
421 };
422 362
423 audma0: dma-controller@ec700000 { 363 thermal: thermal@e61f0000 {
424 compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac"; 364 compatible = "renesas,thermal-r8a7790",
425 reg = <0 0xec700000 0 0x10000>; 365 "renesas,rcar-gen2-thermal",
426 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH 366 "renesas,rcar-thermal";
427 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 367 reg = <0 0xe61f0000 0 0x10>, <0 0xe61f0100 0 0x38>;
428 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 368 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
429 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 369 clocks = <&cpg CPG_MOD 522>;
430 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 370 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
431 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 371 resets = <&cpg 522>;
432 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 372 #thermal-sensor-cells = <0>;
433 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 373 };
434 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
435 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
436 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
437 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
438 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
439 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
440 interrupt-names = "error",
441 "ch0", "ch1", "ch2", "ch3",
442 "ch4", "ch5", "ch6", "ch7",
443 "ch8", "ch9", "ch10", "ch11",
444 "ch12";
445 clocks = <&cpg CPG_MOD 502>;
446 clock-names = "fck";
447 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
448 resets = <&cpg 502>;
449 #dma-cells = <1>;
450 dma-channels = <13>;
451 };
452 374
453 audma1: dma-controller@ec720000 { 375 ipmmu_sy0: mmu@e6280000 {
454 compatible = "renesas,dmac-r8a7790", "renesas,rcar-dmac"; 376 compatible = "renesas,ipmmu-r8a7790",
455 reg = <0 0xec720000 0 0x10000>; 377 "renesas,ipmmu-vmsa";
456 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 378 reg = <0 0xe6280000 0 0x1000>;
457 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 379 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
458 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 380 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
459 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 381 #iommu-cells = <1>;
460 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 382 status = "disabled";
461 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 383 };
462 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
463 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
464 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
465 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
466 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
467 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
468 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
469 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
470 interrupt-names = "error",
471 "ch0", "ch1", "ch2", "ch3",
472 "ch4", "ch5", "ch6", "ch7",
473 "ch8", "ch9", "ch10", "ch11",
474 "ch12";
475 clocks = <&cpg CPG_MOD 501>;
476 clock-names = "fck";
477 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
478 resets = <&cpg 501>;
479 #dma-cells = <1>;
480 dma-channels = <13>;
481 };
482 384
483 usb_dmac0: dma-controller@e65a0000 { 385 ipmmu_sy1: mmu@e6290000 {
484 compatible = "renesas,r8a7790-usb-dmac", "renesas,usb-dmac"; 386 compatible = "renesas,ipmmu-r8a7790",
485 reg = <0 0xe65a0000 0 0x100>; 387 "renesas,ipmmu-vmsa";
486 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 388 reg = <0 0xe6290000 0 0x1000>;
487 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 389 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
488 interrupt-names = "ch0", "ch1"; 390 #iommu-cells = <1>;
489 clocks = <&cpg CPG_MOD 330>; 391 status = "disabled";
490 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 392 };
491 resets = <&cpg 330>;
492 #dma-cells = <1>;
493 dma-channels = <2>;
494 };
495 393
496 usb_dmac1: dma-controller@e65b0000 { 394 ipmmu_ds: mmu@e6740000 {
497 compatible = "renesas,r8a7790-usb-dmac", "renesas,usb-dmac"; 395 compatible = "renesas,ipmmu-r8a7790",
498 reg = <0 0xe65b0000 0 0x100>; 396 "renesas,ipmmu-vmsa";
499 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 397 reg = <0 0xe6740000 0 0x1000>;
500 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 398 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
501 interrupt-names = "ch0", "ch1"; 399 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
502 clocks = <&cpg CPG_MOD 331>; 400 #iommu-cells = <1>;
503 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 401 status = "disabled";
504 resets = <&cpg 331>; 402 };
505 #dma-cells = <1>;
506 dma-channels = <2>;
507 };
508 403
509 i2c0: i2c@e6508000 { 404 ipmmu_mp: mmu@ec680000 {
510 #address-cells = <1>; 405 compatible = "renesas,ipmmu-r8a7790",
511 #size-cells = <0>; 406 "renesas,ipmmu-vmsa";
512 compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c"; 407 reg = <0 0xec680000 0 0x1000>;
513 reg = <0 0xe6508000 0 0x40>; 408 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
514 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 409 #iommu-cells = <1>;
515 clocks = <&cpg CPG_MOD 931>; 410 status = "disabled";
516 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 411 };
517 resets = <&cpg 931>;
518 i2c-scl-internal-delay-ns = <110>;
519 status = "disabled";
520 };
521 412
522 i2c1: i2c@e6518000 { 413 ipmmu_mx: mmu@fe951000 {
523 #address-cells = <1>; 414 compatible = "renesas,ipmmu-r8a7790",
524 #size-cells = <0>; 415 "renesas,ipmmu-vmsa";
525 compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c"; 416 reg = <0 0xfe951000 0 0x1000>;
526 reg = <0 0xe6518000 0 0x40>; 417 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
527 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 418 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
528 clocks = <&cpg CPG_MOD 930>; 419 #iommu-cells = <1>;
529 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 420 status = "disabled";
530 resets = <&cpg 930>; 421 };
531 i2c-scl-internal-delay-ns = <6>;
532 status = "disabled";
533 };
534 422
535 i2c2: i2c@e6530000 { 423 ipmmu_rt: mmu@ffc80000 {
536 #address-cells = <1>; 424 compatible = "renesas,ipmmu-r8a7790",
537 #size-cells = <0>; 425 "renesas,ipmmu-vmsa";
538 compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c"; 426 reg = <0 0xffc80000 0 0x1000>;
539 reg = <0 0xe6530000 0 0x40>; 427 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
540 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 428 #iommu-cells = <1>;
541 clocks = <&cpg CPG_MOD 929>; 429 status = "disabled";
542 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 430 };
543 resets = <&cpg 929>;
544 i2c-scl-internal-delay-ns = <6>;
545 status = "disabled";
546 };
547 431
548 i2c3: i2c@e6540000 { 432 icram0: sram@e63a0000 {
549 #address-cells = <1>; 433 compatible = "mmio-sram";
550 #size-cells = <0>; 434 reg = <0 0xe63a0000 0 0x12000>;
551 compatible = "renesas,i2c-r8a7790", "renesas,rcar-gen2-i2c"; 435 };
552 reg = <0 0xe6540000 0 0x40>;
553 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
554 clocks = <&cpg CPG_MOD 928>;
555 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
556 resets = <&cpg 928>;
557 i2c-scl-internal-delay-ns = <110>;
558 status = "disabled";
559 };
560 436
561 iic0: i2c@e6500000 { 437 icram1: sram@e63c0000 {
562 #address-cells = <1>; 438 compatible = "mmio-sram";
563 #size-cells = <0>; 439 reg = <0 0xe63c0000 0 0x1000>;
564 compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", 440 #address-cells = <1>;
565 "renesas,rmobile-iic"; 441 #size-cells = <1>;
566 reg = <0 0xe6500000 0 0x425>; 442 ranges = <0 0 0xe63c0000 0x1000>;
567 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
568 clocks = <&cpg CPG_MOD 318>;
569 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
570 <&dmac1 0x61>, <&dmac1 0x62>;
571 dma-names = "tx", "rx", "tx", "rx";
572 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
573 resets = <&cpg 318>;
574 status = "disabled";
575 };
576 443
577 iic1: i2c@e6510000 { 444 smp-sram@0 {
578 #address-cells = <1>; 445 compatible = "renesas,smp-sram";
579 #size-cells = <0>; 446 reg = <0 0x10>;
580 compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", 447 };
581 "renesas,rmobile-iic"; 448 };
582 reg = <0 0xe6510000 0 0x425>;
583 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
584 clocks = <&cpg CPG_MOD 323>;
585 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
586 <&dmac1 0x65>, <&dmac1 0x66>;
587 dma-names = "tx", "rx", "tx", "rx";
588 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
589 resets = <&cpg 323>;
590 status = "disabled";
591 };
592 449
593 iic2: i2c@e6520000 { 450 i2c0: i2c@e6508000 {
594 #address-cells = <1>; 451 #address-cells = <1>;
595 #size-cells = <0>; 452 #size-cells = <0>;
596 compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", 453 compatible = "renesas,i2c-r8a7790",
597 "renesas,rmobile-iic"; 454 "renesas,rcar-gen2-i2c";
598 reg = <0 0xe6520000 0 0x425>; 455 reg = <0 0xe6508000 0 0x40>;
599 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>; 456 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
600 clocks = <&cpg CPG_MOD 300>; 457 clocks = <&cpg CPG_MOD 931>;
601 dmas = <&dmac0 0x69>, <&dmac0 0x6a>, 458 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
602 <&dmac1 0x69>, <&dmac1 0x6a>; 459 resets = <&cpg 931>;
603 dma-names = "tx", "rx", "tx", "rx"; 460 i2c-scl-internal-delay-ns = <110>;
604 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 461 status = "disabled";
605 resets = <&cpg 300>; 462 };
606 status = "disabled";
607 };
608 463
609 iic3: i2c@e60b0000 { 464 i2c1: i2c@e6518000 {
610 #address-cells = <1>; 465 #address-cells = <1>;
611 #size-cells = <0>; 466 #size-cells = <0>;
612 compatible = "renesas,iic-r8a7790", "renesas,rcar-gen2-iic", 467 compatible = "renesas,i2c-r8a7790",
613 "renesas,rmobile-iic"; 468 "renesas,rcar-gen2-i2c";
614 reg = <0 0xe60b0000 0 0x425>; 469 reg = <0 0xe6518000 0 0x40>;
615 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; 470 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
616 clocks = <&cpg CPG_MOD 926>; 471 clocks = <&cpg CPG_MOD 930>;
617 dmas = <&dmac0 0x77>, <&dmac0 0x78>, 472 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
618 <&dmac1 0x77>, <&dmac1 0x78>; 473 resets = <&cpg 930>;
619 dma-names = "tx", "rx", "tx", "rx"; 474 i2c-scl-internal-delay-ns = <6>;
620 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 475 status = "disabled";
621 resets = <&cpg 926>; 476 };
622 status = "disabled";
623 };
624 477
625 mmcif0: mmc@ee200000 { 478 i2c2: i2c@e6530000 {
626 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif"; 479 #address-cells = <1>;
627 reg = <0 0xee200000 0 0x80>; 480 #size-cells = <0>;
628 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 481 compatible = "renesas,i2c-r8a7790",
629 clocks = <&cpg CPG_MOD 315>; 482 "renesas,rcar-gen2-i2c";
630 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>, 483 reg = <0 0xe6530000 0 0x40>;
631 <&dmac1 0xd1>, <&dmac1 0xd2>; 484 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
632 dma-names = "tx", "rx", "tx", "rx"; 485 clocks = <&cpg CPG_MOD 929>;
633 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 486 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
634 resets = <&cpg 315>; 487 resets = <&cpg 929>;
635 reg-io-width = <4>; 488 i2c-scl-internal-delay-ns = <6>;
636 status = "disabled"; 489 status = "disabled";
637 max-frequency = <97500000>; 490 };
638 };
639 491
640 mmcif1: mmc@ee220000 { 492 i2c3: i2c@e6540000 {
641 compatible = "renesas,mmcif-r8a7790", "renesas,sh-mmcif"; 493 #address-cells = <1>;
642 reg = <0 0xee220000 0 0x80>; 494 #size-cells = <0>;
643 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>; 495 compatible = "renesas,i2c-r8a7790",
644 clocks = <&cpg CPG_MOD 305>; 496 "renesas,rcar-gen2-i2c";
645 dmas = <&dmac0 0xe1>, <&dmac0 0xe2>, 497 reg = <0 0xe6540000 0 0x40>;
646 <&dmac1 0xe1>, <&dmac1 0xe2>; 498 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
647 dma-names = "tx", "rx", "tx", "rx"; 499 clocks = <&cpg CPG_MOD 928>;
648 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 500 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
649 resets = <&cpg 305>; 501 resets = <&cpg 928>;
650 reg-io-width = <4>; 502 i2c-scl-internal-delay-ns = <110>;
651 status = "disabled"; 503 status = "disabled";
652 max-frequency = <97500000>; 504 };
653 };
654 505
655 pfc: pin-controller@e6060000 { 506 iic0: i2c@e6500000 {
656 compatible = "renesas,pfc-r8a7790"; 507 #address-cells = <1>;
657 reg = <0 0xe6060000 0 0x250>; 508 #size-cells = <0>;
658 }; 509 compatible = "renesas,iic-r8a7790",
510 "renesas,rcar-gen2-iic",
511 "renesas,rmobile-iic";
512 reg = <0 0xe6500000 0 0x425>;
513 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
514 clocks = <&cpg CPG_MOD 318>;
515 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
516 <&dmac1 0x61>, <&dmac1 0x62>;
517 dma-names = "tx", "rx", "tx", "rx";
518 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
519 resets = <&cpg 318>;
520 status = "disabled";
521 };
659 522
660 sdhi0: sd@ee100000 { 523 iic1: i2c@e6510000 {
661 compatible = "renesas,sdhi-r8a7790", 524 #address-cells = <1>;
662 "renesas,rcar-gen2-sdhi"; 525 #size-cells = <0>;
663 reg = <0 0xee100000 0 0x328>; 526 compatible = "renesas,iic-r8a7790",
664 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 527 "renesas,rcar-gen2-iic",
665 clocks = <&cpg CPG_MOD 314>; 528 "renesas,rmobile-iic";
666 dmas = <&dmac0 0xcd>, <&dmac0 0xce>, 529 reg = <0 0xe6510000 0 0x425>;
667 <&dmac1 0xcd>, <&dmac1 0xce>; 530 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
668 dma-names = "tx", "rx", "tx", "rx"; 531 clocks = <&cpg CPG_MOD 323>;
669 max-frequency = <195000000>; 532 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
670 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 533 <&dmac1 0x65>, <&dmac1 0x66>;
671 resets = <&cpg 314>; 534 dma-names = "tx", "rx", "tx", "rx";
672 status = "disabled"; 535 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
673 }; 536 resets = <&cpg 323>;
537 status = "disabled";
538 };
674 539
675 sdhi1: sd@ee120000 { 540 iic2: i2c@e6520000 {
676 compatible = "renesas,sdhi-r8a7790", 541 #address-cells = <1>;
677 "renesas,rcar-gen2-sdhi"; 542 #size-cells = <0>;
678 reg = <0 0xee120000 0 0x328>; 543 compatible = "renesas,iic-r8a7790",
679 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>; 544 "renesas,rcar-gen2-iic",
680 clocks = <&cpg CPG_MOD 313>; 545 "renesas,rmobile-iic";
681 dmas = <&dmac0 0xc9>, <&dmac0 0xca>, 546 reg = <0 0xe6520000 0 0x425>;
682 <&dmac1 0xc9>, <&dmac1 0xca>; 547 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
683 dma-names = "tx", "rx", "tx", "rx"; 548 clocks = <&cpg CPG_MOD 300>;
684 max-frequency = <195000000>; 549 dmas = <&dmac0 0x69>, <&dmac0 0x6a>,
685 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 550 <&dmac1 0x69>, <&dmac1 0x6a>;
686 resets = <&cpg 313>; 551 dma-names = "tx", "rx", "tx", "rx";
687 status = "disabled"; 552 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
688 }; 553 resets = <&cpg 300>;
554 status = "disabled";
555 };
689 556
690 sdhi2: sd@ee140000 { 557 iic3: i2c@e60b0000 {
691 compatible = "renesas,sdhi-r8a7790", 558 #address-cells = <1>;
692 "renesas,rcar-gen2-sdhi"; 559 #size-cells = <0>;
693 reg = <0 0xee140000 0 0x100>; 560 compatible = "renesas,iic-r8a7790",
694 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 561 "renesas,rcar-gen2-iic",
695 clocks = <&cpg CPG_MOD 312>; 562 "renesas,rmobile-iic";
696 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>, 563 reg = <0 0xe60b0000 0 0x425>;
697 <&dmac1 0xc1>, <&dmac1 0xc2>; 564 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
698 dma-names = "tx", "rx", "tx", "rx"; 565 clocks = <&cpg CPG_MOD 926>;
699 max-frequency = <97500000>; 566 dmas = <&dmac0 0x77>, <&dmac0 0x78>,
700 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 567 <&dmac1 0x77>, <&dmac1 0x78>;
701 resets = <&cpg 312>; 568 dma-names = "tx", "rx", "tx", "rx";
702 status = "disabled"; 569 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
703 }; 570 resets = <&cpg 926>;
571 status = "disabled";
572 };
704 573
705 sdhi3: sd@ee160000 { 574 hsusb: usb@e6590000 {
706 compatible = "renesas,sdhi-r8a7790", 575 compatible = "renesas,usbhs-r8a7790",
707 "renesas,rcar-gen2-sdhi"; 576 "renesas,rcar-gen2-usbhs";
708 reg = <0 0xee160000 0 0x100>; 577 reg = <0 0xe6590000 0 0x100>;
709 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 578 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
710 clocks = <&cpg CPG_MOD 311>; 579 clocks = <&cpg CPG_MOD 704>;
711 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>, 580 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
712 <&dmac1 0xd3>, <&dmac1 0xd4>; 581 <&usb_dmac1 0>, <&usb_dmac1 1>;
713 dma-names = "tx", "rx", "tx", "rx"; 582 dma-names = "ch0", "ch1", "ch2", "ch3";
714 max-frequency = <97500000>; 583 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
715 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 584 resets = <&cpg 704>;
716 resets = <&cpg 311>; 585 renesas,buswait = <4>;
717 status = "disabled"; 586 phys = <&usb0 1>;
718 }; 587 phy-names = "usb";
588 status = "disabled";
589 };
719 590
720 scifa0: serial@e6c40000 { 591 usbphy: usb-phy@e6590100 {
721 compatible = "renesas,scifa-r8a7790", 592 compatible = "renesas,usb-phy-r8a7790",
722 "renesas,rcar-gen2-scifa", "renesas,scifa"; 593 "renesas,rcar-gen2-usb-phy";
723 reg = <0 0xe6c40000 0 64>; 594 reg = <0 0xe6590100 0 0x100>;
724 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 595 #address-cells = <1>;
725 clocks = <&cpg CPG_MOD 204>; 596 #size-cells = <0>;
726 clock-names = "fck"; 597 clocks = <&cpg CPG_MOD 704>;
727 dmas = <&dmac0 0x21>, <&dmac0 0x22>, 598 clock-names = "usbhs";
728 <&dmac1 0x21>, <&dmac1 0x22>; 599 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
729 dma-names = "tx", "rx", "tx", "rx"; 600 resets = <&cpg 704>;
730 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 601 status = "disabled";
731 resets = <&cpg 204>;
732 status = "disabled";
733 };
734 602
735 scifa1: serial@e6c50000 { 603 usb0: usb-channel@0 {
736 compatible = "renesas,scifa-r8a7790", 604 reg = <0>;
737 "renesas,rcar-gen2-scifa", "renesas,scifa"; 605 #phy-cells = <1>;
738 reg = <0 0xe6c50000 0 64>; 606 };
739 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 607 usb2: usb-channel@2 {
740 clocks = <&cpg CPG_MOD 203>; 608 reg = <2>;
741 clock-names = "fck"; 609 #phy-cells = <1>;
742 dmas = <&dmac0 0x25>, <&dmac0 0x26>, 610 };
743 <&dmac1 0x25>, <&dmac1 0x26>; 611 };
744 dma-names = "tx", "rx", "tx", "rx";
745 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
746 resets = <&cpg 203>;
747 status = "disabled";
748 };
749 612
750 scifa2: serial@e6c60000 { 613 usb_dmac0: dma-controller@e65a0000 {
751 compatible = "renesas,scifa-r8a7790", 614 compatible = "renesas,r8a7790-usb-dmac",
752 "renesas,rcar-gen2-scifa", "renesas,scifa"; 615 "renesas,usb-dmac";
753 reg = <0 0xe6c60000 0 64>; 616 reg = <0 0xe65a0000 0 0x100>;
754 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 617 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
755 clocks = <&cpg CPG_MOD 202>; 618 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
756 clock-names = "fck"; 619 interrupt-names = "ch0", "ch1";
757 dmas = <&dmac0 0x27>, <&dmac0 0x28>, 620 clocks = <&cpg CPG_MOD 330>;
758 <&dmac1 0x27>, <&dmac1 0x28>; 621 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
759 dma-names = "tx", "rx", "tx", "rx"; 622 resets = <&cpg 330>;
760 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 623 #dma-cells = <1>;
761 resets = <&cpg 202>; 624 dma-channels = <2>;
762 status = "disabled"; 625 };
763 };
764 626
765 scifb0: serial@e6c20000 { 627 usb_dmac1: dma-controller@e65b0000 {
766 compatible = "renesas,scifb-r8a7790", 628 compatible = "renesas,r8a7790-usb-dmac",
767 "renesas,rcar-gen2-scifb", "renesas,scifb"; 629 "renesas,usb-dmac";
768 reg = <0 0xe6c20000 0 0x100>; 630 reg = <0 0xe65b0000 0 0x100>;
769 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 631 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
770 clocks = <&cpg CPG_MOD 206>; 632 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
771 clock-names = "fck"; 633 interrupt-names = "ch0", "ch1";
772 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>, 634 clocks = <&cpg CPG_MOD 331>;
773 <&dmac1 0x3d>, <&dmac1 0x3e>; 635 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
774 dma-names = "tx", "rx", "tx", "rx"; 636 resets = <&cpg 331>;
775 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 637 #dma-cells = <1>;
776 resets = <&cpg 206>; 638 dma-channels = <2>;
777 status = "disabled"; 639 };
778 };
779 640
780 scifb1: serial@e6c30000 { 641 dmac0: dma-controller@e6700000 {
781 compatible = "renesas,scifb-r8a7790", 642 compatible = "renesas,dmac-r8a7790",
782 "renesas,rcar-gen2-scifb", "renesas,scifb"; 643 "renesas,rcar-dmac";
783 reg = <0 0xe6c30000 0 0x100>; 644 reg = <0 0xe6700000 0 0x20000>;
784 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 645 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH
785 clocks = <&cpg CPG_MOD 207>; 646 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
786 clock-names = "fck"; 647 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
787 dmas = <&dmac0 0x19>, <&dmac0 0x1a>, 648 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
788 <&dmac1 0x19>, <&dmac1 0x1a>; 649 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
789 dma-names = "tx", "rx", "tx", "rx"; 650 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
790 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 651 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
791 resets = <&cpg 207>; 652 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
792 status = "disabled"; 653 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
793 }; 654 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
655 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
656 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
657 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
658 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
659 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
660 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
661 interrupt-names = "error",
662 "ch0", "ch1", "ch2", "ch3",
663 "ch4", "ch5", "ch6", "ch7",
664 "ch8", "ch9", "ch10", "ch11",
665 "ch12", "ch13", "ch14";
666 clocks = <&cpg CPG_MOD 219>;
667 clock-names = "fck";
668 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
669 resets = <&cpg 219>;
670 #dma-cells = <1>;
671 dma-channels = <15>;
672 };
794 673
795 scifb2: serial@e6ce0000 { 674 dmac1: dma-controller@e6720000 {
796 compatible = "renesas,scifb-r8a7790", 675 compatible = "renesas,dmac-r8a7790",
797 "renesas,rcar-gen2-scifb", "renesas,scifb"; 676 "renesas,rcar-dmac";
798 reg = <0 0xe6ce0000 0 0x100>; 677 reg = <0 0xe6720000 0 0x20000>;
799 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 678 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
800 clocks = <&cpg CPG_MOD 216>; 679 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
801 clock-names = "fck"; 680 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
802 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>, 681 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
803 <&dmac1 0x1d>, <&dmac1 0x1e>; 682 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
804 dma-names = "tx", "rx", "tx", "rx"; 683 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
805 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 684 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
806 resets = <&cpg 216>; 685 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
807 status = "disabled"; 686 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
808 }; 687 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
688 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
689 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
690 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
691 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
692 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
693 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
694 interrupt-names = "error",
695 "ch0", "ch1", "ch2", "ch3",
696 "ch4", "ch5", "ch6", "ch7",
697 "ch8", "ch9", "ch10", "ch11",
698 "ch12", "ch13", "ch14";
699 clocks = <&cpg CPG_MOD 218>;
700 clock-names = "fck";
701 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
702 resets = <&cpg 218>;
703 #dma-cells = <1>;
704 dma-channels = <15>;
705 };
809 706
810 scif0: serial@e6e60000 { 707 avb: ethernet@e6800000 {
811 compatible = "renesas,scif-r8a7790", "renesas,rcar-gen2-scif", 708 compatible = "renesas,etheravb-r8a7790",
812 "renesas,scif"; 709 "renesas,etheravb-rcar-gen2";
813 reg = <0 0xe6e60000 0 64>; 710 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
814 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 711 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
815 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7790_CLK_ZS>, 712 clocks = <&cpg CPG_MOD 812>;
816 <&scif_clk>; 713 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
817 clock-names = "fck", "brg_int", "scif_clk"; 714 resets = <&cpg 812>;
818 dmas = <&dmac0 0x29>, <&dmac0 0x2a>, 715 #address-cells = <1>;
819 <&dmac1 0x29>, <&dmac1 0x2a>; 716 #size-cells = <0>;
820 dma-names = "tx", "rx", "tx", "rx"; 717 status = "disabled";
821 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 718 };
822 resets = <&cpg 721>;
823 status = "disabled";
824 };
825 719
826 scif1: serial@e6e68000 { 720 qspi: spi@e6b10000 {
827 compatible = "renesas,scif-r8a7790", "renesas,rcar-gen2-scif", 721 compatible = "renesas,qspi-r8a7790", "renesas,qspi";
828 "renesas,scif"; 722 reg = <0 0xe6b10000 0 0x2c>;
829 reg = <0 0xe6e68000 0 64>; 723 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
830 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 724 clocks = <&cpg CPG_MOD 917>;
831 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7790_CLK_ZS>, 725 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
832 <&scif_clk>; 726 <&dmac1 0x17>, <&dmac1 0x18>;
833 clock-names = "fck", "brg_int", "scif_clk"; 727 dma-names = "tx", "rx", "tx", "rx";
834 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>, 728 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
835 <&dmac1 0x2d>, <&dmac1 0x2e>; 729 resets = <&cpg 917>;
836 dma-names = "tx", "rx", "tx", "rx"; 730 num-cs = <1>;
837 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 731 #address-cells = <1>;
838 resets = <&cpg 720>; 732 #size-cells = <0>;
839 status = "disabled"; 733 status = "disabled";
840 }; 734 };
841 735
842 scif2: serial@e6e56000 { 736 scifa0: serial@e6c40000 {
843 compatible = "renesas,scif-r8a7790", "renesas,rcar-gen2-scif", 737 compatible = "renesas,scifa-r8a7790",
844 "renesas,scif"; 738 "renesas,rcar-gen2-scifa", "renesas,scifa";
845 reg = <0 0xe6e56000 0 64>; 739 reg = <0 0xe6c40000 0 64>;
846 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 740 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
847 clocks = <&cpg CPG_MOD 310>, <&cpg CPG_CORE R8A7790_CLK_ZS>, 741 clocks = <&cpg CPG_MOD 204>;
848 <&scif_clk>; 742 clock-names = "fck";
849 clock-names = "fck", "brg_int", "scif_clk"; 743 dmas = <&dmac0 0x21>, <&dmac0 0x22>,
850 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>, 744 <&dmac1 0x21>, <&dmac1 0x22>;
851 <&dmac1 0x2b>, <&dmac1 0x2c>; 745 dma-names = "tx", "rx", "tx", "rx";
852 dma-names = "tx", "rx", "tx", "rx"; 746 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
853 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 747 resets = <&cpg 204>;
854 resets = <&cpg 310>; 748 status = "disabled";
855 status = "disabled"; 749 };
856 };
857 750
858 hscif0: serial@e62c0000 { 751 scifa1: serial@e6c50000 {
859 compatible = "renesas,hscif-r8a7790", 752 compatible = "renesas,scifa-r8a7790",
860 "renesas,rcar-gen2-hscif", "renesas,hscif"; 753 "renesas,rcar-gen2-scifa", "renesas,scifa";
861 reg = <0 0xe62c0000 0 96>; 754 reg = <0 0xe6c50000 0 64>;
862 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 755 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
863 clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7790_CLK_ZS>, 756 clocks = <&cpg CPG_MOD 203>;
864 <&scif_clk>; 757 clock-names = "fck";
865 clock-names = "fck", "brg_int", "scif_clk"; 758 dmas = <&dmac0 0x25>, <&dmac0 0x26>,
866 dmas = <&dmac0 0x39>, <&dmac0 0x3a>, 759 <&dmac1 0x25>, <&dmac1 0x26>;
867 <&dmac1 0x39>, <&dmac1 0x3a>; 760 dma-names = "tx", "rx", "tx", "rx";
868 dma-names = "tx", "rx", "tx", "rx"; 761 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
869 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 762 resets = <&cpg 203>;
870 resets = <&cpg 717>; 763 status = "disabled";
871 status = "disabled"; 764 };
872 };
873 765
874 hscif1: serial@e62c8000 { 766 scifa2: serial@e6c60000 {
875 compatible = "renesas,hscif-r8a7790", 767 compatible = "renesas,scifa-r8a7790",
876 "renesas,rcar-gen2-hscif", "renesas,hscif"; 768 "renesas,rcar-gen2-scifa", "renesas,scifa";
877 reg = <0 0xe62c8000 0 96>; 769 reg = <0 0xe6c60000 0 64>;
878 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 770 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
879 clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7790_CLK_ZS>, 771 clocks = <&cpg CPG_MOD 202>;
880 <&scif_clk>; 772 clock-names = "fck";
881 clock-names = "fck", "brg_int", "scif_clk"; 773 dmas = <&dmac0 0x27>, <&dmac0 0x28>,
882 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>, 774 <&dmac1 0x27>, <&dmac1 0x28>;
883 <&dmac1 0x4d>, <&dmac1 0x4e>; 775 dma-names = "tx", "rx", "tx", "rx";
884 dma-names = "tx", "rx", "tx", "rx"; 776 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
885 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 777 resets = <&cpg 202>;
886 resets = <&cpg 716>; 778 status = "disabled";
887 status = "disabled"; 779 };
888 };
889 780
890 icram0: sram@e63a0000 { 781 scifb0: serial@e6c20000 {
891 compatible = "mmio-sram"; 782 compatible = "renesas,scifb-r8a7790",
892 reg = <0 0xe63a0000 0 0x12000>; 783 "renesas,rcar-gen2-scifb", "renesas,scifb";
893 }; 784 reg = <0 0xe6c20000 0 0x100>;
785 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
786 clocks = <&cpg CPG_MOD 206>;
787 clock-names = "fck";
788 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
789 <&dmac1 0x3d>, <&dmac1 0x3e>;
790 dma-names = "tx", "rx", "tx", "rx";
791 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
792 resets = <&cpg 206>;
793 status = "disabled";
794 };
894 795
895 icram1: sram@e63c0000 { 796 scifb1: serial@e6c30000 {
896 compatible = "mmio-sram"; 797 compatible = "renesas,scifb-r8a7790",
897 reg = <0 0xe63c0000 0 0x1000>; 798 "renesas,rcar-gen2-scifb", "renesas,scifb";
898 #address-cells = <1>; 799 reg = <0 0xe6c30000 0 0x100>;
899 #size-cells = <1>; 800 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
900 ranges = <0 0 0xe63c0000 0x1000>; 801 clocks = <&cpg CPG_MOD 207>;
802 clock-names = "fck";
803 dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
804 <&dmac1 0x19>, <&dmac1 0x1a>;
805 dma-names = "tx", "rx", "tx", "rx";
806 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
807 resets = <&cpg 207>;
808 status = "disabled";
809 };
901 810
902 smp-sram@0 { 811 scifb2: serial@e6ce0000 {
903 compatible = "renesas,smp-sram"; 812 compatible = "renesas,scifb-r8a7790",
904 reg = <0 0x10>; 813 "renesas,rcar-gen2-scifb", "renesas,scifb";
814 reg = <0 0xe6ce0000 0 0x100>;
815 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
816 clocks = <&cpg CPG_MOD 216>;
817 clock-names = "fck";
818 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
819 <&dmac1 0x1d>, <&dmac1 0x1e>;
820 dma-names = "tx", "rx", "tx", "rx";
821 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
822 resets = <&cpg 216>;
823 status = "disabled";
905 }; 824 };
906 };
907 825
908 ether: ethernet@ee700000 { 826 scif0: serial@e6e60000 {
909 compatible = "renesas,ether-r8a7790", 827 compatible = "renesas,scif-r8a7790",
910 "renesas,rcar-gen2-ether"; 828 "renesas,rcar-gen2-scif",
911 reg = <0 0xee700000 0 0x400>; 829 "renesas,scif";
912 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 830 reg = <0 0xe6e60000 0 64>;
913 clocks = <&cpg CPG_MOD 813>; 831 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
914 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 832 clocks = <&cpg CPG_MOD 721>,
915 resets = <&cpg 813>; 833 <&cpg CPG_CORE R8A7790_CLK_ZS>, <&scif_clk>;
916 phy-mode = "rmii"; 834 clock-names = "fck", "brg_int", "scif_clk";
917 #address-cells = <1>; 835 dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
918 #size-cells = <0>; 836 <&dmac1 0x29>, <&dmac1 0x2a>;
919 status = "disabled"; 837 dma-names = "tx", "rx", "tx", "rx";
920 }; 838 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
839 resets = <&cpg 721>;
840 status = "disabled";
841 };
921 842
922 avb: ethernet@e6800000 { 843 scif1: serial@e6e68000 {
923 compatible = "renesas,etheravb-r8a7790", 844 compatible = "renesas,scif-r8a7790",
924 "renesas,etheravb-rcar-gen2"; 845 "renesas,rcar-gen2-scif",
925 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>; 846 "renesas,scif";
926 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 847 reg = <0 0xe6e68000 0 64>;
927 clocks = <&cpg CPG_MOD 812>; 848 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
928 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 849 clocks = <&cpg CPG_MOD 720>,
929 resets = <&cpg 812>; 850 <&cpg CPG_CORE R8A7790_CLK_ZS>, <&scif_clk>;
930 #address-cells = <1>; 851 clock-names = "fck", "brg_int", "scif_clk";
931 #size-cells = <0>; 852 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
932 status = "disabled"; 853 <&dmac1 0x2d>, <&dmac1 0x2e>;
933 }; 854 dma-names = "tx", "rx", "tx", "rx";
855 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
856 resets = <&cpg 720>;
857 status = "disabled";
858 };
934 859
935 sata0: sata@ee300000 { 860 scif2: serial@e6e56000 {
936 compatible = "renesas,sata-r8a7790", "renesas,rcar-gen2-sata"; 861 compatible = "renesas,scif-r8a7790",
937 reg = <0 0xee300000 0 0x2000>; 862 "renesas,rcar-gen2-scif",
938 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 863 "renesas,scif";
939 clocks = <&cpg CPG_MOD 815>; 864 reg = <0 0xe6e56000 0 64>;
940 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 865 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
941 resets = <&cpg 815>; 866 clocks = <&cpg CPG_MOD 310>,
942 status = "disabled"; 867 <&cpg CPG_CORE R8A7790_CLK_ZS>, <&scif_clk>;
943 }; 868 clock-names = "fck", "brg_int", "scif_clk";
869 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
870 <&dmac1 0x2b>, <&dmac1 0x2c>;
871 dma-names = "tx", "rx", "tx", "rx";
872 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
873 resets = <&cpg 310>;
874 status = "disabled";
875 };
944 876
945 sata1: sata@ee500000 { 877 hscif0: serial@e62c0000 {
946 compatible = "renesas,sata-r8a7790", "renesas,rcar-gen2-sata"; 878 compatible = "renesas,hscif-r8a7790",
947 reg = <0 0xee500000 0 0x2000>; 879 "renesas,rcar-gen2-hscif", "renesas,hscif";
948 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 880 reg = <0 0xe62c0000 0 96>;
949 clocks = <&cpg CPG_MOD 814>; 881 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
950 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 882 clocks = <&cpg CPG_MOD 717>,
951 resets = <&cpg 814>; 883 <&cpg CPG_CORE R8A7790_CLK_ZS>, <&scif_clk>;
952 status = "disabled"; 884 clock-names = "fck", "brg_int", "scif_clk";
953 }; 885 dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
886 <&dmac1 0x39>, <&dmac1 0x3a>;
887 dma-names = "tx", "rx", "tx", "rx";
888 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
889 resets = <&cpg 717>;
890 status = "disabled";
891 };
954 892
955 hsusb: usb@e6590000 { 893 hscif1: serial@e62c8000 {
956 compatible = "renesas,usbhs-r8a7790", "renesas,rcar-gen2-usbhs"; 894 compatible = "renesas,hscif-r8a7790",
957 reg = <0 0xe6590000 0 0x100>; 895 "renesas,rcar-gen2-hscif", "renesas,hscif";
958 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 896 reg = <0 0xe62c8000 0 96>;
959 clocks = <&cpg CPG_MOD 704>; 897 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
960 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>, 898 clocks = <&cpg CPG_MOD 716>,
961 <&usb_dmac1 0>, <&usb_dmac1 1>; 899 <&cpg CPG_CORE R8A7790_CLK_ZS>, <&scif_clk>;
962 dma-names = "ch0", "ch1", "ch2", "ch3"; 900 clock-names = "fck", "brg_int", "scif_clk";
963 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 901 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
964 resets = <&cpg 704>; 902 <&dmac1 0x4d>, <&dmac1 0x4e>;
965 renesas,buswait = <4>; 903 dma-names = "tx", "rx", "tx", "rx";
966 phys = <&usb0 1>; 904 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
967 phy-names = "usb"; 905 resets = <&cpg 716>;
968 status = "disabled"; 906 status = "disabled";
969 }; 907 };
970 908
971 usbphy: usb-phy@e6590100 { 909 msiof0: spi@e6e20000 {
972 compatible = "renesas,usb-phy-r8a7790", 910 compatible = "renesas,msiof-r8a7790",
973 "renesas,rcar-gen2-usb-phy"; 911 "renesas,rcar-gen2-msiof";
974 reg = <0 0xe6590100 0 0x100>; 912 reg = <0 0xe6e20000 0 0x0064>;
975 #address-cells = <1>; 913 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
976 #size-cells = <0>; 914 clocks = <&cpg CPG_MOD 0>;
977 clocks = <&cpg CPG_MOD 704>; 915 dmas = <&dmac0 0x51>, <&dmac0 0x52>,
978 clock-names = "usbhs"; 916 <&dmac1 0x51>, <&dmac1 0x52>;
979 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 917 dma-names = "tx", "rx", "tx", "rx";
980 resets = <&cpg 704>; 918 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
981 status = "disabled"; 919 resets = <&cpg 0>;
920 #address-cells = <1>;
921 #size-cells = <0>;
922 status = "disabled";
923 };
982 924
983 usb0: usb-channel@0 { 925 msiof1: spi@e6e10000 {
984 reg = <0>; 926 compatible = "renesas,msiof-r8a7790",
985 #phy-cells = <1>; 927 "renesas,rcar-gen2-msiof";
928 reg = <0 0xe6e10000 0 0x0064>;
929 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
930 clocks = <&cpg CPG_MOD 208>;
931 dmas = <&dmac0 0x55>, <&dmac0 0x56>,
932 <&dmac1 0x55>, <&dmac1 0x56>;
933 dma-names = "tx", "rx", "tx", "rx";
934 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
935 resets = <&cpg 208>;
936 #address-cells = <1>;
937 #size-cells = <0>;
938 status = "disabled";
986 }; 939 };
987 usb2: usb-channel@2 { 940
988 reg = <2>; 941 msiof2: spi@e6e00000 {
989 #phy-cells = <1>; 942 compatible = "renesas,msiof-r8a7790",
943 "renesas,rcar-gen2-msiof";
944 reg = <0 0xe6e00000 0 0x0064>;
945 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
946 clocks = <&cpg CPG_MOD 205>;
947 dmas = <&dmac0 0x41>, <&dmac0 0x42>,
948 <&dmac1 0x41>, <&dmac1 0x42>;
949 dma-names = "tx", "rx", "tx", "rx";
950 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
951 resets = <&cpg 205>;
952 #address-cells = <1>;
953 #size-cells = <0>;
954 status = "disabled";
990 }; 955 };
991 };
992 956
993 vin0: video@e6ef0000 { 957 msiof3: spi@e6c90000 {
994 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; 958 compatible = "renesas,msiof-r8a7790",
995 reg = <0 0xe6ef0000 0 0x1000>; 959 "renesas,rcar-gen2-msiof";
996 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 960 reg = <0 0xe6c90000 0 0x0064>;
997 clocks = <&cpg CPG_MOD 811>; 961 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
998 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 962 clocks = <&cpg CPG_MOD 215>;
999 resets = <&cpg 811>; 963 dmas = <&dmac0 0x45>, <&dmac0 0x46>,
1000 status = "disabled"; 964 <&dmac1 0x45>, <&dmac1 0x46>;
1001 }; 965 dma-names = "tx", "rx", "tx", "rx";
966 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
967 resets = <&cpg 215>;
968 #address-cells = <1>;
969 #size-cells = <0>;
970 status = "disabled";
971 };
1002 972
1003 vin1: video@e6ef1000 { 973 can0: can@e6e80000 {
1004 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; 974 compatible = "renesas,can-r8a7790",
1005 reg = <0 0xe6ef1000 0 0x1000>; 975 "renesas,rcar-gen2-can";
1006 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 976 reg = <0 0xe6e80000 0 0x1000>;
1007 clocks = <&cpg CPG_MOD 810>; 977 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1008 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 978 clocks = <&cpg CPG_MOD 916>,
1009 resets = <&cpg 810>; 979 <&cpg CPG_CORE R8A7790_CLK_RCAN>, <&can_clk>;
1010 status = "disabled"; 980 clock-names = "clkp1", "clkp2", "can_clk";
1011 }; 981 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
982 resets = <&cpg 916>;
983 status = "disabled";
984 };
1012 985
1013 vin2: video@e6ef2000 { 986 can1: can@e6e88000 {
1014 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; 987 compatible = "renesas,can-r8a7790",
1015 reg = <0 0xe6ef2000 0 0x1000>; 988 "renesas,rcar-gen2-can";
1016 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 989 reg = <0 0xe6e88000 0 0x1000>;
1017 clocks = <&cpg CPG_MOD 809>; 990 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
1018 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 991 clocks = <&cpg CPG_MOD 915>,
1019 resets = <&cpg 809>; 992 <&cpg CPG_CORE R8A7790_CLK_RCAN>, <&can_clk>;
1020 status = "disabled"; 993 clock-names = "clkp1", "clkp2", "can_clk";
1021 }; 994 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
995 resets = <&cpg 915>;
996 status = "disabled";
997 };
1022 998
1023 vin3: video@e6ef3000 { 999 vin0: video@e6ef0000 {
1024 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; 1000 compatible = "renesas,vin-r8a7790",
1025 reg = <0 0xe6ef3000 0 0x1000>; 1001 "renesas,rcar-gen2-vin";
1026 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; 1002 reg = <0 0xe6ef0000 0 0x1000>;
1027 clocks = <&cpg CPG_MOD 808>; 1003 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
1028 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1004 clocks = <&cpg CPG_MOD 811>;
1029 resets = <&cpg 808>; 1005 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1030 status = "disabled"; 1006 resets = <&cpg 811>;
1031 }; 1007 status = "disabled";
1008 };
1032 1009
1033 vsp@fe920000 { 1010 vin1: video@e6ef1000 {
1034 compatible = "renesas,vsp1"; 1011 compatible = "renesas,vin-r8a7790",
1035 reg = <0 0xfe920000 0 0x8000>; 1012 "renesas,rcar-gen2-vin";
1036 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>; 1013 reg = <0 0xe6ef1000 0 0x1000>;
1037 clocks = <&cpg CPG_MOD 130>; 1014 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
1038 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1015 clocks = <&cpg CPG_MOD 810>;
1039 resets = <&cpg 130>; 1016 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1040 }; 1017 resets = <&cpg 810>;
1018 status = "disabled";
1019 };
1041 1020
1042 vsp@fe928000 { 1021 vin2: video@e6ef2000 {
1043 compatible = "renesas,vsp1"; 1022 compatible = "renesas,vin-r8a7790",
1044 reg = <0 0xfe928000 0 0x8000>; 1023 "renesas,rcar-gen2-vin";
1045 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>; 1024 reg = <0 0xe6ef2000 0 0x1000>;
1046 clocks = <&cpg CPG_MOD 131>; 1025 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1047 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1026 clocks = <&cpg CPG_MOD 809>;
1048 resets = <&cpg 131>; 1027 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1049 }; 1028 resets = <&cpg 809>;
1029 status = "disabled";
1030 };
1050 1031
1051 vsp@fe930000 { 1032 vin3: video@e6ef3000 {
1052 compatible = "renesas,vsp1"; 1033 compatible = "renesas,vin-r8a7790",
1053 reg = <0 0xfe930000 0 0x8000>; 1034 "renesas,rcar-gen2-vin";
1054 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; 1035 reg = <0 0xe6ef3000 0 0x1000>;
1055 clocks = <&cpg CPG_MOD 128>; 1036 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
1056 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1037 clocks = <&cpg CPG_MOD 808>;
1057 resets = <&cpg 128>; 1038 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1058 }; 1039 resets = <&cpg 808>;
1040 status = "disabled";
1041 };
1059 1042
1060 vsp@fe938000 { 1043 rcar_sound: sound@ec500000 {
1061 compatible = "renesas,vsp1"; 1044 /*
1062 reg = <0 0xfe938000 0 0x8000>; 1045 * #sound-dai-cells is required
1063 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>; 1046 *
1064 clocks = <&cpg CPG_MOD 127>; 1047 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
1065 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1048 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
1066 resets = <&cpg 127>; 1049 */
1067 }; 1050 compatible = "renesas,rcar_sound-r8a7790",
1051 "renesas,rcar_sound-gen2";
1052 reg = <0 0xec500000 0 0x1000>, /* SCU */
1053 <0 0xec5a0000 0 0x100>, /* ADG */
1054 <0 0xec540000 0 0x1000>, /* SSIU */
1055 <0 0xec541000 0 0x280>, /* SSI */
1056 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1057 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1058
1059 clocks = <&cpg CPG_MOD 1005>,
1060 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
1061 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
1062 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
1063 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
1064 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
1065 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
1066 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
1067 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
1068 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
1069 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
1070 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1071 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1072 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1073 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
1074 <&cpg CPG_CORE R8A7790_CLK_M2>;
1075 clock-names = "ssi-all",
1076 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1077 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1078 "ssi.1", "ssi.0",
1079 "src.9", "src.8", "src.7", "src.6",
1080 "src.5", "src.4", "src.3", "src.2",
1081 "src.1", "src.0",
1082 "ctu.0", "ctu.1",
1083 "mix.0", "mix.1",
1084 "dvc.0", "dvc.1",
1085 "clk_a", "clk_b", "clk_c", "clk_i";
1086 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1087 resets = <&cpg 1005>,
1088 <&cpg 1006>, <&cpg 1007>,
1089 <&cpg 1008>, <&cpg 1009>,
1090 <&cpg 1010>, <&cpg 1011>,
1091 <&cpg 1012>, <&cpg 1013>,
1092 <&cpg 1014>, <&cpg 1015>;
1093 reset-names = "ssi-all",
1094 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1095 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1096 "ssi.1", "ssi.0";
1097
1098 status = "disabled";
1099
1100 rcar_sound,dvc {
1101 dvc0: dvc-0 {
1102 dmas = <&audma1 0xbc>;
1103 dma-names = "tx";
1104 };
1105 dvc1: dvc-1 {
1106 dmas = <&audma1 0xbe>;
1107 dma-names = "tx";
1108 };
1109 };
1068 1110
1069 du: display@feb00000 { 1111 rcar_sound,mix {
1070 compatible = "renesas,du-r8a7790"; 1112 mix0: mix-0 { };
1071 reg = <0 0xfeb00000 0 0x70000>, 1113 mix1: mix-1 { };
1072 <0 0xfeb90000 0 0x1c>, 1114 };
1073 <0 0xfeb94000 0 0x1c>;
1074 reg-names = "du", "lvds.0", "lvds.1";
1075 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1076 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
1077 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
1078 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
1079 <&cpg CPG_MOD 722>, <&cpg CPG_MOD 726>,
1080 <&cpg CPG_MOD 725>;
1081 clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1";
1082 status = "disabled";
1083
1084 ports {
1085 #address-cells = <1>;
1086 #size-cells = <0>;
1087 1115
1088 port@0 { 1116 rcar_sound,ctu {
1089 reg = <0>; 1117 ctu00: ctu-0 { };
1090 du_out_rgb: endpoint { 1118 ctu01: ctu-1 { };
1091 }; 1119 ctu02: ctu-2 { };
1120 ctu03: ctu-3 { };
1121 ctu10: ctu-4 { };
1122 ctu11: ctu-5 { };
1123 ctu12: ctu-6 { };
1124 ctu13: ctu-7 { };
1092 }; 1125 };
1093 port@1 { 1126
1094 reg = <1>; 1127 rcar_sound,src {
1095 du_out_lvds0: endpoint { 1128 src0: src-0 {
1129 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
1130 dmas = <&audma0 0x85>, <&audma1 0x9a>;
1131 dma-names = "rx", "tx";
1132 };
1133 src1: src-1 {
1134 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1135 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1136 dma-names = "rx", "tx";
1137 };
1138 src2: src-2 {
1139 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1140 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1141 dma-names = "rx", "tx";
1142 };
1143 src3: src-3 {
1144 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1145 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1146 dma-names = "rx", "tx";
1147 };
1148 src4: src-4 {
1149 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1150 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1151 dma-names = "rx", "tx";
1152 };
1153 src5: src-5 {
1154 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1155 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1156 dma-names = "rx", "tx";
1157 };
1158 src6: src-6 {
1159 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1160 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1161 dma-names = "rx", "tx";
1162 };
1163 src7: src-7 {
1164 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1165 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1166 dma-names = "rx", "tx";
1167 };
1168 src8: src-8 {
1169 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1170 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1171 dma-names = "rx", "tx";
1172 };
1173 src9: src-9 {
1174 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1175 dmas = <&audma0 0x97>, <&audma1 0xba>;
1176 dma-names = "rx", "tx";
1096 }; 1177 };
1097 }; 1178 };
1098 port@2 { 1179
1099 reg = <2>; 1180 rcar_sound,ssi {
1100 du_out_lvds1: endpoint { 1181 ssi0: ssi-0 {
1182 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
1183 dmas = <&audma0 0x01>, <&audma1 0x02>,
1184 <&audma0 0x15>, <&audma1 0x16>;
1185 dma-names = "rx", "tx", "rxu", "txu";
1186 };
1187 ssi1: ssi-1 {
1188 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1189 dmas = <&audma0 0x03>, <&audma1 0x04>,
1190 <&audma0 0x49>, <&audma1 0x4a>;
1191 dma-names = "rx", "tx", "rxu", "txu";
1192 };
1193 ssi2: ssi-2 {
1194 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1195 dmas = <&audma0 0x05>, <&audma1 0x06>,
1196 <&audma0 0x63>, <&audma1 0x64>;
1197 dma-names = "rx", "tx", "rxu", "txu";
1198 };
1199 ssi3: ssi-3 {
1200 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1201 dmas = <&audma0 0x07>, <&audma1 0x08>,
1202 <&audma0 0x6f>, <&audma1 0x70>;
1203 dma-names = "rx", "tx", "rxu", "txu";
1204 };
1205 ssi4: ssi-4 {
1206 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1207 dmas = <&audma0 0x09>, <&audma1 0x0a>,
1208 <&audma0 0x71>, <&audma1 0x72>;
1209 dma-names = "rx", "tx", "rxu", "txu";
1210 };
1211 ssi5: ssi-5 {
1212 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1213 dmas = <&audma0 0x0b>, <&audma1 0x0c>,
1214 <&audma0 0x73>, <&audma1 0x74>;
1215 dma-names = "rx", "tx", "rxu", "txu";
1216 };
1217 ssi6: ssi-6 {
1218 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1219 dmas = <&audma0 0x0d>, <&audma1 0x0e>,
1220 <&audma0 0x75>, <&audma1 0x76>;
1221 dma-names = "rx", "tx", "rxu", "txu";
1222 };
1223 ssi7: ssi-7 {
1224 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1225 dmas = <&audma0 0x0f>, <&audma1 0x10>,
1226 <&audma0 0x79>, <&audma1 0x7a>;
1227 dma-names = "rx", "tx", "rxu", "txu";
1228 };
1229 ssi8: ssi-8 {
1230 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1231 dmas = <&audma0 0x11>, <&audma1 0x12>,
1232 <&audma0 0x7b>, <&audma1 0x7c>;
1233 dma-names = "rx", "tx", "rxu", "txu";
1234 };
1235 ssi9: ssi-9 {
1236 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1237 dmas = <&audma0 0x13>, <&audma1 0x14>,
1238 <&audma0 0x7d>, <&audma1 0x7e>;
1239 dma-names = "rx", "tx", "rxu", "txu";
1101 }; 1240 };
1102 }; 1241 };
1103 }; 1242 };
1104 };
1105 1243
1106 can0: can@e6e80000 { 1244 audma0: dma-controller@ec700000 {
1107 compatible = "renesas,can-r8a7790", "renesas,rcar-gen2-can"; 1245 compatible = "renesas,dmac-r8a7790",
1108 reg = <0 0xe6e80000 0 0x1000>; 1246 "renesas,rcar-dmac";
1109 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 1247 reg = <0 0xec700000 0 0x10000>;
1110 clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7790_CLK_RCAN>, 1248 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1111 <&can_clk>; 1249 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1112 clock-names = "clkp1", "clkp2", "can_clk"; 1250 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1113 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1251 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1114 resets = <&cpg 916>; 1252 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1115 status = "disabled"; 1253 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1116 }; 1254 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1117 1255 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1118 can1: can@e6e88000 { 1256 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1119 compatible = "renesas,can-r8a7790", "renesas,rcar-gen2-can"; 1257 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1120 reg = <0 0xe6e88000 0 0x1000>; 1258 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1121 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 1259 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1122 clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7790_CLK_RCAN>, 1260 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1123 <&can_clk>; 1261 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1124 clock-names = "clkp1", "clkp2", "can_clk"; 1262 interrupt-names = "error",
1125 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1263 "ch0", "ch1", "ch2", "ch3",
1126 resets = <&cpg 915>; 1264 "ch4", "ch5", "ch6", "ch7",
1127 status = "disabled"; 1265 "ch8", "ch9", "ch10", "ch11",
1128 }; 1266 "ch12";
1129 1267 clocks = <&cpg CPG_MOD 502>;
1130 jpu: jpeg-codec@fe980000 { 1268 clock-names = "fck";
1131 compatible = "renesas,jpu-r8a7790", "renesas,rcar-gen2-jpu"; 1269 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1132 reg = <0 0xfe980000 0 0x10300>; 1270 resets = <&cpg 502>;
1133 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; 1271 #dma-cells = <1>;
1134 clocks = <&cpg CPG_MOD 106>; 1272 dma-channels = <13>;
1135 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1273 };
1136 resets = <&cpg 106>;
1137 };
1138
1139 /* External root clock */
1140 extal_clk: extal {
1141 compatible = "fixed-clock";
1142 #clock-cells = <0>;
1143 /* This value must be overridden by the board. */
1144 clock-frequency = <0>;
1145 };
1146
1147 /* External PCIe clock - can be overridden by the board */
1148 pcie_bus_clk: pcie_bus {
1149 compatible = "fixed-clock";
1150 #clock-cells = <0>;
1151 clock-frequency = <0>;
1152 };
1153 1274
1154 /* 1275 audma1: dma-controller@ec720000 {
1155 * The external audio clocks are configured as 0 Hz fixed frequency 1276 compatible = "renesas,dmac-r8a7790",
1156 * clocks by default. 1277 "renesas,rcar-dmac";
1157 * Boards that provide audio clocks should override them. 1278 reg = <0 0xec720000 0 0x10000>;
1158 */ 1279 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
1159 audio_clk_a: audio_clk_a { 1280 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
1160 compatible = "fixed-clock"; 1281 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
1161 #clock-cells = <0>; 1282 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH
1162 clock-frequency = <0>; 1283 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
1163 }; 1284 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
1164 audio_clk_b: audio_clk_b { 1285 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
1165 compatible = "fixed-clock"; 1286 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
1166 #clock-cells = <0>; 1287 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
1167 clock-frequency = <0>; 1288 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
1168 }; 1289 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
1169 audio_clk_c: audio_clk_c { 1290 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
1170 compatible = "fixed-clock"; 1291 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
1171 #clock-cells = <0>; 1292 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
1172 clock-frequency = <0>; 1293 interrupt-names = "error",
1173 }; 1294 "ch0", "ch1", "ch2", "ch3",
1295 "ch4", "ch5", "ch6", "ch7",
1296 "ch8", "ch9", "ch10", "ch11",
1297 "ch12";
1298 clocks = <&cpg CPG_MOD 501>;
1299 clock-names = "fck";
1300 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1301 resets = <&cpg 501>;
1302 #dma-cells = <1>;
1303 dma-channels = <13>;
1304 };
1174 1305
1175 /* External SCIF clock */ 1306 xhci: usb@ee000000 {
1176 scif_clk: scif { 1307 compatible = "renesas,xhci-r8a7790",
1177 compatible = "fixed-clock"; 1308 "renesas,rcar-gen2-xhci";
1178 #clock-cells = <0>; 1309 reg = <0 0xee000000 0 0xc00>;
1179 /* This value must be overridden by the board. */ 1310 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1180 clock-frequency = <0>; 1311 clocks = <&cpg CPG_MOD 328>;
1181 }; 1312 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1313 resets = <&cpg 328>;
1314 phys = <&usb2 1>;
1315 phy-names = "usb";
1316 status = "disabled";
1317 };
1182 1318
1183 /* External USB clock - can be overridden by the board */ 1319 pci0: pci@ee090000 {
1184 usb_extal_clk: usb_extal { 1320 compatible = "renesas,pci-r8a7790",
1185 compatible = "fixed-clock"; 1321 "renesas,pci-rcar-gen2";
1186 #clock-cells = <0>; 1322 device_type = "pci";
1187 clock-frequency = <48000000>; 1323 reg = <0 0xee090000 0 0xc00>,
1188 }; 1324 <0 0xee080000 0 0x1100>;
1325 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1326 clocks = <&cpg CPG_MOD 703>;
1327 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1328 resets = <&cpg 703>;
1329 status = "disabled";
1330
1331 bus-range = <0 0>;
1332 #address-cells = <3>;
1333 #size-cells = <2>;
1334 #interrupt-cells = <1>;
1335 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1336 interrupt-map-mask = <0xff00 0 0 0x7>;
1337 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1338 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1339 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1340
1341 usb@1,0 {
1342 reg = <0x800 0 0 0 0>;
1343 phys = <&usb0 0>;
1344 phy-names = "usb";
1345 };
1189 1346
1190 /* External CAN clock */ 1347 usb@2,0 {
1191 can_clk: can { 1348 reg = <0x1000 0 0 0 0>;
1192 compatible = "fixed-clock"; 1349 phys = <&usb0 0>;
1193 #clock-cells = <0>; 1350 phy-names = "usb";
1194 /* This value must be overridden by the board. */ 1351 };
1195 clock-frequency = <0>; 1352 };
1196 };
1197 1353
1198 cpg: clock-controller@e6150000 { 1354 pci1: pci@ee0b0000 {
1199 compatible = "renesas,r8a7790-cpg-mssr"; 1355 compatible = "renesas,pci-r8a7790",
1200 reg = <0 0xe6150000 0 0x1000>; 1356 "renesas,pci-rcar-gen2";
1201 clocks = <&extal_clk>, <&usb_extal_clk>; 1357 device_type = "pci";
1202 clock-names = "extal", "usb_extal"; 1358 reg = <0 0xee0b0000 0 0xc00>,
1203 #clock-cells = <2>; 1359 <0 0xee0a0000 0 0x1100>;
1204 #power-domain-cells = <0>; 1360 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1205 #reset-cells = <1>; 1361 clocks = <&cpg CPG_MOD 703>;
1206 }; 1362 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1363 resets = <&cpg 703>;
1364 status = "disabled";
1365
1366 bus-range = <1 1>;
1367 #address-cells = <3>;
1368 #size-cells = <2>;
1369 #interrupt-cells = <1>;
1370 ranges = <0x02000000 0 0xee0a0000 0 0xee0a0000 0 0x00010000>;
1371 interrupt-map-mask = <0xff00 0 0 0x7>;
1372 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
1373 0x0800 0 0 1 &gic GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
1374 0x1000 0 0 2 &gic GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1375 };
1207 1376
1208 prr: chipid@ff000044 { 1377 pci2: pci@ee0d0000 {
1209 compatible = "renesas,prr"; 1378 compatible = "renesas,pci-r8a7790",
1210 reg = <0 0xff000044 0 4>; 1379 "renesas,pci-rcar-gen2";
1211 }; 1380 device_type = "pci";
1381 clocks = <&cpg CPG_MOD 703>;
1382 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1383 resets = <&cpg 703>;
1384 reg = <0 0xee0d0000 0 0xc00>,
1385 <0 0xee0c0000 0 0x1100>;
1386 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1387 status = "disabled";
1388
1389 bus-range = <2 2>;
1390 #address-cells = <3>;
1391 #size-cells = <2>;
1392 #interrupt-cells = <1>;
1393 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1394 interrupt-map-mask = <0xff00 0 0 0x7>;
1395 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1396 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1397 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1398
1399 usb@1,0 {
1400 reg = <0x20800 0 0 0 0>;
1401 phys = <&usb2 0>;
1402 phy-names = "usb";
1403 };
1212 1404
1213 rst: reset-controller@e6160000 { 1405 usb@2,0 {
1214 compatible = "renesas,r8a7790-rst"; 1406 reg = <0x21000 0 0 0 0>;
1215 reg = <0 0xe6160000 0 0x0100>; 1407 phys = <&usb2 0>;
1216 }; 1408 phy-names = "usb";
1409 };
1410 };
1217 1411
1218 sysc: system-controller@e6180000 { 1412 sdhi0: sd@ee100000 {
1219 compatible = "renesas,r8a7790-sysc"; 1413 compatible = "renesas,sdhi-r8a7790",
1220 reg = <0 0xe6180000 0 0x0200>; 1414 "renesas,rcar-gen2-sdhi";
1221 #power-domain-cells = <1>; 1415 reg = <0 0xee100000 0 0x328>;
1222 }; 1416 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1417 clocks = <&cpg CPG_MOD 314>;
1418 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1419 <&dmac1 0xcd>, <&dmac1 0xce>;
1420 dma-names = "tx", "rx", "tx", "rx";
1421 max-frequency = <195000000>;
1422 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1423 resets = <&cpg 314>;
1424 status = "disabled";
1425 };
1223 1426
1224 qspi: spi@e6b10000 { 1427 sdhi1: sd@ee120000 {
1225 compatible = "renesas,qspi-r8a7790", "renesas,qspi"; 1428 compatible = "renesas,sdhi-r8a7790",
1226 reg = <0 0xe6b10000 0 0x2c>; 1429 "renesas,rcar-gen2-sdhi";
1227 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 1430 reg = <0 0xee120000 0 0x328>;
1228 clocks = <&cpg CPG_MOD 917>; 1431 interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
1229 dmas = <&dmac0 0x17>, <&dmac0 0x18>, 1432 clocks = <&cpg CPG_MOD 313>;
1230 <&dmac1 0x17>, <&dmac1 0x18>; 1433 dmas = <&dmac0 0xc9>, <&dmac0 0xca>,
1231 dma-names = "tx", "rx", "tx", "rx"; 1434 <&dmac1 0xc9>, <&dmac1 0xca>;
1232 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1435 dma-names = "tx", "rx", "tx", "rx";
1233 resets = <&cpg 917>; 1436 max-frequency = <195000000>;
1234 num-cs = <1>; 1437 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1235 #address-cells = <1>; 1438 resets = <&cpg 313>;
1236 #size-cells = <0>; 1439 status = "disabled";
1237 status = "disabled"; 1440 };
1238 };
1239 1441
1240 msiof0: spi@e6e20000 { 1442 sdhi2: sd@ee140000 {
1241 compatible = "renesas,msiof-r8a7790", 1443 compatible = "renesas,sdhi-r8a7790",
1242 "renesas,rcar-gen2-msiof"; 1444 "renesas,rcar-gen2-sdhi";
1243 reg = <0 0xe6e20000 0 0x0064>; 1445 reg = <0 0xee140000 0 0x100>;
1244 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 1446 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1245 clocks = <&cpg CPG_MOD 0>; 1447 clocks = <&cpg CPG_MOD 312>;
1246 dmas = <&dmac0 0x51>, <&dmac0 0x52>, 1448 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1247 <&dmac1 0x51>, <&dmac1 0x52>; 1449 <&dmac1 0xc1>, <&dmac1 0xc2>;
1248 dma-names = "tx", "rx", "tx", "rx"; 1450 dma-names = "tx", "rx", "tx", "rx";
1249 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1451 max-frequency = <97500000>;
1250 resets = <&cpg 0>; 1452 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1251 #address-cells = <1>; 1453 resets = <&cpg 312>;
1252 #size-cells = <0>; 1454 status = "disabled";
1253 status = "disabled"; 1455 };
1254 };
1255 1456
1256 msiof1: spi@e6e10000 { 1457 sdhi3: sd@ee160000 {
1257 compatible = "renesas,msiof-r8a7790", 1458 compatible = "renesas,sdhi-r8a7790",
1258 "renesas,rcar-gen2-msiof"; 1459 "renesas,rcar-gen2-sdhi";
1259 reg = <0 0xe6e10000 0 0x0064>; 1460 reg = <0 0xee160000 0 0x100>;
1260 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 1461 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1261 clocks = <&cpg CPG_MOD 208>; 1462 clocks = <&cpg CPG_MOD 311>;
1262 dmas = <&dmac0 0x55>, <&dmac0 0x56>, 1463 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1263 <&dmac1 0x55>, <&dmac1 0x56>; 1464 <&dmac1 0xd3>, <&dmac1 0xd4>;
1264 dma-names = "tx", "rx", "tx", "rx"; 1465 dma-names = "tx", "rx", "tx", "rx";
1265 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1466 max-frequency = <97500000>;
1266 resets = <&cpg 208>; 1467 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1267 #address-cells = <1>; 1468 resets = <&cpg 311>;
1268 #size-cells = <0>; 1469 status = "disabled";
1269 status = "disabled"; 1470 };
1270 };
1271 1471
1272 msiof2: spi@e6e00000 { 1472 mmcif0: mmc@ee200000 {
1273 compatible = "renesas,msiof-r8a7790", 1473 compatible = "renesas,mmcif-r8a7790",
1274 "renesas,rcar-gen2-msiof"; 1474 "renesas,sh-mmcif";
1275 reg = <0 0xe6e00000 0 0x0064>; 1475 reg = <0 0xee200000 0 0x80>;
1276 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 1476 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1277 clocks = <&cpg CPG_MOD 205>; 1477 clocks = <&cpg CPG_MOD 315>;
1278 dmas = <&dmac0 0x41>, <&dmac0 0x42>, 1478 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1279 <&dmac1 0x41>, <&dmac1 0x42>; 1479 <&dmac1 0xd1>, <&dmac1 0xd2>;
1280 dma-names = "tx", "rx", "tx", "rx"; 1480 dma-names = "tx", "rx", "tx", "rx";
1281 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1481 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1282 resets = <&cpg 205>; 1482 resets = <&cpg 315>;
1283 #address-cells = <1>; 1483 reg-io-width = <4>;
1284 #size-cells = <0>; 1484 status = "disabled";
1285 status = "disabled"; 1485 max-frequency = <97500000>;
1286 }; 1486 };
1287 1487
1288 msiof3: spi@e6c90000 { 1488 mmcif1: mmc@ee220000 {
1289 compatible = "renesas,msiof-r8a7790", 1489 compatible = "renesas,mmcif-r8a7790",
1290 "renesas,rcar-gen2-msiof"; 1490 "renesas,sh-mmcif";
1291 reg = <0 0xe6c90000 0 0x0064>; 1491 reg = <0 0xee220000 0 0x80>;
1292 interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>; 1492 interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
1293 clocks = <&cpg CPG_MOD 215>; 1493 clocks = <&cpg CPG_MOD 305>;
1294 dmas = <&dmac0 0x45>, <&dmac0 0x46>, 1494 dmas = <&dmac0 0xe1>, <&dmac0 0xe2>,
1295 <&dmac1 0x45>, <&dmac1 0x46>; 1495 <&dmac1 0xe1>, <&dmac1 0xe2>;
1296 dma-names = "tx", "rx", "tx", "rx"; 1496 dma-names = "tx", "rx", "tx", "rx";
1297 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1497 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1298 resets = <&cpg 215>; 1498 resets = <&cpg 305>;
1299 #address-cells = <1>; 1499 reg-io-width = <4>;
1300 #size-cells = <0>; 1500 status = "disabled";
1301 status = "disabled"; 1501 max-frequency = <97500000>;
1302 }; 1502 };
1303 1503
1304 xhci: usb@ee000000 { 1504 sata0: sata@ee300000 {
1305 compatible = "renesas,xhci-r8a7790", "renesas,rcar-gen2-xhci"; 1505 compatible = "renesas,sata-r8a7790",
1306 reg = <0 0xee000000 0 0xc00>; 1506 "renesas,rcar-gen2-sata";
1307 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1507 reg = <0 0xee300000 0 0x2000>;
1308 clocks = <&cpg CPG_MOD 328>; 1508 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1309 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1509 clocks = <&cpg CPG_MOD 815>;
1310 resets = <&cpg 328>; 1510 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1311 phys = <&usb2 1>; 1511 resets = <&cpg 815>;
1312 phy-names = "usb"; 1512 status = "disabled";
1313 status = "disabled"; 1513 };
1314 };
1315 1514
1316 pci0: pci@ee090000 { 1515 sata1: sata@ee500000 {
1317 compatible = "renesas,pci-r8a7790", "renesas,pci-rcar-gen2"; 1516 compatible = "renesas,sata-r8a7790",
1318 device_type = "pci"; 1517 "renesas,rcar-gen2-sata";
1319 reg = <0 0xee090000 0 0xc00>, 1518 reg = <0 0xee500000 0 0x2000>;
1320 <0 0xee080000 0 0x1100>; 1519 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1321 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1520 clocks = <&cpg CPG_MOD 814>;
1322 clocks = <&cpg CPG_MOD 703>; 1521 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1323 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1522 resets = <&cpg 814>;
1324 resets = <&cpg 703>; 1523 status = "disabled";
1325 status = "disabled";
1326
1327 bus-range = <0 0>;
1328 #address-cells = <3>;
1329 #size-cells = <2>;
1330 #interrupt-cells = <1>;
1331 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1332 interrupt-map-mask = <0xff00 0 0 0x7>;
1333 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1334 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1335 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1336
1337 usb@1,0 {
1338 reg = <0x800 0 0 0 0>;
1339 phys = <&usb0 0>;
1340 phy-names = "usb";
1341 }; 1524 };
1342 1525
1343 usb@2,0 { 1526 ether: ethernet@ee700000 {
1344 reg = <0x1000 0 0 0 0>; 1527 compatible = "renesas,ether-r8a7790",
1345 phys = <&usb0 0>; 1528 "renesas,rcar-gen2-ether";
1346 phy-names = "usb"; 1529 reg = <0 0xee700000 0 0x400>;
1530 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1531 clocks = <&cpg CPG_MOD 813>;
1532 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1533 resets = <&cpg 813>;
1534 phy-mode = "rmii";
1535 #address-cells = <1>;
1536 #size-cells = <0>;
1537 status = "disabled";
1347 }; 1538 };
1348 };
1349 1539
1350 pci1: pci@ee0b0000 { 1540 gic: interrupt-controller@f1001000 {
1351 compatible = "renesas,pci-r8a7790", "renesas,pci-rcar-gen2"; 1541 compatible = "arm,gic-400";
1352 device_type = "pci"; 1542 #interrupt-cells = <3>;
1353 reg = <0 0xee0b0000 0 0xc00>, 1543 #address-cells = <0>;
1354 <0 0xee0a0000 0 0x1100>; 1544 interrupt-controller;
1355 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 1545 reg = <0 0xf1001000 0 0x1000>, <0 0xf1002000 0 0x2000>,
1356 clocks = <&cpg CPG_MOD 703>; 1546 <0 0xf1004000 0 0x2000>, <0 0xf1006000 0 0x2000>;
1357 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1547 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
1358 resets = <&cpg 703>; 1548 clocks = <&cpg CPG_MOD 408>;
1359 status = "disabled"; 1549 clock-names = "clk";
1360 1550 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1361 bus-range = <1 1>; 1551 resets = <&cpg 408>;
1362 #address-cells = <3>; 1552 };
1363 #size-cells = <2>;
1364 #interrupt-cells = <1>;
1365 ranges = <0x02000000 0 0xee0a0000 0 0xee0a0000 0 0x00010000>;
1366 interrupt-map-mask = <0xff00 0 0 0x7>;
1367 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
1368 0x0800 0 0 1 &gic GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH
1369 0x1000 0 0 2 &gic GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1370 };
1371 1553
1372 pci2: pci@ee0d0000 { 1554 pciec: pcie@fe000000 {
1373 compatible = "renesas,pci-r8a7790", "renesas,pci-rcar-gen2"; 1555 compatible = "renesas,pcie-r8a7790",
1374 device_type = "pci"; 1556 "renesas,pcie-rcar-gen2";
1375 clocks = <&cpg CPG_MOD 703>; 1557 reg = <0 0xfe000000 0 0x80000>;
1376 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>; 1558 #address-cells = <3>;
1377 resets = <&cpg 703>; 1559 #size-cells = <2>;
1378 reg = <0 0xee0d0000 0 0xc00>, 1560 bus-range = <0x00 0xff>;
1379 <0 0xee0c0000 0 0x1100>; 1561 device_type = "pci";
1380 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 1562 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
1381 status = "disabled"; 1563 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
1382 1564 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
1383 bus-range = <2 2>; 1565 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1384 #address-cells = <3>; 1566 /* Map all possible DDR as inbound ranges */
1385 #size-cells = <2>; 1567 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1386 #interrupt-cells = <1>; 1568 0x43000000 1 0x80000000 1 0x80000000 0 0x80000000>;
1387 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>; 1569 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1388 interrupt-map-mask = <0xff00 0 0 0x7>; 1570 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1389 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 1571 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1390 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH 1572 #interrupt-cells = <1>;
1391 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 1573 interrupt-map-mask = <0 0 0 0>;
1392 1574 interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1393 usb@1,0 { 1575 clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1394 reg = <0x20800 0 0 0 0>; 1576 clock-names = "pcie", "pcie_bus";
1395 phys = <&usb2 0>; 1577 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1396 phy-names = "usb"; 1578 resets = <&cpg 319>;
1579 status = "disabled";
1397 }; 1580 };
1398 1581
1399 usb@2,0 { 1582 vsp@fe920000 {
1400 reg = <0x21000 0 0 0 0>; 1583 compatible = "renesas,vsp1";
1401 phys = <&usb2 0>; 1584 reg = <0 0xfe920000 0 0x8000>;
1402 phy-names = "usb"; 1585 interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
1586 clocks = <&cpg CPG_MOD 130>;
1587 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1588 resets = <&cpg 130>;
1403 }; 1589 };
1404 };
1405 1590
1406 pciec: pcie@fe000000 { 1591 vsp@fe928000 {
1407 compatible = "renesas,pcie-r8a7790", "renesas,pcie-rcar-gen2"; 1592 compatible = "renesas,vsp1";
1408 reg = <0 0xfe000000 0 0x80000>; 1593 reg = <0 0xfe928000 0 0x8000>;
1409 #address-cells = <3>; 1594 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1410 #size-cells = <2>; 1595 clocks = <&cpg CPG_MOD 131>;
1411 bus-range = <0x00 0xff>; 1596 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1412 device_type = "pci"; 1597 resets = <&cpg 131>;
1413 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000 1598 };
1414 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
1415 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
1416 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1417 /* Map all possible DDR as inbound ranges */
1418 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1419 0x43000000 1 0x80000000 1 0x80000000 0 0x80000000>;
1420 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1421 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1422 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1423 #interrupt-cells = <1>;
1424 interrupt-map-mask = <0 0 0 0>;
1425 interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1426 clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1427 clock-names = "pcie", "pcie_bus";
1428 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1429 resets = <&cpg 319>;
1430 status = "disabled";
1431 };
1432 1599
1433 rcar_sound: sound@ec500000 { 1600 vsp@fe930000 {
1434 /* 1601 compatible = "renesas,vsp1";
1435 * #sound-dai-cells is required 1602 reg = <0 0xfe930000 0 0x8000>;
1436 * 1603 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
1437 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; 1604 clocks = <&cpg CPG_MOD 128>;
1438 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; 1605 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1439 */ 1606 resets = <&cpg 128>;
1440 compatible = "renesas,rcar_sound-r8a7790", "renesas,rcar_sound-gen2";
1441 reg = <0 0xec500000 0 0x1000>, /* SCU */
1442 <0 0xec5a0000 0 0x100>, /* ADG */
1443 <0 0xec540000 0 0x1000>, /* SSIU */
1444 <0 0xec541000 0 0x280>, /* SSI */
1445 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1446 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1447
1448 clocks = <&cpg CPG_MOD 1005>,
1449 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
1450 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
1451 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
1452 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
1453 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
1454 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
1455 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
1456 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
1457 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
1458 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
1459 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1460 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1461 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1462 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
1463 <&cpg CPG_CORE R8A7790_CLK_M2>;
1464 clock-names = "ssi-all",
1465 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1466 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
1467 "src.9", "src.8", "src.7", "src.6", "src.5",
1468 "src.4", "src.3", "src.2", "src.1", "src.0",
1469 "ctu.0", "ctu.1",
1470 "mix.0", "mix.1",
1471 "dvc.0", "dvc.1",
1472 "clk_a", "clk_b", "clk_c", "clk_i";
1473 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1474 resets = <&cpg 1005>,
1475 <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
1476 <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
1477 <&cpg 1014>, <&cpg 1015>;
1478 reset-names = "ssi-all",
1479 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1480 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
1481
1482 status = "disabled";
1483
1484 rcar_sound,dvc {
1485 dvc0: dvc-0 {
1486 dmas = <&audma1 0xbc>;
1487 dma-names = "tx";
1488 };
1489 dvc1: dvc-1 {
1490 dmas = <&audma1 0xbe>;
1491 dma-names = "tx";
1492 };
1493 }; 1607 };
1494 1608
1495 rcar_sound,mix { 1609 vsp@fe938000 {
1496 mix0: mix-0 { }; 1610 compatible = "renesas,vsp1";
1497 mix1: mix-1 { }; 1611 reg = <0 0xfe938000 0 0x8000>;
1612 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
1613 clocks = <&cpg CPG_MOD 127>;
1614 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1615 resets = <&cpg 127>;
1498 }; 1616 };
1499 1617
1500 rcar_sound,ctu { 1618 jpu: jpeg-codec@fe980000 {
1501 ctu00: ctu-0 { }; 1619 compatible = "renesas,jpu-r8a7790",
1502 ctu01: ctu-1 { }; 1620 "renesas,rcar-gen2-jpu";
1503 ctu02: ctu-2 { }; 1621 reg = <0 0xfe980000 0 0x10300>;
1504 ctu03: ctu-3 { }; 1622 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
1505 ctu10: ctu-4 { }; 1623 clocks = <&cpg CPG_MOD 106>;
1506 ctu11: ctu-5 { }; 1624 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1507 ctu12: ctu-6 { }; 1625 resets = <&cpg 106>;
1508 ctu13: ctu-7 { };
1509 }; 1626 };
1510 1627
1511 rcar_sound,src { 1628 du: display@feb00000 {
1512 src0: src-0 { 1629 compatible = "renesas,du-r8a7790";
1513 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 1630 reg = <0 0xfeb00000 0 0x70000>,
1514 dmas = <&audma0 0x85>, <&audma1 0x9a>; 1631 <0 0xfeb90000 0 0x1c>,
1515 dma-names = "rx", "tx"; 1632 <0 0xfeb94000 0 0x1c>;
1516 }; 1633 reg-names = "du", "lvds.0", "lvds.1";
1517 src1: src-1 { 1634 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1518 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 1635 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
1519 dmas = <&audma0 0x87>, <&audma1 0x9c>; 1636 <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
1520 dma-names = "rx", "tx"; 1637 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
1521 }; 1638 <&cpg CPG_MOD 722>, <&cpg CPG_MOD 726>,
1522 src2: src-2 { 1639 <&cpg CPG_MOD 725>;
1523 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 1640 clock-names = "du.0", "du.1", "du.2", "lvds.0",
1524 dmas = <&audma0 0x89>, <&audma1 0x9e>; 1641 "lvds.1";
1525 dma-names = "rx", "tx"; 1642 status = "disabled";
1526 }; 1643
1527 src3: src-3 { 1644 ports {
1528 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 1645 #address-cells = <1>;
1529 dmas = <&audma0 0x8b>, <&audma1 0xa0>; 1646 #size-cells = <0>;
1530 dma-names = "rx", "tx"; 1647
1531 }; 1648 port@0 {
1532 src4: src-4 { 1649 reg = <0>;
1533 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 1650 du_out_rgb: endpoint {
1534 dmas = <&audma0 0x8d>, <&audma1 0xb0>; 1651 };
1535 dma-names = "rx", "tx"; 1652 };
1536 }; 1653 port@1 {
1537 src5: src-5 { 1654 reg = <1>;
1538 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>; 1655 du_out_lvds0: endpoint {
1539 dmas = <&audma0 0x8f>, <&audma1 0xb2>; 1656 };
1540 dma-names = "rx", "tx"; 1657 };
1541 }; 1658 port@2 {
1542 src6: src-6 { 1659 reg = <2>;
1543 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>; 1660 du_out_lvds1: endpoint {
1544 dmas = <&audma0 0x91>, <&audma1 0xb4>; 1661 };
1545 dma-names = "rx", "tx"; 1662 };
1546 };
1547 src7: src-7 {
1548 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1549 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1550 dma-names = "rx", "tx";
1551 };
1552 src8: src-8 {
1553 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1554 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1555 dma-names = "rx", "tx";
1556 };
1557 src9: src-9 {
1558 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1559 dmas = <&audma0 0x97>, <&audma1 0xba>;
1560 dma-names = "rx", "tx";
1561 }; 1663 };
1562 }; 1664 };
1563 1665
1564 rcar_sound,ssi { 1666 prr: chipid@ff000044 {
1565 ssi0: ssi-0 { 1667 compatible = "renesas,prr";
1566 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 1668 reg = <0 0xff000044 0 4>;
1567 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>;
1568 dma-names = "rx", "tx", "rxu", "txu";
1569 };
1570 ssi1: ssi-1 {
1571 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1572 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
1573 dma-names = "rx", "tx", "rxu", "txu";
1574 };
1575 ssi2: ssi-2 {
1576 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1577 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
1578 dma-names = "rx", "tx", "rxu", "txu";
1579 };
1580 ssi3: ssi-3 {
1581 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1582 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
1583 dma-names = "rx", "tx", "rxu", "txu";
1584 };
1585 ssi4: ssi-4 {
1586 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1587 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
1588 dma-names = "rx", "tx", "rxu", "txu";
1589 };
1590 ssi5: ssi-5 {
1591 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1592 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
1593 dma-names = "rx", "tx", "rxu", "txu";
1594 };
1595 ssi6: ssi-6 {
1596 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1597 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
1598 dma-names = "rx", "tx", "rxu", "txu";
1599 };
1600 ssi7: ssi-7 {
1601 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1602 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
1603 dma-names = "rx", "tx", "rxu", "txu";
1604 };
1605 ssi8: ssi-8 {
1606 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1607 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
1608 dma-names = "rx", "tx", "rxu", "txu";
1609 };
1610 ssi9: ssi-9 {
1611 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1612 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
1613 dma-names = "rx", "tx", "rxu", "txu";
1614 };
1615 }; 1669 };
1616 };
1617 1670
1618 ipmmu_sy0: mmu@e6280000 { 1671 cmt0: timer@ffca0000 {
1619 compatible = "renesas,ipmmu-r8a7790", "renesas,ipmmu-vmsa"; 1672 compatible = "renesas,r8a7790-cmt0",
1620 reg = <0 0xe6280000 0 0x1000>; 1673 "renesas,rcar-gen2-cmt0";
1621 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>, 1674 reg = <0 0xffca0000 0 0x1004>;
1622 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1675 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1623 #iommu-cells = <1>; 1676 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
1624 status = "disabled"; 1677 clocks = <&cpg CPG_MOD 124>;
1625 }; 1678 clock-names = "fck";
1679 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1680 resets = <&cpg 124>;
1681
1682 status = "disabled";
1683 };
1626 1684
1627 ipmmu_sy1: mmu@e6290000 { 1685 cmt1: timer@e6130000 {
1628 compatible = "renesas,ipmmu-r8a7790", "renesas,ipmmu-vmsa"; 1686 compatible = "renesas,r8a7790-cmt1",
1629 reg = <0 0xe6290000 0 0x1000>; 1687 "renesas,rcar-gen2-cmt1";
1630 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 1688 reg = <0 0xe6130000 0 0x1004>;
1631 #iommu-cells = <1>; 1689 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1632 status = "disabled"; 1690 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1691 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1692 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1693 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1694 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1695 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1696 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1697 clocks = <&cpg CPG_MOD 329>;
1698 clock-names = "fck";
1699 power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
1700 resets = <&cpg 329>;
1701
1702 status = "disabled";
1703 };
1633 }; 1704 };
1634 1705
1635 ipmmu_ds: mmu@e6740000 { 1706 thermal-zones {
1636 compatible = "renesas,ipmmu-r8a7790", "renesas,ipmmu-vmsa"; 1707 cpu_thermal: cpu-thermal {
1637 reg = <0 0xe6740000 0 0x1000>; 1708 polling-delay-passive = <0>;
1638 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 1709 polling-delay = <0>;
1639 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
1640 #iommu-cells = <1>;
1641 status = "disabled";
1642 };
1643 1710
1644 ipmmu_mp: mmu@ec680000 { 1711 thermal-sensors = <&thermal>;
1645 compatible = "renesas,ipmmu-r8a7790", "renesas,ipmmu-vmsa"; 1712
1646 reg = <0 0xec680000 0 0x1000>; 1713 trips {
1647 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 1714 cpu-crit {
1648 #iommu-cells = <1>; 1715 temperature = <95000>;
1649 status = "disabled"; 1716 hysteresis = <0>;
1717 type = "critical";
1718 };
1719 };
1720 cooling-maps {
1721 };
1722 };
1650 }; 1723 };
1651 1724
1652 ipmmu_mx: mmu@fe951000 { 1725 timer {
1653 compatible = "renesas,ipmmu-r8a7790", "renesas,ipmmu-vmsa"; 1726 compatible = "arm,armv7-timer";
1654 reg = <0 0xfe951000 0 0x1000>; 1727 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1655 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>, 1728 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1656 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1729 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1657 #iommu-cells = <1>; 1730 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1658 status = "disabled";
1659 }; 1731 };
1660 1732
1661 ipmmu_rt: mmu@ffc80000 { 1733 /* External USB clock - can be overridden by the board */
1662 compatible = "renesas,ipmmu-r8a7790", "renesas,ipmmu-vmsa"; 1734 usb_extal_clk: usb_extal {
1663 reg = <0 0xffc80000 0 0x1000>; 1735 compatible = "fixed-clock";
1664 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; 1736 #clock-cells = <0>;
1665 #iommu-cells = <1>; 1737 clock-frequency = <48000000>;
1666 status = "disabled";
1667 }; 1738 };
1668}; 1739};
diff --git a/arch/arm/boot/dts/r8a7791-koelsch.dts b/arch/arm/boot/dts/r8a7791-koelsch.dts
index a50924d12b6f..f40321a1c917 100644
--- a/arch/arm/boot/dts/r8a7791-koelsch.dts
+++ b/arch/arm/boot/dts/r8a7791-koelsch.dts
@@ -51,7 +51,11 @@
51 serial0 = &scif0; 51 serial0 = &scif0;
52 serial1 = &scif1; 52 serial1 = &scif1;
53 i2c9 = &gpioi2c1; 53 i2c9 = &gpioi2c1;
54 i2c10 = &gpioi2c2;
55 i2c11 = &gpioi2c4;
54 i2c12 = &i2cexio1; 56 i2c12 = &i2cexio1;
57 i2c13 = &i2chdmi;
58 i2c14 = &i2cexio4;
55 }; 59 };
56 60
57 chosen { 61 chosen {
@@ -312,8 +316,28 @@
312 #size-cells = <0>; 316 #size-cells = <0>;
313 compatible = "i2c-gpio"; 317 compatible = "i2c-gpio";
314 status = "disabled"; 318 status = "disabled";
315 sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
316 scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 319 scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
320 sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
321 i2c-gpio,delay-us = <5>;
322 };
323
324 gpioi2c2: i2c-10 {
325 #address-cells = <1>;
326 #size-cells = <0>;
327 compatible = "i2c-gpio";
328 status = "disabled";
329 scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
330 sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
331 i2c-gpio,delay-us = <5>;
332 };
333
334 gpioi2c4: i2c-11 {
335 #address-cells = <1>;
336 #size-cells = <0>;
337 compatible = "i2c-gpio";
338 status = "disabled";
339 scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
340 sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
317 i2c-gpio,delay-us = <5>; 341 i2c-gpio,delay-us = <5>;
318 }; 342 };
319 343
@@ -328,6 +352,115 @@
328 #address-cells = <1>; 352 #address-cells = <1>;
329 #size-cells = <0>; 353 #size-cells = <0>;
330 }; 354 };
355
356 /*
357 * A fallback to GPIO is provided for I2C2.
358 */
359 i2chdmi: i2c-13 {
360 compatible = "i2c-demux-pinctrl";
361 i2c-parent = <&i2c2>, <&gpioi2c2>;
362 i2c-bus-name = "i2c-hdmi";
363 #address-cells = <1>;
364 #size-cells = <0>;
365
366 ak4643: codec@12 {
367 compatible = "asahi-kasei,ak4643";
368 #sound-dai-cells = <0>;
369 reg = <0x12>;
370 };
371
372 composite-in@20 {
373 compatible = "adi,adv7180";
374 reg = <0x20>;
375 remote = <&vin1>;
376
377 port {
378 adv7180: endpoint {
379 bus-width = <8>;
380 remote-endpoint = <&vin1ep>;
381 };
382 };
383 };
384
385 hdmi@39 {
386 compatible = "adi,adv7511w";
387 reg = <0x39>;
388 interrupt-parent = <&gpio3>;
389 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
390 clocks = <&cec_clock>;
391 clock-names = "cec";
392
393 adi,input-depth = <8>;
394 adi,input-colorspace = "rgb";
395 adi,input-clock = "1x";
396 adi,input-style = <1>;
397 adi,input-justification = "evenly";
398
399 ports {
400 #address-cells = <1>;
401 #size-cells = <0>;
402
403 port@0 {
404 reg = <0>;
405 adv7511_in: endpoint {
406 remote-endpoint = <&du_out_rgb>;
407 };
408 };
409
410 port@1 {
411 reg = <1>;
412 adv7511_out: endpoint {
413 remote-endpoint = <&hdmi_con_out>;
414 };
415 };
416 };
417 };
418
419 hdmi-in@4c {
420 compatible = "adi,adv7612";
421 reg = <0x4c>;
422 interrupt-parent = <&gpio4>;
423 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
424 default-input = <0>;
425
426 ports {
427 #address-cells = <1>;
428 #size-cells = <0>;
429
430 port@0 {
431 reg = <0>;
432 adv7612_in: endpoint {
433 remote-endpoint = <&hdmi_con_in>;
434 };
435 };
436
437 port@2 {
438 reg = <2>;
439 adv7612_out: endpoint {
440 remote-endpoint = <&vin0ep2>;
441 };
442 };
443 };
444 };
445
446 eeprom@50 {
447 compatible = "renesas,r1ex24002", "atmel,24c02";
448 reg = <0x50>;
449 pagesize = <16>;
450 };
451 };
452
453 /*
454 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
455 * A fallback to GPIO is provided.
456 */
457 i2cexio4: i2c-14 {
458 compatible = "i2c-demux-pinctrl";
459 i2c-parent = <&i2c4>, <&gpioi2c4>;
460 i2c-bus-name = "i2c-exio4";
461 #address-cells = <1>;
462 #size-cells = <0>;
463 };
331}; 464};
332 465
333&du { 466&du {
@@ -371,6 +504,11 @@
371 function = "i2c2"; 504 function = "i2c2";
372 }; 505 };
373 506
507 i2c4_pins: i2c4 {
508 groups = "i2c4_c";
509 function = "i2c4";
510 };
511
374 du_pins: du { 512 du_pins: du {
375 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 513 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
376 function = "du"; 514 function = "du";
@@ -621,96 +759,14 @@
621 759
622&i2c2 { 760&i2c2 {
623 pinctrl-0 = <&i2c2_pins>; 761 pinctrl-0 = <&i2c2_pins>;
624 pinctrl-names = "default"; 762 pinctrl-names = "i2c-hdmi";
625 763
626 status = "okay";
627 clock-frequency = <100000>; 764 clock-frequency = <100000>;
765};
628 766
629 ak4643: codec@12 { 767&i2c4 {
630 compatible = "asahi-kasei,ak4643"; 768 pinctrl-0 = <&i2c4_pins>;
631 #sound-dai-cells = <0>; 769 pinctrl-names = "i2c-exio4";
632 reg = <0x12>;
633 };
634
635 composite-in@20 {
636 compatible = "adi,adv7180";
637 reg = <0x20>;
638 remote = <&vin1>;
639
640 port {
641 adv7180: endpoint {
642 bus-width = <8>;
643 remote-endpoint = <&vin1ep>;
644 };
645 };
646 };
647
648 hdmi@39 {
649 compatible = "adi,adv7511w";
650 reg = <0x39>;
651 interrupt-parent = <&gpio3>;
652 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
653 clocks = <&cec_clock>;
654 clock-names = "cec";
655
656 adi,input-depth = <8>;
657 adi,input-colorspace = "rgb";
658 adi,input-clock = "1x";
659 adi,input-style = <1>;
660 adi,input-justification = "evenly";
661
662 ports {
663 #address-cells = <1>;
664 #size-cells = <0>;
665
666 port@0 {
667 reg = <0>;
668 adv7511_in: endpoint {
669 remote-endpoint = <&du_out_rgb>;
670 };
671 };
672
673 port@1 {
674 reg = <1>;
675 adv7511_out: endpoint {
676 remote-endpoint = <&hdmi_con_out>;
677 };
678 };
679 };
680 };
681
682 hdmi-in@4c {
683 compatible = "adi,adv7612";
684 reg = <0x4c>;
685 interrupt-parent = <&gpio4>;
686 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
687 default-input = <0>;
688
689 ports {
690 #address-cells = <1>;
691 #size-cells = <0>;
692
693 port@0 {
694 reg = <0>;
695 adv7612_in: endpoint {
696 remote-endpoint = <&hdmi_con_in>;
697 };
698 };
699
700 port@2 {
701 reg = <2>;
702 adv7612_out: endpoint {
703 remote-endpoint = <&vin0ep2>;
704 };
705 };
706 };
707 };
708
709 eeprom@50 {
710 compatible = "renesas,r1ex24002", "atmel,24c02";
711 reg = <0x50>;
712 pagesize = <16>;
713 };
714}; 770};
715 771
716&i2c6 { 772&i2c6 {
diff --git a/arch/arm/boot/dts/r8a7791-porter.dts b/arch/arm/boot/dts/r8a7791-porter.dts
index eb374956294f..c14e6fe9e4f6 100644
--- a/arch/arm/boot/dts/r8a7791-porter.dts
+++ b/arch/arm/boot/dts/r8a7791-porter.dts
@@ -29,6 +29,8 @@
29 29
30 aliases { 30 aliases {
31 serial0 = &scif0; 31 serial0 = &scif0;
32 i2c9 = &gpioi2c2;
33 i2c10 = &i2chdmi;
32 }; 34 };
33 35
34 chosen { 36 chosen {
@@ -135,6 +137,78 @@
135 clocks = <&x14_clk>; 137 clocks = <&x14_clk>;
136 }; 138 };
137 }; 139 };
140
141 gpioi2c2: i2c-9 {
142 #address-cells = <1>;
143 #size-cells = <0>;
144 compatible = "i2c-gpio";
145 status = "disabled";
146 scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
147 sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
148 i2c-gpio,delay-us = <5>;
149 };
150
151 /*
152 * A fallback to GPIO is provided for I2C2.
153 */
154 i2chdmi: i2c-10 {
155 compatible = "i2c-demux-pinctrl";
156 i2c-parent = <&i2c2>, <&gpioi2c2>;
157 i2c-bus-name = "i2c-hdmi";
158 #address-cells = <1>;
159 #size-cells = <0>;
160
161 ak4642: codec@12 {
162 compatible = "asahi-kasei,ak4642";
163 #sound-dai-cells = <0>;
164 reg = <0x12>;
165 };
166
167 composite-in@20 {
168 compatible = "adi,adv7180";
169 reg = <0x20>;
170 remote = <&vin0>;
171
172 port {
173 adv7180: endpoint {
174 bus-width = <8>;
175 remote-endpoint = <&vin0ep>;
176 };
177 };
178 };
179
180 hdmi@39 {
181 compatible = "adi,adv7511w";
182 reg = <0x39>;
183 interrupt-parent = <&gpio3>;
184 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
185
186 adi,input-depth = <8>;
187 adi,input-colorspace = "rgb";
188 adi,input-clock = "1x";
189 adi,input-style = <1>;
190 adi,input-justification = "evenly";
191
192 ports {
193 #address-cells = <1>;
194 #size-cells = <0>;
195
196 port@0 {
197 reg = <0>;
198 adv7511_in: endpoint {
199 remote-endpoint = <&du_out_rgb>;
200 };
201 };
202
203 port@1 {
204 reg = <1>;
205 adv7511_out: endpoint {
206 remote-endpoint = <&hdmi_con>;
207 };
208 };
209 };
210 };
211 };
138}; 212};
139 213
140&extal_clk { 214&extal_clk {
@@ -296,61 +370,9 @@
296 370
297&i2c2 { 371&i2c2 {
298 pinctrl-0 = <&i2c2_pins>; 372 pinctrl-0 = <&i2c2_pins>;
299 pinctrl-names = "default"; 373 pinctrl-names = "i2c-hdmi";
300 374
301 status = "okay";
302 clock-frequency = <400000>; 375 clock-frequency = <400000>;
303
304 ak4642: codec@12 {
305 compatible = "asahi-kasei,ak4642";
306 #sound-dai-cells = <0>;
307 reg = <0x12>;
308 };
309
310 composite-in@20 {
311 compatible = "adi,adv7180";
312 reg = <0x20>;
313 remote = <&vin0>;
314
315 port {
316 adv7180: endpoint {
317 bus-width = <8>;
318 remote-endpoint = <&vin0ep>;
319 };
320 };
321 };
322
323 hdmi@39 {
324 compatible = "adi,adv7511w";
325 reg = <0x39>;
326 interrupt-parent = <&gpio3>;
327 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
328
329 adi,input-depth = <8>;
330 adi,input-colorspace = "rgb";
331 adi,input-clock = "1x";
332 adi,input-style = <1>;
333 adi,input-justification = "evenly";
334
335 ports {
336 #address-cells = <1>;
337 #size-cells = <0>;
338
339 port@0 {
340 reg = <0>;
341 adv7511_in: endpoint {
342 remote-endpoint = <&du_out_rgb>;
343 };
344 };
345
346 port@1 {
347 reg = <1>;
348 adv7511_out: endpoint {
349 remote-endpoint = <&hdmi_con>;
350 };
351 };
352 };
353 };
354}; 376};
355 377
356&sata0 { 378&sata0 {
@@ -425,7 +447,7 @@
425 "dclkin.0", "dclkin.1"; 447 "dclkin.0", "dclkin.1";
426 448
427 ports { 449 ports {
428 port@1 { 450 port@0 {
429 endpoint { 451 endpoint {
430 remote-endpoint = <&adv7511_in>; 452 remote-endpoint = <&adv7511_in>;
431 }; 453 };
diff --git a/arch/arm/boot/dts/r8a7791.dtsi b/arch/arm/boot/dts/r8a7791.dtsi
index 008a260f86a5..f11dab71b03a 100644
--- a/arch/arm/boot/dts/r8a7791.dtsi
+++ b/arch/arm/boot/dts/r8a7791.dtsi
@@ -17,7 +17,6 @@
17 17
18/ { 18/ {
19 compatible = "renesas,r8a7791"; 19 compatible = "renesas,r8a7791";
20 interrupt-parent = <&gic>;
21 #address-cells = <2>; 20 #address-cells = <2>;
22 #size-cells = <2>; 21 #size-cells = <2>;
23 22
@@ -40,6 +39,35 @@
40 vin2 = &vin2; 39 vin2 = &vin2;
41 }; 40 };
42 41
42 /*
43 * The external audio clocks are configured as 0 Hz fixed frequency
44 * clocks by default.
45 * Boards that provide audio clocks should override them.
46 */
47 audio_clk_a: audio_clk_a {
48 compatible = "fixed-clock";
49 #clock-cells = <0>;
50 clock-frequency = <0>;
51 };
52 audio_clk_b: audio_clk_b {
53 compatible = "fixed-clock";
54 #clock-cells = <0>;
55 clock-frequency = <0>;
56 };
57 audio_clk_c: audio_clk_c {
58 compatible = "fixed-clock";
59 #clock-cells = <0>;
60 clock-frequency = <0>;
61 };
62
63 /* External CAN clock */
64 can_clk: can {
65 compatible = "fixed-clock";
66 #clock-cells = <0>;
67 /* This value must be overridden by the board. */
68 clock-frequency = <0>;
69 };
70
43 cpus { 71 cpus {
44 #address-cells = <1>; 72 #address-cells = <1>;
45 #size-cells = <0>; 73 #size-cells = <0>;
@@ -83,1585 +111,1627 @@
83 }; 111 };
84 }; 112 };
85 113
86 thermal-zones { 114 /* External root clock */
87 cpu_thermal: cpu-thermal { 115 extal_clk: extal {
88 polling-delay-passive = <0>; 116 compatible = "fixed-clock";
89 polling-delay = <0>; 117 #clock-cells = <0>;
90 118 /* This value must be overridden by the board. */
91 thermal-sensors = <&thermal>; 119 clock-frequency = <0>;
92
93 trips {
94 cpu-crit {
95 temperature = <95000>;
96 hysteresis = <0>;
97 type = "critical";
98 };
99 };
100 cooling-maps {
101 };
102 };
103 };
104
105 apmu@e6152000 {
106 compatible = "renesas,r8a7791-apmu", "renesas,apmu";
107 reg = <0 0xe6152000 0 0x188>;
108 cpus = <&cpu0 &cpu1>;
109 };
110
111 gic: interrupt-controller@f1001000 {
112 compatible = "arm,gic-400";
113 #interrupt-cells = <3>;
114 #address-cells = <0>;
115 interrupt-controller;
116 reg = <0 0xf1001000 0 0x1000>,
117 <0 0xf1002000 0 0x2000>,
118 <0 0xf1004000 0 0x2000>,
119 <0 0xf1006000 0 0x2000>;
120 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
121 clocks = <&cpg CPG_MOD 408>;
122 clock-names = "clk";
123 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
124 resets = <&cpg 408>;
125 };
126
127 gpio0: gpio@e6050000 {
128 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
129 reg = <0 0xe6050000 0 0x50>;
130 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
131 #gpio-cells = <2>;
132 gpio-controller;
133 gpio-ranges = <&pfc 0 0 32>;
134 #interrupt-cells = <2>;
135 interrupt-controller;
136 clocks = <&cpg CPG_MOD 912>;
137 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
138 resets = <&cpg 912>;
139 };
140
141 gpio1: gpio@e6051000 {
142 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
143 reg = <0 0xe6051000 0 0x50>;
144 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
145 #gpio-cells = <2>;
146 gpio-controller;
147 gpio-ranges = <&pfc 0 32 26>;
148 #interrupt-cells = <2>;
149 interrupt-controller;
150 clocks = <&cpg CPG_MOD 911>;
151 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
152 resets = <&cpg 911>;
153 };
154
155 gpio2: gpio@e6052000 {
156 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio";
157 reg = <0 0xe6052000 0 0x50>;
158 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
159 #gpio-cells = <2>;
160 gpio-controller;
161 gpio-ranges = <&pfc 0 64 32>;
162 #interrupt-cells = <2>;
163 interrupt-controller;
164 clocks = <&cpg CPG_MOD 910>;
165 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
166 resets = <&cpg 910>;
167 }; 120 };
168 121
169 gpio3: gpio@e6053000 { 122 /* External PCIe clock - can be overridden by the board */
170 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio"; 123 pcie_bus_clk: pcie_bus {
171 reg = <0 0xe6053000 0 0x50>; 124 compatible = "fixed-clock";
172 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 125 #clock-cells = <0>;
173 #gpio-cells = <2>; 126 clock-frequency = <0>;
174 gpio-controller;
175 gpio-ranges = <&pfc 0 96 32>;
176 #interrupt-cells = <2>;
177 interrupt-controller;
178 clocks = <&cpg CPG_MOD 909>;
179 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
180 resets = <&cpg 909>;
181 }; 127 };
182 128
183 gpio4: gpio@e6054000 { 129 /* External SCIF clock */
184 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio"; 130 scif_clk: scif {
185 reg = <0 0xe6054000 0 0x50>; 131 compatible = "fixed-clock";
186 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 132 #clock-cells = <0>;
187 #gpio-cells = <2>; 133 /* This value must be overridden by the board. */
188 gpio-controller; 134 clock-frequency = <0>;
189 gpio-ranges = <&pfc 0 128 32>;
190 #interrupt-cells = <2>;
191 interrupt-controller;
192 clocks = <&cpg CPG_MOD 908>;
193 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
194 resets = <&cpg 908>;
195 }; 135 };
196 136
197 gpio5: gpio@e6055000 { 137 soc {
198 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio"; 138 compatible = "simple-bus";
199 reg = <0 0xe6055000 0 0x50>; 139 interrupt-parent = <&gic>;
200 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
201 #gpio-cells = <2>;
202 gpio-controller;
203 gpio-ranges = <&pfc 0 160 32>;
204 #interrupt-cells = <2>;
205 interrupt-controller;
206 clocks = <&cpg CPG_MOD 907>;
207 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
208 resets = <&cpg 907>;
209 };
210 140
211 gpio6: gpio@e6055400 { 141 #address-cells = <2>;
212 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio"; 142 #size-cells = <2>;
213 reg = <0 0xe6055400 0 0x50>; 143 ranges;
214 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 144
215 #gpio-cells = <2>; 145 gpio0: gpio@e6050000 {
216 gpio-controller; 146 compatible = "renesas,gpio-r8a7791",
217 gpio-ranges = <&pfc 0 192 32>; 147 "renesas,rcar-gen2-gpio";
218 #interrupt-cells = <2>; 148 reg = <0 0xe6050000 0 0x50>;
219 interrupt-controller; 149 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
220 clocks = <&cpg CPG_MOD 905>; 150 #gpio-cells = <2>;
221 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 151 gpio-controller;
222 resets = <&cpg 905>; 152 gpio-ranges = <&pfc 0 0 32>;
223 }; 153 #interrupt-cells = <2>;
154 interrupt-controller;
155 clocks = <&cpg CPG_MOD 912>;
156 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
157 resets = <&cpg 912>;
158 };
224 159
225 gpio7: gpio@e6055800 { 160 gpio1: gpio@e6051000 {
226 compatible = "renesas,gpio-r8a7791", "renesas,rcar-gen2-gpio"; 161 compatible = "renesas,gpio-r8a7791",
227 reg = <0 0xe6055800 0 0x50>; 162 "renesas,rcar-gen2-gpio";
228 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 163 reg = <0 0xe6051000 0 0x50>;
229 #gpio-cells = <2>; 164 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
230 gpio-controller; 165 #gpio-cells = <2>;
231 gpio-ranges = <&pfc 0 224 26>; 166 gpio-controller;
232 #interrupt-cells = <2>; 167 gpio-ranges = <&pfc 0 32 26>;
233 interrupt-controller; 168 #interrupt-cells = <2>;
234 clocks = <&cpg CPG_MOD 904>; 169 interrupt-controller;
235 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 170 clocks = <&cpg CPG_MOD 911>;
236 resets = <&cpg 904>; 171 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
237 }; 172 resets = <&cpg 911>;
173 };
238 174
239 thermal: thermal@e61f0000 { 175 gpio2: gpio@e6052000 {
240 compatible = "renesas,thermal-r8a7791", 176 compatible = "renesas,gpio-r8a7791",
241 "renesas,rcar-gen2-thermal", 177 "renesas,rcar-gen2-gpio";
242 "renesas,rcar-thermal"; 178 reg = <0 0xe6052000 0 0x50>;
243 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>; 179 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
244 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 180 #gpio-cells = <2>;
245 clocks = <&cpg CPG_MOD 522>; 181 gpio-controller;
246 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 182 gpio-ranges = <&pfc 0 64 32>;
247 resets = <&cpg 522>; 183 #interrupt-cells = <2>;
248 #thermal-sensor-cells = <0>; 184 interrupt-controller;
249 }; 185 clocks = <&cpg CPG_MOD 910>;
186 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
187 resets = <&cpg 910>;
188 };
250 189
251 timer { 190 gpio3: gpio@e6053000 {
252 compatible = "arm,armv7-timer"; 191 compatible = "renesas,gpio-r8a7791",
253 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 192 "renesas,rcar-gen2-gpio";
254 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 193 reg = <0 0xe6053000 0 0x50>;
255 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 194 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
256 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; 195 #gpio-cells = <2>;
257 }; 196 gpio-controller;
197 gpio-ranges = <&pfc 0 96 32>;
198 #interrupt-cells = <2>;
199 interrupt-controller;
200 clocks = <&cpg CPG_MOD 909>;
201 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
202 resets = <&cpg 909>;
203 };
258 204
259 cmt0: timer@ffca0000 { 205 gpio4: gpio@e6054000 {
260 compatible = "renesas,r8a7791-cmt0", "renesas,rcar-gen2-cmt0"; 206 compatible = "renesas,gpio-r8a7791",
261 reg = <0 0xffca0000 0 0x1004>; 207 "renesas,rcar-gen2-gpio";
262 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 208 reg = <0 0xe6054000 0 0x50>;
263 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 209 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
264 clocks = <&cpg CPG_MOD 124>; 210 #gpio-cells = <2>;
265 clock-names = "fck"; 211 gpio-controller;
266 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 212 gpio-ranges = <&pfc 0 128 32>;
267 resets = <&cpg 124>; 213 #interrupt-cells = <2>;
268 214 interrupt-controller;
269 status = "disabled"; 215 clocks = <&cpg CPG_MOD 908>;
270 }; 216 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
217 resets = <&cpg 908>;
218 };
271 219
272 cmt1: timer@e6130000 { 220 gpio5: gpio@e6055000 {
273 compatible = "renesas,r8a7791-cmt1", "renesas,rcar-gen2-cmt1"; 221 compatible = "renesas,gpio-r8a7791",
274 reg = <0 0xe6130000 0 0x1004>; 222 "renesas,rcar-gen2-gpio";
275 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 223 reg = <0 0xe6055000 0 0x50>;
276 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 224 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
277 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 225 #gpio-cells = <2>;
278 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 226 gpio-controller;
279 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 227 gpio-ranges = <&pfc 0 160 32>;
280 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 228 #interrupt-cells = <2>;
281 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 229 interrupt-controller;
282 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 230 clocks = <&cpg CPG_MOD 907>;
283 clocks = <&cpg CPG_MOD 329>; 231 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
284 clock-names = "fck"; 232 resets = <&cpg 907>;
285 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 233 };
286 resets = <&cpg 329>;
287
288 status = "disabled";
289 };
290 234
291 irqc0: interrupt-controller@e61c0000 { 235 gpio6: gpio@e6055400 {
292 compatible = "renesas,irqc-r8a7791", "renesas,irqc"; 236 compatible = "renesas,gpio-r8a7791",
293 #interrupt-cells = <2>; 237 "renesas,rcar-gen2-gpio";
294 interrupt-controller; 238 reg = <0 0xe6055400 0 0x50>;
295 reg = <0 0xe61c0000 0 0x200>; 239 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
296 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 240 #gpio-cells = <2>;
297 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 241 gpio-controller;
298 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 242 gpio-ranges = <&pfc 0 192 32>;
299 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 243 #interrupt-cells = <2>;
300 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 244 interrupt-controller;
301 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 245 clocks = <&cpg CPG_MOD 905>;
302 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 246 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
303 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 247 resets = <&cpg 905>;
304 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 248 };
305 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
306 clocks = <&cpg CPG_MOD 407>;
307 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
308 resets = <&cpg 407>;
309 };
310 249
311 dmac0: dma-controller@e6700000 { 250 gpio7: gpio@e6055800 {
312 compatible = "renesas,dmac-r8a7791", "renesas,rcar-dmac"; 251 compatible = "renesas,gpio-r8a7791",
313 reg = <0 0xe6700000 0 0x20000>; 252 "renesas,rcar-gen2-gpio";
314 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 253 reg = <0 0xe6055800 0 0x50>;
315 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH 254 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
316 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH 255 #gpio-cells = <2>;
317 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 256 gpio-controller;
318 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 257 gpio-ranges = <&pfc 0 224 26>;
319 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 258 #interrupt-cells = <2>;
320 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 259 interrupt-controller;
321 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH 260 clocks = <&cpg CPG_MOD 904>;
322 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH 261 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
323 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH 262 resets = <&cpg 904>;
324 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH 263 };
325 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
326 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
327 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
328 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
329 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
330 interrupt-names = "error",
331 "ch0", "ch1", "ch2", "ch3",
332 "ch4", "ch5", "ch6", "ch7",
333 "ch8", "ch9", "ch10", "ch11",
334 "ch12", "ch13", "ch14";
335 clocks = <&cpg CPG_MOD 219>;
336 clock-names = "fck";
337 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
338 resets = <&cpg 219>;
339 #dma-cells = <1>;
340 dma-channels = <15>;
341 };
342 264
343 dmac1: dma-controller@e6720000 { 265 pfc: pin-controller@e6060000 {
344 compatible = "renesas,dmac-r8a7791", "renesas,rcar-dmac"; 266 compatible = "renesas,pfc-r8a7791";
345 reg = <0 0xe6720000 0 0x20000>; 267 reg = <0 0xe6060000 0 0x250>;
346 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 268 };
347 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
348 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
349 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
350 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
351 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
352 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
353 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
354 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
355 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
356 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
357 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
358 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
359 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
360 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
361 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
362 interrupt-names = "error",
363 "ch0", "ch1", "ch2", "ch3",
364 "ch4", "ch5", "ch6", "ch7",
365 "ch8", "ch9", "ch10", "ch11",
366 "ch12", "ch13", "ch14";
367 clocks = <&cpg CPG_MOD 218>;
368 clock-names = "fck";
369 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
370 resets = <&cpg 218>;
371 #dma-cells = <1>;
372 dma-channels = <15>;
373 };
374 269
375 audma0: dma-controller@ec700000 { 270 cpg: clock-controller@e6150000 {
376 compatible = "renesas,dmac-r8a7791", "renesas,rcar-dmac"; 271 compatible = "renesas,r8a7791-cpg-mssr";
377 reg = <0 0xec700000 0 0x10000>; 272 reg = <0 0xe6150000 0 0x1000>;
378 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH 273 clocks = <&extal_clk>, <&usb_extal_clk>;
379 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 274 clock-names = "extal", "usb_extal";
380 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 275 #clock-cells = <2>;
381 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 276 #power-domain-cells = <0>;
382 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 277 #reset-cells = <1>;
383 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 278 };
384 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
385 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
386 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
387 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
388 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
389 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
390 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
391 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
392 interrupt-names = "error",
393 "ch0", "ch1", "ch2", "ch3",
394 "ch4", "ch5", "ch6", "ch7",
395 "ch8", "ch9", "ch10", "ch11",
396 "ch12";
397 clocks = <&cpg CPG_MOD 502>;
398 clock-names = "fck";
399 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
400 resets = <&cpg 502>;
401 #dma-cells = <1>;
402 dma-channels = <13>;
403 };
404 279
405 audma1: dma-controller@ec720000 { 280 apmu@e6152000 {
406 compatible = "renesas,dmac-r8a7791", "renesas,rcar-dmac"; 281 compatible = "renesas,r8a7791-apmu", "renesas,apmu";
407 reg = <0 0xec720000 0 0x10000>; 282 reg = <0 0xe6152000 0 0x188>;
408 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 283 cpus = <&cpu0 &cpu1>;
409 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 284 };
410 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
411 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH
412 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
413 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
414 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
415 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
416 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
417 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
418 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
419 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
420 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
421 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
422 interrupt-names = "error",
423 "ch0", "ch1", "ch2", "ch3",
424 "ch4", "ch5", "ch6", "ch7",
425 "ch8", "ch9", "ch10", "ch11",
426 "ch12";
427 clocks = <&cpg CPG_MOD 501>;
428 clock-names = "fck";
429 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
430 resets = <&cpg 501>;
431 #dma-cells = <1>;
432 dma-channels = <13>;
433 };
434 285
435 usb_dmac0: dma-controller@e65a0000 { 286 rst: reset-controller@e6160000 {
436 compatible = "renesas,r8a7791-usb-dmac", "renesas,usb-dmac"; 287 compatible = "renesas,r8a7791-rst";
437 reg = <0 0xe65a0000 0 0x100>; 288 reg = <0 0xe6160000 0 0x0100>;
438 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH 289 };
439 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
440 interrupt-names = "ch0", "ch1";
441 clocks = <&cpg CPG_MOD 330>;
442 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
443 resets = <&cpg 330>;
444 #dma-cells = <1>;
445 dma-channels = <2>;
446 };
447 290
448 usb_dmac1: dma-controller@e65b0000 { 291 sysc: system-controller@e6180000 {
449 compatible = "renesas,r8a7791-usb-dmac", "renesas,usb-dmac"; 292 compatible = "renesas,r8a7791-sysc";
450 reg = <0 0xe65b0000 0 0x100>; 293 reg = <0 0xe6180000 0 0x0200>;
451 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 294 #power-domain-cells = <1>;
452 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 295 };
453 interrupt-names = "ch0", "ch1";
454 clocks = <&cpg CPG_MOD 331>;
455 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
456 resets = <&cpg 331>;
457 #dma-cells = <1>;
458 dma-channels = <2>;
459 };
460 296
461 /* The memory map in the User's Manual maps the cores to bus numbers */ 297 irqc0: interrupt-controller@e61c0000 {
462 i2c0: i2c@e6508000 { 298 compatible = "renesas,irqc-r8a7791", "renesas,irqc";
463 #address-cells = <1>; 299 #interrupt-cells = <2>;
464 #size-cells = <0>; 300 interrupt-controller;
465 compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; 301 reg = <0 0xe61c0000 0 0x200>;
466 reg = <0 0xe6508000 0 0x40>; 302 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
467 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 303 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
468 clocks = <&cpg CPG_MOD 931>; 304 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
469 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 305 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
470 resets = <&cpg 931>; 306 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
471 i2c-scl-internal-delay-ns = <6>; 307 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
472 status = "disabled"; 308 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
473 }; 309 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
310 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
311 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
312 clocks = <&cpg CPG_MOD 407>;
313 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
314 resets = <&cpg 407>;
315 };
474 316
475 i2c1: i2c@e6518000 { 317 thermal: thermal@e61f0000 {
476 #address-cells = <1>; 318 compatible = "renesas,thermal-r8a7791",
477 #size-cells = <0>; 319 "renesas,rcar-gen2-thermal",
478 compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; 320 "renesas,rcar-thermal";
479 reg = <0 0xe6518000 0 0x40>; 321 reg = <0 0xe61f0000 0 0x10>, <0 0xe61f0100 0 0x38>;
480 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 322 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
481 clocks = <&cpg CPG_MOD 930>; 323 clocks = <&cpg CPG_MOD 522>;
482 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 324 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
483 resets = <&cpg 930>; 325 resets = <&cpg 522>;
484 i2c-scl-internal-delay-ns = <6>; 326 #thermal-sensor-cells = <0>;
485 status = "disabled"; 327 };
486 };
487 328
488 i2c2: i2c@e6530000 { 329 ipmmu_sy0: mmu@e6280000 {
489 #address-cells = <1>; 330 compatible = "renesas,ipmmu-r8a7791",
490 #size-cells = <0>; 331 "renesas,ipmmu-vmsa";
491 compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; 332 reg = <0 0xe6280000 0 0x1000>;
492 reg = <0 0xe6530000 0 0x40>; 333 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
493 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 334 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
494 clocks = <&cpg CPG_MOD 929>; 335 #iommu-cells = <1>;
495 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 336 status = "disabled";
496 resets = <&cpg 929>; 337 };
497 i2c-scl-internal-delay-ns = <6>;
498 status = "disabled";
499 };
500 338
501 i2c3: i2c@e6540000 { 339 ipmmu_sy1: mmu@e6290000 {
502 #address-cells = <1>; 340 compatible = "renesas,ipmmu-r8a7791",
503 #size-cells = <0>; 341 "renesas,ipmmu-vmsa";
504 compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; 342 reg = <0 0xe6290000 0 0x1000>;
505 reg = <0 0xe6540000 0 0x40>; 343 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
506 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 344 #iommu-cells = <1>;
507 clocks = <&cpg CPG_MOD 928>; 345 status = "disabled";
508 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 346 };
509 resets = <&cpg 928>;
510 i2c-scl-internal-delay-ns = <6>;
511 status = "disabled";
512 };
513 347
514 i2c4: i2c@e6520000 { 348 ipmmu_ds: mmu@e6740000 {
515 #address-cells = <1>; 349 compatible = "renesas,ipmmu-r8a7791",
516 #size-cells = <0>; 350 "renesas,ipmmu-vmsa";
517 compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; 351 reg = <0 0xe6740000 0 0x1000>;
518 reg = <0 0xe6520000 0 0x40>; 352 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
519 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 353 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
520 clocks = <&cpg CPG_MOD 927>; 354 #iommu-cells = <1>;
521 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 355 status = "disabled";
522 resets = <&cpg 927>; 356 };
523 i2c-scl-internal-delay-ns = <6>;
524 status = "disabled";
525 };
526 357
527 i2c5: i2c@e6528000 { 358 ipmmu_mp: mmu@ec680000 {
528 /* doesn't need pinmux */ 359 compatible = "renesas,ipmmu-r8a7791",
529 #address-cells = <1>; 360 "renesas,ipmmu-vmsa";
530 #size-cells = <0>; 361 reg = <0 0xec680000 0 0x1000>;
531 compatible = "renesas,i2c-r8a7791", "renesas,rcar-gen2-i2c"; 362 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
532 reg = <0 0xe6528000 0 0x40>; 363 #iommu-cells = <1>;
533 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 364 status = "disabled";
534 clocks = <&cpg CPG_MOD 925>; 365 };
535 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
536 resets = <&cpg 925>;
537 i2c-scl-internal-delay-ns = <110>;
538 status = "disabled";
539 };
540 366
541 i2c6: i2c@e60b0000 { 367 ipmmu_mx: mmu@fe951000 {
542 /* doesn't need pinmux */ 368 compatible = "renesas,ipmmu-r8a7791",
543 #address-cells = <1>; 369 "renesas,ipmmu-vmsa";
544 #size-cells = <0>; 370 reg = <0 0xfe951000 0 0x1000>;
545 compatible = "renesas,iic-r8a7791", "renesas,rcar-gen2-iic", 371 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
546 "renesas,rmobile-iic"; 372 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
547 reg = <0 0xe60b0000 0 0x425>; 373 #iommu-cells = <1>;
548 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; 374 status = "disabled";
549 clocks = <&cpg CPG_MOD 926>; 375 };
550 dmas = <&dmac0 0x77>, <&dmac0 0x78>,
551 <&dmac1 0x77>, <&dmac1 0x78>;
552 dma-names = "tx", "rx", "tx", "rx";
553 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
554 resets = <&cpg 926>;
555 status = "disabled";
556 };
557 376
558 i2c7: i2c@e6500000 { 377 ipmmu_rt: mmu@ffc80000 {
559 #address-cells = <1>; 378 compatible = "renesas,ipmmu-r8a7791",
560 #size-cells = <0>; 379 "renesas,ipmmu-vmsa";
561 compatible = "renesas,iic-r8a7791", "renesas,rcar-gen2-iic", 380 reg = <0 0xffc80000 0 0x1000>;
562 "renesas,rmobile-iic"; 381 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
563 reg = <0 0xe6500000 0 0x425>; 382 #iommu-cells = <1>;
564 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 383 status = "disabled";
565 clocks = <&cpg CPG_MOD 318>; 384 };
566 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
567 <&dmac1 0x61>, <&dmac1 0x62>;
568 dma-names = "tx", "rx", "tx", "rx";
569 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
570 resets = <&cpg 318>;
571 status = "disabled";
572 };
573 385
574 i2c8: i2c@e6510000 { 386 ipmmu_gp: mmu@e62a0000 {
575 #address-cells = <1>; 387 compatible = "renesas,ipmmu-r8a7791",
576 #size-cells = <0>; 388 "renesas,ipmmu-vmsa";
577 compatible = "renesas,iic-r8a7791", "renesas,rcar-gen2-iic", 389 reg = <0 0xe62a0000 0 0x1000>;
578 "renesas,rmobile-iic"; 390 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
579 reg = <0 0xe6510000 0 0x425>; 391 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
580 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; 392 #iommu-cells = <1>;
581 clocks = <&cpg CPG_MOD 323>; 393 status = "disabled";
582 dmas = <&dmac0 0x65>, <&dmac0 0x66>, 394 };
583 <&dmac1 0x65>, <&dmac1 0x66>;
584 dma-names = "tx", "rx", "tx", "rx";
585 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
586 resets = <&cpg 323>;
587 status = "disabled";
588 };
589 395
590 pfc: pin-controller@e6060000 { 396 icram0: sram@e63a0000 {
591 compatible = "renesas,pfc-r8a7791"; 397 compatible = "mmio-sram";
592 reg = <0 0xe6060000 0 0x250>; 398 reg = <0 0xe63a0000 0 0x12000>;
593 }; 399 };
594 400
595 mmcif0: mmc@ee200000 { 401 icram1: sram@e63c0000 {
596 compatible = "renesas,mmcif-r8a7791", "renesas,sh-mmcif"; 402 compatible = "mmio-sram";
597 reg = <0 0xee200000 0 0x80>; 403 reg = <0 0xe63c0000 0 0x1000>;
598 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 404 #address-cells = <1>;
599 clocks = <&cpg CPG_MOD 315>; 405 #size-cells = <1>;
600 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>, 406 ranges = <0 0 0xe63c0000 0x1000>;
601 <&dmac1 0xd1>, <&dmac1 0xd2>;
602 dma-names = "tx", "rx", "tx", "rx";
603 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
604 resets = <&cpg 315>;
605 reg-io-width = <4>;
606 status = "disabled";
607 max-frequency = <97500000>;
608 };
609 407
610 sdhi0: sd@ee100000 { 408 smp-sram@0 {
611 compatible = "renesas,sdhi-r8a7791", 409 compatible = "renesas,smp-sram";
612 "renesas,rcar-gen2-sdhi"; 410 reg = <0 0x10>;
613 reg = <0 0xee100000 0 0x328>; 411 };
614 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 412 };
615 clocks = <&cpg CPG_MOD 314>;
616 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
617 <&dmac1 0xcd>, <&dmac1 0xce>;
618 dma-names = "tx", "rx", "tx", "rx";
619 max-frequency = <195000000>;
620 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
621 resets = <&cpg 314>;
622 status = "disabled";
623 };
624 413
625 sdhi1: sd@ee140000 { 414 /* The memory map in the User's Manual maps the cores to
626 compatible = "renesas,sdhi-r8a7791", 415 * bus numbers
627 "renesas,rcar-gen2-sdhi"; 416 */
628 reg = <0 0xee140000 0 0x100>; 417 i2c0: i2c@e6508000 {
629 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 418 #address-cells = <1>;
630 clocks = <&cpg CPG_MOD 312>; 419 #size-cells = <0>;
631 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>, 420 compatible = "renesas,i2c-r8a7791",
632 <&dmac1 0xc1>, <&dmac1 0xc2>; 421 "renesas,rcar-gen2-i2c";
633 dma-names = "tx", "rx", "tx", "rx"; 422 reg = <0 0xe6508000 0 0x40>;
634 max-frequency = <97500000>; 423 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
635 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 424 clocks = <&cpg CPG_MOD 931>;
636 resets = <&cpg 312>; 425 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
637 status = "disabled"; 426 resets = <&cpg 931>;
638 }; 427 i2c-scl-internal-delay-ns = <6>;
428 status = "disabled";
429 };
639 430
640 sdhi2: sd@ee160000 { 431 i2c1: i2c@e6518000 {
641 compatible = "renesas,sdhi-r8a7791", 432 #address-cells = <1>;
642 "renesas,rcar-gen2-sdhi"; 433 #size-cells = <0>;
643 reg = <0 0xee160000 0 0x100>; 434 compatible = "renesas,i2c-r8a7791",
644 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 435 "renesas,rcar-gen2-i2c";
645 clocks = <&cpg CPG_MOD 311>; 436 reg = <0 0xe6518000 0 0x40>;
646 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>, 437 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
647 <&dmac1 0xd3>, <&dmac1 0xd4>; 438 clocks = <&cpg CPG_MOD 930>;
648 dma-names = "tx", "rx", "tx", "rx"; 439 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
649 max-frequency = <97500000>; 440 resets = <&cpg 930>;
650 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 441 i2c-scl-internal-delay-ns = <6>;
651 resets = <&cpg 311>; 442 status = "disabled";
652 status = "disabled"; 443 };
653 };
654 444
655 scifa0: serial@e6c40000 { 445 i2c2: i2c@e6530000 {
656 compatible = "renesas,scifa-r8a7791", 446 #address-cells = <1>;
657 "renesas,rcar-gen2-scifa", "renesas,scifa"; 447 #size-cells = <0>;
658 reg = <0 0xe6c40000 0 64>; 448 compatible = "renesas,i2c-r8a7791",
659 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 449 "renesas,rcar-gen2-i2c";
660 clocks = <&cpg CPG_MOD 204>; 450 reg = <0 0xe6530000 0 0x40>;
661 clock-names = "fck"; 451 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
662 dmas = <&dmac0 0x21>, <&dmac0 0x22>, 452 clocks = <&cpg CPG_MOD 929>;
663 <&dmac1 0x21>, <&dmac1 0x22>; 453 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
664 dma-names = "tx", "rx", "tx", "rx"; 454 resets = <&cpg 929>;
665 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 455 i2c-scl-internal-delay-ns = <6>;
666 resets = <&cpg 204>; 456 status = "disabled";
667 status = "disabled"; 457 };
668 };
669 458
670 scifa1: serial@e6c50000 { 459 i2c3: i2c@e6540000 {
671 compatible = "renesas,scifa-r8a7791", 460 #address-cells = <1>;
672 "renesas,rcar-gen2-scifa", "renesas,scifa"; 461 #size-cells = <0>;
673 reg = <0 0xe6c50000 0 64>; 462 compatible = "renesas,i2c-r8a7791",
674 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 463 "renesas,rcar-gen2-i2c";
675 clocks = <&cpg CPG_MOD 203>; 464 reg = <0 0xe6540000 0 0x40>;
676 clock-names = "fck"; 465 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
677 dmas = <&dmac0 0x25>, <&dmac0 0x26>, 466 clocks = <&cpg CPG_MOD 928>;
678 <&dmac1 0x25>, <&dmac1 0x26>; 467 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
679 dma-names = "tx", "rx", "tx", "rx"; 468 resets = <&cpg 928>;
680 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 469 i2c-scl-internal-delay-ns = <6>;
681 resets = <&cpg 203>; 470 status = "disabled";
682 status = "disabled"; 471 };
683 };
684 472
685 scifa2: serial@e6c60000 { 473 i2c4: i2c@e6520000 {
686 compatible = "renesas,scifa-r8a7791", 474 #address-cells = <1>;
687 "renesas,rcar-gen2-scifa", "renesas,scifa"; 475 #size-cells = <0>;
688 reg = <0 0xe6c60000 0 64>; 476 compatible = "renesas,i2c-r8a7791",
689 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 477 "renesas,rcar-gen2-i2c";
690 clocks = <&cpg CPG_MOD 202>; 478 reg = <0 0xe6520000 0 0x40>;
691 clock-names = "fck"; 479 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
692 dmas = <&dmac0 0x27>, <&dmac0 0x28>, 480 clocks = <&cpg CPG_MOD 927>;
693 <&dmac1 0x27>, <&dmac1 0x28>; 481 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
694 dma-names = "tx", "rx", "tx", "rx"; 482 resets = <&cpg 927>;
695 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 483 i2c-scl-internal-delay-ns = <6>;
696 resets = <&cpg 202>; 484 status = "disabled";
697 status = "disabled"; 485 };
698 };
699 486
700 scifa3: serial@e6c70000 { 487 i2c5: i2c@e6528000 {
701 compatible = "renesas,scifa-r8a7791", 488 /* doesn't need pinmux */
702 "renesas,rcar-gen2-scifa", "renesas,scifa"; 489 #address-cells = <1>;
703 reg = <0 0xe6c70000 0 64>; 490 #size-cells = <0>;
704 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 491 compatible = "renesas,i2c-r8a7791",
705 clocks = <&cpg CPG_MOD 1106>; 492 "renesas,rcar-gen2-i2c";
706 clock-names = "fck"; 493 reg = <0 0xe6528000 0 0x40>;
707 dmas = <&dmac0 0x1b>, <&dmac0 0x1c>, 494 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
708 <&dmac1 0x1b>, <&dmac1 0x1c>; 495 clocks = <&cpg CPG_MOD 925>;
709 dma-names = "tx", "rx", "tx", "rx"; 496 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
710 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 497 resets = <&cpg 925>;
711 resets = <&cpg 1106>; 498 i2c-scl-internal-delay-ns = <110>;
712 status = "disabled"; 499 status = "disabled";
713 }; 500 };
714 501
715 scifa4: serial@e6c78000 { 502 i2c6: i2c@e60b0000 {
716 compatible = "renesas,scifa-r8a7791", 503 /* doesn't need pinmux */
717 "renesas,rcar-gen2-scifa", "renesas,scifa"; 504 #address-cells = <1>;
718 reg = <0 0xe6c78000 0 64>; 505 #size-cells = <0>;
719 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 506 compatible = "renesas,iic-r8a7791",
720 clocks = <&cpg CPG_MOD 1107>; 507 "renesas,rcar-gen2-iic",
721 clock-names = "fck"; 508 "renesas,rmobile-iic";
722 dmas = <&dmac0 0x1f>, <&dmac0 0x20>, 509 reg = <0 0xe60b0000 0 0x425>;
723 <&dmac1 0x1f>, <&dmac1 0x20>; 510 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
724 dma-names = "tx", "rx", "tx", "rx"; 511 clocks = <&cpg CPG_MOD 926>;
725 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 512 dmas = <&dmac0 0x77>, <&dmac0 0x78>,
726 resets = <&cpg 1107>; 513 <&dmac1 0x77>, <&dmac1 0x78>;
727 status = "disabled"; 514 dma-names = "tx", "rx", "tx", "rx";
728 }; 515 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
516 resets = <&cpg 926>;
517 status = "disabled";
518 };
729 519
730 scifa5: serial@e6c80000 { 520 i2c7: i2c@e6500000 {
731 compatible = "renesas,scifa-r8a7791", 521 #address-cells = <1>;
732 "renesas,rcar-gen2-scifa", "renesas,scifa"; 522 #size-cells = <0>;
733 reg = <0 0xe6c80000 0 64>; 523 compatible = "renesas,iic-r8a7791",
734 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 524 "renesas,rcar-gen2-iic",
735 clocks = <&cpg CPG_MOD 1108>; 525 "renesas,rmobile-iic";
736 clock-names = "fck"; 526 reg = <0 0xe6500000 0 0x425>;
737 dmas = <&dmac0 0x23>, <&dmac0 0x24>, 527 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
738 <&dmac1 0x23>, <&dmac1 0x24>; 528 clocks = <&cpg CPG_MOD 318>;
739 dma-names = "tx", "rx", "tx", "rx"; 529 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
740 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 530 <&dmac1 0x61>, <&dmac1 0x62>;
741 resets = <&cpg 1108>; 531 dma-names = "tx", "rx", "tx", "rx";
742 status = "disabled"; 532 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
743 }; 533 resets = <&cpg 318>;
534 status = "disabled";
535 };
744 536
745 scifb0: serial@e6c20000 { 537 i2c8: i2c@e6510000 {
746 compatible = "renesas,scifb-r8a7791", 538 #address-cells = <1>;
747 "renesas,rcar-gen2-scifb", "renesas,scifb"; 539 #size-cells = <0>;
748 reg = <0 0xe6c20000 0 0x100>; 540 compatible = "renesas,iic-r8a7791",
749 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 541 "renesas,rcar-gen2-iic",
750 clocks = <&cpg CPG_MOD 206>; 542 "renesas,rmobile-iic";
751 clock-names = "fck"; 543 reg = <0 0xe6510000 0 0x425>;
752 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>, 544 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
753 <&dmac1 0x3d>, <&dmac1 0x3e>; 545 clocks = <&cpg CPG_MOD 323>;
754 dma-names = "tx", "rx", "tx", "rx"; 546 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
755 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 547 <&dmac1 0x65>, <&dmac1 0x66>;
756 resets = <&cpg 206>; 548 dma-names = "tx", "rx", "tx", "rx";
757 status = "disabled"; 549 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
758 }; 550 resets = <&cpg 323>;
551 status = "disabled";
552 };
759 553
760 scifb1: serial@e6c30000 { 554 hsusb: usb@e6590000 {
761 compatible = "renesas,scifb-r8a7791", 555 compatible = "renesas,usbhs-r8a7791",
762 "renesas,rcar-gen2-scifb", "renesas,scifb"; 556 "renesas,rcar-gen2-usbhs";
763 reg = <0 0xe6c30000 0 0x100>; 557 reg = <0 0xe6590000 0 0x100>;
764 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 558 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
765 clocks = <&cpg CPG_MOD 207>; 559 clocks = <&cpg CPG_MOD 704>;
766 clock-names = "fck"; 560 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>,
767 dmas = <&dmac0 0x19>, <&dmac0 0x1a>, 561 <&usb_dmac1 0>, <&usb_dmac1 1>;
768 <&dmac1 0x19>, <&dmac1 0x1a>; 562 dma-names = "ch0", "ch1", "ch2", "ch3";
769 dma-names = "tx", "rx", "tx", "rx"; 563 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
770 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 564 resets = <&cpg 704>;
771 resets = <&cpg 207>; 565 renesas,buswait = <4>;
772 status = "disabled"; 566 phys = <&usb0 1>;
773 }; 567 phy-names = "usb";
568 status = "disabled";
569 };
774 570
775 scifb2: serial@e6ce0000 { 571 usbphy: usb-phy@e6590100 {
776 compatible = "renesas,scifb-r8a7791", 572 compatible = "renesas,usb-phy-r8a7791",
777 "renesas,rcar-gen2-scifb", "renesas,scifb"; 573 "renesas,rcar-gen2-usb-phy";
778 reg = <0 0xe6ce0000 0 0x100>; 574 reg = <0 0xe6590100 0 0x100>;
779 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 575 #address-cells = <1>;
780 clocks = <&cpg CPG_MOD 216>; 576 #size-cells = <0>;
781 clock-names = "fck"; 577 clocks = <&cpg CPG_MOD 704>;
782 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>, 578 clock-names = "usbhs";
783 <&dmac1 0x1d>, <&dmac1 0x1e>; 579 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
784 dma-names = "tx", "rx", "tx", "rx"; 580 resets = <&cpg 704>;
785 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 581 status = "disabled";
786 resets = <&cpg 216>;
787 status = "disabled";
788 };
789 582
790 scif0: serial@e6e60000 { 583 usb0: usb-channel@0 {
791 compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif", 584 reg = <0>;
792 "renesas,scif"; 585 #phy-cells = <1>;
793 reg = <0 0xe6e60000 0 64>; 586 };
794 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 587 usb2: usb-channel@2 {
795 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 588 reg = <2>;
796 <&scif_clk>; 589 #phy-cells = <1>;
797 clock-names = "fck", "brg_int", "scif_clk"; 590 };
798 dmas = <&dmac0 0x29>, <&dmac0 0x2a>, 591 };
799 <&dmac1 0x29>, <&dmac1 0x2a>;
800 dma-names = "tx", "rx", "tx", "rx";
801 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
802 resets = <&cpg 721>;
803 status = "disabled";
804 };
805 592
806 scif1: serial@e6e68000 { 593 usb_dmac0: dma-controller@e65a0000 {
807 compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif", 594 compatible = "renesas,r8a7791-usb-dmac",
808 "renesas,scif"; 595 "renesas,usb-dmac";
809 reg = <0 0xe6e68000 0 64>; 596 reg = <0 0xe65a0000 0 0x100>;
810 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 597 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH
811 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 598 GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
812 <&scif_clk>; 599 interrupt-names = "ch0", "ch1";
813 clock-names = "fck", "brg_int", "scif_clk"; 600 clocks = <&cpg CPG_MOD 330>;
814 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>, 601 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
815 <&dmac1 0x2d>, <&dmac1 0x2e>; 602 resets = <&cpg 330>;
816 dma-names = "tx", "rx", "tx", "rx"; 603 #dma-cells = <1>;
817 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 604 dma-channels = <2>;
818 resets = <&cpg 720>; 605 };
819 status = "disabled";
820 };
821 606
822 adc: adc@e6e54000 { 607 usb_dmac1: dma-controller@e65b0000 {
823 compatible = "renesas,r8a7791-gyroadc", "renesas,rcar-gyroadc"; 608 compatible = "renesas,r8a7791-usb-dmac",
824 reg = <0 0xe6e54000 0 64>; 609 "renesas,usb-dmac";
825 clocks = <&cpg CPG_MOD 901>; 610 reg = <0 0xe65b0000 0 0x100>;
826 clock-names = "fck"; 611 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH
827 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 612 GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
828 resets = <&cpg 901>; 613 interrupt-names = "ch0", "ch1";
829 status = "disabled"; 614 clocks = <&cpg CPG_MOD 331>;
830 }; 615 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
616 resets = <&cpg 331>;
617 #dma-cells = <1>;
618 dma-channels = <2>;
619 };
831 620
832 scif2: serial@e6e58000 { 621 dmac0: dma-controller@e6700000 {
833 compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif", 622 compatible = "renesas,dmac-r8a7791",
834 "renesas,scif"; 623 "renesas,rcar-dmac";
835 reg = <0 0xe6e58000 0 64>; 624 reg = <0 0xe6700000 0 0x20000>;
836 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 625 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH
837 clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 626 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
838 <&scif_clk>; 627 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
839 clock-names = "fck", "brg_int", "scif_clk"; 628 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
840 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>, 629 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
841 <&dmac1 0x2b>, <&dmac1 0x2c>; 630 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
842 dma-names = "tx", "rx", "tx", "rx"; 631 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
843 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 632 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
844 resets = <&cpg 719>; 633 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
845 status = "disabled"; 634 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
846 }; 635 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
636 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
637 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
638 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
639 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
640 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
641 interrupt-names = "error",
642 "ch0", "ch1", "ch2", "ch3",
643 "ch4", "ch5", "ch6", "ch7",
644 "ch8", "ch9", "ch10", "ch11",
645 "ch12", "ch13", "ch14";
646 clocks = <&cpg CPG_MOD 219>;
647 clock-names = "fck";
648 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
649 resets = <&cpg 219>;
650 #dma-cells = <1>;
651 dma-channels = <15>;
652 };
847 653
848 scif3: serial@e6ea8000 { 654 dmac1: dma-controller@e6720000 {
849 compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif", 655 compatible = "renesas,dmac-r8a7791",
850 "renesas,scif"; 656 "renesas,rcar-dmac";
851 reg = <0 0xe6ea8000 0 64>; 657 reg = <0 0xe6720000 0 0x20000>;
852 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 658 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
853 clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 659 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
854 <&scif_clk>; 660 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
855 clock-names = "fck", "brg_int", "scif_clk"; 661 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
856 dmas = <&dmac0 0x2f>, <&dmac0 0x30>, 662 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
857 <&dmac1 0x2f>, <&dmac1 0x30>; 663 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
858 dma-names = "tx", "rx", "tx", "rx"; 664 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
859 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 665 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
860 resets = <&cpg 718>; 666 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
861 status = "disabled"; 667 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
862 }; 668 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
669 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
670 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
671 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
672 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
673 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
674 interrupt-names = "error",
675 "ch0", "ch1", "ch2", "ch3",
676 "ch4", "ch5", "ch6", "ch7",
677 "ch8", "ch9", "ch10", "ch11",
678 "ch12", "ch13", "ch14";
679 clocks = <&cpg CPG_MOD 218>;
680 clock-names = "fck";
681 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
682 resets = <&cpg 218>;
683 #dma-cells = <1>;
684 dma-channels = <15>;
685 };
863 686
864 scif4: serial@e6ee0000 { 687 avb: ethernet@e6800000 {
865 compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif", 688 compatible = "renesas,etheravb-r8a7791",
866 "renesas,scif"; 689 "renesas,etheravb-rcar-gen2";
867 reg = <0 0xe6ee0000 0 64>; 690 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
868 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 691 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
869 clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 692 clocks = <&cpg CPG_MOD 812>;
870 <&scif_clk>; 693 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
871 clock-names = "fck", "brg_int", "scif_clk"; 694 resets = <&cpg 812>;
872 dmas = <&dmac0 0xfb>, <&dmac0 0xfc>, 695 #address-cells = <1>;
873 <&dmac1 0xfb>, <&dmac1 0xfc>; 696 #size-cells = <0>;
874 dma-names = "tx", "rx", "tx", "rx"; 697 status = "disabled";
875 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 698 };
876 resets = <&cpg 715>;
877 status = "disabled";
878 };
879 699
880 scif5: serial@e6ee8000 { 700 qspi: spi@e6b10000 {
881 compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif", 701 compatible = "renesas,qspi-r8a7791", "renesas,qspi";
882 "renesas,scif"; 702 reg = <0 0xe6b10000 0 0x2c>;
883 reg = <0 0xe6ee8000 0 64>; 703 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
884 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 704 clocks = <&cpg CPG_MOD 917>;
885 clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 705 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
886 <&scif_clk>; 706 <&dmac1 0x17>, <&dmac1 0x18>;
887 clock-names = "fck", "brg_int", "scif_clk"; 707 dma-names = "tx", "rx", "tx", "rx";
888 dmas = <&dmac0 0xfd>, <&dmac0 0xfe>, 708 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
889 <&dmac1 0xfd>, <&dmac1 0xfe>; 709 resets = <&cpg 917>;
890 dma-names = "tx", "rx", "tx", "rx"; 710 num-cs = <1>;
891 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 711 #address-cells = <1>;
892 resets = <&cpg 714>; 712 #size-cells = <0>;
893 status = "disabled"; 713 status = "disabled";
894 }; 714 };
895 715
896 hscif0: serial@e62c0000 { 716 scifa0: serial@e6c40000 {
897 compatible = "renesas,hscif-r8a7791", 717 compatible = "renesas,scifa-r8a7791",
898 "renesas,rcar-gen2-hscif", "renesas,hscif"; 718 "renesas,rcar-gen2-scifa", "renesas,scifa";
899 reg = <0 0xe62c0000 0 96>; 719 reg = <0 0xe6c40000 0 64>;
900 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 720 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
901 clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 721 clocks = <&cpg CPG_MOD 204>;
902 <&scif_clk>; 722 clock-names = "fck";
903 clock-names = "fck", "brg_int", "scif_clk"; 723 dmas = <&dmac0 0x21>, <&dmac0 0x22>,
904 dmas = <&dmac0 0x39>, <&dmac0 0x3a>, 724 <&dmac1 0x21>, <&dmac1 0x22>;
905 <&dmac1 0x39>, <&dmac1 0x3a>; 725 dma-names = "tx", "rx", "tx", "rx";
906 dma-names = "tx", "rx", "tx", "rx"; 726 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
907 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 727 resets = <&cpg 204>;
908 resets = <&cpg 717>; 728 status = "disabled";
909 status = "disabled"; 729 };
910 };
911 730
912 hscif1: serial@e62c8000 { 731 scifa1: serial@e6c50000 {
913 compatible = "renesas,hscif-r8a7791", 732 compatible = "renesas,scifa-r8a7791",
914 "renesas,rcar-gen2-hscif", "renesas,hscif"; 733 "renesas,rcar-gen2-scifa", "renesas,scifa";
915 reg = <0 0xe62c8000 0 96>; 734 reg = <0 0xe6c50000 0 64>;
916 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 735 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
917 clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 736 clocks = <&cpg CPG_MOD 203>;
918 <&scif_clk>; 737 clock-names = "fck";
919 clock-names = "fck", "brg_int", "scif_clk"; 738 dmas = <&dmac0 0x25>, <&dmac0 0x26>,
920 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>, 739 <&dmac1 0x25>, <&dmac1 0x26>;
921 <&dmac1 0x4d>, <&dmac1 0x4e>; 740 dma-names = "tx", "rx", "tx", "rx";
922 dma-names = "tx", "rx", "tx", "rx"; 741 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
923 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 742 resets = <&cpg 203>;
924 resets = <&cpg 716>; 743 status = "disabled";
925 status = "disabled"; 744 };
926 };
927 745
928 hscif2: serial@e62d0000 { 746 scifa2: serial@e6c60000 {
929 compatible = "renesas,hscif-r8a7791", 747 compatible = "renesas,scifa-r8a7791",
930 "renesas,rcar-gen2-hscif", "renesas,hscif"; 748 "renesas,rcar-gen2-scifa", "renesas,scifa";
931 reg = <0 0xe62d0000 0 96>; 749 reg = <0 0xe6c60000 0 64>;
932 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 750 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
933 clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7791_CLK_ZS>, 751 clocks = <&cpg CPG_MOD 202>;
934 <&scif_clk>; 752 clock-names = "fck";
935 clock-names = "fck", "brg_int", "scif_clk"; 753 dmas = <&dmac0 0x27>, <&dmac0 0x28>,
936 dmas = <&dmac0 0x3b>, <&dmac0 0x3c>, 754 <&dmac1 0x27>, <&dmac1 0x28>;
937 <&dmac1 0x3b>, <&dmac1 0x3c>; 755 dma-names = "tx", "rx", "tx", "rx";
938 dma-names = "tx", "rx", "tx", "rx"; 756 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
939 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 757 resets = <&cpg 202>;
940 resets = <&cpg 713>; 758 status = "disabled";
941 status = "disabled"; 759 };
942 };
943 760
944 icram0: sram@e63a0000 { 761 scifa3: serial@e6c70000 {
945 compatible = "mmio-sram"; 762 compatible = "renesas,scifa-r8a7791",
946 reg = <0 0xe63a0000 0 0x12000>; 763 "renesas,rcar-gen2-scifa", "renesas,scifa";
947 }; 764 reg = <0 0xe6c70000 0 64>;
765 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
766 clocks = <&cpg CPG_MOD 1106>;
767 clock-names = "fck";
768 dmas = <&dmac0 0x1b>, <&dmac0 0x1c>,
769 <&dmac1 0x1b>, <&dmac1 0x1c>;
770 dma-names = "tx", "rx", "tx", "rx";
771 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
772 resets = <&cpg 1106>;
773 status = "disabled";
774 };
948 775
949 icram1: sram@e63c0000 { 776 scifa4: serial@e6c78000 {
950 compatible = "mmio-sram"; 777 compatible = "renesas,scifa-r8a7791",
951 reg = <0 0xe63c0000 0 0x1000>; 778 "renesas,rcar-gen2-scifa", "renesas,scifa";
952 #address-cells = <1>; 779 reg = <0 0xe6c78000 0 64>;
953 #size-cells = <1>; 780 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
954 ranges = <0 0 0xe63c0000 0x1000>; 781 clocks = <&cpg CPG_MOD 1107>;
782 clock-names = "fck";
783 dmas = <&dmac0 0x1f>, <&dmac0 0x20>,
784 <&dmac1 0x1f>, <&dmac1 0x20>;
785 dma-names = "tx", "rx", "tx", "rx";
786 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
787 resets = <&cpg 1107>;
788 status = "disabled";
789 };
955 790
956 smp-sram@0 { 791 scifa5: serial@e6c80000 {
957 compatible = "renesas,smp-sram"; 792 compatible = "renesas,scifa-r8a7791",
958 reg = <0 0x10>; 793 "renesas,rcar-gen2-scifa", "renesas,scifa";
794 reg = <0 0xe6c80000 0 64>;
795 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
796 clocks = <&cpg CPG_MOD 1108>;
797 clock-names = "fck";
798 dmas = <&dmac0 0x23>, <&dmac0 0x24>,
799 <&dmac1 0x23>, <&dmac1 0x24>;
800 dma-names = "tx", "rx", "tx", "rx";
801 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
802 resets = <&cpg 1108>;
803 status = "disabled";
959 }; 804 };
960 };
961 805
962 ether: ethernet@ee700000 { 806 scifb0: serial@e6c20000 {
963 compatible = "renesas,ether-r8a7791", 807 compatible = "renesas,scifb-r8a7791",
964 "renesas,rcar-gen2-ether"; 808 "renesas,rcar-gen2-scifb", "renesas,scifb";
965 reg = <0 0xee700000 0 0x400>; 809 reg = <0 0xe6c20000 0 0x100>;
966 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 810 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
967 clocks = <&cpg CPG_MOD 813>; 811 clocks = <&cpg CPG_MOD 206>;
968 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 812 clock-names = "fck";
969 resets = <&cpg 813>; 813 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
970 phy-mode = "rmii"; 814 <&dmac1 0x3d>, <&dmac1 0x3e>;
971 #address-cells = <1>; 815 dma-names = "tx", "rx", "tx", "rx";
972 #size-cells = <0>; 816 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
973 status = "disabled"; 817 resets = <&cpg 206>;
974 }; 818 status = "disabled";
819 };
975 820
976 avb: ethernet@e6800000 { 821 scifb1: serial@e6c30000 {
977 compatible = "renesas,etheravb-r8a7791", 822 compatible = "renesas,scifb-r8a7791",
978 "renesas,etheravb-rcar-gen2"; 823 "renesas,rcar-gen2-scifb", "renesas,scifb";
979 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>; 824 reg = <0 0xe6c30000 0 0x100>;
980 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 825 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
981 clocks = <&cpg CPG_MOD 812>; 826 clocks = <&cpg CPG_MOD 207>;
982 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 827 clock-names = "fck";
983 resets = <&cpg 812>; 828 dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
984 #address-cells = <1>; 829 <&dmac1 0x19>, <&dmac1 0x1a>;
985 #size-cells = <0>; 830 dma-names = "tx", "rx", "tx", "rx";
986 status = "disabled"; 831 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
987 }; 832 resets = <&cpg 207>;
833 status = "disabled";
834 };
988 835
989 sata0: sata@ee300000 { 836 scifb2: serial@e6ce0000 {
990 compatible = "renesas,sata-r8a7791", "renesas,rcar-gen2-sata"; 837 compatible = "renesas,scifb-r8a7791",
991 reg = <0 0xee300000 0 0x2000>; 838 "renesas,rcar-gen2-scifb", "renesas,scifb";
992 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 839 reg = <0 0xe6ce0000 0 0x100>;
993 clocks = <&cpg CPG_MOD 815>; 840 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
994 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 841 clocks = <&cpg CPG_MOD 216>;
995 resets = <&cpg 815>; 842 clock-names = "fck";
996 status = "disabled"; 843 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
997 }; 844 <&dmac1 0x1d>, <&dmac1 0x1e>;
845 dma-names = "tx", "rx", "tx", "rx";
846 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
847 resets = <&cpg 216>;
848 status = "disabled";
849 };
998 850
999 sata1: sata@ee500000 { 851 scif0: serial@e6e60000 {
1000 compatible = "renesas,sata-r8a7791", "renesas,rcar-gen2-sata"; 852 compatible = "renesas,scif-r8a7791",
1001 reg = <0 0xee500000 0 0x2000>; 853 "renesas,rcar-gen2-scif", "renesas,scif";
1002 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 854 reg = <0 0xe6e60000 0 64>;
1003 clocks = <&cpg CPG_MOD 814>; 855 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
1004 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 856 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1005 resets = <&cpg 814>; 857 <&scif_clk>;
1006 status = "disabled"; 858 clock-names = "fck", "brg_int", "scif_clk";
1007 }; 859 dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
860 <&dmac1 0x29>, <&dmac1 0x2a>;
861 dma-names = "tx", "rx", "tx", "rx";
862 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
863 resets = <&cpg 721>;
864 status = "disabled";
865 };
1008 866
1009 hsusb: usb@e6590000 { 867 scif1: serial@e6e68000 {
1010 compatible = "renesas,usbhs-r8a7791", "renesas,rcar-gen2-usbhs"; 868 compatible = "renesas,scif-r8a7791",
1011 reg = <0 0xe6590000 0 0x100>; 869 "renesas,rcar-gen2-scif", "renesas,scif";
1012 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 870 reg = <0 0xe6e68000 0 64>;
1013 clocks = <&cpg CPG_MOD 704>; 871 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
1014 dmas = <&usb_dmac0 0>, <&usb_dmac0 1>, 872 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1015 <&usb_dmac1 0>, <&usb_dmac1 1>; 873 <&scif_clk>;
1016 dma-names = "ch0", "ch1", "ch2", "ch3"; 874 clock-names = "fck", "brg_int", "scif_clk";
1017 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 875 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
1018 resets = <&cpg 704>; 876 <&dmac1 0x2d>, <&dmac1 0x2e>;
1019 renesas,buswait = <4>; 877 dma-names = "tx", "rx", "tx", "rx";
1020 phys = <&usb0 1>; 878 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1021 phy-names = "usb"; 879 resets = <&cpg 720>;
1022 status = "disabled"; 880 status = "disabled";
1023 }; 881 };
1024 882
1025 usbphy: usb-phy@e6590100 { 883 scif2: serial@e6e58000 {
1026 compatible = "renesas,usb-phy-r8a7791", 884 compatible = "renesas,scif-r8a7791",
1027 "renesas,rcar-gen2-usb-phy"; 885 "renesas,rcar-gen2-scif", "renesas,scif";
1028 reg = <0 0xe6590100 0 0x100>; 886 reg = <0 0xe6e58000 0 64>;
1029 #address-cells = <1>; 887 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
1030 #size-cells = <0>; 888 clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1031 clocks = <&cpg CPG_MOD 704>; 889 <&scif_clk>;
1032 clock-names = "usbhs"; 890 clock-names = "fck", "brg_int", "scif_clk";
1033 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 891 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
1034 resets = <&cpg 704>; 892 <&dmac1 0x2b>, <&dmac1 0x2c>;
1035 status = "disabled"; 893 dma-names = "tx", "rx", "tx", "rx";
894 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
895 resets = <&cpg 719>;
896 status = "disabled";
897 };
1036 898
1037 usb0: usb-channel@0 { 899 scif3: serial@e6ea8000 {
1038 reg = <0>; 900 compatible = "renesas,scif-r8a7791",
1039 #phy-cells = <1>; 901 "renesas,rcar-gen2-scif", "renesas,scif";
902 reg = <0 0xe6ea8000 0 64>;
903 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
904 clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
905 <&scif_clk>;
906 clock-names = "fck", "brg_int", "scif_clk";
907 dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
908 <&dmac1 0x2f>, <&dmac1 0x30>;
909 dma-names = "tx", "rx", "tx", "rx";
910 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
911 resets = <&cpg 718>;
912 status = "disabled";
1040 }; 913 };
1041 usb2: usb-channel@2 { 914
1042 reg = <2>; 915 scif4: serial@e6ee0000 {
1043 #phy-cells = <1>; 916 compatible = "renesas,scif-r8a7791",
917 "renesas,rcar-gen2-scif", "renesas,scif";
918 reg = <0 0xe6ee0000 0 64>;
919 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
920 clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
921 <&scif_clk>;
922 clock-names = "fck", "brg_int", "scif_clk";
923 dmas = <&dmac0 0xfb>, <&dmac0 0xfc>,
924 <&dmac1 0xfb>, <&dmac1 0xfc>;
925 dma-names = "tx", "rx", "tx", "rx";
926 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
927 resets = <&cpg 715>;
928 status = "disabled";
1044 }; 929 };
1045 };
1046 930
1047 vin0: video@e6ef0000 { 931 scif5: serial@e6ee8000 {
1048 compatible = "renesas,vin-r8a7791", "renesas,rcar-gen2-vin"; 932 compatible = "renesas,scif-r8a7791",
1049 reg = <0 0xe6ef0000 0 0x1000>; 933 "renesas,rcar-gen2-scif", "renesas,scif";
1050 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 934 reg = <0 0xe6ee8000 0 64>;
1051 clocks = <&cpg CPG_MOD 811>; 935 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
1052 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 936 clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1053 resets = <&cpg 811>; 937 <&scif_clk>;
1054 status = "disabled"; 938 clock-names = "fck", "brg_int", "scif_clk";
1055 }; 939 dmas = <&dmac0 0xfd>, <&dmac0 0xfe>,
940 <&dmac1 0xfd>, <&dmac1 0xfe>;
941 dma-names = "tx", "rx", "tx", "rx";
942 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
943 resets = <&cpg 714>;
944 status = "disabled";
945 };
1056 946
1057 vin1: video@e6ef1000 { 947 hscif0: serial@e62c0000 {
1058 compatible = "renesas,vin-r8a7791", "renesas,rcar-gen2-vin"; 948 compatible = "renesas,hscif-r8a7791",
1059 reg = <0 0xe6ef1000 0 0x1000>; 949 "renesas,rcar-gen2-hscif", "renesas,hscif";
1060 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 950 reg = <0 0xe62c0000 0 96>;
1061 clocks = <&cpg CPG_MOD 810>; 951 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
1062 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 952 clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1063 resets = <&cpg 810>; 953 <&scif_clk>;
1064 status = "disabled"; 954 clock-names = "fck", "brg_int", "scif_clk";
1065 }; 955 dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
956 <&dmac1 0x39>, <&dmac1 0x3a>;
957 dma-names = "tx", "rx", "tx", "rx";
958 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
959 resets = <&cpg 717>;
960 status = "disabled";
961 };
1066 962
1067 vin2: video@e6ef2000 { 963 hscif1: serial@e62c8000 {
1068 compatible = "renesas,vin-r8a7791", "renesas,rcar-gen2-vin"; 964 compatible = "renesas,hscif-r8a7791",
1069 reg = <0 0xe6ef2000 0 0x1000>; 965 "renesas,rcar-gen2-hscif", "renesas,hscif";
1070 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 966 reg = <0 0xe62c8000 0 96>;
1071 clocks = <&cpg CPG_MOD 809>; 967 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
1072 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 968 clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1073 resets = <&cpg 809>; 969 <&scif_clk>;
1074 status = "disabled"; 970 clock-names = "fck", "brg_int", "scif_clk";
1075 }; 971 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
972 <&dmac1 0x4d>, <&dmac1 0x4e>;
973 dma-names = "tx", "rx", "tx", "rx";
974 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
975 resets = <&cpg 716>;
976 status = "disabled";
977 };
1076 978
1077 vsp@fe928000 { 979 hscif2: serial@e62d0000 {
1078 compatible = "renesas,vsp1"; 980 compatible = "renesas,hscif-r8a7791",
1079 reg = <0 0xfe928000 0 0x8000>; 981 "renesas,rcar-gen2-hscif", "renesas,hscif";
1080 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>; 982 reg = <0 0xe62d0000 0 96>;
1081 clocks = <&cpg CPG_MOD 131>; 983 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
1082 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 984 clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
1083 resets = <&cpg 131>; 985 <&scif_clk>;
1084 }; 986 clock-names = "fck", "brg_int", "scif_clk";
987 dmas = <&dmac0 0x3b>, <&dmac0 0x3c>,
988 <&dmac1 0x3b>, <&dmac1 0x3c>;
989 dma-names = "tx", "rx", "tx", "rx";
990 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
991 resets = <&cpg 713>;
992 status = "disabled";
993 };
1085 994
1086 vsp@fe930000 { 995 msiof0: spi@e6e20000 {
1087 compatible = "renesas,vsp1"; 996 compatible = "renesas,msiof-r8a7791",
1088 reg = <0 0xfe930000 0 0x8000>; 997 "renesas,rcar-gen2-msiof";
1089 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; 998 reg = <0 0xe6e20000 0 0x0064>;
1090 clocks = <&cpg CPG_MOD 128>; 999 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
1091 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1000 clocks = <&cpg CPG_MOD 000>;
1092 resets = <&cpg 128>; 1001 dmas = <&dmac0 0x51>, <&dmac0 0x52>,
1093 }; 1002 <&dmac1 0x51>, <&dmac1 0x52>;
1003 dma-names = "tx", "rx", "tx", "rx";
1004 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1005 resets = <&cpg 0>;
1006 #address-cells = <1>;
1007 #size-cells = <0>;
1008 status = "disabled";
1009 };
1094 1010
1095 vsp@fe938000 { 1011 msiof1: spi@e6e10000 {
1096 compatible = "renesas,vsp1"; 1012 compatible = "renesas,msiof-r8a7791",
1097 reg = <0 0xfe938000 0 0x8000>; 1013 "renesas,rcar-gen2-msiof";
1098 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>; 1014 reg = <0 0xe6e10000 0 0x0064>;
1099 clocks = <&cpg CPG_MOD 127>; 1015 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
1100 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1016 clocks = <&cpg CPG_MOD 208>;
1101 resets = <&cpg 127>; 1017 dmas = <&dmac0 0x55>, <&dmac0 0x56>,
1102 }; 1018 <&dmac1 0x55>, <&dmac1 0x56>;
1019 dma-names = "tx", "rx", "tx", "rx";
1020 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1021 resets = <&cpg 208>;
1022 #address-cells = <1>;
1023 #size-cells = <0>;
1024 status = "disabled";
1025 };
1103 1026
1104 du: display@feb00000 { 1027 msiof2: spi@e6e00000 {
1105 compatible = "renesas,du-r8a7791"; 1028 compatible = "renesas,msiof-r8a7791",
1106 reg = <0 0xfeb00000 0 0x40000>, 1029 "renesas,rcar-gen2-msiof";
1107 <0 0xfeb90000 0 0x1c>; 1030 reg = <0 0xe6e00000 0 0x0064>;
1108 reg-names = "du", "lvds.0"; 1031 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
1109 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1032 clocks = <&cpg CPG_MOD 205>;
1110 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1033 dmas = <&dmac0 0x41>, <&dmac0 0x42>,
1111 clocks = <&cpg CPG_MOD 724>, 1034 <&dmac1 0x41>, <&dmac1 0x42>;
1112 <&cpg CPG_MOD 723>, 1035 dma-names = "tx", "rx", "tx", "rx";
1113 <&cpg CPG_MOD 726>; 1036 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1114 clock-names = "du.0", "du.1", "lvds.0"; 1037 resets = <&cpg 205>;
1115 status = "disabled";
1116
1117 ports {
1118 #address-cells = <1>; 1038 #address-cells = <1>;
1119 #size-cells = <0>; 1039 #size-cells = <0>;
1040 status = "disabled";
1041 };
1120 1042
1121 port@0 { 1043 adc: adc@e6e54000 {
1122 reg = <0>; 1044 compatible = "renesas,r8a7791-gyroadc",
1123 du_out_rgb: endpoint { 1045 "renesas,rcar-gyroadc";
1124 }; 1046 reg = <0 0xe6e54000 0 64>;
1125 }; 1047 clocks = <&cpg CPG_MOD 901>;
1126 port@1 { 1048 clock-names = "fck";
1127 reg = <1>; 1049 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1128 du_out_lvds0: endpoint { 1050 resets = <&cpg 901>;
1129 }; 1051 status = "disabled";
1130 };
1131 }; 1052 };
1132 };
1133 1053
1134 can0: can@e6e80000 { 1054 can0: can@e6e80000 {
1135 compatible = "renesas,can-r8a7791", "renesas,rcar-gen2-can"; 1055 compatible = "renesas,can-r8a7791",
1136 reg = <0 0xe6e80000 0 0x1000>; 1056 "renesas,rcar-gen2-can";
1137 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 1057 reg = <0 0xe6e80000 0 0x1000>;
1138 clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7791_CLK_RCAN>, 1058 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1139 <&can_clk>; 1059 clocks = <&cpg CPG_MOD 916>,
1140 clock-names = "clkp1", "clkp2", "can_clk"; 1060 <&cpg CPG_CORE R8A7791_CLK_RCAN>, <&can_clk>;
1141 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1061 clock-names = "clkp1", "clkp2", "can_clk";
1142 resets = <&cpg 916>; 1062 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1143 status = "disabled"; 1063 resets = <&cpg 916>;
1144 }; 1064 status = "disabled";
1065 };
1145 1066
1146 can1: can@e6e88000 { 1067 can1: can@e6e88000 {
1147 compatible = "renesas,can-r8a7791", "renesas,rcar-gen2-can"; 1068 compatible = "renesas,can-r8a7791",
1148 reg = <0 0xe6e88000 0 0x1000>; 1069 "renesas,rcar-gen2-can";
1149 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 1070 reg = <0 0xe6e88000 0 0x1000>;
1150 clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7791_CLK_RCAN>, 1071 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
1151 <&can_clk>; 1072 clocks = <&cpg CPG_MOD 915>,
1152 clock-names = "clkp1", "clkp2", "can_clk"; 1073 <&cpg CPG_CORE R8A7791_CLK_RCAN>, <&can_clk>;
1153 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1074 clock-names = "clkp1", "clkp2", "can_clk";
1154 resets = <&cpg 915>; 1075 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1155 status = "disabled"; 1076 resets = <&cpg 915>;
1156 }; 1077 status = "disabled";
1078 };
1157 1079
1158 jpu: jpeg-codec@fe980000 { 1080 vin0: video@e6ef0000 {
1159 compatible = "renesas,jpu-r8a7791", "renesas,rcar-gen2-jpu"; 1081 compatible = "renesas,vin-r8a7791",
1160 reg = <0 0xfe980000 0 0x10300>; 1082 "renesas,rcar-gen2-vin";
1161 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>; 1083 reg = <0 0xe6ef0000 0 0x1000>;
1162 clocks = <&cpg CPG_MOD 106>; 1084 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
1163 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1085 clocks = <&cpg CPG_MOD 811>;
1164 resets = <&cpg 106>; 1086 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1165 }; 1087 resets = <&cpg 811>;
1088 status = "disabled";
1089 };
1166 1090
1167 /* External root clock */ 1091 vin1: video@e6ef1000 {
1168 extal_clk: extal { 1092 compatible = "renesas,vin-r8a7791",
1169 compatible = "fixed-clock"; 1093 "renesas,rcar-gen2-vin";
1170 #clock-cells = <0>; 1094 reg = <0 0xe6ef1000 0 0x1000>;
1171 /* This value must be overridden by the board. */ 1095 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
1172 clock-frequency = <0>; 1096 clocks = <&cpg CPG_MOD 810>;
1173 }; 1097 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1098 resets = <&cpg 810>;
1099 status = "disabled";
1100 };
1174 1101
1175 /* 1102 vin2: video@e6ef2000 {
1176 * The external audio clocks are configured as 0 Hz fixed frequency 1103 compatible = "renesas,vin-r8a7791",
1177 * clocks by default. 1104 "renesas,rcar-gen2-vin";
1178 * Boards that provide audio clocks should override them. 1105 reg = <0 0xe6ef2000 0 0x1000>;
1179 */ 1106 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1180 audio_clk_a: audio_clk_a { 1107 clocks = <&cpg CPG_MOD 809>;
1181 compatible = "fixed-clock"; 1108 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1182 #clock-cells = <0>; 1109 resets = <&cpg 809>;
1183 clock-frequency = <0>; 1110 status = "disabled";
1184 }; 1111 };
1185 audio_clk_b: audio_clk_b {
1186 compatible = "fixed-clock";
1187 #clock-cells = <0>;
1188 clock-frequency = <0>;
1189 };
1190 audio_clk_c: audio_clk_c {
1191 compatible = "fixed-clock";
1192 #clock-cells = <0>;
1193 clock-frequency = <0>;
1194 };
1195 1112
1196 /* External PCIe clock - can be overridden by the board */ 1113 rcar_sound: sound@ec500000 {
1197 pcie_bus_clk: pcie_bus { 1114 /*
1198 compatible = "fixed-clock"; 1115 * #sound-dai-cells is required
1199 #clock-cells = <0>; 1116 *
1200 clock-frequency = <0>; 1117 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
1201 }; 1118 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
1119 */
1120 compatible = "renesas,rcar_sound-r8a7791",
1121 "renesas,rcar_sound-gen2";
1122 reg = <0 0xec500000 0 0x1000>, /* SCU */
1123 <0 0xec5a0000 0 0x100>, /* ADG */
1124 <0 0xec540000 0 0x1000>, /* SSIU */
1125 <0 0xec541000 0 0x280>, /* SSI */
1126 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1127 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1128
1129 clocks = <&cpg CPG_MOD 1005>,
1130 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
1131 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
1132 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
1133 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
1134 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
1135 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
1136 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
1137 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
1138 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
1139 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
1140 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1141 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1142 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1143 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
1144 <&cpg CPG_CORE R8A7791_CLK_M2>;
1145 clock-names = "ssi-all",
1146 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1147 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1148 "ssi.1", "ssi.0", "src.9", "src.8",
1149 "src.7", "src.6", "src.5", "src.4",
1150 "src.3", "src.2", "src.1", "src.0",
1151 "ctu.0", "ctu.1",
1152 "mix.0", "mix.1",
1153 "dvc.0", "dvc.1",
1154 "clk_a", "clk_b", "clk_c", "clk_i";
1155 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1156 resets = <&cpg 1005>,
1157 <&cpg 1006>, <&cpg 1007>,
1158 <&cpg 1008>, <&cpg 1009>,
1159 <&cpg 1010>, <&cpg 1011>,
1160 <&cpg 1012>, <&cpg 1013>,
1161 <&cpg 1014>, <&cpg 1015>;
1162 reset-names = "ssi-all",
1163 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1164 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1165 "ssi.1", "ssi.0";
1166
1167 status = "disabled";
1168
1169 rcar_sound,dvc {
1170 dvc0: dvc-0 {
1171 dmas = <&audma1 0xbc>;
1172 dma-names = "tx";
1173 };
1174 dvc1: dvc-1 {
1175 dmas = <&audma1 0xbe>;
1176 dma-names = "tx";
1177 };
1178 };
1202 1179
1203 /* External SCIF clock */ 1180 rcar_sound,mix {
1204 scif_clk: scif { 1181 mix0: mix-0 { };
1205 compatible = "fixed-clock"; 1182 mix1: mix-1 { };
1206 #clock-cells = <0>; 1183 };
1207 /* This value must be overridden by the board. */
1208 clock-frequency = <0>;
1209 };
1210 1184
1211 /* External USB clock - can be overridden by the board */ 1185 rcar_sound,ctu {
1212 usb_extal_clk: usb_extal { 1186 ctu00: ctu-0 { };
1213 compatible = "fixed-clock"; 1187 ctu01: ctu-1 { };
1214 #clock-cells = <0>; 1188 ctu02: ctu-2 { };
1215 clock-frequency = <48000000>; 1189 ctu03: ctu-3 { };
1216 }; 1190 ctu10: ctu-4 { };
1191 ctu11: ctu-5 { };
1192 ctu12: ctu-6 { };
1193 ctu13: ctu-7 { };
1194 };
1217 1195
1218 /* External CAN clock */ 1196 rcar_sound,src {
1219 can_clk: can { 1197 src0: src-0 {
1220 compatible = "fixed-clock"; 1198 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
1221 #clock-cells = <0>; 1199 dmas = <&audma0 0x85>, <&audma1 0x9a>;
1222 /* This value must be overridden by the board. */ 1200 dma-names = "rx", "tx";
1223 clock-frequency = <0>; 1201 };
1224 }; 1202 src1: src-1 {
1203 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1204 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1205 dma-names = "rx", "tx";
1206 };
1207 src2: src-2 {
1208 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1209 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1210 dma-names = "rx", "tx";
1211 };
1212 src3: src-3 {
1213 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1214 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1215 dma-names = "rx", "tx";
1216 };
1217 src4: src-4 {
1218 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1219 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1220 dma-names = "rx", "tx";
1221 };
1222 src5: src-5 {
1223 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1224 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1225 dma-names = "rx", "tx";
1226 };
1227 src6: src-6 {
1228 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1229 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1230 dma-names = "rx", "tx";
1231 };
1232 src7: src-7 {
1233 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1234 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1235 dma-names = "rx", "tx";
1236 };
1237 src8: src-8 {
1238 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1239 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1240 dma-names = "rx", "tx";
1241 };
1242 src9: src-9 {
1243 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1244 dmas = <&audma0 0x97>, <&audma1 0xba>;
1245 dma-names = "rx", "tx";
1246 };
1247 };
1225 1248
1226 cpg: clock-controller@e6150000 { 1249 rcar_sound,ssi {
1227 compatible = "renesas,r8a7791-cpg-mssr"; 1250 ssi0: ssi-0 {
1228 reg = <0 0xe6150000 0 0x1000>; 1251 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
1229 clocks = <&extal_clk>, <&usb_extal_clk>; 1252 dmas = <&audma0 0x01>, <&audma1 0x02>,
1230 clock-names = "extal", "usb_extal"; 1253 <&audma0 0x15>, <&audma1 0x16>;
1231 #clock-cells = <2>; 1254 dma-names = "rx", "tx", "rxu", "txu";
1232 #power-domain-cells = <0>; 1255 };
1233 #reset-cells = <1>; 1256 ssi1: ssi-1 {
1234 }; 1257 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1258 dmas = <&audma0 0x03>, <&audma1 0x04>,
1259 <&audma0 0x49>, <&audma1 0x4a>;
1260 dma-names = "rx", "tx", "rxu", "txu";
1261 };
1262 ssi2: ssi-2 {
1263 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1264 dmas = <&audma0 0x05>, <&audma1 0x06>,
1265 <&audma0 0x63>, <&audma1 0x64>;
1266 dma-names = "rx", "tx", "rxu", "txu";
1267 };
1268 ssi3: ssi-3 {
1269 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1270 dmas = <&audma0 0x07>, <&audma1 0x08>,
1271 <&audma0 0x6f>, <&audma1 0x70>;
1272 dma-names = "rx", "tx", "rxu", "txu";
1273 };
1274 ssi4: ssi-4 {
1275 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1276 dmas = <&audma0 0x09>, <&audma1 0x0a>,
1277 <&audma0 0x71>, <&audma1 0x72>;
1278 dma-names = "rx", "tx", "rxu", "txu";
1279 };
1280 ssi5: ssi-5 {
1281 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1282 dmas = <&audma0 0x0b>, <&audma1 0x0c>,
1283 <&audma0 0x73>, <&audma1 0x74>;
1284 dma-names = "rx", "tx", "rxu", "txu";
1285 };
1286 ssi6: ssi-6 {
1287 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1288 dmas = <&audma0 0x0d>, <&audma1 0x0e>,
1289 <&audma0 0x75>, <&audma1 0x76>;
1290 dma-names = "rx", "tx", "rxu", "txu";
1291 };
1292 ssi7: ssi-7 {
1293 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1294 dmas = <&audma0 0x0f>, <&audma1 0x10>,
1295 <&audma0 0x79>, <&audma1 0x7a>;
1296 dma-names = "rx", "tx", "rxu", "txu";
1297 };
1298 ssi8: ssi-8 {
1299 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1300 dmas = <&audma0 0x11>, <&audma1 0x12>,
1301 <&audma0 0x7b>, <&audma1 0x7c>;
1302 dma-names = "rx", "tx", "rxu", "txu";
1303 };
1304 ssi9: ssi-9 {
1305 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1306 dmas = <&audma0 0x13>, <&audma1 0x14>,
1307 <&audma0 0x7d>, <&audma1 0x7e>;
1308 dma-names = "rx", "tx", "rxu", "txu";
1309 };
1310 };
1311 };
1235 1312
1236 rst: reset-controller@e6160000 { 1313 audma0: dma-controller@ec700000 {
1237 compatible = "renesas,r8a7791-rst"; 1314 compatible = "renesas,dmac-r8a7791",
1238 reg = <0 0xe6160000 0 0x0100>; 1315 "renesas,rcar-dmac";
1239 }; 1316 reg = <0 0xec700000 0 0x10000>;
1317 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1318 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1319 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1320 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1321 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1322 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1323 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1324 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1325 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1326 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1327 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1328 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1329 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1330 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1331 interrupt-names = "error",
1332 "ch0", "ch1", "ch2", "ch3",
1333 "ch4", "ch5", "ch6", "ch7",
1334 "ch8", "ch9", "ch10", "ch11",
1335 "ch12";
1336 clocks = <&cpg CPG_MOD 502>;
1337 clock-names = "fck";
1338 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1339 resets = <&cpg 502>;
1340 #dma-cells = <1>;
1341 dma-channels = <13>;
1342 };
1240 1343
1241 prr: chipid@ff000044 { 1344 audma1: dma-controller@ec720000 {
1242 compatible = "renesas,prr"; 1345 compatible = "renesas,dmac-r8a7791",
1243 reg = <0 0xff000044 0 4>; 1346 "renesas,rcar-dmac";
1244 }; 1347 reg = <0 0xec720000 0 0x10000>;
1348 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
1349 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
1350 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
1351 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH
1352 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
1353 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
1354 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
1355 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
1356 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
1357 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
1358 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
1359 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
1360 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
1361 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
1362 interrupt-names = "error",
1363 "ch0", "ch1", "ch2", "ch3",
1364 "ch4", "ch5", "ch6", "ch7",
1365 "ch8", "ch9", "ch10", "ch11",
1366 "ch12";
1367 clocks = <&cpg CPG_MOD 501>;
1368 clock-names = "fck";
1369 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1370 resets = <&cpg 501>;
1371 #dma-cells = <1>;
1372 dma-channels = <13>;
1373 };
1245 1374
1246 sysc: system-controller@e6180000 { 1375 xhci: usb@ee000000 {
1247 compatible = "renesas,r8a7791-sysc"; 1376 compatible = "renesas,xhci-r8a7791",
1248 reg = <0 0xe6180000 0 0x0200>; 1377 "renesas,rcar-gen2-xhci";
1249 #power-domain-cells = <1>; 1378 reg = <0 0xee000000 0 0xc00>;
1250 }; 1379 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
1380 clocks = <&cpg CPG_MOD 328>;
1381 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1382 resets = <&cpg 328>;
1383 phys = <&usb2 1>;
1384 phy-names = "usb";
1385 status = "disabled";
1386 };
1251 1387
1252 qspi: spi@e6b10000 { 1388 pci0: pci@ee090000 {
1253 compatible = "renesas,qspi-r8a7791", "renesas,qspi"; 1389 compatible = "renesas,pci-r8a7791",
1254 reg = <0 0xe6b10000 0 0x2c>; 1390 "renesas,pci-rcar-gen2";
1255 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 1391 device_type = "pci";
1256 clocks = <&cpg CPG_MOD 917>; 1392 reg = <0 0xee090000 0 0xc00>,
1257 dmas = <&dmac0 0x17>, <&dmac0 0x18>, 1393 <0 0xee080000 0 0x1100>;
1258 <&dmac1 0x17>, <&dmac1 0x18>; 1394 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1259 dma-names = "tx", "rx", "tx", "rx"; 1395 clocks = <&cpg CPG_MOD 703>;
1260 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1396 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1261 resets = <&cpg 917>; 1397 resets = <&cpg 703>;
1262 num-cs = <1>; 1398 status = "disabled";
1263 #address-cells = <1>; 1399
1264 #size-cells = <0>; 1400 bus-range = <0 0>;
1265 status = "disabled"; 1401 #address-cells = <3>;
1266 }; 1402 #size-cells = <2>;
1403 #interrupt-cells = <1>;
1404 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1405 interrupt-map-mask = <0xff00 0 0 0x7>;
1406 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1407 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1408 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1409
1410 usb@1,0 {
1411 reg = <0x800 0 0 0 0>;
1412 phys = <&usb0 0>;
1413 phy-names = "usb";
1414 };
1267 1415
1268 msiof0: spi@e6e20000 { 1416 usb@2,0 {
1269 compatible = "renesas,msiof-r8a7791", 1417 reg = <0x1000 0 0 0 0>;
1270 "renesas,rcar-gen2-msiof"; 1418 phys = <&usb0 0>;
1271 reg = <0 0xe6e20000 0 0x0064>; 1419 phy-names = "usb";
1272 interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 1420 };
1273 clocks = <&cpg CPG_MOD 000>; 1421 };
1274 dmas = <&dmac0 0x51>, <&dmac0 0x52>,
1275 <&dmac1 0x51>, <&dmac1 0x52>;
1276 dma-names = "tx", "rx", "tx", "rx";
1277 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1278 resets = <&cpg 0>;
1279 #address-cells = <1>;
1280 #size-cells = <0>;
1281 status = "disabled";
1282 };
1283 1422
1284 msiof1: spi@e6e10000 { 1423 pci1: pci@ee0d0000 {
1285 compatible = "renesas,msiof-r8a7791", 1424 compatible = "renesas,pci-r8a7791",
1286 "renesas,rcar-gen2-msiof"; 1425 "renesas,pci-rcar-gen2";
1287 reg = <0 0xe6e10000 0 0x0064>; 1426 device_type = "pci";
1288 interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 1427 reg = <0 0xee0d0000 0 0xc00>,
1289 clocks = <&cpg CPG_MOD 208>; 1428 <0 0xee0c0000 0 0x1100>;
1290 dmas = <&dmac0 0x55>, <&dmac0 0x56>, 1429 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1291 <&dmac1 0x55>, <&dmac1 0x56>; 1430 clocks = <&cpg CPG_MOD 703>;
1292 dma-names = "tx", "rx", "tx", "rx"; 1431 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1293 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1432 resets = <&cpg 703>;
1294 resets = <&cpg 208>; 1433 status = "disabled";
1295 #address-cells = <1>; 1434
1296 #size-cells = <0>; 1435 bus-range = <1 1>;
1297 status = "disabled"; 1436 #address-cells = <3>;
1298 }; 1437 #size-cells = <2>;
1438 #interrupt-cells = <1>;
1439 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1440 interrupt-map-mask = <0xff00 0 0 0x7>;
1441 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1442 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1443 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1444
1445 usb@1,0 {
1446 reg = <0x10800 0 0 0 0>;
1447 phys = <&usb2 0>;
1448 phy-names = "usb";
1449 };
1299 1450
1300 msiof2: spi@e6e00000 { 1451 usb@2,0 {
1301 compatible = "renesas,msiof-r8a7791", 1452 reg = <0x11000 0 0 0 0>;
1302 "renesas,rcar-gen2-msiof"; 1453 phys = <&usb2 0>;
1303 reg = <0 0xe6e00000 0 0x0064>; 1454 phy-names = "usb";
1304 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 1455 };
1305 clocks = <&cpg CPG_MOD 205>; 1456 };
1306 dmas = <&dmac0 0x41>, <&dmac0 0x42>,
1307 <&dmac1 0x41>, <&dmac1 0x42>;
1308 dma-names = "tx", "rx", "tx", "rx";
1309 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1310 resets = <&cpg 205>;
1311 #address-cells = <1>;
1312 #size-cells = <0>;
1313 status = "disabled";
1314 };
1315 1457
1316 xhci: usb@ee000000 { 1458 sdhi0: sd@ee100000 {
1317 compatible = "renesas,xhci-r8a7791", "renesas,rcar-gen2-xhci"; 1459 compatible = "renesas,sdhi-r8a7791",
1318 reg = <0 0xee000000 0 0xc00>; 1460 "renesas,rcar-gen2-sdhi";
1319 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1461 reg = <0 0xee100000 0 0x328>;
1320 clocks = <&cpg CPG_MOD 328>; 1462 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1321 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1463 clocks = <&cpg CPG_MOD 314>;
1322 resets = <&cpg 328>; 1464 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1323 phys = <&usb2 1>; 1465 <&dmac1 0xcd>, <&dmac1 0xce>;
1324 phy-names = "usb"; 1466 dma-names = "tx", "rx", "tx", "rx";
1325 status = "disabled"; 1467 max-frequency = <195000000>;
1326 }; 1468 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1469 resets = <&cpg 314>;
1470 status = "disabled";
1471 };
1327 1472
1328 pci0: pci@ee090000 { 1473 sdhi1: sd@ee140000 {
1329 compatible = "renesas,pci-r8a7791", "renesas,pci-rcar-gen2"; 1474 compatible = "renesas,sdhi-r8a7791",
1330 device_type = "pci"; 1475 "renesas,rcar-gen2-sdhi";
1331 reg = <0 0xee090000 0 0xc00>, 1476 reg = <0 0xee140000 0 0x100>;
1332 <0 0xee080000 0 0x1100>; 1477 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1333 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 1478 clocks = <&cpg CPG_MOD 312>;
1334 clocks = <&cpg CPG_MOD 703>; 1479 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1335 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1480 <&dmac1 0xc1>, <&dmac1 0xc2>;
1336 resets = <&cpg 703>; 1481 dma-names = "tx", "rx", "tx", "rx";
1337 status = "disabled"; 1482 max-frequency = <97500000>;
1338 1483 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1339 bus-range = <0 0>; 1484 resets = <&cpg 312>;
1340 #address-cells = <3>; 1485 status = "disabled";
1341 #size-cells = <2>;
1342 #interrupt-cells = <1>;
1343 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1344 interrupt-map-mask = <0xff00 0 0 0x7>;
1345 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1346 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1347 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1348
1349 usb@1,0 {
1350 reg = <0x800 0 0 0 0>;
1351 phys = <&usb0 0>;
1352 phy-names = "usb";
1353 }; 1486 };
1354 1487
1355 usb@2,0 { 1488 sdhi2: sd@ee160000 {
1356 reg = <0x1000 0 0 0 0>; 1489 compatible = "renesas,sdhi-r8a7791",
1357 phys = <&usb0 0>; 1490 "renesas,rcar-gen2-sdhi";
1358 phy-names = "usb"; 1491 reg = <0 0xee160000 0 0x100>;
1492 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1493 clocks = <&cpg CPG_MOD 311>;
1494 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1495 <&dmac1 0xd3>, <&dmac1 0xd4>;
1496 dma-names = "tx", "rx", "tx", "rx";
1497 max-frequency = <97500000>;
1498 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1499 resets = <&cpg 311>;
1500 status = "disabled";
1359 }; 1501 };
1360 };
1361 1502
1362 pci1: pci@ee0d0000 { 1503 mmcif0: mmc@ee200000 {
1363 compatible = "renesas,pci-r8a7791", "renesas,pci-rcar-gen2"; 1504 compatible = "renesas,mmcif-r8a7791",
1364 device_type = "pci"; 1505 "renesas,sh-mmcif";
1365 reg = <0 0xee0d0000 0 0xc00>, 1506 reg = <0 0xee200000 0 0x80>;
1366 <0 0xee0c0000 0 0x1100>; 1507 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1367 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 1508 clocks = <&cpg CPG_MOD 315>;
1368 clocks = <&cpg CPG_MOD 703>; 1509 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1369 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 1510 <&dmac1 0xd1>, <&dmac1 0xd2>;
1370 resets = <&cpg 703>; 1511 dma-names = "tx", "rx", "tx", "rx";
1371 status = "disabled"; 1512 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1372 1513 resets = <&cpg 315>;
1373 bus-range = <1 1>; 1514 reg-io-width = <4>;
1374 #address-cells = <3>; 1515 status = "disabled";
1375 #size-cells = <2>; 1516 max-frequency = <97500000>;
1376 #interrupt-cells = <1>;
1377 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1378 interrupt-map-mask = <0xff00 0 0 0x7>;
1379 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1380 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1381 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1382
1383 usb@1,0 {
1384 reg = <0x10800 0 0 0 0>;
1385 phys = <&usb2 0>;
1386 phy-names = "usb";
1387 }; 1517 };
1388 1518
1389 usb@2,0 { 1519 sata0: sata@ee300000 {
1390 reg = <0x11000 0 0 0 0>; 1520 compatible = "renesas,sata-r8a7791",
1391 phys = <&usb2 0>; 1521 "renesas,rcar-gen2-sata";
1392 phy-names = "usb"; 1522 reg = <0 0xee300000 0 0x2000>;
1523 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
1524 clocks = <&cpg CPG_MOD 815>;
1525 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1526 resets = <&cpg 815>;
1527 status = "disabled";
1393 }; 1528 };
1394 };
1395 1529
1396 pciec: pcie@fe000000 { 1530 sata1: sata@ee500000 {
1397 compatible = "renesas,pcie-r8a7791", "renesas,pcie-rcar-gen2"; 1531 compatible = "renesas,sata-r8a7791",
1398 reg = <0 0xfe000000 0 0x80000>; 1532 "renesas,rcar-gen2-sata";
1399 #address-cells = <3>; 1533 reg = <0 0xee500000 0 0x2000>;
1400 #size-cells = <2>; 1534 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
1401 bus-range = <0x00 0xff>; 1535 clocks = <&cpg CPG_MOD 814>;
1402 device_type = "pci"; 1536 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1403 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000 1537 resets = <&cpg 814>;
1404 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000 1538 status = "disabled";
1405 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000 1539 };
1406 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1407 /* Map all possible DDR as inbound ranges */
1408 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1409 0x43000000 2 0x00000000 2 0x00000000 1 0x00000000>;
1410 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1411 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1412 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1413 #interrupt-cells = <1>;
1414 interrupt-map-mask = <0 0 0 0>;
1415 interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1416 clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1417 clock-names = "pcie", "pcie_bus";
1418 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1419 resets = <&cpg 319>;
1420 status = "disabled";
1421 };
1422 1540
1423 ipmmu_sy0: mmu@e6280000 { 1541 ether: ethernet@ee700000 {
1424 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1542 compatible = "renesas,ether-r8a7791",
1425 reg = <0 0xe6280000 0 0x1000>; 1543 "renesas,rcar-gen2-ether";
1426 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>, 1544 reg = <0 0xee700000 0 0x400>;
1427 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1545 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1428 #iommu-cells = <1>; 1546 clocks = <&cpg CPG_MOD 813>;
1429 status = "disabled"; 1547 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1430 }; 1548 resets = <&cpg 813>;
1549 phy-mode = "rmii";
1550 #address-cells = <1>;
1551 #size-cells = <0>;
1552 status = "disabled";
1553 };
1431 1554
1432 ipmmu_sy1: mmu@e6290000 { 1555 gic: interrupt-controller@f1001000 {
1433 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1556 compatible = "arm,gic-400";
1434 reg = <0 0xe6290000 0 0x1000>; 1557 #interrupt-cells = <3>;
1435 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 1558 #address-cells = <0>;
1436 #iommu-cells = <1>; 1559 interrupt-controller;
1437 status = "disabled"; 1560 reg = <0 0xf1001000 0 0x1000>, <0 0xf1002000 0 0x2000>,
1438 }; 1561 <0 0xf1004000 0 0x2000>, <0 0xf1006000 0 0x2000>;
1562 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
1563 clocks = <&cpg CPG_MOD 408>;
1564 clock-names = "clk";
1565 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1566 resets = <&cpg 408>;
1567 };
1439 1568
1440 ipmmu_ds: mmu@e6740000 { 1569 pciec: pcie@fe000000 {
1441 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1570 compatible = "renesas,pcie-r8a7791",
1442 reg = <0 0xe6740000 0 0x1000>; 1571 "renesas,pcie-rcar-gen2";
1443 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 1572 reg = <0 0xfe000000 0 0x80000>;
1444 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 1573 #address-cells = <3>;
1445 #iommu-cells = <1>; 1574 #size-cells = <2>;
1446 status = "disabled"; 1575 bus-range = <0x00 0xff>;
1447 }; 1576 device_type = "pci";
1577 ranges = <0x01000000 0 0x00000000 0 0xfe100000 0 0x00100000
1578 0x02000000 0 0xfe200000 0 0xfe200000 0 0x00200000
1579 0x02000000 0 0x30000000 0 0x30000000 0 0x08000000
1580 0x42000000 0 0x38000000 0 0x38000000 0 0x08000000>;
1581 /* Map all possible DDR as inbound ranges */
1582 dma-ranges = <0x42000000 0 0x40000000 0 0x40000000 0 0x80000000
1583 0x43000000 2 0x00000000 2 0x00000000 1 0x00000000>;
1584 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
1585 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
1586 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
1587 #interrupt-cells = <1>;
1588 interrupt-map-mask = <0 0 0 0>;
1589 interrupt-map = <0 0 0 0 &gic GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
1590 clocks = <&cpg CPG_MOD 319>, <&pcie_bus_clk>;
1591 clock-names = "pcie", "pcie_bus";
1592 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1593 resets = <&cpg 319>;
1594 status = "disabled";
1595 };
1448 1596
1449 ipmmu_mp: mmu@ec680000 { 1597 vsp@fe928000 {
1450 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1598 compatible = "renesas,vsp1";
1451 reg = <0 0xec680000 0 0x1000>; 1599 reg = <0 0xfe928000 0 0x8000>;
1452 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 1600 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1453 #iommu-cells = <1>; 1601 clocks = <&cpg CPG_MOD 131>;
1454 status = "disabled"; 1602 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1455 }; 1603 resets = <&cpg 131>;
1604 };
1456 1605
1457 ipmmu_mx: mmu@fe951000 { 1606 vsp@fe930000 {
1458 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1607 compatible = "renesas,vsp1";
1459 reg = <0 0xfe951000 0 0x1000>; 1608 reg = <0 0xfe930000 0 0x8000>;
1460 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>, 1609 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
1461 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1610 clocks = <&cpg CPG_MOD 128>;
1462 #iommu-cells = <1>; 1611 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1463 status = "disabled"; 1612 resets = <&cpg 128>;
1464 }; 1613 };
1465 1614
1466 ipmmu_rt: mmu@ffc80000 { 1615 vsp@fe938000 {
1467 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1616 compatible = "renesas,vsp1";
1468 reg = <0 0xffc80000 0 0x1000>; 1617 reg = <0 0xfe938000 0 0x8000>;
1469 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; 1618 interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
1470 #iommu-cells = <1>; 1619 clocks = <&cpg CPG_MOD 127>;
1471 status = "disabled"; 1620 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1472 }; 1621 resets = <&cpg 127>;
1622 };
1473 1623
1474 ipmmu_gp: mmu@e62a0000 { 1624 jpu: jpeg-codec@fe980000 {
1475 compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 1625 compatible = "renesas,jpu-r8a7791",
1476 reg = <0 0xe62a0000 0 0x1000>; 1626 "renesas,rcar-gen2-jpu";
1477 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>, 1627 reg = <0 0xfe980000 0 0x10300>;
1478 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>; 1628 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
1479 #iommu-cells = <1>; 1629 clocks = <&cpg CPG_MOD 106>;
1480 status = "disabled"; 1630 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1481 }; 1631 resets = <&cpg 106>;
1632 };
1482 1633
1483 rcar_sound: sound@ec500000 { 1634 du: display@feb00000 {
1484 /* 1635 compatible = "renesas,du-r8a7791";
1485 * #sound-dai-cells is required 1636 reg = <0 0xfeb00000 0 0x40000>,
1486 * 1637 <0 0xfeb90000 0 0x1c>;
1487 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; 1638 reg-names = "du", "lvds.0";
1488 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; 1639 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1489 */ 1640 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
1490 compatible = "renesas,rcar_sound-r8a7791", "renesas,rcar_sound-gen2"; 1641 clocks = <&cpg CPG_MOD 724>,
1491 reg = <0 0xec500000 0 0x1000>, /* SCU */ 1642 <&cpg CPG_MOD 723>,
1492 <0 0xec5a0000 0 0x100>, /* ADG */ 1643 <&cpg CPG_MOD 726>;
1493 <0 0xec540000 0 0x1000>, /* SSIU */ 1644 clock-names = "du.0", "du.1", "lvds.0";
1494 <0 0xec541000 0 0x280>, /* SSI */ 1645 status = "disabled";
1495 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/ 1646
1496 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 1647 ports {
1497 1648 #address-cells = <1>;
1498 clocks = <&cpg CPG_MOD 1005>, 1649 #size-cells = <0>;
1499 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 1650
1500 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 1651 port@0 {
1501 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 1652 reg = <0>;
1502 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 1653 du_out_rgb: endpoint {
1503 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 1654 };
1504 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>, 1655 };
1505 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>, 1656 port@1 {
1506 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>, 1657 reg = <1>;
1507 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>, 1658 du_out_lvds0: endpoint {
1508 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>, 1659 };
1509 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>, 1660 };
1510 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1511 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1512 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
1513 <&cpg CPG_CORE R8A7791_CLK_M2>;
1514 clock-names = "ssi-all",
1515 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1516 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
1517 "src.9", "src.8", "src.7", "src.6", "src.5",
1518 "src.4", "src.3", "src.2", "src.1", "src.0",
1519 "ctu.0", "ctu.1",
1520 "mix.0", "mix.1",
1521 "dvc.0", "dvc.1",
1522 "clk_a", "clk_b", "clk_c", "clk_i";
1523 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1524 resets = <&cpg 1005>,
1525 <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
1526 <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
1527 <&cpg 1014>, <&cpg 1015>;
1528 reset-names = "ssi-all",
1529 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1530 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
1531
1532 status = "disabled";
1533
1534 rcar_sound,dvc {
1535 dvc0: dvc-0 {
1536 dmas = <&audma1 0xbc>;
1537 dma-names = "tx";
1538 };
1539 dvc1: dvc-1 {
1540 dmas = <&audma1 0xbe>;
1541 dma-names = "tx";
1542 }; 1661 };
1543 }; 1662 };
1544 1663
1545 rcar_sound,mix { 1664 prr: chipid@ff000044 {
1546 mix0: mix-0 { }; 1665 compatible = "renesas,prr";
1547 mix1: mix-1 { }; 1666 reg = <0 0xff000044 0 4>;
1548 }; 1667 };
1549 1668
1550 rcar_sound,ctu { 1669 cmt0: timer@ffca0000 {
1551 ctu00: ctu-0 { }; 1670 compatible = "renesas,r8a7791-cmt0",
1552 ctu01: ctu-1 { }; 1671 "renesas,rcar-gen2-cmt0";
1553 ctu02: ctu-2 { }; 1672 reg = <0 0xffca0000 0 0x1004>;
1554 ctu03: ctu-3 { }; 1673 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1555 ctu10: ctu-4 { }; 1674 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
1556 ctu11: ctu-5 { }; 1675 clocks = <&cpg CPG_MOD 124>;
1557 ctu12: ctu-6 { }; 1676 clock-names = "fck";
1558 ctu13: ctu-7 { }; 1677 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1678 resets = <&cpg 124>;
1679
1680 status = "disabled";
1559 }; 1681 };
1560 1682
1561 rcar_sound,src { 1683 cmt1: timer@e6130000 {
1562 src0: src-0 { 1684 compatible = "renesas,r8a7791-cmt1",
1563 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 1685 "renesas,rcar-gen2-cmt1";
1564 dmas = <&audma0 0x85>, <&audma1 0x9a>; 1686 reg = <0 0xe6130000 0 0x1004>;
1565 dma-names = "rx", "tx"; 1687 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1566 }; 1688 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1567 src1: src-1 { 1689 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1568 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 1690 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1569 dmas = <&audma0 0x87>, <&audma1 0x9c>; 1691 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1570 dma-names = "rx", "tx"; 1692 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1571 }; 1693 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1572 src2: src-2 { 1694 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1573 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 1695 clocks = <&cpg CPG_MOD 329>;
1574 dmas = <&audma0 0x89>, <&audma1 0x9e>; 1696 clock-names = "fck";
1575 dma-names = "rx", "tx"; 1697 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
1576 }; 1698 resets = <&cpg 329>;
1577 src3: src-3 { 1699
1578 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 1700 status = "disabled";
1579 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1580 dma-names = "rx", "tx";
1581 };
1582 src4: src-4 {
1583 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1584 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1585 dma-names = "rx", "tx";
1586 };
1587 src5: src-5 {
1588 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1589 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1590 dma-names = "rx", "tx";
1591 };
1592 src6: src-6 {
1593 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1594 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1595 dma-names = "rx", "tx";
1596 };
1597 src7: src-7 {
1598 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1599 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1600 dma-names = "rx", "tx";
1601 };
1602 src8: src-8 {
1603 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1604 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1605 dma-names = "rx", "tx";
1606 };
1607 src9: src-9 {
1608 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1609 dmas = <&audma0 0x97>, <&audma1 0xba>;
1610 dma-names = "rx", "tx";
1611 };
1612 }; 1701 };
1702 };
1613 1703
1614 rcar_sound,ssi { 1704 thermal-zones {
1615 ssi0: ssi-0 { 1705 cpu_thermal: cpu-thermal {
1616 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 1706 polling-delay-passive = <0>;
1617 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; 1707 polling-delay = <0>;
1618 dma-names = "rx", "tx", "rxu", "txu"; 1708
1619 }; 1709 thermal-sensors = <&thermal>;
1620 ssi1: ssi-1 { 1710
1621 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 1711 trips {
1622 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>; 1712 cpu-crit {
1623 dma-names = "rx", "tx", "rxu", "txu"; 1713 temperature = <95000>;
1624 }; 1714 hysteresis = <0>;
1625 ssi2: ssi-2 { 1715 type = "critical";
1626 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; 1716 };
1627 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
1628 dma-names = "rx", "tx", "rxu", "txu";
1629 };
1630 ssi3: ssi-3 {
1631 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1632 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
1633 dma-names = "rx", "tx", "rxu", "txu";
1634 };
1635 ssi4: ssi-4 {
1636 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1637 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
1638 dma-names = "rx", "tx", "rxu", "txu";
1639 };
1640 ssi5: ssi-5 {
1641 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1642 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
1643 dma-names = "rx", "tx", "rxu", "txu";
1644 };
1645 ssi6: ssi-6 {
1646 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1647 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
1648 dma-names = "rx", "tx", "rxu", "txu";
1649 };
1650 ssi7: ssi-7 {
1651 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1652 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
1653 dma-names = "rx", "tx", "rxu", "txu";
1654 };
1655 ssi8: ssi-8 {
1656 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1657 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
1658 dma-names = "rx", "tx", "rxu", "txu";
1659 }; 1717 };
1660 ssi9: ssi-9 { 1718 cooling-maps {
1661 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1662 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
1663 dma-names = "rx", "tx", "rxu", "txu";
1664 }; 1719 };
1665 }; 1720 };
1666 }; 1721 };
1722
1723 timer {
1724 compatible = "arm,armv7-timer";
1725 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1726 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1727 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1728 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
1729 };
1730
1731 /* External USB clock - can be overridden by the board */
1732 usb_extal_clk: usb_extal {
1733 compatible = "fixed-clock";
1734 #clock-cells = <0>;
1735 clock-frequency = <48000000>;
1736 };
1667}; 1737};
diff --git a/arch/arm/boot/dts/r8a7792.dtsi b/arch/arm/boot/dts/r8a7792.dtsi
index 3be15a158bad..268987ff0201 100644
--- a/arch/arm/boot/dts/r8a7792.dtsi
+++ b/arch/arm/boot/dts/r8a7792.dtsi
@@ -101,63 +101,6 @@
101 #size-cells = <2>; 101 #size-cells = <2>;
102 ranges; 102 ranges;
103 103
104 apmu@e6152000 {
105 compatible = "renesas,r8a7792-apmu", "renesas,apmu";
106 reg = <0 0xe6152000 0 0x188>;
107 cpus = <&cpu0 &cpu1>;
108 };
109
110 gic: interrupt-controller@f1001000 {
111 compatible = "arm,gic-400";
112 #interrupt-cells = <3>;
113 interrupt-controller;
114 reg = <0 0xf1001000 0 0x1000>,
115 <0 0xf1002000 0 0x2000>,
116 <0 0xf1004000 0 0x2000>,
117 <0 0xf1006000 0 0x2000>;
118 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
119 IRQ_TYPE_LEVEL_HIGH)>;
120 clocks = <&cpg CPG_MOD 408>;
121 clock-names = "clk";
122 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
123 resets = <&cpg 408>;
124 };
125
126 irqc: interrupt-controller@e61c0000 {
127 compatible = "renesas,irqc-r8a7792", "renesas,irqc";
128 #interrupt-cells = <2>;
129 interrupt-controller;
130 reg = <0 0xe61c0000 0 0x200>;
131 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
132 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
133 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
134 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
135 clocks = <&cpg CPG_MOD 407>;
136 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
137 resets = <&cpg 407>;
138 };
139
140 rst: reset-controller@e6160000 {
141 compatible = "renesas,r8a7792-rst";
142 reg = <0 0xe6160000 0 0x0100>;
143 };
144
145 prr: chipid@ff000044 {
146 compatible = "renesas,prr";
147 reg = <0 0xff000044 0 4>;
148 };
149
150 sysc: system-controller@e6180000 {
151 compatible = "renesas,r8a7792-sysc";
152 reg = <0 0xe6180000 0 0x0200>;
153 #power-domain-cells = <1>;
154 };
155
156 pfc: pin-controller@e6060000 {
157 compatible = "renesas,pfc-r8a7792";
158 reg = <0 0xe6060000 0 0x144>;
159 };
160
161 gpio0: gpio@e6050000 { 104 gpio0: gpio@e6050000 {
162 compatible = "renesas,gpio-r8a7792", 105 compatible = "renesas,gpio-r8a7792",
163 "renesas,rcar-gen2-gpio"; 106 "renesas,rcar-gen2-gpio";
@@ -338,6 +281,155 @@
338 resets = <&cpg 913>; 281 resets = <&cpg 913>;
339 }; 282 };
340 283
284 pfc: pin-controller@e6060000 {
285 compatible = "renesas,pfc-r8a7792";
286 reg = <0 0xe6060000 0 0x144>;
287 };
288
289 cpg: clock-controller@e6150000 {
290 compatible = "renesas,r8a7792-cpg-mssr";
291 reg = <0 0xe6150000 0 0x1000>;
292 clocks = <&extal_clk>;
293 clock-names = "extal";
294 #clock-cells = <2>;
295 #power-domain-cells = <0>;
296 #reset-cells = <1>;
297 };
298
299 apmu@e6152000 {
300 compatible = "renesas,r8a7792-apmu", "renesas,apmu";
301 reg = <0 0xe6152000 0 0x188>;
302 cpus = <&cpu0 &cpu1>;
303 };
304
305 rst: reset-controller@e6160000 {
306 compatible = "renesas,r8a7792-rst";
307 reg = <0 0xe6160000 0 0x0100>;
308 };
309
310 sysc: system-controller@e6180000 {
311 compatible = "renesas,r8a7792-sysc";
312 reg = <0 0xe6180000 0 0x0200>;
313 #power-domain-cells = <1>;
314 };
315
316 irqc: interrupt-controller@e61c0000 {
317 compatible = "renesas,irqc-r8a7792", "renesas,irqc";
318 #interrupt-cells = <2>;
319 interrupt-controller;
320 reg = <0 0xe61c0000 0 0x200>;
321 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
322 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
323 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
324 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
325 clocks = <&cpg CPG_MOD 407>;
326 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
327 resets = <&cpg 407>;
328 };
329
330 icram0: sram@e63a0000 {
331 compatible = "mmio-sram";
332 reg = <0 0xe63a0000 0 0x12000>;
333 };
334
335 icram1: sram@e63c0000 {
336 compatible = "mmio-sram";
337 reg = <0 0xe63c0000 0 0x1000>;
338 #address-cells = <1>;
339 #size-cells = <1>;
340 ranges = <0 0 0xe63c0000 0x1000>;
341
342 smp-sram@0 {
343 compatible = "renesas,smp-sram";
344 reg = <0 0x10>;
345 };
346 };
347
348 /* I2C doesn't need pinmux */
349 i2c0: i2c@e6508000 {
350 compatible = "renesas,i2c-r8a7792",
351 "renesas,rcar-gen2-i2c";
352 reg = <0 0xe6508000 0 0x40>;
353 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&cpg CPG_MOD 931>;
355 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
356 resets = <&cpg 931>;
357 i2c-scl-internal-delay-ns = <6>;
358 #address-cells = <1>;
359 #size-cells = <0>;
360 status = "disabled";
361 };
362
363 i2c1: i2c@e6518000 {
364 compatible = "renesas,i2c-r8a7792",
365 "renesas,rcar-gen2-i2c";
366 reg = <0 0xe6518000 0 0x40>;
367 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
368 clocks = <&cpg CPG_MOD 930>;
369 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
370 resets = <&cpg 930>;
371 i2c-scl-internal-delay-ns = <6>;
372 #address-cells = <1>;
373 #size-cells = <0>;
374 status = "disabled";
375 };
376
377 i2c2: i2c@e6530000 {
378 compatible = "renesas,i2c-r8a7792",
379 "renesas,rcar-gen2-i2c";
380 reg = <0 0xe6530000 0 0x40>;
381 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
382 clocks = <&cpg CPG_MOD 929>;
383 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
384 resets = <&cpg 929>;
385 i2c-scl-internal-delay-ns = <6>;
386 #address-cells = <1>;
387 #size-cells = <0>;
388 status = "disabled";
389 };
390
391 i2c3: i2c@e6540000 {
392 compatible = "renesas,i2c-r8a7792",
393 "renesas,rcar-gen2-i2c";
394 reg = <0 0xe6540000 0 0x40>;
395 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
396 clocks = <&cpg CPG_MOD 928>;
397 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
398 resets = <&cpg 928>;
399 i2c-scl-internal-delay-ns = <6>;
400 #address-cells = <1>;
401 #size-cells = <0>;
402 status = "disabled";
403 };
404
405 i2c4: i2c@e6520000 {
406 compatible = "renesas,i2c-r8a7792",
407 "renesas,rcar-gen2-i2c";
408 reg = <0 0xe6520000 0 0x40>;
409 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
410 clocks = <&cpg CPG_MOD 927>;
411 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
412 resets = <&cpg 927>;
413 i2c-scl-internal-delay-ns = <6>;
414 #address-cells = <1>;
415 #size-cells = <0>;
416 status = "disabled";
417 };
418
419 i2c5: i2c@e6528000 {
420 compatible = "renesas,i2c-r8a7792",
421 "renesas,rcar-gen2-i2c";
422 reg = <0 0xe6528000 0 0x40>;
423 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
424 clocks = <&cpg CPG_MOD 925>;
425 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
426 resets = <&cpg 925>;
427 i2c-scl-internal-delay-ns = <110>;
428 #address-cells = <1>;
429 #size-cells = <0>;
430 status = "disabled";
431 };
432
341 dmac0: dma-controller@e6700000 { 433 dmac0: dma-controller@e6700000 {
342 compatible = "renesas,dmac-r8a7792", 434 compatible = "renesas,dmac-r8a7792",
343 "renesas,rcar-dmac"; 435 "renesas,rcar-dmac";
@@ -404,6 +496,35 @@
404 dma-channels = <15>; 496 dma-channels = <15>;
405 }; 497 };
406 498
499 avb: ethernet@e6800000 {
500 compatible = "renesas,etheravb-r8a7792",
501 "renesas,etheravb-rcar-gen2";
502 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
503 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
504 clocks = <&cpg CPG_MOD 812>;
505 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
506 resets = <&cpg 812>;
507 #address-cells = <1>;
508 #size-cells = <0>;
509 status = "disabled";
510 };
511
512 qspi: spi@e6b10000 {
513 compatible = "renesas,qspi-r8a7792", "renesas,qspi";
514 reg = <0 0xe6b10000 0 0x2c>;
515 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
516 clocks = <&cpg CPG_MOD 917>;
517 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
518 <&dmac1 0x17>, <&dmac1 0x18>;
519 dma-names = "tx", "rx", "tx", "rx";
520 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
521 resets = <&cpg 917>;
522 num-cs = <1>;
523 #address-cells = <1>;
524 #size-cells = <0>;
525 status = "disabled";
526 };
527
407 scif0: serial@e6e60000 { 528 scif0: serial@e6e60000 {
408 compatible = "renesas,scif-r8a7792", 529 compatible = "renesas,scif-r8a7792",
409 "renesas,rcar-gen2-scif", "renesas,scif"; 530 "renesas,rcar-gen2-scif", "renesas,scif";
@@ -500,162 +621,6 @@
500 status = "disabled"; 621 status = "disabled";
501 }; 622 };
502 623
503 icram0: sram@e63a0000 {
504 compatible = "mmio-sram";
505 reg = <0 0xe63a0000 0 0x12000>;
506 };
507
508 icram1: sram@e63c0000 {
509 compatible = "mmio-sram";
510 reg = <0 0xe63c0000 0 0x1000>;
511 #address-cells = <1>;
512 #size-cells = <1>;
513 ranges = <0 0 0xe63c0000 0x1000>;
514
515 smp-sram@0 {
516 compatible = "renesas,smp-sram";
517 reg = <0 0x10>;
518 };
519 };
520
521 sdhi0: sd@ee100000 {
522 compatible = "renesas,sdhi-r8a7792",
523 "renesas,rcar-gen2-sdhi";
524 reg = <0 0xee100000 0 0x328>;
525 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
526 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
527 <&dmac1 0xcd>, <&dmac1 0xce>;
528 dma-names = "tx", "rx", "tx", "rx";
529 clocks = <&cpg CPG_MOD 314>;
530 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
531 resets = <&cpg 314>;
532 status = "disabled";
533 };
534
535 jpu: jpeg-codec@fe980000 {
536 compatible = "renesas,jpu-r8a7792",
537 "renesas,rcar-gen2-jpu";
538 reg = <0 0xfe980000 0 0x10300>;
539 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
540 clocks = <&cpg CPG_MOD 106>;
541 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
542 resets = <&cpg 106>;
543 };
544
545 avb: ethernet@e6800000 {
546 compatible = "renesas,etheravb-r8a7792",
547 "renesas,etheravb-rcar-gen2";
548 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
549 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
550 clocks = <&cpg CPG_MOD 812>;
551 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
552 resets = <&cpg 812>;
553 #address-cells = <1>;
554 #size-cells = <0>;
555 status = "disabled";
556 };
557
558 /* I2C doesn't need pinmux */
559 i2c0: i2c@e6508000 {
560 compatible = "renesas,i2c-r8a7792",
561 "renesas,rcar-gen2-i2c";
562 reg = <0 0xe6508000 0 0x40>;
563 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
564 clocks = <&cpg CPG_MOD 931>;
565 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
566 resets = <&cpg 931>;
567 i2c-scl-internal-delay-ns = <6>;
568 #address-cells = <1>;
569 #size-cells = <0>;
570 status = "disabled";
571 };
572
573 i2c1: i2c@e6518000 {
574 compatible = "renesas,i2c-r8a7792",
575 "renesas,rcar-gen2-i2c";
576 reg = <0 0xe6518000 0 0x40>;
577 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
578 clocks = <&cpg CPG_MOD 930>;
579 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
580 resets = <&cpg 930>;
581 i2c-scl-internal-delay-ns = <6>;
582 #address-cells = <1>;
583 #size-cells = <0>;
584 status = "disabled";
585 };
586
587 i2c2: i2c@e6530000 {
588 compatible = "renesas,i2c-r8a7792",
589 "renesas,rcar-gen2-i2c";
590 reg = <0 0xe6530000 0 0x40>;
591 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
592 clocks = <&cpg CPG_MOD 929>;
593 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
594 resets = <&cpg 929>;
595 i2c-scl-internal-delay-ns = <6>;
596 #address-cells = <1>;
597 #size-cells = <0>;
598 status = "disabled";
599 };
600
601 i2c3: i2c@e6540000 {
602 compatible = "renesas,i2c-r8a7792",
603 "renesas,rcar-gen2-i2c";
604 reg = <0 0xe6540000 0 0x40>;
605 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
606 clocks = <&cpg CPG_MOD 928>;
607 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
608 resets = <&cpg 928>;
609 i2c-scl-internal-delay-ns = <6>;
610 #address-cells = <1>;
611 #size-cells = <0>;
612 status = "disabled";
613 };
614
615 i2c4: i2c@e6520000 {
616 compatible = "renesas,i2c-r8a7792",
617 "renesas,rcar-gen2-i2c";
618 reg = <0 0xe6520000 0 0x40>;
619 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
620 clocks = <&cpg CPG_MOD 927>;
621 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
622 resets = <&cpg 927>;
623 i2c-scl-internal-delay-ns = <6>;
624 #address-cells = <1>;
625 #size-cells = <0>;
626 status = "disabled";
627 };
628
629 i2c5: i2c@e6528000 {
630 compatible = "renesas,i2c-r8a7792",
631 "renesas,rcar-gen2-i2c";
632 reg = <0 0xe6528000 0 0x40>;
633 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
634 clocks = <&cpg CPG_MOD 925>;
635 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
636 resets = <&cpg 925>;
637 i2c-scl-internal-delay-ns = <110>;
638 #address-cells = <1>;
639 #size-cells = <0>;
640 status = "disabled";
641 };
642
643 qspi: spi@e6b10000 {
644 compatible = "renesas,qspi-r8a7792", "renesas,qspi";
645 reg = <0 0xe6b10000 0 0x2c>;
646 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
647 clocks = <&cpg CPG_MOD 917>;
648 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
649 <&dmac1 0x17>, <&dmac1 0x18>;
650 dma-names = "tx", "rx", "tx", "rx";
651 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
652 resets = <&cpg 917>;
653 num-cs = <1>;
654 #address-cells = <1>;
655 #size-cells = <0>;
656 status = "disabled";
657 };
658
659 msiof0: spi@e6e20000 { 624 msiof0: spi@e6e20000 {
660 compatible = "renesas,msiof-r8a7792", 625 compatible = "renesas,msiof-r8a7792",
661 "renesas,rcar-gen2-msiof"; 626 "renesas,rcar-gen2-msiof";
@@ -688,34 +653,6 @@
688 status = "disabled"; 653 status = "disabled";
689 }; 654 };
690 655
691 du: display@feb00000 {
692 compatible = "renesas,du-r8a7792";
693 reg = <0 0xfeb00000 0 0x40000>;
694 reg-names = "du";
695 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
696 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
697 clocks = <&cpg CPG_MOD 724>,
698 <&cpg CPG_MOD 723>;
699 clock-names = "du.0", "du.1";
700 status = "disabled";
701
702 ports {
703 #address-cells = <1>;
704 #size-cells = <0>;
705
706 port@0 {
707 reg = <0>;
708 du_out_rgb0: endpoint {
709 };
710 };
711 port@1 {
712 reg = <1>;
713 du_out_rgb1: endpoint {
714 };
715 };
716 };
717 };
718
719 can0: can@e6e80000 { 656 can0: can@e6e80000 {
720 compatible = "renesas,can-r8a7792", 657 compatible = "renesas,can-r8a7792",
721 "renesas,rcar-gen2-can"; 658 "renesas,rcar-gen2-can";
@@ -808,6 +745,36 @@
808 status = "disabled"; 745 status = "disabled";
809 }; 746 };
810 747
748 sdhi0: sd@ee100000 {
749 compatible = "renesas,sdhi-r8a7792",
750 "renesas,rcar-gen2-sdhi";
751 reg = <0 0xee100000 0 0x328>;
752 interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
753 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
754 <&dmac1 0xcd>, <&dmac1 0xce>;
755 dma-names = "tx", "rx", "tx", "rx";
756 clocks = <&cpg CPG_MOD 314>;
757 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
758 resets = <&cpg 314>;
759 status = "disabled";
760 };
761
762 gic: interrupt-controller@f1001000 {
763 compatible = "arm,gic-400";
764 #interrupt-cells = <3>;
765 interrupt-controller;
766 reg = <0 0xf1001000 0 0x1000>,
767 <0 0xf1002000 0 0x2000>,
768 <0 0xf1004000 0 0x2000>,
769 <0 0xf1006000 0 0x2000>;
770 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
771 IRQ_TYPE_LEVEL_HIGH)>;
772 clocks = <&cpg CPG_MOD 408>;
773 clock-names = "clk";
774 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
775 resets = <&cpg 408>;
776 };
777
811 vsp@fe928000 { 778 vsp@fe928000 {
812 compatible = "renesas,vsp1"; 779 compatible = "renesas,vsp1";
813 reg = <0 0xfe928000 0 0x8000>; 780 reg = <0 0xfe928000 0 0x8000>;
@@ -835,14 +802,47 @@
835 resets = <&cpg 127>; 802 resets = <&cpg 127>;
836 }; 803 };
837 804
838 cpg: clock-controller@e6150000 { 805 jpu: jpeg-codec@fe980000 {
839 compatible = "renesas,r8a7792-cpg-mssr"; 806 compatible = "renesas,jpu-r8a7792",
840 reg = <0 0xe6150000 0 0x1000>; 807 "renesas,rcar-gen2-jpu";
841 clocks = <&extal_clk>; 808 reg = <0 0xfe980000 0 0x10300>;
842 clock-names = "extal"; 809 interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
843 #clock-cells = <2>; 810 clocks = <&cpg CPG_MOD 106>;
844 #power-domain-cells = <0>; 811 power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
845 #reset-cells = <1>; 812 resets = <&cpg 106>;
813 };
814
815 du: display@feb00000 {
816 compatible = "renesas,du-r8a7792";
817 reg = <0 0xfeb00000 0 0x40000>;
818 reg-names = "du";
819 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
820 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
821 clocks = <&cpg CPG_MOD 724>,
822 <&cpg CPG_MOD 723>;
823 clock-names = "du.0", "du.1";
824 status = "disabled";
825
826 ports {
827 #address-cells = <1>;
828 #size-cells = <0>;
829
830 port@0 {
831 reg = <0>;
832 du_out_rgb0: endpoint {
833 };
834 };
835 port@1 {
836 reg = <1>;
837 du_out_rgb1: endpoint {
838 };
839 };
840 };
841 };
842
843 prr: chipid@ff000044 {
844 compatible = "renesas,prr";
845 reg = <0 0xff000044 0 4>;
846 }; 846 };
847 }; 847 };
848 848
diff --git a/arch/arm/boot/dts/r8a7793-gose.dts b/arch/arm/boot/dts/r8a7793-gose.dts
index 51b3ffac8efa..9ed6961f2d9a 100644
--- a/arch/arm/boot/dts/r8a7793-gose.dts
+++ b/arch/arm/boot/dts/r8a7793-gose.dts
@@ -48,6 +48,10 @@
48 aliases { 48 aliases {
49 serial0 = &scif0; 49 serial0 = &scif0;
50 serial1 = &scif1; 50 serial1 = &scif1;
51 i2c9 = &gpioi2c2;
52 i2c10 = &gpioi2c4;
53 i2c11 = &i2chdmi;
54 i2c12 = &i2cexio4;
51 }; 55 };
52 56
53 chosen { 57 chosen {
@@ -296,6 +300,146 @@
296 #clock-cells = <0>; 300 #clock-cells = <0>;
297 clock-frequency = <148500000>; 301 clock-frequency = <148500000>;
298 }; 302 };
303
304 gpioi2c2: i2c-9 {
305 #address-cells = <1>;
306 #size-cells = <0>;
307 compatible = "i2c-gpio";
308 status = "disabled";
309 scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
310 sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
311 i2c-gpio,delay-us = <5>;
312 };
313
314 gpioi2c4: i2c-10 {
315 #address-cells = <1>;
316 #size-cells = <0>;
317 compatible = "i2c-gpio";
318 status = "disabled";
319 scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
320 sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
321 i2c-gpio,delay-us = <5>;
322 };
323
324 /*
325 * A fallback to GPIO is provided for I2C2.
326 */
327 i2chdmi: i2c-11 {
328 compatible = "i2c-demux-pinctrl";
329 i2c-parent = <&i2c2>, <&gpioi2c2>;
330 i2c-bus-name = "i2c-hdmi";
331 #address-cells = <1>;
332 #size-cells = <0>;
333
334 ak4643: codec@12 {
335 compatible = "asahi-kasei,ak4643";
336 #sound-dai-cells = <0>;
337 reg = <0x12>;
338 };
339
340 composite-in@20 {
341 compatible = "adi,adv7180cp";
342 reg = <0x20>;
343 remote = <&vin1>;
344
345 port {
346 #address-cells = <1>;
347 #size-cells = <0>;
348
349 port@0 {
350 reg = <0>;
351 adv7180_in: endpoint {
352 remote-endpoint = <&composite_con_in>;
353 };
354 };
355
356 port@3 {
357 reg = <3>;
358 adv7180_out: endpoint {
359 bus-width = <8>;
360 remote-endpoint = <&vin1ep>;
361 };
362 };
363 };
364 };
365
366 hdmi@39 {
367 compatible = "adi,adv7511w";
368 reg = <0x39>;
369 interrupt-parent = <&gpio3>;
370 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
371
372 adi,input-depth = <8>;
373 adi,input-colorspace = "rgb";
374 adi,input-clock = "1x";
375 adi,input-style = <1>;
376 adi,input-justification = "evenly";
377
378 ports {
379 #address-cells = <1>;
380 #size-cells = <0>;
381
382 port@0 {
383 reg = <0>;
384 adv7511_in: endpoint {
385 remote-endpoint = <&du_out_rgb>;
386 };
387 };
388
389 port@1 {
390 reg = <1>;
391 adv7511_out: endpoint {
392 remote-endpoint = <&hdmi_con_out>;
393 };
394 };
395 };
396 };
397
398 hdmi-in@4c {
399 compatible = "adi,adv7612";
400 reg = <0x4c>;
401 interrupt-parent = <&gpio4>;
402 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
403 default-input = <0>;
404
405 port {
406 #address-cells = <1>;
407 #size-cells = <0>;
408
409 port@0 {
410 reg = <0>;
411 adv7612_in: endpoint {
412 remote-endpoint = <&hdmi_con_in>;
413 };
414 };
415
416 port@2 {
417 reg = <2>;
418 adv7612_out: endpoint {
419 remote-endpoint = <&vin0ep2>;
420 };
421 };
422 };
423 };
424
425 eeprom@50 {
426 compatible = "renesas,r1ex24002", "atmel,24c02";
427 reg = <0x50>;
428 pagesize = <16>;
429 };
430 };
431
432 /*
433 * I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
434 * A fallback to GPIO is provided.
435 */
436 i2cexio4: i2c-12 {
437 compatible = "i2c-demux-pinctrl";
438 i2c-parent = <&i2c4>, <&gpioi2c4>;
439 i2c-bus-name = "i2c-exio4";
440 #address-cells = <1>;
441 #size-cells = <0>;
442 };
299}; 443};
300 444
301&du { 445&du {
@@ -334,6 +478,11 @@
334 function = "i2c2"; 478 function = "i2c2";
335 }; 479 };
336 480
481 i2c4_pins: i2c4 {
482 groups = "i2c4_c";
483 function = "i2c4";
484 };
485
337 du_pins: du { 486 du_pins: du {
338 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0"; 487 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
339 function = "du"; 488 function = "du";
@@ -544,107 +693,11 @@
544 693
545&i2c2 { 694&i2c2 {
546 pinctrl-0 = <&i2c2_pins>; 695 pinctrl-0 = <&i2c2_pins>;
547 pinctrl-names = "default"; 696 pinctrl-names = "i2c-hdmi";
548 697
549 status = "okay"; 698 status = "okay";
550 clock-frequency = <100000>; 699 clock-frequency = <100000>;
551 700
552 ak4643: codec@12 {
553 compatible = "asahi-kasei,ak4643";
554 #sound-dai-cells = <0>;
555 reg = <0x12>;
556 };
557
558 composite-in@20 {
559 compatible = "adi,adv7180cp";
560 reg = <0x20>;
561 remote = <&vin1>;
562
563 port {
564 #address-cells = <1>;
565 #size-cells = <0>;
566
567 port@0 {
568 reg = <0>;
569 adv7180_in: endpoint {
570 remote-endpoint = <&composite_con_in>;
571 };
572 };
573
574 port@3 {
575 reg = <3>;
576 adv7180_out: endpoint {
577 bus-width = <8>;
578 remote-endpoint = <&vin1ep>;
579 };
580 };
581 };
582 };
583
584 hdmi@39 {
585 compatible = "adi,adv7511w";
586 reg = <0x39>;
587 interrupt-parent = <&gpio3>;
588 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
589
590 adi,input-depth = <8>;
591 adi,input-colorspace = "rgb";
592 adi,input-clock = "1x";
593 adi,input-style = <1>;
594 adi,input-justification = "evenly";
595
596 ports {
597 #address-cells = <1>;
598 #size-cells = <0>;
599
600 port@0 {
601 reg = <0>;
602 adv7511_in: endpoint {
603 remote-endpoint = <&du_out_rgb>;
604 };
605 };
606
607 port@1 {
608 reg = <1>;
609 adv7511_out: endpoint {
610 remote-endpoint = <&hdmi_con_out>;
611 };
612 };
613 };
614 };
615
616 hdmi-in@4c {
617 compatible = "adi,adv7612";
618 reg = <0x4c>;
619 interrupt-parent = <&gpio4>;
620 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
621 default-input = <0>;
622
623 port {
624 #address-cells = <1>;
625 #size-cells = <0>;
626
627 port@0 {
628 reg = <0>;
629 adv7612_in: endpoint {
630 remote-endpoint = <&hdmi_con_in>;
631 };
632 };
633
634 port@2 {
635 reg = <2>;
636 adv7612_out: endpoint {
637 remote-endpoint = <&vin0ep2>;
638 };
639 };
640 };
641 };
642
643 eeprom@50 {
644 compatible = "renesas,r1ex24002", "atmel,24c02";
645 reg = <0x50>;
646 pagesize = <16>;
647 };
648}; 701};
649 702
650&i2c6 { 703&i2c6 {
@@ -668,6 +721,11 @@
668 }; 721 };
669}; 722};
670 723
724&i2c4 {
725 pinctrl-0 = <&i2c4_pins>;
726 pinctrl-names = "i2c-exio4";
727};
728
671&rcar_sound { 729&rcar_sound {
672 pinctrl-0 = <&sound_pins &sound_clk_pins>; 730 pinctrl-0 = <&sound_pins &sound_clk_pins>;
673 pinctrl-names = "default"; 731 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/r8a7793.dtsi b/arch/arm/boot/dts/r8a7793.dtsi
index 039b22517526..f9c5a557107d 100644
--- a/arch/arm/boot/dts/r8a7793.dtsi
+++ b/arch/arm/boot/dts/r8a7793.dtsi
@@ -15,7 +15,6 @@
15 15
16/ { 16/ {
17 compatible = "renesas,r8a7793"; 17 compatible = "renesas,r8a7793";
18 interrupt-parent = <&gic>;
19 #address-cells = <2>; 18 #address-cells = <2>;
20 #size-cells = <2>; 19 #size-cells = <2>;
21 20
@@ -32,6 +31,35 @@
32 spi0 = &qspi; 31 spi0 = &qspi;
33 }; 32 };
34 33
34 /*
35 * The external audio clocks are configured as 0 Hz fixed frequency
36 * clocks by default.
37 * Boards that provide audio clocks should override them.
38 */
39 audio_clk_a: audio_clk_a {
40 compatible = "fixed-clock";
41 #clock-cells = <0>;
42 clock-frequency = <0>;
43 };
44 audio_clk_b: audio_clk_b {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <0>;
48 };
49 audio_clk_c: audio_clk_c {
50 compatible = "fixed-clock";
51 #clock-cells = <0>;
52 clock-frequency = <0>;
53 };
54
55 /* External CAN clock */
56 can_clk: can {
57 compatible = "fixed-clock";
58 #clock-cells = <0>;
59 /* This value must be overridden by the board. */
60 clock-frequency = <0>;
61 };
62
35 cpus { 63 cpus {
36 #address-cells = <1>; 64 #address-cells = <1>;
37 #size-cells = <0>; 65 #size-cells = <0>;
@@ -74,1261 +102,1295 @@
74 }; 102 };
75 }; 103 };
76 104
77 apmu@e6152000 { 105 /* External root clock */
78 compatible = "renesas,r8a7793-apmu", "renesas,apmu"; 106 extal_clk: extal {
79 reg = <0 0xe6152000 0 0x188>; 107 compatible = "fixed-clock";
80 cpus = <&cpu0 &cpu1>; 108 #clock-cells = <0>;
109 /* This value must be overridden by the board. */
110 clock-frequency = <0>;
81 }; 111 };
82 112
83 thermal-zones { 113 /* External SCIF clock */
84 cpu_thermal: cpu-thermal { 114 scif_clk: scif {
85 polling-delay-passive = <0>; 115 compatible = "fixed-clock";
86 polling-delay = <0>; 116 #clock-cells = <0>;
117 /* This value must be overridden by the board. */
118 clock-frequency = <0>;
119 };
87 120
88 thermal-sensors = <&thermal>; 121 soc {
122 compatible = "simple-bus";
123 interrupt-parent = <&gic>;
124
125 #address-cells = <2>;
126 #size-cells = <2>;
127 ranges;
128
129 gpio0: gpio@e6050000 {
130 compatible = "renesas,gpio-r8a7793",
131 "renesas,rcar-gen2-gpio";
132 reg = <0 0xe6050000 0 0x50>;
133 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
134 #gpio-cells = <2>;
135 gpio-controller;
136 gpio-ranges = <&pfc 0 0 32>;
137 #interrupt-cells = <2>;
138 interrupt-controller;
139 clocks = <&cpg CPG_MOD 912>;
140 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
141 resets = <&cpg 912>;
142 };
89 143
90 trips { 144 gpio1: gpio@e6051000 {
91 cpu-crit { 145 compatible = "renesas,gpio-r8a7793",
92 temperature = <95000>; 146 "renesas,rcar-gen2-gpio";
93 hysteresis = <0>; 147 reg = <0 0xe6051000 0 0x50>;
94 type = "critical"; 148 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
95 }; 149 #gpio-cells = <2>;
96 }; 150 gpio-controller;
97 cooling-maps { 151 gpio-ranges = <&pfc 0 32 26>;
98 }; 152 #interrupt-cells = <2>;
153 interrupt-controller;
154 clocks = <&cpg CPG_MOD 911>;
155 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
156 resets = <&cpg 911>;
99 }; 157 };
100 };
101 158
102 gic: interrupt-controller@f1001000 { 159 gpio2: gpio@e6052000 {
103 compatible = "arm,gic-400"; 160 compatible = "renesas,gpio-r8a7793",
104 #interrupt-cells = <3>; 161 "renesas,rcar-gen2-gpio";
105 #address-cells = <0>; 162 reg = <0 0xe6052000 0 0x50>;
106 interrupt-controller; 163 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
107 reg = <0 0xf1001000 0 0x1000>, 164 #gpio-cells = <2>;
108 <0 0xf1002000 0 0x2000>, 165 gpio-controller;
109 <0 0xf1004000 0 0x2000>, 166 gpio-ranges = <&pfc 0 64 32>;
110 <0 0xf1006000 0 0x2000>; 167 #interrupt-cells = <2>;
111 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 168 interrupt-controller;
112 clocks = <&cpg CPG_MOD 408>; 169 clocks = <&cpg CPG_MOD 910>;
113 clock-names = "clk"; 170 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
114 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 171 resets = <&cpg 910>;
115 resets = <&cpg 408>; 172 };
116 };
117 173
118 gpio0: gpio@e6050000 { 174 gpio3: gpio@e6053000 {
119 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 175 compatible = "renesas,gpio-r8a7793",
120 reg = <0 0xe6050000 0 0x50>; 176 "renesas,rcar-gen2-gpio";
121 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 177 reg = <0 0xe6053000 0 0x50>;
122 #gpio-cells = <2>; 178 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
123 gpio-controller; 179 #gpio-cells = <2>;
124 gpio-ranges = <&pfc 0 0 32>; 180 gpio-controller;
125 #interrupt-cells = <2>; 181 gpio-ranges = <&pfc 0 96 32>;
126 interrupt-controller; 182 #interrupt-cells = <2>;
127 clocks = <&cpg CPG_MOD 912>; 183 interrupt-controller;
128 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 184 clocks = <&cpg CPG_MOD 909>;
129 resets = <&cpg 912>; 185 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
130 }; 186 resets = <&cpg 909>;
187 };
131 188
132 gpio1: gpio@e6051000 { 189 gpio4: gpio@e6054000 {
133 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 190 compatible = "renesas,gpio-r8a7793",
134 reg = <0 0xe6051000 0 0x50>; 191 "renesas,rcar-gen2-gpio";
135 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 192 reg = <0 0xe6054000 0 0x50>;
136 #gpio-cells = <2>; 193 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
137 gpio-controller; 194 #gpio-cells = <2>;
138 gpio-ranges = <&pfc 0 32 26>; 195 gpio-controller;
139 #interrupt-cells = <2>; 196 gpio-ranges = <&pfc 0 128 32>;
140 interrupt-controller; 197 #interrupt-cells = <2>;
141 clocks = <&cpg CPG_MOD 911>; 198 interrupt-controller;
142 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 199 clocks = <&cpg CPG_MOD 908>;
143 resets = <&cpg 911>; 200 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
144 }; 201 resets = <&cpg 908>;
202 };
145 203
146 gpio2: gpio@e6052000 { 204 gpio5: gpio@e6055000 {
147 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 205 compatible = "renesas,gpio-r8a7793",
148 reg = <0 0xe6052000 0 0x50>; 206 "renesas,rcar-gen2-gpio";
149 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 207 reg = <0 0xe6055000 0 0x50>;
150 #gpio-cells = <2>; 208 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
151 gpio-controller; 209 #gpio-cells = <2>;
152 gpio-ranges = <&pfc 0 64 32>; 210 gpio-controller;
153 #interrupt-cells = <2>; 211 gpio-ranges = <&pfc 0 160 32>;
154 interrupt-controller; 212 #interrupt-cells = <2>;
155 clocks = <&cpg CPG_MOD 910>; 213 interrupt-controller;
156 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 214 clocks = <&cpg CPG_MOD 907>;
157 resets = <&cpg 910>; 215 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
158 }; 216 resets = <&cpg 907>;
217 };
159 218
160 gpio3: gpio@e6053000 { 219 gpio6: gpio@e6055400 {
161 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 220 compatible = "renesas,gpio-r8a7793",
162 reg = <0 0xe6053000 0 0x50>; 221 "renesas,rcar-gen2-gpio";
163 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 222 reg = <0 0xe6055400 0 0x50>;
164 #gpio-cells = <2>; 223 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
165 gpio-controller; 224 #gpio-cells = <2>;
166 gpio-ranges = <&pfc 0 96 32>; 225 gpio-controller;
167 #interrupt-cells = <2>; 226 gpio-ranges = <&pfc 0 192 32>;
168 interrupt-controller; 227 #interrupt-cells = <2>;
169 clocks = <&cpg CPG_MOD 909>; 228 interrupt-controller;
170 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 229 clocks = <&cpg CPG_MOD 905>;
171 resets = <&cpg 909>; 230 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
172 }; 231 resets = <&cpg 905>;
232 };
173 233
174 gpio4: gpio@e6054000 { 234 gpio7: gpio@e6055800 {
175 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 235 compatible = "renesas,gpio-r8a7793",
176 reg = <0 0xe6054000 0 0x50>; 236 "renesas,rcar-gen2-gpio";
177 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 237 reg = <0 0xe6055800 0 0x50>;
178 #gpio-cells = <2>; 238 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
179 gpio-controller; 239 #gpio-cells = <2>;
180 gpio-ranges = <&pfc 0 128 32>; 240 gpio-controller;
181 #interrupt-cells = <2>; 241 gpio-ranges = <&pfc 0 224 26>;
182 interrupt-controller; 242 #interrupt-cells = <2>;
183 clocks = <&cpg CPG_MOD 908>; 243 interrupt-controller;
184 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 244 clocks = <&cpg CPG_MOD 904>;
185 resets = <&cpg 908>; 245 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
186 }; 246 resets = <&cpg 904>;
247 };
187 248
188 gpio5: gpio@e6055000 { 249 pfc: pin-controller@e6060000 {
189 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 250 compatible = "renesas,pfc-r8a7793";
190 reg = <0 0xe6055000 0 0x50>; 251 reg = <0 0xe6060000 0 0x250>;
191 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 252 };
192 #gpio-cells = <2>;
193 gpio-controller;
194 gpio-ranges = <&pfc 0 160 32>;
195 #interrupt-cells = <2>;
196 interrupt-controller;
197 clocks = <&cpg CPG_MOD 907>;
198 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
199 resets = <&cpg 907>;
200 };
201 253
202 gpio6: gpio@e6055400 { 254 /* Special CPG clocks */
203 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 255 cpg: clock-controller@e6150000 {
204 reg = <0 0xe6055400 0 0x50>; 256 compatible = "renesas,r8a7793-cpg-mssr";
205 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 257 reg = <0 0xe6150000 0 0x1000>;
206 #gpio-cells = <2>; 258 clocks = <&extal_clk>, <&usb_extal_clk>;
207 gpio-controller; 259 clock-names = "extal", "usb_extal";
208 gpio-ranges = <&pfc 0 192 32>; 260 #clock-cells = <2>;
209 #interrupt-cells = <2>; 261 #power-domain-cells = <0>;
210 interrupt-controller; 262 #reset-cells = <1>;
211 clocks = <&cpg CPG_MOD 905>; 263 };
212 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
213 resets = <&cpg 905>;
214 };
215 264
216 gpio7: gpio@e6055800 { 265 apmu@e6152000 {
217 compatible = "renesas,gpio-r8a7793", "renesas,rcar-gen2-gpio"; 266 compatible = "renesas,r8a7793-apmu", "renesas,apmu";
218 reg = <0 0xe6055800 0 0x50>; 267 reg = <0 0xe6152000 0 0x188>;
219 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 268 cpus = <&cpu0 &cpu1>;
220 #gpio-cells = <2>; 269 };
221 gpio-controller;
222 gpio-ranges = <&pfc 0 224 26>;
223 #interrupt-cells = <2>;
224 interrupt-controller;
225 clocks = <&cpg CPG_MOD 904>;
226 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
227 resets = <&cpg 904>;
228 };
229 270
230 thermal: thermal@e61f0000 { 271 rst: reset-controller@e6160000 {
231 compatible = "renesas,thermal-r8a7793", 272 compatible = "renesas,r8a7793-rst";
232 "renesas,rcar-gen2-thermal", 273 reg = <0 0xe6160000 0 0x0100>;
233 "renesas,rcar-thermal"; 274 };
234 reg = <0 0xe61f0000 0 0x14>, <0 0xe61f0100 0 0x38>;
235 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
236 clocks = <&cpg CPG_MOD 522>;
237 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
238 resets = <&cpg 522>;
239 #thermal-sensor-cells = <0>;
240 };
241 275
242 timer { 276 sysc: system-controller@e6180000 {
243 compatible = "arm,armv7-timer"; 277 compatible = "renesas,r8a7793-sysc";
244 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 278 reg = <0 0xe6180000 0 0x0200>;
245 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 279 #power-domain-cells = <1>;
246 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 280 };
247 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
248 };
249 281
250 cmt0: timer@ffca0000 { 282 irqc0: interrupt-controller@e61c0000 {
251 compatible = "renesas,r8a7793-cmt0", "renesas,rcar-gen2-cmt0"; 283 compatible = "renesas,irqc-r8a7793", "renesas,irqc";
252 reg = <0 0xffca0000 0 0x1004>; 284 #interrupt-cells = <2>;
253 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 285 interrupt-controller;
254 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 286 reg = <0 0xe61c0000 0 0x200>;
255 clocks = <&cpg CPG_MOD 124>; 287 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
256 clock-names = "fck"; 288 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
257 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 289 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
258 resets = <&cpg 124>; 290 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
259 291 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
260 status = "disabled"; 292 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
261 }; 293 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
294 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
295 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
296 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
297 clocks = <&cpg CPG_MOD 407>;
298 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
299 resets = <&cpg 407>;
300 };
262 301
263 cmt1: timer@e6130000 { 302 thermal: thermal@e61f0000 {
264 compatible = "renesas,r8a7793-cmt1", "renesas,rcar-gen2-cmt1"; 303 compatible = "renesas,thermal-r8a7793",
265 reg = <0 0xe6130000 0 0x1004>; 304 "renesas,rcar-gen2-thermal",
266 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 305 "renesas,rcar-thermal";
267 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 306 reg = <0 0xe61f0000 0 0x10>, <0 0xe61f0100 0 0x38>;
268 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 307 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
269 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 308 clocks = <&cpg CPG_MOD 522>;
270 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 309 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
271 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 310 resets = <&cpg 522>;
272 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 311 #thermal-sensor-cells = <0>;
273 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 312 };
274 clocks = <&cpg CPG_MOD 329>;
275 clock-names = "fck";
276 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
277 resets = <&cpg 329>;
278
279 status = "disabled";
280 };
281 313
282 irqc0: interrupt-controller@e61c0000 { 314 ipmmu_sy0: mmu@e6280000 {
283 compatible = "renesas,irqc-r8a7793", "renesas,irqc"; 315 compatible = "renesas,ipmmu-r8a7793",
284 #interrupt-cells = <2>; 316 "renesas,ipmmu-vmsa";
285 interrupt-controller; 317 reg = <0 0xe6280000 0 0x1000>;
286 reg = <0 0xe61c0000 0 0x200>; 318 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
287 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 319 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
288 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 320 #iommu-cells = <1>;
289 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 321 status = "disabled";
290 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 322 };
291 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
292 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
293 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
294 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
295 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
296 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
297 clocks = <&cpg CPG_MOD 407>;
298 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
299 resets = <&cpg 407>;
300 };
301 323
302 dmac0: dma-controller@e6700000 { 324 ipmmu_sy1: mmu@e6290000 {
303 compatible = "renesas,dmac-r8a7793", "renesas,rcar-dmac"; 325 compatible = "renesas,ipmmu-r8a7793",
304 reg = <0 0xe6700000 0 0x20000>; 326 "renesas,ipmmu-vmsa";
305 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 327 reg = <0 0xe6290000 0 0x1000>;
306 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH 328 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
307 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH 329 #iommu-cells = <1>;
308 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH 330 status = "disabled";
309 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 331 };
310 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
311 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
312 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
313 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
314 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
315 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
316 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
317 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
318 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
319 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
320 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
321 interrupt-names = "error",
322 "ch0", "ch1", "ch2", "ch3",
323 "ch4", "ch5", "ch6", "ch7",
324 "ch8", "ch9", "ch10", "ch11",
325 "ch12", "ch13", "ch14";
326 clocks = <&cpg CPG_MOD 219>;
327 clock-names = "fck";
328 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
329 resets = <&cpg 219>;
330 #dma-cells = <1>;
331 dma-channels = <15>;
332 };
333 332
334 dmac1: dma-controller@e6720000 { 333 ipmmu_ds: mmu@e6740000 {
335 compatible = "renesas,dmac-r8a7793", "renesas,rcar-dmac"; 334 compatible = "renesas,ipmmu-r8a7793",
336 reg = <0 0xe6720000 0 0x20000>; 335 "renesas,ipmmu-vmsa";
337 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 336 reg = <0 0xe6740000 0 0x1000>;
338 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 337 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
339 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH 338 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
340 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 339 #iommu-cells = <1>;
341 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH 340 status = "disabled";
342 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH 341 };
343 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
344 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
345 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
346 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
347 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
348 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
349 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
350 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
351 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
352 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
353 interrupt-names = "error",
354 "ch0", "ch1", "ch2", "ch3",
355 "ch4", "ch5", "ch6", "ch7",
356 "ch8", "ch9", "ch10", "ch11",
357 "ch12", "ch13", "ch14";
358 clocks = <&cpg CPG_MOD 218>;
359 clock-names = "fck";
360 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
361 resets = <&cpg 218>;
362 #dma-cells = <1>;
363 dma-channels = <15>;
364 };
365 342
366 audma0: dma-controller@ec700000 { 343 ipmmu_mp: mmu@ec680000 {
367 compatible = "renesas,dmac-r8a7793", "renesas,rcar-dmac"; 344 compatible = "renesas,ipmmu-r8a7793",
368 reg = <0 0xec700000 0 0x10000>; 345 "renesas,ipmmu-vmsa";
369 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH 346 reg = <0 0xec680000 0 0x1000>;
370 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 347 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
371 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 348 #iommu-cells = <1>;
372 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 349 status = "disabled";
373 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 350 };
374 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
375 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
376 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
377 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
378 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
379 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
380 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
381 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
382 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
383 interrupt-names = "error",
384 "ch0", "ch1", "ch2", "ch3",
385 "ch4", "ch5", "ch6", "ch7",
386 "ch8", "ch9", "ch10", "ch11",
387 "ch12";
388 clocks = <&cpg CPG_MOD 502>;
389 clock-names = "fck";
390 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
391 resets = <&cpg 502>;
392 #dma-cells = <1>;
393 dma-channels = <13>;
394 };
395 351
396 audma1: dma-controller@ec720000 { 352 ipmmu_mx: mmu@fe951000 {
397 compatible = "renesas,dmac-r8a7793", "renesas,rcar-dmac"; 353 compatible = "renesas,ipmmu-r8a7793",
398 reg = <0 0xec720000 0 0x10000>; 354 "renesas,ipmmu-vmsa";
399 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 355 reg = <0 0xfe951000 0 0x1000>;
400 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 356 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
401 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 357 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
402 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 358 #iommu-cells = <1>;
403 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 359 status = "disabled";
404 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 360 };
405 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
406 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
407 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
408 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
409 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
410 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
411 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
412 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
413 interrupt-names = "error",
414 "ch0", "ch1", "ch2", "ch3",
415 "ch4", "ch5", "ch6", "ch7",
416 "ch8", "ch9", "ch10", "ch11",
417 "ch12";
418 clocks = <&cpg CPG_MOD 501>;
419 clock-names = "fck";
420 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
421 resets = <&cpg 501>;
422 #dma-cells = <1>;
423 dma-channels = <13>;
424 };
425 361
426 /* The memory map in the User's Manual maps the cores to bus numbers */ 362 ipmmu_rt: mmu@ffc80000 {
427 i2c0: i2c@e6508000 { 363 compatible = "renesas,ipmmu-r8a7793",
428 #address-cells = <1>; 364 "renesas,ipmmu-vmsa";
429 #size-cells = <0>; 365 reg = <0 0xffc80000 0 0x1000>;
430 compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c"; 366 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
431 reg = <0 0xe6508000 0 0x40>; 367 #iommu-cells = <1>;
432 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 368 status = "disabled";
433 clocks = <&cpg CPG_MOD 931>; 369 };
434 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
435 resets = <&cpg 931>;
436 i2c-scl-internal-delay-ns = <6>;
437 status = "disabled";
438 };
439 370
440 i2c1: i2c@e6518000 { 371 ipmmu_gp: mmu@e62a0000 {
441 #address-cells = <1>; 372 compatible = "renesas,ipmmu-r8a7793",
442 #size-cells = <0>; 373 "renesas,ipmmu-vmsa";
443 compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c"; 374 reg = <0 0xe62a0000 0 0x1000>;
444 reg = <0 0xe6518000 0 0x40>; 375 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
445 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 376 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
446 clocks = <&cpg CPG_MOD 930>; 377 #iommu-cells = <1>;
447 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 378 status = "disabled";
448 resets = <&cpg 930>; 379 };
449 i2c-scl-internal-delay-ns = <6>;
450 status = "disabled";
451 };
452 380
453 i2c2: i2c@e6530000 { 381 icram0: sram@e63a0000 {
454 #address-cells = <1>; 382 compatible = "mmio-sram";
455 #size-cells = <0>; 383 reg = <0 0xe63a0000 0 0x12000>;
456 compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c"; 384 };
457 reg = <0 0xe6530000 0 0x40>;
458 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
459 clocks = <&cpg CPG_MOD 929>;
460 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
461 resets = <&cpg 929>;
462 i2c-scl-internal-delay-ns = <6>;
463 status = "disabled";
464 };
465 385
466 i2c3: i2c@e6540000 { 386 icram1: sram@e63c0000 {
467 #address-cells = <1>; 387 compatible = "mmio-sram";
468 #size-cells = <0>; 388 reg = <0 0xe63c0000 0 0x1000>;
469 compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c"; 389 #address-cells = <1>;
470 reg = <0 0xe6540000 0 0x40>; 390 #size-cells = <1>;
471 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 391 ranges = <0 0 0xe63c0000 0x1000>;
472 clocks = <&cpg CPG_MOD 928>;
473 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
474 resets = <&cpg 928>;
475 i2c-scl-internal-delay-ns = <6>;
476 status = "disabled";
477 };
478 392
479 i2c4: i2c@e6520000 { 393 smp-sram@0 {
480 #address-cells = <1>; 394 compatible = "renesas,smp-sram";
481 #size-cells = <0>; 395 reg = <0 0x10>;
482 compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c"; 396 };
483 reg = <0 0xe6520000 0 0x40>; 397 };
484 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
485 clocks = <&cpg CPG_MOD 927>;
486 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
487 resets = <&cpg 927>;
488 i2c-scl-internal-delay-ns = <6>;
489 status = "disabled";
490 };
491 398
492 i2c5: i2c@e6528000 { 399 /* The memory map in the User's Manual maps the cores to
493 /* doesn't need pinmux */ 400 * bus numbers
494 #address-cells = <1>; 401 */
495 #size-cells = <0>; 402 i2c0: i2c@e6508000 {
496 compatible = "renesas,i2c-r8a7793", "renesas,rcar-gen2-i2c"; 403 #address-cells = <1>;
497 reg = <0 0xe6528000 0 0x40>; 404 #size-cells = <0>;
498 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 405 compatible = "renesas,i2c-r8a7793",
499 clocks = <&cpg CPG_MOD 925>; 406 "renesas,rcar-gen2-i2c";
500 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 407 reg = <0 0xe6508000 0 0x40>;
501 resets = <&cpg 925>; 408 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
502 i2c-scl-internal-delay-ns = <110>; 409 clocks = <&cpg CPG_MOD 931>;
503 status = "disabled"; 410 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
504 }; 411 resets = <&cpg 931>;
412 i2c-scl-internal-delay-ns = <6>;
413 status = "disabled";
414 };
505 415
506 i2c6: i2c@e60b0000 { 416 i2c1: i2c@e6518000 {
507 /* doesn't need pinmux */ 417 #address-cells = <1>;
508 #address-cells = <1>; 418 #size-cells = <0>;
509 #size-cells = <0>; 419 compatible = "renesas,i2c-r8a7793",
510 compatible = "renesas,iic-r8a7793", "renesas,rcar-gen2-iic", 420 "renesas,rcar-gen2-i2c";
511 "renesas,rmobile-iic"; 421 reg = <0 0xe6518000 0 0x40>;
512 reg = <0 0xe60b0000 0 0x425>; 422 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
513 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>; 423 clocks = <&cpg CPG_MOD 930>;
514 clocks = <&cpg CPG_MOD 926>; 424 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
515 dmas = <&dmac0 0x77>, <&dmac0 0x78>, 425 resets = <&cpg 930>;
516 <&dmac1 0x77>, <&dmac1 0x78>; 426 i2c-scl-internal-delay-ns = <6>;
517 dma-names = "tx", "rx", "tx", "rx"; 427 status = "disabled";
518 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 428 };
519 resets = <&cpg 926>;
520 status = "disabled";
521 };
522 429
523 i2c7: i2c@e6500000 { 430 i2c2: i2c@e6530000 {
524 #address-cells = <1>; 431 #address-cells = <1>;
525 #size-cells = <0>; 432 #size-cells = <0>;
526 compatible = "renesas,iic-r8a7793", "renesas,rcar-gen2-iic", 433 compatible = "renesas,i2c-r8a7793",
527 "renesas,rmobile-iic"; 434 "renesas,rcar-gen2-i2c";
528 reg = <0 0xe6500000 0 0x425>; 435 reg = <0 0xe6530000 0 0x40>;
529 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 436 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
530 clocks = <&cpg CPG_MOD 318>; 437 clocks = <&cpg CPG_MOD 929>;
531 dmas = <&dmac0 0x61>, <&dmac0 0x62>, 438 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
532 <&dmac1 0x61>, <&dmac1 0x62>; 439 resets = <&cpg 929>;
533 dma-names = "tx", "rx", "tx", "rx"; 440 i2c-scl-internal-delay-ns = <6>;
534 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 441 status = "disabled";
535 resets = <&cpg 318>; 442 };
536 status = "disabled";
537 };
538 443
539 i2c8: i2c@e6510000 { 444 i2c3: i2c@e6540000 {
540 #address-cells = <1>; 445 #address-cells = <1>;
541 #size-cells = <0>; 446 #size-cells = <0>;
542 compatible = "renesas,iic-r8a7793", "renesas,rcar-gen2-iic", 447 compatible = "renesas,i2c-r8a7793",
543 "renesas,rmobile-iic"; 448 "renesas,rcar-gen2-i2c";
544 reg = <0 0xe6510000 0 0x425>; 449 reg = <0 0xe6540000 0 0x40>;
545 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; 450 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
546 clocks = <&cpg CPG_MOD 323>; 451 clocks = <&cpg CPG_MOD 928>;
547 dmas = <&dmac0 0x65>, <&dmac0 0x66>, 452 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
548 <&dmac1 0x65>, <&dmac1 0x66>; 453 resets = <&cpg 928>;
549 dma-names = "tx", "rx", "tx", "rx"; 454 i2c-scl-internal-delay-ns = <6>;
550 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 455 status = "disabled";
551 resets = <&cpg 323>; 456 };
552 status = "disabled";
553 };
554 457
555 pfc: pin-controller@e6060000 { 458 i2c4: i2c@e6520000 {
556 compatible = "renesas,pfc-r8a7793"; 459 #address-cells = <1>;
557 reg = <0 0xe6060000 0 0x250>; 460 #size-cells = <0>;
558 }; 461 compatible = "renesas,i2c-r8a7793",
462 "renesas,rcar-gen2-i2c";
463 reg = <0 0xe6520000 0 0x40>;
464 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
465 clocks = <&cpg CPG_MOD 927>;
466 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
467 resets = <&cpg 927>;
468 i2c-scl-internal-delay-ns = <6>;
469 status = "disabled";
470 };
559 471
560 sdhi0: sd@ee100000 { 472 i2c5: i2c@e6528000 {
561 compatible = "renesas,sdhi-r8a7793", 473 /* doesn't need pinmux */
562 "renesas,rcar-gen2-sdhi"; 474 #address-cells = <1>;
563 reg = <0 0xee100000 0 0x328>; 475 #size-cells = <0>;
564 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 476 compatible = "renesas,i2c-r8a7793",
565 clocks = <&cpg CPG_MOD 314>; 477 "renesas,rcar-gen2-i2c";
566 dmas = <&dmac0 0xcd>, <&dmac0 0xce>, 478 reg = <0 0xe6528000 0 0x40>;
567 <&dmac1 0xcd>, <&dmac1 0xce>; 479 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
568 dma-names = "tx", "rx", "tx", "rx"; 480 clocks = <&cpg CPG_MOD 925>;
569 max-frequency = <195000000>; 481 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
570 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 482 resets = <&cpg 925>;
571 resets = <&cpg 314>; 483 i2c-scl-internal-delay-ns = <110>;
572 status = "disabled"; 484 status = "disabled";
573 }; 485 };
574 486
575 sdhi1: sd@ee140000 { 487 i2c6: i2c@e60b0000 {
576 compatible = "renesas,sdhi-r8a7793", 488 /* doesn't need pinmux */
577 "renesas,rcar-gen2-sdhi"; 489 #address-cells = <1>;
578 reg = <0 0xee140000 0 0x100>; 490 #size-cells = <0>;
579 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 491 compatible = "renesas,iic-r8a7793",
580 clocks = <&cpg CPG_MOD 312>; 492 "renesas,rcar-gen2-iic",
581 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>, 493 "renesas,rmobile-iic";
582 <&dmac1 0xc1>, <&dmac1 0xc2>; 494 reg = <0 0xe60b0000 0 0x425>;
583 dma-names = "tx", "rx", "tx", "rx"; 495 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
584 max-frequency = <97500000>; 496 clocks = <&cpg CPG_MOD 926>;
585 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 497 dmas = <&dmac0 0x77>, <&dmac0 0x78>,
586 resets = <&cpg 312>; 498 <&dmac1 0x77>, <&dmac1 0x78>;
587 status = "disabled"; 499 dma-names = "tx", "rx", "tx", "rx";
588 }; 500 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
501 resets = <&cpg 926>;
502 status = "disabled";
503 };
589 504
590 sdhi2: sd@ee160000 { 505 i2c7: i2c@e6500000 {
591 compatible = "renesas,sdhi-r8a7793", 506 #address-cells = <1>;
592 "renesas,rcar-gen2-sdhi"; 507 #size-cells = <0>;
593 reg = <0 0xee160000 0 0x100>; 508 compatible = "renesas,iic-r8a7793",
594 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 509 "renesas,rcar-gen2-iic",
595 clocks = <&cpg CPG_MOD 311>; 510 "renesas,rmobile-iic";
596 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>, 511 reg = <0 0xe6500000 0 0x425>;
597 <&dmac1 0xd3>, <&dmac1 0xd4>; 512 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
598 dma-names = "tx", "rx", "tx", "rx"; 513 clocks = <&cpg CPG_MOD 318>;
599 max-frequency = <97500000>; 514 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
600 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 515 <&dmac1 0x61>, <&dmac1 0x62>;
601 resets = <&cpg 311>; 516 dma-names = "tx", "rx", "tx", "rx";
602 status = "disabled"; 517 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
603 }; 518 resets = <&cpg 318>;
519 status = "disabled";
520 };
604 521
605 mmcif0: mmc@ee200000 { 522 i2c8: i2c@e6510000 {
606 compatible = "renesas,mmcif-r8a7793", "renesas,sh-mmcif"; 523 #address-cells = <1>;
607 reg = <0 0xee200000 0 0x80>; 524 #size-cells = <0>;
608 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 525 compatible = "renesas,iic-r8a7793",
609 clocks = <&cpg CPG_MOD 315>; 526 "renesas,rcar-gen2-iic",
610 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>, 527 "renesas,rmobile-iic";
611 <&dmac1 0xd1>, <&dmac1 0xd2>; 528 reg = <0 0xe6510000 0 0x425>;
612 dma-names = "tx", "rx", "tx", "rx"; 529 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
613 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 530 clocks = <&cpg CPG_MOD 323>;
614 resets = <&cpg 315>; 531 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
615 reg-io-width = <4>; 532 <&dmac1 0x65>, <&dmac1 0x66>;
616 status = "disabled"; 533 dma-names = "tx", "rx", "tx", "rx";
617 max-frequency = <97500000>; 534 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
618 }; 535 resets = <&cpg 323>;
536 status = "disabled";
537 };
619 538
620 scifa0: serial@e6c40000 { 539 dmac0: dma-controller@e6700000 {
621 compatible = "renesas,scifa-r8a7793", 540 compatible = "renesas,dmac-r8a7793",
622 "renesas,rcar-gen2-scifa", "renesas,scifa"; 541 "renesas,rcar-dmac";
623 reg = <0 0xe6c40000 0 64>; 542 reg = <0 0xe6700000 0 0x20000>;
624 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 543 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH
625 clocks = <&cpg CPG_MOD 204>; 544 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
626 clock-names = "fck"; 545 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
627 dmas = <&dmac0 0x21>, <&dmac0 0x22>, 546 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
628 <&dmac1 0x21>, <&dmac1 0x22>; 547 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
629 dma-names = "tx", "rx", "tx", "rx"; 548 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
630 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 549 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
631 resets = <&cpg 204>; 550 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
632 status = "disabled"; 551 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
633 }; 552 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
553 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
554 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
555 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
556 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
557 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
558 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
559 interrupt-names = "error",
560 "ch0", "ch1", "ch2", "ch3",
561 "ch4", "ch5", "ch6", "ch7",
562 "ch8", "ch9", "ch10", "ch11",
563 "ch12", "ch13", "ch14";
564 clocks = <&cpg CPG_MOD 219>;
565 clock-names = "fck";
566 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
567 resets = <&cpg 219>;
568 #dma-cells = <1>;
569 dma-channels = <15>;
570 };
634 571
635 scifa1: serial@e6c50000 { 572 dmac1: dma-controller@e6720000 {
636 compatible = "renesas,scifa-r8a7793", 573 compatible = "renesas,dmac-r8a7793",
637 "renesas,rcar-gen2-scifa", "renesas,scifa"; 574 "renesas,rcar-dmac";
638 reg = <0 0xe6c50000 0 64>; 575 reg = <0 0xe6720000 0 0x20000>;
639 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 576 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
640 clocks = <&cpg CPG_MOD 203>; 577 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
641 clock-names = "fck"; 578 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
642 dmas = <&dmac0 0x25>, <&dmac0 0x26>, 579 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
643 <&dmac1 0x25>, <&dmac1 0x26>; 580 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
644 dma-names = "tx", "rx", "tx", "rx"; 581 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
645 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 582 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
646 resets = <&cpg 203>; 583 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
647 status = "disabled"; 584 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
648 }; 585 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
586 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
587 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
588 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
589 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
590 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
591 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
592 interrupt-names = "error",
593 "ch0", "ch1", "ch2", "ch3",
594 "ch4", "ch5", "ch6", "ch7",
595 "ch8", "ch9", "ch10", "ch11",
596 "ch12", "ch13", "ch14";
597 clocks = <&cpg CPG_MOD 218>;
598 clock-names = "fck";
599 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
600 resets = <&cpg 218>;
601 #dma-cells = <1>;
602 dma-channels = <15>;
603 };
649 604
650 scifa2: serial@e6c60000 { 605 qspi: spi@e6b10000 {
651 compatible = "renesas,scifa-r8a7793", 606 compatible = "renesas,qspi-r8a7793", "renesas,qspi";
652 "renesas,rcar-gen2-scifa", "renesas,scifa"; 607 reg = <0 0xe6b10000 0 0x2c>;
653 reg = <0 0xe6c60000 0 64>; 608 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
654 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 609 clocks = <&cpg CPG_MOD 917>;
655 clocks = <&cpg CPG_MOD 202>; 610 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
656 clock-names = "fck"; 611 <&dmac1 0x17>, <&dmac1 0x18>;
657 dmas = <&dmac0 0x27>, <&dmac0 0x28>, 612 dma-names = "tx", "rx", "tx", "rx";
658 <&dmac1 0x27>, <&dmac1 0x28>; 613 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
659 dma-names = "tx", "rx", "tx", "rx"; 614 resets = <&cpg 917>;
660 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 615 num-cs = <1>;
661 resets = <&cpg 202>; 616 #address-cells = <1>;
662 status = "disabled"; 617 #size-cells = <0>;
663 }; 618 status = "disabled";
619 };
664 620
665 scifa3: serial@e6c70000 { 621 scifa0: serial@e6c40000 {
666 compatible = "renesas,scifa-r8a7793", 622 compatible = "renesas,scifa-r8a7793",
667 "renesas,rcar-gen2-scifa", "renesas,scifa"; 623 "renesas,rcar-gen2-scifa", "renesas,scifa";
668 reg = <0 0xe6c70000 0 64>; 624 reg = <0 0xe6c40000 0 64>;
669 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 625 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
670 clocks = <&cpg CPG_MOD 1106>; 626 clocks = <&cpg CPG_MOD 204>;
671 clock-names = "fck"; 627 clock-names = "fck";
672 dmas = <&dmac0 0x1b>, <&dmac0 0x1c>, 628 dmas = <&dmac0 0x21>, <&dmac0 0x22>,
673 <&dmac1 0x1b>, <&dmac1 0x1c>; 629 <&dmac1 0x21>, <&dmac1 0x22>;
674 dma-names = "tx", "rx", "tx", "rx"; 630 dma-names = "tx", "rx", "tx", "rx";
675 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 631 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
676 resets = <&cpg 1106>; 632 resets = <&cpg 204>;
677 status = "disabled"; 633 status = "disabled";
678 }; 634 };
679 635
680 scifa4: serial@e6c78000 { 636 scifa1: serial@e6c50000 {
681 compatible = "renesas,scifa-r8a7793", 637 compatible = "renesas,scifa-r8a7793",
682 "renesas,rcar-gen2-scifa", "renesas,scifa"; 638 "renesas,rcar-gen2-scifa", "renesas,scifa";
683 reg = <0 0xe6c78000 0 64>; 639 reg = <0 0xe6c50000 0 64>;
684 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 640 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
685 clocks = <&cpg CPG_MOD 1107>; 641 clocks = <&cpg CPG_MOD 203>;
686 clock-names = "fck"; 642 clock-names = "fck";
687 dmas = <&dmac0 0x1f>, <&dmac0 0x20>, 643 dmas = <&dmac0 0x25>, <&dmac0 0x26>,
688 <&dmac1 0x1f>, <&dmac1 0x20>; 644 <&dmac1 0x25>, <&dmac1 0x26>;
689 dma-names = "tx", "rx", "tx", "rx"; 645 dma-names = "tx", "rx", "tx", "rx";
690 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 646 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
691 resets = <&cpg 1107>; 647 resets = <&cpg 203>;
692 status = "disabled"; 648 status = "disabled";
693 }; 649 };
694 650
695 scifa5: serial@e6c80000 { 651 scifa2: serial@e6c60000 {
696 compatible = "renesas,scifa-r8a7793", 652 compatible = "renesas,scifa-r8a7793",
697 "renesas,rcar-gen2-scifa", "renesas,scifa"; 653 "renesas,rcar-gen2-scifa", "renesas,scifa";
698 reg = <0 0xe6c80000 0 64>; 654 reg = <0 0xe6c60000 0 64>;
699 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 655 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
700 clocks = <&cpg CPG_MOD 1108>; 656 clocks = <&cpg CPG_MOD 202>;
701 clock-names = "fck"; 657 clock-names = "fck";
702 dmas = <&dmac0 0x23>, <&dmac0 0x24>, 658 dmas = <&dmac0 0x27>, <&dmac0 0x28>,
703 <&dmac1 0x23>, <&dmac1 0x24>; 659 <&dmac1 0x27>, <&dmac1 0x28>;
704 dma-names = "tx", "rx", "tx", "rx"; 660 dma-names = "tx", "rx", "tx", "rx";
705 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 661 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
706 resets = <&cpg 1108>; 662 resets = <&cpg 202>;
707 status = "disabled"; 663 status = "disabled";
708 }; 664 };
709 665
710 scifb0: serial@e6c20000 { 666 scifa3: serial@e6c70000 {
711 compatible = "renesas,scifb-r8a7793", 667 compatible = "renesas,scifa-r8a7793",
712 "renesas,rcar-gen2-scifb", "renesas,scifb"; 668 "renesas,rcar-gen2-scifa", "renesas,scifa";
713 reg = <0 0xe6c20000 0 0x100>; 669 reg = <0 0xe6c70000 0 64>;
714 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 670 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
715 clocks = <&cpg CPG_MOD 206>; 671 clocks = <&cpg CPG_MOD 1106>;
716 clock-names = "fck"; 672 clock-names = "fck";
717 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>, 673 dmas = <&dmac0 0x1b>, <&dmac0 0x1c>,
718 <&dmac1 0x3d>, <&dmac1 0x3e>; 674 <&dmac1 0x1b>, <&dmac1 0x1c>;
719 dma-names = "tx", "rx", "tx", "rx"; 675 dma-names = "tx", "rx", "tx", "rx";
720 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 676 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
721 resets = <&cpg 206>; 677 resets = <&cpg 1106>;
722 status = "disabled"; 678 status = "disabled";
723 }; 679 };
724 680
725 scifb1: serial@e6c30000 { 681 scifa4: serial@e6c78000 {
726 compatible = "renesas,scifb-r8a7793", 682 compatible = "renesas,scifa-r8a7793",
727 "renesas,rcar-gen2-scifb", "renesas,scifb"; 683 "renesas,rcar-gen2-scifa", "renesas,scifa";
728 reg = <0 0xe6c30000 0 0x100>; 684 reg = <0 0xe6c78000 0 64>;
729 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 685 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
730 clocks = <&cpg CPG_MOD 207>; 686 clocks = <&cpg CPG_MOD 1107>;
731 clock-names = "fck"; 687 clock-names = "fck";
732 dmas = <&dmac0 0x19>, <&dmac0 0x1a>, 688 dmas = <&dmac0 0x1f>, <&dmac0 0x20>,
733 <&dmac1 0x19>, <&dmac1 0x1a>; 689 <&dmac1 0x1f>, <&dmac1 0x20>;
734 dma-names = "tx", "rx", "tx", "rx"; 690 dma-names = "tx", "rx", "tx", "rx";
735 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 691 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
736 resets = <&cpg 207>; 692 resets = <&cpg 1107>;
737 status = "disabled"; 693 status = "disabled";
738 }; 694 };
739 695
740 scifb2: serial@e6ce0000 { 696 scifa5: serial@e6c80000 {
741 compatible = "renesas,scifb-r8a7793", 697 compatible = "renesas,scifa-r8a7793",
742 "renesas,rcar-gen2-scifb", "renesas,scifb"; 698 "renesas,rcar-gen2-scifa", "renesas,scifa";
743 reg = <0 0xe6ce0000 0 0x100>; 699 reg = <0 0xe6c80000 0 64>;
744 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 700 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
745 clocks = <&cpg CPG_MOD 216>; 701 clocks = <&cpg CPG_MOD 1108>;
746 clock-names = "fck"; 702 clock-names = "fck";
747 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>, 703 dmas = <&dmac0 0x23>, <&dmac0 0x24>,
748 <&dmac1 0x1d>, <&dmac1 0x1e>; 704 <&dmac1 0x23>, <&dmac1 0x24>;
749 dma-names = "tx", "rx", "tx", "rx"; 705 dma-names = "tx", "rx", "tx", "rx";
750 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 706 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
751 resets = <&cpg 216>; 707 resets = <&cpg 1108>;
752 status = "disabled"; 708 status = "disabled";
753 }; 709 };
754 710
755 scif0: serial@e6e60000 { 711 scifb0: serial@e6c20000 {
756 compatible = "renesas,scif-r8a7793", "renesas,rcar-gen2-scif", 712 compatible = "renesas,scifb-r8a7793",
757 "renesas,scif"; 713 "renesas,rcar-gen2-scifb", "renesas,scifb";
758 reg = <0 0xe6e60000 0 64>; 714 reg = <0 0xe6c20000 0 0x100>;
759 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 715 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
760 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 716 clocks = <&cpg CPG_MOD 206>;
761 <&scif_clk>; 717 clock-names = "fck";
762 clock-names = "fck", "brg_int", "scif_clk"; 718 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
763 dmas = <&dmac0 0x29>, <&dmac0 0x2a>, 719 <&dmac1 0x3d>, <&dmac1 0x3e>;
764 <&dmac1 0x29>, <&dmac1 0x2a>; 720 dma-names = "tx", "rx", "tx", "rx";
765 dma-names = "tx", "rx", "tx", "rx"; 721 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
766 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 722 resets = <&cpg 206>;
767 resets = <&cpg 721>; 723 status = "disabled";
768 status = "disabled"; 724 };
769 };
770 725
771 scif1: serial@e6e68000 { 726 scifb1: serial@e6c30000 {
772 compatible = "renesas,scif-r8a7793", "renesas,rcar-gen2-scif", 727 compatible = "renesas,scifb-r8a7793",
773 "renesas,scif"; 728 "renesas,rcar-gen2-scifb", "renesas,scifb";
774 reg = <0 0xe6e68000 0 64>; 729 reg = <0 0xe6c30000 0 0x100>;
775 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 730 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
776 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 731 clocks = <&cpg CPG_MOD 207>;
777 <&scif_clk>; 732 clock-names = "fck";
778 clock-names = "fck", "brg_int", "scif_clk"; 733 dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
779 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>, 734 <&dmac1 0x19>, <&dmac1 0x1a>;
780 <&dmac1 0x2d>, <&dmac1 0x2e>; 735 dma-names = "tx", "rx", "tx", "rx";
781 dma-names = "tx", "rx", "tx", "rx"; 736 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
782 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 737 resets = <&cpg 207>;
783 resets = <&cpg 720>; 738 status = "disabled";
784 status = "disabled"; 739 };
785 };
786 740
787 scif2: serial@e6e58000 { 741 scifb2: serial@e6ce0000 {
788 compatible = "renesas,scif-r8a7793", "renesas,rcar-gen2-scif", 742 compatible = "renesas,scifb-r8a7793",
789 "renesas,scif"; 743 "renesas,rcar-gen2-scifb", "renesas,scifb";
790 reg = <0 0xe6e58000 0 64>; 744 reg = <0 0xe6ce0000 0 0x100>;
791 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 745 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
792 clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 746 clocks = <&cpg CPG_MOD 216>;
793 <&scif_clk>; 747 clock-names = "fck";
794 clock-names = "fck", "brg_int", "scif_clk"; 748 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
795 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>, 749 <&dmac1 0x1d>, <&dmac1 0x1e>;
796 <&dmac1 0x2b>, <&dmac1 0x2c>; 750 dma-names = "tx", "rx", "tx", "rx";
797 dma-names = "tx", "rx", "tx", "rx"; 751 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
798 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 752 resets = <&cpg 216>;
799 resets = <&cpg 719>; 753 status = "disabled";
800 status = "disabled"; 754 };
801 };
802 755
803 scif3: serial@e6ea8000 { 756 scif0: serial@e6e60000 {
804 compatible = "renesas,scif-r8a7793", "renesas,rcar-gen2-scif", 757 compatible = "renesas,scif-r8a7793",
805 "renesas,scif"; 758 "renesas,rcar-gen2-scif", "renesas,scif";
806 reg = <0 0xe6ea8000 0 64>; 759 reg = <0 0xe6e60000 0 64>;
807 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 760 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
808 clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 761 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
809 <&scif_clk>; 762 <&scif_clk>;
810 clock-names = "fck", "brg_int", "scif_clk"; 763 clock-names = "fck", "brg_int", "scif_clk";
811 dmas = <&dmac0 0x2f>, <&dmac0 0x30>, 764 dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
812 <&dmac1 0x2f>, <&dmac1 0x30>; 765 <&dmac1 0x29>, <&dmac1 0x2a>;
813 dma-names = "tx", "rx", "tx", "rx"; 766 dma-names = "tx", "rx", "tx", "rx";
814 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 767 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
815 resets = <&cpg 718>; 768 resets = <&cpg 721>;
816 status = "disabled"; 769 status = "disabled";
817 }; 770 };
818 771
819 scif4: serial@e6ee0000 { 772 scif1: serial@e6e68000 {
820 compatible = "renesas,scif-r8a7793", "renesas,rcar-gen2-scif", 773 compatible = "renesas,scif-r8a7793",
821 "renesas,scif"; 774 "renesas,rcar-gen2-scif", "renesas,scif";
822 reg = <0 0xe6ee0000 0 64>; 775 reg = <0 0xe6e68000 0 64>;
823 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 776 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
824 clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 777 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
825 <&scif_clk>; 778 <&scif_clk>;
826 clock-names = "fck", "brg_int", "scif_clk"; 779 clock-names = "fck", "brg_int", "scif_clk";
827 dmas = <&dmac0 0xfb>, <&dmac0 0xfc>, 780 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
828 <&dmac1 0xfb>, <&dmac1 0xfc>; 781 <&dmac1 0x2d>, <&dmac1 0x2e>;
829 dma-names = "tx", "rx", "tx", "rx"; 782 dma-names = "tx", "rx", "tx", "rx";
830 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 783 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
831 resets = <&cpg 715>; 784 resets = <&cpg 720>;
832 status = "disabled"; 785 status = "disabled";
833 }; 786 };
834 787
835 scif5: serial@e6ee8000 { 788 scif2: serial@e6e58000 {
836 compatible = "renesas,scif-r8a7793", "renesas,rcar-gen2-scif", 789 compatible = "renesas,scif-r8a7793",
837 "renesas,scif"; 790 "renesas,rcar-gen2-scif", "renesas,scif";
838 reg = <0 0xe6ee8000 0 64>; 791 reg = <0 0xe6e58000 0 64>;
839 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 792 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
840 clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 793 clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
841 <&scif_clk>; 794 <&scif_clk>;
842 clock-names = "fck", "brg_int", "scif_clk"; 795 clock-names = "fck", "brg_int", "scif_clk";
843 dmas = <&dmac0 0xfd>, <&dmac0 0xfe>, 796 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
844 <&dmac1 0xfd>, <&dmac1 0xfe>; 797 <&dmac1 0x2b>, <&dmac1 0x2c>;
845 dma-names = "tx", "rx", "tx", "rx"; 798 dma-names = "tx", "rx", "tx", "rx";
846 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 799 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
847 resets = <&cpg 714>; 800 resets = <&cpg 719>;
848 status = "disabled"; 801 status = "disabled";
849 }; 802 };
850 803
851 hscif0: serial@e62c0000 { 804 scif3: serial@e6ea8000 {
852 compatible = "renesas,hscif-r8a7793", 805 compatible = "renesas,scif-r8a7793",
853 "renesas,rcar-gen2-hscif", "renesas,hscif"; 806 "renesas,rcar-gen2-scif", "renesas,scif";
854 reg = <0 0xe62c0000 0 96>; 807 reg = <0 0xe6ea8000 0 64>;
855 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 808 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
856 clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 809 clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
857 <&scif_clk>; 810 <&scif_clk>;
858 clock-names = "fck", "brg_int", "scif_clk"; 811 clock-names = "fck", "brg_int", "scif_clk";
859 dmas = <&dmac0 0x39>, <&dmac0 0x3a>, 812 dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
860 <&dmac1 0x39>, <&dmac1 0x3a>; 813 <&dmac1 0x2f>, <&dmac1 0x30>;
861 dma-names = "tx", "rx", "tx", "rx"; 814 dma-names = "tx", "rx", "tx", "rx";
862 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 815 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
863 resets = <&cpg 717>; 816 resets = <&cpg 718>;
864 status = "disabled"; 817 status = "disabled";
865 }; 818 };
866 819
867 hscif1: serial@e62c8000 { 820 scif4: serial@e6ee0000 {
868 compatible = "renesas,hscif-r8a7793", 821 compatible = "renesas,scif-r8a7793",
869 "renesas,rcar-gen2-hscif", "renesas,hscif"; 822 "renesas,rcar-gen2-scif", "renesas,scif";
870 reg = <0 0xe62c8000 0 96>; 823 reg = <0 0xe6ee0000 0 64>;
871 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 824 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
872 clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 825 clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
873 <&scif_clk>; 826 <&scif_clk>;
874 clock-names = "fck", "brg_int", "scif_clk"; 827 clock-names = "fck", "brg_int", "scif_clk";
875 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>, 828 dmas = <&dmac0 0xfb>, <&dmac0 0xfc>,
876 <&dmac1 0x4d>, <&dmac1 0x4e>; 829 <&dmac1 0xfb>, <&dmac1 0xfc>;
877 dma-names = "tx", "rx", "tx", "rx"; 830 dma-names = "tx", "rx", "tx", "rx";
878 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 831 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
879 resets = <&cpg 716>; 832 resets = <&cpg 715>;
880 status = "disabled"; 833 status = "disabled";
881 }; 834 };
882 835
883 hscif2: serial@e62d0000 { 836 scif5: serial@e6ee8000 {
884 compatible = "renesas,hscif-r8a7793", 837 compatible = "renesas,scif-r8a7793",
885 "renesas,rcar-gen2-hscif", "renesas,hscif"; 838 "renesas,rcar-gen2-scif", "renesas,scif";
886 reg = <0 0xe62d0000 0 96>; 839 reg = <0 0xe6ee8000 0 64>;
887 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 840 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
888 clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7793_CLK_ZS>, 841 clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
889 <&scif_clk>; 842 <&scif_clk>;
890 clock-names = "fck", "brg_int", "scif_clk"; 843 clock-names = "fck", "brg_int", "scif_clk";
891 dmas = <&dmac0 0x3b>, <&dmac0 0x3c>, 844 dmas = <&dmac0 0xfd>, <&dmac0 0xfe>,
892 <&dmac1 0x3b>, <&dmac1 0x3c>; 845 <&dmac1 0xfd>, <&dmac1 0xfe>;
893 dma-names = "tx", "rx", "tx", "rx"; 846 dma-names = "tx", "rx", "tx", "rx";
894 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 847 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
895 resets = <&cpg 713>; 848 resets = <&cpg 714>;
896 status = "disabled"; 849 status = "disabled";
897 }; 850 };
898 851
899 icram0: sram@e63a0000 { 852 hscif0: serial@e62c0000 {
900 compatible = "mmio-sram"; 853 compatible = "renesas,hscif-r8a7793",
901 reg = <0 0xe63a0000 0 0x12000>; 854 "renesas,rcar-gen2-hscif", "renesas,hscif";
902 }; 855 reg = <0 0xe62c0000 0 96>;
856 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
857 clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
858 <&scif_clk>;
859 clock-names = "fck", "brg_int", "scif_clk";
860 dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
861 <&dmac1 0x39>, <&dmac1 0x3a>;
862 dma-names = "tx", "rx", "tx", "rx";
863 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
864 resets = <&cpg 717>;
865 status = "disabled";
866 };
903 867
904 icram1: sram@e63c0000 { 868 hscif1: serial@e62c8000 {
905 compatible = "mmio-sram"; 869 compatible = "renesas,hscif-r8a7793",
906 reg = <0 0xe63c0000 0 0x1000>; 870 "renesas,rcar-gen2-hscif", "renesas,hscif";
907 #address-cells = <1>; 871 reg = <0 0xe62c8000 0 96>;
908 #size-cells = <1>; 872 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
909 ranges = <0 0 0xe63c0000 0x1000>; 873 clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
874 <&scif_clk>;
875 clock-names = "fck", "brg_int", "scif_clk";
876 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
877 <&dmac1 0x4d>, <&dmac1 0x4e>;
878 dma-names = "tx", "rx", "tx", "rx";
879 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
880 resets = <&cpg 716>;
881 status = "disabled";
882 };
910 883
911 smp-sram@0 { 884 hscif2: serial@e62d0000 {
912 compatible = "renesas,smp-sram"; 885 compatible = "renesas,hscif-r8a7793",
913 reg = <0 0x10>; 886 "renesas,rcar-gen2-hscif", "renesas,hscif";
887 reg = <0 0xe62d0000 0 96>;
888 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
889 clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7793_CLK_ZS>,
890 <&scif_clk>;
891 clock-names = "fck", "brg_int", "scif_clk";
892 dmas = <&dmac0 0x3b>, <&dmac0 0x3c>,
893 <&dmac1 0x3b>, <&dmac1 0x3c>;
894 dma-names = "tx", "rx", "tx", "rx";
895 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
896 resets = <&cpg 713>;
897 status = "disabled";
914 }; 898 };
915 };
916 899
917 ether: ethernet@ee700000 { 900 can0: can@e6e80000 {
918 compatible = "renesas,ether-r8a7793", 901 compatible = "renesas,can-r8a7793",
919 "renesas,rcar-gen2-ether"; 902 "renesas,rcar-gen2-can";
920 reg = <0 0xee700000 0 0x400>; 903 reg = <0 0xe6e80000 0 0x1000>;
921 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 904 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
922 clocks = <&cpg CPG_MOD 813>; 905 clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7793_CLK_RCAN>,
923 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 906 <&can_clk>;
924 resets = <&cpg 813>; 907 clock-names = "clkp1", "clkp2", "can_clk";
925 phy-mode = "rmii"; 908 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
926 #address-cells = <1>; 909 resets = <&cpg 916>;
927 #size-cells = <0>; 910 status = "disabled";
928 status = "disabled"; 911 };
929 };
930 912
931 vin0: video@e6ef0000 { 913 can1: can@e6e88000 {
932 compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin"; 914 compatible = "renesas,can-r8a7793",
933 reg = <0 0xe6ef0000 0 0x1000>; 915 "renesas,rcar-gen2-can";
934 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 916 reg = <0 0xe6e88000 0 0x1000>;
935 clocks = <&cpg CPG_MOD 811>; 917 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
936 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 918 clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7793_CLK_RCAN>,
937 resets = <&cpg 811>; 919 <&can_clk>;
938 status = "disabled"; 920 clock-names = "clkp1", "clkp2", "can_clk";
939 }; 921 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
922 resets = <&cpg 915>;
923 status = "disabled";
924 };
940 925
941 vin1: video@e6ef1000 { 926 vin0: video@e6ef0000 {
942 compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin"; 927 compatible = "renesas,vin-r8a7793",
943 reg = <0 0xe6ef1000 0 0x1000>; 928 "renesas,rcar-gen2-vin";
944 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 929 reg = <0 0xe6ef0000 0 0x1000>;
945 clocks = <&cpg CPG_MOD 810>; 930 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
946 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 931 clocks = <&cpg CPG_MOD 811>;
947 resets = <&cpg 810>; 932 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
948 status = "disabled"; 933 resets = <&cpg 811>;
949 }; 934 status = "disabled";
935 };
950 936
951 vin2: video@e6ef2000 { 937 vin1: video@e6ef1000 {
952 compatible = "renesas,vin-r8a7793", "renesas,rcar-gen2-vin"; 938 compatible = "renesas,vin-r8a7793",
953 reg = <0 0xe6ef2000 0 0x1000>; 939 "renesas,rcar-gen2-vin";
954 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 940 reg = <0 0xe6ef1000 0 0x1000>;
955 clocks = <&cpg CPG_MOD 809>; 941 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
956 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 942 clocks = <&cpg CPG_MOD 810>;
957 resets = <&cpg 809>; 943 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
958 status = "disabled"; 944 resets = <&cpg 810>;
959 }; 945 status = "disabled";
946 };
960 947
961 qspi: spi@e6b10000 { 948 vin2: video@e6ef2000 {
962 compatible = "renesas,qspi-r8a7793", "renesas,qspi"; 949 compatible = "renesas,vin-r8a7793",
963 reg = <0 0xe6b10000 0 0x2c>; 950 "renesas,rcar-gen2-vin";
964 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 951 reg = <0 0xe6ef2000 0 0x1000>;
965 clocks = <&cpg CPG_MOD 917>; 952 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
966 dmas = <&dmac0 0x17>, <&dmac0 0x18>, 953 clocks = <&cpg CPG_MOD 809>;
967 <&dmac1 0x17>, <&dmac1 0x18>; 954 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
968 dma-names = "tx", "rx", "tx", "rx"; 955 resets = <&cpg 809>;
969 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 956 status = "disabled";
970 resets = <&cpg 917>; 957 };
971 num-cs = <1>;
972 #address-cells = <1>;
973 #size-cells = <0>;
974 status = "disabled";
975 };
976 958
977 du: display@feb00000 { 959 rcar_sound: sound@ec500000 {
978 compatible = "renesas,du-r8a7793"; 960 /*
979 reg = <0 0xfeb00000 0 0x40000>, 961 * #sound-dai-cells is required
980 <0 0xfeb90000 0 0x1c>; 962 *
981 reg-names = "du", "lvds.0"; 963 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
982 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 964 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
983 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 965 */
984 clocks = <&cpg CPG_MOD 724>, 966 compatible = "renesas,rcar_sound-r8a7793",
985 <&cpg CPG_MOD 723>, 967 "renesas,rcar_sound-gen2";
986 <&cpg CPG_MOD 726>; 968 reg = <0 0xec500000 0 0x1000>, /* SCU */
987 clock-names = "du.0", "du.1", "lvds.0"; 969 <0 0xec5a0000 0 0x100>, /* ADG */
988 status = "disabled"; 970 <0 0xec540000 0 0x1000>, /* SSIU */
989 971 <0 0xec541000 0 0x280>, /* SSI */
990 ports { 972 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
991 #address-cells = <1>; 973 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
992 #size-cells = <0>; 974
975 clocks = <&cpg CPG_MOD 1005>,
976 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
977 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
978 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
979 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
980 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
981 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
982 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
983 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
984 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
985 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
986 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
987 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
988 <&cpg CPG_CORE R8A7793_CLK_M2>;
989 clock-names = "ssi-all",
990 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
991 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
992 "ssi.1", "ssi.0",
993 "src.9", "src.8", "src.7", "src.6",
994 "src.5", "src.4", "src.3", "src.2",
995 "src.1", "src.0",
996 "dvc.0", "dvc.1",
997 "clk_a", "clk_b", "clk_c", "clk_i";
998 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
999 resets = <&cpg 1005>,
1000 <&cpg 1006>, <&cpg 1007>,
1001 <&cpg 1008>, <&cpg 1009>,
1002 <&cpg 1010>, <&cpg 1011>,
1003 <&cpg 1012>, <&cpg 1013>,
1004 <&cpg 1014>, <&cpg 1015>;
1005 reset-names = "ssi-all",
1006 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
1007 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
1008 "ssi.1", "ssi.0";
1009
1010 status = "disabled";
1011
1012 rcar_sound,dvc {
1013 dvc0: dvc-0 {
1014 dmas = <&audma1 0xbc>;
1015 dma-names = "tx";
1016 };
1017 dvc1: dvc-1 {
1018 dmas = <&audma1 0xbe>;
1019 dma-names = "tx";
1020 };
1021 };
993 1022
994 port@0 { 1023 rcar_sound,src {
995 reg = <0>; 1024 src0: src-0 {
996 du_out_rgb: endpoint { 1025 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
1026 dmas = <&audma0 0x85>, <&audma1 0x9a>;
1027 dma-names = "rx", "tx";
1028 };
1029 src1: src-1 {
1030 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1031 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1032 dma-names = "rx", "tx";
1033 };
1034 src2: src-2 {
1035 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1036 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1037 dma-names = "rx", "tx";
1038 };
1039 src3: src-3 {
1040 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1041 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1042 dma-names = "rx", "tx";
1043 };
1044 src4: src-4 {
1045 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1046 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1047 dma-names = "rx", "tx";
1048 };
1049 src5: src-5 {
1050 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1051 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1052 dma-names = "rx", "tx";
1053 };
1054 src6: src-6 {
1055 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1056 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1057 dma-names = "rx", "tx";
1058 };
1059 src7: src-7 {
1060 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1061 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1062 dma-names = "rx", "tx";
1063 };
1064 src8: src-8 {
1065 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1066 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1067 dma-names = "rx", "tx";
1068 };
1069 src9: src-9 {
1070 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1071 dmas = <&audma0 0x97>, <&audma1 0xba>;
1072 dma-names = "rx", "tx";
997 }; 1073 };
998 }; 1074 };
999 port@1 { 1075
1000 reg = <1>; 1076 rcar_sound,ssi {
1001 du_out_lvds0: endpoint { 1077 ssi0: ssi-0 {
1078 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
1079 dmas = <&audma0 0x01>, <&audma1 0x02>,
1080 <&audma0 0x15>, <&audma1 0x16>;
1081 dma-names = "rx", "tx", "rxu", "txu";
1082 };
1083 ssi1: ssi-1 {
1084 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1085 dmas = <&audma0 0x03>, <&audma1 0x04>,
1086 <&audma0 0x49>, <&audma1 0x4a>;
1087 dma-names = "rx", "tx", "rxu", "txu";
1088 };
1089 ssi2: ssi-2 {
1090 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1091 dmas = <&audma0 0x05>, <&audma1 0x06>,
1092 <&audma0 0x63>, <&audma1 0x64>;
1093 dma-names = "rx", "tx", "rxu", "txu";
1094 };
1095 ssi3: ssi-3 {
1096 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1097 dmas = <&audma0 0x07>, <&audma1 0x08>,
1098 <&audma0 0x6f>, <&audma1 0x70>;
1099 dma-names = "rx", "tx", "rxu", "txu";
1100 };
1101 ssi4: ssi-4 {
1102 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1103 dmas = <&audma0 0x09>, <&audma1 0x0a>,
1104 <&audma0 0x71>, <&audma1 0x72>;
1105 dma-names = "rx", "tx", "rxu", "txu";
1106 };
1107 ssi5: ssi-5 {
1108 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1109 dmas = <&audma0 0x0b>, <&audma1 0x0c>,
1110 <&audma0 0x73>, <&audma1 0x74>;
1111 dma-names = "rx", "tx", "rxu", "txu";
1112 };
1113 ssi6: ssi-6 {
1114 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1115 dmas = <&audma0 0x0d>, <&audma1 0x0e>,
1116 <&audma0 0x75>, <&audma1 0x76>;
1117 dma-names = "rx", "tx", "rxu", "txu";
1118 };
1119 ssi7: ssi-7 {
1120 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1121 dmas = <&audma0 0x0f>, <&audma1 0x10>,
1122 <&audma0 0x79>, <&audma1 0x7a>;
1123 dma-names = "rx", "tx", "rxu", "txu";
1124 };
1125 ssi8: ssi-8 {
1126 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1127 dmas = <&audma0 0x11>, <&audma1 0x12>,
1128 <&audma0 0x7b>, <&audma1 0x7c>;
1129 dma-names = "rx", "tx", "rxu", "txu";
1130 };
1131 ssi9: ssi-9 {
1132 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1133 dmas = <&audma0 0x13>, <&audma1 0x14>,
1134 <&audma0 0x7d>, <&audma1 0x7e>;
1135 dma-names = "rx", "tx", "rxu", "txu";
1002 }; 1136 };
1003 }; 1137 };
1004 }; 1138 };
1005 };
1006 1139
1007 can0: can@e6e80000 { 1140 audma0: dma-controller@ec700000 {
1008 compatible = "renesas,can-r8a7793", "renesas,rcar-gen2-can"; 1141 compatible = "renesas,dmac-r8a7793",
1009 reg = <0 0xe6e80000 0 0x1000>; 1142 "renesas,rcar-dmac";
1010 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 1143 reg = <0 0xec700000 0 0x10000>;
1011 clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7793_CLK_RCAN>, 1144 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1012 <&can_clk>; 1145 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1013 clock-names = "clkp1", "clkp2", "can_clk"; 1146 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1014 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 1147 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1015 resets = <&cpg 916>; 1148 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1016 status = "disabled"; 1149 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1017 }; 1150 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1018 1151 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1019 can1: can@e6e88000 { 1152 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1020 compatible = "renesas,can-r8a7793", "renesas,rcar-gen2-can"; 1153 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1021 reg = <0 0xe6e88000 0 0x1000>; 1154 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1022 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 1155 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1023 clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7793_CLK_RCAN>, 1156 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1024 <&can_clk>; 1157 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1025 clock-names = "clkp1", "clkp2", "can_clk"; 1158 interrupt-names = "error",
1026 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>; 1159 "ch0", "ch1", "ch2", "ch3",
1027 resets = <&cpg 915>; 1160 "ch4", "ch5", "ch6", "ch7",
1028 status = "disabled"; 1161 "ch8", "ch9", "ch10", "ch11",
1029 }; 1162 "ch12";
1030 1163 clocks = <&cpg CPG_MOD 502>;
1031 /* External root clock */ 1164 clock-names = "fck";
1032 extal_clk: extal { 1165 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1033 compatible = "fixed-clock"; 1166 resets = <&cpg 502>;
1034 #clock-cells = <0>; 1167 #dma-cells = <1>;
1035 /* This value must be overridden by the board. */ 1168 dma-channels = <13>;
1036 clock-frequency = <0>; 1169 };
1037 };
1038
1039 /*
1040 * The external audio clocks are configured as 0 Hz fixed frequency
1041 * clocks by default.
1042 * Boards that provide audio clocks should override them.
1043 */
1044 audio_clk_a: audio_clk_a {
1045 compatible = "fixed-clock";
1046 #clock-cells = <0>;
1047 clock-frequency = <0>;
1048 };
1049 audio_clk_b: audio_clk_b {
1050 compatible = "fixed-clock";
1051 #clock-cells = <0>;
1052 clock-frequency = <0>;
1053 };
1054 audio_clk_c: audio_clk_c {
1055 compatible = "fixed-clock";
1056 #clock-cells = <0>;
1057 clock-frequency = <0>;
1058 };
1059
1060 /* External USB clock - can be overridden by the board */
1061 usb_extal_clk: usb_extal {
1062 compatible = "fixed-clock";
1063 #clock-cells = <0>;
1064 clock-frequency = <48000000>;
1065 };
1066 1170
1067 /* External CAN clock */ 1171 audma1: dma-controller@ec720000 {
1068 can_clk: can { 1172 compatible = "renesas,dmac-r8a7793",
1069 compatible = "fixed-clock"; 1173 "renesas,rcar-dmac";
1070 #clock-cells = <0>; 1174 reg = <0 0xec720000 0 0x10000>;
1071 /* This value must be overridden by the board. */ 1175 interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH
1072 clock-frequency = <0>; 1176 GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH
1073 }; 1177 GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH
1178 GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH
1179 GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH
1180 GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH
1181 GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH
1182 GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH
1183 GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH
1184 GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH
1185 GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH
1186 GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH
1187 GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH
1188 GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>;
1189 interrupt-names = "error",
1190 "ch0", "ch1", "ch2", "ch3",
1191 "ch4", "ch5", "ch6", "ch7",
1192 "ch8", "ch9", "ch10", "ch11",
1193 "ch12";
1194 clocks = <&cpg CPG_MOD 501>;
1195 clock-names = "fck";
1196 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1197 resets = <&cpg 501>;
1198 #dma-cells = <1>;
1199 dma-channels = <13>;
1200 };
1074 1201
1075 /* External SCIF clock */ 1202 sdhi0: sd@ee100000 {
1076 scif_clk: scif { 1203 compatible = "renesas,sdhi-r8a7793",
1077 compatible = "fixed-clock"; 1204 "renesas,rcar-gen2-sdhi";
1078 #clock-cells = <0>; 1205 reg = <0 0xee100000 0 0x328>;
1079 /* This value must be overridden by the board. */ 1206 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1080 clock-frequency = <0>; 1207 clocks = <&cpg CPG_MOD 314>;
1081 }; 1208 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1209 <&dmac1 0xcd>, <&dmac1 0xce>;
1210 dma-names = "tx", "rx", "tx", "rx";
1211 max-frequency = <195000000>;
1212 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1213 resets = <&cpg 314>;
1214 status = "disabled";
1215 };
1082 1216
1083 /* Special CPG clocks */ 1217 sdhi1: sd@ee140000 {
1084 cpg: clock-controller@e6150000 { 1218 compatible = "renesas,sdhi-r8a7793",
1085 compatible = "renesas,r8a7793-cpg-mssr"; 1219 "renesas,rcar-gen2-sdhi";
1086 reg = <0 0xe6150000 0 0x1000>; 1220 reg = <0 0xee140000 0 0x100>;
1087 clocks = <&extal_clk>, <&usb_extal_clk>; 1221 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1088 clock-names = "extal", "usb_extal"; 1222 clocks = <&cpg CPG_MOD 312>;
1089 #clock-cells = <2>; 1223 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1090 #power-domain-cells = <0>; 1224 <&dmac1 0xc1>, <&dmac1 0xc2>;
1091 #reset-cells = <1>; 1225 dma-names = "tx", "rx", "tx", "rx";
1092 }; 1226 max-frequency = <97500000>;
1227 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1228 resets = <&cpg 312>;
1229 status = "disabled";
1230 };
1093 1231
1094 rst: reset-controller@e6160000 { 1232 sdhi2: sd@ee160000 {
1095 compatible = "renesas,r8a7793-rst"; 1233 compatible = "renesas,sdhi-r8a7793",
1096 reg = <0 0xe6160000 0 0x0100>; 1234 "renesas,rcar-gen2-sdhi";
1097 }; 1235 reg = <0 0xee160000 0 0x100>;
1236 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1237 clocks = <&cpg CPG_MOD 311>;
1238 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1239 <&dmac1 0xd3>, <&dmac1 0xd4>;
1240 dma-names = "tx", "rx", "tx", "rx";
1241 max-frequency = <97500000>;
1242 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1243 resets = <&cpg 311>;
1244 status = "disabled";
1245 };
1098 1246
1099 prr: chipid@ff000044 { 1247 mmcif0: mmc@ee200000 {
1100 compatible = "renesas,prr"; 1248 compatible = "renesas,mmcif-r8a7793",
1101 reg = <0 0xff000044 0 4>; 1249 "renesas,sh-mmcif";
1102 }; 1250 reg = <0 0xee200000 0 0x80>;
1251 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1252 clocks = <&cpg CPG_MOD 315>;
1253 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1254 <&dmac1 0xd1>, <&dmac1 0xd2>;
1255 dma-names = "tx", "rx", "tx", "rx";
1256 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1257 resets = <&cpg 315>;
1258 reg-io-width = <4>;
1259 status = "disabled";
1260 max-frequency = <97500000>;
1261 };
1103 1262
1104 sysc: system-controller@e6180000 { 1263 ether: ethernet@ee700000 {
1105 compatible = "renesas,r8a7793-sysc"; 1264 compatible = "renesas,ether-r8a7793",
1106 reg = <0 0xe6180000 0 0x0200>; 1265 "renesas,rcar-gen2-ether";
1107 #power-domain-cells = <1>; 1266 reg = <0 0xee700000 0 0x400>;
1108 }; 1267 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1268 clocks = <&cpg CPG_MOD 813>;
1269 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1270 resets = <&cpg 813>;
1271 phy-mode = "rmii";
1272 #address-cells = <1>;
1273 #size-cells = <0>;
1274 status = "disabled";
1275 };
1109 1276
1110 ipmmu_sy0: mmu@e6280000 { 1277 gic: interrupt-controller@f1001000 {
1111 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa"; 1278 compatible = "arm,gic-400";
1112 reg = <0 0xe6280000 0 0x1000>; 1279 #interrupt-cells = <3>;
1113 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>, 1280 #address-cells = <0>;
1114 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1281 interrupt-controller;
1115 #iommu-cells = <1>; 1282 reg = <0 0xf1001000 0 0x1000>,
1116 status = "disabled"; 1283 <0 0xf1002000 0 0x2000>,
1117 }; 1284 <0 0xf1004000 0 0x2000>,
1285 <0 0xf1006000 0 0x2000>;
1286 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
1287 clocks = <&cpg CPG_MOD 408>;
1288 clock-names = "clk";
1289 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1290 resets = <&cpg 408>;
1291 };
1118 1292
1119 ipmmu_sy1: mmu@e6290000 { 1293 du: display@feb00000 {
1120 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa"; 1294 compatible = "renesas,du-r8a7793";
1121 reg = <0 0xe6290000 0 0x1000>; 1295 reg = <0 0xfeb00000 0 0x40000>,
1122 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 1296 <0 0xfeb90000 0 0x1c>;
1123 #iommu-cells = <1>; 1297 reg-names = "du", "lvds.0";
1124 status = "disabled"; 1298 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1125 }; 1299 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
1300 clocks = <&cpg CPG_MOD 724>,
1301 <&cpg CPG_MOD 723>,
1302 <&cpg CPG_MOD 726>;
1303 clock-names = "du.0", "du.1", "lvds.0";
1304 status = "disabled";
1305
1306 ports {
1307 #address-cells = <1>;
1308 #size-cells = <0>;
1309
1310 port@0 {
1311 reg = <0>;
1312 du_out_rgb: endpoint {
1313 };
1314 };
1315 port@1 {
1316 reg = <1>;
1317 du_out_lvds0: endpoint {
1318 };
1319 };
1320 };
1321 };
1126 1322
1127 ipmmu_ds: mmu@e6740000 { 1323 prr: chipid@ff000044 {
1128 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa"; 1324 compatible = "renesas,prr";
1129 reg = <0 0xe6740000 0 0x1000>; 1325 reg = <0 0xff000044 0 4>;
1130 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 1326 };
1131 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
1132 #iommu-cells = <1>;
1133 status = "disabled";
1134 };
1135 1327
1136 ipmmu_mp: mmu@ec680000 { 1328 cmt0: timer@ffca0000 {
1137 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa"; 1329 compatible = "renesas,r8a7793-cmt0",
1138 reg = <0 0xec680000 0 0x1000>; 1330 "renesas,rcar-gen2-cmt0";
1139 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 1331 reg = <0 0xffca0000 0 0x1004>;
1140 #iommu-cells = <1>; 1332 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1141 status = "disabled"; 1333 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
1142 }; 1334 clocks = <&cpg CPG_MOD 124>;
1335 clock-names = "fck";
1336 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1337 resets = <&cpg 124>;
1338
1339 status = "disabled";
1340 };
1143 1341
1144 ipmmu_mx: mmu@fe951000 { 1342 cmt1: timer@e6130000 {
1145 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa"; 1343 compatible = "renesas,r8a7793-cmt1",
1146 reg = <0 0xfe951000 0 0x1000>; 1344 "renesas,rcar-gen2-cmt1";
1147 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>, 1345 reg = <0 0xe6130000 0 0x1004>;
1148 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1346 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1149 #iommu-cells = <1>; 1347 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1150 status = "disabled"; 1348 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1349 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1350 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1351 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1352 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1353 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1354 clocks = <&cpg CPG_MOD 329>;
1355 clock-names = "fck";
1356 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1357 resets = <&cpg 329>;
1358
1359 status = "disabled";
1360 };
1151 }; 1361 };
1152 1362
1153 ipmmu_rt: mmu@ffc80000 { 1363 thermal-zones {
1154 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa"; 1364 cpu_thermal: cpu-thermal {
1155 reg = <0 0xffc80000 0 0x1000>; 1365 polling-delay-passive = <0>;
1156 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; 1366 polling-delay = <0>;
1157 #iommu-cells = <1>;
1158 status = "disabled";
1159 };
1160 1367
1161 ipmmu_gp: mmu@e62a0000 { 1368 thermal-sensors = <&thermal>;
1162 compatible = "renesas,ipmmu-r8a7793", "renesas,ipmmu-vmsa";
1163 reg = <0 0xe62a0000 0 0x1000>;
1164 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
1165 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
1166 #iommu-cells = <1>;
1167 status = "disabled";
1168 };
1169 1369
1170 rcar_sound: sound@ec500000 { 1370 trips {
1171 /* 1371 cpu-crit {
1172 * #sound-dai-cells is required 1372 temperature = <95000>;
1173 * 1373 hysteresis = <0>;
1174 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; 1374 type = "critical";
1175 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; 1375 };
1176 */
1177 compatible = "renesas,rcar_sound-r8a7793", "renesas,rcar_sound-gen2";
1178 reg = <0 0xec500000 0 0x1000>, /* SCU */
1179 <0 0xec5a0000 0 0x100>, /* ADG */
1180 <0 0xec540000 0 0x1000>, /* SSIU */
1181 <0 0xec541000 0 0x280>, /* SSI */
1182 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
1183 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
1184
1185 clocks = <&cpg CPG_MOD 1005>,
1186 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
1187 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
1188 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
1189 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
1190 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
1191 <&cpg CPG_MOD 1022>, <&cpg CPG_MOD 1023>,
1192 <&cpg CPG_MOD 1024>, <&cpg CPG_MOD 1025>,
1193 <&cpg CPG_MOD 1026>, <&cpg CPG_MOD 1027>,
1194 <&cpg CPG_MOD 1028>, <&cpg CPG_MOD 1029>,
1195 <&cpg CPG_MOD 1030>, <&cpg CPG_MOD 1031>,
1196 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1197 <&audio_clk_a>, <&audio_clk_b>, <&audio_clk_c>,
1198 <&cpg CPG_CORE R8A7793_CLK_M2>;
1199 clock-names = "ssi-all",
1200 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1201 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
1202 "src.9", "src.8", "src.7", "src.6", "src.5",
1203 "src.4", "src.3", "src.2", "src.1", "src.0",
1204 "dvc.0", "dvc.1",
1205 "clk_a", "clk_b", "clk_c", "clk_i";
1206 power-domains = <&sysc R8A7793_PD_ALWAYS_ON>;
1207 resets = <&cpg 1005>,
1208 <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
1209 <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
1210 <&cpg 1014>, <&cpg 1015>;
1211 reset-names = "ssi-all",
1212 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1213 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
1214
1215 status = "disabled";
1216
1217 rcar_sound,dvc {
1218 dvc0: dvc-0 {
1219 dmas = <&audma1 0xbc>;
1220 dma-names = "tx";
1221 }; 1376 };
1222 dvc1: dvc-1 { 1377 cooling-maps {
1223 dmas = <&audma1 0xbe>;
1224 dma-names = "tx";
1225 }; 1378 };
1226 }; 1379 };
1380 };
1227 1381
1228 rcar_sound,src { 1382 timer {
1229 src0: src-0 { 1383 compatible = "arm,armv7-timer";
1230 interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 1384 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1231 dmas = <&audma0 0x85>, <&audma1 0x9a>; 1385 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1232 dma-names = "rx", "tx"; 1386 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1233 }; 1387 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
1234 src1: src-1 { 1388 };
1235 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1236 dmas = <&audma0 0x87>, <&audma1 0x9c>;
1237 dma-names = "rx", "tx";
1238 };
1239 src2: src-2 {
1240 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1241 dmas = <&audma0 0x89>, <&audma1 0x9e>;
1242 dma-names = "rx", "tx";
1243 };
1244 src3: src-3 {
1245 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1246 dmas = <&audma0 0x8b>, <&audma1 0xa0>;
1247 dma-names = "rx", "tx";
1248 };
1249 src4: src-4 {
1250 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1251 dmas = <&audma0 0x8d>, <&audma1 0xb0>;
1252 dma-names = "rx", "tx";
1253 };
1254 src5: src-5 {
1255 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1256 dmas = <&audma0 0x8f>, <&audma1 0xb2>;
1257 dma-names = "rx", "tx";
1258 };
1259 src6: src-6 {
1260 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1261 dmas = <&audma0 0x91>, <&audma1 0xb4>;
1262 dma-names = "rx", "tx";
1263 };
1264 src7: src-7 {
1265 interrupts = <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
1266 dmas = <&audma0 0x93>, <&audma1 0xb6>;
1267 dma-names = "rx", "tx";
1268 };
1269 src8: src-8 {
1270 interrupts = <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
1271 dmas = <&audma0 0x95>, <&audma1 0xb8>;
1272 dma-names = "rx", "tx";
1273 };
1274 src9: src-9 {
1275 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>;
1276 dmas = <&audma0 0x97>, <&audma1 0xba>;
1277 dma-names = "rx", "tx";
1278 };
1279 };
1280 1389
1281 rcar_sound,ssi { 1390 /* External USB clock - can be overridden by the board */
1282 ssi0: ssi-0 { 1391 usb_extal_clk: usb_extal {
1283 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 1392 compatible = "fixed-clock";
1284 dmas = <&audma0 0x01>, <&audma1 0x02>, <&audma0 0x15>, <&audma1 0x16>; 1393 #clock-cells = <0>;
1285 dma-names = "rx", "tx", "rxu", "txu"; 1394 clock-frequency = <48000000>;
1286 };
1287 ssi1: ssi-1 {
1288 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1289 dmas = <&audma0 0x03>, <&audma1 0x04>, <&audma0 0x49>, <&audma1 0x4a>;
1290 dma-names = "rx", "tx", "rxu", "txu";
1291 };
1292 ssi2: ssi-2 {
1293 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1294 dmas = <&audma0 0x05>, <&audma1 0x06>, <&audma0 0x63>, <&audma1 0x64>;
1295 dma-names = "rx", "tx", "rxu", "txu";
1296 };
1297 ssi3: ssi-3 {
1298 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1299 dmas = <&audma0 0x07>, <&audma1 0x08>, <&audma0 0x6f>, <&audma1 0x70>;
1300 dma-names = "rx", "tx", "rxu", "txu";
1301 };
1302 ssi4: ssi-4 {
1303 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1304 dmas = <&audma0 0x09>, <&audma1 0x0a>, <&audma0 0x71>, <&audma1 0x72>;
1305 dma-names = "rx", "tx", "rxu", "txu";
1306 };
1307 ssi5: ssi-5 {
1308 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1309 dmas = <&audma0 0x0b>, <&audma1 0x0c>, <&audma0 0x73>, <&audma1 0x74>;
1310 dma-names = "rx", "tx", "rxu", "txu";
1311 };
1312 ssi6: ssi-6 {
1313 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1314 dmas = <&audma0 0x0d>, <&audma1 0x0e>, <&audma0 0x75>, <&audma1 0x76>;
1315 dma-names = "rx", "tx", "rxu", "txu";
1316 };
1317 ssi7: ssi-7 {
1318 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1319 dmas = <&audma0 0x0f>, <&audma1 0x10>, <&audma0 0x79>, <&audma1 0x7a>;
1320 dma-names = "rx", "tx", "rxu", "txu";
1321 };
1322 ssi8: ssi-8 {
1323 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1324 dmas = <&audma0 0x11>, <&audma1 0x12>, <&audma0 0x7b>, <&audma1 0x7c>;
1325 dma-names = "rx", "tx", "rxu", "txu";
1326 };
1327 ssi9: ssi-9 {
1328 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1329 dmas = <&audma0 0x13>, <&audma1 0x14>, <&audma0 0x7d>, <&audma1 0x7e>;
1330 dma-names = "rx", "tx", "rxu", "txu";
1331 };
1332 };
1333 }; 1395 };
1334}; 1396};
diff --git a/arch/arm/boot/dts/r8a7794-alt.dts b/arch/arm/boot/dts/r8a7794-alt.dts
index 60c6515c4996..26a883484ea8 100644
--- a/arch/arm/boot/dts/r8a7794-alt.dts
+++ b/arch/arm/boot/dts/r8a7794-alt.dts
@@ -18,7 +18,9 @@
18 18
19 aliases { 19 aliases {
20 serial0 = &scif2; 20 serial0 = &scif2;
21 i2c9 = &gpioi2c1;
21 i2c10 = &gpioi2c4; 22 i2c10 = &gpioi2c4;
23 i2c11 = &i2chdmi;
22 i2c12 = &i2cexio4; 24 i2c12 = &i2cexio4;
23 }; 25 };
24 26
@@ -138,17 +140,50 @@
138 clock-frequency = <148500000>; 140 clock-frequency = <148500000>;
139 }; 141 };
140 142
143 gpioi2c1: i2c-9 {
144 #address-cells = <1>;
145 #size-cells = <0>;
146 compatible = "i2c-gpio";
147 status = "disabled";
148 scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
149 sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
150 };
151
141 gpioi2c4: i2c-10 { 152 gpioi2c4: i2c-10 {
142 #address-cells = <1>; 153 #address-cells = <1>;
143 #size-cells = <0>; 154 #size-cells = <0>;
144 compatible = "i2c-gpio"; 155 compatible = "i2c-gpio";
145 status = "disabled"; 156 status = "disabled";
146 sda-gpios = <&gpio4 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
147 scl-gpios = <&gpio4 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 157 scl-gpios = <&gpio4 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
158 sda-gpios = <&gpio4 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
148 i2c-gpio,delay-us = <5>; 159 i2c-gpio,delay-us = <5>;
149 }; 160 };
150 161
151 /* 162 /*
163 * A fallback to GPIO is provided for I2C1.
164 */
165 i2chdmi: i2c-11 {
166 compatible = "i2c-demux-pinctrl";
167 i2c-parent = <&i2c1>, <&gpioi2c1>;
168 i2c-bus-name = "i2c-hdmi";
169 #address-cells = <1>;
170 #size-cells = <0>;
171
172 composite-in@20 {
173 compatible = "adi,adv7180";
174 reg = <0x20>;
175 remote = <&vin0>;
176
177 port {
178 adv7180: endpoint {
179 bus-width = <8>;
180 remote-endpoint = <&vin0ep>;
181 };
182 };
183 };
184 };
185
186 /*
152 * I2C4 is routed to EXIO connector B, pins 73 (SCL) + 74 (SDA). 187 * I2C4 is routed to EXIO connector B, pins 73 (SCL) + 74 (SDA).
153 * A fallback to GPIO is provided. 188 * A fallback to GPIO is provided.
154 */ 189 */
@@ -324,23 +359,9 @@
324 359
325&i2c1 { 360&i2c1 {
326 pinctrl-0 = <&i2c1_pins>; 361 pinctrl-0 = <&i2c1_pins>;
327 pinctrl-names = "default"; 362 pinctrl-names = "i2c-hdmi";
328 363
329 status = "okay";
330 clock-frequency = <400000>; 364 clock-frequency = <400000>;
331
332 composite-in@20 {
333 compatible = "adi,adv7180";
334 reg = <0x20>;
335 remote = <&vin0>;
336
337 port {
338 adv7180: endpoint {
339 bus-width = <8>;
340 remote-endpoint = <&vin0ep>;
341 };
342 };
343 };
344}; 365};
345 366
346&i2c4 { 367&i2c4 {
diff --git a/arch/arm/boot/dts/r8a7794-silk.dts b/arch/arm/boot/dts/r8a7794-silk.dts
index edfad0e5ac53..351cb3b3d966 100644
--- a/arch/arm/boot/dts/r8a7794-silk.dts
+++ b/arch/arm/boot/dts/r8a7794-silk.dts
@@ -24,6 +24,7 @@
24/dts-v1/; 24/dts-v1/;
25#include "r8a7794.dtsi" 25#include "r8a7794.dtsi"
26#include <dt-bindings/gpio/gpio.h> 26#include <dt-bindings/gpio/gpio.h>
27#include <dt-bindings/input/input.h>
27 28
28/ { 29/ {
29 model = "SILK"; 30 model = "SILK";
@@ -31,6 +32,8 @@
31 32
32 aliases { 33 aliases {
33 serial0 = &scif2; 34 serial0 = &scif2;
35 i2c9 = &gpioi2c1;
36 i2c10 = &i2chdmi;
34 }; 37 };
35 38
36 chosen { 39 chosen {
@@ -43,6 +46,60 @@
43 reg = <0 0x40000000 0 0x40000000>; 46 reg = <0 0x40000000 0 0x40000000>;
44 }; 47 };
45 48
49 gpio-keys {
50 compatible = "gpio-keys";
51
52 key-3 {
53 gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;
54 linux,code = <KEY_3>;
55 label = "SW3";
56 wakeup-source;
57 debounce-interval = <20>;
58 };
59 key-4 {
60 gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
61 linux,code = <KEY_4>;
62 label = "SW4";
63 wakeup-source;
64 debounce-interval = <20>;
65 };
66 key-6 {
67 gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
68 linux,code = <KEY_6>;
69 label = "SW6";
70 wakeup-source;
71 debounce-interval = <20>;
72 };
73 key-a {
74 gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
75 linux,code = <KEY_A>;
76 label = "SW12-1";
77 wakeup-source;
78 debounce-interval = <20>;
79 };
80 key-b {
81 gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
82 linux,code = <KEY_B>;
83 label = "SW12-2";
84 wakeup-source;
85 debounce-interval = <20>;
86 };
87 key-c {
88 gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
89 linux,code = <KEY_C>;
90 label = "SW12-3";
91 wakeup-source;
92 debounce-interval = <20>;
93 };
94 key-d {
95 gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
96 linux,code = <KEY_D>;
97 label = "SW12-4";
98 wakeup-source;
99 debounce-interval = <20>;
100 };
101 };
102
46 d3_3v: regulator-d3-3v { 103 d3_3v: regulator-d3-3v {
47 compatible = "regulator-fixed"; 104 compatible = "regulator-fixed";
48 regulator-name = "D3.3V"; 105 regulator-name = "D3.3V";
@@ -153,6 +210,84 @@
153 clocks = <&x9_clk>; 210 clocks = <&x9_clk>;
154 }; 211 };
155 }; 212 };
213
214 gpioi2c1: i2c-9 {
215 #address-cells = <1>;
216 #size-cells = <0>;
217 compatible = "i2c-gpio";
218 status = "disabled";
219 scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
220 sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
221 i2c-gpio,delay-us = <5>;
222 };
223
224 /*
225 * A fallback to GPIO is provided for I2C1.
226 */
227 i2chdmi: i2c-10 {
228 compatible = "i2c-demux-pinctrl";
229 i2c-parent = <&i2c1>, <&gpioi2c1>;
230 i2c-bus-name = "i2c-hdmi";
231 #address-cells = <1>;
232 #size-cells = <0>;
233
234 ak4643: codec@12 {
235 compatible = "asahi-kasei,ak4643";
236 #sound-dai-cells = <0>;
237 reg = <0x12>;
238 };
239
240 composite-in@20 {
241 compatible = "adi,adv7180";
242 reg = <0x20>;
243 remote = <&vin0>;
244
245 port {
246 adv7180: endpoint {
247 bus-width = <8>;
248 remote-endpoint = <&vin0ep>;
249 };
250 };
251 };
252
253 hdmi@39 {
254 compatible = "adi,adv7511w";
255 reg = <0x39>;
256 interrupt-parent = <&gpio5>;
257 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
258
259 adi,input-depth = <8>;
260 adi,input-colorspace = "rgb";
261 adi,input-clock = "1x";
262 adi,input-style = <1>;
263 adi,input-justification = "evenly";
264
265 ports {
266 #address-cells = <1>;
267 #size-cells = <0>;
268
269 port@0 {
270 reg = <0>;
271 adv7511_in: endpoint {
272 remote-endpoint = <&du_out_rgb0>;
273 };
274 };
275
276 port@1 {
277 reg = <1>;
278 adv7511_out: endpoint {
279 remote-endpoint = <&hdmi_con>;
280 };
281 };
282 };
283 };
284
285 eeprom@50 {
286 compatible = "renesas,r1ex24002", "atmel,24c02";
287 reg = <0x50>;
288 pagesize = <16>;
289 };
290 };
156}; 291};
157 292
158&extal_clk { 293&extal_clk {
@@ -268,61 +403,9 @@
268 403
269&i2c1 { 404&i2c1 {
270 pinctrl-0 = <&i2c1_pins>; 405 pinctrl-0 = <&i2c1_pins>;
271 pinctrl-names = "default"; 406 pinctrl-names = "i2c-hdmi";
272 407
273 status = "okay";
274 clock-frequency = <400000>; 408 clock-frequency = <400000>;
275
276 ak4643: codec@12 {
277 compatible = "asahi-kasei,ak4643";
278 #sound-dai-cells = <0>;
279 reg = <0x12>;
280 };
281
282 composite-in@20 {
283 compatible = "adi,adv7180";
284 reg = <0x20>;
285 remote = <&vin0>;
286
287 port {
288 adv7180: endpoint {
289 bus-width = <8>;
290 remote-endpoint = <&vin0ep>;
291 };
292 };
293 };
294
295 hdmi@39 {
296 compatible = "adi,adv7511w";
297 reg = <0x39>;
298 interrupt-parent = <&gpio5>;
299 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
300
301 adi,input-depth = <8>;
302 adi,input-colorspace = "rgb";
303 adi,input-clock = "1x";
304 adi,input-style = <1>;
305 adi,input-justification = "evenly";
306
307 ports {
308 #address-cells = <1>;
309 #size-cells = <0>;
310
311 port@0 {
312 reg = <0>;
313 adv7511_in: endpoint {
314 remote-endpoint = <&du_out_rgb0>;
315 };
316 };
317
318 port@1 {
319 reg = <1>;
320 adv7511_out: endpoint {
321 remote-endpoint = <&hdmi_con>;
322 };
323 };
324 };
325 };
326}; 409};
327 410
328&mmcif0 { 411&mmcif0 {
diff --git a/arch/arm/boot/dts/r8a7794.dtsi b/arch/arm/boot/dts/r8a7794.dtsi
index 106b4e1649ff..d588efa6aeaa 100644
--- a/arch/arm/boot/dts/r8a7794.dtsi
+++ b/arch/arm/boot/dts/r8a7794.dtsi
@@ -16,7 +16,6 @@
16 16
17/ { 17/ {
18 compatible = "renesas,r8a7794"; 18 compatible = "renesas,r8a7794";
19 interrupt-parent = <&gic>;
20 #address-cells = <2>; 19 #address-cells = <2>;
21 #size-cells = <2>; 20 #size-cells = <2>;
22 21
@@ -34,6 +33,35 @@
34 vin1 = &vin1; 33 vin1 = &vin1;
35 }; 34 };
36 35
36 /*
37 * The external audio clocks are configured as 0 Hz fixed frequency
38 * clocks by default.
39 * Boards that provide audio clocks should override them.
40 */
41 audio_clka: audio_clka {
42 compatible = "fixed-clock";
43 #clock-cells = <0>;
44 clock-frequency = <0>;
45 };
46 audio_clkb: audio_clkb {
47 compatible = "fixed-clock";
48 #clock-cells = <0>;
49 clock-frequency = <0>;
50 };
51 audio_clkc: audio_clkc {
52 compatible = "fixed-clock";
53 #clock-cells = <0>;
54 clock-frequency = <0>;
55 };
56
57 /* External CAN clock */
58 can_clk: can {
59 compatible = "fixed-clock";
60 #clock-cells = <0>;
61 /* This value must be overridden by the board. */
62 clock-frequency = <0>;
63 };
64
37 cpus { 65 cpus {
38 #address-cells = <1>; 66 #address-cells = <1>;
39 #size-cells = <0>; 67 #size-cells = <0>;
@@ -67,1290 +95,1313 @@
67 }; 95 };
68 }; 96 };
69 97
70 apmu@e6151000 { 98 /* External root clock */
71 compatible = "renesas,r8a7794-apmu", "renesas,apmu"; 99 extal_clk: extal {
72 reg = <0 0xe6151000 0 0x188>; 100 compatible = "fixed-clock";
73 cpus = <&cpu0 &cpu1>; 101 #clock-cells = <0>;
74 }; 102 /* This value must be overridden by the board. */
75 103 clock-frequency = <0>;
76 gic: interrupt-controller@f1001000 {
77 compatible = "arm,gic-400";
78 #interrupt-cells = <3>;
79 #address-cells = <0>;
80 interrupt-controller;
81 reg = <0 0xf1001000 0 0x1000>,
82 <0 0xf1002000 0 0x2000>,
83 <0 0xf1004000 0 0x2000>,
84 <0 0xf1006000 0 0x2000>;
85 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
86 clocks = <&cpg CPG_MOD 408>;
87 clock-names = "clk";
88 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
89 resets = <&cpg 408>;
90 }; 104 };
91 105
92 gpio0: gpio@e6050000 { 106 /* External SCIF clock */
93 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 107 scif_clk: scif {
94 reg = <0 0xe6050000 0 0x50>; 108 compatible = "fixed-clock";
95 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 109 #clock-cells = <0>;
96 #gpio-cells = <2>; 110 /* This value must be overridden by the board. */
97 gpio-controller; 111 clock-frequency = <0>;
98 gpio-ranges = <&pfc 0 0 32>;
99 #interrupt-cells = <2>;
100 interrupt-controller;
101 clocks = <&cpg CPG_MOD 912>;
102 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
103 resets = <&cpg 912>;
104 }; 112 };
105 113
106 gpio1: gpio@e6051000 { 114 soc {
107 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 115 compatible = "simple-bus";
108 reg = <0 0xe6051000 0 0x50>; 116 interrupt-parent = <&gic>;
109 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
110 #gpio-cells = <2>;
111 gpio-controller;
112 gpio-ranges = <&pfc 0 32 26>;
113 #interrupt-cells = <2>;
114 interrupt-controller;
115 clocks = <&cpg CPG_MOD 911>;
116 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
117 resets = <&cpg 911>;
118 };
119 117
120 gpio2: gpio@e6052000 { 118 #address-cells = <2>;
121 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 119 #size-cells = <2>;
122 reg = <0 0xe6052000 0 0x50>; 120 ranges;
123 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 121
124 #gpio-cells = <2>; 122 gpio0: gpio@e6050000 {
125 gpio-controller; 123 compatible = "renesas,gpio-r8a7794",
126 gpio-ranges = <&pfc 0 64 32>; 124 "renesas,rcar-gen2-gpio";
127 #interrupt-cells = <2>; 125 reg = <0 0xe6050000 0 0x50>;
128 interrupt-controller; 126 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
129 clocks = <&cpg CPG_MOD 910>; 127 #gpio-cells = <2>;
130 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 128 gpio-controller;
131 resets = <&cpg 910>; 129 gpio-ranges = <&pfc 0 0 32>;
132 }; 130 #interrupt-cells = <2>;
131 interrupt-controller;
132 clocks = <&cpg CPG_MOD 912>;
133 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
134 resets = <&cpg 912>;
135 };
133 136
134 gpio3: gpio@e6053000 { 137 gpio1: gpio@e6051000 {
135 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 138 compatible = "renesas,gpio-r8a7794",
136 reg = <0 0xe6053000 0 0x50>; 139 "renesas,rcar-gen2-gpio";
137 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 140 reg = <0 0xe6051000 0 0x50>;
138 #gpio-cells = <2>; 141 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
139 gpio-controller; 142 #gpio-cells = <2>;
140 gpio-ranges = <&pfc 0 96 32>; 143 gpio-controller;
141 #interrupt-cells = <2>; 144 gpio-ranges = <&pfc 0 32 26>;
142 interrupt-controller; 145 #interrupt-cells = <2>;
143 clocks = <&cpg CPG_MOD 909>; 146 interrupt-controller;
144 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 147 clocks = <&cpg CPG_MOD 911>;
145 resets = <&cpg 909>; 148 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
146 }; 149 resets = <&cpg 911>;
150 };
147 151
148 gpio4: gpio@e6054000 { 152 gpio2: gpio@e6052000 {
149 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 153 compatible = "renesas,gpio-r8a7794",
150 reg = <0 0xe6054000 0 0x50>; 154 "renesas,rcar-gen2-gpio";
151 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 155 reg = <0 0xe6052000 0 0x50>;
152 #gpio-cells = <2>; 156 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
153 gpio-controller; 157 #gpio-cells = <2>;
154 gpio-ranges = <&pfc 0 128 32>; 158 gpio-controller;
155 #interrupt-cells = <2>; 159 gpio-ranges = <&pfc 0 64 32>;
156 interrupt-controller; 160 #interrupt-cells = <2>;
157 clocks = <&cpg CPG_MOD 908>; 161 interrupt-controller;
158 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 162 clocks = <&cpg CPG_MOD 910>;
159 resets = <&cpg 908>; 163 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
160 }; 164 resets = <&cpg 910>;
165 };
161 166
162 gpio5: gpio@e6055000 { 167 gpio3: gpio@e6053000 {
163 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 168 compatible = "renesas,gpio-r8a7794",
164 reg = <0 0xe6055000 0 0x50>; 169 "renesas,rcar-gen2-gpio";
165 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 170 reg = <0 0xe6053000 0 0x50>;
166 #gpio-cells = <2>; 171 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
167 gpio-controller; 172 #gpio-cells = <2>;
168 gpio-ranges = <&pfc 0 160 28>; 173 gpio-controller;
169 #interrupt-cells = <2>; 174 gpio-ranges = <&pfc 0 96 32>;
170 interrupt-controller; 175 #interrupt-cells = <2>;
171 clocks = <&cpg CPG_MOD 907>; 176 interrupt-controller;
172 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 177 clocks = <&cpg CPG_MOD 909>;
173 resets = <&cpg 907>; 178 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
174 }; 179 resets = <&cpg 909>;
180 };
175 181
176 gpio6: gpio@e6055400 { 182 gpio4: gpio@e6054000 {
177 compatible = "renesas,gpio-r8a7794", "renesas,rcar-gen2-gpio"; 183 compatible = "renesas,gpio-r8a7794",
178 reg = <0 0xe6055400 0 0x50>; 184 "renesas,rcar-gen2-gpio";
179 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 185 reg = <0 0xe6054000 0 0x50>;
180 #gpio-cells = <2>; 186 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
181 gpio-controller; 187 #gpio-cells = <2>;
182 gpio-ranges = <&pfc 0 192 26>; 188 gpio-controller;
183 #interrupt-cells = <2>; 189 gpio-ranges = <&pfc 0 128 32>;
184 interrupt-controller; 190 #interrupt-cells = <2>;
185 clocks = <&cpg CPG_MOD 905>; 191 interrupt-controller;
186 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 192 clocks = <&cpg CPG_MOD 908>;
187 resets = <&cpg 905>; 193 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
188 }; 194 resets = <&cpg 908>;
195 };
189 196
190 cmt0: timer@ffca0000 { 197 gpio5: gpio@e6055000 {
191 compatible = "renesas,r8a7794-cmt0", "renesas,rcar-gen2-cmt0"; 198 compatible = "renesas,gpio-r8a7794",
192 reg = <0 0xffca0000 0 0x1004>; 199 "renesas,rcar-gen2-gpio";
193 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 200 reg = <0 0xe6055000 0 0x50>;
194 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>; 201 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
195 clocks = <&cpg CPG_MOD 124>; 202 #gpio-cells = <2>;
196 clock-names = "fck"; 203 gpio-controller;
197 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 204 gpio-ranges = <&pfc 0 160 28>;
198 resets = <&cpg 124>; 205 #interrupt-cells = <2>;
199 206 interrupt-controller;
200 status = "disabled"; 207 clocks = <&cpg CPG_MOD 907>;
201 }; 208 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
209 resets = <&cpg 907>;
210 };
202 211
203 cmt1: timer@e6130000 { 212 gpio6: gpio@e6055400 {
204 compatible = "renesas,r8a7794-cmt1", "renesas,rcar-gen2-cmt1"; 213 compatible = "renesas,gpio-r8a7794",
205 reg = <0 0xe6130000 0 0x1004>; 214 "renesas,rcar-gen2-gpio";
206 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>, 215 reg = <0 0xe6055400 0 0x50>;
207 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>, 216 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
208 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>, 217 #gpio-cells = <2>;
209 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 218 gpio-controller;
210 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 219 gpio-ranges = <&pfc 0 192 26>;
211 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 220 #interrupt-cells = <2>;
212 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>, 221 interrupt-controller;
213 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 222 clocks = <&cpg CPG_MOD 905>;
214 clocks = <&cpg CPG_MOD 329>; 223 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
215 clock-names = "fck"; 224 resets = <&cpg 905>;
216 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 225 };
217 resets = <&cpg 329>;
218
219 status = "disabled";
220 };
221 226
222 timer { 227 pfc: pin-controller@e6060000 {
223 compatible = "arm,armv7-timer"; 228 compatible = "renesas,pfc-r8a7794";
224 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 229 reg = <0 0xe6060000 0 0x11c>;
225 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, 230 };
226 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
227 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
228 };
229 231
230 irqc0: interrupt-controller@e61c0000 { 232 cpg: clock-controller@e6150000 {
231 compatible = "renesas,irqc-r8a7794", "renesas,irqc"; 233 compatible = "renesas,r8a7794-cpg-mssr";
232 #interrupt-cells = <2>; 234 reg = <0 0xe6150000 0 0x1000>;
233 interrupt-controller; 235 clocks = <&extal_clk>, <&usb_extal_clk>;
234 reg = <0 0xe61c0000 0 0x200>; 236 clock-names = "extal", "usb_extal";
235 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 237 #clock-cells = <2>;
236 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 238 #power-domain-cells = <0>;
237 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 239 #reset-cells = <1>;
238 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 240 };
239 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
240 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
241 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
242 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
243 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
244 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
245 clocks = <&cpg CPG_MOD 407>;
246 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
247 resets = <&cpg 407>;
248 };
249 241
250 pfc: pin-controller@e6060000 { 242 apmu@e6151000 {
251 compatible = "renesas,pfc-r8a7794"; 243 compatible = "renesas,r8a7794-apmu", "renesas,apmu";
252 reg = <0 0xe6060000 0 0x11c>; 244 reg = <0 0xe6151000 0 0x188>;
253 }; 245 cpus = <&cpu0 &cpu1>;
246 };
254 247
255 dmac0: dma-controller@e6700000 { 248 rst: reset-controller@e6160000 {
256 compatible = "renesas,dmac-r8a7794", "renesas,rcar-dmac"; 249 compatible = "renesas,r8a7794-rst";
257 reg = <0 0xe6700000 0 0x20000>; 250 reg = <0 0xe6160000 0 0x0100>;
258 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH 251 };
259 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
260 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
261 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
262 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
263 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
264 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
265 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
266 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
267 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
268 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
269 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
270 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
271 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
272 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
273 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
274 interrupt-names = "error",
275 "ch0", "ch1", "ch2", "ch3",
276 "ch4", "ch5", "ch6", "ch7",
277 "ch8", "ch9", "ch10", "ch11",
278 "ch12", "ch13", "ch14";
279 clocks = <&cpg CPG_MOD 219>;
280 clock-names = "fck";
281 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
282 resets = <&cpg 219>;
283 #dma-cells = <1>;
284 dma-channels = <15>;
285 };
286 252
287 dmac1: dma-controller@e6720000 { 253 sysc: system-controller@e6180000 {
288 compatible = "renesas,dmac-r8a7794", "renesas,rcar-dmac"; 254 compatible = "renesas,r8a7794-sysc";
289 reg = <0 0xe6720000 0 0x20000>; 255 reg = <0 0xe6180000 0 0x0200>;
290 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 256 #power-domain-cells = <1>;
291 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 257 };
292 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
293 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
294 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
295 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
296 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
297 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
298 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
299 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
300 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
301 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
302 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
303 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
304 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
305 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
306 interrupt-names = "error",
307 "ch0", "ch1", "ch2", "ch3",
308 "ch4", "ch5", "ch6", "ch7",
309 "ch8", "ch9", "ch10", "ch11",
310 "ch12", "ch13", "ch14";
311 clocks = <&cpg CPG_MOD 218>;
312 clock-names = "fck";
313 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
314 resets = <&cpg 218>;
315 #dma-cells = <1>;
316 dma-channels = <15>;
317 };
318 258
319 audma0: dma-controller@ec700000 { 259 irqc0: interrupt-controller@e61c0000 {
320 compatible = "renesas,dmac-r8a7794", "renesas,rcar-dmac"; 260 compatible = "renesas,irqc-r8a7794", "renesas,irqc";
321 reg = <0 0xec700000 0 0x10000>; 261 #interrupt-cells = <2>;
322 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH 262 interrupt-controller;
323 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 263 reg = <0 0xe61c0000 0 0x200>;
324 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 264 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
325 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 265 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
326 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 266 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
327 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 267 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
328 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 268 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
329 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 269 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
330 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 270 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
331 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 271 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
332 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 272 <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
333 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 273 <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
334 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 274 clocks = <&cpg CPG_MOD 407>;
335 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>; 275 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
336 interrupt-names = "error", 276 resets = <&cpg 407>;
337 "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", 277 };
338 "ch6", "ch7", "ch8", "ch9", "ch10", "ch11",
339 "ch12";
340 clocks = <&cpg CPG_MOD 502>;
341 clock-names = "fck";
342 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
343 resets = <&cpg 502>;
344 #dma-cells = <1>;
345 dma-channels = <13>;
346 };
347 278
348 scifa0: serial@e6c40000 { 279 ipmmu_sy0: mmu@e6280000 {
349 compatible = "renesas,scifa-r8a7794", 280 compatible = "renesas,ipmmu-r8a7794",
350 "renesas,rcar-gen2-scifa", "renesas,scifa"; 281 "renesas,ipmmu-vmsa";
351 reg = <0 0xe6c40000 0 64>; 282 reg = <0 0xe6280000 0 0x1000>;
352 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>; 283 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
353 clocks = <&cpg CPG_MOD 204>; 284 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
354 clock-names = "fck"; 285 #iommu-cells = <1>;
355 dmas = <&dmac0 0x21>, <&dmac0 0x22>, 286 status = "disabled";
356 <&dmac1 0x21>, <&dmac1 0x22>; 287 };
357 dma-names = "tx", "rx", "tx", "rx";
358 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
359 resets = <&cpg 204>;
360 status = "disabled";
361 };
362 288
363 scifa1: serial@e6c50000 { 289 ipmmu_sy1: mmu@e6290000 {
364 compatible = "renesas,scifa-r8a7794", 290 compatible = "renesas,ipmmu-r8a7794",
365 "renesas,rcar-gen2-scifa", "renesas,scifa"; 291 "renesas,ipmmu-vmsa";
366 reg = <0 0xe6c50000 0 64>; 292 reg = <0 0xe6290000 0 0x1000>;
367 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>; 293 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
368 clocks = <&cpg CPG_MOD 203>; 294 #iommu-cells = <1>;
369 clock-names = "fck"; 295 status = "disabled";
370 dmas = <&dmac0 0x25>, <&dmac0 0x26>, 296 };
371 <&dmac1 0x25>, <&dmac1 0x26>;
372 dma-names = "tx", "rx", "tx", "rx";
373 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
374 resets = <&cpg 203>;
375 status = "disabled";
376 };
377 297
378 scifa2: serial@e6c60000 { 298 ipmmu_ds: mmu@e6740000 {
379 compatible = "renesas,scifa-r8a7794", 299 compatible = "renesas,ipmmu-r8a7794",
380 "renesas,rcar-gen2-scifa", "renesas,scifa"; 300 "renesas,ipmmu-vmsa";
381 reg = <0 0xe6c60000 0 64>; 301 reg = <0 0xe6740000 0 0x1000>;
382 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 302 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
383 clocks = <&cpg CPG_MOD 202>; 303 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
384 clock-names = "fck"; 304 #iommu-cells = <1>;
385 dmas = <&dmac0 0x27>, <&dmac0 0x28>, 305 status = "disabled";
386 <&dmac1 0x27>, <&dmac1 0x28>; 306 };
387 dma-names = "tx", "rx", "tx", "rx";
388 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
389 resets = <&cpg 202>;
390 status = "disabled";
391 };
392 307
393 scifa3: serial@e6c70000 { 308 ipmmu_mp: mmu@ec680000 {
394 compatible = "renesas,scifa-r8a7794", 309 compatible = "renesas,ipmmu-r8a7794",
395 "renesas,rcar-gen2-scifa", "renesas,scifa"; 310 "renesas,ipmmu-vmsa";
396 reg = <0 0xe6c70000 0 64>; 311 reg = <0 0xec680000 0 0x1000>;
397 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 312 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
398 clocks = <&cpg CPG_MOD 1106>; 313 #iommu-cells = <1>;
399 clock-names = "fck"; 314 status = "disabled";
400 dmas = <&dmac0 0x1b>, <&dmac0 0x1c>, 315 };
401 <&dmac1 0x1b>, <&dmac1 0x1c>;
402 dma-names = "tx", "rx", "tx", "rx";
403 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
404 resets = <&cpg 1106>;
405 status = "disabled";
406 };
407 316
408 scifa4: serial@e6c78000 { 317 ipmmu_mx: mmu@fe951000 {
409 compatible = "renesas,scifa-r8a7794", 318 compatible = "renesas,ipmmu-r8a7794",
410 "renesas,rcar-gen2-scifa", "renesas,scifa"; 319 "renesas,ipmmu-vmsa";
411 reg = <0 0xe6c78000 0 64>; 320 reg = <0 0xfe951000 0 0x1000>;
412 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 321 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
413 clocks = <&cpg CPG_MOD 1107>; 322 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
414 clock-names = "fck"; 323 #iommu-cells = <1>;
415 dmas = <&dmac0 0x1f>, <&dmac0 0x20>, 324 status = "disabled";
416 <&dmac1 0x1f>, <&dmac1 0x20>; 325 };
417 dma-names = "tx", "rx", "tx", "rx";
418 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
419 resets = <&cpg 1107>;
420 status = "disabled";
421 };
422 326
423 scifa5: serial@e6c80000 { 327 ipmmu_gp: mmu@e62a0000 {
424 compatible = "renesas,scifa-r8a7794", 328 compatible = "renesas,ipmmu-r8a7794",
425 "renesas,rcar-gen2-scifa", "renesas,scifa"; 329 "renesas,ipmmu-vmsa";
426 reg = <0 0xe6c80000 0 64>; 330 reg = <0 0xe62a0000 0 0x1000>;
427 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 331 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
428 clocks = <&cpg CPG_MOD 1108>; 332 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>;
429 clock-names = "fck"; 333 #iommu-cells = <1>;
430 dmas = <&dmac0 0x23>, <&dmac0 0x24>, 334 status = "disabled";
431 <&dmac1 0x23>, <&dmac1 0x24>; 335 };
432 dma-names = "tx", "rx", "tx", "rx";
433 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
434 resets = <&cpg 1108>;
435 status = "disabled";
436 };
437 336
438 scifb0: serial@e6c20000 { 337 icram0: sram@e63a0000 {
439 compatible = "renesas,scifb-r8a7794", 338 compatible = "mmio-sram";
440 "renesas,rcar-gen2-scifb", "renesas,scifb"; 339 reg = <0 0xe63a0000 0 0x12000>;
441 reg = <0 0xe6c20000 0 0x100>; 340 };
442 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
443 clocks = <&cpg CPG_MOD 206>;
444 clock-names = "fck";
445 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
446 <&dmac1 0x3d>, <&dmac1 0x3e>;
447 dma-names = "tx", "rx", "tx", "rx";
448 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
449 resets = <&cpg 206>;
450 status = "disabled";
451 };
452 341
453 scifb1: serial@e6c30000 { 342 icram1: sram@e63c0000 {
454 compatible = "renesas,scifb-r8a7794", 343 compatible = "mmio-sram";
455 "renesas,rcar-gen2-scifb", "renesas,scifb"; 344 reg = <0 0xe63c0000 0 0x1000>;
456 reg = <0 0xe6c30000 0 0x100>; 345 #address-cells = <1>;
457 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>; 346 #size-cells = <1>;
458 clocks = <&cpg CPG_MOD 207>; 347 ranges = <0 0 0xe63c0000 0x1000>;
459 clock-names = "fck";
460 dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
461 <&dmac1 0x19>, <&dmac1 0x1a>;
462 dma-names = "tx", "rx", "tx", "rx";
463 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
464 resets = <&cpg 207>;
465 status = "disabled";
466 };
467 348
468 scifb2: serial@e6ce0000 { 349 smp-sram@0 {
469 compatible = "renesas,scifb-r8a7794", 350 compatible = "renesas,smp-sram";
470 "renesas,rcar-gen2-scifb", "renesas,scifb"; 351 reg = <0 0x10>;
471 reg = <0 0xe6ce0000 0 0x100>; 352 };
472 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>; 353 };
473 clocks = <&cpg CPG_MOD 216>;
474 clock-names = "fck";
475 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
476 <&dmac1 0x1d>, <&dmac1 0x1e>;
477 dma-names = "tx", "rx", "tx", "rx";
478 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
479 resets = <&cpg 216>;
480 status = "disabled";
481 };
482 354
483 scif0: serial@e6e60000 { 355 /* The memory map in the User's Manual maps the cores to
484 compatible = "renesas,scif-r8a7794", "renesas,rcar-gen2-scif", 356 * bus numbers
485 "renesas,scif"; 357 */
486 reg = <0 0xe6e60000 0 64>; 358 i2c0: i2c@e6508000 {
487 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>; 359 compatible = "renesas,i2c-r8a7794",
488 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 360 "renesas,rcar-gen2-i2c";
489 <&scif_clk>; 361 reg = <0 0xe6508000 0 0x40>;
490 clock-names = "fck", "brg_int", "scif_clk"; 362 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
491 dmas = <&dmac0 0x29>, <&dmac0 0x2a>, 363 clocks = <&cpg CPG_MOD 931>;
492 <&dmac1 0x29>, <&dmac1 0x2a>; 364 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
493 dma-names = "tx", "rx", "tx", "rx"; 365 resets = <&cpg 931>;
494 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 366 #address-cells = <1>;
495 resets = <&cpg 721>; 367 #size-cells = <0>;
496 status = "disabled"; 368 i2c-scl-internal-delay-ns = <6>;
497 }; 369 status = "disabled";
370 };
498 371
499 scif1: serial@e6e68000 { 372 i2c1: i2c@e6518000 {
500 compatible = "renesas,scif-r8a7794", "renesas,rcar-gen2-scif", 373 compatible = "renesas,i2c-r8a7794",
501 "renesas,scif"; 374 "renesas,rcar-gen2-i2c";
502 reg = <0 0xe6e68000 0 64>; 375 reg = <0 0xe6518000 0 0x40>;
503 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 376 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
504 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 377 clocks = <&cpg CPG_MOD 930>;
505 <&scif_clk>; 378 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
506 clock-names = "fck", "brg_int", "scif_clk"; 379 resets = <&cpg 930>;
507 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>, 380 #address-cells = <1>;
508 <&dmac1 0x2d>, <&dmac1 0x2e>; 381 #size-cells = <0>;
509 dma-names = "tx", "rx", "tx", "rx"; 382 i2c-scl-internal-delay-ns = <6>;
510 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 383 status = "disabled";
511 resets = <&cpg 720>; 384 };
512 status = "disabled";
513 };
514 385
515 scif2: serial@e6e58000 { 386 i2c2: i2c@e6530000 {
516 compatible = "renesas,scif-r8a7794", "renesas,rcar-gen2-scif", 387 compatible = "renesas,i2c-r8a7794",
517 "renesas,scif"; 388 "renesas,rcar-gen2-i2c";
518 reg = <0 0xe6e58000 0 64>; 389 reg = <0 0xe6530000 0 0x40>;
519 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 390 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
520 clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 391 clocks = <&cpg CPG_MOD 929>;
521 <&scif_clk>; 392 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
522 clock-names = "fck", "brg_int", "scif_clk"; 393 resets = <&cpg 929>;
523 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>, 394 #address-cells = <1>;
524 <&dmac1 0x2b>, <&dmac1 0x2c>; 395 #size-cells = <0>;
525 dma-names = "tx", "rx", "tx", "rx"; 396 i2c-scl-internal-delay-ns = <6>;
526 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 397 status = "disabled";
527 resets = <&cpg 719>; 398 };
528 status = "disabled";
529 };
530 399
531 scif3: serial@e6ea8000 { 400 i2c3: i2c@e6540000 {
532 compatible = "renesas,scif-r8a7794", "renesas,rcar-gen2-scif", 401 compatible = "renesas,i2c-r8a7794",
533 "renesas,scif"; 402 "renesas,rcar-gen2-i2c";
534 reg = <0 0xe6ea8000 0 64>; 403 reg = <0 0xe6540000 0 0x40>;
535 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 404 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
536 clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 405 clocks = <&cpg CPG_MOD 928>;
537 <&scif_clk>; 406 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
538 clock-names = "fck", "brg_int", "scif_clk"; 407 resets = <&cpg 928>;
539 dmas = <&dmac0 0x2f>, <&dmac0 0x30>, 408 #address-cells = <1>;
540 <&dmac1 0x2f>, <&dmac1 0x30>; 409 #size-cells = <0>;
541 dma-names = "tx", "rx", "tx", "rx"; 410 i2c-scl-internal-delay-ns = <6>;
542 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 411 status = "disabled";
543 resets = <&cpg 718>; 412 };
544 status = "disabled";
545 };
546 413
547 scif4: serial@e6ee0000 { 414 i2c4: i2c@e6520000 {
548 compatible = "renesas,scif-r8a7794", "renesas,rcar-gen2-scif", 415 compatible = "renesas,i2c-r8a7794",
549 "renesas,scif"; 416 "renesas,rcar-gen2-i2c";
550 reg = <0 0xe6ee0000 0 64>; 417 reg = <0 0xe6520000 0 0x40>;
551 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 418 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
552 clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 419 clocks = <&cpg CPG_MOD 927>;
553 <&scif_clk>; 420 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
554 clock-names = "fck", "brg_int", "scif_clk"; 421 resets = <&cpg 927>;
555 dmas = <&dmac0 0xfb>, <&dmac0 0xfc>, 422 #address-cells = <1>;
556 <&dmac1 0xfb>, <&dmac1 0xfc>; 423 #size-cells = <0>;
557 dma-names = "tx", "rx", "tx", "rx"; 424 i2c-scl-internal-delay-ns = <6>;
558 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 425 status = "disabled";
559 resets = <&cpg 715>; 426 };
560 status = "disabled";
561 };
562 427
563 scif5: serial@e6ee8000 { 428 i2c5: i2c@e6528000 {
564 compatible = "renesas,scif-r8a7794", "renesas,rcar-gen2-scif", 429 compatible = "renesas,i2c-r8a7794",
565 "renesas,scif"; 430 "renesas,rcar-gen2-i2c";
566 reg = <0 0xe6ee8000 0 64>; 431 reg = <0 0xe6528000 0 0x40>;
567 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 432 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
568 clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 433 clocks = <&cpg CPG_MOD 925>;
569 <&scif_clk>; 434 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
570 clock-names = "fck", "brg_int", "scif_clk"; 435 resets = <&cpg 925>;
571 dmas = <&dmac0 0xfd>, <&dmac0 0xfe>, 436 #address-cells = <1>;
572 <&dmac1 0xfd>, <&dmac1 0xfe>; 437 #size-cells = <0>;
573 dma-names = "tx", "rx", "tx", "rx"; 438 i2c-scl-internal-delay-ns = <6>;
574 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 439 status = "disabled";
575 resets = <&cpg 714>; 440 };
576 status = "disabled";
577 };
578 441
579 hscif0: serial@e62c0000 { 442 i2c6: i2c@e6500000 {
580 compatible = "renesas,hscif-r8a7794", 443 compatible = "renesas,iic-r8a7794",
581 "renesas,rcar-gen2-hscif", "renesas,hscif"; 444 "renesas,rcar-gen2-iic",
582 reg = <0 0xe62c0000 0 96>; 445 "renesas,rmobile-iic";
583 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>; 446 reg = <0 0xe6500000 0 0x425>;
584 clocks = <&cpg CPG_MOD 717>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 447 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
585 <&scif_clk>; 448 clocks = <&cpg CPG_MOD 318>;
586 clock-names = "fck", "brg_int", "scif_clk"; 449 dmas = <&dmac0 0x61>, <&dmac0 0x62>,
587 dmas = <&dmac0 0x39>, <&dmac0 0x3a>, 450 <&dmac1 0x61>, <&dmac1 0x62>;
588 <&dmac1 0x39>, <&dmac1 0x3a>; 451 dma-names = "tx", "rx", "tx", "rx";
589 dma-names = "tx", "rx", "tx", "rx"; 452 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
590 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 453 resets = <&cpg 318>;
591 resets = <&cpg 717>; 454 #address-cells = <1>;
592 status = "disabled"; 455 #size-cells = <0>;
593 }; 456 status = "disabled";
457 };
594 458
595 hscif1: serial@e62c8000 { 459 i2c7: i2c@e6510000 {
596 compatible = "renesas,hscif-r8a7794", 460 compatible = "renesas,iic-r8a7794",
597 "renesas,rcar-gen2-hscif", "renesas,hscif"; 461 "renesas,rcar-gen2-iic",
598 reg = <0 0xe62c8000 0 96>; 462 "renesas,rmobile-iic";
599 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 463 reg = <0 0xe6510000 0 0x425>;
600 clocks = <&cpg CPG_MOD 716>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 464 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
601 <&scif_clk>; 465 clocks = <&cpg CPG_MOD 323>;
602 clock-names = "fck", "brg_int", "scif_clk"; 466 dmas = <&dmac0 0x65>, <&dmac0 0x66>,
603 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>, 467 <&dmac1 0x65>, <&dmac1 0x66>;
604 <&dmac1 0x4d>, <&dmac1 0x4e>; 468 dma-names = "tx", "rx", "tx", "rx";
605 dma-names = "tx", "rx", "tx", "rx"; 469 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
606 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 470 resets = <&cpg 323>;
607 resets = <&cpg 716>; 471 #address-cells = <1>;
608 status = "disabled"; 472 #size-cells = <0>;
609 }; 473 status = "disabled";
474 };
610 475
611 hscif2: serial@e62d0000 { 476 hsusb: usb@e6590000 {
612 compatible = "renesas,hscif-r8a7794", 477 compatible = "renesas,usbhs-r8a7794",
613 "renesas,rcar-gen2-hscif", "renesas,hscif"; 478 "renesas,rcar-gen2-usbhs";
614 reg = <0 0xe62d0000 0 96>; 479 reg = <0 0xe6590000 0 0x100>;
615 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 480 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
616 clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7794_CLK_ZS>, 481 clocks = <&cpg CPG_MOD 704>;
617 <&scif_clk>; 482 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
618 clock-names = "fck", "brg_int", "scif_clk"; 483 resets = <&cpg 704>;
619 dmas = <&dmac0 0x3b>, <&dmac0 0x3c>, 484 renesas,buswait = <4>;
620 <&dmac1 0x3b>, <&dmac1 0x3c>; 485 phys = <&usb0 1>;
621 dma-names = "tx", "rx", "tx", "rx"; 486 phy-names = "usb";
622 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 487 status = "disabled";
623 resets = <&cpg 713>; 488 };
624 status = "disabled";
625 };
626 489
627 icram0: sram@e63a0000 { 490 usbphy: usb-phy@e6590100 {
628 compatible = "mmio-sram"; 491 compatible = "renesas,usb-phy-r8a7794",
629 reg = <0 0xe63a0000 0 0x12000>; 492 "renesas,rcar-gen2-usb-phy";
630 }; 493 reg = <0 0xe6590100 0 0x100>;
494 #address-cells = <1>;
495 #size-cells = <0>;
496 clocks = <&cpg CPG_MOD 704>;
497 clock-names = "usbhs";
498 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
499 resets = <&cpg 704>;
500 status = "disabled";
631 501
632 icram1: sram@e63c0000 { 502 usb0: usb-channel@0 {
633 compatible = "mmio-sram"; 503 reg = <0>;
634 reg = <0 0xe63c0000 0 0x1000>; 504 #phy-cells = <1>;
635 #address-cells = <1>; 505 };
636 #size-cells = <1>; 506 usb2: usb-channel@2 {
637 ranges = <0 0 0xe63c0000 0x1000>; 507 reg = <2>;
508 #phy-cells = <1>;
509 };
510 };
638 511
639 smp-sram@0 { 512 dmac0: dma-controller@e6700000 {
640 compatible = "renesas,smp-sram"; 513 compatible = "renesas,dmac-r8a7794",
641 reg = <0 0x10>; 514 "renesas,rcar-dmac";
515 reg = <0 0xe6700000 0 0x20000>;
516 interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH
517 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
518 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
519 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
520 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
521 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
522 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
523 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
524 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
525 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
526 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
527 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
528 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
529 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
530 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
531 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
532 interrupt-names = "error",
533 "ch0", "ch1", "ch2", "ch3",
534 "ch4", "ch5", "ch6", "ch7",
535 "ch8", "ch9", "ch10", "ch11",
536 "ch12", "ch13", "ch14";
537 clocks = <&cpg CPG_MOD 219>;
538 clock-names = "fck";
539 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
540 resets = <&cpg 219>;
541 #dma-cells = <1>;
542 dma-channels = <15>;
642 }; 543 };
643 };
644 544
645 ether: ethernet@ee700000 { 545 dmac1: dma-controller@e6720000 {
646 compatible = "renesas,ether-r8a7794", 546 compatible = "renesas,dmac-r8a7794",
647 "renesas,rcar-gen2-ether"; 547 "renesas,rcar-dmac";
648 reg = <0 0xee700000 0 0x400>; 548 reg = <0 0xe6720000 0 0x20000>;
649 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 549 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
650 clocks = <&cpg CPG_MOD 813>; 550 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
651 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 551 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
652 resets = <&cpg 813>; 552 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
653 phy-mode = "rmii"; 553 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
654 #address-cells = <1>; 554 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
655 #size-cells = <0>; 555 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
656 status = "disabled"; 556 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
657 }; 557 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
558 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
559 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
560 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
561 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
562 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
563 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
564 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>;
565 interrupt-names = "error",
566 "ch0", "ch1", "ch2", "ch3",
567 "ch4", "ch5", "ch6", "ch7",
568 "ch8", "ch9", "ch10", "ch11",
569 "ch12", "ch13", "ch14";
570 clocks = <&cpg CPG_MOD 218>;
571 clock-names = "fck";
572 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
573 resets = <&cpg 218>;
574 #dma-cells = <1>;
575 dma-channels = <15>;
576 };
658 577
659 avb: ethernet@e6800000 { 578 avb: ethernet@e6800000 {
660 compatible = "renesas,etheravb-r8a7794", 579 compatible = "renesas,etheravb-r8a7794",
661 "renesas,etheravb-rcar-gen2"; 580 "renesas,etheravb-rcar-gen2";
662 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>; 581 reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
663 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 582 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
664 clocks = <&cpg CPG_MOD 812>; 583 clocks = <&cpg CPG_MOD 812>;
665 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 584 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
666 resets = <&cpg 812>; 585 resets = <&cpg 812>;
667 #address-cells = <1>; 586 #address-cells = <1>;
668 #size-cells = <0>; 587 #size-cells = <0>;
669 status = "disabled"; 588 status = "disabled";
670 }; 589 };
671 590
672 /* The memory map in the User's Manual maps the cores to bus numbers */ 591 qspi: spi@e6b10000 {
673 i2c0: i2c@e6508000 { 592 compatible = "renesas,qspi-r8a7794", "renesas,qspi";
674 compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c"; 593 reg = <0 0xe6b10000 0 0x2c>;
675 reg = <0 0xe6508000 0 0x40>; 594 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
676 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>; 595 clocks = <&cpg CPG_MOD 917>;
677 clocks = <&cpg CPG_MOD 931>; 596 dmas = <&dmac0 0x17>, <&dmac0 0x18>,
678 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 597 <&dmac1 0x17>, <&dmac1 0x18>;
679 resets = <&cpg 931>; 598 dma-names = "tx", "rx", "tx", "rx";
680 #address-cells = <1>; 599 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
681 #size-cells = <0>; 600 resets = <&cpg 917>;
682 i2c-scl-internal-delay-ns = <6>; 601 num-cs = <1>;
683 status = "disabled"; 602 #address-cells = <1>;
684 }; 603 #size-cells = <0>;
604 status = "disabled";
605 };
685 606
686 i2c1: i2c@e6518000 { 607 scifa0: serial@e6c40000 {
687 compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c"; 608 compatible = "renesas,scifa-r8a7794",
688 reg = <0 0xe6518000 0 0x40>; 609 "renesas,rcar-gen2-scifa", "renesas,scifa";
689 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; 610 reg = <0 0xe6c40000 0 64>;
690 clocks = <&cpg CPG_MOD 930>; 611 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
691 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 612 clocks = <&cpg CPG_MOD 204>;
692 resets = <&cpg 930>; 613 clock-names = "fck";
693 #address-cells = <1>; 614 dmas = <&dmac0 0x21>, <&dmac0 0x22>,
694 #size-cells = <0>; 615 <&dmac1 0x21>, <&dmac1 0x22>;
695 i2c-scl-internal-delay-ns = <6>; 616 dma-names = "tx", "rx", "tx", "rx";
696 status = "disabled"; 617 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
697 }; 618 resets = <&cpg 204>;
619 status = "disabled";
620 };
698 621
699 i2c2: i2c@e6530000 { 622 scifa1: serial@e6c50000 {
700 compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c"; 623 compatible = "renesas,scifa-r8a7794",
701 reg = <0 0xe6530000 0 0x40>; 624 "renesas,rcar-gen2-scifa", "renesas,scifa";
702 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>; 625 reg = <0 0xe6c50000 0 64>;
703 clocks = <&cpg CPG_MOD 929>; 626 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
704 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 627 clocks = <&cpg CPG_MOD 203>;
705 resets = <&cpg 929>; 628 clock-names = "fck";
706 #address-cells = <1>; 629 dmas = <&dmac0 0x25>, <&dmac0 0x26>,
707 #size-cells = <0>; 630 <&dmac1 0x25>, <&dmac1 0x26>;
708 i2c-scl-internal-delay-ns = <6>; 631 dma-names = "tx", "rx", "tx", "rx";
709 status = "disabled"; 632 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
710 }; 633 resets = <&cpg 203>;
634 status = "disabled";
635 };
711 636
712 i2c3: i2c@e6540000 { 637 scifa2: serial@e6c60000 {
713 compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c"; 638 compatible = "renesas,scifa-r8a7794",
714 reg = <0 0xe6540000 0 0x40>; 639 "renesas,rcar-gen2-scifa", "renesas,scifa";
715 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; 640 reg = <0 0xe6c60000 0 64>;
716 clocks = <&cpg CPG_MOD 928>; 641 interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
717 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 642 clocks = <&cpg CPG_MOD 202>;
718 resets = <&cpg 928>; 643 clock-names = "fck";
719 #address-cells = <1>; 644 dmas = <&dmac0 0x27>, <&dmac0 0x28>,
720 #size-cells = <0>; 645 <&dmac1 0x27>, <&dmac1 0x28>;
721 i2c-scl-internal-delay-ns = <6>; 646 dma-names = "tx", "rx", "tx", "rx";
722 status = "disabled"; 647 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
723 }; 648 resets = <&cpg 202>;
649 status = "disabled";
650 };
724 651
725 i2c4: i2c@e6520000 { 652 scifa3: serial@e6c70000 {
726 compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c"; 653 compatible = "renesas,scifa-r8a7794",
727 reg = <0 0xe6520000 0 0x40>; 654 "renesas,rcar-gen2-scifa", "renesas,scifa";
728 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 655 reg = <0 0xe6c70000 0 64>;
729 clocks = <&cpg CPG_MOD 927>; 656 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
730 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 657 clocks = <&cpg CPG_MOD 1106>;
731 resets = <&cpg 927>; 658 clock-names = "fck";
732 #address-cells = <1>; 659 dmas = <&dmac0 0x1b>, <&dmac0 0x1c>,
733 #size-cells = <0>; 660 <&dmac1 0x1b>, <&dmac1 0x1c>;
734 i2c-scl-internal-delay-ns = <6>; 661 dma-names = "tx", "rx", "tx", "rx";
735 status = "disabled"; 662 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
736 }; 663 resets = <&cpg 1106>;
664 status = "disabled";
665 };
737 666
738 i2c5: i2c@e6528000 { 667 scifa4: serial@e6c78000 {
739 compatible = "renesas,i2c-r8a7794", "renesas,rcar-gen2-i2c"; 668 compatible = "renesas,scifa-r8a7794",
740 reg = <0 0xe6528000 0 0x40>; 669 "renesas,rcar-gen2-scifa", "renesas,scifa";
741 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 670 reg = <0 0xe6c78000 0 64>;
742 clocks = <&cpg CPG_MOD 925>; 671 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
743 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 672 clocks = <&cpg CPG_MOD 1107>;
744 resets = <&cpg 925>; 673 clock-names = "fck";
745 #address-cells = <1>; 674 dmas = <&dmac0 0x1f>, <&dmac0 0x20>,
746 #size-cells = <0>; 675 <&dmac1 0x1f>, <&dmac1 0x20>;
747 i2c-scl-internal-delay-ns = <6>; 676 dma-names = "tx", "rx", "tx", "rx";
748 status = "disabled"; 677 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
749 }; 678 resets = <&cpg 1107>;
679 status = "disabled";
680 };
750 681
751 i2c6: i2c@e6500000 { 682 scifa5: serial@e6c80000 {
752 compatible = "renesas,iic-r8a7794", "renesas,rcar-gen2-iic", 683 compatible = "renesas,scifa-r8a7794",
753 "renesas,rmobile-iic"; 684 "renesas,rcar-gen2-scifa", "renesas,scifa";
754 reg = <0 0xe6500000 0 0x425>; 685 reg = <0 0xe6c80000 0 64>;
755 interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>; 686 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
756 clocks = <&cpg CPG_MOD 318>; 687 clocks = <&cpg CPG_MOD 1108>;
757 dmas = <&dmac0 0x61>, <&dmac0 0x62>, 688 clock-names = "fck";
758 <&dmac1 0x61>, <&dmac1 0x62>; 689 dmas = <&dmac0 0x23>, <&dmac0 0x24>,
759 dma-names = "tx", "rx", "tx", "rx"; 690 <&dmac1 0x23>, <&dmac1 0x24>;
760 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 691 dma-names = "tx", "rx", "tx", "rx";
761 resets = <&cpg 318>; 692 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
762 #address-cells = <1>; 693 resets = <&cpg 1108>;
763 #size-cells = <0>; 694 status = "disabled";
764 status = "disabled"; 695 };
765 };
766 696
767 i2c7: i2c@e6510000 { 697 scifb0: serial@e6c20000 {
768 compatible = "renesas,iic-r8a7794", "renesas,rcar-gen2-iic", 698 compatible = "renesas,scifb-r8a7794",
769 "renesas,rmobile-iic"; 699 "renesas,rcar-gen2-scifb", "renesas,scifb";
770 reg = <0 0xe6510000 0 0x425>; 700 reg = <0 0xe6c20000 0 0x100>;
771 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>; 701 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
772 clocks = <&cpg CPG_MOD 323>; 702 clocks = <&cpg CPG_MOD 206>;
773 dmas = <&dmac0 0x65>, <&dmac0 0x66>, 703 clock-names = "fck";
774 <&dmac1 0x65>, <&dmac1 0x66>; 704 dmas = <&dmac0 0x3d>, <&dmac0 0x3e>,
775 dma-names = "tx", "rx", "tx", "rx"; 705 <&dmac1 0x3d>, <&dmac1 0x3e>;
776 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 706 dma-names = "tx", "rx", "tx", "rx";
777 resets = <&cpg 323>; 707 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
778 #address-cells = <1>; 708 resets = <&cpg 206>;
779 #size-cells = <0>; 709 status = "disabled";
780 status = "disabled"; 710 };
781 };
782 711
783 mmcif0: mmc@ee200000 { 712 scifb1: serial@e6c30000 {
784 compatible = "renesas,mmcif-r8a7794", "renesas,sh-mmcif"; 713 compatible = "renesas,scifb-r8a7794",
785 reg = <0 0xee200000 0 0x80>; 714 "renesas,rcar-gen2-scifb", "renesas,scifb";
786 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 715 reg = <0 0xe6c30000 0 0x100>;
787 clocks = <&cpg CPG_MOD 315>; 716 interrupts = <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>;
788 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>, 717 clocks = <&cpg CPG_MOD 207>;
789 <&dmac1 0xd1>, <&dmac1 0xd2>; 718 clock-names = "fck";
790 dma-names = "tx", "rx", "tx", "rx"; 719 dmas = <&dmac0 0x19>, <&dmac0 0x1a>,
791 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 720 <&dmac1 0x19>, <&dmac1 0x1a>;
792 resets = <&cpg 315>; 721 dma-names = "tx", "rx", "tx", "rx";
793 reg-io-width = <4>; 722 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
794 status = "disabled"; 723 resets = <&cpg 207>;
795 }; 724 status = "disabled";
725 };
796 726
797 sdhi0: sd@ee100000 { 727 scifb2: serial@e6ce0000 {
798 compatible = "renesas,sdhi-r8a7794", 728 compatible = "renesas,scifb-r8a7794",
799 "renesas,rcar-gen2-sdhi"; 729 "renesas,rcar-gen2-scifb", "renesas,scifb";
800 reg = <0 0xee100000 0 0x328>; 730 reg = <0 0xe6ce0000 0 0x100>;
801 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 731 interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
802 clocks = <&cpg CPG_MOD 314>; 732 clocks = <&cpg CPG_MOD 216>;
803 dmas = <&dmac0 0xcd>, <&dmac0 0xce>, 733 clock-names = "fck";
804 <&dmac1 0xcd>, <&dmac1 0xce>; 734 dmas = <&dmac0 0x1d>, <&dmac0 0x1e>,
805 dma-names = "tx", "rx", "tx", "rx"; 735 <&dmac1 0x1d>, <&dmac1 0x1e>;
806 max-frequency = <195000000>; 736 dma-names = "tx", "rx", "tx", "rx";
807 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 737 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
808 resets = <&cpg 314>; 738 resets = <&cpg 216>;
809 status = "disabled"; 739 status = "disabled";
810 }; 740 };
811 741
812 sdhi1: sd@ee140000 { 742 scif0: serial@e6e60000 {
813 compatible = "renesas,sdhi-r8a7794", 743 compatible = "renesas,scif-r8a7794",
814 "renesas,rcar-gen2-sdhi"; 744 "renesas,rcar-gen2-scif",
815 reg = <0 0xee140000 0 0x100>; 745 "renesas,scif";
816 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>; 746 reg = <0 0xe6e60000 0 64>;
817 clocks = <&cpg CPG_MOD 312>; 747 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
818 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>, 748 clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
819 <&dmac1 0xc1>, <&dmac1 0xc2>; 749 <&scif_clk>;
820 dma-names = "tx", "rx", "tx", "rx"; 750 clock-names = "fck", "brg_int", "scif_clk";
821 max-frequency = <97500000>; 751 dmas = <&dmac0 0x29>, <&dmac0 0x2a>,
822 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 752 <&dmac1 0x29>, <&dmac1 0x2a>;
823 resets = <&cpg 312>; 753 dma-names = "tx", "rx", "tx", "rx";
824 status = "disabled"; 754 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
825 }; 755 resets = <&cpg 721>;
756 status = "disabled";
757 };
826 758
827 sdhi2: sd@ee160000 { 759 scif1: serial@e6e68000 {
828 compatible = "renesas,sdhi-r8a7794", 760 compatible = "renesas,scif-r8a7794",
829 "renesas,rcar-gen2-sdhi"; 761 "renesas,rcar-gen2-scif",
830 reg = <0 0xee160000 0 0x100>; 762 "renesas,scif";
831 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>; 763 reg = <0 0xe6e68000 0 64>;
832 clocks = <&cpg CPG_MOD 311>; 764 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
833 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>, 765 clocks = <&cpg CPG_MOD 720>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
834 <&dmac1 0xd3>, <&dmac1 0xd4>; 766 <&scif_clk>;
835 dma-names = "tx", "rx", "tx", "rx"; 767 clock-names = "fck", "brg_int", "scif_clk";
836 max-frequency = <97500000>; 768 dmas = <&dmac0 0x2d>, <&dmac0 0x2e>,
837 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 769 <&dmac1 0x2d>, <&dmac1 0x2e>;
838 resets = <&cpg 311>; 770 dma-names = "tx", "rx", "tx", "rx";
839 status = "disabled"; 771 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
840 }; 772 resets = <&cpg 720>;
773 status = "disabled";
774 };
841 775
842 qspi: spi@e6b10000 { 776 scif2: serial@e6e58000 {
843 compatible = "renesas,qspi-r8a7794", "renesas,qspi"; 777 compatible = "renesas,scif-r8a7794",
844 reg = <0 0xe6b10000 0 0x2c>; 778 "renesas,rcar-gen2-scif", "renesas,scif";
845 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>; 779 reg = <0 0xe6e58000 0 64>;
846 clocks = <&cpg CPG_MOD 917>; 780 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
847 dmas = <&dmac0 0x17>, <&dmac0 0x18>, 781 clocks = <&cpg CPG_MOD 719>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
848 <&dmac1 0x17>, <&dmac1 0x18>; 782 <&scif_clk>;
849 dma-names = "tx", "rx", "tx", "rx"; 783 clock-names = "fck", "brg_int", "scif_clk";
850 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 784 dmas = <&dmac0 0x2b>, <&dmac0 0x2c>,
851 resets = <&cpg 917>; 785 <&dmac1 0x2b>, <&dmac1 0x2c>;
852 num-cs = <1>; 786 dma-names = "tx", "rx", "tx", "rx";
853 #address-cells = <1>; 787 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
854 #size-cells = <0>; 788 resets = <&cpg 719>;
855 status = "disabled"; 789 status = "disabled";
856 }; 790 };
857 791
858 vin0: video@e6ef0000 { 792 scif3: serial@e6ea8000 {
859 compatible = "renesas,vin-r8a7794", "renesas,rcar-gen2-vin"; 793 compatible = "renesas,scif-r8a7794",
860 reg = <0 0xe6ef0000 0 0x1000>; 794 "renesas,rcar-gen2-scif", "renesas,scif";
861 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 795 reg = <0 0xe6ea8000 0 64>;
862 clocks = <&cpg CPG_MOD 811>; 796 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
863 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 797 clocks = <&cpg CPG_MOD 718>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
864 resets = <&cpg 811>; 798 <&scif_clk>;
865 status = "disabled"; 799 clock-names = "fck", "brg_int", "scif_clk";
866 }; 800 dmas = <&dmac0 0x2f>, <&dmac0 0x30>,
801 <&dmac1 0x2f>, <&dmac1 0x30>;
802 dma-names = "tx", "rx", "tx", "rx";
803 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
804 resets = <&cpg 718>;
805 status = "disabled";
806 };
867 807
868 vin1: video@e6ef1000 { 808 scif4: serial@e6ee0000 {
869 compatible = "renesas,vin-r8a7794", "renesas,rcar-gen2-vin"; 809 compatible = "renesas,scif-r8a7794",
870 reg = <0 0xe6ef1000 0 0x1000>; 810 "renesas,rcar-gen2-scif", "renesas,scif";
871 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 811 reg = <0 0xe6ee0000 0 64>;
872 clocks = <&cpg CPG_MOD 810>; 812 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
873 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 813 clocks = <&cpg CPG_MOD 715>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
874 resets = <&cpg 810>; 814 <&scif_clk>;
875 status = "disabled"; 815 clock-names = "fck", "brg_int", "scif_clk";
876 }; 816 dmas = <&dmac0 0xfb>, <&dmac0 0xfc>,
817 <&dmac1 0xfb>, <&dmac1 0xfc>;
818 dma-names = "tx", "rx", "tx", "rx";
819 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
820 resets = <&cpg 715>;
821 status = "disabled";
822 };
877 823
878 pci0: pci@ee090000 { 824 scif5: serial@e6ee8000 {
879 compatible = "renesas,pci-r8a7794", "renesas,pci-rcar-gen2"; 825 compatible = "renesas,scif-r8a7794",
880 device_type = "pci"; 826 "renesas,rcar-gen2-scif", "renesas,scif";
881 reg = <0 0xee090000 0 0xc00>, 827 reg = <0 0xe6ee8000 0 64>;
882 <0 0xee080000 0 0x1100>; 828 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
883 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 829 clocks = <&cpg CPG_MOD 714>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
884 clocks = <&cpg CPG_MOD 703>; 830 <&scif_clk>;
885 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 831 clock-names = "fck", "brg_int", "scif_clk";
886 resets = <&cpg 703>; 832 dmas = <&dmac0 0xfd>, <&dmac0 0xfe>,
887 status = "disabled"; 833 <&dmac1 0xfd>, <&dmac1 0xfe>;
888 834 dma-names = "tx", "rx", "tx", "rx";
889 bus-range = <0 0>; 835 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
890 #address-cells = <3>; 836 resets = <&cpg 714>;
891 #size-cells = <2>; 837 status = "disabled";
892 #interrupt-cells = <1>;
893 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
894 interrupt-map-mask = <0xff00 0 0 0x7>;
895 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
896 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
897 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
898
899 usb@1,0 {
900 reg = <0x800 0 0 0 0>;
901 phys = <&usb0 0>;
902 phy-names = "usb";
903 }; 838 };
904 839
905 usb@2,0 { 840 hscif0: serial@e62c0000 {
906 reg = <0x1000 0 0 0 0>; 841 compatible = "renesas,hscif-r8a7794",
907 phys = <&usb0 0>; 842 "renesas,rcar-gen2-hscif", "renesas,hscif";
908 phy-names = "usb"; 843 reg = <0 0xe62c0000 0 96>;
844 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
845 clocks = <&cpg CPG_MOD 717>,
846 <&cpg CPG_CORE R8A7794_CLK_ZS>, <&scif_clk>;
847 clock-names = "fck", "brg_int", "scif_clk";
848 dmas = <&dmac0 0x39>, <&dmac0 0x3a>,
849 <&dmac1 0x39>, <&dmac1 0x3a>;
850 dma-names = "tx", "rx", "tx", "rx";
851 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
852 resets = <&cpg 717>;
853 status = "disabled";
909 }; 854 };
910 };
911 855
912 pci1: pci@ee0d0000 { 856 hscif1: serial@e62c8000 {
913 compatible = "renesas,pci-r8a7794", "renesas,pci-rcar-gen2"; 857 compatible = "renesas,hscif-r8a7794",
914 device_type = "pci"; 858 "renesas,rcar-gen2-hscif", "renesas,hscif";
915 reg = <0 0xee0d0000 0 0xc00>, 859 reg = <0 0xe62c8000 0 96>;
916 <0 0xee0c0000 0 0x1100>; 860 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
917 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 861 clocks = <&cpg CPG_MOD 716>,
918 clocks = <&cpg CPG_MOD 703>; 862 <&cpg CPG_CORE R8A7794_CLK_ZS>, <&scif_clk>;
919 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 863 clock-names = "fck", "brg_int", "scif_clk";
920 resets = <&cpg 703>; 864 dmas = <&dmac0 0x4d>, <&dmac0 0x4e>,
921 status = "disabled"; 865 <&dmac1 0x4d>, <&dmac1 0x4e>;
922 866 dma-names = "tx", "rx", "tx", "rx";
923 bus-range = <1 1>; 867 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
924 #address-cells = <3>; 868 resets = <&cpg 716>;
925 #size-cells = <2>; 869 status = "disabled";
926 #interrupt-cells = <1>;
927 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
928 interrupt-map-mask = <0xff00 0 0 0x7>;
929 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
930 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
931 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
932
933 usb@1,0 {
934 reg = <0x10800 0 0 0 0>;
935 phys = <&usb2 0>;
936 phy-names = "usb";
937 }; 870 };
938 871
939 usb@2,0 { 872 hscif2: serial@e62d0000 {
940 reg = <0x11000 0 0 0 0>; 873 compatible = "renesas,hscif-r8a7794",
941 phys = <&usb2 0>; 874 "renesas,rcar-gen2-hscif", "renesas,hscif";
942 phy-names = "usb"; 875 reg = <0 0xe62d0000 0 96>;
876 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
877 clocks = <&cpg CPG_MOD 713>, <&cpg CPG_CORE R8A7794_CLK_ZS>,
878 <&scif_clk>;
879 clock-names = "fck", "brg_int", "scif_clk";
880 dmas = <&dmac0 0x3b>, <&dmac0 0x3c>,
881 <&dmac1 0x3b>, <&dmac1 0x3c>;
882 dma-names = "tx", "rx", "tx", "rx";
883 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
884 resets = <&cpg 713>;
885 status = "disabled";
943 }; 886 };
944 };
945 887
946 hsusb: usb@e6590000 { 888 can0: can@e6e80000 {
947 compatible = "renesas,usbhs-r8a7794", "renesas,rcar-gen2-usbhs"; 889 compatible = "renesas,can-r8a7794",
948 reg = <0 0xe6590000 0 0x100>; 890 "renesas,rcar-gen2-can";
949 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 891 reg = <0 0xe6e80000 0 0x1000>;
950 clocks = <&cpg CPG_MOD 704>; 892 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
951 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 893 clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7794_CLK_RCAN>,
952 resets = <&cpg 704>; 894 <&can_clk>;
953 renesas,buswait = <4>; 895 clock-names = "clkp1", "clkp2", "can_clk";
954 phys = <&usb0 1>; 896 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
955 phy-names = "usb"; 897 resets = <&cpg 916>;
956 status = "disabled"; 898 status = "disabled";
957 }; 899 };
958 900
959 usbphy: usb-phy@e6590100 { 901 can1: can@e6e88000 {
960 compatible = "renesas,usb-phy-r8a7794", 902 compatible = "renesas,can-r8a7794",
961 "renesas,rcar-gen2-usb-phy"; 903 "renesas,rcar-gen2-can";
962 reg = <0 0xe6590100 0 0x100>; 904 reg = <0 0xe6e88000 0 0x1000>;
963 #address-cells = <1>; 905 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
964 #size-cells = <0>; 906 clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7794_CLK_RCAN>,
965 clocks = <&cpg CPG_MOD 704>; 907 <&can_clk>;
966 clock-names = "usbhs"; 908 clock-names = "clkp1", "clkp2", "can_clk";
967 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 909 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
968 resets = <&cpg 704>; 910 resets = <&cpg 915>;
969 status = "disabled"; 911 status = "disabled";
912 };
970 913
971 usb0: usb-channel@0 { 914 vin0: video@e6ef0000 {
972 reg = <0>; 915 compatible = "renesas,vin-r8a7794",
973 #phy-cells = <1>; 916 "renesas,rcar-gen2-vin";
917 reg = <0 0xe6ef0000 0 0x1000>;
918 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
919 clocks = <&cpg CPG_MOD 811>;
920 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
921 resets = <&cpg 811>;
922 status = "disabled";
974 }; 923 };
975 usb2: usb-channel@2 { 924
976 reg = <2>; 925 vin1: video@e6ef1000 {
977 #phy-cells = <1>; 926 compatible = "renesas,vin-r8a7794",
927 "renesas,rcar-gen2-vin";
928 reg = <0 0xe6ef1000 0 0x1000>;
929 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
930 clocks = <&cpg CPG_MOD 810>;
931 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
932 resets = <&cpg 810>;
933 status = "disabled";
978 }; 934 };
979 };
980 935
981 vsp@fe928000 { 936 rcar_sound: sound@ec500000 {
982 compatible = "renesas,vsp1"; 937 /*
983 reg = <0 0xfe928000 0 0x8000>; 938 * #sound-dai-cells is required
984 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>; 939 *
985 clocks = <&cpg CPG_MOD 131>; 940 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>;
986 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 941 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>;
987 resets = <&cpg 131>; 942 */
988 }; 943 compatible = "renesas,rcar_sound-r8a7794",
944 "renesas,rcar_sound-gen2";
945 reg = <0 0xec500000 0 0x1000>, /* SCU */
946 <0 0xec5a0000 0 0x100>, /* ADG */
947 <0 0xec540000 0 0x1000>, /* SSIU */
948 <0 0xec541000 0 0x280>, /* SSI */
949 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri */
950 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp";
951
952 clocks = <&cpg CPG_MOD 1005>,
953 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>,
954 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>,
955 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>,
956 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>,
957 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>,
958 <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>,
959 <&cpg CPG_MOD 1027>, <&cpg CPG_MOD 1028>,
960 <&cpg CPG_MOD 1029>, <&cpg CPG_MOD 1030>,
961 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
962 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
963 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
964 <&audio_clka>, <&audio_clkb>, <&audio_clkc>,
965 <&cpg CPG_CORE R8A7794_CLK_M2>;
966 clock-names = "ssi-all",
967 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
968 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
969 "ssi.1", "ssi.0",
970 "src.6", "src.5", "src.4", "src.3",
971 "src.2", "src.1",
972 "ctu.0", "ctu.1",
973 "mix.0", "mix.1",
974 "dvc.0", "dvc.1",
975 "clk_a", "clk_b", "clk_c", "clk_i";
976 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
977 resets = <&cpg 1005>,
978 <&cpg 1006>, <&cpg 1007>,
979 <&cpg 1008>, <&cpg 1009>,
980 <&cpg 1010>, <&cpg 1011>,
981 <&cpg 1012>, <&cpg 1013>,
982 <&cpg 1014>, <&cpg 1015>;
983 reset-names = "ssi-all",
984 "ssi.9", "ssi.8", "ssi.7", "ssi.6",
985 "ssi.5", "ssi.4", "ssi.3", "ssi.2",
986 "ssi.1", "ssi.0";
987
988 status = "disabled";
989
990 rcar_sound,dvc {
991 dvc0: dvc-0 {
992 dmas = <&audma0 0xbc>;
993 dma-names = "tx";
994 };
995 dvc1: dvc-1 {
996 dmas = <&audma0 0xbe>;
997 dma-names = "tx";
998 };
999 };
989 1000
990 vsp@fe930000 { 1001 rcar_sound,mix {
991 compatible = "renesas,vsp1"; 1002 mix0: mix-0 { };
992 reg = <0 0xfe930000 0 0x8000>; 1003 mix1: mix-1 { };
993 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>; 1004 };
994 clocks = <&cpg CPG_MOD 128>;
995 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
996 resets = <&cpg 128>;
997 };
998 1005
999 du: display@feb00000 { 1006 rcar_sound,ctu {
1000 compatible = "renesas,du-r8a7794"; 1007 ctu00: ctu-0 { };
1001 reg = <0 0xfeb00000 0 0x40000>; 1008 ctu01: ctu-1 { };
1002 reg-names = "du"; 1009 ctu02: ctu-2 { };
1003 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>, 1010 ctu03: ctu-3 { };
1004 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; 1011 ctu10: ctu-4 { };
1005 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>; 1012 ctu11: ctu-5 { };
1006 clock-names = "du.0", "du.1"; 1013 ctu12: ctu-6 { };
1007 status = "disabled"; 1014 ctu13: ctu-7 { };
1008 1015 };
1009 ports {
1010 #address-cells = <1>;
1011 #size-cells = <0>;
1012 1016
1013 port@0 { 1017 rcar_sound,src {
1014 reg = <0>; 1018 src-0 {
1015 du_out_rgb0: endpoint { 1019 status = "disabled";
1020 };
1021 src1: src-1 {
1022 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1023 dmas = <&audma0 0x87>, <&audma0 0x9c>;
1024 dma-names = "rx", "tx";
1025 };
1026 src2: src-2 {
1027 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1028 dmas = <&audma0 0x89>, <&audma0 0x9e>;
1029 dma-names = "rx", "tx";
1030 };
1031 src3: src-3 {
1032 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1033 dmas = <&audma0 0x8b>, <&audma0 0xa0>;
1034 dma-names = "rx", "tx";
1035 };
1036 src4: src-4 {
1037 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1038 dmas = <&audma0 0x8d>, <&audma0 0xb0>;
1039 dma-names = "rx", "tx";
1040 };
1041 src5: src-5 {
1042 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1043 dmas = <&audma0 0x8f>, <&audma0 0xb2>;
1044 dma-names = "rx", "tx";
1045 };
1046 src6: src-6 {
1047 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1048 dmas = <&audma0 0x91>, <&audma0 0xb4>;
1049 dma-names = "rx", "tx";
1016 }; 1050 };
1017 }; 1051 };
1018 port@1 { 1052
1019 reg = <1>; 1053 rcar_sound,ssi {
1020 du_out_rgb1: endpoint { 1054 ssi0: ssi-0 {
1055 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
1056 dmas = <&audma0 0x01>, <&audma0 0x02>,
1057 <&audma0 0x15>, <&audma0 0x16>;
1058 dma-names = "rx", "tx", "rxu", "txu";
1059 };
1060 ssi1: ssi-1 {
1061 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1062 dmas = <&audma0 0x03>, <&audma0 0x04>,
1063 <&audma0 0x49>, <&audma0 0x4a>;
1064 dma-names = "rx", "tx", "rxu", "txu";
1065 };
1066 ssi2: ssi-2 {
1067 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1068 dmas = <&audma0 0x05>, <&audma0 0x06>,
1069 <&audma0 0x63>, <&audma0 0x64>;
1070 dma-names = "rx", "tx", "rxu", "txu";
1071 };
1072 ssi3: ssi-3 {
1073 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1074 dmas = <&audma0 0x07>, <&audma0 0x08>,
1075 <&audma0 0x6f>, <&audma0 0x70>;
1076 dma-names = "rx", "tx", "rxu", "txu";
1077 };
1078 ssi4: ssi-4 {
1079 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1080 dmas = <&audma0 0x09>, <&audma0 0x0a>,
1081 <&audma0 0x71>, <&audma0 0x72>;
1082 dma-names = "rx", "tx", "rxu", "txu";
1083 };
1084 ssi5: ssi-5 {
1085 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1086 dmas = <&audma0 0x0b>, <&audma0 0x0c>,
1087 <&audma0 0x73>, <&audma0 0x74>;
1088 dma-names = "rx", "tx", "rxu", "txu";
1089 };
1090 ssi6: ssi-6 {
1091 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1092 dmas = <&audma0 0x0d>, <&audma0 0x0e>,
1093 <&audma0 0x75>, <&audma0 0x76>;
1094 dma-names = "rx", "tx", "rxu", "txu";
1095 };
1096 ssi7: ssi-7 {
1097 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1098 dmas = <&audma0 0x0f>, <&audma0 0x10>,
1099 <&audma0 0x79>, <&audma0 0x7a>;
1100 dma-names = "rx", "tx", "rxu", "txu";
1101 };
1102 ssi8: ssi-8 {
1103 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1104 dmas = <&audma0 0x11>, <&audma0 0x12>,
1105 <&audma0 0x7b>, <&audma0 0x7c>;
1106 dma-names = "rx", "tx", "rxu", "txu";
1107 };
1108 ssi9: ssi-9 {
1109 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1110 dmas = <&audma0 0x13>, <&audma0 0x14>,
1111 <&audma0 0x7d>, <&audma0 0x7e>;
1112 dma-names = "rx", "tx", "rxu", "txu";
1021 }; 1113 };
1022 }; 1114 };
1023 }; 1115 };
1024 };
1025
1026 can0: can@e6e80000 {
1027 compatible = "renesas,can-r8a7794", "renesas,rcar-gen2-can";
1028 reg = <0 0xe6e80000 0 0x1000>;
1029 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
1030 clocks = <&cpg CPG_MOD 916>, <&cpg CPG_CORE R8A7794_CLK_RCAN>,
1031 <&can_clk>;
1032 clock-names = "clkp1", "clkp2", "can_clk";
1033 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1034 resets = <&cpg 916>;
1035 status = "disabled";
1036 };
1037 1116
1038 can1: can@e6e88000 { 1117 audma0: dma-controller@ec700000 {
1039 compatible = "renesas,can-r8a7794", "renesas,rcar-gen2-can"; 1118 compatible = "renesas,dmac-r8a7794",
1040 reg = <0 0xe6e88000 0 0x1000>; 1119 "renesas,rcar-dmac";
1041 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 1120 reg = <0 0xec700000 0 0x10000>;
1042 clocks = <&cpg CPG_MOD 915>, <&cpg CPG_CORE R8A7794_CLK_RCAN>, 1121 interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH
1043 <&can_clk>; 1122 GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH
1044 clock-names = "clkp1", "clkp2", "can_clk"; 1123 GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH
1045 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>; 1124 GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH
1046 resets = <&cpg 915>; 1125 GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH
1047 status = "disabled"; 1126 GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH
1048 }; 1127 GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH
1049 1128 GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH
1050 /* External root clock */ 1129 GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH
1051 extal_clk: extal { 1130 GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH
1052 compatible = "fixed-clock"; 1131 GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH
1053 #clock-cells = <0>; 1132 GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH
1054 /* This value must be overridden by the board. */ 1133 GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH
1055 clock-frequency = <0>; 1134 GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
1056 }; 1135 interrupt-names = "error",
1057 1136 "ch0", "ch1", "ch2", "ch3", "ch4",
1058 /* External USB clock - can be overridden by the board */ 1137 "ch5", "ch6", "ch7", "ch8", "ch9",
1059 usb_extal_clk: usb_extal { 1138 "ch10", "ch11",
1060 compatible = "fixed-clock"; 1139 "ch12";
1061 #clock-cells = <0>; 1140 clocks = <&cpg CPG_MOD 502>;
1062 clock-frequency = <48000000>; 1141 clock-names = "fck";
1063 }; 1142 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1064 1143 resets = <&cpg 502>;
1065 /* External CAN clock */ 1144 #dma-cells = <1>;
1066 can_clk: can { 1145 dma-channels = <13>;
1067 compatible = "fixed-clock"; 1146 };
1068 #clock-cells = <0>;
1069 /* This value must be overridden by the board. */
1070 clock-frequency = <0>;
1071 };
1072 1147
1073 /* External SCIF clock */ 1148 pci0: pci@ee090000 {
1074 scif_clk: scif { 1149 compatible = "renesas,pci-r8a7794",
1075 compatible = "fixed-clock"; 1150 "renesas,pci-rcar-gen2";
1076 #clock-cells = <0>; 1151 device_type = "pci";
1077 /* This value must be overridden by the board. */ 1152 reg = <0 0xee090000 0 0xc00>,
1078 clock-frequency = <0>; 1153 <0 0xee080000 0 0x1100>;
1079 }; 1154 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1155 clocks = <&cpg CPG_MOD 703>;
1156 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1157 resets = <&cpg 703>;
1158 status = "disabled";
1159
1160 bus-range = <0 0>;
1161 #address-cells = <3>;
1162 #size-cells = <2>;
1163 #interrupt-cells = <1>;
1164 ranges = <0x02000000 0 0xee080000 0 0xee080000 0 0x00010000>;
1165 interrupt-map-mask = <0xff00 0 0 0x7>;
1166 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1167 0x0800 0 0 1 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH
1168 0x1000 0 0 2 &gic GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1169
1170 usb@1,0 {
1171 reg = <0x800 0 0 0 0>;
1172 phys = <&usb0 0>;
1173 phy-names = "usb";
1174 };
1080 1175
1081 /* 1176 usb@2,0 {
1082 * The external audio clocks are configured as 0 Hz fixed 1177 reg = <0x1000 0 0 0 0>;
1083 * frequency clocks by default. Boards that provide audio 1178 phys = <&usb0 0>;
1084 * clocks should override them. 1179 phy-names = "usb";
1085 */ 1180 };
1086 audio_clka: audio_clka { 1181 };
1087 compatible = "fixed-clock";
1088 #clock-cells = <0>;
1089 clock-frequency = <0>;
1090 };
1091 audio_clkb: audio_clkb {
1092 compatible = "fixed-clock";
1093 #clock-cells = <0>;
1094 clock-frequency = <0>;
1095 };
1096 audio_clkc: audio_clkc {
1097 compatible = "fixed-clock";
1098 #clock-cells = <0>;
1099 clock-frequency = <0>;
1100 };
1101 1182
1102 cpg: clock-controller@e6150000 { 1183 pci1: pci@ee0d0000 {
1103 compatible = "renesas,r8a7794-cpg-mssr"; 1184 compatible = "renesas,pci-r8a7794",
1104 reg = <0 0xe6150000 0 0x1000>; 1185 "renesas,pci-rcar-gen2";
1105 clocks = <&extal_clk>, <&usb_extal_clk>; 1186 device_type = "pci";
1106 clock-names = "extal", "usb_extal"; 1187 reg = <0 0xee0d0000 0 0xc00>,
1107 #clock-cells = <2>; 1188 <0 0xee0c0000 0 0x1100>;
1108 #power-domain-cells = <0>; 1189 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1109 #reset-cells = <1>; 1190 clocks = <&cpg CPG_MOD 703>;
1110 }; 1191 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1192 resets = <&cpg 703>;
1193 status = "disabled";
1194
1195 bus-range = <1 1>;
1196 #address-cells = <3>;
1197 #size-cells = <2>;
1198 #interrupt-cells = <1>;
1199 ranges = <0x02000000 0 0xee0c0000 0 0xee0c0000 0 0x00010000>;
1200 interrupt-map-mask = <0xff00 0 0 0x7>;
1201 interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1202 0x0800 0 0 1 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH
1203 0x1000 0 0 2 &gic GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1204
1205 usb@1,0 {
1206 reg = <0x10800 0 0 0 0>;
1207 phys = <&usb2 0>;
1208 phy-names = "usb";
1209 };
1111 1210
1112 rst: reset-controller@e6160000 { 1211 usb@2,0 {
1113 compatible = "renesas,r8a7794-rst"; 1212 reg = <0x11000 0 0 0 0>;
1114 reg = <0 0xe6160000 0 0x0100>; 1213 phys = <&usb2 0>;
1115 }; 1214 phy-names = "usb";
1215 };
1216 };
1116 1217
1117 prr: chipid@ff000044 { 1218 sdhi0: sd@ee100000 {
1118 compatible = "renesas,prr"; 1219 compatible = "renesas,sdhi-r8a7794",
1119 reg = <0 0xff000044 0 4>; 1220 "renesas,rcar-gen2-sdhi";
1120 }; 1221 reg = <0 0xee100000 0 0x328>;
1222 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
1223 clocks = <&cpg CPG_MOD 314>;
1224 dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
1225 <&dmac1 0xcd>, <&dmac1 0xce>;
1226 dma-names = "tx", "rx", "tx", "rx";
1227 max-frequency = <195000000>;
1228 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1229 resets = <&cpg 314>;
1230 status = "disabled";
1231 };
1121 1232
1122 sysc: system-controller@e6180000 { 1233 sdhi1: sd@ee140000 {
1123 compatible = "renesas,r8a7794-sysc"; 1234 compatible = "renesas,sdhi-r8a7794",
1124 reg = <0 0xe6180000 0 0x0200>; 1235 "renesas,rcar-gen2-sdhi";
1125 #power-domain-cells = <1>; 1236 reg = <0 0xee140000 0 0x100>;
1126 }; 1237 interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
1238 clocks = <&cpg CPG_MOD 312>;
1239 dmas = <&dmac0 0xc1>, <&dmac0 0xc2>,
1240 <&dmac1 0xc1>, <&dmac1 0xc2>;
1241 dma-names = "tx", "rx", "tx", "rx";
1242 max-frequency = <97500000>;
1243 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1244 resets = <&cpg 312>;
1245 status = "disabled";
1246 };
1127 1247
1128 ipmmu_sy0: mmu@e6280000 { 1248 sdhi2: sd@ee160000 {
1129 compatible = "renesas,ipmmu-r8a7794", "renesas,ipmmu-vmsa"; 1249 compatible = "renesas,sdhi-r8a7794",
1130 reg = <0 0xe6280000 0 0x1000>; 1250 "renesas,rcar-gen2-sdhi";
1131 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>, 1251 reg = <0 0xee160000 0 0x100>;
1132 <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 1252 interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
1133 #iommu-cells = <1>; 1253 clocks = <&cpg CPG_MOD 311>;
1134 status = "disabled"; 1254 dmas = <&dmac0 0xd3>, <&dmac0 0xd4>,
1135 }; 1255 <&dmac1 0xd3>, <&dmac1 0xd4>;
1256 dma-names = "tx", "rx", "tx", "rx";
1257 max-frequency = <97500000>;
1258 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1259 resets = <&cpg 311>;
1260 status = "disabled";
1261 };
1136 1262
1137 ipmmu_sy1: mmu@e6290000 { 1263 mmcif0: mmc@ee200000 {
1138 compatible = "renesas,ipmmu-r8a7794", "renesas,ipmmu-vmsa"; 1264 compatible = "renesas,mmcif-r8a7794",
1139 reg = <0 0xe6290000 0 0x1000>; 1265 "renesas,sh-mmcif";
1140 interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>; 1266 reg = <0 0xee200000 0 0x80>;
1141 #iommu-cells = <1>; 1267 interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
1142 status = "disabled"; 1268 clocks = <&cpg CPG_MOD 315>;
1143 }; 1269 dmas = <&dmac0 0xd1>, <&dmac0 0xd2>,
1270 <&dmac1 0xd1>, <&dmac1 0xd2>;
1271 dma-names = "tx", "rx", "tx", "rx";
1272 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1273 resets = <&cpg 315>;
1274 reg-io-width = <4>;
1275 status = "disabled";
1276 };
1144 1277
1145 ipmmu_ds: mmu@e6740000 { 1278 ether: ethernet@ee700000 {
1146 compatible = "renesas,ipmmu-r8a7794", "renesas,ipmmu-vmsa"; 1279 compatible = "renesas,ether-r8a7794",
1147 reg = <0 0xe6740000 0 0x1000>; 1280 "renesas,rcar-gen2-ether";
1148 interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>, 1281 reg = <0 0xee700000 0 0x400>;
1149 <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 1282 interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1150 #iommu-cells = <1>; 1283 clocks = <&cpg CPG_MOD 813>;
1151 status = "disabled"; 1284 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1152 }; 1285 resets = <&cpg 813>;
1286 phy-mode = "rmii";
1287 #address-cells = <1>;
1288 #size-cells = <0>;
1289 status = "disabled";
1290 };
1153 1291
1154 ipmmu_mp: mmu@ec680000 { 1292 gic: interrupt-controller@f1001000 {
1155 compatible = "renesas,ipmmu-r8a7794", "renesas,ipmmu-vmsa"; 1293 compatible = "arm,gic-400";
1156 reg = <0 0xec680000 0 0x1000>; 1294 #interrupt-cells = <3>;
1157 interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>; 1295 #address-cells = <0>;
1158 #iommu-cells = <1>; 1296 interrupt-controller;
1159 status = "disabled"; 1297 reg = <0 0xf1001000 0 0x1000>,
1160 }; 1298 <0 0xf1002000 0 0x2000>,
1299 <0 0xf1004000 0 0x2000>,
1300 <0 0xf1006000 0 0x2000>;
1301 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
1302 clocks = <&cpg CPG_MOD 408>;
1303 clock-names = "clk";
1304 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1305 resets = <&cpg 408>;
1306 };
1161 1307
1162 ipmmu_mx: mmu@fe951000 { 1308 vsp@fe928000 {
1163 compatible = "renesas,ipmmu-r8a7794", "renesas,ipmmu-vmsa"; 1309 compatible = "renesas,vsp1";
1164 reg = <0 0xfe951000 0 0x1000>; 1310 reg = <0 0xfe928000 0 0x8000>;
1165 interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>, 1311 interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>;
1166 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 1312 clocks = <&cpg CPG_MOD 131>;
1167 #iommu-cells = <1>; 1313 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1168 status = "disabled"; 1314 resets = <&cpg 131>;
1169 }; 1315 };
1170 1316
1171 ipmmu_gp: mmu@e62a0000 { 1317 vsp@fe930000 {
1172 compatible = "renesas,ipmmu-r8a7794", "renesas,ipmmu-vmsa"; 1318 compatible = "renesas,vsp1";
1173 reg = <0 0xe62a0000 0 0x1000>; 1319 reg = <0 0xfe930000 0 0x8000>;
1174 interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>, 1320 interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
1175 <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>; 1321 clocks = <&cpg CPG_MOD 128>;
1176 #iommu-cells = <1>; 1322 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1177 status = "disabled"; 1323 resets = <&cpg 128>;
1178 }; 1324 };
1179 1325
1180 rcar_sound: sound@ec500000 { 1326 du: display@feb00000 {
1181 /* 1327 compatible = "renesas,du-r8a7794";
1182 * #sound-dai-cells is required 1328 reg = <0 0xfeb00000 0 0x40000>;
1183 * 1329 reg-names = "du";
1184 * Single DAI : #sound-dai-cells = <0>; <&rcar_sound>; 1330 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
1185 * Multi DAI : #sound-dai-cells = <1>; <&rcar_sound N>; 1331 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
1186 */ 1332 clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>;
1187 compatible = "renesas,rcar_sound-r8a7794", 1333 clock-names = "du.0", "du.1";
1188 "renesas,rcar_sound-gen2"; 1334 status = "disabled";
1189 reg = <0 0xec500000 0 0x1000>, /* SCU */ 1335
1190 <0 0xec5a0000 0 0x100>, /* ADG */ 1336 ports {
1191 <0 0xec540000 0 0x1000>, /* SSIU */ 1337 #address-cells = <1>;
1192 <0 0xec541000 0 0x280>, /* SSI */ 1338 #size-cells = <0>;
1193 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri */ 1339
1194 reg-names = "scu", "adg", "ssiu", "ssi", "audmapp"; 1340 port@0 {
1195 1341 reg = <0>;
1196 clocks = <&cpg CPG_MOD 1005>, 1342 du_out_rgb0: endpoint {
1197 <&cpg CPG_MOD 1006>, <&cpg CPG_MOD 1007>, 1343 };
1198 <&cpg CPG_MOD 1008>, <&cpg CPG_MOD 1009>, 1344 };
1199 <&cpg CPG_MOD 1010>, <&cpg CPG_MOD 1011>, 1345 port@1 {
1200 <&cpg CPG_MOD 1012>, <&cpg CPG_MOD 1013>, 1346 reg = <1>;
1201 <&cpg CPG_MOD 1014>, <&cpg CPG_MOD 1015>, 1347 du_out_rgb1: endpoint {
1202 <&cpg CPG_MOD 1025>, <&cpg CPG_MOD 1026>, 1348 };
1203 <&cpg CPG_MOD 1027>, <&cpg CPG_MOD 1028>, 1349 };
1204 <&cpg CPG_MOD 1029>, <&cpg CPG_MOD 1030>,
1205 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1206 <&cpg CPG_MOD 1021>, <&cpg CPG_MOD 1020>,
1207 <&cpg CPG_MOD 1019>, <&cpg CPG_MOD 1018>,
1208 <&audio_clka>, <&audio_clkb>, <&audio_clkc>,
1209 <&cpg CPG_CORE R8A7794_CLK_M2>;
1210 clock-names = "ssi-all",
1211 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1212 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0",
1213 "src.6", "src.5", "src.4", "src.3", "src.2",
1214 "src.1",
1215 "ctu.0", "ctu.1",
1216 "mix.0", "mix.1",
1217 "dvc.0", "dvc.1",
1218 "clk_a", "clk_b", "clk_c", "clk_i";
1219 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1220 resets = <&cpg 1005>,
1221 <&cpg 1006>, <&cpg 1007>, <&cpg 1008>, <&cpg 1009>,
1222 <&cpg 1010>, <&cpg 1011>, <&cpg 1012>, <&cpg 1013>,
1223 <&cpg 1014>, <&cpg 1015>;
1224 reset-names = "ssi-all",
1225 "ssi.9", "ssi.8", "ssi.7", "ssi.6", "ssi.5",
1226 "ssi.4", "ssi.3", "ssi.2", "ssi.1", "ssi.0";
1227
1228 status = "disabled";
1229
1230 rcar_sound,dvc {
1231 dvc0: dvc-0 {
1232 dmas = <&audma0 0xbc>;
1233 dma-names = "tx";
1234 };
1235 dvc1: dvc-1 {
1236 dmas = <&audma0 0xbe>;
1237 dma-names = "tx";
1238 }; 1350 };
1239 }; 1351 };
1240 1352
1241 rcar_sound,mix { 1353 prr: chipid@ff000044 {
1242 mix0: mix-0 { }; 1354 compatible = "renesas,prr";
1243 mix1: mix-1 { }; 1355 reg = <0 0xff000044 0 4>;
1244 }; 1356 };
1245 1357
1246 rcar_sound,ctu { 1358 cmt0: timer@ffca0000 {
1247 ctu00: ctu-0 { }; 1359 compatible = "renesas,r8a7794-cmt0",
1248 ctu01: ctu-1 { }; 1360 "renesas,rcar-gen2-cmt0";
1249 ctu02: ctu-2 { }; 1361 reg = <0 0xffca0000 0 0x1004>;
1250 ctu03: ctu-3 { }; 1362 interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
1251 ctu10: ctu-4 { }; 1363 <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
1252 ctu11: ctu-5 { }; 1364 clocks = <&cpg CPG_MOD 124>;
1253 ctu12: ctu-6 { }; 1365 clock-names = "fck";
1254 ctu13: ctu-7 { }; 1366 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1367 resets = <&cpg 124>;
1368
1369 status = "disabled";
1255 }; 1370 };
1256 1371
1257 rcar_sound,src { 1372 cmt1: timer@e6130000 {
1258 src-0 { 1373 compatible = "renesas,r8a7794-cmt1",
1259 status = "disabled"; 1374 "renesas,rcar-gen2-cmt1";
1260 }; 1375 reg = <0 0xe6130000 0 0x1004>;
1261 src1: src-1 { 1376 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
1262 interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>; 1377 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
1263 dmas = <&audma0 0x87>, <&audma0 0x9c>; 1378 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
1264 dma-names = "rx", "tx"; 1379 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1265 }; 1380 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
1266 src2: src-2 { 1381 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1267 interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; 1382 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
1268 dmas = <&audma0 0x89>, <&audma0 0x9e>; 1383 <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
1269 dma-names = "rx", "tx"; 1384 clocks = <&cpg CPG_MOD 329>;
1270 }; 1385 clock-names = "fck";
1271 src3: src-3 { 1386 power-domains = <&sysc R8A7794_PD_ALWAYS_ON>;
1272 interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>; 1387 resets = <&cpg 329>;
1273 dmas = <&audma0 0x8b>, <&audma0 0xa0>; 1388
1274 dma-names = "rx", "tx"; 1389 status = "disabled";
1275 };
1276 src4: src-4 {
1277 interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1278 dmas = <&audma0 0x8d>, <&audma0 0xb0>;
1279 dma-names = "rx", "tx";
1280 };
1281 src5: src-5 {
1282 interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1283 dmas = <&audma0 0x8f>, <&audma0 0xb2>;
1284 dma-names = "rx", "tx";
1285 };
1286 src6: src-6 {
1287 interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
1288 dmas = <&audma0 0x91>, <&audma0 0xb4>;
1289 dma-names = "rx", "tx";
1290 };
1291 }; 1390 };
1391 };
1292 1392
1293 rcar_sound,ssi { 1393 timer {
1294 ssi0: ssi-0 { 1394 compatible = "arm,armv7-timer";
1295 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 1395 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1296 dmas = <&audma0 0x01>, <&audma0 0x02>, 1396 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1297 <&audma0 0x15>, <&audma0 0x16>; 1397 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
1298 dma-names = "rx", "tx", "rxu", "txu"; 1398 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
1299 }; 1399 };
1300 ssi1: ssi-1 { 1400
1301 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 1401 /* External USB clock - can be overridden by the board */
1302 dmas = <&audma0 0x03>, <&audma0 0x04>, 1402 usb_extal_clk: usb_extal {
1303 <&audma0 0x49>, <&audma0 0x4a>; 1403 compatible = "fixed-clock";
1304 dma-names = "rx", "tx", "rxu", "txu"; 1404 #clock-cells = <0>;
1305 }; 1405 clock-frequency = <48000000>;
1306 ssi2: ssi-2 {
1307 interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>;
1308 dmas = <&audma0 0x05>, <&audma0 0x06>,
1309 <&audma0 0x63>, <&audma0 0x64>;
1310 dma-names = "rx", "tx", "rxu", "txu";
1311 };
1312 ssi3: ssi-3 {
1313 interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
1314 dmas = <&audma0 0x07>, <&audma0 0x08>,
1315 <&audma0 0x6f>, <&audma0 0x70>;
1316 dma-names = "rx", "tx", "rxu", "txu";
1317 };
1318 ssi4: ssi-4 {
1319 interrupts = <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>;
1320 dmas = <&audma0 0x09>, <&audma0 0x0a>,
1321 <&audma0 0x71>, <&audma0 0x72>;
1322 dma-names = "rx", "tx", "rxu", "txu";
1323 };
1324 ssi5: ssi-5 {
1325 interrupts = <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
1326 dmas = <&audma0 0x0b>, <&audma0 0x0c>,
1327 <&audma0 0x73>, <&audma0 0x74>;
1328 dma-names = "rx", "tx", "rxu", "txu";
1329 };
1330 ssi6: ssi-6 {
1331 interrupts = <GIC_SPI 376 IRQ_TYPE_LEVEL_HIGH>;
1332 dmas = <&audma0 0x0d>, <&audma0 0x0e>,
1333 <&audma0 0x75>, <&audma0 0x76>;
1334 dma-names = "rx", "tx", "rxu", "txu";
1335 };
1336 ssi7: ssi-7 {
1337 interrupts = <GIC_SPI 377 IRQ_TYPE_LEVEL_HIGH>;
1338 dmas = <&audma0 0x0f>, <&audma0 0x10>,
1339 <&audma0 0x79>, <&audma0 0x7a>;
1340 dma-names = "rx", "tx", "rxu", "txu";
1341 };
1342 ssi8: ssi-8 {
1343 interrupts = <GIC_SPI 378 IRQ_TYPE_LEVEL_HIGH>;
1344 dmas = <&audma0 0x11>, <&audma0 0x12>,
1345 <&audma0 0x7b>, <&audma0 0x7c>;
1346 dma-names = "rx", "tx", "rxu", "txu";
1347 };
1348 ssi9: ssi-9 {
1349 interrupts = <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>;
1350 dmas = <&audma0 0x13>, <&audma0 0x14>,
1351 <&audma0 0x7d>, <&audma0 0x7e>;
1352 dma-names = "rx", "tx", "rxu", "txu";
1353 };
1354 };
1355 }; 1406 };
1356}; 1407};
diff --git a/arch/arm/boot/dts/rk322x.dtsi b/arch/arm/boot/dts/rk322x.dtsi
index 341deaf62ff6..df1e47858675 100644
--- a/arch/arm/boot/dts/rk322x.dtsi
+++ b/arch/arm/boot/dts/rk322x.dtsi
@@ -233,7 +233,7 @@
233 }; 233 };
234 234
235 grf: syscon@11000000 { 235 grf: syscon@11000000 {
236 compatible = "syscon", "simple-mfd"; 236 compatible = "rockchip,rk3228-grf", "syscon", "simple-mfd";
237 reg = <0x11000000 0x1000>; 237 reg = <0x11000000 0x1000>;
238 #address-cells = <1>; 238 #address-cells = <1>;
239 #size-cells = <1>; 239 #size-cells = <1>;
diff --git a/arch/arm/boot/dts/rk3288-phycore-rdk.dts b/arch/arm/boot/dts/rk3288-phycore-rdk.dts
index 1241cbcfc16f..985743fa134c 100644
--- a/arch/arm/boot/dts/rk3288-phycore-rdk.dts
+++ b/arch/arm/boot/dts/rk3288-phycore-rdk.dts
@@ -265,7 +265,11 @@
265 disable-wp; 265 disable-wp;
266 pinctrl-names = "default"; 266 pinctrl-names = "default";
267 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; 267 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
268 vmmc-supply = <&vdd_io_sd>; 268 sd-uhs-sdr12;
269 sd-uhs-sdr25;
270 sd-uhs-sdr50;
271 sd-uhs-sdr104;
272 vmmc-supply = <&vdd_sd>;
269 vqmmc-supply = <&vdd_io_sd>; 273 vqmmc-supply = <&vdd_io_sd>;
270 status = "okay"; 274 status = "okay";
271}; 275};
diff --git a/arch/arm/boot/dts/rk3288-phycore-som.dtsi b/arch/arm/boot/dts/rk3288-phycore-som.dtsi
index 5eae4776ffde..f13bcb1cd3d9 100644
--- a/arch/arm/boot/dts/rk3288-phycore-som.dtsi
+++ b/arch/arm/boot/dts/rk3288-phycore-som.dtsi
@@ -336,11 +336,10 @@
336 regulator-name = "vdd_io_sd"; 336 regulator-name = "vdd_io_sd";
337 regulator-always-on; 337 regulator-always-on;
338 regulator-boot-on; 338 regulator-boot-on;
339 regulator-min-microvolt = <3300000>; 339 regulator-min-microvolt = <1800000>;
340 regulator-max-microvolt = <3300000>; 340 regulator-max-microvolt = <3300000>;
341 regulator-state-mem { 341 regulator-state-mem {
342 regulator-on-in-suspend; 342 regulator-off-in-suspend;
343 regulator-suspend-microvolt = <3300000>;
344 }; 343 };
345 }; 344 };
346 }; 345 };
diff --git a/arch/arm/boot/dts/rk3288-rock2-som.dtsi b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
index b9c471fcbd42..51f36a1b698e 100644
--- a/arch/arm/boot/dts/rk3288-rock2-som.dtsi
+++ b/arch/arm/boot/dts/rk3288-rock2-som.dtsi
@@ -280,6 +280,10 @@
280 }; 280 };
281}; 281};
282 282
283&saradc {
284 vref-supply = <&vcc_18>;
285};
286
283&tsadc { 287&tsadc {
284 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 288 rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
285 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 289 rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
diff --git a/arch/arm/boot/dts/rk3288-rock2-square.dts b/arch/arm/boot/dts/rk3288-rock2-square.dts
index 0e084b8a86ac..8ccc89dbdfaf 100644
--- a/arch/arm/boot/dts/rk3288-rock2-square.dts
+++ b/arch/arm/boot/dts/rk3288-rock2-square.dts
@@ -39,6 +39,7 @@
39 */ 39 */
40 40
41/dts-v1/; 41/dts-v1/;
42#include <dt-bindings/input/input.h>
42#include "rk3288-rock2-som.dtsi" 43#include "rk3288-rock2-som.dtsi"
43 44
44/ { 45/ {
@@ -49,6 +50,32 @@
49 stdout-path = "serial2:115200n8"; 50 stdout-path = "serial2:115200n8";
50 }; 51 };
51 52
53 adc-keys {
54 compatible = "adc-keys";
55 io-channels = <&saradc 1>;
56 io-channel-names = "buttons";
57 keyup-threshold-microvolt = <1800000>;
58
59 button-recovery {
60 label = "Recovery";
61 linux,code = <KEY_VENDOR>;
62 press-threshold-microvolt = <0>;
63 };
64 };
65
66 gpio-keys {
67 compatible = "gpio-keys";
68
69 power {
70 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
71 label = "GPIO Power";
72 linux,code = <KEY_POWER>;
73 pinctrl-names = "default";
74 pinctrl-0 = <&pwr_key>;
75 wakeup-source;
76 };
77 };
78
52 gpio-leds { 79 gpio-leds {
53 compatible = "gpio-leds"; 80 compatible = "gpio-leds";
54 81
@@ -220,6 +247,12 @@
220 }; 247 };
221 }; 248 };
222 249
250 keys {
251 pwr_key: pwr-key {
252 rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
253 };
254 };
255
223 pmic { 256 pmic {
224 pmic_int: pmic-int { 257 pmic_int: pmic-int {
225 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>; 258 rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_up>;
@@ -261,6 +294,10 @@
261 }; 294 };
262}; 295};
263 296
297&saradc {
298 status = "okay";
299};
300
264&spdif { 301&spdif {
265 status = "okay"; 302 status = "okay";
266}; 303};
@@ -284,3 +321,7 @@
284&usb_host1 { 321&usb_host1 {
285 status = "okay"; 322 status = "okay";
286}; 323};
324
325&usb_otg {
326 status = "okay";
327};
diff --git a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
index d752a315f884..be487111d025 100644
--- a/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
+++ b/arch/arm/boot/dts/rk3288-veyron-chromebook.dtsi
@@ -92,7 +92,6 @@
92 248 249 250 251 252 253 254 255>; 92 248 249 250 251 252 253 254 255>;
93 default-brightness-level = <128>; 93 default-brightness-level = <128>;
94 enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>; 94 enable-gpios = <&gpio7 RK_PA2 GPIO_ACTIVE_HIGH>;
95 backlight-boot-off;
96 pinctrl-names = "default"; 95 pinctrl-names = "default";
97 pinctrl-0 = <&bl_en>; 96 pinctrl-0 = <&bl_en>;
98 pwms = <&pwm0 0 1000000 0>; 97 pwms = <&pwm0 0 1000000 0>;
diff --git a/arch/arm/boot/dts/rk3288-vyasa.dts b/arch/arm/boot/dts/rk3288-vyasa.dts
index 9842a006e823..14c896bfc639 100644
--- a/arch/arm/boot/dts/rk3288-vyasa.dts
+++ b/arch/arm/boot/dts/rk3288-vyasa.dts
@@ -155,6 +155,17 @@
155 cpu0-supply = <&vdd_cpu>; 155 cpu0-supply = <&vdd_cpu>;
156}; 156};
157 157
158&emmc {
159 bus-width = <8>;
160 cap-mmc-highspeed;
161 disable-wp;
162 non-removable;
163 pinctrl-names = "default";
164 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_pwr &emmc_bus8>;
165 vmmc-supply = <&vcc_io>;
166 status = "okay";
167};
168
158&gmac { 169&gmac {
159 assigned-clocks = <&cru SCLK_MAC>; 170 assigned-clocks = <&cru SCLK_MAC>;
160 assigned-clock-parents = <&ext_gmac>; 171 assigned-clock-parents = <&ext_gmac>;
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index b9c05b57735e..eae5e1ee9cd8 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -861,24 +861,24 @@
861 uart0 { 861 uart0 {
862 pinctrl_uart0: uart0-0 { 862 pinctrl_uart0: uart0-0 {
863 atmel,pins = 863 atmel,pins =
864 <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* conflicts with PWMFI2, ISI_D8 */ 864 <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* conflicts with PWMFI2, ISI_D8 */
865 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* conflicts with ISI_PCK */ 865 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* conflicts with ISI_PCK */
866 }; 866 };
867 }; 867 };
868 868
869 uart1 { 869 uart1 {
870 pinctrl_uart1: uart1-0 { 870 pinctrl_uart1: uart1-0 {
871 atmel,pins = 871 atmel,pins =
872 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* conflicts with TWD0, ISI_VSYNC */ 872 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with TWD0, ISI_VSYNC */
873 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* conflicts with TWCK0, ISI_HSYNC */ 873 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with TWCK0, ISI_HSYNC */
874 }; 874 };
875 }; 875 };
876 876
877 usart0 { 877 usart0 {
878 pinctrl_usart0: usart0-0 { 878 pinctrl_usart0: usart0-0 {
879 atmel,pins = 879 atmel,pins =
880 <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD17 periph A */ 880 <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
881 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD18 periph A with pullup */ 881 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE>;
882 }; 882 };
883 883
884 pinctrl_usart0_rts_cts: usart0_rts_cts-0 { 884 pinctrl_usart0_rts_cts: usart0_rts_cts-0 {
@@ -891,8 +891,8 @@
891 usart1 { 891 usart1 {
892 pinctrl_usart1: usart1-0 { 892 pinctrl_usart1: usart1-0 {
893 atmel,pins = 893 atmel,pins =
894 <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB28 periph A */ 894 <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
895 AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB29 periph A with pullup */ 895 AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
896 }; 896 };
897 897
898 pinctrl_usart1_rts_cts: usart1_rts_cts-0 { 898 pinctrl_usart1_rts_cts: usart1_rts_cts-0 {
@@ -905,8 +905,8 @@
905 usart2 { 905 usart2 {
906 pinctrl_usart2: usart2-0 { 906 pinctrl_usart2: usart2-0 {
907 atmel,pins = 907 atmel,pins =
908 <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE25 periph B, conflicts with A25 */ 908 <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with A25 */
909 AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PE26 periph B with pullup, conflicts NCS0 */ 909 AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts NCS0 */
910 }; 910 };
911 911
912 pinctrl_usart2_rts_cts: usart2_rts_cts-0 { 912 pinctrl_usart2_rts_cts: usart2_rts_cts-0 {
@@ -919,8 +919,8 @@
919 usart3 { 919 usart3 {
920 pinctrl_usart3: usart3-0 { 920 pinctrl_usart3: usart3-0 {
921 atmel,pins = 921 atmel,pins =
922 <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE18 periph B, conflicts with A18 */ 922 <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with A18 */
923 AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PE19 periph B with pullup, conflicts with A19 */ 923 AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with A19 */
924 }; 924 };
925 925
926 pinctrl_usart3_rts_cts: usart3_rts_cts-0 { 926 pinctrl_usart3_rts_cts: usart3_rts_cts-0 {
diff --git a/arch/arm/boot/dts/sama5d34ek.dts b/arch/arm/boot/dts/sama5d34ek.dts
index c8b8449fdc3e..15d5c46013a4 100644
--- a/arch/arm/boot/dts/sama5d34ek.dts
+++ b/arch/arm/boot/dts/sama5d34ek.dts
@@ -38,7 +38,7 @@
38 status = "okay"; 38 status = "okay";
39 39
40 24c256@50 { 40 24c256@50 {
41 compatible = "24c256"; 41 compatible = "atmel,24c256";
42 reg = <0x50>; 42 reg = <0x50>;
43 pagesize = <64>; 43 pagesize = <64>;
44 }; 44 };
diff --git a/arch/arm/boot/dts/sama5d3_uart.dtsi b/arch/arm/boot/dts/sama5d3_uart.dtsi
index 186377d41c91..f599f8a5f664 100644
--- a/arch/arm/boot/dts/sama5d3_uart.dtsi
+++ b/arch/arm/boot/dts/sama5d3_uart.dtsi
@@ -23,16 +23,16 @@
23 uart0 { 23 uart0 {
24 pinctrl_uart0: uart0-0 { 24 pinctrl_uart0: uart0-0 {
25 atmel,pins = 25 atmel,pins =
26 <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC29 periph A, conflicts with PWMFI2, ISI_D8 */ 26 <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* conflicts with PWMFI2, ISI_D8 */
27 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PC30 periph A with pullup, conflicts with ISI_PCK */ 27 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* conflicts with ISI_PCK */
28 }; 28 };
29 }; 29 };
30 30
31 uart1 { 31 uart1 {
32 pinctrl_uart1: uart1-0 { 32 pinctrl_uart1: uart1-0 {
33 atmel,pins = 33 atmel,pins =
34 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA30 periph B, conflicts with TWD0, ISI_VSYNC */ 34 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* conflicts with TWD0, ISI_VSYNC */
35 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA31 periph B with pullup, conflicts with TWCK0, ISI_HSYNC */ 35 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* conflicts with TWCK0, ISI_HSYNC */
36 }; 36 };
37 }; 37 };
38 }; 38 };
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index 373b3621b536..0cf9beddd556 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -1379,7 +1379,7 @@
1379 pinctrl@fc06a000 { 1379 pinctrl@fc06a000 {
1380 #address-cells = <1>; 1380 #address-cells = <1>;
1381 #size-cells = <1>; 1381 #size-cells = <1>;
1382 compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; 1382 compatible = "atmel,sama5d3-pinctrl", "atmel,at91sam9x5-pinctrl", "simple-bus";
1383 ranges = <0xfc068000 0xfc068000 0x100 1383 ranges = <0xfc068000 0xfc068000 0x100
1384 0xfc06a000 0xfc06a000 0x4000>; 1384 0xfc06a000 0xfc06a000 0x4000>;
1385 /* WARNING: revisit as pin spec has changed */ 1385 /* WARNING: revisit as pin spec has changed */
@@ -1926,8 +1926,8 @@
1926 uart0 { 1926 uart0 {
1927 pinctrl_uart0: uart0-0 { 1927 pinctrl_uart0: uart0-0 {
1928 atmel,pins = 1928 atmel,pins =
1929 <AT91_PIOE 29 AT91_PERIPH_B AT91_PINCTRL_NONE /* RXD */ 1929 <AT91_PIOE 29 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* RXD */
1930 AT91_PIOE 30 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* TXD */ 1930 AT91_PIOE 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* TXD */
1931 >; 1931 >;
1932 }; 1932 };
1933 }; 1933 };
@@ -1935,8 +1935,8 @@
1935 uart1 { 1935 uart1 {
1936 pinctrl_uart1: uart1-0 { 1936 pinctrl_uart1: uart1-0 {
1937 atmel,pins = 1937 atmel,pins =
1938 <AT91_PIOC 25 AT91_PERIPH_C AT91_PINCTRL_NONE /* RXD */ 1938 <AT91_PIOC 25 AT91_PERIPH_C AT91_PINCTRL_PULL_UP /* RXD */
1939 AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP /* TXD */ 1939 AT91_PIOC 26 AT91_PERIPH_C AT91_PINCTRL_NONE /* TXD */
1940 >; 1940 >;
1941 }; 1941 };
1942 }; 1942 };
@@ -1944,8 +1944,8 @@
1944 usart0 { 1944 usart0 {
1945 pinctrl_usart0: usart0-0 { 1945 pinctrl_usart0: usart0-0 {
1946 atmel,pins = 1946 atmel,pins =
1947 <AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* RXD */ 1947 <AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* RXD */
1948 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* TXD */ 1948 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* TXD */
1949 >; 1949 >;
1950 }; 1950 };
1951 pinctrl_usart0_rts: usart0_rts-0 { 1951 pinctrl_usart0_rts: usart0_rts-0 {
@@ -1959,8 +1959,8 @@
1959 usart1 { 1959 usart1 {
1960 pinctrl_usart1: usart1-0 { 1960 pinctrl_usart1: usart1-0 {
1961 atmel,pins = 1961 atmel,pins =
1962 <AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* RXD */ 1962 <AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* RXD */
1963 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* TXD */ 1963 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* TXD */
1964 >; 1964 >;
1965 }; 1965 };
1966 pinctrl_usart1_rts: usart1_rts-0 { 1966 pinctrl_usart1_rts: usart1_rts-0 {
@@ -1974,8 +1974,8 @@
1974 usart2 { 1974 usart2 {
1975 pinctrl_usart2: usart2-0 { 1975 pinctrl_usart2: usart2-0 {
1976 atmel,pins = 1976 atmel,pins =
1977 <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE /* RXD - conflicts with G0_CRS, ISI_HSYNC */ 1977 <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* RXD - conflicts with G0_CRS, ISI_HSYNC */
1978 AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* TXD - conflicts with G0_COL, PCK2 */ 1978 AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* TXD - conflicts with G0_COL, PCK2 */
1979 >; 1979 >;
1980 }; 1980 };
1981 pinctrl_usart2_rts: usart2_rts-0 { 1981 pinctrl_usart2_rts: usart2_rts-0 {
@@ -1989,8 +1989,8 @@
1989 usart3 { 1989 usart3 {
1990 pinctrl_usart3: usart3-0 { 1990 pinctrl_usart3: usart3-0 {
1991 atmel,pins = 1991 atmel,pins =
1992 <AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* RXD */ 1992 <AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* RXD */
1993 AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* TXD */ 1993 AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_NONE /* TXD */
1994 >; 1994 >;
1995 }; 1995 };
1996 }; 1996 };
@@ -1998,8 +1998,8 @@
1998 usart4 { 1998 usart4 {
1999 pinctrl_usart4: usart4-0 { 1999 pinctrl_usart4: usart4-0 {
2000 atmel,pins = 2000 atmel,pins =
2001 <AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* RXD */ 2001 <AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* RXD */
2002 AT91_PIOE 27 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* TXD */ 2002 AT91_PIOE 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* TXD */
2003 >; 2003 >;
2004 }; 2004 };
2005 pinctrl_usart4_rts: usart4_rts-0 { 2005 pinctrl_usart4_rts: usart4_rts-0 {
diff --git a/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi b/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi
deleted file mode 100644
index dbdda36179ee..000000000000
--- a/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi
+++ /dev/null
@@ -1,68 +0,0 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Timings and Geometry for Samsung K3PE0E000B memory part
4 */
5
6/ {
7 samsung_K3PE0E000B: lpddr2 {
8 compatible = "Samsung,K3PE0E000B","jedec,lpddr2-s4";
9 density = <4096>;
10 io-width = <32>;
11
12 tRPab-min-tck = <3>;
13 tRCD-min-tck = <3>;
14 tWR-min-tck = <3>;
15 tRASmin-min-tck = <3>;
16 tRRD-min-tck = <2>;
17 tWTR-min-tck = <2>;
18 tXP-min-tck = <2>;
19 tRTP-min-tck = <2>;
20 tCKE-min-tck = <3>;
21 tCKESR-min-tck = <3>;
22 tFAW-min-tck = <8>;
23
24 timings_samsung_K3PE0E000B_533MHz: lpddr2-timings@0 {
25 compatible = "jedec,lpddr2-timings";
26 min-freq = <10000000>;
27 max-freq = <533333333>;
28 tRPab = <21000>;
29 tRCD = <18000>;
30 tWR = <15000>;
31 tRAS-min = <42000>;
32 tRRD = <10000>;
33 tWTR = <7500>;
34 tXP = <7500>;
35 tRTP = <7500>;
36 tCKESR = <15000>;
37 tDQSCK-max = <5500>;
38 tFAW = <50000>;
39 tZQCS = <90000>;
40 tZQCL = <360000>;
41 tZQinit = <1000000>;
42 tRAS-max-ns = <70000>;
43 tDQSCK-max-derated = <6000>;
44 };
45
46 timings_samsung_K3PE0E000B_266MHz: lpddr2-timings@1 {
47 compatible = "jedec,lpddr2-timings";
48 min-freq = <10000000>;
49 max-freq = <266666666>;
50 tRPab = <21000>;
51 tRCD = <18000>;
52 tWR = <15000>;
53 tRAS-min = <42000>;
54 tRRD = <10000>;
55 tWTR = <7500>;
56 tXP = <7500>;
57 tRTP = <7500>;
58 tCKESR = <15000>;
59 tDQSCK-max = <5500>;
60 tFAW = <50000>;
61 tZQCS = <90000>;
62 tZQCL = <360000>;
63 tZQinit = <1000000>;
64 tRAS-max-ns = <70000>;
65 tDQSCK-max-derated = <6000>;
66 };
67 };
68};
diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi
index c42ca7022e8c..486d4e7433ed 100644
--- a/arch/arm/boot/dts/socfpga.dtsi
+++ b/arch/arm/boot/dts/socfpga.dtsi
@@ -831,7 +831,7 @@
831 timer@fffec600 { 831 timer@fffec600 {
832 compatible = "arm,cortex-a9-twd-timer"; 832 compatible = "arm,cortex-a9-twd-timer";
833 reg = <0xfffec600 0x100>; 833 reg = <0xfffec600 0x100>;
834 interrupts = <1 13 0xf04>; 834 interrupts = <1 13 0xf01>;
835 clocks = <&mpu_periph_clk>; 835 clocks = <&mpu_periph_clk>;
836 }; 836 };
837 837
diff --git a/arch/arm/boot/dts/stih407-b2120.dts b/arch/arm/boot/dts/stih407-b2120.dts
index a7a0f76e9cbc..62ce1cecbb1f 100644
--- a/arch/arm/boot/dts/stih407-b2120.dts
+++ b/arch/arm/boot/dts/stih407-b2120.dts
@@ -15,10 +15,10 @@
15 15
16 chosen { 16 chosen {
17 bootargs = "clk_ignore_unused"; 17 bootargs = "clk_ignore_unused";
18 linux,stdout-path = &sbc_serial0; 18 stdout-path = &sbc_serial0;
19 }; 19 };
20 20
21 memory { 21 memory@40000000 {
22 device_type = "memory"; 22 device_type = "memory";
23 reg = <0x40000000 0x80000000>; 23 reg = <0x40000000 0x80000000>;
24 }; 24 };
diff --git a/arch/arm/boot/dts/stih407-clock.dtsi b/arch/arm/boot/dts/stih407-clock.dtsi
index d0a24d9e517a..ea7833489832 100644
--- a/arch/arm/boot/dts/stih407-clock.dtsi
+++ b/arch/arm/boot/dts/stih407-clock.dtsi
@@ -7,33 +7,27 @@
7 */ 7 */
8#include <dt-bindings/clock/stih407-clks.h> 8#include <dt-bindings/clock/stih407-clks.h>
9/ { 9/ {
10 /*
11 * Fixed 30MHz oscillator inputs to SoC
12 */
13 clk_sysin: clk-sysin {
14 #clock-cells = <0>;
15 compatible = "fixed-clock";
16 clock-frequency = <30000000>;
17 };
18
19 clk_tmdsout_hdmi: clk-tmdsout-hdmi {
20 #clock-cells = <0>;
21 compatible = "fixed-clock";
22 clock-frequency = <0>;
23 };
24
10 clocks { 25 clocks {
11 #address-cells = <1>; 26 #address-cells = <1>;
12 #size-cells = <1>; 27 #size-cells = <1>;
13 ranges; 28 ranges;
14 29
15 /* 30 /*
16 * Fixed 30MHz oscillator inputs to SoC
17 */
18 clk_sysin: clk-sysin {
19 #clock-cells = <0>;
20 compatible = "fixed-clock";
21 clock-frequency = <30000000>;
22 };
23
24 /*
25 * ARM Peripheral clock for timers
26 */
27 arm_periph_clk: clk-m-a9-periphs {
28 #clock-cells = <0>;
29 compatible = "fixed-factor-clock";
30
31 clocks = <&clk_m_a9>;
32 clock-div = <2>;
33 clock-mult = <1>;
34 };
35
36 /*
37 * A9 PLL. 31 * A9 PLL.
38 */ 32 */
39 clockgen-a9@92b0000 { 33 clockgen-a9@92b0000 {
@@ -62,32 +56,19 @@
62 <&clockgen_a9_pll 0>, 56 <&clockgen_a9_pll 0>,
63 <&clk_s_c0_flexgen 13>, 57 <&clk_s_c0_flexgen 13>,
64 <&clk_m_a9_ext2f_div2>; 58 <&clk_m_a9_ext2f_div2>;
65 };
66 59
67 /*
68 * ARM Peripheral clock for timers
69 */
70 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
71 #clock-cells = <0>;
72 compatible = "fixed-factor-clock";
73
74 clocks = <&clk_s_c0_flexgen 13>;
75
76 clock-output-names = "clk-m-a9-ext2f-div2";
77 60
78 clock-div = <2>; 61 /*
79 clock-mult = <1>; 62 * ARM Peripheral clock for timers
80 }; 63 */
64 arm_periph_clk: clk-m-a9-periphs {
65 #clock-cells = <0>;
66 compatible = "fixed-factor-clock";
81 67
82 /* 68 clocks = <&clk_m_a9>;
83 * Bootloader initialized system infrastructure clock for 69 clock-div = <2>;
84 * serial devices. 70 clock-mult = <1>;
85 */ 71 };
86 clk_ext2f_a9: clockgen-c0@13 {
87 #clock-cells = <0>;
88 compatible = "fixed-clock";
89 clock-frequency = <200000000>;
90 clock-output-names = "clk-s-icn-reg-0";
91 }; 72 };
92 73
93 clockgen-a@90ff000 { 74 clockgen-a@90ff000 {
@@ -204,6 +185,21 @@
204 <CLK_EXT2F_A9>, 185 <CLK_EXT2F_A9>,
205 <CLK_ICN_LMI>, 186 <CLK_ICN_LMI>,
206 <CLK_ICN_SBC>; 187 <CLK_ICN_SBC>;
188
189 /*
190 * ARM Peripheral clock for timers
191 */
192 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
193 #clock-cells = <0>;
194 compatible = "fixed-factor-clock";
195
196 clocks = <&clk_s_c0_flexgen 13>;
197
198 clock-output-names = "clk-m-a9-ext2f-div2";
199
200 clock-div = <2>;
201 clock-mult = <1>;
202 };
207 }; 203 };
208 }; 204 };
209 205
@@ -254,13 +250,7 @@
254 "clk-s-d2-fs0-ch3"; 250 "clk-s-d2-fs0-ch3";
255 }; 251 };
256 252
257 clk_tmdsout_hdmi: clk-tmdsout-hdmi { 253 clockgen-d2@9106000 {
258 #clock-cells = <0>;
259 compatible = "fixed-clock";
260 clock-frequency = <0>;
261 };
262
263 clockgen-d2@x9106000 {
264 compatible = "st,clkgen-c32"; 254 compatible = "st,clkgen-c32";
265 reg = <0x9106000 0x1000>; 255 reg = <0x9106000 0x1000>;
266 256
diff --git a/arch/arm/boot/dts/stih407-family.dtsi b/arch/arm/boot/dts/stih407-family.dtsi
index cf3756976c39..f7362c31de29 100644
--- a/arch/arm/boot/dts/stih407-family.dtsi
+++ b/arch/arm/boot/dts/stih407-family.dtsi
@@ -92,7 +92,7 @@
92 clocks = <&arm_periph_clk>; 92 clocks = <&arm_periph_clk>;
93 }; 93 };
94 94
95 l2: cache-controller { 95 l2: cache-controller@8762000 {
96 compatible = "arm,pl310-cache"; 96 compatible = "arm,pl310-cache";
97 reg = <0x08762000 0x1000>; 97 reg = <0x08762000 0x1000>;
98 arm,data-latency = <3 3 3>; 98 arm,data-latency = <3 3 3>;
@@ -125,24 +125,28 @@
125 ranges; 125 ranges;
126 compatible = "simple-bus"; 126 compatible = "simple-bus";
127 127
128 restart { 128 restart: restart-controller@0 {
129 compatible = "st,stih407-restart"; 129 compatible = "st,stih407-restart";
130 reg = <0 0>;
130 st,syscfg = <&syscfg_sbc_reg>; 131 st,syscfg = <&syscfg_sbc_reg>;
131 status = "okay"; 132 status = "okay";
132 }; 133 };
133 134
134 powerdown: powerdown-controller { 135 powerdown: powerdown-controller@0 {
135 compatible = "st,stih407-powerdown"; 136 compatible = "st,stih407-powerdown";
137 reg = <0 0>;
136 #reset-cells = <1>; 138 #reset-cells = <1>;
137 }; 139 };
138 140
139 softreset: softreset-controller { 141 softreset: softreset-controller@0 {
140 compatible = "st,stih407-softreset"; 142 compatible = "st,stih407-softreset";
143 reg = <0 0>;
141 #reset-cells = <1>; 144 #reset-cells = <1>;
142 }; 145 };
143 146
144 picophyreset: picophyreset-controller { 147 picophyreset: picophyreset-controller@0 {
145 compatible = "st,stih407-picophyreset"; 148 compatible = "st,stih407-picophyreset";
149 reg = <0 0>;
146 #reset-cells = <1>; 150 #reset-cells = <1>;
147 }; 151 };
148 152
@@ -174,6 +178,13 @@
174 syscfg_core: core-syscfg@92b0000 { 178 syscfg_core: core-syscfg@92b0000 {
175 compatible = "st,stih407-core-syscfg", "syscon"; 179 compatible = "st,stih407-core-syscfg", "syscon";
176 reg = <0x92b0000 0x1000>; 180 reg = <0x92b0000 0x1000>;
181
182 sti_sasg_codec: sti-sasg-codec {
183 compatible = "st,stih407-sas-codec";
184 #sound-dai-cells = <1>;
185 status = "disabled";
186 st,syscfg = <&syscfg_core>;
187 };
177 }; 188 };
178 189
179 syscfg_lpm: lpm-syscfg@94b5100 { 190 syscfg_lpm: lpm-syscfg@94b5100 {
@@ -181,8 +192,9 @@
181 reg = <0x94b5100 0x1000>; 192 reg = <0x94b5100 0x1000>;
182 }; 193 };
183 194
184 irq-syscfg { 195 irq-syscfg@0 {
185 compatible = "st,stih407-irq-syscfg"; 196 compatible = "st,stih407-irq-syscfg";
197 reg = <0 0>;
186 st,syscfg = <&syscfg_core>; 198 st,syscfg = <&syscfg_core>;
187 st,irq-device = <ST_IRQ_SYSCFG_PMU_0>, 199 st,irq-device = <ST_IRQ_SYSCFG_PMU_0>,
188 <ST_IRQ_SYSCFG_PMU_1>; 200 <ST_IRQ_SYSCFG_PMU_1>;
@@ -380,8 +392,9 @@
380 status = "disabled"; 392 status = "disabled";
381 }; 393 };
382 394
383 usb2_picophy0: phy1 { 395 usb2_picophy0: phy1@0 {
384 compatible = "st,stih407-usb2-phy"; 396 compatible = "st,stih407-usb2-phy";
397 reg = <0 0>;
385 #phy-cells = <0>; 398 #phy-cells = <0>;
386 st,syscfg = <&syscfg_core 0x100 0xf4>; 399 st,syscfg = <&syscfg_core 0x100 0xf4>;
387 resets = <&softreset STIH407_PICOPHY_SOFTRESET>, 400 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
@@ -389,12 +402,13 @@
389 reset-names = "global", "port"; 402 reset-names = "global", "port";
390 }; 403 };
391 404
392 miphy28lp_phy: miphy28lp@9b22000 { 405 miphy28lp_phy: miphy28lp@0 {
393 compatible = "st,miphy28lp-phy"; 406 compatible = "st,miphy28lp-phy";
394 st,syscfg = <&syscfg_core>; 407 st,syscfg = <&syscfg_core>;
395 #address-cells = <1>; 408 #address-cells = <1>;
396 #size-cells = <1>; 409 #size-cells = <1>;
397 ranges; 410 ranges;
411 reg = <0 0>;
398 412
399 phy_port0: port@9b22000 { 413 phy_port0: port@9b22000 {
400 reg = <0x9b22000 0xff>, 414 reg = <0x9b22000 0xff>,
@@ -805,6 +819,7 @@
805 819
806 st231_gp0: st231-gp0@0 { 820 st231_gp0: st231-gp0@0 {
807 compatible = "st,st231-rproc"; 821 compatible = "st,st231-rproc";
822 reg = <0 0>;
808 memory-region = <&gp0_reserved>; 823 memory-region = <&gp0_reserved>;
809 resets = <&softreset STIH407_ST231_GP0_SOFTRESET>; 824 resets = <&softreset STIH407_ST231_GP0_SOFTRESET>;
810 reset-names = "sw_reset"; 825 reset-names = "sw_reset";
@@ -818,6 +833,7 @@
818 833
819 st231_delta: st231-delta@0 { 834 st231_delta: st231-delta@0 {
820 compatible = "st,st231-rproc"; 835 compatible = "st,st231-rproc";
836 reg = <0 0>;
821 memory-region = <&delta_reserved>; 837 memory-region = <&delta_reserved>;
822 resets = <&softreset STIH407_ST231_DMU_SOFTRESET>; 838 resets = <&softreset STIH407_ST231_DMU_SOFTRESET>;
823 reset-names = "sw_reset"; 839 reset-names = "sw_reset";
@@ -885,13 +901,6 @@
885 status = "disabled"; 901 status = "disabled";
886 }; 902 };
887 903
888 sti_sasg_codec: sti-sasg-codec {
889 compatible = "st,stih407-sas-codec";
890 #sound-dai-cells = <1>;
891 status = "disabled";
892 st,syscfg = <&syscfg_core>;
893 };
894
895 sti_uni_player0: sti-uni-player@8d80000 { 904 sti_uni_player0: sti-uni-player@8d80000 {
896 compatible = "st,stih407-uni-player-hdmi"; 905 compatible = "st,stih407-uni-player-hdmi";
897 #sound-dai-cells = <0>; 906 #sound-dai-cells = <0>;
@@ -980,8 +989,9 @@
980 status = "disabled"; 989 status = "disabled";
981 }; 990 };
982 991
983 delta0 { 992 delta0@0 {
984 compatible = "st,st-delta"; 993 compatible = "st,st-delta";
994 reg = <0 0>;
985 clock-names = "delta", 995 clock-names = "delta",
986 "delta-st231", 996 "delta-st231",
987 "delta-flash-promip"; 997 "delta-flash-promip";
diff --git a/arch/arm/boot/dts/stih407-pinctrl.dtsi b/arch/arm/boot/dts/stih407-pinctrl.dtsi
index a29090077fdf..53c6888d1fc0 100644
--- a/arch/arm/boot/dts/stih407-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stih407-pinctrl.dtsi
@@ -45,7 +45,7 @@
45 }; 45 };
46 46
47 soc { 47 soc {
48 pin-controller-sbc { 48 pin-controller-sbc@961f080 {
49 #address-cells = <1>; 49 #address-cells = <1>;
50 #size-cells = <1>; 50 #size-cells = <1>;
51 compatible = "st,stih407-sbc-pinctrl"; 51 compatible = "st,stih407-sbc-pinctrl";
@@ -369,7 +369,7 @@
369 }; 369 };
370 }; 370 };
371 371
372 pin-controller-front0 { 372 pin-controller-front0@920f080 {
373 #address-cells = <1>; 373 #address-cells = <1>;
374 #size-cells = <1>; 374 #size-cells = <1>;
375 compatible = "st,stih407-front-pinctrl"; 375 compatible = "st,stih407-front-pinctrl";
@@ -929,7 +929,7 @@
929 }; 929 };
930 }; 930 };
931 931
932 pin-controller-front1 { 932 pin-controller-front1@921f080 {
933 #address-cells = <1>; 933 #address-cells = <1>;
934 #size-cells = <1>; 934 #size-cells = <1>;
935 compatible = "st,stih407-front-pinctrl"; 935 compatible = "st,stih407-front-pinctrl";
@@ -962,7 +962,7 @@
962 }; 962 };
963 }; 963 };
964 964
965 pin-controller-rear { 965 pin-controller-rear@922f080 {
966 #address-cells = <1>; 966 #address-cells = <1>;
967 #size-cells = <1>; 967 #size-cells = <1>;
968 compatible = "st,stih407-rear-pinctrl"; 968 compatible = "st,stih407-rear-pinctrl";
@@ -1157,7 +1157,7 @@
1157 }; 1157 };
1158 }; 1158 };
1159 1159
1160 pin-controller-flash { 1160 pin-controller-flash@923f080 {
1161 #address-cells = <1>; 1161 #address-cells = <1>;
1162 #size-cells = <1>; 1162 #size-cells = <1>;
1163 compatible = "st,stih407-flash-pinctrl"; 1163 compatible = "st,stih407-flash-pinctrl";
diff --git a/arch/arm/boot/dts/stih407.dtsi b/arch/arm/boot/dts/stih407.dtsi
index 11fdecd9312e..57efc87dec2b 100644
--- a/arch/arm/boot/dts/stih407.dtsi
+++ b/arch/arm/boot/dts/stih407.dtsi
@@ -11,11 +11,11 @@
11#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/gpio/gpio.h>
12/ { 12/ {
13 soc { 13 soc {
14 sti-display-subsystem { 14 sti-display-subsystem@0 {
15 compatible = "st,sti-display-subsystem"; 15 compatible = "st,sti-display-subsystem";
16 #address-cells = <1>; 16 #address-cells = <1>;
17 #size-cells = <1>; 17 #size-cells = <1>;
18 18 reg = <0 0>;
19 assigned-clocks = <&clk_s_d2_quadfs 0>, 19 assigned-clocks = <&clk_s_d2_quadfs 0>,
20 <&clk_s_d2_quadfs 1>, 20 <&clk_s_d2_quadfs 1>,
21 <&clk_s_c0_pll1 0>, 21 <&clk_s_c0_pll1 0>,
@@ -107,6 +107,7 @@
107 compatible = "st,stih407-hdmi"; 107 compatible = "st,stih407-hdmi";
108 reg = <0x8d04000 0x1000>; 108 reg = <0x8d04000 0x1000>;
109 reg-names = "hdmi-reg"; 109 reg-names = "hdmi-reg";
110 #sound-dai-cells = <0>;
110 interrupts = <GIC_SPI 106 IRQ_TYPE_NONE>; 111 interrupts = <GIC_SPI 106 IRQ_TYPE_NONE>;
111 interrupt-names = "irq"; 112 interrupt-names = "irq";
112 clock-names = "pix", 113 clock-names = "pix",
diff --git a/arch/arm/boot/dts/stih410-b2120.dts b/arch/arm/boot/dts/stih410-b2120.dts
index 6c6b4cc37e97..2a5a9802a5ec 100644
--- a/arch/arm/boot/dts/stih410-b2120.dts
+++ b/arch/arm/boot/dts/stih410-b2120.dts
@@ -15,10 +15,10 @@
15 15
16 chosen { 16 chosen {
17 bootargs = "clk_ignore_unused"; 17 bootargs = "clk_ignore_unused";
18 linux,stdout-path = &sbc_serial0; 18 stdout-path = &sbc_serial0;
19 }; 19 };
20 20
21 memory { 21 memory@40000000 {
22 device_type = "memory"; 22 device_type = "memory";
23 reg = <0x40000000 0x80000000>; 23 reg = <0x40000000 0x80000000>;
24 }; 24 };
@@ -37,11 +37,11 @@
37 sd-uhs-ddr50; 37 sd-uhs-ddr50;
38 }; 38 };
39 39
40 usb2_picophy1: phy2 { 40 usb2_picophy1: phy2@0 {
41 status = "okay"; 41 status = "okay";
42 }; 42 };
43 43
44 usb2_picophy2: phy3 { 44 usb2_picophy2: phy3@0 {
45 status = "okay"; 45 status = "okay";
46 }; 46 };
47 47
@@ -61,7 +61,7 @@
61 status = "okay"; 61 status = "okay";
62 }; 62 };
63 63
64 sti-display-subsystem { 64 sti-display-subsystem@0 {
65 sti-hda@8d02000 { 65 sti-hda@8d02000 {
66 status = "okay"; 66 status = "okay";
67 }; 67 };
diff --git a/arch/arm/boot/dts/stih410-b2260.dts b/arch/arm/boot/dts/stih410-b2260.dts
index 50d36758391c..155caa8c002a 100644
--- a/arch/arm/boot/dts/stih410-b2260.dts
+++ b/arch/arm/boot/dts/stih410-b2260.dts
@@ -16,10 +16,10 @@
16 16
17 chosen { 17 chosen {
18 bootargs = "clk_ignore_unused"; 18 bootargs = "clk_ignore_unused";
19 linux,stdout-path = &uart1; 19 stdout-path = &uart1;
20 }; 20 };
21 21
22 memory { 22 memory@40000000 {
23 device_type = "memory"; 23 device_type = "memory";
24 reg = <0x40000000 0x40000000>; 24 reg = <0x40000000 0x40000000>;
25 }; 25 };
@@ -29,36 +29,54 @@
29 ethernet0 = &ethernet0; 29 ethernet0 = &ethernet0;
30 }; 30 };
31 31
32 soc { 32 leds {
33 compatible = "gpio-leds";
34 user_green_1 {
35 label = "User_green_1";
36 gpios = <&pio1 3 GPIO_ACTIVE_LOW>;
37 linux,default-trigger = "heartbeat";
38 default-state = "off";
39 };
33 40
34 leds { 41 user_green_2 {
35 compatible = "gpio-leds"; 42 label = "User_green_2";
36 user_green_1 { 43 gpios = <&pio4 1 GPIO_ACTIVE_LOW>;
37 label = "User_green_1"; 44 default-state = "off";
38 gpios = <&pio1 3 GPIO_ACTIVE_LOW>; 45 };
39 linux,default-trigger = "heartbeat";
40 default-state = "off";
41 };
42 46
43 user_green_2 { 47 user_green_3 {
44 label = "User_green_2"; 48 label = "User_green_3";
45 gpios = <&pio4 1 GPIO_ACTIVE_LOW>; 49 gpios = <&pio2 1 GPIO_ACTIVE_LOW>;
46 default-state = "off"; 50 default-state = "off";
47 }; 51 };
52
53 user_green_4 {
54 label = "User_green_4";
55 gpios = <&pio2 5 GPIO_ACTIVE_LOW>;
56 default-state = "off";
57 };
58 };
48 59
49 user_green_3 { 60 sound: sound {
50 label = "User_green_3"; 61 compatible = "simple-audio-card";
51 gpios = <&pio2 1 GPIO_ACTIVE_LOW>; 62 simple-audio-card,name = "STI-B2260";
52 default-state = "off"; 63 status = "okay";
64
65 simple-audio-card,dai-link0 {
66 /* DAC */
67 format = "i2s";
68 mclk-fs = <128>;
69 cpu {
70 sound-dai = <&sti_uni_player0>;
53 }; 71 };
54 72
55 user_green_4 { 73 codec {
56 label = "User_green_4"; 74 sound-dai = <&sti_hdmi>;
57 gpios = <&pio2 5 GPIO_ACTIVE_LOW>;
58 default-state = "off";
59 }; 75 };
60 }; 76 };
77 };
61 78
79 soc {
62 /* Low speed expansion connector */ 80 /* Low speed expansion connector */
63 uart0: serial@9830000 { 81 uart0: serial@9830000 {
64 label = "LS-UART0"; 82 label = "LS-UART0";
@@ -128,11 +146,11 @@
128 status = "okay"; 146 status = "okay";
129 }; 147 };
130 148
131 usb2_picophy1: phy2 { 149 usb2_picophy1: phy2@0 {
132 status = "okay"; 150 status = "okay";
133 }; 151 };
134 152
135 usb2_picophy2: phy3 { 153 usb2_picophy2: phy3@0 {
136 status = "okay"; 154 status = "okay";
137 }; 155 };
138 156
@@ -182,26 +200,7 @@
182 status = "okay"; 200 status = "okay";
183 }; 201 };
184 202
185 sound { 203 miphy28lp_phy: miphy28lp@0 {
186 compatible = "simple-audio-card";
187 simple-audio-card,name = "STI-B2260";
188 status = "okay";
189
190 simple-audio-card,dai-link@0 {
191 /* DAC */
192 format = "i2s";
193 mclk-fs = <128>;
194 cpu {
195 sound-dai = <&sti_uni_player0>;
196 };
197
198 codec {
199 sound-dai = <&sti_hdmi>;
200 };
201 };
202 };
203
204 miphy28lp_phy: miphy28lp@9b22000 {
205 204
206 phy_port1: port@9b2a000 { 205 phy_port1: port@9b2a000 {
207 st,osc-force-ext; 206 st,osc-force-ext;
diff --git a/arch/arm/boot/dts/stih410-clock.dtsi b/arch/arm/boot/dts/stih410-clock.dtsi
index fde5df17f575..5f11d09cb030 100644
--- a/arch/arm/boot/dts/stih410-clock.dtsi
+++ b/arch/arm/boot/dts/stih410-clock.dtsi
@@ -7,6 +7,22 @@
7 */ 7 */
8#include <dt-bindings/clock/stih410-clks.h> 8#include <dt-bindings/clock/stih410-clks.h>
9/ { 9/ {
10 /*
11 * Fixed 30MHz oscillator inputs to SoC
12 */
13 clk_sysin: clk-sysin {
14 #clock-cells = <0>;
15 compatible = "fixed-clock";
16 clock-frequency = <30000000>;
17 clock-output-names = "CLK_SYSIN";
18 };
19
20 clk_tmdsout_hdmi: clk-tmdsout-hdmi {
21 #clock-cells = <0>;
22 compatible = "fixed-clock";
23 clock-frequency = <0>;
24 };
25
10 clocks { 26 clocks {
11 #address-cells = <1>; 27 #address-cells = <1>;
12 #size-cells = <1>; 28 #size-cells = <1>;
@@ -15,27 +31,6 @@
15 compatible = "st,stih410-clk", "simple-bus"; 31 compatible = "st,stih410-clk", "simple-bus";
16 32
17 /* 33 /*
18 * Fixed 30MHz oscillator inputs to SoC
19 */
20 clk_sysin: clk-sysin {
21 #clock-cells = <0>;
22 compatible = "fixed-clock";
23 clock-frequency = <30000000>;
24 clock-output-names = "CLK_SYSIN";
25 };
26
27 /*
28 * ARM Peripheral clock for timers
29 */
30 arm_periph_clk: clk-m-a9-periphs {
31 #clock-cells = <0>;
32 compatible = "fixed-factor-clock";
33 clocks = <&clk_m_a9>;
34 clock-div = <2>;
35 clock-mult = <1>;
36 };
37
38 /*
39 * A9 PLL. 34 * A9 PLL.
40 */ 35 */
41 clockgen-a9@92b0000 { 36 clockgen-a9@92b0000 {
@@ -64,32 +59,16 @@
64 <&clockgen_a9_pll 0>, 59 <&clockgen_a9_pll 0>,
65 <&clk_s_c0_flexgen 13>, 60 <&clk_s_c0_flexgen 13>,
66 <&clk_m_a9_ext2f_div2>; 61 <&clk_m_a9_ext2f_div2>;
67 }; 62 /*
68 63 * ARM Peripheral clock for timers
69 /* 64 */
70 * ARM Peripheral clock for timers 65 arm_periph_clk: clk-m-a9-periphs {
71 */ 66 #clock-cells = <0>;
72 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s { 67 compatible = "fixed-factor-clock";
73 #clock-cells = <0>; 68 clocks = <&clk_m_a9>;
74 compatible = "fixed-factor-clock"; 69 clock-div = <2>;
75 70 clock-mult = <1>;
76 clocks = <&clk_s_c0_flexgen 13>; 71 };
77
78 clock-output-names = "clk-m-a9-ext2f-div2";
79
80 clock-div = <2>;
81 clock-mult = <1>;
82 };
83
84 /*
85 * Bootloader initialized system infrastructure clock for
86 * serial devices.
87 */
88 clk_ext2f_a9: clockgen-c0@13 {
89 #clock-cells = <0>;
90 compatible = "fixed-clock";
91 clock-frequency = <200000000>;
92 clock-output-names = "clk-s-icn-reg-0";
93 }; 72 };
94 73
95 clockgen-a@90ff000 { 74 clockgen-a@90ff000 {
@@ -214,6 +193,21 @@
214 <CLK_EXT2F_A9>, 193 <CLK_EXT2F_A9>,
215 <CLK_ICN_LMI>, 194 <CLK_ICN_LMI>,
216 <CLK_ICN_SBC>; 195 <CLK_ICN_SBC>;
196
197 /*
198 * ARM Peripheral clock for timers
199 */
200 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
201 #clock-cells = <0>;
202 compatible = "fixed-factor-clock";
203
204 clocks = <&clk_s_c0_flexgen 13>;
205
206 clock-output-names = "clk-m-a9-ext2f-div2";
207
208 clock-div = <2>;
209 clock-mult = <1>;
210 };
217 }; 211 };
218 }; 212 };
219 213
@@ -266,13 +260,7 @@
266 "clk-s-d2-fs0-ch3"; 260 "clk-s-d2-fs0-ch3";
267 }; 261 };
268 262
269 clk_tmdsout_hdmi: clk-tmdsout-hdmi { 263 clockgen-d2@9106000 {
270 #clock-cells = <0>;
271 compatible = "fixed-clock";
272 clock-frequency = <0>;
273 };
274
275 clockgen-d2@x9106000 {
276 compatible = "st,clkgen-c32"; 264 compatible = "st,clkgen-c32";
277 reg = <0x9106000 0x1000>; 265 reg = <0x9106000 0x1000>;
278 266
diff --git a/arch/arm/boot/dts/stih410-pinctrl.dtsi b/arch/arm/boot/dts/stih410-pinctrl.dtsi
index b3e9dfc81c07..5ae1fd66c0b8 100644
--- a/arch/arm/boot/dts/stih410-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stih410-pinctrl.dtsi
@@ -10,7 +10,7 @@
10/ { 10/ {
11 11
12 soc { 12 soc {
13 pin-controller-rear { 13 pin-controller-rear@922f080 {
14 14
15 usb0 { 15 usb0 {
16 pinctrl_usb0: usb2-0 { 16 pinctrl_usb0: usb2-0 {
diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi
index 68b5ff91d6a7..3313005ee15c 100644
--- a/arch/arm/boot/dts/stih410.dtsi
+++ b/arch/arm/boot/dts/stih410.dtsi
@@ -16,8 +16,9 @@
16 }; 16 };
17 17
18 soc { 18 soc {
19 usb2_picophy1: phy2 { 19 usb2_picophy1: phy2@0 {
20 compatible = "st,stih407-usb2-phy"; 20 compatible = "st,stih407-usb2-phy";
21 reg = <0 0>;
21 #phy-cells = <0>; 22 #phy-cells = <0>;
22 st,syscfg = <&syscfg_core 0xf8 0xf4>; 23 st,syscfg = <&syscfg_core 0xf8 0xf4>;
23 resets = <&softreset STIH407_PICOPHY_SOFTRESET>, 24 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
@@ -27,8 +28,9 @@
27 status = "disabled"; 28 status = "disabled";
28 }; 29 };
29 30
30 usb2_picophy2: phy3 { 31 usb2_picophy2: phy3@0 {
31 compatible = "st,stih407-usb2-phy"; 32 compatible = "st,stih407-usb2-phy";
33 reg = <0 0>;
32 #phy-cells = <0>; 34 #phy-cells = <0>;
33 st,syscfg = <&syscfg_core 0xfc 0xf4>; 35 st,syscfg = <&syscfg_core 0xfc 0xf4>;
34 resets = <&softreset STIH407_PICOPHY_SOFTRESET>, 36 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
@@ -102,11 +104,12 @@
102 status = "disabled"; 104 status = "disabled";
103 }; 105 };
104 106
105 sti-display-subsystem { 107 sti-display-subsystem@0 {
106 compatible = "st,sti-display-subsystem"; 108 compatible = "st,sti-display-subsystem";
107 #address-cells = <1>; 109 #address-cells = <1>;
108 #size-cells = <1>; 110 #size-cells = <1>;
109 111
112 reg = <0 0>;
110 assigned-clocks = <&clk_s_d2_quadfs 0>, 113 assigned-clocks = <&clk_s_d2_quadfs 0>,
111 <&clk_s_d2_quadfs 1>, 114 <&clk_s_d2_quadfs 1>,
112 <&clk_s_c0_pll1 0>, 115 <&clk_s_c0_pll1 0>,
@@ -198,6 +201,7 @@
198 compatible = "st,stih407-hdmi"; 201 compatible = "st,stih407-hdmi";
199 reg = <0x8d04000 0x1000>; 202 reg = <0x8d04000 0x1000>;
200 reg-names = "hdmi-reg"; 203 reg-names = "hdmi-reg";
204 #sound-dai-cells = <0>;
201 interrupts = <GIC_SPI 106 IRQ_TYPE_NONE>; 205 interrupts = <GIC_SPI 106 IRQ_TYPE_NONE>;
202 interrupt-names = "irq"; 206 interrupt-names = "irq";
203 clock-names = "pix", 207 clock-names = "pix",
@@ -235,7 +239,7 @@
235 <&clk_s_d2_quadfs 1>; 239 <&clk_s_d2_quadfs 1>;
236 }; 240 };
237 241
238 sti-hqvdp@9c000000 { 242 sti-hqvdp@9c00000 {
239 compatible = "st,stih407-hqvdp"; 243 compatible = "st,stih407-hqvdp";
240 reg = <0x9C00000 0x100000>; 244 reg = <0x9C00000 0x100000>;
241 clock-names = "hqvdp", "pix_main"; 245 clock-names = "hqvdp", "pix_main";
@@ -273,7 +277,7 @@
273 interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>; 277 interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>;
274 }; 278 };
275 279
276 delta0 { 280 delta0@0 {
277 compatible = "st,st-delta"; 281 compatible = "st,st-delta";
278 clock-names = "delta", 282 clock-names = "delta",
279 "delta-st231", 283 "delta-st231",
diff --git a/arch/arm/boot/dts/stih418-b2199.dts b/arch/arm/boot/dts/stih418-b2199.dts
index 7f5f3252bfc7..cd0d719e31b7 100644
--- a/arch/arm/boot/dts/stih418-b2199.dts
+++ b/arch/arm/boot/dts/stih418-b2199.dts
@@ -15,10 +15,10 @@
15 15
16 chosen { 16 chosen {
17 bootargs = "clk_ignore_unused"; 17 bootargs = "clk_ignore_unused";
18 linux,stdout-path = &sbc_serial0; 18 stdout-path = &sbc_serial0;
19 }; 19 };
20 20
21 memory { 21 memory@40000000 {
22 device_type = "memory"; 22 device_type = "memory";
23 reg = <0x40000000 0xc0000000>; 23 reg = <0x40000000 0xc0000000>;
24 }; 24 };
@@ -28,24 +28,24 @@
28 ethernet0 = &ethernet0; 28 ethernet0 = &ethernet0;
29 }; 29 };
30 30
31 leds {
32 compatible = "gpio-leds";
33 red {
34 label = "Front Panel LED";
35 gpios = <&pio4 1 GPIO_ACTIVE_HIGH>;
36 linux,default-trigger = "heartbeat";
37 };
38 green {
39 gpios = <&pio1 3 GPIO_ACTIVE_HIGH>;
40 default-state = "off";
41 };
42 };
43
31 soc { 44 soc {
32 sbc_serial0: serial@9530000 { 45 sbc_serial0: serial@9530000 {
33 status = "okay"; 46 status = "okay";
34 }; 47 };
35 48
36 leds {
37 compatible = "gpio-leds";
38 red {
39 label = "Front Panel LED";
40 gpios = <&pio4 1 GPIO_ACTIVE_HIGH>;
41 linux,default-trigger = "heartbeat";
42 };
43 green {
44 gpios = <&pio1 3 GPIO_ACTIVE_HIGH>;
45 default-state = "off";
46 };
47 };
48
49 i2c@9842000 { 49 i2c@9842000 {
50 status = "okay"; 50 status = "okay";
51 }; 51 };
@@ -88,7 +88,7 @@
88 non-removable; 88 non-removable;
89 }; 89 };
90 90
91 miphy28lp_phy: miphy28lp@9b22000 { 91 miphy28lp_phy: miphy28lp@0 {
92 92
93 phy_port0: port@9b22000 { 93 phy_port0: port@9b22000 {
94 st,osc-rdy; 94 st,osc-rdy;
diff --git a/arch/arm/boot/dts/stih418-clock.dtsi b/arch/arm/boot/dts/stih418-clock.dtsi
index 9a157c1a99b1..13fb8db52fc1 100644
--- a/arch/arm/boot/dts/stih418-clock.dtsi
+++ b/arch/arm/boot/dts/stih418-clock.dtsi
@@ -7,6 +7,22 @@
7 */ 7 */
8#include <dt-bindings/clock/stih418-clks.h> 8#include <dt-bindings/clock/stih418-clks.h>
9/ { 9/ {
10 /*
11 * Fixed 30MHz oscillator inputs to SoC
12 */
13 clk_sysin: clk-sysin {
14 #clock-cells = <0>;
15 compatible = "fixed-clock";
16 clock-frequency = <30000000>;
17 clock-output-names = "CLK_SYSIN";
18 };
19
20 clk_tmdsout_hdmi: clk-tmdsout-hdmi {
21 #clock-cells = <0>;
22 compatible = "fixed-clock";
23 clock-frequency = <0>;
24 };
25
10 clocks { 26 clocks {
11 #address-cells = <1>; 27 #address-cells = <1>;
12 #size-cells = <1>; 28 #size-cells = <1>;
@@ -15,27 +31,6 @@
15 compatible = "st,stih418-clk", "simple-bus"; 31 compatible = "st,stih418-clk", "simple-bus";
16 32
17 /* 33 /*
18 * Fixed 30MHz oscillator inputs to SoC
19 */
20 clk_sysin: clk-sysin {
21 #clock-cells = <0>;
22 compatible = "fixed-clock";
23 clock-frequency = <30000000>;
24 clock-output-names = "CLK_SYSIN";
25 };
26
27 /*
28 * ARM Peripheral clock for timers
29 */
30 arm_periph_clk: clk-m-a9-periphs {
31 #clock-cells = <0>;
32 compatible = "fixed-factor-clock";
33 clocks = <&clk_m_a9>;
34 clock-div = <2>;
35 clock-mult = <1>;
36 };
37
38 /*
39 * A9 PLL. 34 * A9 PLL.
40 */ 35 */
41 clockgen-a9@92b0000 { 36 clockgen-a9@92b0000 {
@@ -64,32 +59,17 @@
64 <&clockgen_a9_pll 0>, 59 <&clockgen_a9_pll 0>,
65 <&clk_s_c0_flexgen 13>, 60 <&clk_s_c0_flexgen 13>,
66 <&clk_m_a9_ext2f_div2>; 61 <&clk_m_a9_ext2f_div2>;
67 };
68
69 /*
70 * ARM Peripheral clock for timers
71 */
72 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
73 #clock-cells = <0>;
74 compatible = "fixed-factor-clock";
75
76 clocks = <&clk_s_c0_flexgen 13>;
77 62
78 clock-output-names = "clk-m-a9-ext2f-div2"; 63 /*
79 64 * ARM Peripheral clock for timers
80 clock-div = <2>; 65 */
81 clock-mult = <1>; 66 arm_periph_clk: clk-m-a9-periphs {
82 }; 67 #clock-cells = <0>;
83 68 compatible = "fixed-factor-clock";
84 /* 69 clocks = <&clk_m_a9>;
85 * Bootloader initialized system infrastructure clock for 70 clock-div = <2>;
86 * serial devices. 71 clock-mult = <1>;
87 */ 72 };
88 clk_ext2f_a9: clockgen-c0@13 {
89 #clock-cells = <0>;
90 compatible = "fixed-clock";
91 clock-frequency = <200000000>;
92 clock-output-names = "clk-s-icn-reg-0";
93 }; 73 };
94 74
95 clockgen-a@90ff000 { 75 clockgen-a@90ff000 {
@@ -207,6 +187,21 @@
207 "clk-proc-mixer", 187 "clk-proc-mixer",
208 "clk-proc-sc", 188 "clk-proc-sc",
209 "clk-avsp-hevc"; 189 "clk-avsp-hevc";
190
191 /*
192 * ARM Peripheral clock for timers
193 */
194 clk_m_a9_ext2f_div2: clk-m-a9-ext2f-div2s {
195 #clock-cells = <0>;
196 compatible = "fixed-factor-clock";
197
198 clocks = <&clk_s_c0_flexgen 13>;
199
200 clock-output-names = "clk-m-a9-ext2f-div2";
201
202 clock-div = <2>;
203 clock-mult = <1>;
204 };
210 }; 205 };
211 }; 206 };
212 207
@@ -259,13 +254,7 @@
259 "clk-s-d2-fs0-ch3"; 254 "clk-s-d2-fs0-ch3";
260 }; 255 };
261 256
262 clk_tmdsout_hdmi: clk-tmdsout-hdmi { 257 clockgen-d2@9106000 {
263 #clock-cells = <0>;
264 compatible = "fixed-clock";
265 clock-frequency = <0>;
266 };
267
268 clockgen-d2@x9106000 {
269 compatible = "st,clkgen-c32"; 258 compatible = "st,clkgen-c32";
270 reg = <0x9106000 0x1000>; 259 reg = <0x9106000 0x1000>;
271 260
diff --git a/arch/arm/boot/dts/stih418.dtsi b/arch/arm/boot/dts/stih418.dtsi
index e6525ab4d9bb..0efb3cd6a86e 100644
--- a/arch/arm/boot/dts/stih418.dtsi
+++ b/arch/arm/boot/dts/stih418.dtsi
@@ -30,8 +30,9 @@
30 }; 30 };
31 31
32 soc { 32 soc {
33 usb2_picophy1: phy2 { 33 usb2_picophy1: phy2@0 {
34 compatible = "st,stih407-usb2-phy"; 34 compatible = "st,stih407-usb2-phy";
35 reg = <0 0>;
35 #phy-cells = <0>; 36 #phy-cells = <0>;
36 st,syscfg = <&syscfg_core 0xf8 0xf4>; 37 st,syscfg = <&syscfg_core 0xf8 0xf4>;
37 resets = <&softreset STIH407_PICOPHY_SOFTRESET>, 38 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
@@ -39,8 +40,9 @@
39 reset-names = "global", "port"; 40 reset-names = "global", "port";
40 }; 41 };
41 42
42 usb2_picophy2: phy3 { 43 usb2_picophy2: phy3@0 {
43 compatible = "st,stih407-usb2-phy"; 44 compatible = "st,stih407-usb2-phy";
45 reg = <0 0>;
44 #phy-cells = <0>; 46 #phy-cells = <0>;
45 st,syscfg = <&syscfg_core 0xfc 0xf4>; 47 st,syscfg = <&syscfg_core 0xfc 0xf4>;
46 resets = <&softreset STIH407_PICOPHY_SOFTRESET>, 48 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
diff --git a/arch/arm/boot/dts/stihxxx-b2120.dtsi b/arch/arm/boot/dts/stihxxx-b2120.dtsi
index 7f80c2c414c8..c67edb1a8121 100644
--- a/arch/arm/boot/dts/stihxxx-b2120.dtsi
+++ b/arch/arm/boot/dts/stihxxx-b2120.dtsi
@@ -10,23 +10,69 @@
10#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/media/c8sectpfe.h> 11#include <dt-bindings/media/c8sectpfe.h>
12/ { 12/ {
13 soc { 13 leds {
14 sbc_serial0: serial@9530000 { 14 compatible = "gpio-leds";
15 status = "okay"; 15 red {
16 label = "Front Panel LED";
17 gpios = <&pio4 1 GPIO_ACTIVE_HIGH>;
18 linux,default-trigger = "heartbeat";
19 };
20 green {
21 gpios = <&pio1 3 GPIO_ACTIVE_HIGH>;
22 default-state = "off";
23 };
24 };
25
26 sound: sound {
27 compatible = "simple-audio-card";
28 simple-audio-card,name = "STI-B2120";
29 status = "okay";
30
31 simple-audio-card,dai-link0 {
32 /* HDMI */
33 format = "i2s";
34 mclk-fs = <128>;
35 cpu {
36 sound-dai = <&sti_uni_player0>;
37 };
38
39 codec {
40 sound-dai = <&sti_hdmi>;
41 };
42 };
43
44 simple-audio-card,dai-link1 {
45 /* DAC */
46 format = "i2s";
47 mclk-fs = <256>;
48 frame-inversion = <1>;
49 cpu {
50 sound-dai = <&sti_uni_player2>;
51 };
52
53 codec {
54 sound-dai = <&sti_sasg_codec 1>;
55 };
16 }; 56 };
17 57
18 leds { 58 simple-audio-card,dai-link2 {
19 compatible = "gpio-leds"; 59 /* SPDIF */
20 red { 60 format = "left_j";
21 label = "Front Panel LED"; 61 mclk-fs = <128>;
22 gpios = <&pio4 1 GPIO_ACTIVE_HIGH>; 62 cpu {
23 linux,default-trigger = "heartbeat"; 63 sound-dai = <&sti_uni_player3>;
24 }; 64 };
25 green { 65
26 gpios = <&pio1 3 GPIO_ACTIVE_HIGH>; 66 codec {
27 default-state = "off"; 67 sound-dai = <&sti_sasg_codec 0>;
28 }; 68 };
29 }; 69 };
70 };
71
72 soc {
73 sbc_serial0: serial@9530000 {
74 status = "okay";
75 };
30 76
31 pwm0: pwm@9810000 { 77 pwm0: pwm@9810000 {
32 status = "okay"; 78 status = "okay";
@@ -80,7 +126,7 @@
80 st,i2c-min-sda-pulse-width-us = <5>; 126 st,i2c-min-sda-pulse-width-us = <5>;
81 }; 127 };
82 128
83 miphy28lp_phy: miphy28lp@9b22000 { 129 miphy28lp_phy: miphy28lp@0 {
84 130
85 phy_port0: port@9b22000 { 131 phy_port0: port@9b22000 {
86 st,osc-rdy; 132 st,osc-rdy;
@@ -126,7 +172,7 @@
126 clock-names = "c8sectpfe"; 172 clock-names = "c8sectpfe";
127 173
128 /* tsin0 is TSA on NIMA */ 174 /* tsin0 is TSA on NIMA */
129 tsin0: port@0 { 175 tsin0: port {
130 tsin-num = <0>; 176 tsin-num = <0>;
131 serial-not-parallel; 177 serial-not-parallel;
132 i2c-bus = <&ssc2>; 178 i2c-bus = <&ssc2>;
@@ -147,53 +193,11 @@
147 status = "okay"; 193 status = "okay";
148 }; 194 };
149 195
150 sti_sasg_codec: sti-sasg-codec { 196 syscfg_core: core-syscfg@92b0000 {
151 status = "okay"; 197 sti_sasg_codec: sti-sasg-codec {
152 pinctrl-names = "default"; 198 status = "okay";
153 pinctrl-0 = <&pinctrl_spdif_out>; 199 pinctrl-names = "default";
154 }; 200 pinctrl-0 = <&pinctrl_spdif_out>;
155
156 sound {
157 compatible = "simple-audio-card";
158 simple-audio-card,name = "STI-B2120";
159 status = "okay";
160
161 simple-audio-card,dai-link@0 {
162 /* HDMI */
163 format = "i2s";
164 mclk-fs = <128>;
165 cpu {
166 sound-dai = <&sti_uni_player0>;
167 };
168
169 codec {
170 sound-dai = <&sti_hdmi>;
171 };
172 };
173 simple-audio-card,dai-link@1 {
174 /* DAC */
175 format = "i2s";
176 mclk-fs = <256>;
177 frame-inversion = <1>;
178 cpu {
179 sound-dai = <&sti_uni_player2>;
180 };
181
182 codec {
183 sound-dai = <&sti_sasg_codec 1>;
184 };
185 };
186 simple-audio-card,dai-link@2 {
187 /* SPDIF */
188 format = "left_j";
189 mclk-fs = <128>;
190 cpu {
191 sound-dai = <&sti_uni_player3>;
192 };
193
194 codec {
195 sound-dai = <&sti_sasg_codec 0>;
196 };
197 }; 201 };
198 }; 202 };
199 }; 203 };
diff --git a/arch/arm/boot/dts/stm32429i-eval.dts b/arch/arm/boot/dts/stm32429i-eval.dts
index 293ecb957227..7eb786a2d624 100644
--- a/arch/arm/boot/dts/stm32429i-eval.dts
+++ b/arch/arm/boot/dts/stm32429i-eval.dts
@@ -144,6 +144,13 @@
144 }; 144 };
145 }; 145 };
146 }; 146 };
147
148 mmc_vcard: mmc_vcard {
149 compatible = "regulator-fixed";
150 regulator-name = "mmc_vcard";
151 regulator-min-microvolt = <3300000>;
152 regulator-max-microvolt = <3300000>;
153 };
147}; 154};
148 155
149&adc { 156&adc {
@@ -254,6 +261,18 @@
254 status = "okay"; 261 status = "okay";
255}; 262};
256 263
264&sdio {
265 status = "okay";
266 vmmc-supply = <&mmc_vcard>;
267 cd-gpios = <&stmpegpio 15 GPIO_ACTIVE_HIGH>;
268 cd-inverted;
269 pinctrl-names = "default", "opendrain";
270 pinctrl-0 = <&sdio_pins>;
271 pinctrl-1 = <&sdio_pins_od>;
272 bus-width = <4>;
273 max-frequency = <12500000>;
274};
275
257&timers1 { 276&timers1 {
258 status = "okay"; 277 status = "okay";
259 278
diff --git a/arch/arm/boot/dts/stm32746g-eval.dts b/arch/arm/boot/dts/stm32746g-eval.dts
index 2d4e71717694..8c081eaf20fe 100644
--- a/arch/arm/boot/dts/stm32746g-eval.dts
+++ b/arch/arm/boot/dts/stm32746g-eval.dts
@@ -42,6 +42,7 @@
42 42
43/dts-v1/; 43/dts-v1/;
44#include "stm32f746.dtsi" 44#include "stm32f746.dtsi"
45#include "stm32f746-pinctrl.dtsi"
45#include <dt-bindings/input/input.h> 46#include <dt-bindings/input/input.h>
46 47
47/ { 48/ {
@@ -90,6 +91,13 @@
90 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>; 91 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>;
91 clock-names = "main_clk"; 92 clock-names = "main_clk";
92 }; 93 };
94
95 mmc_vcard: mmc_vcard {
96 compatible = "regulator-fixed";
97 regulator-name = "mmc_vcard";
98 regulator-min-microvolt = <3300000>;
99 regulator-max-microvolt = <3300000>;
100 };
93}; 101};
94 102
95&clk_hse { 103&clk_hse {
@@ -112,6 +120,16 @@
112 status = "okay"; 120 status = "okay";
113}; 121};
114 122
123&sdio1 {
124 status = "okay";
125 vmmc-supply = <&mmc_vcard>;
126 broken-cd;
127 pinctrl-names = "default", "opendrain";
128 pinctrl-0 = <&sdio_pins_a>;
129 pinctrl-1 = <&sdio_pins_od_a>;
130 bus-width = <4>;
131};
132
115&usart1 { 133&usart1 {
116 pinctrl-0 = <&usart1_pins_a>; 134 pinctrl-0 = <&usart1_pins_a>;
117 pinctrl-names = "default"; 135 pinctrl-names = "default";
@@ -119,7 +137,7 @@
119}; 137};
120 138
121&usbotg_hs { 139&usbotg_hs {
122 dr_mode = "host"; 140 dr_mode = "otg";
123 phys = <&usbotg_hs_phy>; 141 phys = <&usbotg_hs_phy>;
124 phy-names = "usb2-phy"; 142 phy-names = "usb2-phy";
125 pinctrl-0 = <&usbotg_hs_pins_a>; 143 pinctrl-0 = <&usbotg_hs_pins_a>;
diff --git a/arch/arm/boot/dts/stm32f4-pinctrl.dtsi b/arch/arm/boot/dts/stm32f4-pinctrl.dtsi
index ae94d86c53c4..35202896c093 100644
--- a/arch/arm/boot/dts/stm32f4-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32f4-pinctrl.dtsi
@@ -338,6 +338,37 @@
338 slew-rate = <3>; 338 slew-rate = <3>;
339 }; 339 };
340 }; 340 };
341
342 sdio_pins: sdio_pins@0 {
343 pins {
344 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDIO_D0 */
345 <STM32_PINMUX('C', 9, AF12)>, /* SDIO_D1 */
346 <STM32_PINMUX('C', 10, AF12)>, /* SDIO_D2 */
347 <STM32_PINMUX('C', 11, AF12)>, /* SDIO_D3 */
348 <STM32_PINMUX('C', 12, AF12)>, /* SDIO_CK */
349 <STM32_PINMUX('D', 2, AF12)>; /* SDIO_CMD */
350 drive-push-pull;
351 slew-rate = <2>;
352 };
353 };
354
355 sdio_pins_od: sdio_pins_od@0 {
356 pins1 {
357 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDIO_D0 */
358 <STM32_PINMUX('C', 9, AF12)>, /* SDIO_D1 */
359 <STM32_PINMUX('C', 10, AF12)>, /* SDIO_D2 */
360 <STM32_PINMUX('C', 11, AF12)>, /* SDIO_D3 */
361 <STM32_PINMUX('C', 12, AF12)>; /* SDIO_CK */
362 drive-push-pull;
363 slew-rate = <2>;
364 };
365
366 pins2 {
367 pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDIO_CMD */
368 drive-open-drain;
369 slew-rate = <2>;
370 };
371 };
341 }; 372 };
342 }; 373 };
343}; 374};
diff --git a/arch/arm/boot/dts/stm32f429.dtsi b/arch/arm/boot/dts/stm32f429.dtsi
index 10099df8b73e..ede77e0f1c41 100644
--- a/arch/arm/boot/dts/stm32f429.dtsi
+++ b/arch/arm/boot/dts/stm32f429.dtsi
@@ -511,6 +511,17 @@
511 }; 511 };
512 }; 512 };
513 513
514 sdio: sdio@40012c00 {
515 compatible = "arm,pl180", "arm,primecell";
516 arm,primecell-periphid = <0x00880180>;
517 reg = <0x40012c00 0x400>;
518 clocks = <&rcc 0 STM32F4_APB2_CLOCK(SDIO)>;
519 clock-names = "apb_pclk";
520 interrupts = <49>;
521 max-frequency = <48000000>;
522 status = "disabled";
523 };
524
514 syscfg: system-config@40013800 { 525 syscfg: system-config@40013800 {
515 compatible = "syscon"; 526 compatible = "syscon";
516 reg = <0x40013800 0x400>; 527 reg = <0x40013800 0x400>;
diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts
index c18acbe4cf4e..2f76726bf335 100644
--- a/arch/arm/boot/dts/stm32f469-disco.dts
+++ b/arch/arm/boot/dts/stm32f469-disco.dts
@@ -48,6 +48,8 @@
48/dts-v1/; 48/dts-v1/;
49#include "stm32f429.dtsi" 49#include "stm32f429.dtsi"
50#include "stm32f469-pinctrl.dtsi" 50#include "stm32f469-pinctrl.dtsi"
51#include <dt-bindings/gpio/gpio.h>
52#include <dt-bindings/input/input.h>
51 53
52/ { 54/ {
53 model = "STMicroelectronics STM32F469i-DISCO board"; 55 model = "STMicroelectronics STM32F469i-DISCO board";
@@ -66,10 +68,46 @@
66 serial0 = &usart3; 68 serial0 = &usart3;
67 }; 69 };
68 70
71 mmc_vcard: mmc_vcard {
72 compatible = "regulator-fixed";
73 regulator-name = "mmc_vcard";
74 regulator-min-microvolt = <3300000>;
75 regulator-max-microvolt = <3300000>;
76 };
77
69 soc { 78 soc {
70 dma-ranges = <0xc0000000 0x0 0x10000000>; 79 dma-ranges = <0xc0000000 0x0 0x10000000>;
71 }; 80 };
72 81
82 leds {
83 compatible = "gpio-leds";
84 green {
85 gpios = <&gpiog 6 GPIO_ACTIVE_LOW>;
86 linux,default-trigger = "heartbeat";
87 };
88 orange {
89 gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
90 };
91 red {
92 gpios = <&gpiod 5 GPIO_ACTIVE_LOW>;
93 };
94 blue {
95 gpios = <&gpiok 3 GPIO_ACTIVE_LOW>;
96 };
97 };
98
99 gpio_keys {
100 compatible = "gpio-keys";
101 #address-cells = <1>;
102 #size-cells = <0>;
103 autorepeat;
104 button@0 {
105 label = "User";
106 linux,code = <KEY_WAKEUP>;
107 gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
108 };
109 };
110
73 /* This turns on vbus for otg for host mode (dwc2) */ 111 /* This turns on vbus for otg for host mode (dwc2) */
74 vcc5v_otg: vcc5v-otg-regulator { 112 vcc5v_otg: vcc5v-otg-regulator {
75 compatible = "regulator-fixed"; 113 compatible = "regulator-fixed";
@@ -120,6 +158,18 @@
120 }; 158 };
121}; 159};
122 160
161&sdio {
162 status = "okay";
163 vmmc-supply = <&mmc_vcard>;
164 cd-gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>;
165 cd-inverted;
166 broken-cd;
167 pinctrl-names = "default", "opendrain";
168 pinctrl-0 = <&sdio_pins>;
169 pinctrl-1 = <&sdio_pins_od>;
170 bus-width = <4>;
171};
172
123&usart3 { 173&usart3 {
124 pinctrl-0 = <&usart3_pins_a>; 174 pinctrl-0 = <&usart3_pins_a>;
125 pinctrl-names = "default"; 175 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/stm32f7-pinctrl.dtsi b/arch/arm/boot/dts/stm32f7-pinctrl.dtsi
new file mode 100644
index 000000000000..9314128df185
--- /dev/null
+++ b/arch/arm/boot/dts/stm32f7-pinctrl.dtsi
@@ -0,0 +1,289 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics.
5 */
6
7#include <dt-bindings/pinctrl/stm32-pinfunc.h>
8#include <dt-bindings/mfd/stm32f7-rcc.h>
9
10/ {
11 soc {
12 pinctrl: pin-controller {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges = <0 0x40020000 0x3000>;
16 interrupt-parent = <&exti>;
17 st,syscfg = <&syscfg 0x8>;
18 pins-are-numbered;
19
20 gpioa: gpio@40020000 {
21 gpio-controller;
22 #gpio-cells = <2>;
23 interrupt-controller;
24 #interrupt-cells = <2>;
25 reg = <0x0 0x400>;
26 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOA)>;
27 st,bank-name = "GPIOA";
28 };
29
30 gpiob: gpio@40020400 {
31 gpio-controller;
32 #gpio-cells = <2>;
33 interrupt-controller;
34 #interrupt-cells = <2>;
35 reg = <0x400 0x400>;
36 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOB)>;
37 st,bank-name = "GPIOB";
38 };
39
40 gpioc: gpio@40020800 {
41 gpio-controller;
42 #gpio-cells = <2>;
43 interrupt-controller;
44 #interrupt-cells = <2>;
45 reg = <0x800 0x400>;
46 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOC)>;
47 st,bank-name = "GPIOC";
48 };
49
50 gpiod: gpio@40020c00 {
51 gpio-controller;
52 #gpio-cells = <2>;
53 interrupt-controller;
54 #interrupt-cells = <2>;
55 reg = <0xc00 0x400>;
56 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOD)>;
57 st,bank-name = "GPIOD";
58 };
59
60 gpioe: gpio@40021000 {
61 gpio-controller;
62 #gpio-cells = <2>;
63 interrupt-controller;
64 #interrupt-cells = <2>;
65 reg = <0x1000 0x400>;
66 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOE)>;
67 st,bank-name = "GPIOE";
68 };
69
70 gpiof: gpio@40021400 {
71 gpio-controller;
72 #gpio-cells = <2>;
73 interrupt-controller;
74 #interrupt-cells = <2>;
75 reg = <0x1400 0x400>;
76 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOF)>;
77 st,bank-name = "GPIOF";
78 };
79
80 gpiog: gpio@40021800 {
81 gpio-controller;
82 #gpio-cells = <2>;
83 interrupt-controller;
84 #interrupt-cells = <2>;
85 reg = <0x1800 0x400>;
86 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOG)>;
87 st,bank-name = "GPIOG";
88 };
89
90 gpioh: gpio@40021c00 {
91 gpio-controller;
92 #gpio-cells = <2>;
93 interrupt-controller;
94 #interrupt-cells = <2>;
95 reg = <0x1c00 0x400>;
96 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOH)>;
97 st,bank-name = "GPIOH";
98 };
99
100 gpioi: gpio@40022000 {
101 gpio-controller;
102 #gpio-cells = <2>;
103 interrupt-controller;
104 #interrupt-cells = <2>;
105 reg = <0x2000 0x400>;
106 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOI)>;
107 st,bank-name = "GPIOI";
108 };
109
110 gpioj: gpio@40022400 {
111 gpio-controller;
112 #gpio-cells = <2>;
113 interrupt-controller;
114 #interrupt-cells = <2>;
115 reg = <0x2400 0x400>;
116 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOJ)>;
117 st,bank-name = "GPIOJ";
118 };
119
120 gpiok: gpio@40022800 {
121 gpio-controller;
122 #gpio-cells = <2>;
123 interrupt-controller;
124 #interrupt-cells = <2>;
125 reg = <0x2800 0x400>;
126 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOK)>;
127 st,bank-name = "GPIOK";
128 };
129
130 cec_pins_a: cec@0 {
131 pins {
132 pinmux = <STM32_PINMUX('A', 15, AF4)>; /* HDMI CEC */
133 slew-rate = <0>;
134 drive-open-drain;
135 bias-disable;
136 };
137 };
138
139 usart1_pins_a: usart1@0 {
140 pins1 {
141 pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
142 bias-disable;
143 drive-push-pull;
144 slew-rate = <0>;
145 };
146 pins2 {
147 pinmux = <STM32_PINMUX('A', 10, AF7)>; /* USART1_RX */
148 bias-disable;
149 };
150 };
151
152 usart1_pins_b: usart1@1 {
153 pins1 {
154 pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
155 bias-disable;
156 drive-push-pull;
157 slew-rate = <0>;
158 };
159 pins2 {
160 pinmux = <STM32_PINMUX('B', 7, AF7)>; /* USART1_RX */
161 bias-disable;
162 };
163 };
164
165 i2c1_pins_b: i2c1@0 {
166 pins {
167 pinmux = <STM32_PINMUX('B', 9, AF4)>, /* I2C1 SDA */
168 <STM32_PINMUX('B', 8, AF4)>; /* I2C1 SCL */
169 bias-disable;
170 drive-open-drain;
171 slew-rate = <0>;
172 };
173 };
174
175 usbotg_hs_pins_a: usbotg-hs@0 {
176 pins {
177 pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
178 <STM32_PINMUX('I', 11, AF10)>, /* OTG_HS_ULPI_DIR */
179 <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
180 <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
181 <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
182 <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
183 <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
184 <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
185 <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
186 <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
187 <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
188 <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
189 bias-disable;
190 drive-push-pull;
191 slew-rate = <2>;
192 };
193 };
194
195 usbotg_hs_pins_b: usbotg-hs@1 {
196 pins {
197 pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
198 <STM32_PINMUX('C', 2, AF10)>, /* OTG_HS_ULPI_DIR */
199 <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
200 <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
201 <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
202 <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
203 <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
204 <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
205 <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
206 <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
207 <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
208 <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
209 bias-disable;
210 drive-push-pull;
211 slew-rate = <2>;
212 };
213 };
214
215 usbotg_fs_pins_a: usbotg-fs@0 {
216 pins {
217 pinmux = <STM32_PINMUX('A', 10, AF10)>, /* OTG_FS_ID */
218 <STM32_PINMUX('A', 11, AF10)>, /* OTG_FS_DM */
219 <STM32_PINMUX('A', 12, AF10)>; /* OTG_FS_DP */
220 bias-disable;
221 drive-push-pull;
222 slew-rate = <2>;
223 };
224 };
225
226 sdio_pins_a: sdio_pins_a@0 {
227 pins {
228 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1 D0 */
229 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1 D1 */
230 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1 D2 */
231 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1 D3 */
232 <STM32_PINMUX('C', 12, AF12)>, /* SDMMC1 CLK */
233 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1 CMD */
234 drive-push-pull;
235 slew-rate = <2>;
236 };
237 };
238
239 sdio_pins_od_a: sdio_pins_od_a@0 {
240 pins1 {
241 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1 D0 */
242 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1 D1 */
243 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1 D2 */
244 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1 D3 */
245 <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1 CLK */
246 drive-push-pull;
247 slew-rate = <2>;
248 };
249
250 pins2 {
251 pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1 CMD */
252 drive-open-drain;
253 slew-rate = <2>;
254 };
255 };
256
257 sdio_pins_b: sdio_pins_b@0 {
258 pins {
259 pinmux = <STM32_PINMUX('G', 9, AF11)>, /* SDMMC2 D0 */
260 <STM32_PINMUX('G', 10, AF11)>, /* SDMMC2 D1 */
261 <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2 D2 */
262 <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2 D3 */
263 <STM32_PINMUX('D', 6, AF11)>, /* SDMMC2 CLK */
264 <STM32_PINMUX('D', 7, AF11)>; /* SDMMC2 CMD */
265 drive-push-pull;
266 slew-rate = <2>;
267 };
268 };
269
270 sdio_pins_od_b: sdio_pins_od_b@0 {
271 pins1 {
272 pinmux = <STM32_PINMUX('G', 9, AF11)>, /* SDMMC2 D0 */
273 <STM32_PINMUX('G', 10, AF11)>, /* SDMMC2 D1 */
274 <STM32_PINMUX('B', 3, AF10)>, /* SDMMC2 D2 */
275 <STM32_PINMUX('B', 4, AF10)>, /* SDMMC2 D3 */
276 <STM32_PINMUX('D', 6, AF11)>; /* SDMMC2 CLK */
277 drive-push-pull;
278 slew-rate = <2>;
279 };
280
281 pins2 {
282 pinmux = <STM32_PINMUX('D', 7, AF11)>; /* SDMMC2 CMD */
283 drive-open-drain;
284 slew-rate = <2>;
285 };
286 };
287 };
288 };
289};
diff --git a/arch/arm/boot/dts/stm32f746-disco.dts b/arch/arm/boot/dts/stm32f746-disco.dts
index 4d85dba59e1d..be94c6ad7e94 100644
--- a/arch/arm/boot/dts/stm32f746-disco.dts
+++ b/arch/arm/boot/dts/stm32f746-disco.dts
@@ -42,7 +42,9 @@
42 42
43/dts-v1/; 43/dts-v1/;
44#include "stm32f746.dtsi" 44#include "stm32f746.dtsi"
45#include "stm32f746-pinctrl.dtsi"
45#include <dt-bindings/input/input.h> 46#include <dt-bindings/input/input.h>
47#include <dt-bindings/gpio/gpio.h>
46 48
47/ { 49/ {
48 model = "STMicroelectronics STM32F746-DISCO board"; 50 model = "STMicroelectronics STM32F746-DISCO board";
@@ -75,12 +77,30 @@
75 regulator-name = "vcc5_host1"; 77 regulator-name = "vcc5_host1";
76 regulator-always-on; 78 regulator-always-on;
77 }; 79 };
80
81 mmc_vcard: mmc_vcard {
82 compatible = "regulator-fixed";
83 regulator-name = "mmc_vcard";
84 regulator-min-microvolt = <3300000>;
85 regulator-max-microvolt = <3300000>;
86 };
78}; 87};
79 88
80&clk_hse { 89&clk_hse {
81 clock-frequency = <25000000>; 90 clock-frequency = <25000000>;
82}; 91};
83 92
93&sdio1 {
94 status = "okay";
95 vmmc-supply = <&mmc_vcard>;
96 cd-gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>;
97 cd-inverted;
98 pinctrl-names = "default", "opendrain";
99 pinctrl-0 = <&sdio_pins_a>;
100 pinctrl-1 = <&sdio_pins_od_a>;
101 bus-width = <4>;
102};
103
84&usart1 { 104&usart1 {
85 pinctrl-0 = <&usart1_pins_b>; 105 pinctrl-0 = <&usart1_pins_b>;
86 pinctrl-names = "default"; 106 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/stm32f746-pinctrl.dtsi b/arch/arm/boot/dts/stm32f746-pinctrl.dtsi
new file mode 100644
index 000000000000..fcfd2ac7239b
--- /dev/null
+++ b/arch/arm/boot/dts/stm32f746-pinctrl.dtsi
@@ -0,0 +1,11 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics.
5 */
6
7#include "stm32f7-pinctrl.dtsi"
8
9&pinctrl{
10 compatible = "st,stm32f746-pinctrl";
11};
diff --git a/arch/arm/boot/dts/stm32f746.dtsi b/arch/arm/boot/dts/stm32f746.dtsi
index 5f66d151eedb..4be2ee575b19 100644
--- a/arch/arm/boot/dts/stm32f746.dtsi
+++ b/arch/arm/boot/dts/stm32f746.dtsi
@@ -42,7 +42,6 @@
42 42
43#include "skeleton.dtsi" 43#include "skeleton.dtsi"
44#include "armv7-m.dtsi" 44#include "armv7-m.dtsi"
45#include <dt-bindings/pinctrl/stm32-pinfunc.h>
46#include <dt-bindings/clock/stm32fx-clock.h> 45#include <dt-bindings/clock/stm32fx-clock.h>
47#include <dt-bindings/mfd/stm32f7-rcc.h> 46#include <dt-bindings/mfd/stm32f7-rcc.h>
48 47
@@ -429,6 +428,28 @@
429 status = "disabled"; 428 status = "disabled";
430 }; 429 };
431 430
431 sdio2: sdio2@40011c00 {
432 compatible = "arm,pl180", "arm,primecell";
433 arm,primecell-periphid = <0x00880180>;
434 reg = <0x40011c00 0x400>;
435 clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC2)>;
436 clock-names = "apb_pclk";
437 interrupts = <103>;
438 max-frequency = <48000000>;
439 status = "disabled";
440 };
441
442 sdio1: sdio1@40012c00 {
443 compatible = "arm,pl180", "arm,primecell";
444 arm,primecell-periphid = <0x00880180>;
445 reg = <0x40012c00 0x400>;
446 clocks = <&rcc 0 STM32F7_APB2_CLOCK(SDMMC1)>;
447 clock-names = "apb_pclk";
448 interrupts = <49>;
449 max-frequency = <48000000>;
450 status = "disabled";
451 };
452
432 syscfg: system-config@40013800 { 453 syscfg: system-config@40013800 {
433 compatible = "syscon"; 454 compatible = "syscon";
434 reg = <0x40013800 0x400>; 455 reg = <0x40013800 0x400>;
@@ -498,222 +519,6 @@
498 reg = <0x40007000 0x400>; 519 reg = <0x40007000 0x400>;
499 }; 520 };
500 521
501 pin-controller {
502 #address-cells = <1>;
503 #size-cells = <1>;
504 compatible = "st,stm32f746-pinctrl";
505 ranges = <0 0x40020000 0x3000>;
506 interrupt-parent = <&exti>;
507 st,syscfg = <&syscfg 0x8>;
508 pins-are-numbered;
509
510 gpioa: gpio@40020000 {
511 gpio-controller;
512 #gpio-cells = <2>;
513 interrupt-controller;
514 #interrupt-cells = <2>;
515 reg = <0x0 0x400>;
516 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOA)>;
517 st,bank-name = "GPIOA";
518 };
519
520 gpiob: gpio@40020400 {
521 gpio-controller;
522 #gpio-cells = <2>;
523 interrupt-controller;
524 #interrupt-cells = <2>;
525 reg = <0x400 0x400>;
526 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOB)>;
527 st,bank-name = "GPIOB";
528 };
529
530 gpioc: gpio@40020800 {
531 gpio-controller;
532 #gpio-cells = <2>;
533 interrupt-controller;
534 #interrupt-cells = <2>;
535 reg = <0x800 0x400>;
536 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOC)>;
537 st,bank-name = "GPIOC";
538 };
539
540 gpiod: gpio@40020c00 {
541 gpio-controller;
542 #gpio-cells = <2>;
543 interrupt-controller;
544 #interrupt-cells = <2>;
545 reg = <0xc00 0x400>;
546 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOD)>;
547 st,bank-name = "GPIOD";
548 };
549
550 gpioe: gpio@40021000 {
551 gpio-controller;
552 #gpio-cells = <2>;
553 interrupt-controller;
554 #interrupt-cells = <2>;
555 reg = <0x1000 0x400>;
556 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOE)>;
557 st,bank-name = "GPIOE";
558 };
559
560 gpiof: gpio@40021400 {
561 gpio-controller;
562 #gpio-cells = <2>;
563 interrupt-controller;
564 #interrupt-cells = <2>;
565 reg = <0x1400 0x400>;
566 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOF)>;
567 st,bank-name = "GPIOF";
568 };
569
570 gpiog: gpio@40021800 {
571 gpio-controller;
572 #gpio-cells = <2>;
573 interrupt-controller;
574 #interrupt-cells = <2>;
575 reg = <0x1800 0x400>;
576 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOG)>;
577 st,bank-name = "GPIOG";
578 };
579
580 gpioh: gpio@40021c00 {
581 gpio-controller;
582 #gpio-cells = <2>;
583 interrupt-controller;
584 #interrupt-cells = <2>;
585 reg = <0x1c00 0x400>;
586 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOH)>;
587 st,bank-name = "GPIOH";
588 };
589
590 gpioi: gpio@40022000 {
591 gpio-controller;
592 #gpio-cells = <2>;
593 interrupt-controller;
594 #interrupt-cells = <2>;
595 reg = <0x2000 0x400>;
596 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOI)>;
597 st,bank-name = "GPIOI";
598 };
599
600 gpioj: gpio@40022400 {
601 gpio-controller;
602 #gpio-cells = <2>;
603 interrupt-controller;
604 #interrupt-cells = <2>;
605 reg = <0x2400 0x400>;
606 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOJ)>;
607 st,bank-name = "GPIOJ";
608 };
609
610 gpiok: gpio@40022800 {
611 gpio-controller;
612 #gpio-cells = <2>;
613 interrupt-controller;
614 #interrupt-cells = <2>;
615 reg = <0x2800 0x400>;
616 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(GPIOK)>;
617 st,bank-name = "GPIOK";
618 };
619
620 cec_pins_a: cec@0 {
621 pins {
622 pinmux = <STM32_PINMUX('A', 15, AF4)>; /* HDMI CEC */
623 slew-rate = <0>;
624 drive-open-drain;
625 bias-disable;
626 };
627 };
628
629 usart1_pins_a: usart1@0 {
630 pins1 {
631 pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
632 bias-disable;
633 drive-push-pull;
634 slew-rate = <0>;
635 };
636 pins2 {
637 pinmux = <STM32_PINMUX('A', 10, AF7)>; /* USART1_RX */
638 bias-disable;
639 };
640 };
641
642 usart1_pins_b: usart1@1 {
643 pins1 {
644 pinmux = <STM32_PINMUX('A', 9, AF7)>; /* USART1_TX */
645 bias-disable;
646 drive-push-pull;
647 slew-rate = <0>;
648 };
649 pins2 {
650 pinmux = <STM32_PINMUX('B', 7, AF7)>; /* USART1_RX */
651 bias-disable;
652 };
653 };
654
655 i2c1_pins_b: i2c1@0 {
656 pins {
657 pinmux = <STM32_PINMUX('B', 9, AF4)>, /* I2C1 SDA */
658 <STM32_PINMUX('B', 8, AF4)>; /* I2C1 SCL */
659 bias-disable;
660 drive-open-drain;
661 slew-rate = <0>;
662 };
663 };
664
665 usbotg_hs_pins_a: usbotg-hs@0 {
666 pins {
667 pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
668 <STM32_PINMUX('I', 11, AF10)>, /* OTG_HS_ULPI_DIR */
669 <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
670 <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
671 <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
672 <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
673 <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
674 <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
675 <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
676 <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
677 <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
678 <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
679 bias-disable;
680 drive-push-pull;
681 slew-rate = <2>;
682 };
683 };
684
685 usbotg_hs_pins_b: usbotg-hs@1 {
686 pins {
687 pinmux = <STM32_PINMUX('H', 4, AF10)>, /* OTG_HS_ULPI_NXT */
688 <STM32_PINMUX('C', 2, AF10)>, /* OTG_HS_ULPI_DIR */
689 <STM32_PINMUX('C', 0, AF10)>, /* OTG_HS_ULPI_STP */
690 <STM32_PINMUX('A', 5, AF10)>, /* OTG_HS_ULPI_CK */
691 <STM32_PINMUX('A', 3, AF10)>, /* OTG_HS_ULPI_D0 */
692 <STM32_PINMUX('B', 0, AF10)>, /* OTG_HS_ULPI_D1 */
693 <STM32_PINMUX('B', 1, AF10)>, /* OTG_HS_ULPI_D2 */
694 <STM32_PINMUX('B', 10, AF10)>, /* OTG_HS_ULPI_D3 */
695 <STM32_PINMUX('B', 11, AF10)>, /* OTG_HS_ULPI_D4 */
696 <STM32_PINMUX('B', 12, AF10)>, /* OTG_HS_ULPI_D5 */
697 <STM32_PINMUX('B', 13, AF10)>, /* OTG_HS_ULPI_D6 */
698 <STM32_PINMUX('B', 5, AF10)>; /* OTG_HS_ULPI_D7 */
699 bias-disable;
700 drive-push-pull;
701 slew-rate = <2>;
702 };
703 };
704
705 usbotg_fs_pins_a: usbotg-fs@0 {
706 pins {
707 pinmux = <STM32_PINMUX('A', 10, AF10)>, /* OTG_FS_ID */
708 <STM32_PINMUX('A', 11, AF10)>, /* OTG_FS_DM */
709 <STM32_PINMUX('A', 12, AF10)>; /* OTG_FS_DP */
710 bias-disable;
711 drive-push-pull;
712 slew-rate = <2>;
713 };
714 };
715 };
716
717 crc: crc@40023000 { 522 crc: crc@40023000 {
718 compatible = "st,stm32f7-crc"; 523 compatible = "st,stm32f7-crc";
719 reg = <0x40023000 0x400>; 524 reg = <0x40023000 0x400>;
@@ -771,6 +576,9 @@
771 interrupts = <77>; 576 interrupts = <77>;
772 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>; 577 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHS)>;
773 clock-names = "otg"; 578 clock-names = "otg";
579 g-rx-fifo-size = <256>;
580 g-np-tx-fifo-size = <32>;
581 g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
774 status = "disabled"; 582 status = "disabled";
775 }; 583 };
776 584
diff --git a/arch/arm/boot/dts/stm32f769-disco.dts b/arch/arm/boot/dts/stm32f769-disco.dts
index 4463ca13a740..2241eecdabfe 100644
--- a/arch/arm/boot/dts/stm32f769-disco.dts
+++ b/arch/arm/boot/dts/stm32f769-disco.dts
@@ -42,11 +42,13 @@
42 42
43/dts-v1/; 43/dts-v1/;
44#include "stm32f746.dtsi" 44#include "stm32f746.dtsi"
45#include "stm32f769-pinctrl.dtsi"
45#include <dt-bindings/input/input.h> 46#include <dt-bindings/input/input.h>
47#include <dt-bindings/gpio/gpio.h>
46 48
47/ { 49/ {
48 model = "STMicroelectronics STM32F769-DISCO board"; 50 model = "STMicroelectronics STM32F769-DISCO board";
49 compatible = "st,stm32f769-disco", "st,stm32f7"; 51 compatible = "st,stm32f769-disco", "st,stm32f769";
50 52
51 chosen { 53 chosen {
52 bootargs = "root=/dev/ram"; 54 bootargs = "root=/dev/ram";
@@ -61,6 +63,42 @@
61 serial0 = &usart1; 63 serial0 = &usart1;
62 }; 64 };
63 65
66 leds {
67 compatible = "gpio-leds";
68 green {
69 gpios = <&gpioj 5 GPIO_ACTIVE_HIGH>;
70 linux,default-trigger = "heartbeat";
71 };
72 red {
73 gpios = <&gpioj 13 GPIO_ACTIVE_HIGH>;
74 };
75 };
76
77 gpio_keys {
78 compatible = "gpio-keys";
79 #address-cells = <1>;
80 #size-cells = <0>;
81 autorepeat;
82 button@0 {
83 label = "User";
84 linux,code = <KEY_HOME>;
85 gpios = <&gpioa 0 GPIO_ACTIVE_HIGH>;
86 };
87 };
88
89 usbotg_hs_phy: usb-phy {
90 #phy-cells = <0>;
91 compatible = "usb-nop-xceiv";
92 clocks = <&rcc 0 STM32F7_AHB1_CLOCK(OTGHSULPI)>;
93 clock-names = "main_clk";
94 };
95
96 mmc_vcard: mmc_vcard {
97 compatible = "regulator-fixed";
98 regulator-name = "mmc_vcard";
99 regulator-min-microvolt = <3300000>;
100 regulator-max-microvolt = <3300000>;
101 };
64}; 102};
65 103
66&cec { 104&cec {
@@ -73,8 +111,33 @@
73 clock-frequency = <25000000>; 111 clock-frequency = <25000000>;
74}; 112};
75 113
114&rtc {
115 status = "okay";
116};
117
118&sdio2 {
119 status = "okay";
120 vmmc-supply = <&mmc_vcard>;
121 cd-gpios = <&gpioi 15 GPIO_ACTIVE_HIGH>;
122 cd-inverted;
123 broken-cd;
124 pinctrl-names = "default", "opendrain";
125 pinctrl-0 = <&sdio_pins_b>;
126 pinctrl-1 = <&sdio_pins_od_b>;
127 bus-width = <4>;
128};
129
76&usart1 { 130&usart1 {
77 pinctrl-0 = <&usart1_pins_a>; 131 pinctrl-0 = <&usart1_pins_a>;
78 pinctrl-names = "default"; 132 pinctrl-names = "default";
79 status = "okay"; 133 status = "okay";
80}; 134};
135
136&usbotg_hs {
137 dr_mode = "otg";
138 phys = <&usbotg_hs_phy>;
139 phy-names = "usb2-phy";
140 pinctrl-0 = <&usbotg_hs_pins_a>;
141 pinctrl-names = "default";
142 status = "okay";
143};
diff --git a/arch/arm/boot/dts/stm32f769-pinctrl.dtsi b/arch/arm/boot/dts/stm32f769-pinctrl.dtsi
new file mode 100644
index 000000000000..31005dd9929c
--- /dev/null
+++ b/arch/arm/boot/dts/stm32f769-pinctrl.dtsi
@@ -0,0 +1,11 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics.
5 */
6
7#include "stm32f7-pinctrl.dtsi"
8
9&pinctrl{
10 compatible = "st,stm32f769-pinctrl";
11};
diff --git a/arch/arm/boot/dts/stm32h743-pinctrl.dtsi b/arch/arm/boot/dts/stm32h743-pinctrl.dtsi
index 65c1cd043987..0f15dfb98381 100644
--- a/arch/arm/boot/dts/stm32h743-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32h743-pinctrl.dtsi
@@ -49,6 +49,8 @@
49 #size-cells = <1>; 49 #size-cells = <1>;
50 compatible = "st,stm32h743-pinctrl"; 50 compatible = "st,stm32h743-pinctrl";
51 ranges = <0 0x58020000 0x3000>; 51 ranges = <0 0x58020000 0x3000>;
52 interrupt-parent = <&exti>;
53 st,syscfg = <&syscfg 0x8>;
52 pins-are-numbered; 54 pins-are-numbered;
53 55
54 gpioa: gpio@58020000 { 56 gpioa: gpio@58020000 {
@@ -57,6 +59,8 @@
57 reg = <0x0 0x400>; 59 reg = <0x0 0x400>;
58 clocks = <&rcc GPIOA_CK>; 60 clocks = <&rcc GPIOA_CK>;
59 st,bank-name = "GPIOA"; 61 st,bank-name = "GPIOA";
62 interrupt-controller;
63 #interrupt-cells = <2>;
60 }; 64 };
61 65
62 gpiob: gpio@58020400 { 66 gpiob: gpio@58020400 {
@@ -65,6 +69,8 @@
65 reg = <0x400 0x400>; 69 reg = <0x400 0x400>;
66 clocks = <&rcc GPIOB_CK>; 70 clocks = <&rcc GPIOB_CK>;
67 st,bank-name = "GPIOB"; 71 st,bank-name = "GPIOB";
72 interrupt-controller;
73 #interrupt-cells = <2>;
68 }; 74 };
69 75
70 gpioc: gpio@58020800 { 76 gpioc: gpio@58020800 {
@@ -73,6 +79,8 @@
73 reg = <0x800 0x400>; 79 reg = <0x800 0x400>;
74 clocks = <&rcc GPIOC_CK>; 80 clocks = <&rcc GPIOC_CK>;
75 st,bank-name = "GPIOC"; 81 st,bank-name = "GPIOC";
82 interrupt-controller;
83 #interrupt-cells = <2>;
76 }; 84 };
77 85
78 gpiod: gpio@58020c00 { 86 gpiod: gpio@58020c00 {
@@ -81,6 +89,8 @@
81 reg = <0xc00 0x400>; 89 reg = <0xc00 0x400>;
82 clocks = <&rcc GPIOD_CK>; 90 clocks = <&rcc GPIOD_CK>;
83 st,bank-name = "GPIOD"; 91 st,bank-name = "GPIOD";
92 interrupt-controller;
93 #interrupt-cells = <2>;
84 }; 94 };
85 95
86 gpioe: gpio@58021000 { 96 gpioe: gpio@58021000 {
@@ -89,6 +99,8 @@
89 reg = <0x1000 0x400>; 99 reg = <0x1000 0x400>;
90 clocks = <&rcc GPIOE_CK>; 100 clocks = <&rcc GPIOE_CK>;
91 st,bank-name = "GPIOE"; 101 st,bank-name = "GPIOE";
102 interrupt-controller;
103 #interrupt-cells = <2>;
92 }; 104 };
93 105
94 gpiof: gpio@58021400 { 106 gpiof: gpio@58021400 {
@@ -97,6 +109,8 @@
97 reg = <0x1400 0x400>; 109 reg = <0x1400 0x400>;
98 clocks = <&rcc GPIOF_CK>; 110 clocks = <&rcc GPIOF_CK>;
99 st,bank-name = "GPIOF"; 111 st,bank-name = "GPIOF";
112 interrupt-controller;
113 #interrupt-cells = <2>;
100 }; 114 };
101 115
102 gpiog: gpio@58021800 { 116 gpiog: gpio@58021800 {
@@ -105,6 +119,8 @@
105 reg = <0x1800 0x400>; 119 reg = <0x1800 0x400>;
106 clocks = <&rcc GPIOG_CK>; 120 clocks = <&rcc GPIOG_CK>;
107 st,bank-name = "GPIOG"; 121 st,bank-name = "GPIOG";
122 interrupt-controller;
123 #interrupt-cells = <2>;
108 }; 124 };
109 125
110 gpioh: gpio@58021c00 { 126 gpioh: gpio@58021c00 {
@@ -113,6 +129,8 @@
113 reg = <0x1c00 0x400>; 129 reg = <0x1c00 0x400>;
114 clocks = <&rcc GPIOH_CK>; 130 clocks = <&rcc GPIOH_CK>;
115 st,bank-name = "GPIOH"; 131 st,bank-name = "GPIOH";
132 interrupt-controller;
133 #interrupt-cells = <2>;
116 }; 134 };
117 135
118 gpioi: gpio@58022000 { 136 gpioi: gpio@58022000 {
@@ -121,6 +139,8 @@
121 reg = <0x2000 0x400>; 139 reg = <0x2000 0x400>;
122 clocks = <&rcc GPIOI_CK>; 140 clocks = <&rcc GPIOI_CK>;
123 st,bank-name = "GPIOI"; 141 st,bank-name = "GPIOI";
142 interrupt-controller;
143 #interrupt-cells = <2>;
124 }; 144 };
125 145
126 gpioj: gpio@58022400 { 146 gpioj: gpio@58022400 {
@@ -129,6 +149,8 @@
129 reg = <0x2400 0x400>; 149 reg = <0x2400 0x400>;
130 clocks = <&rcc GPIOJ_CK>; 150 clocks = <&rcc GPIOJ_CK>;
131 st,bank-name = "GPIOJ"; 151 st,bank-name = "GPIOJ";
152 interrupt-controller;
153 #interrupt-cells = <2>;
132 }; 154 };
133 155
134 gpiok: gpio@58022800 { 156 gpiok: gpio@58022800 {
@@ -137,6 +159,8 @@
137 reg = <0x2800 0x400>; 159 reg = <0x2800 0x400>;
138 clocks = <&rcc GPIOK_CK>; 160 clocks = <&rcc GPIOK_CK>;
139 st,bank-name = "GPIOK"; 161 st,bank-name = "GPIOK";
162 interrupt-controller;
163 #interrupt-cells = <2>;
140 }; 164 };
141 165
142 usart1_pins: usart1@0 { 166 usart1_pins: usart1@0 {
@@ -164,6 +188,26 @@
164 bias-disable; 188 bias-disable;
165 }; 189 };
166 }; 190 };
191
192 usbotg_hs_pins_a: usbotg-hs@0 {
193 pins {
194 pinmux = <STM32_PINMUX('H', 4, AF10)>, /* ULPI_NXT */
195 <STM32_PINMUX('I', 11, AF10)>, /* ULPI_DIR> */
196 <STM32_PINMUX('C', 0, AF10)>, /* ULPI_STP> */
197 <STM32_PINMUX('A', 5, AF10)>, /* ULPI_CK> */
198 <STM32_PINMUX('A', 3, AF10)>, /* ULPI_D0> */
199 <STM32_PINMUX('B', 0, AF10)>, /* ULPI_D1> */
200 <STM32_PINMUX('B', 1, AF10)>, /* ULPI_D2> */
201 <STM32_PINMUX('B', 10, AF10)>, /* ULPI_D3> */
202 <STM32_PINMUX('B', 11, AF10)>, /* ULPI_D4> */
203 <STM32_PINMUX('B', 12, AF10)>, /* ULPI_D5> */
204 <STM32_PINMUX('B', 13, AF10)>, /* ULPI_D6> */
205 <STM32_PINMUX('B', 5, AF10)>; /* ULPI_D7> */
206 bias-disable;
207 drive-push-pull;
208 slew-rate = <2>;
209 };
210 };
167 }; 211 };
168 }; 212 };
169}; 213};
diff --git a/arch/arm/boot/dts/stm32h743.dtsi b/arch/arm/boot/dts/stm32h743.dtsi
index bbfcbaca0b36..2bb103e1194d 100644
--- a/arch/arm/boot/dts/stm32h743.dtsi
+++ b/arch/arm/boot/dts/stm32h743.dtsi
@@ -44,6 +44,7 @@
44#include "armv7-m.dtsi" 44#include "armv7-m.dtsi"
45#include <dt-bindings/clock/stm32h7-clks.h> 45#include <dt-bindings/clock/stm32h7-clks.h>
46#include <dt-bindings/mfd/stm32h7-rcc.h> 46#include <dt-bindings/mfd/stm32h7-rcc.h>
47#include <dt-bindings/interrupt-controller/irq.h>
47 48
48/ { 49/ {
49 clocks { 50 clocks {
@@ -100,6 +101,27 @@
100 }; 101 };
101 }; 102 };
102 103
104 spi2: spi@40003800 {
105 #address-cells = <1>;
106 #size-cells = <0>;
107 compatible = "st,stm32h7-spi";
108 reg = <0x40003800 0x400>;
109 interrupts = <36>;
110 clocks = <&rcc SPI2_CK>;
111 status = "disabled";
112
113 };
114
115 spi3: spi@40003c00 {
116 #address-cells = <1>;
117 #size-cells = <0>;
118 compatible = "st,stm32h7-spi";
119 reg = <0x40003c00 0x400>;
120 interrupts = <51>;
121 clocks = <&rcc SPI3_CK>;
122 status = "disabled";
123 };
124
103 usart2: serial@40004400 { 125 usart2: serial@40004400 {
104 compatible = "st,stm32f7-uart"; 126 compatible = "st,stm32f7-uart";
105 reg = <0x40004400 0x400>; 127 reg = <0x40004400 0x400>;
@@ -140,6 +162,36 @@
140 clocks = <&rcc USART1_CK>; 162 clocks = <&rcc USART1_CK>;
141 }; 163 };
142 164
165 spi1: spi@40013000 {
166 #address-cells = <1>;
167 #size-cells = <0>;
168 compatible = "st,stm32h7-spi";
169 reg = <0x40013000 0x400>;
170 interrupts = <35>;
171 clocks = <&rcc SPI1_CK>;
172 status = "disabled";
173 };
174
175 spi4: spi@40013400 {
176 #address-cells = <1>;
177 #size-cells = <0>;
178 compatible = "st,stm32h7-spi";
179 reg = <0x40013400 0x400>;
180 interrupts = <84>;
181 clocks = <&rcc SPI4_CK>;
182 status = "disabled";
183 };
184
185 spi5: spi@40015000 {
186 #address-cells = <1>;
187 #size-cells = <0>;
188 compatible = "st,stm32h7-spi";
189 reg = <0x40015000 0x400>;
190 interrupts = <85>;
191 clocks = <&rcc SPI5_CK>;
192 status = "disabled";
193 };
194
143 dma1: dma@40020000 { 195 dma1: dma@40020000 {
144 compatible = "st,stm32-dma"; 196 compatible = "st,stm32-dma";
145 reg = <0x40020000 0x400>; 197 reg = <0x40020000 0x400>;
@@ -217,6 +269,27 @@
217 }; 269 };
218 }; 270 };
219 271
272 usbotg_hs: usb@40040000 {
273 compatible = "st,stm32f7-hsotg";
274 reg = <0x40040000 0x40000>;
275 interrupts = <77>;
276 clocks = <&rcc USB1OTG_CK>;
277 clock-names = "otg";
278 g-rx-fifo-size = <256>;
279 g-np-tx-fifo-size = <32>;
280 g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
281 status = "disabled";
282 };
283
284 usbotg_fs: usb@40080000 {
285 compatible = "st,stm32f4x9-fsotg";
286 reg = <0x40080000 0x40000>;
287 interrupts = <101>;
288 clocks = <&rcc USB2OTG_CK>;
289 clock-names = "otg";
290 status = "disabled";
291 };
292
220 mdma1: dma@52000000 { 293 mdma1: dma@52000000 {
221 compatible = "st,stm32h7-mdma"; 294 compatible = "st,stm32h7-mdma";
222 reg = <0x52000000 0x1000>; 295 reg = <0x52000000 0x1000>;
@@ -227,6 +300,29 @@
227 dma-requests = <32>; 300 dma-requests = <32>;
228 }; 301 };
229 302
303 exti: interrupt-controller@58000000 {
304 compatible = "st,stm32h7-exti";
305 interrupt-controller;
306 #interrupt-cells = <2>;
307 reg = <0x58000000 0x400>;
308 interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <62>, <76>;
309 };
310
311 syscfg: system-config@58000400 {
312 compatible = "syscon";
313 reg = <0x58000400 0x400>;
314 };
315
316 spi6: spi@58001400 {
317 #address-cells = <1>;
318 #size-cells = <0>;
319 compatible = "st,stm32h7-spi";
320 reg = <0x58001400 0x400>;
321 interrupts = <86>;
322 clocks = <&rcc SPI6_CK>;
323 status = "disabled";
324 };
325
230 lptimer2: timer@58002400 { 326 lptimer2: timer@58002400 {
231 #address-cells = <1>; 327 #address-cells = <1>;
232 #size-cells = <0>; 328 #size-cells = <0>;
@@ -304,7 +400,7 @@
304 }; 400 };
305 }; 401 };
306 402
307 vrefbuf: regulator@58003C00 { 403 vrefbuf: regulator@58003c00 {
308 compatible = "st,stm32-vrefbuf"; 404 compatible = "st,stm32-vrefbuf";
309 reg = <0x58003C00 0x8>; 405 reg = <0x58003C00 0x8>;
310 clocks = <&rcc VREF_CK>; 406 clocks = <&rcc VREF_CK>;
@@ -313,6 +409,20 @@
313 status = "disabled"; 409 status = "disabled";
314 }; 410 };
315 411
412 rtc: rtc@58004000 {
413 compatible = "st,stm32h7-rtc";
414 reg = <0x58004000 0x400>;
415 clocks = <&rcc RTCAPB_CK>, <&rcc RTC_CK>;
416 clock-names = "pclk", "rtc_ck";
417 assigned-clocks = <&rcc RTC_CK>;
418 assigned-clock-parents = <&rcc LSE_CK>;
419 interrupt-parent = <&exti>;
420 interrupts = <17 IRQ_TYPE_EDGE_RISING>;
421 interrupt-names = "alarm";
422 st,syscfg = <&pwrcfg>;
423 status = "disabled";
424 };
425
316 rcc: reset-clock-controller@58024400 { 426 rcc: reset-clock-controller@58024400 {
317 compatible = "st,stm32h743-rcc", "st,stm32-rcc"; 427 compatible = "st,stm32h743-rcc", "st,stm32-rcc";
318 reg = <0x58024400 0x400>; 428 reg = <0x58024400 0x400>;
diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts b/arch/arm/boot/dts/stm32h743i-disco.dts
index 79e841d94079..45e088c55741 100644
--- a/arch/arm/boot/dts/stm32h743i-disco.dts
+++ b/arch/arm/boot/dts/stm32h743i-disco.dts
@@ -63,7 +63,7 @@
63}; 63};
64 64
65&clk_hse { 65&clk_hse {
66 clock-frequency = <125000000>; 66 clock-frequency = <25000000>;
67}; 67};
68 68
69&usart2 { 69&usart2 {
diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts b/arch/arm/boot/dts/stm32h743i-eval.dts
index 9f0e72c67219..c7187e18ea16 100644
--- a/arch/arm/boot/dts/stm32h743i-eval.dts
+++ b/arch/arm/boot/dts/stm32h743i-eval.dts
@@ -68,6 +68,14 @@
68 regulator-max-microvolt = <3300000>; 68 regulator-max-microvolt = <3300000>;
69 regulator-always-on; 69 regulator-always-on;
70 }; 70 };
71
72 usbotg_hs_phy: usb-phy {
73 #phy-cells = <0>;
74 compatible = "usb-nop-xceiv";
75 clocks = <&rcc USB1ULPI_CK>;
76 clock-names = "main_clk";
77 };
78
71}; 79};
72 80
73&adc_12 { 81&adc_12 {
@@ -84,9 +92,21 @@
84 clock-frequency = <25000000>; 92 clock-frequency = <25000000>;
85}; 93};
86 94
95&rtc {
96 status = "okay";
97};
98
87&usart1 { 99&usart1 {
88 pinctrl-0 = <&usart1_pins>; 100 pinctrl-0 = <&usart1_pins>;
89 pinctrl-names = "default"; 101 pinctrl-names = "default";
90 status = "okay"; 102 status = "okay";
91}; 103};
92 104
105&usbotg_hs {
106 pinctrl-0 = <&usbotg_hs_pins_a>;
107 pinctrl-names = "default";
108 phys = <&usbotg_hs_phy>;
109 phy-names = "usb2-phy";
110 dr_mode = "otg";
111 status = "okay";
112};
diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
new file mode 100644
index 000000000000..c0743305f31b
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -0,0 +1,185 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/pinctrl/stm32-pinfunc.h>
7
8/ {
9 soc {
10 pinctrl: pin-controller {
11 #address-cells = <1>;
12 #size-cells = <1>;
13 compatible = "st,stm32mp157-pinctrl";
14 ranges = <0 0x50002000 0xa400>;
15 pins-are-numbered;
16
17 gpioa: gpio@50002000 {
18 gpio-controller;
19 #gpio-cells = <2>;
20 interrupt-controller;
21 #interrupt-cells = <2>;
22 reg = <0x0 0x400>;
23 clocks = <&clk_pll3_p>;
24 st,bank-name = "GPIOA";
25 ngpios = <16>;
26 gpio-ranges = <&pinctrl 0 0 16>;
27 };
28
29 gpiob: gpio@50003000 {
30 gpio-controller;
31 #gpio-cells = <2>;
32 interrupt-controller;
33 #interrupt-cells = <2>;
34 reg = <0x1000 0x400>;
35 clocks = <&clk_pll3_p>;
36 st,bank-name = "GPIOB";
37 ngpios = <16>;
38 gpio-ranges = <&pinctrl 0 16 16>;
39 };
40
41 gpioc: gpio@50004000 {
42 gpio-controller;
43 #gpio-cells = <2>;
44 interrupt-controller;
45 #interrupt-cells = <2>;
46 reg = <0x2000 0x400>;
47 clocks = <&clk_pll3_p>;
48 st,bank-name = "GPIOC";
49 ngpios = <16>;
50 gpio-ranges = <&pinctrl 0 32 16>;
51 };
52
53 gpiod: gpio@50005000 {
54 gpio-controller;
55 #gpio-cells = <2>;
56 interrupt-controller;
57 #interrupt-cells = <2>;
58 reg = <0x3000 0x400>;
59 clocks = <&clk_pll3_p>;
60 st,bank-name = "GPIOD";
61 ngpios = <16>;
62 gpio-ranges = <&pinctrl 0 48 16>;
63 };
64
65 gpioe: gpio@50006000 {
66 gpio-controller;
67 #gpio-cells = <2>;
68 interrupt-controller;
69 #interrupt-cells = <2>;
70 reg = <0x4000 0x400>;
71 clocks = <&clk_pll3_p>;
72 st,bank-name = "GPIOE";
73 ngpios = <16>;
74 gpio-ranges = <&pinctrl 0 64 16>;
75 };
76
77 gpiof: gpio@50007000 {
78 gpio-controller;
79 #gpio-cells = <2>;
80 interrupt-controller;
81 #interrupt-cells = <2>;
82 reg = <0x5000 0x400>;
83 clocks = <&clk_pll3_p>;
84 st,bank-name = "GPIOF";
85 ngpios = <16>;
86 gpio-ranges = <&pinctrl 0 80 16>;
87 };
88
89 gpiog: gpio@50008000 {
90 gpio-controller;
91 #gpio-cells = <2>;
92 interrupt-controller;
93 #interrupt-cells = <2>;
94 reg = <0x6000 0x400>;
95 clocks = <&clk_pll3_p>;
96 st,bank-name = "GPIOG";
97 ngpios = <16>;
98 gpio-ranges = <&pinctrl 0 96 16>;
99 };
100
101 gpioh: gpio@50009000 {
102 gpio-controller;
103 #gpio-cells = <2>;
104 interrupt-controller;
105 #interrupt-cells = <2>;
106 reg = <0x7000 0x400>;
107 clocks = <&clk_pll3_p>;
108 st,bank-name = "GPIOH";
109 ngpios = <16>;
110 gpio-ranges = <&pinctrl 0 112 16>;
111 };
112
113 gpioi: gpio@5000a000 {
114 gpio-controller;
115 #gpio-cells = <2>;
116 interrupt-controller;
117 #interrupt-cells = <2>;
118 reg = <0x8000 0x400>;
119 clocks = <&clk_pll3_p>;
120 st,bank-name = "GPIOI";
121 ngpios = <16>;
122 gpio-ranges = <&pinctrl 0 128 16>;
123 };
124
125 gpioj: gpio@5000b000 {
126 gpio-controller;
127 #gpio-cells = <2>;
128 interrupt-controller;
129 #interrupt-cells = <2>;
130 reg = <0x9000 0x400>;
131 clocks = <&clk_pll3_p>;
132 st,bank-name = "GPIOJ";
133 ngpios = <16>;
134 gpio-ranges = <&pinctrl 0 144 16>;
135 };
136
137 gpiok: gpio@5000c000 {
138 gpio-controller;
139 #gpio-cells = <2>;
140 interrupt-controller;
141 #interrupt-cells = <2>;
142 reg = <0xa000 0x400>;
143 clocks = <&clk_pll3_p>;
144 st,bank-name = "GPIOK";
145 ngpios = <8>;
146 gpio-ranges = <&pinctrl 0 160 8>;
147 };
148
149 uart4_pins_a: uart4@0 {
150 pins1 {
151 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
152 bias-disable;
153 drive-push-pull;
154 slew-rate = <0>;
155 };
156 pins2 {
157 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
158 bias-disable;
159 };
160 };
161 };
162
163 pinctrl_z: pin-controller-z {
164 #address-cells = <1>;
165 #size-cells = <1>;
166 compatible = "st,stm32mp157-z-pinctrl";
167 ranges = <0 0x54004000 0x400>;
168 pins-are-numbered;
169 status = "disabled";
170
171 gpioz: gpio@54004000 {
172 gpio-controller;
173 #gpio-cells = <2>;
174 interrupt-controller;
175 #interrupt-cells = <2>;
176 reg = <0 0x400>;
177 clocks = <&clk_pll2_p>;
178 st,bank-name = "GPIOZ";
179 st,bank-ioport = <11>;
180 ngpios = <8>;
181 gpio-ranges = <&pinctrl_z 0 400 8>;
182 };
183 };
184 };
185};
diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts
new file mode 100644
index 000000000000..9f90337a22e3
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
@@ -0,0 +1,32 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6/dts-v1/;
7
8#include "stm32mp157c.dtsi"
9#include "stm32mp157-pinctrl.dtsi"
10
11/ {
12 model = "STMicroelectronics STM32MP157C eval daughter";
13 compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
14
15 chosen {
16 stdout-path = "serial0:115200n8";
17 };
18
19 memory {
20 reg = <0xC0000000 0x40000000>;
21 };
22
23 aliases {
24 serial0 = &uart4;
25 };
26};
27
28&uart4 {
29 pinctrl-names = "default";
30 pinctrl-0 = <&uart4_pins_a>;
31 status = "okay";
32};
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
new file mode 100644
index 000000000000..57e6dbc52e09
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -0,0 +1,21 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6/dts-v1/;
7
8#include "stm32mp157c-ed1.dts"
9
10/ {
11 model = "STMicroelectronics STM32MP157C eval daughter on eval mother";
12 compatible = "st,stm32mp157c-ev1", "st,stm32mp157c-ed1", "st,stm32mp157";
13
14 chosen {
15 stdout-path = "serial0:115200n8";
16 };
17
18 aliases {
19 serial0 = &uart4;
20 };
21};
diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
new file mode 100644
index 000000000000..9e17e42b02b2
--- /dev/null
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -0,0 +1,194 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/interrupt-controller/arm-gic.h>
7
8/ {
9 #address-cells = <1>;
10 #size-cells = <1>;
11
12 cpus {
13 #address-cells = <1>;
14 #size-cells = <0>;
15
16 cpu0: cpu@0 {
17 compatible = "arm,cortex-a7";
18 device_type = "cpu";
19 reg = <0>;
20 };
21
22 cpu1: cpu@1 {
23 compatible = "arm,cortex-a7";
24 device_type = "cpu";
25 reg = <1>;
26 };
27 };
28
29 psci {
30 compatible = "arm,psci";
31 method = "smc";
32 cpu_off = <0x84000002>;
33 cpu_on = <0x84000003>;
34 };
35
36 aliases {
37 gpio0 = &gpioa;
38 gpio1 = &gpiob;
39 gpio2 = &gpioc;
40 gpio3 = &gpiod;
41 gpio4 = &gpioe;
42 gpio5 = &gpiof;
43 gpio6 = &gpiog;
44 gpio7 = &gpioh;
45 gpio8 = &gpioi;
46 gpio9 = &gpioj;
47 gpio10 = &gpiok;
48 };
49
50 intc: interrupt-controller@a0021000 {
51 compatible = "arm,cortex-a7-gic";
52 #interrupt-cells = <3>;
53 interrupt-controller;
54 reg = <0xa0021000 0x1000>,
55 <0xa0022000 0x2000>;
56 };
57
58 timer {
59 compatible = "arm,armv7-timer";
60 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
61 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
62 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
63 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
64 interrupt-parent = <&intc>;
65 };
66
67 clocks {
68 clk_hse: clk-hse {
69 #clock-cells = <0>;
70 compatible = "fixed-clock";
71 clock-frequency = <24000000>;
72 };
73
74 clk_pll_per: clk-pll-per {
75 #clock-cells = <0>;
76 compatible = "fixed-clock";
77 clock-frequency = <64000000>;
78 };
79
80 clk_hsi: clk-hsi {
81 #clock-cells = <0>;
82 compatible = "fixed-clock";
83 clock-frequency = <64000000>;
84 };
85
86 clk_lse: clk-lse {
87 #clock-cells = <0>;
88 compatible = "fixed-clock";
89 clock-frequency = <32768>;
90 };
91
92 clk_lsi: clk-lsi {
93 #clock-cells = <0>;
94 compatible = "fixed-clock";
95 clock-frequency = <32000>;
96 };
97
98 clk_csi: clk-csi {
99 #clock-cells = <0>;
100 compatible = "fixed-clock";
101 clock-frequency = <4000000>;
102 };
103
104 clk_pclk1: clk-pclk1 {
105 #clock-cells = <0>;
106 compatible = "fixed-clock";
107 clock-frequency = <86000000>;
108 };
109
110 clk_pll3_p: clk-pll3_p {
111 #clock-cells = <0>;
112 compatible = "fixed-clock";
113 clock-frequency = <172000000>;
114 };
115
116 clk_pll2_p: clk-pll2_p {
117 #clock-cells = <0>;
118 compatible = "fixed-clock";
119 clock-frequency = <264000000>;
120 };
121 };
122
123 soc {
124 compatible = "simple-bus";
125 #address-cells = <1>;
126 #size-cells = <1>;
127 interrupt-parent = <&intc>;
128 ranges;
129
130 usart2: serial@4000e000 {
131 compatible = "st,stm32h7-uart";
132 reg = <0x4000e000 0x400>;
133 interrupts = <GIC_SPI 38 IRQ_TYPE_NONE>;
134 clocks = <&clk_pclk1>;
135 status = "disabled";
136 };
137
138 usart3: serial@4000f000 {
139 compatible = "st,stm32h7-uart";
140 reg = <0x4000f000 0x400>;
141 interrupts = <GIC_SPI 39 IRQ_TYPE_NONE>;
142 clocks = <&clk_pclk1>;
143 status = "disabled";
144 };
145
146 uart4: serial@40010000 {
147 compatible = "st,stm32h7-uart";
148 reg = <0x40010000 0x400>;
149 interrupts = <GIC_SPI 52 IRQ_TYPE_NONE>;
150 clocks = <&clk_pclk1>;
151 status = "disabled";
152 };
153
154 uart5: serial@40011000 {
155 compatible = "st,stm32h7-uart";
156 reg = <0x40011000 0x400>;
157 interrupts = <GIC_SPI 53 IRQ_TYPE_NONE>;
158 clocks = <&clk_pclk1>;
159 status = "disabled";
160 };
161
162 uart7: serial@40018000 {
163 compatible = "st,stm32h7-uart";
164 reg = <0x40018000 0x400>;
165 interrupts = <GIC_SPI 82 IRQ_TYPE_NONE>;
166 clocks = <&clk_pclk1>;
167 status = "disabled";
168 };
169
170 uart8: serial@40019000 {
171 compatible = "st,stm32h7-uart";
172 reg = <0x40019000 0x400>;
173 interrupts = <GIC_SPI 83 IRQ_TYPE_NONE>;
174 clocks = <&clk_pclk1>;
175 status = "disabled";
176 };
177
178 usart6: serial@44003000 {
179 compatible = "st,stm32h7-uart";
180 reg = <0x44003000 0x400>;
181 interrupts = <GIC_SPI 71 IRQ_TYPE_NONE>;
182 clocks = <&clk_pclk1>;
183 status = "disabled";
184 };
185
186 usart1: serial@5c000000 {
187 compatible = "st,stm32h7-uart";
188 reg = <0x5c000000 0x400>;
189 interrupts = <GIC_SPI 37 IRQ_TYPE_NONE>;
190 clocks = <&clk_pclk1>;
191 status = "disabled";
192 };
193 };
194};
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
index 09e909576c61..6c254ec4c85b 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
@@ -164,8 +164,7 @@
164&mmc0 { 164&mmc0 {
165 vmmc-supply = <&reg_vcc3v3>; 165 vmmc-supply = <&reg_vcc3v3>;
166 bus-width = <4>; 166 bus-width = <4>;
167 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 167 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
168 cd-inverted;
169 status = "okay"; 168 status = "okay";
170}; 169};
171 170
diff --git a/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts b/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts
index 39ba4ccb9e2e..38a2c4134952 100644
--- a/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts
+++ b/arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts
@@ -106,8 +106,7 @@
106&mmc0 { 106&mmc0 {
107 vmmc-supply = <&reg_vcc3v3>; 107 vmmc-supply = <&reg_vcc3v3>;
108 bus-width = <4>; 108 bus-width = <4>;
109 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 109 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
110 cd-inverted;
111 status = "okay"; 110 status = "okay";
112}; 111};
113 112
diff --git a/arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts b/arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts
index dfc88aee4fe3..cf7b392dff31 100644
--- a/arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts
+++ b/arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts
@@ -123,8 +123,7 @@
123&mmc0 { 123&mmc0 {
124 vmmc-supply = <&reg_vcc3v3>; 124 vmmc-supply = <&reg_vcc3v3>;
125 bus-width = <4>; 125 bus-width = <4>;
126 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 126 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
127 cd-inverted;
128 status = "okay"; 127 status = "okay";
129}; 128};
130 129
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
index 1982c8c238c5..197a1f2b75ff 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -162,8 +162,7 @@
162&mmc0 { 162&mmc0 {
163 vmmc-supply = <&reg_vcc3v3>; 163 vmmc-supply = <&reg_vcc3v3>;
164 bus-width = <4>; 164 bus-width = <4>;
165 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 165 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
166 cd-inverted;
167 status = "okay"; 166 status = "okay";
168}; 167};
169 168
diff --git a/arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts b/arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts
index 147cbc5e08ac..896e27a08727 100644
--- a/arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts
+++ b/arch/arm/boot/dts/sun4i-a10-dserve-dsrv9703c.dts
@@ -150,8 +150,7 @@
150&mmc0 { 150&mmc0 {
151 vmmc-supply = <&reg_vcc3v3>; 151 vmmc-supply = <&reg_vcc3v3>;
152 bus-width = <4>; 152 bus-width = <4>;
153 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 153 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
154 cd-inverted;
155 status = "okay"; 154 status = "okay";
156}; 155};
157 156
diff --git a/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts b/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts
index 41ca8bded89f..ea7a59dcf8f9 100644
--- a/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts
+++ b/arch/arm/boot/dts/sun4i-a10-gemei-g9.dts
@@ -141,8 +141,7 @@
141&mmc0 { 141&mmc0 {
142 vmmc-supply = <&reg_vcc3v3>; 142 vmmc-supply = <&reg_vcc3v3>;
143 bus-width = <4>; 143 bus-width = <4>;
144 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH01 */ 144 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH01 */
145 cd-inverted;
146 status = "okay"; 145 status = "okay";
147}; 146};
148 147
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
index f33e42d6ce8b..cc988ccd5ca7 100644
--- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
+++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
@@ -106,8 +106,7 @@
106&mmc0 { 106&mmc0 {
107 vmmc-supply = <&reg_vcc3v3>; 107 vmmc-supply = <&reg_vcc3v3>;
108 bus-width = <4>; 108 bus-width = <4>;
109 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 109 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
110 cd-inverted;
111 status = "okay"; 110 status = "okay";
112}; 111};
113 112
diff --git a/arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts b/arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts
index 35c57d065dd8..f63767cddd8e 100644
--- a/arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts
+++ b/arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts
@@ -78,8 +78,7 @@
78&mmc0 { 78&mmc0 {
79 vmmc-supply = <&reg_vcc3v3>; 79 vmmc-supply = <&reg_vcc3v3>;
80 bus-width = <4>; 80 bus-width = <4>;
81 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 81 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
82 cd-inverted;
83 status = "okay"; 82 status = "okay";
84}; 83};
85 84
diff --git a/arch/arm/boot/dts/sun4i-a10-inet1.dts b/arch/arm/boot/dts/sun4i-a10-inet1.dts
index 9482e831a9a1..26d0c1d6a02b 100644
--- a/arch/arm/boot/dts/sun4i-a10-inet1.dts
+++ b/arch/arm/boot/dts/sun4i-a10-inet1.dts
@@ -152,8 +152,7 @@
152&mmc0 { 152&mmc0 {
153 vmmc-supply = <&reg_vcc3v3>; 153 vmmc-supply = <&reg_vcc3v3>;
154 bus-width = <4>; 154 bus-width = <4>;
155 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 155 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
156 cd-inverted;
157 status = "okay"; 156 status = "okay";
158}; 157};
159 158
diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
index 4b5c91c8e85b..5d096528e75a 100644
--- a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
+++ b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
@@ -142,8 +142,7 @@
142&mmc0 { 142&mmc0 {
143 vmmc-supply = <&reg_vcc3v3>; 143 vmmc-supply = <&reg_vcc3v3>;
144 bus-width = <4>; 144 bus-width = <4>;
145 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 145 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
146 cd-inverted;
147 status = "okay"; 146 status = "okay";
148}; 147};
149 148
diff --git a/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts b/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts
index 13224f5ac166..221acd10f6c8 100644
--- a/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts
+++ b/arch/arm/boot/dts/sun4i-a10-inet9f-rev03.dts
@@ -300,8 +300,7 @@
300&mmc0 { 300&mmc0 {
301 vmmc-supply = <&reg_vcc3v3>; 301 vmmc-supply = <&reg_vcc3v3>;
302 bus-width = <4>; 302 bus-width = <4>;
303 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 303 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
304 cd-inverted;
305 status = "okay"; 304 status = "okay";
306}; 305};
307 306
diff --git a/arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts b/arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts
index d22bd79562d8..80ecd78247ac 100644
--- a/arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts
+++ b/arch/arm/boot/dts/sun4i-a10-itead-iteaduino-plus.dts
@@ -106,8 +106,7 @@
106 pinctrl-0 = <&mmc0_pins>; 106 pinctrl-0 = <&mmc0_pins>;
107 vmmc-supply = <&reg_vcc3v3>; 107 vmmc-supply = <&reg_vcc3v3>;
108 bus-width = <4>; 108 bus-width = <4>;
109 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 109 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
110 cd-inverted;
111 status = "okay"; 110 status = "okay";
112}; 111};
113 112
diff --git a/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts b/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
index 879141ca6027..247fa27ef717 100644
--- a/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
+++ b/arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
@@ -133,8 +133,7 @@
133&mmc0 { 133&mmc0 {
134 vmmc-supply = <&reg_vcc3v3>; 134 vmmc-supply = <&reg_vcc3v3>;
135 bus-width = <4>; 135 bus-width = <4>;
136 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 136 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
137 cd-inverted;
138 status = "okay"; 137 status = "okay";
139}; 138};
140 139
diff --git a/arch/arm/boot/dts/sun4i-a10-marsboard.dts b/arch/arm/boot/dts/sun4i-a10-marsboard.dts
index 435c551aef0f..0dbf69576512 100644
--- a/arch/arm/boot/dts/sun4i-a10-marsboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-marsboard.dts
@@ -132,8 +132,7 @@
132&mmc0 { 132&mmc0 {
133 vmmc-supply = <&reg_vcc3v3>; 133 vmmc-supply = <&reg_vcc3v3>;
134 bus-width = <4>; 134 bus-width = <4>;
135 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 135 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
136 cd-inverted;
137 status = "okay"; 136 status = "okay";
138}; 137};
139 138
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
index 1b639e5f9172..f9d74e21031d 100644
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
@@ -96,8 +96,7 @@
96&mmc0 { 96&mmc0 {
97 vmmc-supply = <&reg_vcc3v3>; 97 vmmc-supply = <&reg_vcc3v3>;
98 bus-width = <4>; 98 bus-width = <4>;
99 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 99 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
100 cd-inverted;
101 status = "okay"; 100 status = "okay";
102}; 101};
103 102
diff --git a/arch/arm/boot/dts/sun4i-a10-mk802.dts b/arch/arm/boot/dts/sun4i-a10-mk802.dts
index 7198b34e2e50..059fe9c5d024 100644
--- a/arch/arm/boot/dts/sun4i-a10-mk802.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mk802.dts
@@ -56,12 +56,27 @@
56 chosen { 56 chosen {
57 stdout-path = "serial0:115200n8"; 57 stdout-path = "serial0:115200n8";
58 }; 58 };
59
60 hdmi-connector {
61 compatible = "hdmi-connector";
62 type = "a";
63
64 port {
65 hdmi_con_in: endpoint {
66 remote-endpoint = <&hdmi_out_con>;
67 };
68 };
69 };
59}; 70};
60 71
61&codec { 72&codec {
62 status = "okay"; 73 status = "okay";
63}; 74};
64 75
76&de {
77 status = "okay";
78};
79
65&ehci0 { 80&ehci0 {
66 status = "okay"; 81 status = "okay";
67}; 82};
@@ -70,11 +85,20 @@
70 status = "okay"; 85 status = "okay";
71}; 86};
72 87
88&hdmi {
89 status = "okay";
90};
91
92&hdmi_out {
93 hdmi_out_con: endpoint {
94 remote-endpoint = <&hdmi_con_in>;
95 };
96};
97
73&mmc0 { 98&mmc0 {
74 vmmc-supply = <&reg_vcc3v3>; 99 vmmc-supply = <&reg_vcc3v3>;
75 bus-width = <4>; 100 bus-width = <4>;
76 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 101 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
77 cd-inverted;
78 status = "okay"; 102 status = "okay";
79}; 103};
80 104
diff --git a/arch/arm/boot/dts/sun4i-a10-mk802ii.dts b/arch/arm/boot/dts/sun4i-a10-mk802ii.dts
index e460da2eb139..17dcdf031118 100644
--- a/arch/arm/boot/dts/sun4i-a10-mk802ii.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mk802ii.dts
@@ -82,8 +82,7 @@
82&mmc0 { 82&mmc0 {
83 vmmc-supply = <&reg_vcc3v3>; 83 vmmc-supply = <&reg_vcc3v3>;
84 bus-width = <4>; 84 bus-width = <4>;
85 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 85 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
86 cd-inverted;
87 status = "okay"; 86 status = "okay";
88}; 87};
89 88
diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
index 49247fbe6acd..b74a61496537 100644
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -97,7 +97,6 @@
97 864000 1300000 97 864000 1300000
98 624000 1250000 98 624000 1250000
99 >; 99 >;
100 cooling-max-level = <2>;
101}; 100};
102 101
103&de { 102&de {
@@ -165,8 +164,7 @@
165&mmc0 { 164&mmc0 {
166 vmmc-supply = <&reg_vcc3v3>; 165 vmmc-supply = <&reg_vcc3v3>;
167 bus-width = <4>; 166 bus-width = <4>;
168 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 167 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
169 cd-inverted;
170 status = "okay"; 168 status = "okay";
171}; 169};
172 170
diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
index 6e140547b638..b97a0f2f20b9 100644
--- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
@@ -140,8 +140,7 @@
140&mmc0 { 140&mmc0 {
141 vmmc-supply = <&reg_vcc3v3>; 141 vmmc-supply = <&reg_vcc3v3>;
142 bus-width = <4>; 142 bus-width = <4>;
143 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 143 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
144 cd-inverted;
145 status = "okay"; 144 status = "okay";
146}; 145};
147 146
diff --git a/arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts b/arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts
index 5081303f79e7..84b25be1ac94 100644
--- a/arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts
+++ b/arch/arm/boot/dts/sun4i-a10-pov-protab2-ips9.dts
@@ -138,8 +138,7 @@
138&mmc0 { 138&mmc0 {
139 vmmc-supply = <&reg_vcc3v3>; 139 vmmc-supply = <&reg_vcc3v3>;
140 bus-width = <4>; 140 bus-width = <4>;
141 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 141 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
142 cd-inverted;
143 status = "okay"; 142 status = "okay";
144}; 143};
145 144
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index 4f2f2eea0755..77e8436beed4 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -123,8 +123,6 @@
123 624000 1250000 123 624000 1250000
124 >; 124 >;
125 #cooling-cells = <2>; 125 #cooling-cells = <2>;
126 cooling-min-level = <0>;
127 cooling-max-level = <3>;
128 }; 126 };
129 }; 127 };
130 128
diff --git a/arch/arm/boot/dts/sun5i-a10s-auxtek-t003.dts b/arch/arm/boot/dts/sun5i-a10s-auxtek-t003.dts
index d2dee8d434bf..39504d720efc 100644
--- a/arch/arm/boot/dts/sun5i-a10s-auxtek-t003.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-auxtek-t003.dts
@@ -93,8 +93,7 @@
93 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t003>; 93 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t003>;
94 vmmc-supply = <&reg_vcc3v3>; 94 vmmc-supply = <&reg_vcc3v3>;
95 bus-width = <4>; 95 bus-width = <4>;
96 cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ 96 cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
97 cd-inverted;
98 status = "okay"; 97 status = "okay";
99}; 98};
100 99
diff --git a/arch/arm/boot/dts/sun5i-a10s-auxtek-t004.dts b/arch/arm/boot/dts/sun5i-a10s-auxtek-t004.dts
index 16f839df4227..8d4fb9331212 100644
--- a/arch/arm/boot/dts/sun5i-a10s-auxtek-t004.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-auxtek-t004.dts
@@ -104,8 +104,7 @@
104 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t004>; 104 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_t004>;
105 vmmc-supply = <&reg_vcc3v3>; 105 vmmc-supply = <&reg_vcc3v3>;
106 bus-width = <4>; 106 bus-width = <4>;
107 cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ 107 cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
108 cd-inverted;
109 status = "okay"; 108 status = "okay";
110}; 109};
111 110
diff --git a/arch/arm/boot/dts/sun5i-a10s-mk802.dts b/arch/arm/boot/dts/sun5i-a10s-mk802.dts
index 020aa9d6c31d..dd7fd5c3d76f 100644
--- a/arch/arm/boot/dts/sun5i-a10s-mk802.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-mk802.dts
@@ -92,8 +92,7 @@
92 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_mk802>; 92 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_mk802>;
93 vmmc-supply = <&reg_vcc3v3>; 93 vmmc-supply = <&reg_vcc3v3>;
94 bus-width = <4>; 94 bus-width = <4>;
95 cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ 95 cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
96 cd-inverted;
97 status = "okay"; 96 status = "okay";
98}; 97};
99 98
diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
index da95118af4dc..2c902ed2c87a 100644
--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
@@ -201,8 +201,7 @@
201 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>; 201 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino_micro>;
202 vmmc-supply = <&reg_vcc3v3>; 202 vmmc-supply = <&reg_vcc3v3>;
203 bus-width = <4>; 203 bus-width = <4>;
204 cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ 204 cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
205 cd-inverted;
206 status = "okay"; 205 status = "okay";
207}; 206};
208 207
@@ -211,8 +210,7 @@
211 pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>; 210 pinctrl-0 = <&mmc1_pins_a>, <&mmc1_cd_pin_olinuxino_micro>;
212 vmmc-supply = <&reg_vcc3v3>; 211 vmmc-supply = <&reg_vcc3v3>;
213 bus-width = <4>; 212 bus-width = <4>;
214 cd-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */ 213 cd-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */
215 cd-inverted;
216 status = "okay"; 214 status = "okay";
217}; 215};
218 216
diff --git a/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts b/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts
index 262b3669f04d..034853d1c08f 100644
--- a/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts
@@ -80,8 +80,7 @@
80 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>; 80 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_r7>;
81 vmmc-supply = <&reg_vcc3v3>; 81 vmmc-supply = <&reg_vcc3v3>;
82 bus-width = <4>; 82 bus-width = <4>;
83 cd-gpios = <&pio 6 1 GPIO_ACTIVE_HIGH>; /* PG1 */ 83 cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
84 cd-inverted;
85 status = "okay"; 84 status = "okay";
86}; 85};
87 86
diff --git a/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts b/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
index 5482be174e12..3f68ef5d92a0 100644
--- a/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
@@ -130,8 +130,7 @@
130 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_wobo_i5>; 130 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_wobo_i5>;
131 vmmc-supply = <&reg_vcc3v3>; 131 vmmc-supply = <&reg_vcc3v3>;
132 bus-width = <4>; 132 bus-width = <4>;
133 cd-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */ 133 cd-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 */
134 cd-inverted;
135 status = "okay"; 134 status = "okay";
136}; 135};
137 136
diff --git a/arch/arm/boot/dts/sun5i-a13-empire-electronix-d709.dts b/arch/arm/boot/dts/sun5i-a13-empire-electronix-d709.dts
index 3dbb0d7c2f8c..378214d8316e 100644
--- a/arch/arm/boot/dts/sun5i-a13-empire-electronix-d709.dts
+++ b/arch/arm/boot/dts/sun5i-a13-empire-electronix-d709.dts
@@ -125,8 +125,7 @@
125 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_d709>; 125 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_d709>;
126 vmmc-supply = <&reg_vcc3v3>; 126 vmmc-supply = <&reg_vcc3v3>;
127 bus-width = <4>; 127 bus-width = <4>;
128 cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ 128 cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
129 cd-inverted;
130 status = "okay"; 129 status = "okay";
131}; 130};
132 131
diff --git a/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts b/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts
index 584fa579ded2..7ee0c3f6d7a1 100644
--- a/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts
+++ b/arch/arm/boot/dts/sun5i-a13-hsg-h702.dts
@@ -120,8 +120,7 @@
120 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>; 120 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_h702>;
121 vmmc-supply = <&reg_vcc3v3>; 121 vmmc-supply = <&reg_vcc3v3>;
122 bus-width = <4>; 122 bus-width = <4>;
123 cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ 123 cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
124 cd-inverted;
125 status = "okay"; 124 status = "okay";
126}; 125};
127 126
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
index 3a831eaf1dfc..aa4b34fd9126 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
@@ -99,8 +99,7 @@
99 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>; 99 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxinom>;
100 vmmc-supply = <&reg_vcc3v3>; 100 vmmc-supply = <&reg_vcc3v3>;
101 bus-width = <4>; 101 bus-width = <4>;
102 cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ 102 cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
103 cd-inverted;
104 status = "okay"; 103 status = "okay";
105}; 104};
106 105
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
index 4b9af423c6d5..437ad913a373 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -194,8 +194,7 @@
194 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>; 194 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>;
195 vmmc-supply = <&reg_vcc3v3>; 195 vmmc-supply = <&reg_vcc3v3>;
196 bus-width = <4>; 196 bus-width = <4>;
197 cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ 197 cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
198 cd-inverted;
199 status = "okay"; 198 status = "okay";
200}; 199};
201 200
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 4e830f5cb7f1..b1d827765530 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -116,8 +116,6 @@
116 432000 1200000 116 432000 1200000
117 >; 117 >;
118 #cooling-cells = <2>; 118 #cooling-cells = <2>;
119 cooling-min-level = <0>;
120 cooling-max-level = <5>;
121}; 119};
122 120
123&pio { 121&pio {
diff --git a/arch/arm/boot/dts/sun5i-gr8-evb.dts b/arch/arm/boot/dts/sun5i-gr8-evb.dts
index 558c16a30543..5f0adc0f7bb4 100644
--- a/arch/arm/boot/dts/sun5i-gr8-evb.dts
+++ b/arch/arm/boot/dts/sun5i-gr8-evb.dts
@@ -236,8 +236,7 @@
236 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_gr8_evb>; 236 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_gr8_evb>;
237 vmmc-supply = <&reg_vcc3v3>; 237 vmmc-supply = <&reg_vcc3v3>;
238 bus-width = <4>; 238 bus-width = <4>;
239 cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ 239 cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
240 cd-inverted;
241 status = "okay"; 240 status = "okay";
242}; 241};
243 242
diff --git a/arch/arm/boot/dts/sun5i-reference-design-tablet.dtsi b/arch/arm/boot/dts/sun5i-reference-design-tablet.dtsi
index 49229b3d5492..8acbaab14fe5 100644
--- a/arch/arm/boot/dts/sun5i-reference-design-tablet.dtsi
+++ b/arch/arm/boot/dts/sun5i-reference-design-tablet.dtsi
@@ -127,8 +127,7 @@
127 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; 127 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
128 vmmc-supply = <&reg_vcc3v0>; 128 vmmc-supply = <&reg_vcc3v0>;
129 bus-width = <4>; 129 bus-width = <4>;
130 cd-gpios = <&pio 6 0 GPIO_ACTIVE_HIGH>; /* PG0 */ 130 cd-gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
131 cd-inverted;
132 status = "okay"; 131 status = "okay";
133}; 132};
134 133
diff --git a/arch/arm/boot/dts/sun6i-a31-colombus.dts b/arch/arm/boot/dts/sun6i-a31-colombus.dts
index 85eff0307ca4..939c497a6f70 100644
--- a/arch/arm/boot/dts/sun6i-a31-colombus.dts
+++ b/arch/arm/boot/dts/sun6i-a31-colombus.dts
@@ -117,8 +117,7 @@
117 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_colombus>; 117 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_colombus>;
118 vmmc-supply = <&reg_vcc3v0>; 118 vmmc-supply = <&reg_vcc3v0>;
119 bus-width = <4>; 119 bus-width = <4>;
120 cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ 120 cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
121 cd-inverted;
122 status = "okay"; 121 status = "okay";
123}; 122};
124 123
diff --git a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
index 19e382a11297..ce4f9e9834bf 100644
--- a/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
+++ b/arch/arm/boot/dts/sun6i-a31-hummingbird.dts
@@ -218,8 +218,7 @@
218 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>; 218 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_hummingbird>;
219 vmmc-supply = <&reg_dcdc1>; 219 vmmc-supply = <&reg_dcdc1>;
220 bus-width = <4>; 220 bus-width = <4>;
221 cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ 221 cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
222 cd-inverted;
223 status = "okay"; 222 status = "okay";
224}; 223};
225 224
diff --git a/arch/arm/boot/dts/sun6i-a31-i7.dts b/arch/arm/boot/dts/sun6i-a31-i7.dts
index 010a84c7c012..d659be9dbc50 100644
--- a/arch/arm/boot/dts/sun6i-a31-i7.dts
+++ b/arch/arm/boot/dts/sun6i-a31-i7.dts
@@ -58,6 +58,17 @@
58 stdout-path = "serial0:115200n8"; 58 stdout-path = "serial0:115200n8";
59 }; 59 };
60 60
61 hdmi-connector {
62 compatible = "hdmi-connector";
63 type = "a";
64
65 port {
66 hdmi_con_in: endpoint {
67 remote-endpoint = <&hdmi_out_con>;
68 };
69 };
70 };
71
61 leds { 72 leds {
62 compatible = "gpio-leds"; 73 compatible = "gpio-leds";
63 pinctrl-names = "default"; 74 pinctrl-names = "default";
@@ -93,6 +104,10 @@
93 status = "okay"; 104 status = "okay";
94}; 105};
95 106
107&de {
108 status = "okay";
109};
110
96&ehci0 { 111&ehci0 {
97 status = "okay"; 112 status = "okay";
98}; 113};
@@ -113,6 +128,16 @@
113 }; 128 };
114}; 129};
115 130
131&hdmi {
132 status = "okay";
133};
134
135&hdmi_out {
136 hdmi_out_con: endpoint {
137 remote-endpoint = <&hdmi_con_in>;
138 };
139};
140
116&ir { 141&ir {
117 pinctrl-names = "default"; 142 pinctrl-names = "default";
118 pinctrl-0 = <&ir_pins_a>; 143 pinctrl-0 = <&ir_pins_a>;
@@ -124,8 +149,7 @@
124 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_i7>; 149 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_i7>;
125 vmmc-supply = <&reg_vcc3v3>; 150 vmmc-supply = <&reg_vcc3v3>;
126 bus-width = <4>; 151 bus-width = <4>;
127 cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ 152 cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
128 cd-inverted;
129 status = "okay"; 153 status = "okay";
130}; 154};
131 155
@@ -161,6 +185,10 @@
161 status = "okay"; 185 status = "okay";
162}; 186};
163 187
188&tcon0 {
189 status = "okay";
190};
191
164&uart0 { 192&uart0 {
165 pinctrl-names = "default"; 193 pinctrl-names = "default";
166 pinctrl-0 = <&uart0_pins_a>; 194 pinctrl-0 = <&uart0_pins_a>;
diff --git a/arch/arm/boot/dts/sun6i-a31-m9.dts b/arch/arm/boot/dts/sun6i-a31-m9.dts
index 50605fd4449e..9698f6d38d03 100644
--- a/arch/arm/boot/dts/sun6i-a31-m9.dts
+++ b/arch/arm/boot/dts/sun6i-a31-m9.dts
@@ -107,8 +107,7 @@
107 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>; 107 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
108 vmmc-supply = <&reg_dcdc1>; 108 vmmc-supply = <&reg_dcdc1>;
109 bus-width = <4>; 109 bus-width = <4>;
110 cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ 110 cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
111 cd-inverted;
112 status = "okay"; 111 status = "okay";
113}; 112};
114 113
diff --git a/arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts b/arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts
index 5219556e9f73..bb14b171b160 100644
--- a/arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts
+++ b/arch/arm/boot/dts/sun6i-a31-mele-a1000g-quad.dts
@@ -107,8 +107,7 @@
107 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>; 107 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_m9>;
108 vmmc-supply = <&reg_dcdc1>; 108 vmmc-supply = <&reg_dcdc1>;
109 bus-width = <4>; 109 bus-width = <4>;
110 cd-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */ 110 cd-gpios = <&pio 7 22 GPIO_ACTIVE_LOW>; /* PH22 */
111 cd-inverted;
112 status = "okay"; 111 status = "okay";
113}; 112};
114 113
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
index 72d3fe44ecaf..c72992556a86 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -113,8 +113,6 @@
113 480000 1000000 113 480000 1000000
114 >; 114 >;
115 #cooling-cells = <2>; 115 #cooling-cells = <2>;
116 cooling-min-level = <0>;
117 cooling-max-level = <3>;
118 }; 116 };
119 117
120 cpu@1 { 118 cpu@1 {
diff --git a/arch/arm/boot/dts/sun6i-a31s-primo81.dts b/arch/arm/boot/dts/sun6i-a31s-primo81.dts
index 0cdb38ab3377..4cb9664cdb29 100644
--- a/arch/arm/boot/dts/sun6i-a31s-primo81.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-primo81.dts
@@ -151,8 +151,7 @@
151 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_primo81>; 151 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_primo81>;
152 vmmc-supply = <&reg_dcdc1>; 152 vmmc-supply = <&reg_dcdc1>;
153 bus-width = <4>; 153 bus-width = <4>;
154 cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ 154 cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
155 cd-inverted;
156 status = "okay"; 155 status = "okay";
157}; 156};
158 157
diff --git a/arch/arm/boot/dts/sun6i-a31s-sina31s.dts b/arch/arm/boot/dts/sun6i-a31s-sina31s.dts
index 298476485bb4..da0ccf5a2c44 100644
--- a/arch/arm/boot/dts/sun6i-a31s-sina31s.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-sina31s.dts
@@ -167,8 +167,7 @@
167 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina31s>; 167 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina31s>;
168 vmmc-supply = <&reg_dcdc1>; 168 vmmc-supply = <&reg_dcdc1>;
169 bus-width = <4>; 169 bus-width = <4>;
170 cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */ 170 cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
171 cd-inverted;
172 status = "okay"; 171 status = "okay";
173}; 172};
174 173
diff --git a/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts b/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
index b2758dd8ce43..b8b79c0e9ee0 100644
--- a/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-sinovoip-bpi-m2.dts
@@ -120,8 +120,7 @@
120 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>; 120 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m2>;
121 vmmc-supply = <&reg_dcdc1>; 121 vmmc-supply = <&reg_dcdc1>;
122 bus-width = <4>; 122 bus-width = <4>;
123 cd-gpios = <&pio 0 4 GPIO_ACTIVE_HIGH>; /* PA4 */ 123 cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
124 cd-inverted;
125 status = "okay"; 124 status = "okay";
126}; 125};
127 126
diff --git a/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts b/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
index f3edf9ca435c..aab6c1720ef7 100644
--- a/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
+++ b/arch/arm/boot/dts/sun6i-a31s-yones-toptech-bs1078-v2.dts
@@ -102,8 +102,7 @@
102 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bs1078v2>; 102 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bs1078v2>;
103 vmmc-supply = <&reg_vcc3v0>; 103 vmmc-supply = <&reg_vcc3v0>;
104 bus-width = <4>; 104 bus-width = <4>;
105 cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ 105 cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
106 cd-inverted;
107 status = "okay"; 106 status = "okay";
108}; 107};
109 108
diff --git a/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi b/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
index 3cc4046b904a..4e72e4f3ef96 100644
--- a/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
+++ b/arch/arm/boot/dts/sun6i-reference-design-tablet.dtsi
@@ -69,8 +69,7 @@
69 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>; 69 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_e708_q1>;
70 vmmc-supply = <&reg_dcdc1>; 70 vmmc-supply = <&reg_dcdc1>;
71 bus-width = <4>; 71 bus-width = <4>;
72 cd-gpios = <&pio 0 8 GPIO_ACTIVE_HIGH>; /* PA8 */ 72 cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
73 cd-inverted;
74 status = "okay"; 73 status = "okay";
75}; 74};
76 75
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts b/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
index 4ed3162e3e5a..763cb03033c4 100644
--- a/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
+++ b/arch/arm/boot/dts/sun7i-a20-bananapi-m1-plus.dts
@@ -184,8 +184,7 @@
184 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>; 184 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bpi_m1p>;
185 vmmc-supply = <&reg_vcc3v3>; 185 vmmc-supply = <&reg_vcc3v3>;
186 bus-width = <4>; 186 bus-width = <4>;
187 cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ 187 cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
188 cd-inverted;
189 status = "okay"; 188 status = "okay";
190}; 189};
191 190
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
index 88a1c2363c6c..70dfc4ac0bb5 100644
--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
+++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
@@ -63,6 +63,17 @@
63 stdout-path = "serial0:115200n8"; 63 stdout-path = "serial0:115200n8";
64 }; 64 };
65 65
66 hdmi-connector {
67 compatible = "hdmi-connector";
68 type = "a";
69
70 port {
71 hdmi_con_in: endpoint {
72 remote-endpoint = <&hdmi_out_con>;
73 };
74 };
75 };
76
66 leds { 77 leds {
67 compatible = "gpio-leds"; 78 compatible = "gpio-leds";
68 pinctrl-names = "default"; 79 pinctrl-names = "default";
@@ -109,6 +120,10 @@
109 >; 120 >;
110}; 121};
111 122
123&de {
124 status = "okay";
125};
126
112&ehci0 { 127&ehci0 {
113 status = "okay"; 128 status = "okay";
114}; 129};
@@ -130,6 +145,16 @@
130 }; 145 };
131}; 146};
132 147
148&hdmi {
149 status = "okay";
150};
151
152&hdmi_out {
153 hdmi_out_con: endpoint {
154 remote-endpoint = <&hdmi_con_in>;
155 };
156};
157
133&i2c0 { 158&i2c0 {
134 pinctrl-names = "default"; 159 pinctrl-names = "default";
135 pinctrl-0 = <&i2c0_pins_a>; 160 pinctrl-0 = <&i2c0_pins_a>;
@@ -159,8 +184,7 @@
159 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>; 184 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapi>;
160 vmmc-supply = <&reg_vcc3v3>; 185 vmmc-supply = <&reg_vcc3v3>;
161 bus-width = <4>; 186 bus-width = <4>;
162 cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ 187 cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
163 cd-inverted;
164 status = "okay"; 188 status = "okay";
165}; 189};
166 190
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
index e7af1b7c33d5..0898eb6162f5 100644
--- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
@@ -158,8 +158,7 @@
158 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>; 158 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_bananapro>;
159 vmmc-supply = <&reg_vcc3v3>; 159 vmmc-supply = <&reg_vcc3v3>;
160 bus-width = <4>; 160 bus-width = <4>;
161 cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ 161 cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
162 cd-inverted;
163 status = "okay"; 162 status = "okay";
164}; 163};
165 164
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
index 39f43e4eb742..942ac9dfd4a5 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -165,8 +165,7 @@
165 pinctrl-0 = <&mmc0_pins_a>; 165 pinctrl-0 = <&mmc0_pins_a>;
166 vmmc-supply = <&reg_vcc3v3>; 166 vmmc-supply = <&reg_vcc3v3>;
167 bus-width = <4>; 167 bus-width = <4>;
168 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 168 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
169 cd-inverted;
170 status = "okay"; 169 status = "okay";
171}; 170};
172 171
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
index 8c9bedc602ec..5649161de1d7 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -206,8 +206,7 @@
206 pinctrl-0 = <&mmc0_pins_a>; 206 pinctrl-0 = <&mmc0_pins_a>;
207 vmmc-supply = <&reg_vcc3v3>; 207 vmmc-supply = <&reg_vcc3v3>;
208 bus-width = <4>; 208 bus-width = <4>;
209 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 209 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
210 cd-inverted;
211 status = "okay"; 210 status = "okay";
212}; 211};
213 212
diff --git a/arch/arm/boot/dts/sun7i-a20-hummingbird.dts b/arch/arm/boot/dts/sun7i-a20-hummingbird.dts
index 6e6264cd69f8..1f0e5ecbf0c4 100644
--- a/arch/arm/boot/dts/sun7i-a20-hummingbird.dts
+++ b/arch/arm/boot/dts/sun7i-a20-hummingbird.dts
@@ -163,8 +163,7 @@
163 pinctrl-0 = <&mmc0_pins_a>; 163 pinctrl-0 = <&mmc0_pins_a>;
164 vmmc-supply = <&reg_vcc3v0>; 164 vmmc-supply = <&reg_vcc3v0>;
165 bus-width = <4>; 165 bus-width = <4>;
166 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 166 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
167 cd-inverted;
168 status = "okay"; 167 status = "okay";
169}; 168};
170 169
diff --git a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
index 55809973a568..2e3f2f29d124 100644
--- a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
+++ b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
@@ -160,8 +160,7 @@
160 pinctrl-0 = <&mmc0_pins_a>; 160 pinctrl-0 = <&mmc0_pins_a>;
161 vmmc-supply = <&reg_vcc3v3>; 161 vmmc-supply = <&reg_vcc3v3>;
162 bus-width = <4>; 162 bus-width = <4>;
163 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 163 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
164 cd-inverted;
165 status = "okay"; 164 status = "okay";
166}; 165};
167 166
diff --git a/arch/arm/boot/dts/sun7i-a20-icnova-swac.dts b/arch/arm/boot/dts/sun7i-a20-icnova-swac.dts
index 794e7617f545..926fa194eb1b 100644
--- a/arch/arm/boot/dts/sun7i-a20-icnova-swac.dts
+++ b/arch/arm/boot/dts/sun7i-a20-icnova-swac.dts
@@ -107,8 +107,7 @@
107 pinctrl-0 = <&mmc0_pins_a>; 107 pinctrl-0 = <&mmc0_pins_a>;
108 vmmc-supply = <&reg_vcc3v3>; 108 vmmc-supply = <&reg_vcc3v3>;
109 bus-width = <4>; 109 bus-width = <4>;
110 cd-gpios = <&pio 8 5 GPIO_ACTIVE_HIGH>; /* PI5 */ 110 cd-gpios = <&pio 8 5 GPIO_ACTIVE_LOW>; /* PI5 */
111 cd-inverted;
112 status = "okay"; 111 status = "okay";
113}; 112};
114 113
diff --git a/arch/arm/boot/dts/sun7i-a20-itead-ibox.dts b/arch/arm/boot/dts/sun7i-a20-itead-ibox.dts
index 8a8a6dbcd414..1b05ba466e7d 100644
--- a/arch/arm/boot/dts/sun7i-a20-itead-ibox.dts
+++ b/arch/arm/boot/dts/sun7i-a20-itead-ibox.dts
@@ -124,8 +124,7 @@
124 pinctrl-0 = <&mmc0_pins_a>; 124 pinctrl-0 = <&mmc0_pins_a>;
125 vmmc-supply = <&reg_vcc3v3>; 125 vmmc-supply = <&reg_vcc3v3>;
126 bus-width = <4>; 126 bus-width = <4>;
127 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 127 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
128 cd-inverted;
129 status = "okay"; 128 status = "okay";
130}; 129};
131 130
diff --git a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
index 442f3c755f36..b1ab7c1c33e3 100644
--- a/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
+++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
@@ -227,8 +227,7 @@
227 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>; 227 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_lamobo_r1>;
228 vmmc-supply = <&reg_vcc3v3>; 228 vmmc-supply = <&reg_vcc3v3>;
229 bus-width = <4>; 229 bus-width = <4>;
230 cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ 230 cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
231 cd-inverted;
232 status = "okay"; 231 status = "okay";
233}; 232};
234 233
diff --git a/arch/arm/boot/dts/sun7i-a20-m3.dts b/arch/arm/boot/dts/sun7i-a20-m3.dts
index 43c94787ef07..e91a209850bc 100644
--- a/arch/arm/boot/dts/sun7i-a20-m3.dts
+++ b/arch/arm/boot/dts/sun7i-a20-m3.dts
@@ -120,8 +120,7 @@
120 pinctrl-0 = <&mmc0_pins_a>; 120 pinctrl-0 = <&mmc0_pins_a>;
121 vmmc-supply = <&reg_vcc3v3>; 121 vmmc-supply = <&reg_vcc3v3>;
122 bus-width = <4>; 122 bus-width = <4>;
123 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 123 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
124 cd-inverted;
125 status = "okay"; 124 status = "okay";
126}; 125};
127 126
diff --git a/arch/arm/boot/dts/sun7i-a20-mk808c.dts b/arch/arm/boot/dts/sun7i-a20-mk808c.dts
index f7413094183c..6109f794a9c1 100644
--- a/arch/arm/boot/dts/sun7i-a20-mk808c.dts
+++ b/arch/arm/boot/dts/sun7i-a20-mk808c.dts
@@ -66,12 +66,27 @@
66 chosen { 66 chosen {
67 stdout-path = "serial0:115200n8"; 67 stdout-path = "serial0:115200n8";
68 }; 68 };
69
70 hdmi-connector {
71 compatible = "hdmi-connector";
72 type = "a";
73
74 port {
75 hdmi_con_in: endpoint {
76 remote-endpoint = <&hdmi_out_con>;
77 };
78 };
79 };
69}; 80};
70 81
71&codec { 82&codec {
72 status = "okay"; 83 status = "okay";
73}; 84};
74 85
86&de {
87 status = "okay";
88};
89
75&ehci0 { 90&ehci0 {
76 status = "okay"; 91 status = "okay";
77}; 92};
@@ -80,6 +95,16 @@
80 status = "okay"; 95 status = "okay";
81}; 96};
82 97
98&hdmi {
99 status = "okay";
100};
101
102&hdmi_out {
103 hdmi_out_con: endpoint {
104 remote-endpoint = <&hdmi_con_in>;
105 };
106};
107
83&i2c0 { 108&i2c0 {
84 pinctrl-names = "default"; 109 pinctrl-names = "default";
85 pinctrl-0 = <&i2c0_pins_a>; 110 pinctrl-0 = <&i2c0_pins_a>;
@@ -112,8 +137,7 @@
112 pinctrl-0 = <&mmc0_pins_a>; 137 pinctrl-0 = <&mmc0_pins_a>;
113 vmmc-supply = <&reg_vcc3v0>; 138 vmmc-supply = <&reg_vcc3v0>;
114 bus-width = <4>; 139 bus-width = <4>;
115 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 140 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
116 cd-inverted;
117 status = "okay"; 141 status = "okay";
118}; 142};
119 143
diff --git a/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts b/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
index 64c8ef9a2756..f080f82b58ef 100644
--- a/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
@@ -61,6 +61,17 @@
61 stdout-path = "serial0:115200n8"; 61 stdout-path = "serial0:115200n8";
62 }; 62 };
63 63
64 hdmi-connector {
65 compatible = "hdmi-connector";
66 type = "a";
67
68 port {
69 hdmi_con_in: endpoint {
70 remote-endpoint = <&hdmi_out_con>;
71 };
72 };
73 };
74
64 leds { 75 leds {
65 compatible = "gpio-leds"; 76 compatible = "gpio-leds";
66 pinctrl-names = "default"; 77 pinctrl-names = "default";
@@ -79,6 +90,10 @@
79 status = "okay"; 90 status = "okay";
80}; 91};
81 92
93&de {
94 status = "okay";
95};
96
82&ehci0 { 97&ehci0 {
83 status = "okay"; 98 status = "okay";
84}; 99};
@@ -107,6 +122,16 @@
107 }; 122 };
108}; 123};
109 124
125&hdmi {
126 status = "okay";
127};
128
129&hdmi_out {
130 hdmi_out_con: endpoint {
131 remote-endpoint = <&hdmi_con_in>;
132 };
133};
134
110&i2c0 { 135&i2c0 {
111 pinctrl-names = "default"; 136 pinctrl-names = "default";
112 pinctrl-0 = <&i2c0_pins_a>; 137 pinctrl-0 = <&i2c0_pins_a>;
@@ -190,8 +215,7 @@
190 pinctrl-0 = <&mmc0_pins_a>; 215 pinctrl-0 = <&mmc0_pins_a>;
191 vmmc-supply = <&reg_vcc3v3>; 216 vmmc-supply = <&reg_vcc3v3>;
192 bus-width = <4>; 217 bus-width = <4>;
193 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 218 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
194 cd-inverted;
195 status = "okay"; 219 status = "okay";
196}; 220};
197 221
@@ -200,8 +224,7 @@
200 pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>; 224 pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olimex_som_evb>;
201 vmmc-supply = <&reg_vcc3v3>; 225 vmmc-supply = <&reg_vcc3v3>;
202 bus-width = <4>; 226 bus-width = <4>;
203 cd-gpios = <&pio 7 0 GPIO_ACTIVE_HIGH>; /* PH0 */ 227 cd-gpios = <&pio 7 0 GPIO_ACTIVE_LOW>; /* PH0 */
204 cd-inverted;
205 status = "okay"; 228 status = "okay";
206}; 229};
207 230
diff --git a/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb-emmc.dts b/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb-emmc.dts
new file mode 100644
index 000000000000..c56620a8fb20
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb-emmc.dts
@@ -0,0 +1,36 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree Source for A20-SOM204-EVB-eMMC Board
4 *
5 * Copyright (C) 2018 Olimex Ltd.
6 * Author: Stefan Mavrodiev <stefan@olimex.com>
7 */
8
9/dts-v1/;
10#include "sun7i-a20-olimex-som204-evb.dts"
11
12/ {
13 model = "Olimex A20-SOM204-EVB-eMMC";
14 compatible = "olimex,a20-olimex-som204-evb-emmc", "allwinner,sun7i-a20";
15
16 mmc2_pwrseq: mmc2_pwrseq {
17 compatible = "mmc-pwrseq-emmc";
18 reset-gpios = <&pio 2 16 GPIO_ACTIVE_LOW>;
19 };
20};
21
22&mmc2 {
23 pinctrl-names = "default";
24 pinctrl-0 = <&mmc2_pins_a>;
25 vmmc-supply = <&reg_vcc3v3>;
26 mmc-pwrseq = <&mmc2_pwrseq>;
27 bus-width = <4>;
28 non-removable;
29 status = "okay";
30
31 emmc: emmc@0 {
32 reg = <0>;
33 compatible = "mmc-card";
34 broken-hpi;
35 };
36};
diff --git a/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts b/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts
new file mode 100644
index 000000000000..eae8e267b9ef
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts
@@ -0,0 +1,335 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device Tree Source for A20-SOM204-EVB Board
4 *
5 * Copyright (C) 2018 Olimex Ltd.
6 * Author: Stefan Mavrodiev <stefan@olimex.com>
7 */
8
9/dts-v1/;
10#include "sun7i-a20.dtsi"
11#include "sunxi-common-regulators.dtsi"
12
13
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16#include <dt-bindings/pwm/pwm.h>
17
18/ {
19 model = "Olimex A20-SOM204-EVB";
20 compatible = "olimex,a20-olimex-som204-evb", "allwinner,sun7i-a20";
21
22 aliases {
23 serial0 = &uart0;
24 serial1 = &uart4;
25 serial2 = &uart7;
26 spi0 = &spi1;
27 spi1 = &spi2;
28 ethernet1 = &rtl8723bs;
29 };
30
31 chosen {
32 stdout-path = "serial0:115200n8";
33 };
34
35 hdmi-connector {
36 compatible = "hdmi-connector";
37 type = "a";
38
39 port {
40 hdmi_con_in: endpoint {
41 remote-endpoint = <&hdmi_out_con>;
42 };
43 };
44 };
45
46 leds {
47 compatible = "gpio-leds";
48
49 stat {
50 label = "a20-som204-evb:green:stat";
51 gpios = <&pio 8 0 GPIO_ACTIVE_HIGH>;
52 default-state = "on";
53 };
54
55 led1 {
56 label = "a20-som204-evb:green:led1";
57 gpios = <&pio 8 10 GPIO_ACTIVE_HIGH>;
58 default-state = "on";
59 };
60
61 led2 {
62 label = "a20-som204-evb:yellow:led2";
63 gpios = <&pio 8 11 GPIO_ACTIVE_HIGH>;
64 default-state = "on";
65 };
66 };
67
68 rtl_pwrseq: rtl_pwrseq {
69 compatible = "mmc-pwrseq-simple";
70 reset-gpios = <&pio 6 9 GPIO_ACTIVE_LOW>;
71 };
72};
73
74&ahci {
75 target-supply = <&reg_ahci_5v>;
76 status = "okay";
77};
78
79&can0 {
80 pinctrl-names = "default";
81 pinctrl-0 = <&can0_pins_a>;
82 status = "okay";
83};
84
85&codec {
86 status = "okay";
87};
88
89&cpu0 {
90 cpu-supply = <&reg_dcdc2>;
91};
92
93&de {
94 status = "okay";
95};
96
97&ehci0 {
98 status = "okay";
99};
100
101&ehci1 {
102 status = "okay";
103};
104
105&gmac {
106 pinctrl-names = "default";
107 pinctrl-0 = <&gmac_pins_rgmii_a>;
108 phy = <&phy3>;
109 phy-mode = "rgmii";
110 phy-supply = <&reg_vcc3v3>;
111
112 snps,reset-gpio = <&pio 0 17 GPIO_ACTIVE_HIGH>;
113 snps,reset-active-low;
114 snps,reset-delays-us = <0 10000 1000000>;
115 status = "okay";
116
117 phy3: ethernet-phy@3 {
118 reg = <3>;
119 };
120};
121
122&hdmi {
123 status = "okay";
124};
125
126&hdmi_out {
127 hdmi_out_con: endpoint {
128 remote-endpoint = <&hdmi_con_in>;
129 };
130};
131
132&i2c0 {
133 pinctrl-names = "default";
134 pinctrl-0 = <&i2c0_pins_a>;
135 status = "okay";
136
137 axp209: pmic@34 {
138 reg = <0x34>;
139 interrupt-parent = <&nmi_intc>;
140 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
141 };
142};
143
144/* Exposed to UEXT1 */
145&i2c1 {
146 pinctrl-names = "default";
147 pinctrl-0 = <&i2c1_pins_a>;
148 status = "okay";
149
150 eeprom: eeprom@50 {
151 compatible = "atmel,24c16";
152 reg = <0x50>;
153 pagesize = <16>;
154 };
155};
156
157/* Exposed to UEXT2 */
158&i2c2 {
159 pinctrl-names = "default";
160 pinctrl-0 = <&i2c2_pins_a>;
161 status = "okay";
162};
163
164&ir0 {
165 pinctrl-names = "default";
166 pinctrl-0 = <&ir0_rx_pins_a>;
167 status = "okay";
168};
169
170&mmc0 {
171 pinctrl-names = "default";
172 pinctrl-0 = <&mmc0_pins_a>;
173 vmmc-supply = <&reg_vcc3v3>;
174 bus-width = <4>;
175 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>;
176 cd-inverted;
177 status = "okay";
178};
179
180&mmc3 {
181 pinctrl-names = "default";
182 pinctrl-0 = <&mmc3_pins_a>;
183 vmmc-supply = <&reg_vcc3v3>;
184 mmc-pwrseq = <&rtl_pwrseq>;
185 bus-width = <4>;
186 non-removable;
187 status = "okay";
188
189 rtl8723bs: sdio_wifi@1 {
190 reg = <1>;
191 };
192};
193
194&ohci0 {
195 status = "okay";
196};
197
198&ohci1 {
199 status = "okay";
200};
201
202&otg_sram {
203 status = "okay";
204};
205
206&pio {
207 bt_uart_pins: bt_uart_pins@0 {
208 pins = "PG6", "PG7", "PG8";
209 function = "uart3";
210 };
211};
212
213#include "axp209.dtsi"
214
215&ac_power_supply {
216 status = "okay";
217};
218
219&battery_power_supply {
220 status = "okay";
221};
222
223&reg_ahci_5v {
224 gpio = <&pio 2 3 GPIO_ACTIVE_HIGH>;
225 status = "okay";
226};
227
228&reg_dcdc2 {
229 regulator-always-on;
230 regulator-min-microvolt = <1000000>;
231 regulator-max-microvolt = <1400000>;
232 regulator-name = "vdd-cpu";
233};
234
235&reg_dcdc3 {
236 regulator-always-on;
237 regulator-min-microvolt = <1000000>;
238 regulator-max-microvolt = <1400000>;
239 regulator-name = "vdd-int-dll";
240};
241
242&reg_ldo1 {
243 regulator-always-on;
244 regulator-min-microvolt = <1300000>;
245 regulator-max-microvolt = <1300000>;
246 regulator-name = "vdd-rtc";
247};
248
249&reg_ldo2 {
250 regulator-always-on;
251 regulator-min-microvolt = <3000000>;
252 regulator-max-microvolt = <3000000>;
253 regulator-name = "avcc";
254};
255
256&reg_ldo4 {
257 regulator-min-microvolt = <3300000>;
258 regulator-max-microvolt = <3300000>;
259 regulator-name = "vcc-pg";
260};
261
262&reg_usb0_vbus {
263 gpio = <&pio 2 17 GPIO_ACTIVE_HIGH>;
264 status = "okay";
265};
266
267&reg_usb1_vbus {
268 status = "okay";
269};
270
271&reg_usb2_vbus {
272 status = "okay";
273};
274
275/* Exposed to UEXT1 */
276&spi1 {
277 pinctrl-names = "default";
278 pinctrl-0 = <&spi1_pins_a>,
279 <&spi1_cs0_pins_a>;
280 status = "okay";
281};
282
283/* Exposed to UEXT2 */
284&spi2 {
285 pinctrl-names = "default";
286 pinctrl-0 = <&spi2_pins_a>,
287 <&spi2_cs0_pins_a>;
288 status = "okay";
289};
290
291&uart0 {
292 pinctrl-names = "default";
293 pinctrl-0 = <&uart0_pins_a>;
294 status = "okay";
295};
296
297/* Used for RTL8723BS bluetooth */
298&uart3 {
299 pinctrl-names = "default";
300 pinctrl-0 = <&bt_uart_pins>;
301 status = "okay";
302};
303
304/* Exposed to UEXT1 */
305&uart4 {
306 pinctrl-names = "default";
307 pinctrl-0 = <&uart4_pins_a>;
308 status = "okay";
309};
310
311/* Exposed to UEXT2 */
312&uart7 {
313 pinctrl-names = "default";
314 pinctrl-0 = <&uart7_pins_a>;
315 status = "okay";
316};
317
318&usb_otg {
319 dr_mode = "otg";
320 status = "okay";
321};
322
323&usb_power_supply {
324 status = "okay";
325};
326
327&usbphy {
328 usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
329 usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
330 usb0_vbus_power-supply = <&usb_power_supply>;
331 usb0_vbus-supply = <&reg_usb0_vbus>;
332 usb1_vbus-supply = <&reg_usb1_vbus>;
333 usb2_vbus-supply = <&reg_usb2_vbus>;
334 status = "okay";
335};
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
index edf9c3c6c0d7..d20fd03596e9 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
@@ -158,8 +158,7 @@
158 pinctrl-0 = <&mmc0_pins_a>; 158 pinctrl-0 = <&mmc0_pins_a>;
159 vmmc-supply = <&reg_vcc3v3>; 159 vmmc-supply = <&reg_vcc3v3>;
160 bus-width = <4>; 160 bus-width = <4>;
161 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 161 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
162 cd-inverted;
163 status = "okay"; 162 status = "okay";
164}; 163};
165 164
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
index ba250189d07f..b828677f331d 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
@@ -159,8 +159,7 @@
159 pinctrl-0 = <&mmc0_pins_a>; 159 pinctrl-0 = <&mmc0_pins_a>;
160 vmmc-supply = <&reg_vcc3v3>; 160 vmmc-supply = <&reg_vcc3v3>;
161 bus-width = <4>; 161 bus-width = <4>;
162 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 162 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
163 cd-inverted;
164 status = "okay"; 163 status = "okay";
165}; 164};
166 165
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
index dffbaa24b3ee..866d230593be 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -226,8 +226,7 @@
226 pinctrl-0 = <&mmc0_pins_a>; 226 pinctrl-0 = <&mmc0_pins_a>;
227 vmmc-supply = <&reg_vcc3v3>; 227 vmmc-supply = <&reg_vcc3v3>;
228 bus-width = <4>; 228 bus-width = <4>;
229 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 229 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
230 cd-inverted;
231 status = "okay"; 230 status = "okay";
232}; 231};
233 232
@@ -236,8 +235,7 @@
236 pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>; 235 pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_olinuxinom>;
237 vmmc-supply = <&reg_vcc3v3>; 236 vmmc-supply = <&reg_vcc3v3>;
238 bus-width = <4>; 237 bus-width = <4>;
239 cd-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ 238 cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
240 cd-inverted;
241 status = "okay"; 239 status = "okay";
242}; 240};
243 241
diff --git a/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts b/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
index 7af4c8fc1865..f5c7178eb063 100644
--- a/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
+++ b/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
@@ -61,6 +61,17 @@
61 stdout-path = "serial0:115200n8"; 61 stdout-path = "serial0:115200n8";
62 }; 62 };
63 63
64 hdmi-connector {
65 compatible = "hdmi-connector";
66 type = "a";
67
68 port {
69 hdmi_con_in: endpoint {
70 remote-endpoint = <&hdmi_out_con>;
71 };
72 };
73 };
74
64 leds { 75 leds {
65 compatible = "gpio-leds"; 76 compatible = "gpio-leds";
66 pinctrl-names = "default"; 77 pinctrl-names = "default";
@@ -98,6 +109,10 @@
98 status = "okay"; 109 status = "okay";
99}; 110};
100 111
112&de {
113 status = "okay";
114};
115
101&ehci0 { 116&ehci0 {
102 status = "okay"; 117 status = "okay";
103}; 118};
@@ -119,6 +134,16 @@
119 }; 134 };
120}; 135};
121 136
137&hdmi {
138 status = "okay";
139};
140
141&hdmi_out {
142 hdmi_out_con: endpoint {
143 remote-endpoint = <&hdmi_con_in>;
144 };
145};
146
122&i2c0 { 147&i2c0 {
123 pinctrl-names = "default"; 148 pinctrl-names = "default";
124 pinctrl-0 = <&i2c0_pins_a>; 149 pinctrl-0 = <&i2c0_pins_a>;
@@ -144,8 +169,7 @@
144 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>; 169 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
145 vmmc-supply = <&reg_vcc3v3>; 170 vmmc-supply = <&reg_vcc3v3>;
146 bus-width = <4>; 171 bus-width = <4>;
147 cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ 172 cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
148 cd-inverted;
149 status = "okay"; 173 status = "okay";
150}; 174};
151 175
@@ -154,8 +178,7 @@
154 pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>; 178 pinctrl-0 = <&mmc3_pins_a>, <&mmc3_cd_pin_orangepi>;
155 vmmc-supply = <&reg_vcc3v3>; 179 vmmc-supply = <&reg_vcc3v3>;
156 bus-width = <4>; 180 bus-width = <4>;
157 cd-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ 181 cd-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
158 cd-inverted;
159 status = "okay"; 182 status = "okay";
160}; 183};
161 184
diff --git a/arch/arm/boot/dts/sun7i-a20-orangepi.dts b/arch/arm/boot/dts/sun7i-a20-orangepi.dts
index 0a8d4a05e8a0..7a4244e57589 100644
--- a/arch/arm/boot/dts/sun7i-a20-orangepi.dts
+++ b/arch/arm/boot/dts/sun7i-a20-orangepi.dts
@@ -135,8 +135,7 @@
135 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>; 135 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_orangepi>;
136 vmmc-supply = <&reg_vcc3v3>; 136 vmmc-supply = <&reg_vcc3v3>;
137 bus-width = <4>; 137 bus-width = <4>;
138 cd-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */ 138 cd-gpios = <&pio 7 10 GPIO_ACTIVE_LOW>; /* PH10 */
139 cd-inverted;
140 status = "okay"; 139 status = "okay";
141}; 140};
142 141
diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
index fb591f32252c..bfca960b03e0 100644
--- a/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts
@@ -158,8 +158,7 @@
158 pinctrl-0 = <&mmc0_pins_a>; 158 pinctrl-0 = <&mmc0_pins_a>;
159 vmmc-supply = <&reg_vcc3v3>; 159 vmmc-supply = <&reg_vcc3v3>;
160 bus-width = <4>; 160 bus-width = <4>;
161 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 161 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
162 cd-inverted;
163 status = "okay"; 162 status = "okay";
164}; 163};
165 164
diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
index 777152a3df0f..c576f101fbde 100644
--- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
+++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
@@ -159,8 +159,7 @@
159 pinctrl-0 = <&mmc0_pins_a>; 159 pinctrl-0 = <&mmc0_pins_a>;
160 vmmc-supply = <&reg_vcc3v3>; 160 vmmc-supply = <&reg_vcc3v3>;
161 bus-width = <4>; 161 bus-width = <4>;
162 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 162 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
163 cd-inverted;
164 status = "okay"; 163 status = "okay";
165}; 164};
166 165
diff --git a/arch/arm/boot/dts/sun7i-a20-wexler-tab7200.dts b/arch/arm/boot/dts/sun7i-a20-wexler-tab7200.dts
index f8d0aafb9f88..8202c87ca6a3 100644
--- a/arch/arm/boot/dts/sun7i-a20-wexler-tab7200.dts
+++ b/arch/arm/boot/dts/sun7i-a20-wexler-tab7200.dts
@@ -154,8 +154,7 @@
154 pinctrl-0 = <&mmc0_pins_a>; 154 pinctrl-0 = <&mmc0_pins_a>;
155 vmmc-supply = <&reg_vcc3v3>; 155 vmmc-supply = <&reg_vcc3v3>;
156 bus-width = <4>; 156 bus-width = <4>;
157 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 157 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
158 cd-inverted;
159 status = "okay"; 158 status = "okay";
160}; 159};
161 160
diff --git a/arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts b/arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts
index 7f8405a0dd0f..ff5c1086585c 100644
--- a/arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts
+++ b/arch/arm/boot/dts/sun7i-a20-wits-pro-a20-dkt.dts
@@ -123,8 +123,7 @@
123 pinctrl-0 = <&mmc0_pins_a>; 123 pinctrl-0 = <&mmc0_pins_a>;
124 vmmc-supply = <&reg_vcc3v3>; 124 vmmc-supply = <&reg_vcc3v3>;
125 bus-width = <4>; 125 bus-width = <4>;
126 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 126 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
127 cd-inverted;
128 status = "okay"; 127 status = "okay";
129}; 128};
130 129
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
index bd0cd3204273..e529e4ff2174 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -47,7 +47,7 @@
47#include <dt-bindings/interrupt-controller/arm-gic.h> 47#include <dt-bindings/interrupt-controller/arm-gic.h>
48#include <dt-bindings/thermal/thermal.h> 48#include <dt-bindings/thermal/thermal.h>
49#include <dt-bindings/dma/sun4i-a10.h> 49#include <dt-bindings/dma/sun4i-a10.h>
50#include <dt-bindings/clock/sun4i-a10-ccu.h> 50#include <dt-bindings/clock/sun7i-a20-ccu.h>
51#include <dt-bindings/reset/sun4i-a10-ccu.h> 51#include <dt-bindings/reset/sun4i-a10-ccu.h>
52 52
53/ { 53/ {
@@ -116,8 +116,6 @@
116 144000 1000000 116 144000 1000000
117 >; 117 >;
118 #cooling-cells = <2>; 118 #cooling-cells = <2>;
119 cooling-min-level = <0>;
120 cooling-max-level = <6>;
121 }; 119 };
122 120
123 cpu@1 { 121 cpu@1 {
@@ -1217,6 +1215,31 @@
1217 #size-cells = <0>; 1215 #size-cells = <0>;
1218 }; 1216 };
1219 1217
1218 mali: gpu@1c40000 {
1219 compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
1220 reg = <0x01c40000 0x10000>;
1221 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1222 <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1223 <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
1224 <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
1225 <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
1226 <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
1227 <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
1228 interrupt-names = "gp",
1229 "gpmmu",
1230 "pp0",
1231 "ppmmu0",
1232 "pp1",
1233 "ppmmu1",
1234 "pmu";
1235 clocks = <&ccu CLK_AHB_GPU>, <&ccu CLK_GPU>;
1236 clock-names = "bus", "core";
1237 resets = <&ccu RST_GPU>;
1238
1239 assigned-clocks = <&ccu CLK_GPU>;
1240 assigned-clock-rates = <384000000>;
1241 };
1242
1220 gmac: ethernet@1c50000 { 1243 gmac: ethernet@1c50000 {
1221 compatible = "allwinner,sun7i-a20-gmac"; 1244 compatible = "allwinner,sun7i-a20-gmac";
1222 reg = <0x01c50000 0x10000>; 1245 reg = <0x01c50000 0x10000>;
diff --git a/arch/arm/boot/dts/sun8i-a23-evb.dts b/arch/arm/boot/dts/sun8i-a23-evb.dts
index 87289a60c520..8a93697df3a5 100644
--- a/arch/arm/boot/dts/sun8i-a23-evb.dts
+++ b/arch/arm/boot/dts/sun8i-a23-evb.dts
@@ -107,8 +107,7 @@
107 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_evb>; 107 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_evb>;
108 vmmc-supply = <&reg_vcc3v0>; 108 vmmc-supply = <&reg_vcc3v0>;
109 bus-width = <4>; 109 bus-width = <4>;
110 cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 110 cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
111 cd-inverted;
112 status = "okay"; 111 status = "okay";
113}; 112};
114 113
diff --git a/arch/arm/boot/dts/sun8i-a33-olinuxino.dts b/arch/arm/boot/dts/sun8i-a33-olinuxino.dts
index be9a6b8d7a1e..a1a1eb64caeb 100644
--- a/arch/arm/boot/dts/sun8i-a33-olinuxino.dts
+++ b/arch/arm/boot/dts/sun8i-a33-olinuxino.dts
@@ -43,7 +43,6 @@
43 43
44/dts-v1/; 44/dts-v1/;
45#include "sun8i-a33.dtsi" 45#include "sun8i-a33.dtsi"
46#include "sunxi-common-regulators.dtsi"
47 46
48#include <dt-bindings/gpio/gpio.h> 47#include <dt-bindings/gpio/gpio.h>
49#include <dt-bindings/input/input.h> 48#include <dt-bindings/input/input.h>
@@ -62,8 +61,6 @@
62 61
63 leds { 62 leds {
64 compatible = "gpio-leds"; 63 compatible = "gpio-leds";
65 pinctrl-names = "default";
66 pinctrl-0 = <&led_pin_olinuxino>;
67 64
68 green { 65 green {
69 label = "a33-olinuxino:green:usr"; 66 label = "a33-olinuxino:green:usr";
@@ -72,17 +69,24 @@
72 }; 69 };
73}; 70};
74 71
72&codec {
73 status = "okay";
74};
75
76&dai {
77 status = "okay";
78};
79
75&ehci0 { 80&ehci0 {
76 status = "okay"; 81 status = "okay";
77}; 82};
78 83
79&mmc0 { 84&mmc0 {
80 pinctrl-names = "default"; 85 pinctrl-names = "default";
81 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_olinuxino>; 86 pinctrl-0 = <&mmc0_pins_a>;
82 vmmc-supply = <&reg_dcdc1>; 87 vmmc-supply = <&reg_dcdc1>;
83 bus-width = <4>; 88 bus-width = <4>;
84 cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 89 cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
85 cd-inverted;
86 status = "okay"; 90 status = "okay";
87}; 91};
88 92
@@ -90,23 +94,6 @@
90 status = "okay"; 94 status = "okay";
91}; 95};
92 96
93&pio {
94 led_pin_olinuxino: led_pins@0 {
95 pins = "PB7";
96 function = "gpio_out";
97 };
98
99 mmc0_cd_pin_olinuxino: mmc0_cd_pin@0 {
100 pins = "PB4";
101 function = "gpio_in";
102 };
103
104 usb0_id_detect_pin: usb0_id_detect_pin@0 {
105 pins = "PB3";
106 function = "gpio_in";
107 };
108};
109
110&r_rsb { 97&r_rsb {
111 status = "okay"; 98 status = "okay";
112 99
@@ -122,6 +109,14 @@
122 109
123#include "axp223.dtsi" 110#include "axp223.dtsi"
124 111
112&ac_power_supply {
113 status = "okay";
114};
115
116&battery_power_supply {
117 status = "okay";
118};
119
125&reg_aldo1 { 120&reg_aldo1 {
126 regulator-always-on; 121 regulator-always-on;
127 regulator-min-microvolt = <3300000>; 122 regulator-min-microvolt = <3300000>;
@@ -195,6 +190,21 @@
195 vcc-lcd-supply = <&reg_dc1sw>; 190 vcc-lcd-supply = <&reg_dc1sw>;
196}; 191};
197 192
193&sound {
194 /* Board level jack widgets */
195 simple-audio-card,widgets = "Microphone", "Microphone Jack",
196 "Headphone", "Headphone Jack";
197 /* Board level routing. First 2 routes copied from SoC level */
198 simple-audio-card,routing =
199 "Left DAC", "AIF1 Slot 0 Left",
200 "Right DAC", "AIF1 Slot 0 Right",
201 "HP", "HPCOM",
202 "Headphone Jack", "HP",
203 "MIC1", "Microphone Jack",
204 "Microphone Jack", "MBIAS";
205 status = "okay";
206};
207
198&uart0 { 208&uart0 {
199 pinctrl-names = "default"; 209 pinctrl-names = "default";
200 pinctrl-0 = <&uart0_pins_b>; 210 pinctrl-0 = <&uart0_pins_b>;
@@ -211,8 +221,6 @@
211}; 221};
212 222
213&usbphy { 223&usbphy {
214 pinctrl-names = "default";
215 pinctrl-0 = <&usb0_id_detect_pin>;
216 usb0_id_det-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */ 224 usb0_id_det-gpios = <&pio 1 3 GPIO_ACTIVE_HIGH>; /* PB3 */
217 usb0_vbus_power-supply = <&usb_power_supply>; 225 usb0_vbus_power-supply = <&usb_power_supply>;
218 usb0_vbus-supply = <&reg_drivevbus>; 226 usb0_vbus-supply = <&reg_drivevbus>;
diff --git a/arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts b/arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts
index 433cf2a2a9a2..541acb4d2b91 100644
--- a/arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts
+++ b/arch/arm/boot/dts/sun8i-a33-sinlinx-sina33.dts
@@ -144,8 +144,7 @@
144 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina33>; 144 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina33>;
145 vmmc-supply = <&reg_dcdc1>; 145 vmmc-supply = <&reg_dcdc1>;
146 bus-width = <4>; 146 bus-width = <4>;
147 cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 147 cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
148 cd-inverted;
149 status = "okay"; 148 status = "okay";
150}; 149};
151 150
diff --git a/arch/arm/boot/dts/sun8i-a33.dtsi b/arch/arm/boot/dts/sun8i-a33.dtsi
index 50eb84fa246a..a21f2ed07a52 100644
--- a/arch/arm/boot/dts/sun8i-a33.dtsi
+++ b/arch/arm/boot/dts/sun8i-a33.dtsi
@@ -289,7 +289,6 @@
289 clock-names = "ahb", "mod", 289 clock-names = "ahb", "mod",
290 "ram"; 290 "ram";
291 resets = <&ccu RST_BUS_DE_FE>; 291 resets = <&ccu RST_BUS_DE_FE>;
292 status = "disabled";
293 292
294 ports { 293 ports {
295 #address-cells = <1>; 294 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts b/arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts
index 5091cecbcd1e..36ecebaff3c0 100644
--- a/arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-allwinner-h8homlet-v2.dts
@@ -87,9 +87,8 @@
87 pinctrl-names = "default"; 87 pinctrl-names = "default";
88 pinctrl-0 = <&mmc0_pins>; 88 pinctrl-0 = <&mmc0_pins>;
89 vmmc-supply = <&reg_dcdc1>; 89 vmmc-supply = <&reg_dcdc1>;
90 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 90 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
91 bus-width = <4>; 91 bus-width = <4>;
92 cd-inverted;
93 status = "okay"; 92 status = "okay";
94}; 93};
95 94
diff --git a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
index 6550bf0e594b..3b579d7567c8 100644
--- a/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-bananapi-m3.dts
@@ -60,6 +60,31 @@
60 stdout-path = "serial0:115200n8"; 60 stdout-path = "serial0:115200n8";
61 }; 61 };
62 62
63 connector {
64 compatible = "hdmi-connector";
65 type = "a";
66
67 port {
68 hdmi_con_in: endpoint {
69 remote-endpoint = <&hdmi_out_con>;
70 };
71 };
72 };
73
74 leds {
75 compatible = "gpio-leds";
76
77 blue {
78 label = "bananapi-m3:blue:usr";
79 gpios = <&axp_gpio 1 GPIO_ACTIVE_HIGH>;
80 };
81
82 green {
83 label = "bananapi-m3:green:usr";
84 gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
85 };
86 };
87
63 reg_usb1_vbus: reg-usb1-vbus { 88 reg_usb1_vbus: reg-usb1-vbus {
64 compatible = "regulator-fixed"; 89 compatible = "regulator-fixed";
65 regulator-name = "usb1-vbus"; 90 regulator-name = "usb1-vbus";
@@ -82,6 +107,10 @@
82 }; 107 };
83}; 108};
84 109
110&de {
111 status = "okay";
112};
113
85&ehci0 { 114&ehci0 {
86 /* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */ 115 /* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */
87 status = "okay"; 116 status = "okay";
@@ -100,6 +129,16 @@
100 status = "okay"; 129 status = "okay";
101}; 130};
102 131
132&hdmi {
133 status = "okay";
134};
135
136&hdmi_out {
137 hdmi_out_con: endpoint {
138 remote-endpoint = <&hdmi_con_in>;
139 };
140};
141
103&mdio { 142&mdio {
104 rgmii_phy: ethernet-phy@1 { 143 rgmii_phy: ethernet-phy@1 {
105 compatible = "ethernet-phy-ieee802.3-c22"; 144 compatible = "ethernet-phy-ieee802.3-c22";
@@ -112,8 +151,7 @@
112 pinctrl-0 = <&mmc0_pins>; 151 pinctrl-0 = <&mmc0_pins>;
113 vmmc-supply = <&reg_dcdc1>; 152 vmmc-supply = <&reg_dcdc1>;
114 bus-width = <4>; 153 bus-width = <4>;
115 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 154 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
116 cd-inverted;
117 status = "okay"; 155 status = "okay";
118}; 156};
119 157
diff --git a/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts b/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
index 6da08cd0e107..88decb0747ac 100644
--- a/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-cubietruck-plus.dts
@@ -176,8 +176,7 @@
176 pinctrl-0 = <&mmc0_pins>; 176 pinctrl-0 = <&mmc0_pins>;
177 vmmc-supply = <&reg_dcdc1>; 177 vmmc-supply = <&reg_dcdc1>;
178 bus-width = <4>; 178 bus-width = <4>;
179 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 179 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
180 cd-inverted;
181 status = "okay"; 180 status = "okay";
182}; 181};
183 182
diff --git a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
index 511fca491fe8..1537ce148cc1 100644
--- a/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
+++ b/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
@@ -128,6 +128,14 @@
128 }; 128 };
129}; 129};
130 130
131&cpu0 {
132 cpu-supply = <&reg_dcdc2>;
133};
134
135&cpu100 {
136 cpu-supply = <&reg_dcdc3>;
137};
138
131&de { 139&de {
132 status = "okay"; 140 status = "okay";
133}; 141};
@@ -231,6 +239,10 @@
231 239
232#include "axp81x.dtsi" 240#include "axp81x.dtsi"
233 241
242&battery_power_supply {
243 status = "okay";
244};
245
234&reg_aldo1 { 246&reg_aldo1 {
235 regulator-min-microvolt = <1800000>; 247 regulator-min-microvolt = <1800000>;
236 regulator-max-microvolt = <1800000>; 248 regulator-max-microvolt = <1800000>;
diff --git a/arch/arm/boot/dts/sun8i-a83t.dtsi b/arch/arm/boot/dts/sun8i-a83t.dtsi
index 7f4955a5fab7..568307639be8 100644
--- a/arch/arm/boot/dts/sun8i-a83t.dtsi
+++ b/arch/arm/boot/dts/sun8i-a83t.dtsi
@@ -60,51 +60,63 @@
60 #address-cells = <1>; 60 #address-cells = <1>;
61 #size-cells = <0>; 61 #size-cells = <0>;
62 62
63 cpu@0 { 63 cpu0: cpu@0 {
64 clocks = <&ccu CLK_C0CPUX>;
65 clock-names = "cpu";
64 compatible = "arm,cortex-a7"; 66 compatible = "arm,cortex-a7";
65 device_type = "cpu"; 67 device_type = "cpu";
68 operating-points-v2 = <&cpu0_opp_table>;
66 reg = <0>; 69 reg = <0>;
67 }; 70 };
68 71
69 cpu@1 { 72 cpu@1 {
70 compatible = "arm,cortex-a7"; 73 compatible = "arm,cortex-a7";
71 device_type = "cpu"; 74 device_type = "cpu";
75 operating-points-v2 = <&cpu0_opp_table>;
72 reg = <1>; 76 reg = <1>;
73 }; 77 };
74 78
75 cpu@2 { 79 cpu@2 {
76 compatible = "arm,cortex-a7"; 80 compatible = "arm,cortex-a7";
77 device_type = "cpu"; 81 device_type = "cpu";
82 operating-points-v2 = <&cpu0_opp_table>;
78 reg = <2>; 83 reg = <2>;
79 }; 84 };
80 85
81 cpu@3 { 86 cpu@3 {
82 compatible = "arm,cortex-a7"; 87 compatible = "arm,cortex-a7";
83 device_type = "cpu"; 88 device_type = "cpu";
89 operating-points-v2 = <&cpu0_opp_table>;
84 reg = <3>; 90 reg = <3>;
85 }; 91 };
86 92
87 cpu@100 { 93 cpu100: cpu@100 {
94 clocks = <&ccu CLK_C1CPUX>;
95 clock-names = "cpu";
88 compatible = "arm,cortex-a7"; 96 compatible = "arm,cortex-a7";
89 device_type = "cpu"; 97 device_type = "cpu";
98 operating-points-v2 = <&cpu1_opp_table>;
90 reg = <0x100>; 99 reg = <0x100>;
91 }; 100 };
92 101
93 cpu@101 { 102 cpu@101 {
94 compatible = "arm,cortex-a7"; 103 compatible = "arm,cortex-a7";
95 device_type = "cpu"; 104 device_type = "cpu";
105 operating-points-v2 = <&cpu1_opp_table>;
96 reg = <0x101>; 106 reg = <0x101>;
97 }; 107 };
98 108
99 cpu@102 { 109 cpu@102 {
100 compatible = "arm,cortex-a7"; 110 compatible = "arm,cortex-a7";
101 device_type = "cpu"; 111 device_type = "cpu";
112 operating-points-v2 = <&cpu1_opp_table>;
102 reg = <0x102>; 113 reg = <0x102>;
103 }; 114 };
104 115
105 cpu@103 { 116 cpu@103 {
106 compatible = "arm,cortex-a7"; 117 compatible = "arm,cortex-a7";
107 device_type = "cpu"; 118 device_type = "cpu";
119 operating-points-v2 = <&cpu1_opp_table>;
108 reg = <0x103>; 120 reg = <0x103>;
109 }; 121 };
110 }; 122 };
@@ -155,7 +167,7 @@
155 167
156 de: display-engine { 168 de: display-engine {
157 compatible = "allwinner,sun8i-a83t-display-engine"; 169 compatible = "allwinner,sun8i-a83t-display-engine";
158 allwinner,pipelines = <&mixer0>; 170 allwinner,pipelines = <&mixer0>, <&mixer1>;
159 status = "disabled"; 171 status = "disabled";
160 }; 172 };
161 173
@@ -164,6 +176,112 @@
164 device_type = "memory"; 176 device_type = "memory";
165 }; 177 };
166 178
179 cpu0_opp_table: opp_table0 {
180 compatible = "operating-points-v2";
181 opp-shared;
182
183 opp-480000000 {
184 opp-hz = /bits/ 64 <480000000>;
185 opp-microvolt = <840000>;
186 clock-latency-ns = <244144>; /* 8 32k periods */
187 };
188
189 opp-600000000 {
190 opp-hz = /bits/ 64 <600000000>;
191 opp-microvolt = <840000>;
192 clock-latency-ns = <244144>; /* 8 32k periods */
193 };
194
195 opp-720000000 {
196 opp-hz = /bits/ 64 <720000000>;
197 opp-microvolt = <840000>;
198 clock-latency-ns = <244144>; /* 8 32k periods */
199 };
200
201 opp-864000000 {
202 opp-hz = /bits/ 64 <864000000>;
203 opp-microvolt = <840000>;
204 clock-latency-ns = <244144>; /* 8 32k periods */
205 };
206
207 opp-912000000 {
208 opp-hz = /bits/ 64 <912000000>;
209 opp-microvolt = <840000>;
210 clock-latency-ns = <244144>; /* 8 32k periods */
211 };
212
213 opp-1008000000 {
214 opp-hz = /bits/ 64 <1008000000>;
215 opp-microvolt = <840000>;
216 clock-latency-ns = <244144>; /* 8 32k periods */
217 };
218
219 opp-1128000000 {
220 opp-hz = /bits/ 64 <1128000000>;
221 opp-microvolt = <840000>;
222 clock-latency-ns = <244144>; /* 8 32k periods */
223 };
224
225 opp-1200000000 {
226 opp-hz = /bits/ 64 <1200000000>;
227 opp-microvolt = <840000>;
228 clock-latency-ns = <244144>; /* 8 32k periods */
229 };
230 };
231
232 cpu1_opp_table: opp_table1 {
233 compatible = "operating-points-v2";
234 opp-shared;
235
236 opp-480000000 {
237 opp-hz = /bits/ 64 <480000000>;
238 opp-microvolt = <840000>;
239 clock-latency-ns = <244144>; /* 8 32k periods */
240 };
241
242 opp-600000000 {
243 opp-hz = /bits/ 64 <600000000>;
244 opp-microvolt = <840000>;
245 clock-latency-ns = <244144>; /* 8 32k periods */
246 };
247
248 opp-720000000 {
249 opp-hz = /bits/ 64 <720000000>;
250 opp-microvolt = <840000>;
251 clock-latency-ns = <244144>; /* 8 32k periods */
252 };
253
254 opp-864000000 {
255 opp-hz = /bits/ 64 <864000000>;
256 opp-microvolt = <840000>;
257 clock-latency-ns = <244144>; /* 8 32k periods */
258 };
259
260 opp-912000000 {
261 opp-hz = /bits/ 64 <912000000>;
262 opp-microvolt = <840000>;
263 clock-latency-ns = <244144>; /* 8 32k periods */
264 };
265
266 opp-1008000000 {
267 opp-hz = /bits/ 64 <1008000000>;
268 opp-microvolt = <840000>;
269 clock-latency-ns = <244144>; /* 8 32k periods */
270 };
271
272 opp-1128000000 {
273 opp-hz = /bits/ 64 <1128000000>;
274 opp-microvolt = <840000>;
275 clock-latency-ns = <244144>; /* 8 32k periods */
276 };
277
278 opp-1200000000 {
279 opp-hz = /bits/ 64 <1200000000>;
280 opp-microvolt = <840000>;
281 clock-latency-ns = <244144>; /* 8 32k periods */
282 };
283 };
284
167 soc { 285 soc {
168 compatible = "simple-bus"; 286 compatible = "simple-bus";
169 #address-cells = <1>; 287 #address-cells = <1>;
@@ -208,6 +326,29 @@
208 }; 326 };
209 }; 327 };
210 328
329 mixer1: mixer@1200000 {
330 compatible = "allwinner,sun8i-a83t-de2-mixer-1";
331 reg = <0x01200000 0x100000>;
332 clocks = <&display_clocks CLK_BUS_MIXER1>,
333 <&display_clocks CLK_MIXER1>;
334 clock-names = "bus",
335 "mod";
336 resets = <&display_clocks RST_WB>;
337
338 ports {
339 #address-cells = <1>;
340 #size-cells = <0>;
341
342 mixer1_out: port@1 {
343 reg = <1>;
344
345 mixer1_out_tcon1: endpoint {
346 remote-endpoint = <&tcon1_in_mixer1>;
347 };
348 };
349 };
350 };
351
211 syscon: syscon@1c00000 { 352 syscon: syscon@1c00000 {
212 compatible = "allwinner,sun8i-a83t-system-controller", 353 compatible = "allwinner,sun8i-a83t-system-controller",
213 "syscon"; 354 "syscon";
@@ -256,6 +397,40 @@
256 }; 397 };
257 }; 398 };
258 399
400 tcon1: lcd-controller@1c0d000 {
401 compatible = "allwinner,sun8i-a83t-tcon-tv";
402 reg = <0x01c0d000 0x1000>;
403 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
404 clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
405 clock-names = "ahb", "tcon-ch1";
406 resets = <&ccu RST_BUS_TCON1>;
407 reset-names = "lcd";
408
409 ports {
410 #address-cells = <1>;
411 #size-cells = <0>;
412
413 tcon1_in: port@0 {
414 reg = <0>;
415
416 tcon1_in_mixer1: endpoint {
417 remote-endpoint = <&mixer1_out_tcon1>;
418 };
419 };
420
421 tcon1_out: port@1 {
422 #address-cells = <1>;
423 #size-cells = <0>;
424 reg = <1>;
425
426 tcon1_out_hdmi: endpoint@1 {
427 reg = <1>;
428 remote-endpoint = <&hdmi_in_tcon1>;
429 };
430 };
431 };
432 };
433
259 mmc0: mmc@1c0f000 { 434 mmc0: mmc@1c0f000 {
260 compatible = "allwinner,sun8i-a83t-mmc", 435 compatible = "allwinner,sun8i-a83t-mmc",
261 "allwinner,sun7i-a20-mmc"; 436 "allwinner,sun7i-a20-mmc";
@@ -427,6 +602,11 @@
427 drive-strength = <40>; 602 drive-strength = <40>;
428 }; 603 };
429 604
605 hdmi_pins: hdmi-pins {
606 pins = "PH6", "PH7", "PH8";
607 function = "hdmi";
608 };
609
430 i2c0_pins: i2c0-pins { 610 i2c0_pins: i2c0-pins {
431 pins = "PH0", "PH1"; 611 pins = "PH0", "PH1";
432 function = "i2c0"; 612 function = "i2c0";
@@ -685,6 +865,50 @@
685 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 865 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
686 }; 866 };
687 867
868 hdmi: hdmi@1ee0000 {
869 compatible = "allwinner,sun8i-a83t-dw-hdmi";
870 reg = <0x01ee0000 0x10000>;
871 reg-io-width = <1>;
872 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
873 clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>,
874 <&ccu CLK_HDMI>;
875 clock-names = "iahb", "isfr", "tmds";
876 resets = <&ccu RST_BUS_HDMI1>;
877 reset-names = "ctrl";
878 phys = <&hdmi_phy>;
879 phy-names = "hdmi-phy";
880 pinctrl-names = "default";
881 pinctrl-0 = <&hdmi_pins>;
882 status = "disabled";
883
884 ports {
885 #address-cells = <1>;
886 #size-cells = <0>;
887
888 hdmi_in: port@0 {
889 reg = <0>;
890
891 hdmi_in_tcon1: endpoint {
892 remote-endpoint = <&tcon1_out_hdmi>;
893 };
894 };
895
896 hdmi_out: port@1 {
897 reg = <1>;
898 };
899 };
900 };
901
902 hdmi_phy: hdmi-phy@1ef0000 {
903 compatible = "allwinner,sun8i-a83t-hdmi-phy";
904 reg = <0x01ef0000 0x10000>;
905 clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_SLOW>;
906 clock-names = "bus", "mod";
907 resets = <&ccu RST_BUS_HDMI0>;
908 reset-names = "phy";
909 #phy-cells = <0>;
910 };
911
688 r_intc: interrupt-controller@1f00c00 { 912 r_intc: interrupt-controller@1f00c00 {
689 compatible = "allwinner,sun8i-a83t-r-intc", 913 compatible = "allwinner,sun8i-a83t-r-intc",
690 "allwinner,sun6i-a31-r-intc"; 914 "allwinner,sun6i-a31-r-intc";
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
new file mode 100644
index 000000000000..7d01f9322658
--- /dev/null
+++ b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts
@@ -0,0 +1,121 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
4 *
5 * Based on sun8i-h3-bananapi-m2-plus.dts, which is:
6 * Copyright (C) 2016 Chen-Yu Tsai <wens@csie.org>
7 */
8
9/dts-v1/;
10#include "sun8i-h3.dtsi"
11#include "sunxi-common-regulators.dtsi"
12
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/input/input.h>
15
16/ {
17 model = "Banana Pi BPI-M2-Zero";
18 compatible = "sinovoip,bpi-m2-zero", "allwinner,sun8i-h2-plus";
19
20 aliases {
21 serial0 = &uart0;
22 serial1 = &uart1;
23 };
24
25 chosen {
26 stdout-path = "serial0:115200n8";
27 };
28
29 leds {
30 compatible = "gpio-leds";
31 pinctrl-names = "default";
32
33 pwr_led {
34 label = "bananapi-m2-zero:red:pwr";
35 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
36 default-state = "on";
37 };
38 };
39
40 gpio_keys {
41 compatible = "gpio-keys";
42 pinctrl-names = "default";
43
44 sw4 {
45 label = "power";
46 linux,code = <BTN_0>;
47 gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
48 };
49 };
50
51 wifi_pwrseq: wifi_pwrseq {
52 compatible = "mmc-pwrseq-simple";
53 pinctrl-names = "default";
54 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
55 };
56};
57
58&ehci0 {
59 status = "okay";
60};
61
62&mmc0 {
63 vmmc-supply = <&reg_vcc3v3>;
64 bus-width = <4>;
65 /*
66 * On the production batch of this board the card detect GPIO is
67 * high active (card inserted), although on the early samples it's
68 * low active.
69 */
70 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
71 status = "okay";
72};
73
74&mmc1 {
75 vmmc-supply = <&reg_vcc3v3>;
76 vqmmc-supply = <&reg_vcc3v3>;
77 mmc-pwrseq = <&wifi_pwrseq>;
78 bus-width = <4>;
79 non-removable;
80 status = "okay";
81
82 brcmf: wifi@1 {
83 reg = <1>;
84 compatible = "brcm,bcm4329-fmac";
85 interrupt-parent = <&pio>;
86 interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
87 interrupt-names = "host-wake";
88 };
89};
90
91&ohci0 {
92 status = "okay";
93};
94
95&uart0 {
96 pinctrl-names = "default";
97 pinctrl-0 = <&uart0_pins_a>;
98 status = "okay";
99};
100
101&uart1 {
102 pinctrl-names = "default";
103 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
104 status = "okay";
105};
106
107&usb_otg {
108 dr_mode = "otg";
109 status = "okay";
110};
111
112&usbphy {
113 usb0_id_det-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
114 /*
115 * There're two micro-USB connectors, one is power-only and another is
116 * OTG. The Vbus of these two connectors are connected together, so
117 * the external USB device will be powered just by the power input
118 * from the power-only USB port.
119 */
120 status = "okay";
121};
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-r1.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-r1.dts
index 112f09c67d67..3356f4210d45 100644
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-r1.dts
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-r1.dts
@@ -68,6 +68,14 @@
68 }; 68 };
69}; 69};
70 70
71&spi0 {
72 status = "okay";
73
74 flash@0 {
75 compatible = "mxicy,mx25l12805d", "jedec,spi-nor";
76 };
77};
78
71&ohci1 { 79&ohci1 {
72 /* 80 /*
73 * RTL8152B USB-Ethernet adapter is connected to USB1, 81 * RTL8152B USB-Ethernet adapter is connected to USB1,
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
index 6713d0f2b3f4..0bc031fe4c56 100644
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
@@ -112,18 +112,13 @@
112}; 112};
113 113
114&mmc0 { 114&mmc0 {
115 pinctrl-names = "default";
116 pinctrl-0 = <&mmc0_pins_a>;
117 vmmc-supply = <&reg_vcc3v3>; 115 vmmc-supply = <&reg_vcc3v3>;
118 bus-width = <4>; 116 bus-width = <4>;
119 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 117 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
120 cd-inverted;
121 status = "okay"; 118 status = "okay";
122}; 119};
123 120
124&mmc1 { 121&mmc1 {
125 pinctrl-names = "default";
126 pinctrl-0 = <&mmc1_pins_a>;
127 vmmc-supply = <&reg_vcc_wifi>; 122 vmmc-supply = <&reg_vcc_wifi>;
128 mmc-pwrseq = <&wifi_pwrseq>; 123 mmc-pwrseq = <&wifi_pwrseq>;
129 bus-width = <4>; 124 bus-width = <4>;
@@ -139,10 +134,6 @@
139 }; 134 };
140}; 135};
141 136
142&mmc1_pins_a {
143 bias-pull-up;
144};
145
146&ohci0 { 137&ohci0 {
147 status = "okay"; 138 status = "okay";
148}; 139};
diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
index f1c3f1cc4d97..30540dc8e0c5 100644
--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
@@ -61,6 +61,17 @@
61 stdout-path = "serial0:115200n8"; 61 stdout-path = "serial0:115200n8";
62 }; 62 };
63 63
64 connector {
65 compatible = "hdmi-connector";
66 type = "a";
67
68 port {
69 hdmi_con_in: endpoint {
70 remote-endpoint = <&hdmi_out_con>;
71 };
72 };
73 };
74
64 leds { 75 leds {
65 compatible = "gpio-leds"; 76 compatible = "gpio-leds";
66 pinctrl-names = "default"; 77 pinctrl-names = "default";
@@ -100,6 +111,10 @@
100 }; 111 };
101}; 112};
102 113
114&de {
115 status = "okay";
116};
117
103&ehci0 { 118&ehci0 {
104 status = "okay"; 119 status = "okay";
105}; 120};
@@ -129,6 +144,16 @@
129 }; 144 };
130}; 145};
131 146
147&hdmi {
148 status = "okay";
149};
150
151&hdmi_out {
152 hdmi_out_con: endpoint {
153 remote-endpoint = <&hdmi_con_in>;
154 };
155};
156
132&ir { 157&ir {
133 pinctrl-names = "default"; 158 pinctrl-names = "default";
134 pinctrl-0 = <&ir_pins_a>; 159 pinctrl-0 = <&ir_pins_a>;
@@ -136,18 +161,13 @@
136}; 161};
137 162
138&mmc0 { 163&mmc0 {
139 pinctrl-names = "default";
140 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
141 vmmc-supply = <&reg_vcc3v3>; 164 vmmc-supply = <&reg_vcc3v3>;
142 bus-width = <4>; 165 bus-width = <4>;
143 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 166 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
144 cd-inverted;
145 status = "okay"; 167 status = "okay";
146}; 168};
147 169
148&mmc1 { 170&mmc1 {
149 pinctrl-names = "default";
150 pinctrl-0 = <&mmc1_pins_a>;
151 vmmc-supply = <&reg_vcc3v3>; 171 vmmc-supply = <&reg_vcc3v3>;
152 vqmmc-supply = <&reg_vcc3v3>; 172 vqmmc-supply = <&reg_vcc3v3>;
153 mmc-pwrseq = <&wifi_pwrseq>; 173 mmc-pwrseq = <&wifi_pwrseq>;
diff --git a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
index 10da56e86ab8..cf1f970b0c6f 100644
--- a/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
+++ b/arch/arm/boot/dts/sun8i-h3-beelink-x2.dts
@@ -61,6 +61,17 @@
61 stdout-path = "serial0:115200n8"; 61 stdout-path = "serial0:115200n8";
62 }; 62 };
63 63
64 connector {
65 compatible = "hdmi-connector";
66 type = "a";
67
68 port {
69 hdmi_con_in: endpoint {
70 remote-endpoint = <&hdmi_out_con>;
71 };
72 };
73 };
74
64 leds { 75 leds {
65 compatible = "gpio-leds"; 76 compatible = "gpio-leds";
66 77
@@ -100,6 +111,10 @@
100 }; 111 };
101}; 112};
102 113
114&de {
115 status = "okay";
116};
117
103&ehci0 { 118&ehci0 {
104 status = "okay"; 119 status = "okay";
105}; 120};
@@ -108,6 +123,16 @@
108 status = "okay"; 123 status = "okay";
109}; 124};
110 125
126&hdmi {
127 status = "okay";
128};
129
130&hdmi_out {
131 hdmi_out_con: endpoint {
132 remote-endpoint = <&hdmi_con_in>;
133 };
134};
135
111&ir { 136&ir {
112 pinctrl-names = "default"; 137 pinctrl-names = "default";
113 pinctrl-0 = <&ir_pins_a>; 138 pinctrl-0 = <&ir_pins_a>;
@@ -115,18 +140,13 @@
115}; 140};
116 141
117&mmc0 { 142&mmc0 {
118 pinctrl-names = "default";
119 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
120 vmmc-supply = <&reg_vcc3v3>; 143 vmmc-supply = <&reg_vcc3v3>;
121 bus-width = <4>; 144 bus-width = <4>;
122 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 145 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
123 cd-inverted;
124 status = "okay"; 146 status = "okay";
125}; 147};
126 148
127&mmc1 { 149&mmc1 {
128 pinctrl-names = "default";
129 pinctrl-0 = <&mmc1_pins_a>;
130 vmmc-supply = <&reg_vcc3v3>; 150 vmmc-supply = <&reg_vcc3v3>;
131 bus-width = <4>; 151 bus-width = <4>;
132 non-removable; 152 non-removable;
diff --git a/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts b/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts
index d406571a0dd6..b20a710da7bc 100644
--- a/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts
+++ b/arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dts
@@ -23,6 +23,17 @@
23 stdout-path = "serial0:115200n8"; 23 stdout-path = "serial0:115200n8";
24 }; 24 };
25 25
26 connector {
27 compatible = "hdmi-connector";
28 type = "a";
29
30 port {
31 hdmi_con_in: endpoint {
32 remote-endpoint = <&hdmi_out_con>;
33 };
34 };
35 };
36
26 leds { 37 leds {
27 compatible = "gpio-leds"; 38 compatible = "gpio-leds";
28 39
@@ -120,6 +131,10 @@
120 status = "okay"; 131 status = "okay";
121}; 132};
122 133
134&de {
135 status = "okay";
136};
137
123&ehci0 { 138&ehci0 {
124 status = "okay"; 139 status = "okay";
125}; 140};
@@ -143,6 +158,16 @@
143 status = "okay"; 158 status = "okay";
144}; 159};
145 160
161&hdmi {
162 status = "okay";
163};
164
165&hdmi_out {
166 hdmi_out_con: endpoint {
167 remote-endpoint = <&hdmi_con_in>;
168 };
169};
170
146&ir { 171&ir {
147 pinctrl-names = "default"; 172 pinctrl-names = "default";
148 pinctrl-0 = <&ir_pins_a>; 173 pinctrl-0 = <&ir_pins_a>;
@@ -150,12 +175,9 @@
150}; 175};
151 176
152&mmc0 { 177&mmc0 {
153 pinctrl-names = "default";
154 pinctrl-0 = <&mmc0_pins_a>;
155 vmmc-supply = <&reg_vcc_io>; 178 vmmc-supply = <&reg_vcc_io>;
156 bus-width = <4>; 179 bus-width = <4>;
157 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 180 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
158 cd-inverted;
159 status = "okay"; 181 status = "okay";
160}; 182};
161 183
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
index a6e61915d648..65cba1050802 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
@@ -101,8 +101,6 @@
101}; 101};
102 102
103&mmc1 { 103&mmc1 {
104 pinctrl-names = "default";
105 pinctrl-0 = <&mmc1_pins_a>;
106 vmmc-supply = <&reg_vcc3v3>; 104 vmmc-supply = <&reg_vcc3v3>;
107 vqmmc-supply = <&reg_vcc3v3>; 105 vqmmc-supply = <&reg_vcc3v3>;
108 mmc-pwrseq = <&wifi_pwrseq>; 106 mmc-pwrseq = <&wifi_pwrseq>;
@@ -119,6 +117,16 @@
119 }; 117 };
120}; 118};
121 119
120&mmc2 {
121 pinctrl-names = "default";
122 pinctrl-0 = <&mmc2_8bit_pins>;
123 vmmc-supply = <&reg_vcc3v3>;
124 vqmmc-supply = <&reg_vcc3v3>;
125 bus-width = <8>;
126 non-removable;
127 status = "okay";
128};
129
122&ohci1 { 130&ohci1 {
123 status = "okay"; 131 status = "okay";
124}; 132};
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
index c77fbca4f227..9412668bb888 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1.dts
@@ -49,6 +49,21 @@
49 aliases { 49 aliases {
50 ethernet0 = &emac; 50 ethernet0 = &emac;
51 }; 51 };
52
53 connector {
54 compatible = "hdmi-connector";
55 type = "a";
56
57 port {
58 hdmi_con_in: endpoint {
59 remote-endpoint = <&hdmi_out_con>;
60 };
61 };
62 };
63};
64
65&de {
66 status = "okay";
52}; 67};
53 68
54&ehci1 { 69&ehci1 {
@@ -66,6 +81,16 @@
66 status = "okay"; 81 status = "okay";
67}; 82};
68 83
84&hdmi {
85 status = "okay";
86};
87
88&hdmi_out {
89 hdmi_out_con: endpoint {
90 remote-endpoint = <&hdmi_con_in>;
91 };
92};
93
69&ir { 94&ir {
70 pinctrl-names = "default"; 95 pinctrl-names = "default";
71 pinctrl-0 = <&ir_pins_a>; 96 pinctrl-0 = <&ir_pins_a>;
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
index 03ff6f8b93ff..6246d3eff39d 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
@@ -72,16 +72,35 @@
72 gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */ 72 gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
73 }; 73 };
74 }; 74 };
75
76 wifi_pwrseq: wifi_pwrseq {
77 compatible = "mmc-pwrseq-simple";
78 reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
79 };
75}; 80};
76 81
77&mmc0 { 82&mmc0 {
78 pinctrl-names = "default";
79 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
80 vmmc-supply = <&reg_vcc3v3>; 83 vmmc-supply = <&reg_vcc3v3>;
81 bus-width = <4>; 84 bus-width = <4>;
82 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 85 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
83 cd-inverted; 86 status = "okay";
87};
88
89&mmc1 {
90 vmmc-supply = <&reg_vcc3v3>;
91 vqmmc-supply = <&reg_vcc3v3>;
92 mmc-pwrseq = <&wifi_pwrseq>;
93 bus-width = <4>;
94 non-removable;
84 status = "okay"; 95 status = "okay";
96
97 brcmf: bcrmf@1 {
98 reg = <1>;
99 compatible = "brcm,bcm4329-fmac";
100 interrupt-parent = <&pio>;
101 interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */
102 interrupt-names = "host-wake";
103 };
85}; 104};
86 105
87&uart0 { 106&uart0 {
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
index 7646e331bd29..f110ee382239 100644
--- a/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
@@ -95,10 +95,7 @@
95 95
96&mmc0 { 96&mmc0 {
97 bus-width = <4>; 97 bus-width = <4>;
98 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 98 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
99 cd-inverted;
100 pinctrl-names = "default";
101 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
102 status = "okay"; 99 status = "okay";
103 vmmc-supply = <&reg_vcc3v3>; 100 vmmc-supply = <&reg_vcc3v3>;
104}; 101};
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
index b20be95b49d5..f1fc6bdca8be 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
@@ -62,6 +62,17 @@
62 stdout-path = "serial0:115200n8"; 62 stdout-path = "serial0:115200n8";
63 }; 63 };
64 64
65 connector {
66 compatible = "hdmi-connector";
67 type = "a";
68
69 port {
70 hdmi_con_in: endpoint {
71 remote-endpoint = <&hdmi_out_con>;
72 };
73 };
74 };
75
65 leds { 76 leds {
66 compatible = "gpio-leds"; 77 compatible = "gpio-leds";
67 pinctrl-names = "default"; 78 pinctrl-names = "default";
@@ -114,6 +125,10 @@
114 status = "okay"; 125 status = "okay";
115}; 126};
116 127
128&de {
129 status = "okay";
130};
131
117&ehci1 { 132&ehci1 {
118 status = "okay"; 133 status = "okay";
119}; 134};
@@ -125,6 +140,16 @@
125 status = "okay"; 140 status = "okay";
126}; 141};
127 142
143&hdmi {
144 status = "okay";
145};
146
147&hdmi_out {
148 hdmi_out_con: endpoint {
149 remote-endpoint = <&hdmi_con_in>;
150 };
151};
152
128&ir { 153&ir {
129 pinctrl-names = "default"; 154 pinctrl-names = "default";
130 pinctrl-0 = <&ir_pins_a>; 155 pinctrl-0 = <&ir_pins_a>;
@@ -132,18 +157,13 @@
132}; 157};
133 158
134&mmc0 { 159&mmc0 {
135 pinctrl-names = "default";
136 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
137 vmmc-supply = <&reg_vcc3v3>; 160 vmmc-supply = <&reg_vcc3v3>;
138 bus-width = <4>; 161 bus-width = <4>;
139 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 162 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
140 cd-inverted;
141 status = "okay"; 163 status = "okay";
142}; 164};
143 165
144&mmc1 { 166&mmc1 {
145 pinctrl-names = "default";
146 pinctrl-0 = <&mmc1_pins_a>;
147 vmmc-supply = <&reg_vcc3v3>; 167 vmmc-supply = <&reg_vcc3v3>;
148 mmc-pwrseq = <&wifi_pwrseq>; 168 mmc-pwrseq = <&wifi_pwrseq>;
149 bus-width = <4>; 169 bus-width = <4>;
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
index a70a1daf4e2c..476ae8e387ca 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts
@@ -61,6 +61,17 @@
61 stdout-path = "serial0:115200n8"; 61 stdout-path = "serial0:115200n8";
62 }; 62 };
63 63
64 connector {
65 compatible = "hdmi-connector";
66 type = "a";
67
68 port {
69 hdmi_con_in: endpoint {
70 remote-endpoint = <&hdmi_out_con>;
71 };
72 };
73 };
74
64 leds { 75 leds {
65 compatible = "gpio-leds"; 76 compatible = "gpio-leds";
66 pinctrl-names = "default"; 77 pinctrl-names = "default";
@@ -91,6 +102,10 @@
91 }; 102 };
92}; 103};
93 104
105&de {
106 status = "okay";
107};
108
94&ehci1 { 109&ehci1 {
95 status = "okay"; 110 status = "okay";
96}; 111};
@@ -99,6 +114,16 @@
99 status = "okay"; 114 status = "okay";
100}; 115};
101 116
117&hdmi {
118 status = "okay";
119};
120
121&hdmi_out {
122 hdmi_out_con: endpoint {
123 remote-endpoint = <&hdmi_con_in>;
124 };
125};
126
102&ir { 127&ir {
103 pinctrl-names = "default"; 128 pinctrl-names = "default";
104 pinctrl-0 = <&ir_pins_a>; 129 pinctrl-0 = <&ir_pins_a>;
@@ -106,18 +131,13 @@
106}; 131};
107 132
108&mmc0 { 133&mmc0 {
109 pinctrl-names = "default";
110 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
111 vmmc-supply = <&reg_vcc3v3>; 134 vmmc-supply = <&reg_vcc3v3>;
112 bus-width = <4>; 135 bus-width = <4>;
113 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 136 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
114 cd-inverted;
115 status = "okay"; 137 status = "okay";
116}; 138};
117 139
118&mmc1 { 140&mmc1 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&mmc1_pins_a>;
121 vmmc-supply = <&reg_vcc3v3>; 141 vmmc-supply = <&reg_vcc3v3>;
122 bus-width = <4>; 142 bus-width = <4>;
123 non-removable; 143 non-removable;
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
index 82e5d28cd698..3328fe583c9b 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts
@@ -60,6 +60,17 @@
60 stdout-path = "serial0:115200n8"; 60 stdout-path = "serial0:115200n8";
61 }; 61 };
62 62
63 connector {
64 compatible = "hdmi-connector";
65 type = "a";
66
67 port {
68 hdmi_con_in: endpoint {
69 remote-endpoint = <&hdmi_out_con>;
70 };
71 };
72 };
73
63 leds { 74 leds {
64 compatible = "gpio-leds"; 75 compatible = "gpio-leds";
65 pinctrl-names = "default"; 76 pinctrl-names = "default";
@@ -90,6 +101,10 @@
90 }; 101 };
91}; 102};
92 103
104&de {
105 status = "okay";
106};
107
93&ehci0 { 108&ehci0 {
94 status = "okay"; 109 status = "okay";
95}; 110};
@@ -102,16 +117,22 @@
102 phy-handle = <&int_mii_phy>; 117 phy-handle = <&int_mii_phy>;
103 phy-mode = "mii"; 118 phy-mode = "mii";
104 allwinner,leds-active-low; 119 allwinner,leds-active-low;
120};
121
122&hdmi {
105 status = "okay"; 123 status = "okay";
106}; 124};
107 125
126&hdmi_out {
127 hdmi_out_con: endpoint {
128 remote-endpoint = <&hdmi_con_in>;
129 };
130};
131
108&mmc0 { 132&mmc0 {
109 pinctrl-names = "default";
110 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
111 vmmc-supply = <&reg_vcc3v3>; 133 vmmc-supply = <&reg_vcc3v3>;
112 bus-width = <4>; 134 bus-width = <4>;
113 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 135 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
114 cd-inverted;
115 status = "okay"; 136 status = "okay";
116}; 137};
117 138
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
index a10281b455f5..71fb73208939 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
@@ -59,8 +59,6 @@
59}; 59};
60 60
61&mmc1 { 61&mmc1 {
62 pinctrl-names = "default";
63 pinctrl-0 = <&mmc1_pins_a>;
64 vmmc-supply = <&reg_vcc3v3>; 62 vmmc-supply = <&reg_vcc3v3>;
65 bus-width = <4>; 63 bus-width = <4>;
66 non-removable; 64 non-removable;
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
index d22546df1b82..cea4d647ecbf 100644
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts
@@ -60,6 +60,17 @@
60 stdout-path = "serial0:115200n8"; 60 stdout-path = "serial0:115200n8";
61 }; 61 };
62 62
63 connector {
64 compatible = "hdmi-connector";
65 type = "a";
66
67 port {
68 hdmi_con_in: endpoint {
69 remote-endpoint = <&hdmi_out_con>;
70 };
71 };
72 };
73
63 leds { 74 leds {
64 compatible = "gpio-leds"; 75 compatible = "gpio-leds";
65 pinctrl-names = "default"; 76 pinctrl-names = "default";
@@ -98,6 +109,10 @@
98 status = "okay"; 109 status = "okay";
99}; 110};
100 111
112&de {
113 status = "okay";
114};
115
101&ehci0 { 116&ehci0 {
102 status = "okay"; 117 status = "okay";
103}; 118};
@@ -121,6 +136,16 @@
121 status = "okay"; 136 status = "okay";
122}; 137};
123 138
139&hdmi {
140 status = "okay";
141};
142
143&hdmi_out {
144 hdmi_out_con: endpoint {
145 remote-endpoint = <&hdmi_con_in>;
146 };
147};
148
124&ir { 149&ir {
125 pinctrl-names = "default"; 150 pinctrl-names = "default";
126 pinctrl-0 = <&ir_pins_a>; 151 pinctrl-0 = <&ir_pins_a>;
@@ -128,12 +153,9 @@
128}; 153};
129 154
130&mmc0 { 155&mmc0 {
131 pinctrl-names = "default";
132 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
133 vmmc-supply = <&reg_vcc3v3>; 156 vmmc-supply = <&reg_vcc3v3>;
134 bus-width = <4>; 157 bus-width = <4>;
135 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */ 158 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
136 cd-inverted;
137 status = "okay"; 159 status = "okay";
138}; 160};
139 161
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
index 8495deecedad..10da8ed7db81 100644
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
@@ -79,6 +79,33 @@
79 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 79 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
80 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 80 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
81 }; 81 };
82
83 soc {
84 mali: gpu@1c40000 {
85 compatible = "allwinner,sun8i-h3-mali", "arm,mali-400";
86 reg = <0x01c40000 0x10000>;
87 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
88 <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
89 <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
90 <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
91 <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
92 <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
93 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
94 interrupt-names = "gp",
95 "gpmmu",
96 "pp0",
97 "ppmmu0",
98 "pp1",
99 "ppmmu1",
100 "pmu";
101 clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>;
102 clock-names = "bus", "core";
103 resets = <&ccu RST_BUS_GPU>;
104
105 assigned-clocks = <&ccu CLK_GPU>;
106 assigned-clock-rates = <384000000>;
107 };
108 };
82}; 109};
83 110
84&ccu { 111&ccu {
diff --git a/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts b/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts
index eaf09666720d..0dbdb29a8fff 100644
--- a/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts
+++ b/arch/arm/boot/dts/sun8i-r16-bananapi-m2m.dts
@@ -150,8 +150,7 @@
150 pinctrl-0 = <&mmc0_pins_a>; 150 pinctrl-0 = <&mmc0_pins_a>;
151 vmmc-supply = <&reg_dcdc1>; 151 vmmc-supply = <&reg_dcdc1>;
152 bus-width = <4>; 152 bus-width = <4>;
153 cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 153 cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
154 cd-inverted;
155 status = "okay"; 154 status = "okay";
156}; 155};
157 156
diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
index 8c5efe2a9881..27d9ccd0ef2f 100644
--- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
+++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
@@ -164,8 +164,7 @@
164&mmc0 { 164&mmc0 {
165 vmmc-supply = <&reg_dcdc1>; 165 vmmc-supply = <&reg_dcdc1>;
166 bus-width = <4>; 166 bus-width = <4>;
167 cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */ 167 cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
168 cd-inverted;
169 status = "okay"; 168 status = "okay";
170}; 169};
171 170
diff --git a/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi b/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi
index d6bd15898db6..880096c7e252 100644
--- a/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi
+++ b/arch/arm/boot/dts/sun8i-reference-design-tablet.dtsi
@@ -85,8 +85,7 @@
85 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; 85 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
86 vmmc-supply = <&reg_dcdc1>; 86 vmmc-supply = <&reg_dcdc1>;
87 bus-width = <4>; 87 bus-width = <4>;
88 cd-gpios = <&pio 1 4 GPIO_ACTIVE_HIGH>; /* PB4 */ 88 cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
89 cd-inverted;
90 status = "okay"; 89 status = "okay";
91}; 90};
92 91
@@ -125,6 +124,14 @@
125 124
126#include "axp223.dtsi" 125#include "axp223.dtsi"
127 126
127&ac_power_supply {
128 status = "okay";
129};
130
131&battery_power_supply {
132 status = "okay";
133};
134
128&reg_aldo1 { 135&reg_aldo1 {
129 regulator-always-on; 136 regulator-always-on;
130 regulator-min-microvolt = <3000000>; 137 regulator-min-microvolt = <3000000>;
diff --git a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
index fe16fc0eb518..a26d72c3f9b5 100644
--- a/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
+++ b/arch/arm/boot/dts/sun8i-v40-bananapi-m2-berry.dts
@@ -150,8 +150,7 @@
150&mmc0 { 150&mmc0 {
151 vmmc-supply = <&reg_dcdc1>; 151 vmmc-supply = <&reg_dcdc1>;
152 bus-width = <4>; 152 bus-width = <4>;
153 cd-gpios = <&pio 7 13 GPIO_ACTIVE_HIGH>; /* PH13 */ 153 cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
154 cd-inverted;
155 status = "okay"; 154 status = "okay";
156}; 155};
157 156
diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 4024639aa005..85da85faf869 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -74,6 +74,52 @@
74 }; 74 };
75 }; 75 };
76 76
77 vga-connector {
78 compatible = "vga-connector";
79 label = "vga";
80 ddc-i2c-bus = <&i2c3>;
81
82 port {
83 vga_con_in: endpoint {
84 remote-endpoint = <&vga_dac_out>;
85 };
86 };
87 };
88
89 vga-dac {
90 compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
91 vdd-supply = <&reg_dcdc1>;
92 #address-cells = <1>;
93 #size-cells = <0>;
94
95 ports {
96 #address-cells = <1>;
97 #size-cells = <0>;
98
99 port@0 {
100 #address-cells = <1>;
101 #size-cells = <0>;
102 reg = <0>;
103
104 vga_dac_in: endpoint@0 {
105 reg = <0>;
106 remote-endpoint = <&tcon0_out_vga>;
107 };
108 };
109
110 port@1 {
111 #address-cells = <1>;
112 #size-cells = <0>;
113 reg = <1>;
114
115 vga_dac_out: endpoint@0 {
116 reg = <0>;
117 remote-endpoint = <&vga_con_in>;
118 };
119 };
120 };
121 };
122
77 wifi_pwrseq: wifi-pwrseq { 123 wifi_pwrseq: wifi-pwrseq {
78 compatible = "mmc-pwrseq-simple"; 124 compatible = "mmc-pwrseq-simple";
79 clocks = <&ac100_rtc 1>; 125 clocks = <&ac100_rtc 1>;
@@ -83,13 +129,22 @@
83 }; 129 };
84}; 130};
85 131
132&de {
133 status = "okay";
134};
135
136&i2c3 {
137 pinctrl-names = "default";
138 pinctrl-0 = <&i2c3_pins>;
139 status = "okay";
140};
141
86&mmc0 { 142&mmc0 {
87 pinctrl-names = "default"; 143 pinctrl-names = "default";
88 pinctrl-0 = <&mmc0_pins>; 144 pinctrl-0 = <&mmc0_pins>;
89 vmmc-supply = <&reg_dcdc1>; 145 vmmc-supply = <&reg_dcdc1>;
90 bus-width = <4>; 146 bus-width = <4>;
91 cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH18 */ 147 cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH18 */
92 cd-inverted;
93 status = "okay"; 148 status = "okay";
94}; 149};
95 150
@@ -403,6 +458,18 @@
403 458
404#include "axp809.dtsi" 459#include "axp809.dtsi"
405 460
461&tcon0 {
462 pinctrl-names = "default";
463 pinctrl-0 = <&lcd0_rgb888_pins>;
464};
465
466&tcon0_out {
467 tcon0_out_vga: endpoint@0 {
468 reg = <0>;
469 remote-endpoint = <&vga_dac_in>;
470 };
471};
472
406&uart0 { 473&uart0 {
407 pinctrl-names = "default"; 474 pinctrl-names = "default";
408 pinctrl-0 = <&uart0_ph_pins>; 475 pinctrl-0 = <&uart0_ph_pins>;
diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts b/arch/arm/boot/dts/sun9i-a80-optimus.dts
index a9b807be99a0..58a199b0e494 100644
--- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
+++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
@@ -125,8 +125,7 @@
125 pinctrl-0 = <&mmc0_pins>; 125 pinctrl-0 = <&mmc0_pins>;
126 vmmc-supply = <&reg_dcdc1>; 126 vmmc-supply = <&reg_dcdc1>;
127 bus-width = <4>; 127 bus-width = <4>;
128 cd-gpios = <&pio 7 18 GPIO_ACTIVE_HIGH>; /* PH8 */ 128 cd-gpios = <&pio 7 18 GPIO_ACTIVE_LOW>; /* PH8 */
129 cd-inverted;
130 status = "okay"; 129 status = "okay";
131}; 130};
132 131
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi
index 90eac0b2a193..25591d6883ef 100644
--- a/arch/arm/boot/dts/sun9i-a80.dtsi
+++ b/arch/arm/boot/dts/sun9i-a80.dtsi
@@ -63,48 +63,72 @@
63 cpu0: cpu@0 { 63 cpu0: cpu@0 {
64 compatible = "arm,cortex-a7"; 64 compatible = "arm,cortex-a7";
65 device_type = "cpu"; 65 device_type = "cpu";
66 cci-control-port = <&cci_control0>;
67 clock-frequency = <12000000>;
68 enable-method = "allwinner,sun9i-a80-smp";
66 reg = <0x0>; 69 reg = <0x0>;
67 }; 70 };
68 71
69 cpu1: cpu@1 { 72 cpu1: cpu@1 {
70 compatible = "arm,cortex-a7"; 73 compatible = "arm,cortex-a7";
71 device_type = "cpu"; 74 device_type = "cpu";
75 cci-control-port = <&cci_control0>;
76 clock-frequency = <12000000>;
77 enable-method = "allwinner,sun9i-a80-smp";
72 reg = <0x1>; 78 reg = <0x1>;
73 }; 79 };
74 80
75 cpu2: cpu@2 { 81 cpu2: cpu@2 {
76 compatible = "arm,cortex-a7"; 82 compatible = "arm,cortex-a7";
77 device_type = "cpu"; 83 device_type = "cpu";
84 cci-control-port = <&cci_control0>;
85 clock-frequency = <12000000>;
86 enable-method = "allwinner,sun9i-a80-smp";
78 reg = <0x2>; 87 reg = <0x2>;
79 }; 88 };
80 89
81 cpu3: cpu@3 { 90 cpu3: cpu@3 {
82 compatible = "arm,cortex-a7"; 91 compatible = "arm,cortex-a7";
83 device_type = "cpu"; 92 device_type = "cpu";
93 cci-control-port = <&cci_control0>;
94 clock-frequency = <12000000>;
95 enable-method = "allwinner,sun9i-a80-smp";
84 reg = <0x3>; 96 reg = <0x3>;
85 }; 97 };
86 98
87 cpu4: cpu@100 { 99 cpu4: cpu@100 {
88 compatible = "arm,cortex-a15"; 100 compatible = "arm,cortex-a15";
89 device_type = "cpu"; 101 device_type = "cpu";
102 cci-control-port = <&cci_control1>;
103 clock-frequency = <18000000>;
104 enable-method = "allwinner,sun9i-a80-smp";
90 reg = <0x100>; 105 reg = <0x100>;
91 }; 106 };
92 107
93 cpu5: cpu@101 { 108 cpu5: cpu@101 {
94 compatible = "arm,cortex-a15"; 109 compatible = "arm,cortex-a15";
95 device_type = "cpu"; 110 device_type = "cpu";
111 cci-control-port = <&cci_control1>;
112 clock-frequency = <18000000>;
113 enable-method = "allwinner,sun9i-a80-smp";
96 reg = <0x101>; 114 reg = <0x101>;
97 }; 115 };
98 116
99 cpu6: cpu@102 { 117 cpu6: cpu@102 {
100 compatible = "arm,cortex-a15"; 118 compatible = "arm,cortex-a15";
101 device_type = "cpu"; 119 device_type = "cpu";
120 cci-control-port = <&cci_control1>;
121 clock-frequency = <18000000>;
122 enable-method = "allwinner,sun9i-a80-smp";
102 reg = <0x102>; 123 reg = <0x102>;
103 }; 124 };
104 125
105 cpu7: cpu@103 { 126 cpu7: cpu@103 {
106 compatible = "arm,cortex-a15"; 127 compatible = "arm,cortex-a15";
107 device_type = "cpu"; 128 device_type = "cpu";
129 cci-control-port = <&cci_control1>;
130 clock-frequency = <18000000>;
131 enable-method = "allwinner,sun9i-a80-smp";
108 reg = <0x103>; 132 reg = <0x103>;
109 }; 133 };
110 }; 134 };
@@ -224,6 +248,12 @@
224 }; 248 };
225 }; 249 };
226 250
251 de: display-engine {
252 compatible = "allwinner,sun9i-a80-display-engine";
253 allwinner,pipelines = <&fe0>, <&fe1>;
254 status = "disabled";
255 };
256
227 soc { 257 soc {
228 compatible = "simple-bus"; 258 compatible = "simple-bus";
229 #address-cells = <1>; 259 #address-cells = <1>;
@@ -234,6 +264,25 @@
234 */ 264 */
235 ranges = <0 0 0 0x20000000>; 265 ranges = <0 0 0 0x20000000>;
236 266
267 sram_b: sram@20000 {
268 /* 256 KiB secure SRAM at 0x20000 */
269 compatible = "mmio-sram";
270 reg = <0x00020000 0x40000>;
271
272 #address-cells = <1>;
273 #size-cells = <1>;
274 ranges = <0 0x00020000 0x40000>;
275
276 smp-sram@1000 {
277 /*
278 * This is checked by BROM to determine if
279 * cpu0 should jump to SMP entry vector
280 */
281 compatible = "allwinner,sun9i-a80-smp-sram";
282 reg = <0x1000 0x8>;
283 };
284 };
285
237 ehci0: usb@a00000 { 286 ehci0: usb@a00000 {
238 compatible = "allwinner,sun9i-a80-ehci", "generic-ehci"; 287 compatible = "allwinner,sun9i-a80-ehci", "generic-ehci";
239 reg = <0x00a00000 0x100>; 288 reg = <0x00a00000 0x100>;
@@ -347,6 +396,11 @@
347 #reset-cells = <1>; 396 #reset-cells = <1>;
348 }; 397 };
349 398
399 cpucfg@1700000 {
400 compatible = "allwinner,sun9i-a80-cpucfg";
401 reg = <0x01700000 0x100>;
402 };
403
350 mmc0: mmc@1c0f000 { 404 mmc0: mmc@1c0f000 {
351 compatible = "allwinner,sun9i-a80-mmc"; 405 compatible = "allwinner,sun9i-a80-mmc";
352 reg = <0x01c0f000 0x1000>; 406 reg = <0x01c0f000 0x1000>;
@@ -431,6 +485,36 @@
431 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 485 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
432 }; 486 };
433 487
488 cci: cci@1c90000 {
489 compatible = "arm,cci-400";
490 #address-cells = <1>;
491 #size-cells = <1>;
492 reg = <0x01c90000 0x1000>;
493 ranges = <0x0 0x01c90000 0x10000>;
494
495 cci_control0: slave-if@4000 {
496 compatible = "arm,cci-400-ctrl-if";
497 interface-type = "ace";
498 reg = <0x4000 0x1000>;
499 };
500
501 cci_control1: slave-if@5000 {
502 compatible = "arm,cci-400-ctrl-if";
503 interface-type = "ace";
504 reg = <0x5000 0x1000>;
505 };
506
507 pmu@9000 {
508 compatible = "arm,cci-400-pmu,r1";
509 reg = <0x9000 0x5000>;
510 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
511 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
512 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
513 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
514 <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
515 };
516 };
517
434 de_clocks: clock@3000000 { 518 de_clocks: clock@3000000 {
435 compatible = "allwinner,sun9i-a80-de-clks"; 519 compatible = "allwinner,sun9i-a80-de-clks";
436 reg = <0x03000000 0x30>; 520 reg = <0x03000000 0x30>;
@@ -445,6 +529,381 @@
445 #reset-cells = <1>; 529 #reset-cells = <1>;
446 }; 530 };
447 531
532 fe0: display-frontend@3100000 {
533 compatible = "allwinner,sun9i-a80-display-frontend";
534 reg = <0x03100000 0x40000>;
535 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
536 clocks = <&de_clocks CLK_BUS_FE0>, <&de_clocks CLK_FE0>,
537 <&de_clocks CLK_DRAM_FE0>;
538 clock-names = "ahb", "mod",
539 "ram";
540 resets = <&de_clocks RST_FE0>;
541
542 ports {
543 #address-cells = <1>;
544 #size-cells = <0>;
545
546 fe0_out: port@1 {
547 #address-cells = <1>;
548 #size-cells = <0>;
549 reg = <1>;
550
551 fe0_out_deu0: endpoint@0 {
552 reg = <0>;
553 remote-endpoint = <&deu0_in_fe0>;
554 };
555 };
556 };
557 };
558
559 fe1: display-frontend@3140000 {
560 compatible = "allwinner,sun9i-a80-display-frontend";
561 reg = <0x03140000 0x40000>;
562 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
563 clocks = <&de_clocks CLK_BUS_FE1>, <&de_clocks CLK_FE1>,
564 <&de_clocks CLK_DRAM_FE1>;
565 clock-names = "ahb", "mod",
566 "ram";
567 resets = <&de_clocks RST_FE0>;
568
569 ports {
570 #address-cells = <1>;
571 #size-cells = <0>;
572
573 fe1_out: port@1 {
574 #address-cells = <1>;
575 #size-cells = <0>;
576 reg = <1>;
577
578 fe1_out_deu1: endpoint@0 {
579 reg = <0>;
580 remote-endpoint = <&deu1_in_fe1>;
581 };
582 };
583 };
584 };
585
586 be0: display-backend@3200000 {
587 compatible = "allwinner,sun9i-a80-display-backend";
588 reg = <0x03200000 0x40000>;
589 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
590 clocks = <&de_clocks CLK_BUS_BE0>, <&de_clocks CLK_BE0>,
591 <&de_clocks CLK_DRAM_BE0>;
592 clock-names = "ahb", "mod",
593 "ram";
594 resets = <&de_clocks RST_BE0>;
595
596 ports {
597 #address-cells = <1>;
598 #size-cells = <0>;
599
600 be0_in: port@0 {
601 #address-cells = <1>;
602 #size-cells = <0>;
603 reg = <0>;
604
605 be0_in_deu0: endpoint@0 {
606 reg = <0>;
607 remote-endpoint = <&deu0_out_be0>;
608 };
609
610 be0_in_deu1: endpoint@1 {
611 reg = <1>;
612 remote-endpoint = <&deu1_out_be0>;
613 };
614 };
615
616 be0_out: port@1 {
617 #address-cells = <1>;
618 #size-cells = <0>;
619 reg = <1>;
620
621 be0_out_drc0: endpoint@0 {
622 reg = <0>;
623 remote-endpoint = <&drc0_in_be0>;
624 };
625 };
626 };
627 };
628
629 be1: display-backend@3240000 {
630 compatible = "allwinner,sun9i-a80-display-backend";
631 reg = <0x03240000 0x40000>;
632 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
633 clocks = <&de_clocks CLK_BUS_BE1>, <&de_clocks CLK_BE1>,
634 <&de_clocks CLK_DRAM_BE1>;
635 clock-names = "ahb", "mod",
636 "ram";
637 resets = <&de_clocks RST_BE1>;
638
639 ports {
640 #address-cells = <1>;
641 #size-cells = <0>;
642
643 be1_in: port@0 {
644 #address-cells = <1>;
645 #size-cells = <0>;
646 reg = <0>;
647
648 be1_in_deu0: endpoint@0 {
649 reg = <0>;
650 remote-endpoint = <&deu0_out_be1>;
651 };
652
653 be1_in_deu1: endpoint@1 {
654 reg = <1>;
655 remote-endpoint = <&deu1_out_be1>;
656 };
657 };
658
659 be1_out: port@1 {
660 #address-cells = <1>;
661 #size-cells = <0>;
662 reg = <1>;
663
664 be1_out_drc1: endpoint@0 {
665 reg = <0>;
666 remote-endpoint = <&drc1_in_be1>;
667 };
668 };
669 };
670 };
671
672 deu0: deu@3300000 {
673 compatible = "allwinner,sun9i-a80-deu";
674 reg = <0x03300000 0x40000>;
675 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
676 clocks = <&de_clocks CLK_BUS_DEU0>,
677 <&de_clocks CLK_IEP_DEU0>,
678 <&de_clocks CLK_DRAM_DEU0>;
679 clock-names = "ahb",
680 "mod",
681 "ram";
682 resets = <&de_clocks RST_DEU0>;
683
684 ports {
685 #address-cells = <1>;
686 #size-cells = <0>;
687
688 deu0_in: port@0 {
689 #address-cells = <1>;
690 #size-cells = <0>;
691 reg = <0>;
692
693 deu0_in_fe0: endpoint@0 {
694 reg = <0>;
695 remote-endpoint = <&fe0_out_deu0>;
696 };
697 };
698
699 deu0_out: port@1 {
700 #address-cells = <1>;
701 #size-cells = <0>;
702 reg = <1>;
703
704 deu0_out_be0: endpoint@0 {
705 reg = <0>;
706 remote-endpoint = <&be0_in_deu0>;
707 };
708
709 deu0_out_be1: endpoint@1 {
710 reg = <1>;
711 remote-endpoint = <&be1_in_deu0>;
712 };
713 };
714 };
715 };
716
717 deu1: deu@3340000 {
718 compatible = "allwinner,sun9i-a80-deu";
719 reg = <0x03340000 0x40000>;
720 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
721 clocks = <&de_clocks CLK_BUS_DEU1>,
722 <&de_clocks CLK_IEP_DEU1>,
723 <&de_clocks CLK_DRAM_DEU1>;
724 clock-names = "ahb",
725 "mod",
726 "ram";
727 resets = <&de_clocks RST_DEU1>;
728
729 ports {
730 #address-cells = <1>;
731 #size-cells = <0>;
732
733 deu1_in: port@0 {
734 #address-cells = <1>;
735 #size-cells = <0>;
736 reg = <0>;
737
738 deu1_in_fe1: endpoint@0 {
739 reg = <0>;
740 remote-endpoint = <&fe1_out_deu1>;
741 };
742 };
743
744 deu1_out: port@1 {
745 #address-cells = <1>;
746 #size-cells = <0>;
747 reg = <1>;
748
749 deu1_out_be0: endpoint@0 {
750 reg = <0>;
751 remote-endpoint = <&be0_in_deu1>;
752 };
753
754 deu1_out_be1: endpoint@1 {
755 reg = <1>;
756 remote-endpoint = <&be1_in_deu1>;
757 };
758 };
759 };
760 };
761
762 drc0: drc@3400000 {
763 compatible = "allwinner,sun9i-a80-drc";
764 reg = <0x03400000 0x40000>;
765 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
766 clocks = <&de_clocks CLK_BUS_DRC0>,
767 <&de_clocks CLK_IEP_DRC0>,
768 <&de_clocks CLK_DRAM_DRC0>;
769 clock-names = "ahb",
770 "mod",
771 "ram";
772 resets = <&de_clocks RST_DRC0>;
773
774 ports {
775 #address-cells = <1>;
776 #size-cells = <0>;
777
778 drc0_in: port@0 {
779 #address-cells = <1>;
780 #size-cells = <0>;
781 reg = <0>;
782
783 drc0_in_be0: endpoint@0 {
784 reg = <0>;
785 remote-endpoint = <&be0_out_drc0>;
786 };
787 };
788
789 drc0_out: port@1 {
790 #address-cells = <1>;
791 #size-cells = <0>;
792 reg = <1>;
793
794 drc0_out_tcon0: endpoint@0 {
795 reg = <0>;
796 remote-endpoint = <&tcon0_in_drc0>;
797 };
798 };
799 };
800 };
801
802 drc1: drc@3440000 {
803 compatible = "allwinner,sun9i-a80-drc";
804 reg = <0x03440000 0x40000>;
805 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
806 clocks = <&de_clocks CLK_BUS_DRC1>,
807 <&de_clocks CLK_IEP_DRC1>,
808 <&de_clocks CLK_DRAM_DRC1>;
809 clock-names = "ahb",
810 "mod",
811 "ram";
812 resets = <&de_clocks RST_DRC1>;
813
814 ports {
815 #address-cells = <1>;
816 #size-cells = <0>;
817
818 drc1_in: port@0 {
819 #address-cells = <1>;
820 #size-cells = <0>;
821 reg = <0>;
822
823 drc1_in_be1: endpoint@0 {
824 reg = <0>;
825 remote-endpoint = <&be1_out_drc1>;
826 };
827 };
828
829 drc1_out: port@1 {
830 #address-cells = <1>;
831 #size-cells = <0>;
832 reg = <1>;
833
834 drc1_out_tcon1: endpoint@0 {
835 reg = <0>;
836 remote-endpoint = <&tcon1_in_drc1>;
837 };
838 };
839 };
840 };
841
842 tcon0: lcd-controller@3c00000 {
843 compatible = "allwinner,sun9i-a80-tcon-lcd";
844 reg = <0x03c00000 0x10000>;
845 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
846 clocks = <&ccu CLK_BUS_LCD0>, <&ccu CLK_LCD0>;
847 clock-names = "ahb", "tcon-ch0";
848 resets = <&ccu RST_BUS_LCD0>, <&ccu RST_BUS_EDP>;
849 reset-names = "lcd", "edp";
850 clock-output-names = "tcon0-pixel-clock";
851
852 ports {
853 #address-cells = <1>;
854 #size-cells = <0>;
855
856 tcon0_in: port@0 {
857 #address-cells = <1>;
858 #size-cells = <0>;
859 reg = <0>;
860
861 tcon0_in_drc0: endpoint@0 {
862 reg = <0>;
863 remote-endpoint = <&drc0_out_tcon0>;
864 };
865 };
866
867 tcon0_out: port@1 {
868 #address-cells = <1>;
869 #size-cells = <0>;
870 reg = <1>;
871 };
872 };
873 };
874
875 tcon1: lcd-controller@3c10000 {
876 compatible = "allwinner,sun9i-a80-tcon-tv";
877 reg = <0x03c10000 0x10000>;
878 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
879 clocks = <&ccu CLK_BUS_LCD1>, <&ccu CLK_LCD1>;
880 clock-names = "ahb", "tcon-ch1";
881 resets = <&ccu RST_BUS_LCD1>, <&ccu RST_BUS_EDP>;
882 reset-names = "lcd", "edp";
883
884 ports {
885 #address-cells = <1>;
886 #size-cells = <0>;
887
888 tcon1_in: port@0 {
889 #address-cells = <1>;
890 #size-cells = <0>;
891 reg = <0>;
892
893 tcon1_in_drc1: endpoint@0 {
894 reg = <0>;
895 remote-endpoint = <&drc1_out_tcon1>;
896 };
897 };
898
899 tcon1_out: port@1 {
900 #address-cells = <1>;
901 #size-cells = <0>;
902 reg = <1>;
903 };
904 };
905 };
906
448 ccu: clock@6000000 { 907 ccu: clock@6000000 {
449 compatible = "allwinner,sun9i-a80-ccu"; 908 compatible = "allwinner,sun9i-a80-ccu";
450 reg = <0x06000000 0x800>; 909 reg = <0x06000000 0x800>;
@@ -494,6 +953,17 @@
494 function = "i2c3"; 953 function = "i2c3";
495 }; 954 };
496 955
956 lcd0_rgb888_pins: lcd0-rgb888-pins {
957 pins = "PD0", "PD1", "PD2", "PD3",
958 "PD4", "PD5", "PD6", "PD7",
959 "PD8", "PD9", "PD10", "PD11",
960 "PD12", "PD13", "PD14", "PD15",
961 "PD16", "PD17", "PD18", "PD19",
962 "PD20", "PD21", "PD22", "PD23",
963 "PD24", "PD25", "PD26", "PD27";
964 function = "lcd0";
965 };
966
497 mmc0_pins: mmc0-pins { 967 mmc0_pins: mmc0-pins {
498 pins = "PF0", "PF1" ,"PF2", "PF3", 968 pins = "PF0", "PF1" ,"PF2", "PF3",
499 "PF4", "PF5"; 969 "PF4", "PF5";
@@ -658,6 +1128,11 @@
658 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 1128 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
659 }; 1129 };
660 1130
1131 prcm@8001400 {
1132 compatible = "allwinner,sun9i-a80-prcm";
1133 reg = <0x08001400 0x200>;
1134 };
1135
661 apbs_rst: reset@80014b0 { 1136 apbs_rst: reset@80014b0 {
662 reg = <0x080014b0 0x4>; 1137 reg = <0x080014b0 0x4>;
663 compatible = "allwinner,sun6i-a31-clock-reset"; 1138 compatible = "allwinner,sun6i-a31-clock-reset";
diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
index 7a83b15225c7..1be1a02d6df2 100644
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
@@ -105,6 +105,12 @@
105 }; 105 };
106 }; 106 };
107 107
108 de: display-engine {
109 compatible = "allwinner,sun8i-h3-display-engine";
110 allwinner,pipelines = <&mixer0>;
111 status = "disabled";
112 };
113
108 soc { 114 soc {
109 compatible = "simple-bus"; 115 compatible = "simple-bus";
110 #address-cells = <1>; 116 #address-cells = <1>;
@@ -123,6 +129,29 @@
123 #reset-cells = <1>; 129 #reset-cells = <1>;
124 }; 130 };
125 131
132 mixer0: mixer@1100000 {
133 compatible = "allwinner,sun8i-h3-de2-mixer-0";
134 reg = <0x01100000 0x100000>;
135 clocks = <&display_clocks CLK_BUS_MIXER0>,
136 <&display_clocks CLK_MIXER0>;
137 clock-names = "bus",
138 "mod";
139 resets = <&display_clocks RST_MIXER0>;
140
141 ports {
142 #address-cells = <1>;
143 #size-cells = <0>;
144
145 mixer0_out: port@1 {
146 reg = <1>;
147
148 mixer0_out_tcon0: endpoint {
149 remote-endpoint = <&tcon0_in_mixer0>;
150 };
151 };
152 };
153 };
154
126 syscon: syscon@1c00000 { 155 syscon: syscon@1c00000 {
127 compatible = "allwinner,sun8i-h3-system-controller", 156 compatible = "allwinner,sun8i-h3-system-controller",
128 "syscon"; 157 "syscon";
@@ -138,9 +167,46 @@
138 #dma-cells = <1>; 167 #dma-cells = <1>;
139 }; 168 };
140 169
170 tcon0: lcd-controller@1c0c000 {
171 compatible = "allwinner,sun8i-h3-tcon-tv",
172 "allwinner,sun8i-a83t-tcon-tv";
173 reg = <0x01c0c000 0x1000>;
174 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
175 clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
176 clock-names = "ahb", "tcon-ch1";
177 resets = <&ccu RST_BUS_TCON0>;
178 reset-names = "lcd";
179
180 ports {
181 #address-cells = <1>;
182 #size-cells = <0>;
183
184 tcon0_in: port@0 {
185 reg = <0>;
186
187 tcon0_in_mixer0: endpoint {
188 remote-endpoint = <&mixer0_out_tcon0>;
189 };
190 };
191
192 tcon0_out: port@1 {
193 #address-cells = <1>;
194 #size-cells = <0>;
195 reg = <1>;
196
197 tcon0_out_hdmi: endpoint@1 {
198 reg = <1>;
199 remote-endpoint = <&hdmi_in_tcon0>;
200 };
201 };
202 };
203 };
204
141 mmc0: mmc@1c0f000 { 205 mmc0: mmc@1c0f000 {
142 /* compatible and clocks are in per SoC .dtsi file */ 206 /* compatible and clocks are in per SoC .dtsi file */
143 reg = <0x01c0f000 0x1000>; 207 reg = <0x01c0f000 0x1000>;
208 pinctrl-names = "default";
209 pinctrl-0 = <&mmc0_pins>;
144 resets = <&ccu RST_BUS_MMC0>; 210 resets = <&ccu RST_BUS_MMC0>;
145 reset-names = "ahb"; 211 reset-names = "ahb";
146 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 212 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
@@ -152,6 +218,8 @@
152 mmc1: mmc@1c10000 { 218 mmc1: mmc@1c10000 {
153 /* compatible and clocks are in per SoC .dtsi file */ 219 /* compatible and clocks are in per SoC .dtsi file */
154 reg = <0x01c10000 0x1000>; 220 reg = <0x01c10000 0x1000>;
221 pinctrl-names = "default";
222 pinctrl-0 = <&mmc1_pins>;
155 resets = <&ccu RST_BUS_MMC1>; 223 resets = <&ccu RST_BUS_MMC1>;
156 reset-names = "ahb"; 224 reset-names = "ahb";
157 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 225 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
@@ -348,7 +416,7 @@
348 function = "i2c2"; 416 function = "i2c2";
349 }; 417 };
350 418
351 mmc0_pins_a: mmc0 { 419 mmc0_pins: mmc0 {
352 pins = "PF0", "PF1", "PF2", "PF3", 420 pins = "PF0", "PF1", "PF2", "PF3",
353 "PF4", "PF5"; 421 "PF4", "PF5";
354 function = "mmc0"; 422 function = "mmc0";
@@ -356,13 +424,7 @@
356 bias-pull-up; 424 bias-pull-up;
357 }; 425 };
358 426
359 mmc0_cd_pin: mmc0_cd_pin { 427 mmc1_pins: mmc1 {
360 pins = "PF6";
361 function = "gpio_in";
362 bias-pull-up;
363 };
364
365 mmc1_pins_a: mmc1 {
366 pins = "PG0", "PG1", "PG2", "PG3", 428 pins = "PG0", "PG1", "PG2", "PG3",
367 "PG4", "PG5"; 429 "PG4", "PG5";
368 function = "mmc1"; 430 function = "mmc1";
@@ -684,6 +746,50 @@
684 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 746 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
685 }; 747 };
686 748
749 hdmi: hdmi@1ee0000 {
750 compatible = "allwinner,sun8i-h3-dw-hdmi",
751 "allwinner,sun8i-a83t-dw-hdmi";
752 reg = <0x01ee0000 0x10000>;
753 reg-io-width = <1>;
754 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
755 clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
756 <&ccu CLK_HDMI>;
757 clock-names = "iahb", "isfr", "tmds";
758 resets = <&ccu RST_BUS_HDMI1>;
759 reset-names = "ctrl";
760 phys = <&hdmi_phy>;
761 phy-names = "hdmi-phy";
762 status = "disabled";
763
764 ports {
765 #address-cells = <1>;
766 #size-cells = <0>;
767
768 hdmi_in: port@0 {
769 reg = <0>;
770
771 hdmi_in_tcon0: endpoint {
772 remote-endpoint = <&tcon0_out_hdmi>;
773 };
774 };
775
776 hdmi_out: port@1 {
777 reg = <1>;
778 };
779 };
780 };
781
782 hdmi_phy: hdmi-phy@1ef0000 {
783 compatible = "allwinner,sun8i-h3-hdmi-phy";
784 reg = <0x01ef0000 0x10000>;
785 clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
786 <&ccu 6>;
787 clock-names = "bus", "mod", "pll-0";
788 resets = <&ccu RST_BUS_HDMI0>;
789 reset-names = "phy";
790 #phy-cells = <0>;
791 };
792
687 rtc: rtc@1f00000 { 793 rtc: rtc@1f00000 {
688 compatible = "allwinner,sun6i-a31-rtc"; 794 compatible = "allwinner,sun6i-a31-rtc";
689 reg = <0x01f00000 0x54>; 795 reg = <0x01f00000 0x54>;
diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index acd6cf51b15b..eafff16765b4 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -780,7 +780,7 @@
780 compatible = "realtek,rt5640"; 780 compatible = "realtek,rt5640";
781 reg = <0x1c>; 781 reg = <0x1c>;
782 interrupt-parent = <&gpio>; 782 interrupt-parent = <&gpio>;
783 interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>; 783 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_FALLING>;
784 realtek,ldo1-en-gpios = 784 realtek,ldo1-en-gpios =
785 <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>; 785 <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
786 }; 786 };
diff --git a/arch/arm/boot/dts/tegra124-apalis-eval.dts b/arch/arm/boot/dts/tegra124-apalis-eval.dts
index ecffcd115fa7..a6ad759dddb4 100644
--- a/arch/arm/boot/dts/tegra124-apalis-eval.dts
+++ b/arch/arm/boot/dts/tegra124-apalis-eval.dts
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright 2016 Toradex AG 2 * Copyright 2016-2018 Toradex AG
3 * 3 *
4 * This file is dual-licensed: you can use it either under the terms 4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual 5 * of the GPL or the X11 license, at your option. Note that this dual
@@ -105,7 +105,7 @@
105 */ 105 */
106 i2c@7000c000 { 106 i2c@7000c000 {
107 status = "okay"; 107 status = "okay";
108 clock-frequency = <100000>; 108 clock-frequency = <400000>;
109 109
110 pcie-switch@58 { 110 pcie-switch@58 {
111 compatible = "plx,pex8605"; 111 compatible = "plx,pex8605";
@@ -114,7 +114,7 @@
114 114
115 /* M41T0M6 real time clock on carrier board */ 115 /* M41T0M6 real time clock on carrier board */
116 rtc@68 { 116 rtc@68 {
117 compatible = "st,m41t00"; 117 compatible = "st,m41t0";
118 reg = <0x68>; 118 reg = <0x68>;
119 }; 119 };
120 }; 120 };
@@ -124,7 +124,6 @@
124 */ 124 */
125 hdmi_ddc: i2c@7000c400 { 125 hdmi_ddc: i2c@7000c400 {
126 status = "okay"; 126 status = "okay";
127 clock-frequency = <100000>;
128 }; 127 };
129 128
130 /* 129 /*
@@ -133,7 +132,7 @@
133 */ 132 */
134 i2c@7000c500 { 133 i2c@7000c500 {
135 status = "okay"; 134 status = "okay";
136 clock-frequency = <100000>; 135 clock-frequency = <400000>;
137 }; 136 };
138 137
139 /* I2C4 (DDC): unused */ 138 /* I2C4 (DDC): unused */
@@ -226,9 +225,7 @@
226 225
227 backlight: backlight { 226 backlight: backlight {
228 compatible = "pwm-backlight"; 227 compatible = "pwm-backlight";
229 228 pwms = <&pwm 3 5000000>; /* BKL1_PWM */
230 /* BKL1_PWM */
231 pwms = <&pwm 3 5000000>;
232 brightness-levels = <255 231 223 207 191 159 127 0>; 229 brightness-levels = <255 231 223 207 191 159 127 0>;
233 default-brightness-level = <6>; 230 default-brightness-level = <6>;
234 /* BKL1_ON */ 231 /* BKL1_ON */
@@ -276,3 +273,13 @@
276 vin-supply = <&reg_5v0>; 273 vin-supply = <&reg_5v0>;
277 }; 274 };
278}; 275};
276
277&gpio {
278 /* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
279 pex_perst_n {
280 gpio-hog;
281 gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
282 output-high;
283 line-name = "PEX_PERST_N";
284 };
285};
diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts b/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts
new file mode 100644
index 000000000000..8a8d5fa0ecd1
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2-eval.dts
@@ -0,0 +1,250 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2016-2018 Toradex AG
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/input/input.h>
9#include "tegra124-apalis-v1.2.dtsi"
10
11/ {
12 model = "Toradex Apalis TK1 on Apalis Evaluation Board";
13 compatible = "toradex,apalis-tk1-v1.2-eval", "toradex,apalis-tk1-eval",
14 "toradex,apalis-tk1", "nvidia,tegra124";
15
16 aliases {
17 rtc0 = "/i2c@7000c000/rtc@68";
18 rtc1 = "/i2c@7000d000/pmic@40";
19 rtc2 = "/rtc@7000e000";
20 serial0 = &uarta;
21 serial1 = &uartb;
22 serial2 = &uartc;
23 serial3 = &uartd;
24 };
25
26 chosen {
27 stdout-path = "serial0:115200n8";
28 };
29
30 pcie@1003000 {
31 pci@1,0 {
32 status = "okay";
33 };
34 };
35
36 host1x@50000000 {
37 hdmi@54280000 {
38 status = "okay";
39 };
40 };
41
42 /* Apalis UART1 */
43 serial@70006000 {
44 status = "okay";
45 };
46
47 /* Apalis UART2 */
48 serial@70006040 {
49 status = "okay";
50 };
51
52 /* Apalis UART3 */
53 serial@70006200 {
54 status = "okay";
55 };
56
57 /* Apalis UART4 */
58 serial@70006300 {
59 status = "okay";
60 };
61
62 pwm@7000a000 {
63 status = "okay";
64 };
65
66 /*
67 * GEN1_I2C: I2C1_SDA/SCL on MXM3 pin 209/211 (e.g. RTC on carrier
68 * board)
69 */
70 i2c@7000c000 {
71 status = "okay";
72 clock-frequency = <400000>;
73
74 pcie-switch@58 {
75 compatible = "plx,pex8605";
76 reg = <0x58>;
77 };
78
79 /* M41T0M6 real time clock on carrier board */
80 rtc@68 {
81 compatible = "st,m41t0";
82 reg = <0x68>;
83 };
84 };
85
86 /* GEN2_I2C: unused */
87
88 /*
89 * CAM_I2C: I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor
90 * on carrier board)
91 */
92 i2c@7000c500 {
93 status = "okay";
94 clock-frequency = <400000>;
95 };
96
97 /*
98 * I2C4 (DDC): I2C4_SDA/SCL (DDC) on MXM3 pin 205/207
99 * (e.g. display EDID)
100 */
101 hdmi_ddc: i2c@7000c700 {
102 status = "okay";
103 };
104
105 /* SPI1: Apalis SPI1 */
106 spi@7000d400 {
107 status = "okay";
108 spi-max-frequency = <50000000>;
109
110 spidev0: spidev@0 {
111 compatible = "spidev";
112 reg = <0>;
113 spi-max-frequency = <50000000>;
114 };
115 };
116
117 /* SPI4: Apalis SPI2 */
118 spi@7000da00 {
119 status = "okay";
120 spi-max-frequency = <50000000>;
121
122 spidev1: spidev@0 {
123 compatible = "spidev";
124 reg = <0>;
125 spi-max-frequency = <50000000>;
126 };
127 };
128
129 /* Apalis Serial ATA */
130 sata@70020000 {
131 status = "okay";
132 };
133
134 hda@70030000 {
135 status = "okay";
136 };
137
138 usb@70090000 {
139 status = "okay";
140 };
141
142 /* Apalis MMC1 */
143 sdhci@700b0000 {
144 status = "okay";
145 /* MMC1_CD# */
146 cd-gpios = <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_LOW>;
147 bus-width = <4>;
148 vqmmc-supply = <&vddio_sdmmc1>;
149 };
150
151 /* Apalis SD1 */
152 sdhci@700b0400 {
153 status = "okay";
154 /* SD1_CD# */
155 cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
156 bus-width = <4>;
157 vqmmc-supply = <&vddio_sdmmc3>;
158 };
159
160 /* EHCI instance 0: USB1_DP/N -> USBO1_DP/N */
161 usb@7d000000 {
162 status = "okay";
163 dr_mode = "otg";
164 };
165
166 usb-phy@7d000000 {
167 status = "okay";
168 vbus-supply = <&reg_usbo1_vbus>;
169 };
170
171 /* EHCI instance 1: USB2_DP/N -> USBH2_DP/N */
172 usb@7d004000 {
173 status = "okay";
174 };
175
176 usb-phy@7d004000 {
177 status = "okay";
178 vbus-supply = <&reg_usbh_vbus>;
179 };
180
181 /* EHCI instance 2: USB3_DP/N -> USBH4_DP/N */
182 usb@7d008000 {
183 status = "okay";
184 };
185
186 usb-phy@7d008000 {
187 status = "okay";
188 vbus-supply = <&reg_usbh_vbus>;
189 };
190
191 backlight: backlight {
192 compatible = "pwm-backlight";
193 pwms = <&pwm 3 5000000>; /* BKL1_PWM */
194 brightness-levels = <255 231 223 207 191 159 127 0>;
195 default-brightness-level = <6>;
196 /* BKL1_ON */
197 enable-gpios = <&gpio TEGRA_GPIO(BB, 5) GPIO_ACTIVE_HIGH>;
198 };
199
200 gpio-keys {
201 compatible = "gpio-keys";
202
203 wakeup {
204 label = "WAKE1_MICO";
205 gpios = <&gpio TEGRA_GPIO(DD, 3) GPIO_ACTIVE_LOW>;
206 linux,code = <KEY_WAKEUP>;
207 debounce-interval = <10>;
208 wakeup-source;
209 };
210 };
211
212 reg_5v0: regulator-5v0 {
213 compatible = "regulator-fixed";
214 regulator-name = "5V_SW";
215 regulator-min-microvolt = <5000000>;
216 regulator-max-microvolt = <5000000>;
217 };
218
219 /* USBO1_EN */
220 reg_usbo1_vbus: regulator-usbo1-vbus {
221 compatible = "regulator-fixed";
222 regulator-name = "VCC_USBO1";
223 regulator-min-microvolt = <5000000>;
224 regulator-max-microvolt = <5000000>;
225 gpio = <&gpio TEGRA_GPIO(T, 5) GPIO_ACTIVE_HIGH>;
226 enable-active-high;
227 vin-supply = <&reg_5v0>;
228 };
229
230 /* USBH_EN */
231 reg_usbh_vbus: regulator-usbh-vbus {
232 compatible = "regulator-fixed";
233 regulator-name = "VCC_USBH(2A|2C|2D|3|4)";
234 regulator-min-microvolt = <5000000>;
235 regulator-max-microvolt = <5000000>;
236 gpio = <&gpio TEGRA_GPIO(T, 6) GPIO_ACTIVE_HIGH>;
237 enable-active-high;
238 vin-supply = <&reg_5v0>;
239 };
240};
241
242&gpio {
243 /* Apalis GPIO7 MXM3 pin 15 PLX PEX 8605 PCIe Switch Reset */
244 pex_perst_n {
245 gpio-hog;
246 gpios = <TEGRA_GPIO(DD, 1) GPIO_ACTIVE_HIGH>;
247 output-high;
248 line-name = "PEX_PERST_N";
249 };
250};
diff --git a/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
new file mode 100644
index 000000000000..bb67edb016c5
--- /dev/null
+++ b/arch/arm/boot/dts/tegra124-apalis-v1.2.dtsi
@@ -0,0 +1,2052 @@
1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2/*
3 * Copyright 2016-2018 Toradex AG
4 */
5
6#include "tegra124.dtsi"
7#include "tegra124-apalis-emc.dtsi"
8
9/*
10 * Toradex Apalis TK1 Module Device Tree
11 * Compatible for Revisions 2GB: V1.2A
12 */
13/ {
14 model = "Toradex Apalis TK1";
15 compatible = "toradex,apalis-tk1-v1.2", "toradex,apalis-tk1",
16 "nvidia,tegra124";
17
18 memory {
19 reg = <0x0 0x80000000 0x0 0x80000000>;
20 };
21
22 pcie@1003000 {
23 status = "okay";
24 avddio-pex-supply = <&vdd_1v05>;
25 avdd-pex-pll-supply = <&vdd_1v05>;
26 avdd-pll-erefe-supply = <&avdd_1v05>;
27 dvddio-pex-supply = <&vdd_1v05>;
28 hvdd-pex-pll-e-supply = <&reg_3v3>;
29 hvdd-pex-supply = <&reg_3v3>;
30 vddio-pex-ctl-supply = <&reg_3v3>;
31
32 /* Apalis PCIe (additional lane Apalis type specific) */
33 pci@1,0 {
34 /* PCIE1_RX/TX and TS_DIFF1/2 */
35 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>,
36 <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>;
37 phy-names = "pcie-0", "pcie-1";
38 };
39
40 /* I210 Gigabit Ethernet Controller (On-module) */
41 pci@2,0 {
42 phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>;
43 phy-names = "pcie-0";
44 status = "okay";
45 };
46 };
47
48 host1x@50000000 {
49 hdmi@54280000 {
50 pll-supply = <&reg_1v05_avdd_hdmi_pll>;
51 vdd-supply = <&reg_3v3_avdd_hdmi>;
52 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
53 nvidia,hpd-gpio =
54 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
55 };
56 };
57
58 gpu@0,57000000 {
59 /*
60 * Node left disabled on purpose - the bootloader will enable
61 * it after having set the VPR up
62 */
63 vdd-supply = <&vdd_gpu>;
64 };
65
66 pinmux: pinmux@70000868 {
67 pinctrl-names = "default";
68 pinctrl-0 = <&state_default>;
69
70 state_default: pinmux {
71 /* Analogue Audio (On-module) */
72 dap3_fs_pp0 {
73 nvidia,pins = "dap3_fs_pp0";
74 nvidia,function = "i2s2";
75 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
76 nvidia,tristate = <TEGRA_PIN_DISABLE>;
77 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
78 };
79 dap3_din_pp1 {
80 nvidia,pins = "dap3_din_pp1";
81 nvidia,function = "i2s2";
82 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
83 nvidia,tristate = <TEGRA_PIN_ENABLE>;
84 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
85 };
86 dap3_dout_pp2 {
87 nvidia,pins = "dap3_dout_pp2";
88 nvidia,function = "i2s2";
89 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
90 nvidia,tristate = <TEGRA_PIN_DISABLE>;
91 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
92 };
93 dap3_sclk_pp3 {
94 nvidia,pins = "dap3_sclk_pp3";
95 nvidia,function = "i2s2";
96 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
97 nvidia,tristate = <TEGRA_PIN_DISABLE>;
98 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
99 };
100 dap_mclk1_pw4 {
101 nvidia,pins = "dap_mclk1_pw4";
102 nvidia,function = "extperiph1";
103 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
104 nvidia,tristate = <TEGRA_PIN_DISABLE>;
105 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
106 };
107
108 /* Apalis BKL1_ON */
109 pbb5 {
110 nvidia,pins = "pbb5";
111 nvidia,function = "vgp5";
112 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
113 nvidia,tristate = <TEGRA_PIN_DISABLE>;
114 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
115 };
116
117 /* Apalis BKL1_PWM */
118 pu6 {
119 nvidia,pins = "pu6";
120 nvidia,function = "pwm3";
121 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
122 nvidia,tristate = <TEGRA_PIN_DISABLE>;
123 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
124 };
125
126 /* Apalis CAM1_MCLK */
127 cam_mclk_pcc0 {
128 nvidia,pins = "cam_mclk_pcc0";
129 nvidia,function = "vi_alt3";
130 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
131 nvidia,tristate = <TEGRA_PIN_DISABLE>;
132 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
133 };
134
135 /* Apalis Digital Audio */
136 dap2_fs_pa2 {
137 nvidia,pins = "dap2_fs_pa2";
138 nvidia,function = "hda";
139 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
140 nvidia,tristate = <TEGRA_PIN_DISABLE>;
141 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
142 };
143 dap2_sclk_pa3 {
144 nvidia,pins = "dap2_sclk_pa3";
145 nvidia,function = "hda";
146 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
147 nvidia,tristate = <TEGRA_PIN_DISABLE>;
148 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
149 };
150 dap2_din_pa4 {
151 nvidia,pins = "dap2_din_pa4";
152 nvidia,function = "hda";
153 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
154 nvidia,tristate = <TEGRA_PIN_ENABLE>;
155 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
156 };
157 dap2_dout_pa5 {
158 nvidia,pins = "dap2_dout_pa5";
159 nvidia,function = "hda";
160 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
161 nvidia,tristate = <TEGRA_PIN_DISABLE>;
162 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
163 };
164 pbb3 { /* DAP1_RESET */
165 nvidia,pins = "pbb3";
166 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
167 nvidia,tristate = <TEGRA_PIN_DISABLE>;
168 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
169 };
170 clk3_out_pee0 {
171 nvidia,pins = "clk3_out_pee0";
172 nvidia,function = "extperiph3";
173 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
174 nvidia,tristate = <TEGRA_PIN_DISABLE>;
175 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
176 };
177
178 /* Apalis GPIO */
179 usb_vbus_en0_pn4 {
180 nvidia,pins = "usb_vbus_en0_pn4";
181 nvidia,function = "rsvd2";
182 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
183 nvidia,tristate = <TEGRA_PIN_DISABLE>;
184 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
185 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
186 };
187 usb_vbus_en1_pn5 {
188 nvidia,pins = "usb_vbus_en1_pn5";
189 nvidia,function = "rsvd2";
190 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
191 nvidia,tristate = <TEGRA_PIN_DISABLE>;
192 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
193 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
194 };
195 pex_l0_rst_n_pdd1 {
196 nvidia,pins = "pex_l0_rst_n_pdd1";
197 nvidia,function = "rsvd2";
198 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
199 nvidia,tristate = <TEGRA_PIN_DISABLE>;
200 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
201 };
202 pex_l0_clkreq_n_pdd2 {
203 nvidia,pins = "pex_l0_clkreq_n_pdd2";
204 nvidia,function = "rsvd2";
205 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
206 nvidia,tristate = <TEGRA_PIN_DISABLE>;
207 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
208 };
209 pex_l1_rst_n_pdd5 {
210 nvidia,pins = "pex_l1_rst_n_pdd5";
211 nvidia,function = "rsvd2";
212 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
213 nvidia,tristate = <TEGRA_PIN_DISABLE>;
214 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
215 };
216 pex_l1_clkreq_n_pdd6 {
217 nvidia,pins = "pex_l1_clkreq_n_pdd6";
218 nvidia,function = "rsvd2";
219 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
220 nvidia,tristate = <TEGRA_PIN_DISABLE>;
221 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
222 };
223 dp_hpd_pff0 {
224 nvidia,pins = "dp_hpd_pff0";
225 nvidia,function = "dp";
226 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
227 nvidia,tristate = <TEGRA_PIN_DISABLE>;
228 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
229 };
230 pff2 {
231 nvidia,pins = "pff2";
232 nvidia,function = "rsvd2";
233 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
234 nvidia,tristate = <TEGRA_PIN_DISABLE>;
235 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
236 };
237 owr { /* PEX_L1_CLKREQ_N multiplexed GPIO6 */
238 nvidia,pins = "owr";
239 nvidia,function = "rsvd2";
240 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
241 nvidia,tristate = <TEGRA_PIN_ENABLE>;
242 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
243 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
244 };
245
246 /* Apalis HDMI1_CEC */
247 hdmi_cec_pee3 {
248 nvidia,pins = "hdmi_cec_pee3";
249 nvidia,function = "cec";
250 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
251 nvidia,tristate = <TEGRA_PIN_DISABLE>;
252 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
253 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
254 };
255
256 /* Apalis HDMI1_HPD */
257 hdmi_int_pn7 {
258 nvidia,pins = "hdmi_int_pn7";
259 nvidia,function = "rsvd1";
260 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
261 nvidia,tristate = <TEGRA_PIN_ENABLE>;
262 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
263 nvidia,rcv-sel = <TEGRA_PIN_DISABLE>;
264 };
265
266 /* Apalis I2C1 */
267 gen1_i2c_scl_pc4 {
268 nvidia,pins = "gen1_i2c_scl_pc4";
269 nvidia,function = "i2c1";
270 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
271 nvidia,tristate = <TEGRA_PIN_DISABLE>;
272 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
273 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
274 };
275 gen1_i2c_sda_pc5 {
276 nvidia,pins = "gen1_i2c_sda_pc5";
277 nvidia,function = "i2c1";
278 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
279 nvidia,tristate = <TEGRA_PIN_DISABLE>;
280 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
281 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
282 };
283
284 /* Apalis I2C3 (CAM) */
285 cam_i2c_scl_pbb1 {
286 nvidia,pins = "cam_i2c_scl_pbb1";
287 nvidia,function = "i2c3";
288 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
289 nvidia,tristate = <TEGRA_PIN_DISABLE>;
290 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
291 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
292 };
293 cam_i2c_sda_pbb2 {
294 nvidia,pins = "cam_i2c_sda_pbb2";
295 nvidia,function = "i2c3";
296 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
297 nvidia,tristate = <TEGRA_PIN_DISABLE>;
298 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
299 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
300 };
301
302 /* Apalis I2C4 (DDC) */
303 ddc_scl_pv4 {
304 nvidia,pins = "ddc_scl_pv4";
305 nvidia,function = "i2c4";
306 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
307 nvidia,tristate = <TEGRA_PIN_DISABLE>;
308 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
309 nvidia,rcv-sel = <TEGRA_PIN_ENABLE>;
310 };
311 ddc_sda_pv5 {
312 nvidia,pins = "ddc_sda_pv5";
313 nvidia,function = "i2c4";
314 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
315 nvidia,tristate = <TEGRA_PIN_DISABLE>;
316 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
317 nvidia,rcv-sel = <TEGRA_PIN_ENABLE>;
318 };
319
320 /* Apalis MMC1 */
321 sdmmc1_cd_n_pv3 { /* CD# GPIO */
322 nvidia,pins = "sdmmc1_wp_n_pv3";
323 nvidia,function = "sdmmc1";
324 nvidia,pull = <TEGRA_PIN_PULL_UP>;
325 nvidia,tristate = <TEGRA_PIN_ENABLE>;
326 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
327 };
328 clk2_out_pw5 { /* D5 GPIO */
329 nvidia,pins = "clk2_out_pw5";
330 nvidia,function = "rsvd2";
331 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
332 nvidia,tristate = <TEGRA_PIN_DISABLE>;
333 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
334 };
335 sdmmc1_dat3_py4 {
336 nvidia,pins = "sdmmc1_dat3_py4";
337 nvidia,function = "sdmmc1";
338 nvidia,pull = <TEGRA_PIN_PULL_UP>;
339 nvidia,tristate = <TEGRA_PIN_DISABLE>;
340 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
341 };
342 sdmmc1_dat2_py5 {
343 nvidia,pins = "sdmmc1_dat2_py5";
344 nvidia,function = "sdmmc1";
345 nvidia,pull = <TEGRA_PIN_PULL_UP>;
346 nvidia,tristate = <TEGRA_PIN_DISABLE>;
347 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
348 };
349 sdmmc1_dat1_py6 {
350 nvidia,pins = "sdmmc1_dat1_py6";
351 nvidia,function = "sdmmc1";
352 nvidia,pull = <TEGRA_PIN_PULL_UP>;
353 nvidia,tristate = <TEGRA_PIN_DISABLE>;
354 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
355 };
356 sdmmc1_dat0_py7 {
357 nvidia,pins = "sdmmc1_dat0_py7";
358 nvidia,function = "sdmmc1";
359 nvidia,pull = <TEGRA_PIN_PULL_UP>;
360 nvidia,tristate = <TEGRA_PIN_DISABLE>;
361 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
362 };
363 sdmmc1_clk_pz0 {
364 nvidia,pins = "sdmmc1_clk_pz0";
365 nvidia,function = "sdmmc1";
366 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
367 nvidia,tristate = <TEGRA_PIN_DISABLE>;
368 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
369 };
370 sdmmc1_cmd_pz1 {
371 nvidia,pins = "sdmmc1_cmd_pz1";
372 nvidia,function = "sdmmc1";
373 nvidia,pull = <TEGRA_PIN_PULL_UP>;
374 nvidia,tristate = <TEGRA_PIN_DISABLE>;
375 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
376 };
377 clk2_req_pcc5 { /* D4 GPIO */
378 nvidia,pins = "clk2_req_pcc5";
379 nvidia,function = "rsvd2";
380 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
381 nvidia,tristate = <TEGRA_PIN_DISABLE>;
382 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
383 };
384 sdmmc3_clk_lb_in_pee5 { /* D6 GPIO */
385 nvidia,pins = "sdmmc3_clk_lb_in_pee5";
386 nvidia,function = "rsvd2";
387 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
388 nvidia,tristate = <TEGRA_PIN_DISABLE>;
389 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
390 };
391 usb_vbus_en2_pff1 { /* D7 GPIO */
392 nvidia,pins = "usb_vbus_en2_pff1";
393 nvidia,function = "rsvd2";
394 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
395 nvidia,tristate = <TEGRA_PIN_DISABLE>;
396 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
397 };
398
399 /* Apalis PWM */
400 ph0 {
401 nvidia,pins = "ph0";
402 nvidia,function = "pwm0";
403 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
404 nvidia,tristate = <TEGRA_PIN_DISABLE>;
405 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
406 };
407 ph1 {
408 nvidia,pins = "ph1";
409 nvidia,function = "pwm1";
410 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
411 nvidia,tristate = <TEGRA_PIN_DISABLE>;
412 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
413 };
414 ph2 {
415 nvidia,pins = "ph2";
416 nvidia,function = "pwm2";
417 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
418 nvidia,tristate = <TEGRA_PIN_DISABLE>;
419 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
420 };
421 /* PWM3 active on pu6 being Apalis BKL1_PWM as well */
422 ph3 {
423 nvidia,pins = "ph3";
424 nvidia,function = "pwm3";
425 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
426 nvidia,tristate = <TEGRA_PIN_DISABLE>;
427 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
428 };
429
430 /* Apalis SATA1_ACT# */
431 dap1_dout_pn2 {
432 nvidia,pins = "dap1_dout_pn2";
433 nvidia,function = "gmi";
434 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
435 nvidia,tristate = <TEGRA_PIN_DISABLE>;
436 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
437 };
438
439 /* Apalis SD1 */
440 sdmmc3_clk_pa6 {
441 nvidia,pins = "sdmmc3_clk_pa6";
442 nvidia,function = "sdmmc3";
443 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
444 nvidia,tristate = <TEGRA_PIN_DISABLE>;
445 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
446 };
447 sdmmc3_cmd_pa7 {
448 nvidia,pins = "sdmmc3_cmd_pa7";
449 nvidia,function = "sdmmc3";
450 nvidia,pull = <TEGRA_PIN_PULL_UP>;
451 nvidia,tristate = <TEGRA_PIN_DISABLE>;
452 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
453 };
454 sdmmc3_dat3_pb4 {
455 nvidia,pins = "sdmmc3_dat3_pb4";
456 nvidia,function = "sdmmc3";
457 nvidia,pull = <TEGRA_PIN_PULL_UP>;
458 nvidia,tristate = <TEGRA_PIN_DISABLE>;
459 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
460 };
461 sdmmc3_dat2_pb5 {
462 nvidia,pins = "sdmmc3_dat2_pb5";
463 nvidia,function = "sdmmc3";
464 nvidia,pull = <TEGRA_PIN_PULL_UP>;
465 nvidia,tristate = <TEGRA_PIN_DISABLE>;
466 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
467 };
468 sdmmc3_dat1_pb6 {
469 nvidia,pins = "sdmmc3_dat1_pb6";
470 nvidia,function = "sdmmc3";
471 nvidia,pull = <TEGRA_PIN_PULL_UP>;
472 nvidia,tristate = <TEGRA_PIN_DISABLE>;
473 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
474 };
475 sdmmc3_dat0_pb7 {
476 nvidia,pins = "sdmmc3_dat0_pb7";
477 nvidia,function = "sdmmc3";
478 nvidia,pull = <TEGRA_PIN_PULL_UP>;
479 nvidia,tristate = <TEGRA_PIN_DISABLE>;
480 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
481 };
482 sdmmc3_cd_n_pv2 { /* CD# GPIO */
483 nvidia,pins = "sdmmc3_cd_n_pv2";
484 nvidia,function = "rsvd3";
485 nvidia,pull = <TEGRA_PIN_PULL_UP>;
486 nvidia,tristate = <TEGRA_PIN_ENABLE>;
487 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
488 };
489
490 /* Apalis SPDIF */
491 spdif_out_pk5 {
492 nvidia,pins = "spdif_out_pk5";
493 nvidia,function = "spdif";
494 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
495 nvidia,tristate = <TEGRA_PIN_DISABLE>;
496 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
497 };
498 spdif_in_pk6 {
499 nvidia,pins = "spdif_in_pk6";
500 nvidia,function = "spdif";
501 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
502 nvidia,tristate = <TEGRA_PIN_ENABLE>;
503 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
504 };
505
506 /* Apalis SPI1 */
507 ulpi_clk_py0 {
508 nvidia,pins = "ulpi_clk_py0";
509 nvidia,function = "spi1";
510 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
511 nvidia,tristate = <TEGRA_PIN_DISABLE>;
512 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
513 };
514 ulpi_dir_py1 {
515 nvidia,pins = "ulpi_dir_py1";
516 nvidia,function = "spi1";
517 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
518 nvidia,tristate = <TEGRA_PIN_ENABLE>;
519 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
520 };
521 ulpi_nxt_py2 {
522 nvidia,pins = "ulpi_nxt_py2";
523 nvidia,function = "spi1";
524 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
525 nvidia,tristate = <TEGRA_PIN_DISABLE>;
526 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
527 };
528 ulpi_stp_py3 {
529 nvidia,pins = "ulpi_stp_py3";
530 nvidia,function = "spi1";
531 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
532 nvidia,tristate = <TEGRA_PIN_DISABLE>;
533 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
534 };
535
536 /* Apalis SPI2 */
537 pg5 {
538 nvidia,pins = "pg5";
539 nvidia,function = "spi4";
540 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
541 nvidia,tristate = <TEGRA_PIN_DISABLE>;
542 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
543 };
544 pg6 {
545 nvidia,pins = "pg6";
546 nvidia,function = "spi4";
547 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
548 nvidia,tristate = <TEGRA_PIN_DISABLE>;
549 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
550 };
551 pg7 {
552 nvidia,pins = "pg7";
553 nvidia,function = "spi4";
554 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
555 nvidia,tristate = <TEGRA_PIN_ENABLE>;
556 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
557 };
558 pi3 {
559 nvidia,pins = "pi3";
560 nvidia,function = "spi4";
561 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
562 nvidia,tristate = <TEGRA_PIN_DISABLE>;
563 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
564 };
565
566 /* Apalis UART1 */
567 pb1 { /* DCD GPIO */
568 nvidia,pins = "pb1";
569 nvidia,function = "rsvd2";
570 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
571 nvidia,tristate = <TEGRA_PIN_ENABLE>;
572 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
573 };
574 pk7 { /* RI GPIO */
575 nvidia,pins = "pk7";
576 nvidia,function = "rsvd2";
577 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
578 nvidia,tristate = <TEGRA_PIN_ENABLE>;
579 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
580 };
581 uart1_txd_pu0 {
582 nvidia,pins = "pu0";
583 nvidia,function = "uarta";
584 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
585 nvidia,tristate = <TEGRA_PIN_DISABLE>;
586 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
587 };
588 uart1_rxd_pu1 {
589 nvidia,pins = "pu1";
590 nvidia,function = "uarta";
591 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
592 nvidia,tristate = <TEGRA_PIN_ENABLE>;
593 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
594 };
595 uart1_cts_n_pu2 {
596 nvidia,pins = "pu2";
597 nvidia,function = "uarta";
598 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
599 nvidia,tristate = <TEGRA_PIN_ENABLE>;
600 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
601 };
602 uart1_rts_n_pu3 {
603 nvidia,pins = "pu3";
604 nvidia,function = "uarta";
605 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
606 nvidia,tristate = <TEGRA_PIN_DISABLE>;
607 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
608 };
609 uart3_cts_n_pa1 { /* DSR GPIO */
610 nvidia,pins = "uart3_cts_n_pa1";
611 nvidia,function = "gmi";
612 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
613 nvidia,tristate = <TEGRA_PIN_ENABLE>;
614 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
615 };
616 uart3_rts_n_pc0 { /* DTR GPIO */
617 nvidia,pins = "uart3_rts_n_pc0";
618 nvidia,function = "gmi";
619 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
620 nvidia,tristate = <TEGRA_PIN_DISABLE>;
621 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
622 };
623
624 /* Apalis UART2 */
625 uart2_txd_pc2 {
626 nvidia,pins = "uart2_txd_pc2";
627 nvidia,function = "irda";
628 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
629 nvidia,tristate = <TEGRA_PIN_DISABLE>;
630 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
631 };
632 uart2_rxd_pc3 {
633 nvidia,pins = "uart2_rxd_pc3";
634 nvidia,function = "irda";
635 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
636 nvidia,tristate = <TEGRA_PIN_ENABLE>;
637 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
638 };
639 uart2_cts_n_pj5 {
640 nvidia,pins = "uart2_cts_n_pj5";
641 nvidia,function = "uartb";
642 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
643 nvidia,tristate = <TEGRA_PIN_ENABLE>;
644 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
645 };
646 uart2_rts_n_pj6 {
647 nvidia,pins = "uart2_rts_n_pj6";
648 nvidia,function = "uartb";
649 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
650 nvidia,tristate = <TEGRA_PIN_DISABLE>;
651 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
652 };
653
654 /* Apalis UART3 */
655 uart3_txd_pw6 {
656 nvidia,pins = "uart3_txd_pw6";
657 nvidia,function = "uartc";
658 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
659 nvidia,tristate = <TEGRA_PIN_DISABLE>;
660 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
661 };
662 uart3_rxd_pw7 {
663 nvidia,pins = "uart3_rxd_pw7";
664 nvidia,function = "uartc";
665 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
666 nvidia,tristate = <TEGRA_PIN_ENABLE>;
667 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
668 };
669
670 /* Apalis UART4 */
671 uart4_rxd_pb0 {
672 nvidia,pins = "pb0";
673 nvidia,function = "uartd";
674 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
675 nvidia,tristate = <TEGRA_PIN_ENABLE>;
676 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
677 };
678 uart4_txd_pj7 {
679 nvidia,pins = "pj7";
680 nvidia,function = "uartd";
681 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
682 nvidia,tristate = <TEGRA_PIN_DISABLE>;
683 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
684 };
685
686 /* Apalis USBH_EN */
687 gen2_i2c_sda_pt6 {
688 nvidia,pins = "gen2_i2c_sda_pt6";
689 nvidia,function = "rsvd2";
690 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
691 nvidia,tristate = <TEGRA_PIN_DISABLE>;
692 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
693 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
694 };
695
696 /* Apalis USBH_OC# */
697 pbb0 {
698 nvidia,pins = "pbb0";
699 nvidia,function = "vgp6";
700 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
701 nvidia,tristate = <TEGRA_PIN_ENABLE>;
702 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
703 };
704
705 /* Apalis USBO1_EN */
706 gen2_i2c_scl_pt5 {
707 nvidia,pins = "gen2_i2c_scl_pt5";
708 nvidia,function = "rsvd2";
709 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
710 nvidia,tristate = <TEGRA_PIN_DISABLE>;
711 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
712 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
713 };
714
715 /* Apalis USBO1_OC# */
716 pbb4 {
717 nvidia,pins = "pbb4";
718 nvidia,function = "vgp4";
719 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
720 nvidia,tristate = <TEGRA_PIN_ENABLE>;
721 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
722 };
723
724 /* Apalis WAKE1_MICO */
725 pex_wake_n_pdd3 {
726 nvidia,pins = "pex_wake_n_pdd3";
727 nvidia,function = "rsvd2";
728 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
729 nvidia,tristate = <TEGRA_PIN_ENABLE>;
730 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
731 };
732
733 /* CORE_PWR_REQ */
734 core_pwr_req {
735 nvidia,pins = "core_pwr_req";
736 nvidia,function = "pwron";
737 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
738 nvidia,tristate = <TEGRA_PIN_DISABLE>;
739 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
740 };
741
742 /* CPU_PWR_REQ */
743 cpu_pwr_req {
744 nvidia,pins = "cpu_pwr_req";
745 nvidia,function = "cpu";
746 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
747 nvidia,tristate = <TEGRA_PIN_DISABLE>;
748 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
749 };
750
751 /* DVFS */
752 dvfs_pwm_px0 {
753 nvidia,pins = "dvfs_pwm_px0";
754 nvidia,function = "cldvfs";
755 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
756 nvidia,tristate = <TEGRA_PIN_DISABLE>;
757 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
758 };
759 dvfs_clk_px2 {
760 nvidia,pins = "dvfs_clk_px2";
761 nvidia,function = "cldvfs";
762 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
763 nvidia,tristate = <TEGRA_PIN_DISABLE>;
764 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
765 };
766
767 /* eMMC */
768 sdmmc4_dat0_paa0 {
769 nvidia,pins = "sdmmc4_dat0_paa0";
770 nvidia,function = "sdmmc4";
771 nvidia,pull = <TEGRA_PIN_PULL_UP>;
772 nvidia,tristate = <TEGRA_PIN_DISABLE>;
773 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
774 };
775 sdmmc4_dat1_paa1 {
776 nvidia,pins = "sdmmc4_dat1_paa1";
777 nvidia,function = "sdmmc4";
778 nvidia,pull = <TEGRA_PIN_PULL_UP>;
779 nvidia,tristate = <TEGRA_PIN_DISABLE>;
780 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
781 };
782 sdmmc4_dat2_paa2 {
783 nvidia,pins = "sdmmc4_dat2_paa2";
784 nvidia,function = "sdmmc4";
785 nvidia,pull = <TEGRA_PIN_PULL_UP>;
786 nvidia,tristate = <TEGRA_PIN_DISABLE>;
787 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
788 };
789 sdmmc4_dat3_paa3 {
790 nvidia,pins = "sdmmc4_dat3_paa3";
791 nvidia,function = "sdmmc4";
792 nvidia,pull = <TEGRA_PIN_PULL_UP>;
793 nvidia,tristate = <TEGRA_PIN_DISABLE>;
794 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
795 };
796 sdmmc4_dat4_paa4 {
797 nvidia,pins = "sdmmc4_dat4_paa4";
798 nvidia,function = "sdmmc4";
799 nvidia,pull = <TEGRA_PIN_PULL_UP>;
800 nvidia,tristate = <TEGRA_PIN_DISABLE>;
801 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
802 };
803 sdmmc4_dat5_paa5 {
804 nvidia,pins = "sdmmc4_dat5_paa5";
805 nvidia,function = "sdmmc4";
806 nvidia,pull = <TEGRA_PIN_PULL_UP>;
807 nvidia,tristate = <TEGRA_PIN_DISABLE>;
808 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
809 };
810 sdmmc4_dat6_paa6 {
811 nvidia,pins = "sdmmc4_dat6_paa6";
812 nvidia,function = "sdmmc4";
813 nvidia,pull = <TEGRA_PIN_PULL_UP>;
814 nvidia,tristate = <TEGRA_PIN_DISABLE>;
815 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
816 };
817 sdmmc4_dat7_paa7 {
818 nvidia,pins = "sdmmc4_dat7_paa7";
819 nvidia,function = "sdmmc4";
820 nvidia,pull = <TEGRA_PIN_PULL_UP>;
821 nvidia,tristate = <TEGRA_PIN_DISABLE>;
822 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
823 };
824 sdmmc4_clk_pcc4 {
825 nvidia,pins = "sdmmc4_clk_pcc4";
826 nvidia,function = "sdmmc4";
827 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
828 nvidia,tristate = <TEGRA_PIN_DISABLE>;
829 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
830 };
831 sdmmc4_cmd_pt7 {
832 nvidia,pins = "sdmmc4_cmd_pt7";
833 nvidia,function = "sdmmc4";
834 nvidia,pull = <TEGRA_PIN_PULL_UP>;
835 nvidia,tristate = <TEGRA_PIN_DISABLE>;
836 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
837 };
838
839 /* JTAG_RTCK */
840 jtag_rtck {
841 nvidia,pins = "jtag_rtck";
842 nvidia,function = "rtck";
843 nvidia,pull = <TEGRA_PIN_PULL_UP>;
844 nvidia,tristate = <TEGRA_PIN_DISABLE>;
845 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
846 };
847
848 /* LAN_DEV_OFF# */
849 ulpi_data5_po6 {
850 nvidia,pins = "ulpi_data5_po6";
851 nvidia,function = "ulpi";
852 nvidia,pull = <TEGRA_PIN_PULL_UP>;
853 nvidia,tristate = <TEGRA_PIN_DISABLE>;
854 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
855 };
856
857 /* LAN_RESET# */
858 kb_row10_ps2 {
859 nvidia,pins = "kb_row10_ps2";
860 nvidia,function = "rsvd2";
861 nvidia,pull = <TEGRA_PIN_PULL_UP>;
862 nvidia,tristate = <TEGRA_PIN_DISABLE>;
863 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
864 };
865
866 /* LAN_WAKE# */
867 ulpi_data4_po5 {
868 nvidia,pins = "ulpi_data4_po5";
869 nvidia,function = "ulpi";
870 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
871 nvidia,tristate = <TEGRA_PIN_ENABLE>;
872 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
873 };
874
875 /* MCU_INT1# */
876 pk2 {
877 nvidia,pins = "pk2";
878 nvidia,function = "rsvd1";
879 nvidia,pull = <TEGRA_PIN_PULL_UP>;
880 nvidia,tristate = <TEGRA_PIN_ENABLE>;
881 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
882 };
883
884 /* MCU_INT2# */
885 pj2 {
886 nvidia,pins = "pj2";
887 nvidia,function = "rsvd1";
888 nvidia,pull = <TEGRA_PIN_PULL_UP>;
889 nvidia,tristate = <TEGRA_PIN_ENABLE>;
890 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
891 };
892
893 /* MCU_INT3# */
894 pi5 {
895 nvidia,pins = "pi5";
896 nvidia,function = "rsvd2";
897 nvidia,pull = <TEGRA_PIN_PULL_UP>;
898 nvidia,tristate = <TEGRA_PIN_ENABLE>;
899 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
900 };
901
902 /* MCU_INT4# */
903 pj0 {
904 nvidia,pins = "pj0";
905 nvidia,function = "rsvd1";
906 nvidia,pull = <TEGRA_PIN_PULL_UP>;
907 nvidia,tristate = <TEGRA_PIN_ENABLE>;
908 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
909 };
910
911 /* MCU_RESET */
912 pbb6 {
913 nvidia,pins = "pbb6";
914 nvidia,function = "rsvd2";
915 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
916 nvidia,tristate = <TEGRA_PIN_DISABLE>;
917 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
918 };
919
920 /* MCU SPI */
921 gpio_x4_aud_px4 {
922 nvidia,pins = "gpio_x4_aud_px4";
923 nvidia,function = "spi2";
924 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
925 nvidia,tristate = <TEGRA_PIN_DISABLE>;
926 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
927 };
928 gpio_x5_aud_px5 {
929 nvidia,pins = "gpio_x5_aud_px5";
930 nvidia,function = "spi2";
931 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
932 nvidia,tristate = <TEGRA_PIN_DISABLE>;
933 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
934 };
935 gpio_x6_aud_px6 { /* MCU_CS */
936 nvidia,pins = "gpio_x6_aud_px6";
937 nvidia,function = "spi2";
938 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
939 nvidia,tristate = <TEGRA_PIN_DISABLE>;
940 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
941 };
942 gpio_x7_aud_px7 {
943 nvidia,pins = "gpio_x7_aud_px7";
944 nvidia,function = "spi2";
945 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
946 nvidia,tristate = <TEGRA_PIN_ENABLE>;
947 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
948 };
949 gpio_w2_aud_pw2 { /* MCU_CSEZP */
950 nvidia,pins = "gpio_w2_aud_pw2";
951 nvidia,function = "spi2";
952 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
953 nvidia,tristate = <TEGRA_PIN_DISABLE>;
954 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
955 };
956
957 /* PMIC_CLK_32K */
958 clk_32k_in {
959 nvidia,pins = "clk_32k_in";
960 nvidia,function = "clk";
961 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
962 nvidia,tristate = <TEGRA_PIN_ENABLE>;
963 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
964 };
965
966 /* PMIC_CPU_OC_INT */
967 clk_32k_out_pa0 {
968 nvidia,pins = "clk_32k_out_pa0";
969 nvidia,function = "soc";
970 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
971 nvidia,tristate = <TEGRA_PIN_ENABLE>;
972 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
973 };
974
975 /* PWR_I2C */
976 pwr_i2c_scl_pz6 {
977 nvidia,pins = "pwr_i2c_scl_pz6";
978 nvidia,function = "i2cpwr";
979 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
980 nvidia,tristate = <TEGRA_PIN_DISABLE>;
981 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
982 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
983 };
984 pwr_i2c_sda_pz7 {
985 nvidia,pins = "pwr_i2c_sda_pz7";
986 nvidia,function = "i2cpwr";
987 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
988 nvidia,tristate = <TEGRA_PIN_DISABLE>;
989 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
990 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
991 };
992
993 /* PWR_INT_N */
994 pwr_int_n {
995 nvidia,pins = "pwr_int_n";
996 nvidia,function = "pmi";
997 nvidia,pull = <TEGRA_PIN_PULL_UP>;
998 nvidia,tristate = <TEGRA_PIN_ENABLE>;
999 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1000 };
1001
1002 /* RESET_MOCI_CTRL */
1003 pu4 {
1004 nvidia,pins = "pu4";
1005 nvidia,function = "gmi";
1006 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1007 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1008 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1009 };
1010
1011 /* RESET_OUT_N */
1012 reset_out_n {
1013 nvidia,pins = "reset_out_n";
1014 nvidia,function = "reset_out_n";
1015 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1016 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1017 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1018 };
1019
1020 /* SHIFT_CTRL_DIR_IN */
1021 kb_row0_pr0 {
1022 nvidia,pins = "kb_row0_pr0";
1023 nvidia,function = "rsvd2";
1024 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1025 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1026 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1027 };
1028 kb_row1_pr1 {
1029 nvidia,pins = "kb_row1_pr1";
1030 nvidia,function = "rsvd2";
1031 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1032 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1033 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1034 };
1035
1036 /* Configure level-shifter as output for HDA */
1037 kb_row11_ps3 {
1038 nvidia,pins = "kb_row11_ps3";
1039 nvidia,function = "rsvd2";
1040 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1041 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1042 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1043 };
1044
1045 /* SHIFT_CTRL_DIR_OUT */
1046 kb_col5_pq5 {
1047 nvidia,pins = "kb_col5_pq5";
1048 nvidia,function = "rsvd2";
1049 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1050 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1051 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1052 };
1053 kb_col6_pq6 {
1054 nvidia,pins = "kb_col6_pq6";
1055 nvidia,function = "rsvd2";
1056 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1057 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1058 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1059 };
1060 kb_col7_pq7 {
1061 nvidia,pins = "kb_col7_pq7";
1062 nvidia,function = "rsvd2";
1063 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1064 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1065 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1066 };
1067
1068 /* SHIFT_CTRL_OE */
1069 kb_col0_pq0 {
1070 nvidia,pins = "kb_col0_pq0";
1071 nvidia,function = "rsvd2";
1072 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1073 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1074 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1075 };
1076 kb_col1_pq1 {
1077 nvidia,pins = "kb_col1_pq1";
1078 nvidia,function = "rsvd2";
1079 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1080 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1081 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1082 };
1083 kb_col2_pq2 {
1084 nvidia,pins = "kb_col2_pq2";
1085 nvidia,function = "rsvd2";
1086 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1087 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1088 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1089 };
1090 kb_col4_pq4 {
1091 nvidia,pins = "kb_col4_pq4";
1092 nvidia,function = "kbc";
1093 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1094 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1095 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1096 };
1097 kb_row2_pr2 {
1098 nvidia,pins = "kb_row2_pr2";
1099 nvidia,function = "rsvd2";
1100 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1101 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1102 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1103 };
1104
1105 /* GPIO_PI6 aka TMP451 ALERT#/THERM2# */
1106 pi6 {
1107 nvidia,pins = "pi6";
1108 nvidia,function = "rsvd1";
1109 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1110 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1111 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1112 };
1113
1114 /* TOUCH_INT */
1115 gpio_w3_aud_pw3 {
1116 nvidia,pins = "gpio_w3_aud_pw3";
1117 nvidia,function = "spi6";
1118 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1119 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1120 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1121 };
1122
1123 pc7 { /* NC */
1124 nvidia,pins = "pc7";
1125 nvidia,function = "rsvd1";
1126 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1127 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1128 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1129 };
1130 pg0 { /* NC */
1131 nvidia,pins = "pg0";
1132 nvidia,function = "rsvd1";
1133 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1134 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1135 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1136 };
1137 pg1 { /* NC */
1138 nvidia,pins = "pg1";
1139 nvidia,function = "rsvd1";
1140 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1141 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1142 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1143 };
1144 pg2 { /* NC */
1145 nvidia,pins = "pg2";
1146 nvidia,function = "rsvd1";
1147 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1148 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1149 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1150 };
1151 pg3 { /* NC */
1152 nvidia,pins = "pg3";
1153 nvidia,function = "rsvd1";
1154 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1155 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1156 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1157 };
1158 pg4 { /* NC */
1159 nvidia,pins = "pg4";
1160 nvidia,function = "rsvd1";
1161 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1162 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1163 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1164 };
1165 ph4 { /* NC */
1166 nvidia,pins = "ph4";
1167 nvidia,function = "rsvd2";
1168 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1169 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1170 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1171 };
1172 ph5 { /* NC */
1173 nvidia,pins = "ph5";
1174 nvidia,function = "rsvd2";
1175 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1176 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1177 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1178 };
1179 ph6 { /* NC */
1180 nvidia,pins = "ph6";
1181 nvidia,function = "gmi";
1182 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1183 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1184 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1185 };
1186 ph7 { /* NC */
1187 nvidia,pins = "ph7";
1188 nvidia,function = "gmi";
1189 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1190 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1191 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1192 };
1193 pi0 { /* NC */
1194 nvidia,pins = "pi0";
1195 nvidia,function = "rsvd1";
1196 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1197 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1198 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1199 };
1200 pi1 { /* NC */
1201 nvidia,pins = "pi1";
1202 nvidia,function = "rsvd1";
1203 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1204 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1205 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1206 };
1207 pi2 { /* NC */
1208 nvidia,pins = "pi2";
1209 nvidia,function = "rsvd4";
1210 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1211 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1212 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1213 };
1214 pi4 { /* NC */
1215 nvidia,pins = "pi4";
1216 nvidia,function = "gmi";
1217 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1218 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1219 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1220 };
1221 pi7 { /* NC */
1222 nvidia,pins = "pi7";
1223 nvidia,function = "rsvd1";
1224 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1225 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1226 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1227 };
1228 pk0 { /* NC */
1229 nvidia,pins = "pk0";
1230 nvidia,function = "rsvd1";
1231 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1232 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1233 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1234 };
1235 pk1 { /* NC */
1236 nvidia,pins = "pk1";
1237 nvidia,function = "rsvd4";
1238 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1239 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1240 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1241 };
1242 pk3 { /* NC */
1243 nvidia,pins = "pk3";
1244 nvidia,function = "gmi";
1245 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1246 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1247 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1248 };
1249 pk4 { /* NC */
1250 nvidia,pins = "pk4";
1251 nvidia,function = "rsvd2";
1252 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1253 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1254 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1255 };
1256 dap1_fs_pn0 { /* NC */
1257 nvidia,pins = "dap1_fs_pn0";
1258 nvidia,function = "rsvd4";
1259 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1260 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1261 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1262 };
1263 dap1_din_pn1 { /* NC */
1264 nvidia,pins = "dap1_din_pn1";
1265 nvidia,function = "rsvd4";
1266 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1267 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1268 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1269 };
1270 dap1_sclk_pn3 { /* NC */
1271 nvidia,pins = "dap1_sclk_pn3";
1272 nvidia,function = "rsvd4";
1273 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1274 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1275 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1276 };
1277 ulpi_data7_po0 { /* NC */
1278 nvidia,pins = "ulpi_data7_po0";
1279 nvidia,function = "ulpi";
1280 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1281 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1282 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1283 };
1284 ulpi_data0_po1 { /* NC */
1285 nvidia,pins = "ulpi_data0_po1";
1286 nvidia,function = "ulpi";
1287 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1288 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1289 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1290 };
1291 ulpi_data1_po2 { /* NC */
1292 nvidia,pins = "ulpi_data1_po2";
1293 nvidia,function = "ulpi";
1294 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1295 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1296 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1297 };
1298 ulpi_data2_po3 { /* NC */
1299 nvidia,pins = "ulpi_data2_po3";
1300 nvidia,function = "ulpi";
1301 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1302 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1303 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1304 };
1305 ulpi_data3_po4 { /* NC */
1306 nvidia,pins = "ulpi_data3_po4";
1307 nvidia,function = "ulpi";
1308 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1309 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1310 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1311 };
1312 ulpi_data6_po7 { /* NC */
1313 nvidia,pins = "ulpi_data6_po7";
1314 nvidia,function = "ulpi";
1315 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1316 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1317 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1318 };
1319 dap4_fs_pp4 { /* NC */
1320 nvidia,pins = "dap4_fs_pp4";
1321 nvidia,function = "rsvd4";
1322 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1323 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1324 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1325 };
1326 dap4_din_pp5 { /* NC */
1327 nvidia,pins = "dap4_din_pp5";
1328 nvidia,function = "rsvd3";
1329 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1330 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1331 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1332 };
1333 dap4_dout_pp6 { /* NC */
1334 nvidia,pins = "dap4_dout_pp6";
1335 nvidia,function = "rsvd4";
1336 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1337 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1338 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1339 };
1340 dap4_sclk_pp7 { /* NC */
1341 nvidia,pins = "dap4_sclk_pp7";
1342 nvidia,function = "rsvd3";
1343 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1344 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1345 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1346 };
1347 kb_col3_pq3 { /* NC */
1348 nvidia,pins = "kb_col3_pq3";
1349 nvidia,function = "kbc";
1350 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1351 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1352 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1353 };
1354 kb_row3_pr3 { /* NC */
1355 nvidia,pins = "kb_row3_pr3";
1356 nvidia,function = "kbc";
1357 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1358 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1359 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1360 };
1361 kb_row4_pr4 { /* NC */
1362 nvidia,pins = "kb_row4_pr4";
1363 nvidia,function = "rsvd3";
1364 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1365 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1366 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1367 };
1368 kb_row5_pr5 { /* NC */
1369 nvidia,pins = "kb_row5_pr5";
1370 nvidia,function = "rsvd3";
1371 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1372 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1373 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1374 };
1375 kb_row6_pr6 { /* NC */
1376 nvidia,pins = "kb_row6_pr6";
1377 nvidia,function = "kbc";
1378 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1379 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1380 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1381 };
1382 kb_row7_pr7 { /* NC */
1383 nvidia,pins = "kb_row7_pr7";
1384 nvidia,function = "rsvd2";
1385 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1386 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1387 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1388 };
1389 kb_row8_ps0 { /* NC */
1390 nvidia,pins = "kb_row8_ps0";
1391 nvidia,function = "rsvd2";
1392 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1393 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1394 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1395 };
1396 kb_row9_ps1 { /* NC */
1397 nvidia,pins = "kb_row9_ps1";
1398 nvidia,function = "rsvd2";
1399 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1400 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1401 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1402 };
1403 kb_row12_ps4 { /* NC */
1404 nvidia,pins = "kb_row12_ps4";
1405 nvidia,function = "rsvd2";
1406 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1407 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1408 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1409 };
1410 kb_row13_ps5 { /* NC */
1411 nvidia,pins = "kb_row13_ps5";
1412 nvidia,function = "rsvd2";
1413 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1414 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1415 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1416 };
1417 kb_row14_ps6 { /* NC */
1418 nvidia,pins = "kb_row14_ps6";
1419 nvidia,function = "rsvd2";
1420 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1421 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1422 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1423 };
1424 kb_row15_ps7 { /* NC */
1425 nvidia,pins = "kb_row15_ps7";
1426 nvidia,function = "rsvd3";
1427 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1428 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1429 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1430 };
1431 kb_row16_pt0 { /* NC */
1432 nvidia,pins = "kb_row16_pt0";
1433 nvidia,function = "rsvd2";
1434 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1435 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1436 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1437 };
1438 kb_row17_pt1 { /* NC */
1439 nvidia,pins = "kb_row17_pt1";
1440 nvidia,function = "rsvd2";
1441 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1442 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1443 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1444 };
1445 pu5 { /* NC */
1446 nvidia,pins = "pu5";
1447 nvidia,function = "gmi";
1448 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1449 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1450 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1451 };
1452 /*
1453 * PCB Version Indication: V1.2 and later have GPIO_PV0
1454 * wired to GND, was NC before
1455 */
1456 pv0 {
1457 nvidia,pins = "pv0";
1458 nvidia,function = "rsvd1";
1459 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1460 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1461 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1462 };
1463 pv1 { /* NC */
1464 nvidia,pins = "pv1";
1465 nvidia,function = "rsvd1";
1466 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1467 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1468 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1469 };
1470 gpio_x1_aud_px1 { /* NC */
1471 nvidia,pins = "gpio_x1_aud_px1";
1472 nvidia,function = "rsvd2";
1473 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1474 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1475 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1476 };
1477 gpio_x3_aud_px3 { /* NC */
1478 nvidia,pins = "gpio_x3_aud_px3";
1479 nvidia,function = "rsvd4";
1480 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1481 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1482 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1483 };
1484 pbb7 { /* NC */
1485 nvidia,pins = "pbb7";
1486 nvidia,function = "rsvd2";
1487 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1488 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1489 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1490 };
1491 pcc1 { /* NC */
1492 nvidia,pins = "pcc1";
1493 nvidia,function = "rsvd2";
1494 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1495 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1496 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1497 };
1498 pcc2 { /* NC */
1499 nvidia,pins = "pcc2";
1500 nvidia,function = "rsvd2";
1501 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1502 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1503 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1504 };
1505 clk3_req_pee1 { /* NC */
1506 nvidia,pins = "clk3_req_pee1";
1507 nvidia,function = "rsvd2";
1508 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1509 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1510 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1511 };
1512 dap_mclk1_req_pee2 { /* NC */
1513 nvidia,pins = "dap_mclk1_req_pee2";
1514 nvidia,function = "rsvd4";
1515 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
1516 nvidia,tristate = <TEGRA_PIN_ENABLE>;
1517 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
1518 };
1519 /*
1520 * Leave SDMMC3_CLK_LB_OUT muxed as SDMMC3 with output
1521 * driver enabled aka not tristated and input driver
1522 * enabled as well as it features some magic properties
1523 * even though the external loopback is disabled and the
1524 * internal loopback used as per
1525 * SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1
1526 * bits being set to 0xfffd according to the TRM!
1527 */
1528 sdmmc3_clk_lb_out_pee4 { /* NC */
1529 nvidia,pins = "sdmmc3_clk_lb_out_pee4";
1530 nvidia,function = "sdmmc3";
1531 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1532 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1533 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1534 };
1535 };
1536 };
1537
1538 serial@70006040 {
1539 compatible = "nvidia,tegra124-hsuart";
1540 };
1541
1542 serial@70006200 {
1543 compatible = "nvidia,tegra124-hsuart";
1544 };
1545
1546 serial@70006300 {
1547 compatible = "nvidia,tegra124-hsuart";
1548 };
1549
1550 hdmi_ddc: i2c@7000c700 {
1551 clock-frequency = <10000>;
1552 };
1553
1554 /* PWR_I2C: power I2C to audio codec, PMIC and temperature sensor */
1555 i2c@7000d000 {
1556 status = "okay";
1557 clock-frequency = <400000>;
1558
1559 /* SGTL5000 audio codec */
1560 sgtl5000: codec@a {
1561 compatible = "fsl,sgtl5000";
1562 reg = <0x0a>;
1563 VDDA-supply = <&reg_3v3>;
1564 VDDIO-supply = <&vddio_1v8>;
1565 clocks = <&tegra_car TEGRA124_CLK_EXTERN1>;
1566 };
1567
1568 pmic: pmic@40 {
1569 compatible = "ams,as3722";
1570 reg = <0x40>;
1571 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
1572 ams,system-power-controller;
1573 #interrupt-cells = <2>;
1574 interrupt-controller;
1575 gpio-controller;
1576 #gpio-cells = <2>;
1577 pinctrl-names = "default";
1578 pinctrl-0 = <&as3722_default>;
1579
1580 as3722_default: pinmux {
1581 gpio2_7 {
1582 pins = "gpio2", /* PWR_EN_+V3.3 */
1583 "gpio7"; /* +V1.6_LPO */
1584 function = "gpio";
1585 bias-pull-up;
1586 };
1587
1588 gpio0_1_3_4_5_6 {
1589 pins = "gpio0", "gpio1", "gpio3",
1590 "gpio4", "gpio5", "gpio6";
1591 bias-high-impedance;
1592 };
1593 };
1594
1595 regulators {
1596 vsup-sd2-supply = <&reg_3v3>;
1597 vsup-sd3-supply = <&reg_3v3>;
1598 vsup-sd4-supply = <&reg_3v3>;
1599 vsup-sd5-supply = <&reg_3v3>;
1600 vin-ldo0-supply = <&vddio_ddr_1v35>;
1601 vin-ldo1-6-supply = <&reg_3v3>;
1602 vin-ldo2-5-7-supply = <&vddio_1v8>;
1603 vin-ldo3-4-supply = <&reg_3v3>;
1604 vin-ldo9-10-supply = <&reg_3v3>;
1605 vin-ldo11-supply = <&reg_3v3>;
1606
1607 vdd_cpu: sd0 {
1608 regulator-name = "+VDD_CPU_AP";
1609 regulator-min-microvolt = <700000>;
1610 regulator-max-microvolt = <1400000>;
1611 regulator-min-microamp = <3500000>;
1612 regulator-max-microamp = <3500000>;
1613 regulator-always-on;
1614 regulator-boot-on;
1615 ams,ext-control = <2>;
1616 };
1617
1618 sd1 {
1619 regulator-name = "+VDD_CORE";
1620 regulator-min-microvolt = <700000>;
1621 regulator-max-microvolt = <1350000>;
1622 regulator-min-microamp = <2500000>;
1623 regulator-max-microamp = <4000000>;
1624 regulator-always-on;
1625 regulator-boot-on;
1626 ams,ext-control = <1>;
1627 };
1628
1629 vddio_ddr_1v35: sd2 {
1630 regulator-name =
1631 "+V1.35_VDDIO_DDR(sd2)";
1632 regulator-min-microvolt = <1350000>;
1633 regulator-max-microvolt = <1350000>;
1634 regulator-always-on;
1635 regulator-boot-on;
1636 };
1637
1638 sd3 {
1639 regulator-name =
1640 "+V1.35_VDDIO_DDR(sd3)";
1641 regulator-min-microvolt = <1350000>;
1642 regulator-max-microvolt = <1350000>;
1643 regulator-always-on;
1644 regulator-boot-on;
1645 };
1646
1647 vdd_1v05: sd4 {
1648 regulator-name = "+V1.05";
1649 regulator-min-microvolt = <1050000>;
1650 regulator-max-microvolt = <1050000>;
1651 };
1652
1653 vddio_1v8: sd5 {
1654 regulator-name = "+V1.8";
1655 regulator-min-microvolt = <1800000>;
1656 regulator-max-microvolt = <1800000>;
1657 regulator-boot-on;
1658 regulator-always-on;
1659 };
1660
1661 vdd_gpu: sd6 {
1662 regulator-name = "+VDD_GPU_AP";
1663 regulator-min-microvolt = <650000>;
1664 regulator-max-microvolt = <1200000>;
1665 regulator-min-microamp = <3500000>;
1666 regulator-max-microamp = <3500000>;
1667 regulator-boot-on;
1668 regulator-always-on;
1669 };
1670
1671 avdd_1v05: ldo0 {
1672 regulator-name = "+V1.05_AVDD";
1673 regulator-min-microvolt = <1050000>;
1674 regulator-max-microvolt = <1050000>;
1675 regulator-boot-on;
1676 regulator-always-on;
1677 ams,ext-control = <1>;
1678 };
1679
1680 vddio_sdmmc1: ldo1 {
1681 regulator-name = "VDDIO_SDMMC1";
1682 regulator-min-microvolt = <1800000>;
1683 regulator-max-microvolt = <3300000>;
1684 };
1685
1686 ldo2 {
1687 regulator-name = "+V1.2";
1688 regulator-min-microvolt = <1200000>;
1689 regulator-max-microvolt = <1200000>;
1690 regulator-boot-on;
1691 regulator-always-on;
1692 };
1693
1694 ldo3 {
1695 regulator-name = "+V1.05_RTC";
1696 regulator-min-microvolt = <1000000>;
1697 regulator-max-microvolt = <1000000>;
1698 regulator-boot-on;
1699 regulator-always-on;
1700 ams,enable-tracking;
1701 };
1702
1703 /* 1.8V for LVDS, 3.3V for eDP */
1704 ldo4 {
1705 regulator-name = "AVDD_LVDS0_PLL";
1706 regulator-min-microvolt = <1800000>;
1707 regulator-max-microvolt = <1800000>;
1708 };
1709
1710 /* LDO5 not used */
1711
1712 vddio_sdmmc3: ldo6 {
1713 regulator-name = "VDDIO_SDMMC3";
1714 regulator-min-microvolt = <1800000>;
1715 regulator-max-microvolt = <3300000>;
1716 };
1717
1718 /* LDO7 not used */
1719
1720 ldo9 {
1721 regulator-name = "+V3.3_ETH(ldo9)";
1722 regulator-min-microvolt = <3300000>;
1723 regulator-max-microvolt = <3300000>;
1724 regulator-always-on;
1725 };
1726
1727 ldo10 {
1728 regulator-name = "+V3.3_ETH(ldo10)";
1729 regulator-min-microvolt = <3300000>;
1730 regulator-max-microvolt = <3300000>;
1731 regulator-always-on;
1732 };
1733
1734 ldo11 {
1735 regulator-name = "+V1.8_VPP_FUSE";
1736 regulator-min-microvolt = <1800000>;
1737 regulator-max-microvolt = <1800000>;
1738 };
1739 };
1740 };
1741
1742 /*
1743 * TMP451 temperature sensor
1744 * Note: THERM_N directly connected to AS3722 PMIC THERM
1745 */
1746 temperature-sensor@4c {
1747 compatible = "ti,tmp451";
1748 reg = <0x4c>;
1749 interrupt-parent = <&gpio>;
1750 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
1751 #thermal-sensor-cells = <1>;
1752 };
1753 };
1754
1755 /* SPI2: MCU SPI */
1756 spi@7000d600 {
1757 status = "okay";
1758 spi-max-frequency = <25000000>;
1759 };
1760
1761 pmc@7000e400 {
1762 nvidia,invert-interrupt;
1763 nvidia,suspend-mode = <1>;
1764 nvidia,cpu-pwr-good-time = <500>;
1765 nvidia,cpu-pwr-off-time = <300>;
1766 nvidia,core-pwr-good-time = <641 3845>;
1767 nvidia,core-pwr-off-time = <61036>;
1768 nvidia,core-power-req-active-high;
1769 nvidia,sys-clock-req-active-high;
1770
1771 /* Set power_off bit in ResetControl register of AS3722 PMIC */
1772 i2c-thermtrip {
1773 nvidia,i2c-controller-id = <4>;
1774 nvidia,bus-addr = <0x40>;
1775 nvidia,reg-addr = <0x36>;
1776 nvidia,reg-data = <0x2>;
1777 };
1778 };
1779
1780 sata@70020000 {
1781 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>;
1782 phy-names = "sata-0";
1783 avdd-supply = <&vdd_1v05>;
1784 hvdd-supply = <&reg_3v3>;
1785 vddio-supply = <&vdd_1v05>;
1786 };
1787
1788 usb@70090000 {
1789 /* USBO1, USBO1 (SS), USBH2, USBH4 and USBH4 (SS) */
1790 phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
1791 <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>,
1792 <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>,
1793 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
1794 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
1795 phy-names = "usb2-0", "usb3-1", "usb2-1", "usb2-2", "usb3-0";
1796 avddio-pex-supply = <&vdd_1v05>;
1797 avdd-pll-erefe-supply = <&avdd_1v05>;
1798 avdd-pll-utmip-supply = <&vddio_1v8>;
1799 avdd-usb-ss-pll-supply = <&vdd_1v05>;
1800 avdd-usb-supply = <&reg_3v3>;
1801 dvddio-pex-supply = <&vdd_1v05>;
1802 hvdd-usb-ss-pll-e-supply = <&reg_3v3>;
1803 hvdd-usb-ss-supply = <&reg_3v3>;
1804 };
1805
1806 padctl@7009f000 {
1807 pads {
1808 usb2 {
1809 status = "okay";
1810
1811 lanes {
1812 usb2-0 {
1813 nvidia,function = "xusb";
1814 status = "okay";
1815 };
1816
1817 usb2-1 {
1818 nvidia,function = "xusb";
1819 status = "okay";
1820 };
1821
1822 usb2-2 {
1823 nvidia,function = "xusb";
1824 status = "okay";
1825 };
1826 };
1827 };
1828
1829 pcie {
1830 status = "okay";
1831
1832 lanes {
1833 pcie-0 {
1834 nvidia,function = "usb3-ss";
1835 status = "okay";
1836 };
1837
1838 pcie-1 {
1839 nvidia,function = "usb3-ss";
1840 status = "okay";
1841 };
1842
1843 pcie-2 {
1844 nvidia,function = "pcie";
1845 status = "okay";
1846 };
1847
1848 pcie-3 {
1849 nvidia,function = "pcie";
1850 status = "okay";
1851 };
1852
1853 pcie-4 {
1854 nvidia,function = "pcie";
1855 status = "okay";
1856 };
1857 };
1858 };
1859
1860 sata {
1861 status = "okay";
1862
1863 lanes {
1864 sata-0 {
1865 nvidia,function = "sata";
1866 status = "okay";
1867 };
1868 };
1869 };
1870 };
1871
1872 ports {
1873 /* USBO1 */
1874 usb2-0 {
1875 status = "okay";
1876 mode = "otg";
1877
1878 vbus-supply = <&reg_usbo1_vbus>;
1879 };
1880
1881 /* USBH2 */
1882 usb2-1 {
1883 status = "okay";
1884 mode = "host";
1885
1886 vbus-supply = <&reg_usbh_vbus>;
1887 };
1888
1889 /* USBH4 */
1890 usb2-2 {
1891 status = "okay";
1892 mode = "host";
1893
1894 vbus-supply = <&reg_usbh_vbus>;
1895 };
1896
1897 usb3-0 {
1898 nvidia,usb2-companion = <2>;
1899 status = "okay";
1900 };
1901
1902 usb3-1 {
1903 nvidia,usb2-companion = <0>;
1904 status = "okay";
1905 };
1906 };
1907 };
1908
1909 /* eMMC */
1910 sdhci@700b0600 {
1911 status = "okay";
1912 bus-width = <8>;
1913 non-removable;
1914 };
1915
1916 /* CPU DFLL clock */
1917 clock@70110000 {
1918 status = "okay";
1919 vdd-cpu-supply = <&vdd_cpu>;
1920 nvidia,i2c-fs-rate = <400000>;
1921 };
1922
1923 ahub@70300000 {
1924 i2s@70301200 {
1925 status = "okay";
1926 };
1927 };
1928
1929 clocks {
1930 compatible = "simple-bus";
1931 #address-cells = <1>;
1932 #size-cells = <0>;
1933
1934 clk32k_in: clock@0 {
1935 compatible = "fixed-clock";
1936 reg = <0>;
1937 #clock-cells = <0>;
1938 clock-frequency = <32768>;
1939 };
1940 };
1941
1942 cpus {
1943 cpu@0 {
1944 vdd-cpu-supply = <&vdd_cpu>;
1945 };
1946 };
1947
1948 reg_1v05_avdd_hdmi_pll: regulator-1v05-avdd-hdmi-pll {
1949 compatible = "regulator-fixed";
1950 regulator-name = "+V1.05_AVDD_HDMI_PLL";
1951 regulator-min-microvolt = <1050000>;
1952 regulator-max-microvolt = <1050000>;
1953 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_LOW>;
1954 vin-supply = <&vdd_1v05>;
1955 };
1956
1957 reg_3v3_mxm: regulator-3v3-mxm {
1958 compatible = "regulator-fixed";
1959 regulator-name = "+V3.3_MXM";
1960 regulator-min-microvolt = <3300000>;
1961 regulator-max-microvolt = <3300000>;
1962 regulator-always-on;
1963 regulator-boot-on;
1964 };
1965
1966 reg_3v3: regulator-3v3 {
1967 compatible = "regulator-fixed";
1968 regulator-name = "+V3.3";
1969 regulator-min-microvolt = <3300000>;
1970 regulator-max-microvolt = <3300000>;
1971 regulator-always-on;
1972 regulator-boot-on;
1973 /* PWR_EN_+V3.3 */
1974 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
1975 enable-active-high;
1976 vin-supply = <&reg_3v3_mxm>;
1977 };
1978
1979 reg_3v3_avdd_hdmi: regulator-3v3-avdd-hdmi {
1980 compatible = "regulator-fixed";
1981 regulator-name = "+V3.3_AVDD_HDMI";
1982 regulator-min-microvolt = <3300000>;
1983 regulator-max-microvolt = <3300000>;
1984 vin-supply = <&vdd_1v05>;
1985 };
1986
1987 sound {
1988 compatible = "toradex,tegra-audio-sgtl5000-apalis_tk1",
1989 "nvidia,tegra-audio-sgtl5000";
1990 nvidia,model = "Toradex Apalis TK1";
1991 nvidia,audio-routing =
1992 "Headphone Jack", "HP_OUT",
1993 "LINE_IN", "Line In Jack",
1994 "MIC_IN", "Mic Jack";
1995 nvidia,i2s-controller = <&tegra_i2s2>;
1996 nvidia,audio-codec = <&sgtl5000>;
1997 clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
1998 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
1999 <&tegra_car TEGRA124_CLK_EXTERN1>;
2000 clock-names = "pll_a", "pll_a_out0", "mclk";
2001 };
2002
2003 thermal-zones {
2004 cpu {
2005 trips {
2006 cpu-shutdown-trip {
2007 temperature = <101000>;
2008 hysteresis = <0>;
2009 type = "critical";
2010 };
2011 };
2012 };
2013
2014 mem {
2015 trips {
2016 mem-shutdown-trip {
2017 temperature = <101000>;
2018 hysteresis = <0>;
2019 type = "critical";
2020 };
2021 };
2022 };
2023
2024 gpu {
2025 trips {
2026 gpu-shutdown-trip {
2027 temperature = <101000>;
2028 hysteresis = <0>;
2029 type = "critical";
2030 };
2031 };
2032 };
2033 };
2034};
2035
2036&gpio {
2037 /* I210 Gigabit Ethernet Controller Reset */
2038 lan_reset_n {
2039 gpio-hog;
2040 gpios = <TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
2041 output-high;
2042 line-name = "LAN_RESET_N";
2043 };
2044
2045 /* Control MXM3 pin 26 Reset Module Output Carrier Input */
2046 reset_moci_ctrl {
2047 gpio-hog;
2048 gpios = <TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
2049 output-high;
2050 line-name = "RESET_MOCI_CTRL";
2051 };
2052};
diff --git a/arch/arm/boot/dts/tegra124-apalis.dtsi b/arch/arm/boot/dts/tegra124-apalis.dtsi
index 5d9b18ef5af6..65a2161b9b8e 100644
--- a/arch/arm/boot/dts/tegra124-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra124-apalis.dtsi
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright 2016 Toradex AG 2 * Copyright 2016-2018 Toradex AG
3 * 3 *
4 * This file is dual-licensed: you can use it either under the terms 4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual 5 * of the GPL or the X11 license, at your option. Note that this dual
@@ -56,7 +56,6 @@
56 56
57 pcie@1003000 { 57 pcie@1003000 {
58 status = "okay"; 58 status = "okay";
59
60 avddio-pex-supply = <&vdd_1v05>; 59 avddio-pex-supply = <&vdd_1v05>;
61 avdd-pex-pll-supply = <&vdd_1v05>; 60 avdd-pex-pll-supply = <&vdd_1v05>;
62 avdd-pll-erefe-supply = <&avdd_1v05>; 61 avdd-pll-erefe-supply = <&avdd_1v05>;
@@ -85,7 +84,6 @@
85 hdmi@54280000 { 84 hdmi@54280000 {
86 pll-supply = <&reg_1v05_avdd_hdmi_pll>; 85 pll-supply = <&reg_1v05_avdd_hdmi_pll>;
87 vdd-supply = <&reg_3v3_avdd_hdmi>; 86 vdd-supply = <&reg_3v3_avdd_hdmi>;
88
89 nvidia,ddc-i2c-bus = <&hdmi_ddc>; 87 nvidia,ddc-i2c-bus = <&hdmi_ddc>;
90 nvidia,hpd-gpio = 88 nvidia,hpd-gpio =
91 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>; 89 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
@@ -453,12 +451,12 @@
453 nvidia,tristate = <TEGRA_PIN_DISABLE>; 451 nvidia,tristate = <TEGRA_PIN_DISABLE>;
454 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 452 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
455 }; 453 };
456 /* PWM3 active on pu6 being Apalis BKL1_PWM */ 454 /* PWM3 active on pu6 being Apalis BKL1_PWM as well */
457 ph3 { 455 ph3 {
458 nvidia,pins = "ph3"; 456 nvidia,pins = "ph3";
459 nvidia,function = "gmi"; 457 nvidia,function = "pwm3";
460 nvidia,pull = <TEGRA_PIN_PULL_DOWN>; 458 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
461 nvidia,tristate = <TEGRA_PIN_ENABLE>; 459 nvidia,tristate = <TEGRA_PIN_DISABLE>;
462 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 460 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
463 }; 461 };
464 462
@@ -1579,7 +1577,7 @@
1579 }; 1577 };
1580 1578
1581 hdmi_ddc: i2c@7000c400 { 1579 hdmi_ddc: i2c@7000c400 {
1582 clock-frequency = <100000>; 1580 clock-frequency = <10000>;
1583 }; 1581 };
1584 1582
1585 /* PWR_I2C: power I2C to audio codec, PMIC and temperature sensor */ 1583 /* PWR_I2C: power I2C to audio codec, PMIC and temperature sensor */
@@ -1600,15 +1598,11 @@
1600 compatible = "ams,as3722"; 1598 compatible = "ams,as3722";
1601 reg = <0x40>; 1599 reg = <0x40>;
1602 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>; 1600 interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
1603
1604 ams,system-power-controller; 1601 ams,system-power-controller;
1605
1606 #interrupt-cells = <2>; 1602 #interrupt-cells = <2>;
1607 interrupt-controller; 1603 interrupt-controller;
1608
1609 gpio-controller; 1604 gpio-controller;
1610 #gpio-cells = <2>; 1605 #gpio-cells = <2>;
1611
1612 pinctrl-names = "default"; 1606 pinctrl-names = "default";
1613 pinctrl-0 = <&as3722_default>; 1607 pinctrl-0 = <&as3722_default>;
1614 1608
@@ -1620,9 +1614,9 @@
1620 bias-pull-up; 1614 bias-pull-up;
1621 }; 1615 };
1622 1616
1623 gpio1_3_4_5_6 { 1617 gpio0_1_3_4_5_6 {
1624 pins = "gpio1", "gpio3", "gpio4", 1618 pins = "gpio0", "gpio1", "gpio3",
1625 "gpio5", "gpio6"; 1619 "gpio4", "gpio5", "gpio6";
1626 bias-high-impedance; 1620 bias-high-impedance;
1627 }; 1621 };
1628 }; 1622 };
@@ -1783,7 +1777,6 @@
1783 reg = <0x4c>; 1777 reg = <0x4c>;
1784 interrupt-parent = <&gpio>; 1778 interrupt-parent = <&gpio>;
1785 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>; 1779 interrupts = <TEGRA_GPIO(I, 6) IRQ_TYPE_LEVEL_LOW>;
1786
1787 #thermal-sensor-cells = <1>; 1780 #thermal-sensor-cells = <1>;
1788 }; 1781 };
1789 }; 1782 };
@@ -1816,7 +1809,6 @@
1816 sata@70020000 { 1809 sata@70020000 {
1817 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>; 1810 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>;
1818 phy-names = "sata-0"; 1811 phy-names = "sata-0";
1819
1820 avdd-supply = <&vdd_1v05>; 1812 avdd-supply = <&vdd_1v05>;
1821 hvdd-supply = <&reg_3v3>; 1813 hvdd-supply = <&reg_3v3>;
1822 vddio-supply = <&vdd_1v05>; 1814 vddio-supply = <&vdd_1v05>;
@@ -1830,7 +1822,6 @@
1830 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, 1822 <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>,
1831 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; 1823 <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>;
1832 phy-names = "usb2-0", "usb3-1", "usb2-1", "usb2-2", "usb3-0"; 1824 phy-names = "usb2-0", "usb3-1", "usb2-1", "usb2-2", "usb3-0";
1833
1834 avddio-pex-supply = <&vdd_1v05>; 1825 avddio-pex-supply = <&vdd_1v05>;
1835 avdd-pll-erefe-supply = <&avdd_1v05>; 1826 avdd-pll-erefe-supply = <&avdd_1v05>;
1836 avdd-pll-utmip-supply = <&vddio_1v8>; 1827 avdd-pll-utmip-supply = <&vddio_1v8>;
@@ -2041,53 +2032,50 @@
2041 thermal-zones { 2032 thermal-zones {
2042 cpu { 2033 cpu {
2043 trips { 2034 trips {
2044 trip@0 { 2035 cpu-shutdown-trip {
2045 temperature = <101000>; 2036 temperature = <101000>;
2046 hysteresis = <0>; 2037 hysteresis = <0>;
2047 type = "critical"; 2038 type = "critical";
2048 }; 2039 };
2049 }; 2040 };
2050
2051 cooling-maps {
2052 /*
2053 * There are currently no cooling maps because
2054 * there are no cooling devices
2055 */
2056 };
2057 }; 2041 };
2058 2042
2059 mem { 2043 mem {
2060 trips { 2044 trips {
2061 trip@0 { 2045 mem-shutdown-trip {
2062 temperature = <101000>; 2046 temperature = <101000>;
2063 hysteresis = <0>; 2047 hysteresis = <0>;
2064 type = "critical"; 2048 type = "critical";
2065 }; 2049 };
2066 }; 2050 };
2067
2068 cooling-maps {
2069 /*
2070 * There are currently no cooling maps because
2071 * there are no cooling devices
2072 */
2073 };
2074 }; 2051 };
2075 2052
2076 gpu { 2053 gpu {
2077 trips { 2054 trips {
2078 trip@0 { 2055 gpu-shutdown-trip {
2079 temperature = <101000>; 2056 temperature = <101000>;
2080 hysteresis = <0>; 2057 hysteresis = <0>;
2081 type = "critical"; 2058 type = "critical";
2082 }; 2059 };
2083 }; 2060 };
2084
2085 cooling-maps {
2086 /*
2087 * There are currently no cooling maps because
2088 * there are no cooling devices
2089 */
2090 };
2091 }; 2061 };
2092 }; 2062 };
2093}; 2063};
2064
2065&gpio {
2066 /* I210 Gigabit Ethernet Controller Reset */
2067 lan_reset_n {
2068 gpio-hog;
2069 gpios = <TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>;
2070 output-high;
2071 line-name = "LAN_RESET_N";
2072 };
2073
2074 /* Control MXM3 pin 26 Reset Module Output Carrier Input */
2075 reset_moci_ctrl {
2076 gpio-hog;
2077 gpios = <TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>;
2078 output-high;
2079 line-name = "RESET_MOCI_CTRL";
2080 };
2081};
diff --git a/arch/arm/boot/dts/tegra124-jetson-tk1.dts b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
index d112f85e66ed..6dbcf84dafbc 100644
--- a/arch/arm/boot/dts/tegra124-jetson-tk1.dts
+++ b/arch/arm/boot/dts/tegra124-jetson-tk1.dts
@@ -1418,7 +1418,7 @@
1418 compatible = "realtek,rt5639"; 1418 compatible = "realtek,rt5639";
1419 reg = <0x1c>; 1419 reg = <0x1c>;
1420 interrupt-parent = <&gpio>; 1420 interrupt-parent = <&gpio>;
1421 interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>; 1421 interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
1422 realtek,ldo1-en-gpios = 1422 realtek,ldo1-en-gpios =
1423 <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_HIGH>; 1423 <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
1424 }; 1424 };
diff --git a/arch/arm/boot/dts/tegra124-venice2.dts b/arch/arm/boot/dts/tegra124-venice2.dts
index 32d9079f025b..89bcc178994d 100644
--- a/arch/arm/boot/dts/tegra124-venice2.dts
+++ b/arch/arm/boot/dts/tegra124-venice2.dts
@@ -613,7 +613,7 @@
613 compatible = "maxim,max98090"; 613 compatible = "maxim,max98090";
614 reg = <0x10>; 614 reg = <0x10>;
615 interrupt-parent = <&gpio>; 615 interrupt-parent = <&gpio>;
616 interrupts = <TEGRA_GPIO(H, 4) GPIO_ACTIVE_HIGH>; 616 interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
617 }; 617 };
618 }; 618 };
619 619
@@ -859,7 +859,7 @@
859 reg = <0x9>; 859 reg = <0x9>;
860 interrupt-parent = <&gpio>; 860 interrupt-parent = <&gpio>;
861 interrupts = <TEGRA_GPIO(J, 0) 861 interrupts = <TEGRA_GPIO(J, 0)
862 GPIO_ACTIVE_HIGH>; 862 IRQ_TYPE_EDGE_BOTH>;
863 ti,ac-detect-gpios = <&gpio 863 ti,ac-detect-gpios = <&gpio
864 TEGRA_GPIO(J, 0) 864 TEGRA_GPIO(J, 0)
865 GPIO_ACTIVE_HIGH>; 865 GPIO_ACTIVE_HIGH>;
@@ -956,11 +956,6 @@
956 nvidia,function = "usb3-ss"; 956 nvidia,function = "usb3-ss";
957 status = "okay"; 957 status = "okay";
958 }; 958 };
959
960 pcie-1 {
961 nvidia,function = "usb3-ss";
962 status = "okay";
963 };
964 }; 959 };
965 }; 960 };
966 }; 961 };
diff --git a/arch/arm/boot/dts/tegra20-colibri-512.dtsi b/arch/arm/boot/dts/tegra20-colibri-512.dtsi
index 813ae34edd6a..5c202b3e3bb1 100644
--- a/arch/arm/boot/dts/tegra20-colibri-512.dtsi
+++ b/arch/arm/boot/dts/tegra20-colibri-512.dtsi
@@ -213,21 +213,27 @@
213 GPIO_ACTIVE_HIGH>; 213 GPIO_ACTIVE_HIGH>;
214 }; 214 };
215 215
216 /*
217 * GEN1_I2C: I2C_SDA/SCL on SODIMM pin 194/196 (e.g. RTC on carrier
218 * board)
219 */
216 i2c@7000c000 { 220 i2c@7000c000 {
217 clock-frequency = <400000>; 221 clock-frequency = <400000>;
218 }; 222 };
219 223
224 /* DDC_SCL/SDA on X3 pin 15/16 (e.g. display EDID) */
220 i2c_ddc: i2c@7000c400 { 225 i2c_ddc: i2c@7000c400 {
221 clock-frequency = <100000>; 226 clock-frequency = <10000>;
222 }; 227 };
223 228
224 i2c@7000c500 { 229 /* GEN2_I2C: unused */
225 clock-frequency = <400000>;
226 };
227 230
231 /* CAM/GEN3_I2C: used as EXT_IO1/2 GPIOs on SODIMM pin 133/127 */
232
233 /* PWR_I2C: power I2C to PMIC and temperature sensor (On-module) */
228 i2c@7000d000 { 234 i2c@7000d000 {
229 status = "okay"; 235 status = "okay";
230 clock-frequency = <400000>; 236 clock-frequency = <100000>;
231 237
232 pmic: tps6586x@34 { 238 pmic: tps6586x@34 {
233 compatible = "ti,tps6586x"; 239 compatible = "ti,tps6586x";
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index 864a95872b8d..0a7136462a1a 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -17,7 +17,7 @@
17 #size-cells = <1>; 17 #size-cells = <1>;
18 ranges = <0 0x40000000 0x40000>; 18 ranges = <0 0x40000000 0x40000>;
19 19
20 vde_pool: vde { 20 vde_pool: vde@400 {
21 reg = <0x400 0x3fc00>; 21 reg = <0x400 0x3fc00>;
22 pool; 22 pool;
23 }; 23 };
@@ -741,7 +741,7 @@
741 phy_type = "ulpi"; 741 phy_type = "ulpi";
742 clocks = <&tegra_car TEGRA20_CLK_USB2>, 742 clocks = <&tegra_car TEGRA20_CLK_USB2>,
743 <&tegra_car TEGRA20_CLK_PLL_U>, 743 <&tegra_car TEGRA20_CLK_PLL_U>,
744 <&tegra_car TEGRA20_CLK_CDEV2>; 744 <&tegra_car TEGRA20_CLK_PLL_P_OUT4>;
745 clock-names = "reg", "pll_u", "ulpi-link"; 745 clock-names = "reg", "pll_u", "ulpi-link";
746 resets = <&tegra_car 58>, <&tegra_car 22>; 746 resets = <&tegra_car 58>, <&tegra_car 22>;
747 reset-names = "usb", "utmi-pads"; 747 reset-names = "usb", "utmi-pads";
diff --git a/arch/arm/boot/dts/tegra30-apalis-eval.dts b/arch/arm/boot/dts/tegra30-apalis-eval.dts
index 07b945b0391a..0dc85a20bd45 100644
--- a/arch/arm/boot/dts/tegra30-apalis-eval.dts
+++ b/arch/arm/boot/dts/tegra30-apalis-eval.dts
@@ -79,7 +79,7 @@
79 */ 79 */
80 i2c@7000c000 { 80 i2c@7000c000 {
81 status = "okay"; 81 status = "okay";
82 clock-frequency = <100000>; 82 clock-frequency = <400000>;
83 83
84 pcie-switch@58 { 84 pcie-switch@58 {
85 compatible = "plx,pex8605"; 85 compatible = "plx,pex8605";
@@ -88,7 +88,7 @@
88 88
89 /* M41T0M6 real time clock on carrier board */ 89 /* M41T0M6 real time clock on carrier board */
90 rtc@68 { 90 rtc@68 {
91 compatible = "st,m41t00"; 91 compatible = "st,m41t0";
92 reg = <0x68>; 92 reg = <0x68>;
93 }; 93 };
94 }; 94 };
diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi
index faa8cd2914e8..d1d21ec2a844 100644
--- a/arch/arm/boot/dts/tegra30-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra30-apalis.dtsi
@@ -437,7 +437,7 @@
437 }; 437 };
438 438
439 hdmiddc: i2c@7000c700 { 439 hdmiddc: i2c@7000c700 {
440 clock-frequency = <100000>; 440 clock-frequency = <10000>;
441 }; 441 };
442 442
443 /* 443 /*
@@ -597,7 +597,6 @@
597 597
598 stmpe_touchscreen@0 { 598 stmpe_touchscreen@0 {
599 compatible = "st,stmpe-ts"; 599 compatible = "st,stmpe-ts";
600 reg = <0>;
601 /* 3.25 MHz ADC clock speed */ 600 /* 3.25 MHz ADC clock speed */
602 st,adc-freq = <1>; 601 st,adc-freq = <1>;
603 /* 8 sample average control */ 602 /* 8 sample average control */
@@ -657,7 +656,7 @@
657 reg = <1>; 656 reg = <1>;
658 clocks = <&clk16m>; 657 clocks = <&clk16m>;
659 interrupt-parent = <&gpio>; 658 interrupt-parent = <&gpio>;
660 interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_LOW>; 659 interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_EDGE_RISING>;
661 spi-max-frequency = <10000000>; 660 spi-max-frequency = <10000000>;
662 }; 661 };
663 }; 662 };
@@ -672,7 +671,7 @@
672 reg = <0>; 671 reg = <0>;
673 clocks = <&clk16m>; 672 clocks = <&clk16m>;
674 interrupt-parent = <&gpio>; 673 interrupt-parent = <&gpio>;
675 interrupts = <TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>; 674 interrupts = <TEGRA_GPIO(W, 2) IRQ_TYPE_EDGE_RISING>;
676 spi-max-frequency = <10000000>; 675 spi-max-frequency = <10000000>;
677 }; 676 };
678 }; 677 };
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index 5331a8f7dcf8..ae52a5039506 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -260,14 +260,14 @@
260 }; 260 };
261 sdmmc3_dat6_pd3 { 261 sdmmc3_dat6_pd3 {
262 nvidia,pins = "sdmmc3_dat6_pd3"; 262 nvidia,pins = "sdmmc3_dat6_pd3";
263 nvidia,function = "rsvd1"; 263 nvidia,function = "spdif";
264 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 264 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
265 nvidia,tristate = <TEGRA_PIN_DISABLE>; 265 nvidia,tristate = <TEGRA_PIN_DISABLE>;
266 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 266 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
267 }; 267 };
268 sdmmc3_dat7_pd4 { 268 sdmmc3_dat7_pd4 {
269 nvidia,pins = "sdmmc3_dat7_pd4"; 269 nvidia,pins = "sdmmc3_dat7_pd4";
270 nvidia,function = "rsvd1"; 270 nvidia,function = "spdif";
271 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 271 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
272 nvidia,tristate = <TEGRA_PIN_DISABLE>; 272 nvidia,tristate = <TEGRA_PIN_DISABLE>;
273 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 273 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -281,14 +281,14 @@
281 }; 281 };
282 vi_vsync_pd6 { 282 vi_vsync_pd6 {
283 nvidia,pins = "vi_vsync_pd6"; 283 nvidia,pins = "vi_vsync_pd6";
284 nvidia,function = "rsvd1"; 284 nvidia,function = "ddr";
285 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 285 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
286 nvidia,tristate = <TEGRA_PIN_DISABLE>; 286 nvidia,tristate = <TEGRA_PIN_DISABLE>;
287 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 287 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
288 }; 288 };
289 vi_hsync_pd7 { 289 vi_hsync_pd7 {
290 nvidia,pins = "vi_hsync_pd7"; 290 nvidia,pins = "vi_hsync_pd7";
291 nvidia,function = "rsvd1"; 291 nvidia,function = "ddr";
292 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 292 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
293 nvidia,tristate = <TEGRA_PIN_DISABLE>; 293 nvidia,tristate = <TEGRA_PIN_DISABLE>;
294 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 294 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -806,7 +806,7 @@
806 }; 806 };
807 hdmi_int_pn7 { 807 hdmi_int_pn7 {
808 nvidia,pins = "hdmi_int_pn7"; 808 nvidia,pins = "hdmi_int_pn7";
809 nvidia,function = "rsvd1"; 809 nvidia,function = "hdmi";
810 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 810 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
811 nvidia,tristate = <TEGRA_PIN_ENABLE>; 811 nvidia,tristate = <TEGRA_PIN_ENABLE>;
812 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 812 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -841,7 +841,7 @@
841 }; 841 };
842 ulpi_data3_po4 { 842 ulpi_data3_po4 {
843 nvidia,pins = "ulpi_data3_po4"; 843 nvidia,pins = "ulpi_data3_po4";
844 nvidia,function = "rsvd1"; 844 nvidia,function = "uarta";
845 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 845 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
846 nvidia,tristate = <TEGRA_PIN_DISABLE>; 846 nvidia,tristate = <TEGRA_PIN_DISABLE>;
847 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 847 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1107,21 +1107,21 @@
1107 }; 1107 };
1108 vi_d10_pt2 { 1108 vi_d10_pt2 {
1109 nvidia,pins = "vi_d10_pt2"; 1109 nvidia,pins = "vi_d10_pt2";
1110 nvidia,function = "rsvd1"; 1110 nvidia,function = "ddr";
1111 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1111 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1112 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1112 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1113 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1113 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1114 }; 1114 };
1115 vi_d11_pt3 { 1115 vi_d11_pt3 {
1116 nvidia,pins = "vi_d11_pt3"; 1116 nvidia,pins = "vi_d11_pt3";
1117 nvidia,function = "rsvd1"; 1117 nvidia,function = "ddr";
1118 nvidia,pull = <TEGRA_PIN_PULL_UP>; 1118 nvidia,pull = <TEGRA_PIN_PULL_UP>;
1119 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1119 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1120 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1120 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
1121 }; 1121 };
1122 vi_d0_pt4 { 1122 vi_d0_pt4 {
1123 nvidia,pins = "vi_d0_pt4"; 1123 nvidia,pins = "vi_d0_pt4";
1124 nvidia,function = "rsvd1"; 1124 nvidia,function = "ddr";
1125 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1125 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1126 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1126 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1127 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1127 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1151,7 +1151,7 @@
1151 }; 1151 };
1152 pu0 { 1152 pu0 {
1153 nvidia,pins = "pu0"; 1153 nvidia,pins = "pu0";
1154 nvidia,function = "rsvd1"; 1154 nvidia,function = "owr";
1155 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1155 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1156 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1156 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1157 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1157 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1172,7 +1172,7 @@
1172 }; 1172 };
1173 pu3 { 1173 pu3 {
1174 nvidia,pins = "pu3"; 1174 nvidia,pins = "pu3";
1175 nvidia,function = "rsvd1"; 1175 nvidia,function = "pwm0";
1176 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1176 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1177 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1177 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1178 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1178 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1193,7 +1193,7 @@
1193 }; 1193 };
1194 pu6 { 1194 pu6 {
1195 nvidia,pins = "pu6"; 1195 nvidia,pins = "pu6";
1196 nvidia,function = "rsvd1"; 1196 nvidia,function = "pwm3";
1197 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1197 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1198 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1198 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1199 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1199 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1221,7 +1221,7 @@
1221 }; 1221 };
1222 pv3 { 1222 pv3 {
1223 nvidia,pins = "pv3"; 1223 nvidia,pins = "pv3";
1224 nvidia,function = "rsvd1"; 1224 nvidia,function = "clk_12m_out";
1225 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1225 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1226 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1226 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1227 nvidia,enable-input = <TEGRA_PIN_DISABLE>; 1227 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
@@ -1510,7 +1510,7 @@
1510 }; 1510 };
1511 pbb0 { 1511 pbb0 {
1512 nvidia,pins = "pbb0"; 1512 nvidia,pins = "pbb0";
1513 nvidia,function = "rsvd1"; 1513 nvidia,function = "i2s4";
1514 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1514 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1515 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1515 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1516 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1516 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1575,7 +1575,7 @@
1575 }; 1575 };
1576 pcc1 { 1576 pcc1 {
1577 nvidia,pins = "pcc1"; 1577 nvidia,pins = "pcc1";
1578 nvidia,function = "rsvd1"; 1578 nvidia,function = "i2s4";
1579 nvidia,pull = <TEGRA_PIN_PULL_NONE>; 1579 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
1580 nvidia,tristate = <TEGRA_PIN_DISABLE>; 1580 nvidia,tristate = <TEGRA_PIN_DISABLE>;
1581 nvidia,enable-input = <TEGRA_PIN_ENABLE>; 1581 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
@@ -1762,7 +1762,7 @@
1762 compatible = "realtek,rt5640"; 1762 compatible = "realtek,rt5640";
1763 reg = <0x1c>; 1763 reg = <0x1c>;
1764 interrupt-parent = <&gpio>; 1764 interrupt-parent = <&gpio>;
1765 interrupts = <TEGRA_GPIO(X, 3) GPIO_ACTIVE_HIGH>; 1765 interrupts = <TEGRA_GPIO(X, 3) IRQ_TYPE_EDGE_FALLING>;
1766 realtek,ldo1-en-gpios = 1766 realtek,ldo1-en-gpios =
1767 <&gpio TEGRA_GPIO(X, 2) GPIO_ACTIVE_HIGH>; 1767 <&gpio TEGRA_GPIO(X, 2) GPIO_ACTIVE_HIGH>;
1768 }; 1768 };
diff --git a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
index 3c5fb2430212..16e1f387aa6d 100644
--- a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
@@ -56,11 +56,11 @@
56 */ 56 */
57 i2c@7000c000 { 57 i2c@7000c000 {
58 status = "okay"; 58 status = "okay";
59 clock-frequency = <100000>; 59 clock-frequency = <400000>;
60 60
61 /* M41T0M6 real time clock on carrier board */ 61 /* M41T0M6 real time clock on carrier board */
62 rtc@68 { 62 rtc@68 {
63 compatible = "st,m41t00"; 63 compatible = "st,m41t0";
64 reg = <0x68>; 64 reg = <0x68>;
65 }; 65 };
66 }; 66 };
@@ -79,7 +79,7 @@
79 reg = <0>; 79 reg = <0>;
80 clocks = <&clk16m>; 80 clocks = <&clk16m>;
81 interrupt-parent = <&gpio>; 81 interrupt-parent = <&gpio>;
82 interrupts = <TEGRA_GPIO(S, 0) GPIO_ACTIVE_LOW>; 82 interrupts = <TEGRA_GPIO(S, 0) IRQ_TYPE_EDGE_RISING>;
83 spi-max-frequency = <10000000>; 83 spi-max-frequency = <10000000>;
84 }; 84 };
85 spidev0: spi@1 { 85 spidev0: spi@1 {
diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 139bfa028b04..c44d8c40c410 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -215,7 +215,7 @@
215 }; 215 };
216 216
217 hdmiddc: i2c@7000c700 { 217 hdmiddc: i2c@7000c700 {
218 clock-frequency = <100000>; 218 clock-frequency = <10000>;
219 }; 219 };
220 220
221 /* 221 /*
@@ -363,7 +363,6 @@
363 363
364 stmpe_touchscreen { 364 stmpe_touchscreen {
365 compatible = "st,stmpe-ts"; 365 compatible = "st,stmpe-ts";
366 reg = <0>;
367 /* 3.25 MHz ADC clock speed */ 366 /* 3.25 MHz ADC clock speed */
368 st,adc-freq = <1>; 367 st,adc-freq = <1>;
369 /* 8 sample average control */ 368 /* 8 sample average control */
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index c3e9f1e847db..a110cf84d85f 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -91,6 +91,19 @@
91 }; 91 };
92 }; 92 };
93 93
94 iram@40000000 {
95 compatible = "mmio-sram";
96 reg = <0x40000000 0x40000>;
97 #address-cells = <1>;
98 #size-cells = <1>;
99 ranges = <0 0x40000000 0x40000>;
100
101 vde_pool: vde@400 {
102 reg = <0x400 0x3fc00>;
103 pool;
104 };
105 };
106
94 host1x@50000000 { 107 host1x@50000000 {
95 compatible = "nvidia,tegra30-host1x", "simple-bus"; 108 compatible = "nvidia,tegra30-host1x", "simple-bus";
96 reg = <0x50000000 0x00024000>; 109 reg = <0x50000000 0x00024000>;
@@ -358,6 +371,28 @@
358 */ 371 */
359 }; 372 };
360 373
374 vde@6001a000 {
375 compatible = "nvidia,tegra30-vde", "nvidia,tegra20-vde";
376 reg = <0x6001a000 0x1000 /* Syntax Engine */
377 0x6001b000 0x1000 /* Video Bitstream Engine */
378 0x6001c000 0x100 /* Macroblock Engine */
379 0x6001c200 0x100 /* Post-processing Engine */
380 0x6001c400 0x100 /* Motion Compensation Engine */
381 0x6001c600 0x100 /* Transform Engine */
382 0x6001c800 0x100 /* Pixel prediction block */
383 0x6001ca00 0x100 /* Video DMA */
384 0x6001d800 0x400>; /* Video frame controls */
385 reg-names = "sxe", "bsev", "mbe", "ppe", "mce",
386 "tfe", "ppb", "vdma", "frameid";
387 iram = <&vde_pool>; /* IRAM region */
388 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, /* Sync token interrupt */
389 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, /* BSE-V interrupt */
390 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; /* SXE interrupt */
391 interrupt-names = "sync-token", "bsev", "sxe";
392 clocks = <&tegra_car TEGRA30_CLK_VDE>;
393 resets = <&tegra_car 61>;
394 };
395
361 apbmisc@70000800 { 396 apbmisc@70000800 {
362 compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc"; 397 compatible = "nvidia,tegra30-apbmisc", "nvidia,tegra20-apbmisc";
363 reg = <0x70000800 0x64 /* Chip revision */ 398 reg = <0x70000800 0x64 /* Chip revision */
diff --git a/arch/arm/boot/dts/uniphier-ld4-ref.dts b/arch/arm/boot/dts/uniphier-ld4-ref.dts
index a3afd0cda42f..21407e159bf7 100644
--- a/arch/arm/boot/dts/uniphier-ld4-ref.dts
+++ b/arch/arm/boot/dts/uniphier-ld4-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD4 Reference Board 2//
3 * 3// Device Tree Source for UniPhier LD4 Reference Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-ld4.dtsi" 9#include "uniphier-ld4.dtsi"
diff --git a/arch/arm/boot/dts/uniphier-ld4.dtsi b/arch/arm/boot/dts/uniphier-ld4.dtsi
index 0459e84d4d8e..37950ad2de7c 100644
--- a/arch/arm/boot/dts/uniphier-ld4.dtsi
+++ b/arch/arm/boot/dts/uniphier-ld4.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD4 SoC 2//
3 * 3// Device Tree Source for UniPhier LD4 SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/uniphier-gpio.h> 8#include <dt-bindings/gpio/uniphier-gpio.h>
11 9
diff --git a/arch/arm/boot/dts/uniphier-ld6b-ref.dts b/arch/arm/boot/dts/uniphier-ld6b-ref.dts
index 811b999800ed..a0a44a422e12 100644
--- a/arch/arm/boot/dts/uniphier-ld6b-ref.dts
+++ b/arch/arm/boot/dts/uniphier-ld6b-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD6b Reference Board 2//
3 * 3// Device Tree Source for UniPhier LD6b Reference Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-ld6b.dtsi" 9#include "uniphier-ld6b.dtsi"
@@ -67,6 +65,17 @@
67 status = "okay"; 65 status = "okay";
68}; 66};
69 67
68&eth {
69 status = "okay";
70 phy-handle = <&ethphy>;
71};
72
73&mdio {
74 ethphy: ethphy@0 {
75 reg = <0>;
76 };
77};
78
70&nand { 79&nand {
71 status = "okay"; 80 status = "okay";
72}; 81};
diff --git a/arch/arm/boot/dts/uniphier-ld6b.dtsi b/arch/arm/boot/dts/uniphier-ld6b.dtsi
index 9a7b25cc8233..4d07a94c6b34 100644
--- a/arch/arm/boot/dts/uniphier-ld6b.dtsi
+++ b/arch/arm/boot/dts/uniphier-ld6b.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD6b SoC 2//
3 * 3// Device Tree Source for UniPhier LD6b SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/* 8/*
11 * LD6b consists of two silicon dies: D-chip and A-chip. 9 * LD6b consists of two silicon dies: D-chip and A-chip.
diff --git a/arch/arm/boot/dts/uniphier-pinctrl.dtsi b/arch/arm/boot/dts/uniphier-pinctrl.dtsi
index de481c372467..51f0e69f49fd 100644
--- a/arch/arm/boot/dts/uniphier-pinctrl.dtsi
+++ b/arch/arm/boot/dts/uniphier-pinctrl.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier SoCs default pinctrl settings 2//
3 * 3// Device Tree Source for UniPhier SoCs default pinctrl settings
4 * Copyright (C) 2015-2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2017 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10&pinctrl { 8&pinctrl {
11 pinctrl_aout: aout { 9 pinctrl_aout: aout {
@@ -13,6 +11,46 @@
13 function = "aout"; 11 function = "aout";
14 }; 12 };
15 13
14 pinctrl_ain1: ain1 {
15 groups = "ain1";
16 function = "ain1";
17 };
18
19 pinctrl_ain2: ain2 {
20 groups = "ain2";
21 function = "ain2";
22 };
23
24 pinctrl_ainiec1: ainiec1 {
25 groups = "ainiec1";
26 function = "ainiec1";
27 };
28
29 pinctrl_aout1: aout1 {
30 groups = "aout1";
31 function = "aout1";
32 };
33
34 pinctrl_aout2: aout2 {
35 groups = "aout2";
36 function = "aout2";
37 };
38
39 pinctrl_aout3: aout3 {
40 groups = "aout3";
41 function = "aout3";
42 };
43
44 pinctrl_aoutiec1: aoutiec1 {
45 groups = "aoutiec1";
46 function = "aoutiec1";
47 };
48
49 pinctrl_aoutiec2: aoutiec2 {
50 groups = "aoutiec2";
51 function = "aoutiec2";
52 };
53
16 pinctrl_emmc: emmc { 54 pinctrl_emmc: emmc {
17 groups = "emmc", "emmc_dat8"; 55 groups = "emmc", "emmc_dat8";
18 function = "emmc"; 56 function = "emmc";
@@ -33,6 +71,16 @@
33 function = "ether_rmii"; 71 function = "ether_rmii";
34 }; 72 };
35 73
74 pinctrl_ether1_rgmii: ether1-rgmii {
75 groups = "ether1_rgmii";
76 function = "ether1_rgmii";
77 };
78
79 pinctrl_ether1_rmii: ether1-rmii {
80 groups = "ether1_rmii";
81 function = "ether1_rmii";
82 };
83
36 pinctrl_i2c0: i2c0 { 84 pinctrl_i2c0: i2c0 {
37 groups = "i2c0"; 85 groups = "i2c0";
38 function = "i2c0"; 86 function = "i2c0";
diff --git a/arch/arm/boot/dts/uniphier-pro4-ace.dts b/arch/arm/boot/dts/uniphier-pro4-ace.dts
index 089419cee273..db1b08935ae5 100644
--- a/arch/arm/boot/dts/uniphier-pro4-ace.dts
+++ b/arch/arm/boot/dts/uniphier-pro4-ace.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Pro4 Ace Board 2//
3 * 3// Device Tree Source for UniPhier Pro4 Ace Board
4 * Copyright (C) 2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-pro4.dtsi" 9#include "uniphier-pro4.dtsi"
@@ -77,3 +75,14 @@
77&usb3 { 75&usb3 {
78 status = "okay"; 76 status = "okay";
79}; 77};
78
79&eth {
80 status = "okay";
81 phy-handle = <&ethphy>;
82};
83
84&mdio {
85 ethphy: ethphy@1 {
86 reg = <1>;
87 };
88};
diff --git a/arch/arm/boot/dts/uniphier-pro4-ref.dts b/arch/arm/boot/dts/uniphier-pro4-ref.dts
index 6a004e5cf786..efb084983b82 100644
--- a/arch/arm/boot/dts/uniphier-pro4-ref.dts
+++ b/arch/arm/boot/dts/uniphier-pro4-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Pro4 Reference Board 2//
3 * 3// Device Tree Source for UniPhier Pro4 Reference Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-pro4.dtsi" 9#include "uniphier-pro4.dtsi"
@@ -75,6 +73,17 @@
75 status = "okay"; 73 status = "okay";
76}; 74};
77 75
76&eth {
77 status = "okay";
78 phy-handle = <&ethphy>;
79};
80
81&mdio {
82 ethphy: ethphy@0 {
83 reg = <0>;
84 };
85};
86
78&nand { 87&nand {
79 status = "okay"; 88 status = "okay";
80}; 89};
diff --git a/arch/arm/boot/dts/uniphier-pro4-sanji.dts b/arch/arm/boot/dts/uniphier-pro4-sanji.dts
index adef212b45b2..dac4d6679a32 100644
--- a/arch/arm/boot/dts/uniphier-pro4-sanji.dts
+++ b/arch/arm/boot/dts/uniphier-pro4-sanji.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Pro4 Sanji Board 2//
3 * 3// Device Tree Source for UniPhier Pro4 Sanji Board
4 * Copyright (C) 2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-pro4.dtsi" 9#include "uniphier-pro4.dtsi"
@@ -72,3 +70,14 @@
72&usb3 { 70&usb3 {
73 status = "okay"; 71 status = "okay";
74}; 72};
73
74&eth {
75 status = "okay";
76 phy-handle = <&ethphy>;
77};
78
79&mdio {
80 ethphy: ethphy@1 {
81 reg = <1>;
82 };
83};
diff --git a/arch/arm/boot/dts/uniphier-pro4.dtsi b/arch/arm/boot/dts/uniphier-pro4.dtsi
index 1a29a8619856..844124bc9c9c 100644
--- a/arch/arm/boot/dts/uniphier-pro4.dtsi
+++ b/arch/arm/boot/dts/uniphier-pro4.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Pro4 SoC 2//
3 * 3// Device Tree Source for UniPhier Pro4 SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/uniphier-gpio.h> 8#include <dt-bindings/gpio/uniphier-gpio.h>
11 9
@@ -366,6 +364,24 @@
366 }; 364 };
367 }; 365 };
368 366
367 eth: ethernet@65000000 {
368 compatible = "socionext,uniphier-pro4-ave4";
369 status = "disabled";
370 reg = <0x65000000 0x8500>;
371 interrupts = <0 66 4>;
372 pinctrl-names = "default";
373 pinctrl-0 = <&pinctrl_ether_rgmii>;
374 clocks = <&sys_clk 6>;
375 resets = <&sys_rst 6>;
376 phy-mode = "rgmii";
377 local-mac-address = [00 00 00 00 00 00];
378
379 mdio: mdio {
380 #address-cells = <1>;
381 #size-cells = <0>;
382 };
383 };
384
369 nand: nand@68000000 { 385 nand: nand@68000000 {
370 compatible = "socionext,uniphier-denali-nand-v5a"; 386 compatible = "socionext,uniphier-denali-nand-v5a";
371 status = "disabled"; 387 status = "disabled";
diff --git a/arch/arm/boot/dts/uniphier-pro5.dtsi b/arch/arm/boot/dts/uniphier-pro5.dtsi
index f291dd63de9c..06c2cef91ec7 100644
--- a/arch/arm/boot/dts/uniphier-pro5.dtsi
+++ b/arch/arm/boot/dts/uniphier-pro5.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Pro5 SoC 2//
3 * 3// Device Tree Source for UniPhier Pro5 SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/ { 8/ {
11 compatible = "socionext,uniphier-pro5"; 9 compatible = "socionext,uniphier-pro5";
diff --git a/arch/arm/boot/dts/uniphier-pxs2-gentil.dts b/arch/arm/boot/dts/uniphier-pxs2-gentil.dts
index 7dfae2667f50..bed26b8ed9a3 100644
--- a/arch/arm/boot/dts/uniphier-pxs2-gentil.dts
+++ b/arch/arm/boot/dts/uniphier-pxs2-gentil.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier PXs2 Gentil Board 2//
3 * 3// Device Tree Source for UniPhier PXs2 Gentil Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-pxs2.dtsi" 9#include "uniphier-pxs2.dtsi"
@@ -34,6 +32,12 @@
34 device_type = "memory"; 32 device_type = "memory";
35 reg = <0x80000000 0x80000000>; 33 reg = <0x80000000 0x80000000>;
36 }; 34 };
35
36 sound {
37 compatible = "audio-graph-card";
38 label = "UniPhier PXs2";
39 dais = <&i2s_port2>;
40 };
37}; 41};
38 42
39&serial2 { 43&serial2 {
@@ -50,6 +54,35 @@
50 }; 54 };
51}; 55};
52 56
57&i2s_aux {
58 dai-format = "i2s";
59 remote-endpoint = <&wm_speaker>;
60};
61
53&i2c2 { 62&i2c2 {
54 status = "okay"; 63 status = "okay";
64
65 wm8960@1a {
66 compatible = "wlf,wm8960";
67 reg = <0x1a>;
68 #sound-dai-cells = <0>;
69
70 port@0 {
71 wm_speaker: endpoint {
72 dai-format = "i2s";
73 remote-endpoint = <&i2s_aux>;
74 };
75 };
76 };
77};
78
79&eth {
80 status = "okay";
81 phy-handle = <&ethphy>;
82};
83
84&mdio {
85 ethphy: ethphy@1 {
86 reg = <1>;
87 };
55}; 88};
diff --git a/arch/arm/boot/dts/uniphier-pxs2-vodka.dts b/arch/arm/boot/dts/uniphier-pxs2-vodka.dts
index 0cf615463a82..b13d2d16ddad 100644
--- a/arch/arm/boot/dts/uniphier-pxs2-vodka.dts
+++ b/arch/arm/boot/dts/uniphier-pxs2-vodka.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier PXs2 Vodka Board 2//
3 * 3// Device Tree Source for UniPhier PXs2 Vodka Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-pxs2.dtsi" 9#include "uniphier-pxs2.dtsi"
@@ -32,12 +30,60 @@
32 device_type = "memory"; 30 device_type = "memory";
33 reg = <0x80000000 0x80000000>; 31 reg = <0x80000000 0x80000000>;
34 }; 32 };
33
34 sound {
35 compatible = "audio-graph-card";
36 label = "UniPhier PXs2";
37 dais = <&spdif_port0
38 &comp_spdif_port0>;
39 };
40
41 spdif-out {
42 compatible = "linux,spdif-dit";
43 #sound-dai-cells = <0>;
44
45 port@0 {
46 spdif_tx: endpoint {
47 remote-endpoint = <&spdif_hiecout1>;
48 };
49 };
50 };
51
52 comp-spdif-out {
53 compatible = "linux,spdif-dit";
54 #sound-dai-cells = <0>;
55
56 port@0 {
57 comp_spdif_tx: endpoint {
58 remote-endpoint = <&comp_spdif_hiecout1>;
59 };
60 };
61 };
35}; 62};
36 63
37&serial2 { 64&serial2 {
38 status = "okay"; 65 status = "okay";
39}; 66};
40 67
68&spdif_hiecout1 {
69 remote-endpoint = <&spdif_tx>;
70};
71
72&comp_spdif_hiecout1 {
73 remote-endpoint = <&comp_spdif_tx>;
74};
75
41&i2c0 { 76&i2c0 {
42 status = "okay"; 77 status = "okay";
43}; 78};
79
80&eth {
81 status = "okay";
82 phy-handle = <&ethphy>;
83};
84
85&mdio {
86 ethphy: ethphy@1 {
87 reg = <1>;
88 };
89};
diff --git a/arch/arm/boot/dts/uniphier-pxs2.dtsi b/arch/arm/boot/dts/uniphier-pxs2.dtsi
index c083468c17db..debcbd15c24b 100644
--- a/arch/arm/boot/dts/uniphier-pxs2.dtsi
+++ b/arch/arm/boot/dts/uniphier-pxs2.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier PXs2 SoC 2//
3 * 3// Device Tree Source for UniPhier PXs2 SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/uniphier-gpio.h> 8#include <dt-bindings/gpio/uniphier-gpio.h>
11#include <dt-bindings/thermal/thermal.h> 9#include <dt-bindings/thermal/thermal.h>
@@ -227,6 +225,61 @@
227 <21 217 3>; 225 <21 217 3>;
228 }; 226 };
229 227
228 audio@56000000 {
229 compatible = "socionext,uniphier-pxs2-aio";
230 reg = <0x56000000 0x80000>;
231 interrupts = <0 144 4>;
232 pinctrl-names = "default";
233 pinctrl-0 = <&pinctrl_ain1>,
234 <&pinctrl_ain2>,
235 <&pinctrl_ainiec1>,
236 <&pinctrl_aout2>,
237 <&pinctrl_aout3>,
238 <&pinctrl_aoutiec1>,
239 <&pinctrl_aoutiec2>;
240 clock-names = "aio";
241 clocks = <&sys_clk 40>;
242 reset-names = "aio";
243 resets = <&sys_rst 40>;
244 #sound-dai-cells = <1>;
245 socionext,syscon = <&soc_glue>;
246
247 i2s_port0: port@0 {
248 i2s_hdmi: endpoint {
249 };
250 };
251
252 i2s_port1: port@1 {
253 i2s_line: endpoint {
254 };
255 };
256
257 i2s_port2: port@2 {
258 i2s_aux: endpoint {
259 };
260 };
261
262 spdif_port0: port@3 {
263 spdif_hiecout1: endpoint {
264 };
265 };
266
267 spdif_port1: port@4 {
268 spdif_iecout1: endpoint {
269 };
270 };
271
272 comp_spdif_port0: port@5 {
273 comp_spdif_hiecout1: endpoint {
274 };
275 };
276
277 comp_spdif_port1: port@6 {
278 comp_spdif_iecout1: endpoint {
279 };
280 };
281 };
282
230 i2c0: i2c@58780000 { 283 i2c0: i2c@58780000 {
231 compatible = "socionext,uniphier-fi2c"; 284 compatible = "socionext,uniphier-fi2c";
232 status = "disabled"; 285 status = "disabled";
@@ -366,7 +419,7 @@
366 }; 419 };
367 }; 420 };
368 421
369 soc-glue@5f800000 { 422 soc_glue: soc-glue@5f800000 {
370 compatible = "socionext,uniphier-pxs2-soc-glue", 423 compatible = "socionext,uniphier-pxs2-soc-glue",
371 "simple-mfd", "syscon"; 424 "simple-mfd", "syscon";
372 reg = <0x5f800000 0x2000>; 425 reg = <0x5f800000 0x2000>;
@@ -446,6 +499,24 @@
446 }; 499 };
447 }; 500 };
448 501
502 eth: ethernet@65000000 {
503 compatible = "socionext,uniphier-pxs2-ave4";
504 status = "disabled";
505 reg = <0x65000000 0x8500>;
506 interrupts = <0 66 4>;
507 pinctrl-names = "default";
508 pinctrl-0 = <&pinctrl_ether_rgmii>;
509 clocks = <&sys_clk 6>;
510 resets = <&sys_rst 6>;
511 phy-mode = "rgmii";
512 local-mac-address = [00 00 00 00 00 00];
513
514 mdio: mdio {
515 #address-cells = <1>;
516 #size-cells = <0>;
517 };
518 };
519
449 nand: nand@68000000 { 520 nand: nand@68000000 {
450 compatible = "socionext,uniphier-denali-nand-v5b"; 521 compatible = "socionext,uniphier-denali-nand-v5b";
451 status = "disabled"; 522 status = "disabled";
diff --git a/arch/arm/boot/dts/uniphier-ref-daughter.dtsi b/arch/arm/boot/dts/uniphier-ref-daughter.dtsi
index 7a1c29b558d5..04e60c295319 100644
--- a/arch/arm/boot/dts/uniphier-ref-daughter.dtsi
+++ b/arch/arm/boot/dts/uniphier-ref-daughter.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Reference Daughter Board 2//
3 * 3// Device Tree Source for UniPhier Reference Daughter Board
4 * Copyright (C) 2015-2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2017 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10&i2c0 { 8&i2c0 {
11 eeprom@50 { 9 eeprom@50 {
diff --git a/arch/arm/boot/dts/uniphier-sld8-ref.dts b/arch/arm/boot/dts/uniphier-sld8-ref.dts
index e052ea3b4020..fe386fa2ea4b 100644
--- a/arch/arm/boot/dts/uniphier-sld8-ref.dts
+++ b/arch/arm/boot/dts/uniphier-sld8-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier sLD8 Reference Board 2//
3 * 3// Device Tree Source for UniPhier sLD8 Reference Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-sld8.dtsi" 9#include "uniphier-sld8.dtsi"
diff --git a/arch/arm/boot/dts/uniphier-sld8.dtsi b/arch/arm/boot/dts/uniphier-sld8.dtsi
index bc8c24078faa..e9b9b4f3c558 100644
--- a/arch/arm/boot/dts/uniphier-sld8.dtsi
+++ b/arch/arm/boot/dts/uniphier-sld8.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier sLD8 SoC 2//
3 * 3// Device Tree Source for UniPhier sLD8 SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/uniphier-gpio.h> 8#include <dt-bindings/gpio/uniphier-gpio.h>
11 9
diff --git a/arch/arm/boot/dts/uniphier-support-card.dtsi b/arch/arm/boot/dts/uniphier-support-card.dtsi
index e4e7e1bb9172..bf441c2eff79 100644
--- a/arch/arm/boot/dts/uniphier-support-card.dtsi
+++ b/arch/arm/boot/dts/uniphier-support-card.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier Support Card (Expansion Board) 2//
3 * 3// Device Tree Source for UniPhier Support Card (Expansion Board)
4 * Copyright (C) 2015-2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2017 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10&system_bus { 8&system_bus {
11 status = "okay"; 9 status = "okay";
diff --git a/arch/arm/boot/dts/versatile-ab-ib2.dts b/arch/arm/boot/dts/versatile-ab-ib2.dts
new file mode 100644
index 000000000000..5890cb974f78
--- /dev/null
+++ b/arch/arm/boot/dts/versatile-ab-ib2.dts
@@ -0,0 +1,26 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * The Versatile AB with the IB2 expansion board mounted.
4 * This works as a superset of the Versatile AB.
5 */
6
7#include "versatile-ab.dts"
8
9/ {
10 model = "ARM Versatile AB + IB2 board";
11
12 /* Special IB2 control register */
13 ib2_syscon@27000000 {
14 compatible = "arm,versatile-ib2-syscon", "syscon", "simple-mfd";
15 reg = <0x27000000 0x4>;
16
17 led@00.4 {
18 compatible = "register-bit-led";
19 offset = <0x00>;
20 mask = <0x10>;
21 label = "versatile-ib2:0";
22 linux,default-trigger = "heartbeat";
23 default-state = "on";
24 };
25 };
26};
diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts
index 4a51612996bc..5f61d3609027 100644
--- a/arch/arm/boot/dts/versatile-ab.dts
+++ b/arch/arm/boot/dts/versatile-ab.dts
@@ -30,6 +30,43 @@
30 clock-frequency = <24000000>; 30 clock-frequency = <24000000>;
31 }; 31 };
32 32
33 bridge {
34 compatible = "ti,ths8134b", "ti,ths8134";
35 #address-cells = <1>;
36 #size-cells = <0>;
37
38 ports {
39 #address-cells = <1>;
40 #size-cells = <0>;
41
42 port@0 {
43 reg = <0>;
44
45 vga_bridge_in: endpoint {
46 remote-endpoint = <&clcd_pads_vga_dac>;
47 };
48 };
49
50 port@1 {
51 reg = <1>;
52
53 vga_bridge_out: endpoint {
54 remote-endpoint = <&vga_con_in>;
55 };
56 };
57 };
58 };
59
60 vga {
61 compatible = "vga-connector";
62
63 port {
64 vga_con_in: endpoint {
65 remote-endpoint = <&vga_bridge_out>;
66 };
67 };
68 };
69
33 core-module@10000000 { 70 core-module@10000000 {
34 compatible = "arm,core-module-versatile", "syscon", "simple-mfd"; 71 compatible = "arm,core-module-versatile", "syscon", "simple-mfd";
35 reg = <0x10000000 0x200>; 72 reg = <0x10000000 0x200>;
@@ -230,7 +267,39 @@
230 reg = <0x10120000 0x1000>; 267 reg = <0x10120000 0x1000>;
231 interrupts = <16>; 268 interrupts = <16>;
232 clocks = <&osc1>, <&pclk>; 269 clocks = <&osc1>, <&pclk>;
233 clock-names = "clcd", "apb_pclk"; 270 clock-names = "clcdclk", "apb_pclk";
271 /* 800x600 16bpp @ 36MHz works fine */
272 max-memory-bandwidth = <54000000>;
273
274 /*
275 * This port is routed through a PLD (Programmable
276 * Logic Device) that routes the output from the CLCD
277 * (after transformations) to the VGA DAC and also an
278 * external panel connector. The PLD is essential for
279 * supporting RGB565/BGR565.
280 *
281 * The signals from the port thus reaches two endpoints.
282 * The PLD is managed through a few special bits in the
283 * FPGA "sysreg".
284 *
285 * This arrangement can be clearly seen in
286 * ARM DUI 0225D, page 3-41, figure 3-19.
287 */
288 port@0 {
289 #address-cells = <1>;
290 #size-cells = <0>;
291
292 clcd_pads_panel: endpoint@0 {
293 reg = <0>;
294 remote-endpoint = <&panel_in>;
295 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
296 };
297 clcd_pads_vga_dac: endpoint@1 {
298 reg = <1>;
299 remote-endpoint = <&vga_bridge_in>;
300 arm,pl11x,tft-r0g0b0-pads = <0 8 16>;
301 };
302 };
234 }; 303 };
235 304
236 sctl@101e0000 { 305 sctl@101e0000 {
@@ -319,8 +388,18 @@
319 ranges = <0 0x10000000 0x10000>; 388 ranges = <0 0x10000000 0x10000>;
320 389
321 sysreg@0 { 390 sysreg@0 {
322 compatible = "arm,versatile-sysreg", "syscon"; 391 compatible = "arm,versatile-sysreg", "syscon", "simple-mfd";
323 reg = <0x00000 0x1000>; 392 reg = <0x00000 0x1000>;
393
394 panel: display@0 {
395 compatible = "arm,versatile-tft-panel";
396
397 port {
398 panel_in: endpoint {
399 remote-endpoint = <&clcd_pads_panel>;
400 };
401 };
402 };
324 }; 403 };
325 404
326 aaci@4000 { 405 aaci@4000 {
diff --git a/arch/arm/boot/dts/vf500-colibri.dtsi b/arch/arm/boot/dts/vf500-colibri.dtsi
index 515c4d2f28b0..2e7e3cebba1c 100644
--- a/arch/arm/boot/dts/vf500-colibri.dtsi
+++ b/arch/arm/boot/dts/vf500-colibri.dtsi
@@ -46,7 +46,7 @@
46 model = "Toradex Colibri VF50 COM"; 46 model = "Toradex Colibri VF50 COM";
47 compatible = "toradex,vf610-colibri_vf50", "fsl,vf500"; 47 compatible = "toradex,vf610-colibri_vf50", "fsl,vf500";
48 48
49 memory { 49 memory@80000000 {
50 reg = <0x80000000 0x8000000>; 50 reg = <0x80000000 0x8000000>;
51 }; 51 };
52 52
diff --git a/arch/arm/boot/dts/vf500.dtsi b/arch/arm/boot/dts/vf500.dtsi
index 348bcd30c0f7..bbff0115e2fb 100644
--- a/arch/arm/boot/dts/vf500.dtsi
+++ b/arch/arm/boot/dts/vf500.dtsi
@@ -39,11 +39,16 @@
39 * OTHER DEALINGS IN THE SOFTWARE. 39 * OTHER DEALINGS IN THE SOFTWARE.
40 */ 40 */
41 41
42#include "skeleton.dtsi"
43#include "vfxxx.dtsi" 42#include "vfxxx.dtsi"
44#include <dt-bindings/interrupt-controller/arm-gic.h> 43#include <dt-bindings/interrupt-controller/arm-gic.h>
45 44
46/ { 45/ {
46 #address-cells = <1>;
47 #size-cells = <1>;
48 chosen { };
49 aliases { };
50 memory { device_type = "memory"; };
51
47 cpus { 52 cpus {
48 #address-cells = <1>; 53 #address-cells = <1>;
49 #size-cells = <0>; 54 #size-cells = <0>;
diff --git a/arch/arm/boot/dts/vf610-colibri.dtsi b/arch/arm/boot/dts/vf610-colibri.dtsi
index 395812c52933..aeaf99f1f0fc 100644
--- a/arch/arm/boot/dts/vf610-colibri.dtsi
+++ b/arch/arm/boot/dts/vf610-colibri.dtsi
@@ -46,7 +46,7 @@
46 model = "Toradex Colibri VF61 COM"; 46 model = "Toradex Colibri VF61 COM";
47 compatible = "toradex,vf610-colibri_vf61", "fsl,vf610"; 47 compatible = "toradex,vf610-colibri_vf61", "fsl,vf610";
48 48
49 memory { 49 memory@80000000 {
50 reg = <0x80000000 0x10000000>; 50 reg = <0x80000000 0x10000000>;
51 }; 51 };
52}; 52};
diff --git a/arch/arm/boot/dts/vf610-cosmic.dts b/arch/arm/boot/dts/vf610-cosmic.dts
index 5447f2594659..a3014e8d97a9 100644
--- a/arch/arm/boot/dts/vf610-cosmic.dts
+++ b/arch/arm/boot/dts/vf610-cosmic.dts
@@ -19,7 +19,7 @@
19 bootargs = "console=ttyLP1,115200"; 19 bootargs = "console=ttyLP1,115200";
20 }; 20 };
21 21
22 memory { 22 memory@80000000 {
23 reg = <0x80000000 0x10000000>; 23 reg = <0x80000000 0x10000000>;
24 }; 24 };
25 25
diff --git a/arch/arm/boot/dts/vf610-twr.dts b/arch/arm/boot/dts/vf610-twr.dts
index 6f787e67bd2e..6be7a828ae64 100644
--- a/arch/arm/boot/dts/vf610-twr.dts
+++ b/arch/arm/boot/dts/vf610-twr.dts
@@ -50,7 +50,7 @@
50 bootargs = "console=ttyLP1,115200"; 50 bootargs = "console=ttyLP1,115200";
51 }; 51 };
52 52
53 memory { 53 memory@80000000 {
54 reg = <0x80000000 0x8000000>; 54 reg = <0x80000000 0x8000000>;
55 }; 55 };
56 56
diff --git a/arch/arm/boot/dts/vf610-zii-dev.dtsi b/arch/arm/boot/dts/vf610-zii-dev.dtsi
index aadd36db0092..4890b8a5aa44 100644
--- a/arch/arm/boot/dts/vf610-zii-dev.dtsi
+++ b/arch/arm/boot/dts/vf610-zii-dev.dtsi
@@ -49,7 +49,7 @@
49 stdout-path = "serial0:115200n8"; 49 stdout-path = "serial0:115200n8";
50 }; 50 };
51 51
52 memory { 52 memory@80000000 {
53 reg = <0x80000000 0x20000000>; 53 reg = <0x80000000 0x20000000>;
54 }; 54 };
55 55
diff --git a/arch/arm/boot/dts/vf610m4-colibri.dts b/arch/arm/boot/dts/vf610m4-colibri.dts
index 7198e8cceb0d..41ec66a96990 100644
--- a/arch/arm/boot/dts/vf610m4-colibri.dts
+++ b/arch/arm/boot/dts/vf610m4-colibri.dts
@@ -51,10 +51,10 @@
51 51
52 chosen { 52 chosen {
53 bootargs = "console=ttyLP2,115200 clk_ignore_unused init=/linuxrc rw"; 53 bootargs = "console=ttyLP2,115200 clk_ignore_unused init=/linuxrc rw";
54 linux,stdout-path = "&uart2"; 54 stdout-path = "&uart2";
55 }; 55 };
56 56
57 memory { 57 memory@8c000000 {
58 reg = <0x8c000000 0x3000000>; 58 reg = <0x8c000000 0x3000000>;
59 }; 59 };
60}; 60};
diff --git a/arch/arm/boot/dts/vf610m4.dtsi b/arch/arm/boot/dts/vf610m4.dtsi
index 1474bd34d0f1..8293276b55a6 100644
--- a/arch/arm/boot/dts/vf610m4.dtsi
+++ b/arch/arm/boot/dts/vf610m4.dtsi
@@ -42,10 +42,17 @@
42 * OTHER DEALINGS IN THE SOFTWARE. 42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 43 */
44 44
45#include "skeleton.dtsi"
46#include "armv7-m.dtsi" 45#include "armv7-m.dtsi"
47#include "vfxxx.dtsi" 46#include "vfxxx.dtsi"
48 47
48/ {
49 #address-cells = <1>;
50 #size-cells = <1>;
51 chosen { };
52 aliases { };
53 memory { device_type = "memory"; };
54};
55
49&mscm_ir { 56&mscm_ir {
50 interrupt-parent = <&nvic>; 57 interrupt-parent = <&nvic>;
51}; 58};
diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index 0f79fe1ccd9d..e22507e23303 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -1,14 +1,6 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2011 - 2014 Xilinx 3 * Copyright (C) 2011 - 2014 Xilinx
3 *
4 * This software is licensed under the terms of the GNU General Public
5 * License version 2, as published by the Free Software Foundation, and
6 * may be copied, distributed, and modified under those terms.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */ 4 */
13 5
14/ { 6/ {
diff --git a/arch/arm/boot/dts/zynq-cc108.dts b/arch/arm/boot/dts/zynq-cc108.dts
new file mode 100644
index 000000000000..1a0f631c1d8d
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-cc108.dts
@@ -0,0 +1,75 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Xilinx CC108 board DTS
4 *
5 * (C) Copyright 2007-2018 Xilinx, Inc.
6 * (C) Copyright 2007-2013 Michal Simek
7 * (C) Copyright 2007-2012 PetaLogix Qld Pty Ltd
8 *
9 * Michal SIMEK <monstr@monstr.eu>
10 */
11/dts-v1/;
12/include/ "zynq-7000.dtsi"
13
14/ {
15 compatible = "xlnx,zynq-cc108", "xlnx,zynq-7000";
16 model = "Xilinx Zynq";
17
18 aliases {
19 ethernet0 = &gem0;
20 serial0 = &uart0;
21 };
22
23 chosen {
24 bootargs = "";
25 stdout-path = "serial0:115200n8";
26 };
27
28 memory@0 {
29 device_type = "memory";
30 reg = <0x0 0x20000000>;
31 };
32
33 usb_phy0: phy0 {
34 compatible = "usb-nop-xceiv";
35 #phy-cells = <0>;
36 };
37
38 usb_phy1: phy1 {
39 compatible = "usb-nop-xceiv";
40 #phy-cells = <0>;
41 };
42};
43
44&gem0 {
45 status = "okay";
46 phy-mode = "rgmii-id";
47 phy-handle = <&ethernet_phy>;
48
49 ethernet_phy: ethernet-phy@1 {
50 reg = <1>;
51 device_type = "ethernet-phy";
52 };
53};
54
55&sdhci1 {
56 status = "okay";
57 broken-cd ;
58 wp-inverted ;
59};
60
61&uart0 {
62 status = "okay";
63};
64
65&usb0 {
66 status = "okay";
67 dr_mode = "host";
68 usb-phy = <&usb_phy0>;
69};
70
71&usb1 {
72 status = "okay";
73 dr_mode = "host";
74 usb-phy = <&usb_phy1>;
75};
diff --git a/arch/arm/boot/dts/zynq-microzed.dts b/arch/arm/boot/dts/zynq-microzed.dts
index b9376a4904b4..aa4a0b6defb8 100644
--- a/arch/arm/boot/dts/zynq-microzed.dts
+++ b/arch/arm/boot/dts/zynq-microzed.dts
@@ -1,15 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2011 - 2014 Xilinx 3 * Copyright (C) 2011 - 2014 Xilinx
3 * Copyright (C) 2016 Jagan Teki <jteki@openedev.com> 4 * Copyright (C) 2016 Jagan Teki <jteki@openedev.com>
4 *
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */ 5 */
14/dts-v1/; 6/dts-v1/;
15/include/ "zynq-7000.dtsi" 7/include/ "zynq-7000.dtsi"
@@ -23,7 +15,7 @@
23 serial0 = &uart1; 15 serial0 = &uart1;
24 }; 16 };
25 17
26 memory { 18 memory@0 {
27 device_type = "memory"; 19 device_type = "memory";
28 reg = <0x0 0x40000000>; 20 reg = <0x0 0x40000000>;
29 }; 21 };
diff --git a/arch/arm/boot/dts/zynq-parallella.dts b/arch/arm/boot/dts/zynq-parallella.dts
index 0144acfa9793..c05f4b67d4c1 100644
--- a/arch/arm/boot/dts/zynq-parallella.dts
+++ b/arch/arm/boot/dts/zynq-parallella.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (c) 2014 SUSE LINUX Products GmbH 3 * Copyright (c) 2014 SUSE LINUX Products GmbH
3 * 4 *
@@ -6,15 +7,6 @@
6 * Copyright (C) 2011 Xilinx 7 * Copyright (C) 2011 Xilinx
7 * Copyright (C) 2012 National Instruments Corp. 8 * Copyright (C) 2012 National Instruments Corp.
8 * Copyright (C) 2013 Xilinx 9 * Copyright (C) 2013 Xilinx
9 *
10 * This software is licensed under the terms of the GNU General Public
11 * License version 2, as published by the Free Software Foundation, and
12 * may be copied, distributed, and modified under those terms.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 */ 10 */
19/dts-v1/; 11/dts-v1/;
20/include/ "zynq-7000.dtsi" 12/include/ "zynq-7000.dtsi"
diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts
index 70a5de76b7db..f2330b0cb63d 100644
--- a/arch/arm/boot/dts/zynq-zc702.dts
+++ b/arch/arm/boot/dts/zynq-zc702.dts
@@ -1,15 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2011 - 2014 Xilinx 3 * Copyright (C) 2011 - 2014 Xilinx
3 * Copyright (C) 2012 National Instruments Corp. 4 * Copyright (C) 2012 National Instruments Corp.
4 *
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */ 5 */
14/dts-v1/; 6/dts-v1/;
15#include "zynq-7000.dtsi" 7#include "zynq-7000.dtsi"
@@ -112,7 +104,7 @@
112 pinctrl-names = "default"; 104 pinctrl-names = "default";
113 pinctrl-0 = <&pinctrl_i2c0_default>; 105 pinctrl-0 = <&pinctrl_i2c0_default>;
114 106
115 i2cswitch@74 { 107 i2c-mux@74 {
116 compatible = "nxp,pca9548"; 108 compatible = "nxp,pca9548";
117 #address-cells = <1>; 109 #address-cells = <1>;
118 #size-cells = <0>; 110 #size-cells = <0>;
diff --git a/arch/arm/boot/dts/zynq-zc706.dts b/arch/arm/boot/dts/zynq-zc706.dts
index cdc326ec3335..3ad1260ff2a1 100644
--- a/arch/arm/boot/dts/zynq-zc706.dts
+++ b/arch/arm/boot/dts/zynq-zc706.dts
@@ -1,15 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2011 - 2014 Xilinx 3 * Copyright (C) 2011 - 2014 Xilinx
3 * Copyright (C) 2012 National Instruments Corp. 4 * Copyright (C) 2012 National Instruments Corp.
4 *
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */ 5 */
14/dts-v1/; 6/dts-v1/;
15#include "zynq-7000.dtsi" 7#include "zynq-7000.dtsi"
@@ -68,7 +60,7 @@
68 pinctrl-names = "default"; 60 pinctrl-names = "default";
69 pinctrl-0 = <&pinctrl_i2c0_default>; 61 pinctrl-0 = <&pinctrl_i2c0_default>;
70 62
71 i2cswitch@74 { 63 i2c-mux@74 {
72 compatible = "nxp,pca9548"; 64 compatible = "nxp,pca9548";
73 #address-cells = <1>; 65 #address-cells = <1>;
74 #size-cells = <0>; 66 #size-cells = <0>;
diff --git a/arch/arm/boot/dts/zynq-zc770-xm010.dts b/arch/arm/boot/dts/zynq-zc770-xm010.dts
new file mode 100644
index 000000000000..6884f1ad66b7
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zc770-xm010.dts
@@ -0,0 +1,95 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Xilinx ZC770 XM010 board DTS
4 *
5 * Copyright (C) 2013-2018 Xilinx, Inc.
6 */
7/dts-v1/;
8#include "zynq-7000.dtsi"
9
10/ {
11 compatible = "xlnx,zynq-zc770-xm010", "xlnx,zynq-7000";
12 model = "Xilinx Zynq";
13
14 aliases {
15 ethernet0 = &gem0;
16 i2c0 = &i2c0;
17 serial0 = &uart1;
18 spi1 = &spi1;
19 };
20
21 chosen {
22 bootargs = "";
23 stdout-path = "serial0:115200n8";
24 };
25
26 memory@0 {
27 device_type = "memory";
28 reg = <0x0 0x40000000>;
29 };
30
31 usb_phy0: phy0 {
32 compatible = "usb-nop-xceiv";
33 #phy-cells = <0>;
34 };
35};
36
37&can0 {
38 status = "okay";
39};
40
41&gem0 {
42 status = "okay";
43 phy-mode = "rgmii-id";
44 phy-handle = <&ethernet_phy>;
45
46 ethernet_phy: ethernet-phy@7 {
47 reg = <7>;
48 device_type = "ethernet-phy";
49 };
50};
51
52&i2c0 {
53 status = "okay";
54 clock-frequency = <400000>;
55
56 eeprom: eeprom@52 {
57 compatible = "atmel,24c02";
58 reg = <0x52>;
59 };
60
61};
62
63&sdhci0 {
64 status = "okay";
65};
66
67&spi1 {
68 status = "okay";
69 num-cs = <4>;
70 is-decoded-cs = <0>;
71 flash@0 {
72 compatible = "sst25wf080", "jedec,spi-nor";
73 reg = <1>;
74 spi-max-frequency = <1000000>;
75 partitions {
76 compatible = "fixed-partitions";
77 #address-cells = <1>;
78 #size-cells = <1>;
79 partition@0 {
80 label = "data";
81 reg = <0x0 0x100000>;
82 };
83 };
84 };
85};
86
87&uart1 {
88 status = "okay";
89};
90
91&usb0 {
92 status = "okay";
93 dr_mode = "host";
94 usb-phy = <&usb_phy0>;
95};
diff --git a/arch/arm/boot/dts/zynq-zc770-xm011.dts b/arch/arm/boot/dts/zynq-zc770-xm011.dts
new file mode 100644
index 000000000000..b78883cee96a
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zc770-xm011.dts
@@ -0,0 +1,64 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Xilinx ZC770 XM013 board DTS
4 *
5 * Copyright (C) 2013-2018 Xilinx, Inc.
6 */
7/dts-v1/;
8#include "zynq-7000.dtsi"
9
10/ {
11 compatible = "xlnx,zynq-zc770-xm011", "xlnx,zynq-7000";
12 model = "Xilinx Zynq";
13
14 aliases {
15 i2c0 = &i2c1;
16 serial0 = &uart1;
17 spi0 = &spi0;
18 };
19
20 chosen {
21 bootargs = "";
22 stdout-path = "serial0:115200n8";
23 };
24
25 memory@0 {
26 device_type = "memory";
27 reg = <0x0 0x40000000>;
28 };
29
30 usb_phy1: phy1 {
31 compatible = "usb-nop-xceiv";
32 #phy-cells = <0>;
33 };
34};
35
36&can0 {
37 status = "okay";
38};
39
40&i2c1 {
41 status = "okay";
42 clock-frequency = <400000>;
43
44 eeprom: eeprom@52 {
45 compatible = "atmel,24c02";
46 reg = <0x52>;
47 };
48};
49
50&spi0 {
51 status = "okay";
52 num-cs = <4>;
53 is-decoded-cs = <0>;
54};
55
56&uart1 {
57 status = "okay";
58};
59
60&usb1 {
61 status = "okay";
62 dr_mode = "host";
63 usb-phy = <&usb_phy1>;
64};
diff --git a/arch/arm/boot/dts/zynq-zc770-xm012.dts b/arch/arm/boot/dts/zynq-zc770-xm012.dts
new file mode 100644
index 000000000000..c3169d63600d
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zc770-xm012.dts
@@ -0,0 +1,64 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Xilinx ZC770 XM012 board DTS
4 *
5 * Copyright (C) 2013-2018 Xilinx, Inc.
6 */
7/dts-v1/;
8#include "zynq-7000.dtsi"
9
10/ {
11 compatible = "xlnx,zynq-zc770-xm012", "xlnx,zynq-7000";
12 model = "Xilinx Zynq";
13
14 aliases {
15 i2c0 = &i2c0;
16 i2c1 = &i2c1;
17 serial0 = &uart1;
18 spi0 = &spi1;
19 };
20
21 chosen {
22 bootargs = "";
23 stdout-path = "serial0:115200n8";
24 };
25
26 memory@0 {
27 device_type = "memory";
28 reg = <0x0 0x40000000>;
29 };
30};
31
32&can1 {
33 status = "okay";
34};
35
36&i2c0 {
37 status = "okay";
38 clock-frequency = <400000>;
39
40 eeprom0: eeprom@52 {
41 compatible = "atmel,24c02";
42 reg = <0x52>;
43 };
44};
45
46&i2c1 {
47 status = "okay";
48 clock-frequency = <400000>;
49
50 eeprom1: eeprom@52 {
51 compatible = "atmel,24c02";
52 reg = <0x52>;
53 };
54};
55
56&spi1 {
57 status = "okay";
58 num-cs = <4>;
59 is-decoded-cs = <0>;
60};
61
62&uart1 {
63 status = "okay";
64};
diff --git a/arch/arm/boot/dts/zynq-zc770-xm013.dts b/arch/arm/boot/dts/zynq-zc770-xm013.dts
new file mode 100644
index 000000000000..8bb66859d774
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zc770-xm013.dts
@@ -0,0 +1,78 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Xilinx ZC770 XM013 board DTS
4 *
5 * Copyright (C) 2013 Xilinx, Inc.
6 */
7/dts-v1/;
8#include "zynq-7000.dtsi"
9
10/ {
11 compatible = "xlnx,zynq-zc770-xm013", "xlnx,zynq-7000";
12 model = "Xilinx Zynq";
13
14 aliases {
15 ethernet0 = &gem1;
16 i2c0 = &i2c1;
17 serial0 = &uart0;
18 spi1 = &spi0;
19 };
20
21 chosen {
22 bootargs = "";
23 stdout-path = "serial0:115200n8";
24 };
25
26 memory@0 {
27 device_type = "memory";
28 reg = <0x0 0x40000000>;
29 };
30};
31
32&can1 {
33 status = "okay";
34};
35
36&gem1 {
37 status = "okay";
38 phy-mode = "rgmii-id";
39 phy-handle = <&ethernet_phy>;
40
41 ethernet_phy: ethernet-phy@7 {
42 reg = <7>;
43 device_type = "ethernet-phy";
44 };
45};
46
47&i2c1 {
48 status = "okay";
49 clock-frequency = <400000>;
50
51 si570: clock-generator@55 {
52 #clock-cells = <0>;
53 compatible = "silabs,si570";
54 temperature-stability = <50>;
55 reg = <0x55>;
56 factory-fout = <156250000>;
57 clock-frequency = <148500000>;
58 };
59};
60
61&spi0 {
62 status = "okay";
63 num-cs = <4>;
64 is-decoded-cs = <0>;
65 eeprom: eeprom@0 {
66 at25,byte-len = <8192>;
67 at25,addr-mode = <2>;
68 at25,page-size = <32>;
69
70 compatible = "atmel,at25";
71 reg = <2>;
72 spi-max-frequency = <1000000>;
73 };
74};
75
76&uart0 {
77 status = "okay";
78};
diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts
index 5e44dc12fd60..53c6883ce1f6 100644
--- a/arch/arm/boot/dts/zynq-zed.dts
+++ b/arch/arm/boot/dts/zynq-zed.dts
@@ -1,15 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2011 - 2014 Xilinx 3 * Copyright (C) 2011 - 2014 Xilinx
3 * Copyright (C) 2012 National Instruments Corp. 4 * Copyright (C) 2012 National Instruments Corp.
4 *
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */ 5 */
14/dts-v1/; 6/dts-v1/;
15#include "zynq-7000.dtsi" 7#include "zynq-7000.dtsi"
diff --git a/arch/arm/boot/dts/zynq-zybo-z7.dts b/arch/arm/boot/dts/zynq-zybo-z7.dts
new file mode 100644
index 000000000000..1e713dc98920
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zybo-z7.dts
@@ -0,0 +1,58 @@
1// SPDX-License-Identifier: GPL-2.0+
2/dts-v1/;
3#include "zynq-7000.dtsi"
4
5/ {
6 model = "Zynq ZYBO Z7 Development Board";
7 compatible = "digilent,zynq-zybo-z7", "xlnx,zynq-7000";
8
9 aliases {
10 ethernet0 = &gem0;
11 serial0 = &uart1;
12 };
13
14 memory@0 {
15 device_type = "memory";
16 reg = <0x0 0x20000000>;
17 };
18
19 chosen {
20 bootargs = "";
21 stdout-path = "serial0:115200n8";
22 };
23
24 usb_phy0: phy0 {
25 #phy-cells = <0>;
26 compatible = "usb-nop-xceiv";
27 reset-gpios = <&gpio0 46 1>;
28 };
29};
30
31&clkc {
32 ps-clk-frequency = <33333333>;
33};
34
35&gem0 {
36 status = "okay";
37 phy-mode = "rgmii-id";
38 phy-handle = <&ethernet_phy>;
39
40 ethernet_phy: ethernet-phy@0 {
41 reg = <0>;
42 device_type = "ethernet-phy";
43 };
44};
45
46&sdhci0 {
47 status = "okay";
48};
49
50&uart1 {
51 status = "okay";
52};
53
54&usb0 {
55 status = "okay";
56 dr_mode = "host";
57 usb-phy = <&usb_phy0>;
58};
diff --git a/arch/arm/boot/dts/zynq-zybo.dts b/arch/arm/boot/dts/zynq-zybo.dts
index e40cafc5ee5b..a6c00e7fa767 100644
--- a/arch/arm/boot/dts/zynq-zybo.dts
+++ b/arch/arm/boot/dts/zynq-zybo.dts
@@ -1,15 +1,7 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Copyright (C) 2011 - 2014 Xilinx 3 * Copyright (C) 2011 - 2014 Xilinx
3 * Copyright (C) 2012 National Instruments Corp. 4 * Copyright (C) 2012 National Instruments Corp.
4 *
5 * This software is licensed under the terms of the GNU General Public
6 * License version 2, as published by the Free Software Foundation, and
7 * may be copied, distributed, and modified under those terms.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */ 5 */
14/dts-v1/; 6/dts-v1/;
15#include "zynq-7000.dtsi" 7#include "zynq-7000.dtsi"
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index da7387689b88..28f1d714e5b9 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -751,6 +751,7 @@ CONFIG_MMC_DW_ROCKCHIP=y
751CONFIG_MMC_SH_MMCIF=y 751CONFIG_MMC_SH_MMCIF=y
752CONFIG_MMC_SUNXI=y 752CONFIG_MMC_SUNXI=y
753CONFIG_MMC_BCM2835=y 753CONFIG_MMC_BCM2835=y
754CONFIG_MMC_SDHCI_OMAP=y
754CONFIG_NEW_LEDS=y 755CONFIG_NEW_LEDS=y
755CONFIG_LEDS_CLASS=y 756CONFIG_LEDS_CLASS=y
756CONFIG_LEDS_CLASS_FLASH=m 757CONFIG_LEDS_CLASS_FLASH=m
diff --git a/arch/arm/configs/omap2plus_defconfig b/arch/arm/configs/omap2plus_defconfig
index 92674f247a12..bce7e5abcc05 100644
--- a/arch/arm/configs/omap2plus_defconfig
+++ b/arch/arm/configs/omap2plus_defconfig
@@ -431,8 +431,11 @@ CONFIG_USB_ZERO=m
431CONFIG_USB_G_NOKIA=m 431CONFIG_USB_G_NOKIA=m
432CONFIG_MMC=y 432CONFIG_MMC=y
433CONFIG_SDIO_UART=y 433CONFIG_SDIO_UART=y
434CONFIG_MMC_SDHCI=y
435CONFIG_MMC_SDHCI_PLTFM=y
434CONFIG_MMC_OMAP=y 436CONFIG_MMC_OMAP=y
435CONFIG_MMC_OMAP_HS=y 437CONFIG_MMC_OMAP_HS=y
438CONFIG_MMC_SDHCI_OMAP=y
436CONFIG_NEW_LEDS=y 439CONFIG_NEW_LEDS=y
437CONFIG_LEDS_CLASS=m 440CONFIG_LEDS_CLASS=m
438CONFIG_LEDS_CPCAP=m 441CONFIG_LEDS_CPCAP=m
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index fbedbd8f619a..2b1535cdeb7c 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -190,12 +190,24 @@ config ARCH_R8A7796
190 help 190 help
191 This enables support for the Renesas R-Car M3-W SoC. 191 This enables support for the Renesas R-Car M3-W SoC.
192 192
193config ARCH_R8A77965
194 bool "Renesas R-Car M3-N SoC Platform"
195 depends on ARCH_RENESAS
196 help
197 This enables support for the Renesas R-Car M3-N SoC.
198
193config ARCH_R8A77970 199config ARCH_R8A77970
194 bool "Renesas R-Car V3M SoC Platform" 200 bool "Renesas R-Car V3M SoC Platform"
195 depends on ARCH_RENESAS 201 depends on ARCH_RENESAS
196 help 202 help
197 This enables support for the Renesas R-Car V3M SoC. 203 This enables support for the Renesas R-Car V3M SoC.
198 204
205config ARCH_R8A77980
206 bool "Renesas R-Car V3H SoC Platform"
207 depends on ARCH_RENESAS
208 help
209 This enables support for the Renesas R-Car V3H SoC.
210
199config ARCH_R8A77995 211config ARCH_R8A77995
200 bool "Renesas R-Car D3 SoC Platform" 212 bool "Renesas R-Car D3 SoC Platform"
201 depends on ARCH_RENESAS 213 depends on ARCH_RENESAS
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
index f505227b0250..8bebe7da5ed9 100644
--- a/arch/arm64/boot/dts/allwinner/Makefile
+++ b/arch/arm64/boot/dts/allwinner/Makefile
@@ -5,8 +5,11 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb
5dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb 5dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
6dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb 6dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
7dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb 7dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
8dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
8dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb 9dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
9dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb 10dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
11dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
10dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb 12dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
11dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb 13dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb
12dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb 14dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb
15dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
index a6975670cd1c..2250dec9974c 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
@@ -120,8 +120,7 @@
120 pinctrl-names = "default"; 120 pinctrl-names = "default";
121 pinctrl-0 = <&mmc0_pins>; 121 pinctrl-0 = <&mmc0_pins>;
122 vmmc-supply = <&reg_dcdc1>; 122 vmmc-supply = <&reg_dcdc1>;
123 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 123 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
124 cd-inverted;
125 disable-wp; 124 disable-wp;
126 bus-width = <4>; 125 bus-width = <4>;
127 status = "okay"; 126 status = "okay";
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
index 2beef9e6cb88..e2dce48fa29a 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
@@ -82,8 +82,7 @@
82 pinctrl-names = "default"; 82 pinctrl-names = "default";
83 pinctrl-0 = <&mmc0_pins>; 83 pinctrl-0 = <&mmc0_pins>;
84 vmmc-supply = <&reg_dcdc1>; 84 vmmc-supply = <&reg_dcdc1>;
85 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 85 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
86 cd-inverted;
87 disable-wp; 86 disable-wp;
88 bus-width = <4>; 87 bus-width = <4>;
89 status = "okay"; 88 status = "okay";
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
index 8807664f363a..3b3081b10ecb 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
@@ -68,8 +68,7 @@
68 pinctrl-names = "default"; 68 pinctrl-names = "default";
69 pinctrl-0 = <&mmc0_pins>; 69 pinctrl-0 = <&mmc0_pins>;
70 vmmc-supply = <&reg_dcdc1>; 70 vmmc-supply = <&reg_dcdc1>;
71 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 71 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
72 cd-inverted;
73 disable-wp; 72 disable-wp;
74 bus-width = <4>; 73 bus-width = <4>;
75 status = "okay"; 74 status = "okay";
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
index 240d35731d10..bf42690a3361 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
@@ -67,8 +67,7 @@
67 pinctrl-names = "default"; 67 pinctrl-names = "default";
68 pinctrl-0 = <&mmc0_pins>; 68 pinctrl-0 = <&mmc0_pins>;
69 vmmc-supply = <&reg_dcdc1>; 69 vmmc-supply = <&reg_dcdc1>;
70 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 70 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
71 cd-inverted;
72 status = "okay"; 71 status = "okay";
73}; 72};
74 73
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
index 604cdaedac38..a75825798a71 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -103,8 +103,7 @@
103 pinctrl-names = "default"; 103 pinctrl-names = "default";
104 pinctrl-0 = <&mmc0_pins>; 104 pinctrl-0 = <&mmc0_pins>;
105 vmmc-supply = <&reg_dcdc1>; 105 vmmc-supply = <&reg_dcdc1>;
106 cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; 106 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
107 cd-inverted;
108 disable-wp; 107 disable-wp;
109 bus-width = <4>; 108 bus-width = <4>;
110 status = "okay"; 109 status = "okay";
@@ -230,6 +229,11 @@
230 regulator-name = "vcc-rtc"; 229 regulator-name = "vcc-rtc";
231}; 230};
232 231
232/* On Euler connector */
233&spdif {
234 status = "disabled";
235};
236
233/* On Exp and Euler connectors */ 237/* On Exp and Euler connectors */
234&uart0 { 238&uart0 {
235 pinctrl-names = "default"; 239 pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
new file mode 100644
index 000000000000..d9baab3dc96b
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-teres-i.dts
@@ -0,0 +1,265 @@
1/*
2 * Copyright (C) Harald Geyer <harald@ccbib.org>
3 * based on sun50i-a64-olinuxino.dts by Jagan Teki <jteki@openedev.com>
4 *
5 * SPDX-License-Identifier: (GPL-2.0 OR MIT)
6 */
7
8/dts-v1/;
9
10#include "sun50i-a64.dtsi"
11
12#include <dt-bindings/gpio/gpio.h>
13#include <dt-bindings/input/input.h>
14#include <dt-bindings/pwm/pwm.h>
15
16/ {
17 model = "Olimex A64 Teres-I";
18 compatible = "olimex,a64-teres-i", "allwinner,sun50i-a64";
19
20 aliases {
21 serial0 = &uart0;
22 };
23
24 chosen {
25 stdout-path = "serial0:115200n8";
26
27 framebuffer-lcd {
28 eDP25-supply = <&reg_dldo2>;
29 eDP12-supply = <&reg_dldo3>;
30 };
31 };
32
33 gpio-keys {
34 compatible = "gpio-keys";
35
36 lid-switch {
37 label = "Lid Switch";
38 gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
39 linux,input-type = <EV_SW>;
40 linux,code = <SW_LID>;
41 };
42 };
43
44 leds {
45 compatible = "gpio-leds";
46
47 capslock {
48 label = "teres-i:green:capslock";
49 gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */
50 };
51
52 numlock {
53 label = "teres-i:green:numlock";
54 gpios = <&pio 2 4 GPIO_ACTIVE_HIGH>; /* PC4 */
55 };
56 };
57
58 reg_usb1_vbus: usb1-vbus {
59 compatible = "regulator-fixed";
60 regulator-name = "usb1-vbus";
61 regulator-min-microvolt = <5000000>;
62 regulator-max-microvolt = <5000000>;
63 enable-active-high;
64 gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
65 status = "okay";
66 };
67
68 wifi_pwrseq: wifi_pwrseq {
69 compatible = "mmc-pwrseq-simple";
70 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
71 };
72};
73
74&ehci1 {
75 status = "okay";
76};
77
78
79/* The ANX6345 eDP-bridge is on i2c0. There is no linux (mainline)
80 * driver for this chip at the moment, the bootloader initializes it.
81 * However it can be accessed with the i2c-dev driver from user space.
82 */
83&i2c0 {
84 clock-frequency = <100000>;
85 pinctrl-names = "default";
86 pinctrl-0 = <&i2c0_pins>;
87 status = "okay";
88};
89
90&mmc0 {
91 pinctrl-names = "default";
92 pinctrl-0 = <&mmc0_pins>;
93 vmmc-supply = <&reg_dcdc1>;
94 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
95 disable-wp;
96 bus-width = <4>;
97 status = "okay";
98};
99
100&mmc1 {
101 pinctrl-names = "default";
102 pinctrl-0 = <&mmc1_pins>;
103 vmmc-supply = <&reg_aldo2>;
104 vqmmc-supply = <&reg_dldo4>;
105 mmc-pwrseq = <&wifi_pwrseq>;
106 bus-width = <4>;
107 non-removable;
108 status = "okay";
109
110 rtl8723bs: wifi@1 {
111 reg = <1>;
112 interrupt-parent = <&r_pio>;
113 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
114 interrupt-names = "host-wake";
115 };
116};
117
118&mmc2 {
119 pinctrl-names = "default";
120 pinctrl-0 = <&mmc2_pins>;
121 vmmc-supply = <&reg_dcdc1>;
122 vqmmc-supply = <&reg_dcdc1>;
123 bus-width = <8>;
124 non-removable;
125 cap-mmc-hw-reset;
126 status = "okay";
127};
128
129&ohci1 {
130 status = "okay";
131};
132
133&r_rsb {
134 status = "okay";
135
136 axp803: pmic@3a3 {
137 compatible = "x-powers,axp803";
138 reg = <0x3a3>;
139 interrupt-parent = <&r_intc>;
140 interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
141 wakeup-source;
142 };
143};
144
145#include "axp803.dtsi"
146
147&reg_aldo1 {
148 regulator-always-on;
149 regulator-min-microvolt = <2800000>;
150 regulator-max-microvolt = <2800000>;
151 regulator-name = "vcc-pe";
152};
153
154&reg_aldo2 {
155 regulator-always-on;
156 regulator-min-microvolt = <3300000>;
157 regulator-max-microvolt = <3300000>;
158 regulator-name = "vcc-pl";
159};
160
161&reg_aldo3 {
162 regulator-always-on;
163 regulator-min-microvolt = <3000000>;
164 regulator-max-microvolt = <3000000>;
165 regulator-name = "vcc-pll-avcc";
166};
167
168&reg_dcdc1 {
169 regulator-always-on;
170 regulator-min-microvolt = <3300000>;
171 regulator-max-microvolt = <3300000>;
172 regulator-name = "vcc-3v3";
173};
174
175&reg_dcdc2 {
176 regulator-always-on;
177 regulator-min-microvolt = <1040000>;
178 regulator-max-microvolt = <1300000>;
179 regulator-name = "vdd-cpux";
180};
181
182/* DCDC3 is polyphased with DCDC2 */
183
184&reg_dcdc5 {
185 regulator-always-on;
186 regulator-min-microvolt = <1500000>;
187 regulator-max-microvolt = <1500000>;
188 regulator-name = "vcc-ddr3";
189};
190
191&reg_dcdc6 {
192 regulator-always-on;
193 regulator-min-microvolt = <1100000>;
194 regulator-max-microvolt = <1100000>;
195 regulator-name = "vdd-sys";
196};
197
198&reg_dldo1 {
199 regulator-min-microvolt = <3300000>;
200 regulator-max-microvolt = <3300000>;
201 regulator-name = "vcc-hdmi";
202};
203
204&reg_dldo2 {
205 regulator-min-microvolt = <2500000>;
206 regulator-max-microvolt = <2500000>;
207 regulator-name = "vcc-pd";
208};
209
210&reg_dldo3 {
211 regulator-min-microvolt = <1200000>;
212 regulator-max-microvolt = <1200000>;
213 regulator-name = "eDP12";
214};
215
216&reg_dldo4 {
217 regulator-min-microvolt = <3300000>;
218 regulator-max-microvolt = <3300000>;
219 regulator-name = "vcc-wifi-io";
220};
221
222&reg_eldo1 {
223 regulator-min-microvolt = <1800000>;
224 regulator-max-microvolt = <1800000>;
225 regulator-name = "cpvdd";
226};
227
228&reg_eldo2 {
229 regulator-min-microvolt = <1800000>;
230 regulator-max-microvolt = <1800000>;
231 regulator-name = "vcc-dvdd-csi";
232};
233
234&reg_fldo1 {
235 regulator-min-microvolt = <1200000>;
236 regulator-max-microvolt = <1200000>;
237 regulator-name = "vcc-1v2-hsic";
238};
239
240/*
241 * The A64 chip cannot work without this regulator off, although
242 * it seems to be only driving the AR100 core.
243 * Maybe we don't still know well about CPUs domain.
244 */
245&reg_fldo2 {
246 regulator-always-on;
247 regulator-min-microvolt = <1100000>;
248 regulator-max-microvolt = <1100000>;
249 regulator-name = "vdd-cpus";
250};
251
252&reg_rtc_ldo {
253 regulator-name = "vcc-rtc";
254};
255
256&uart0 {
257 pinctrl-names = "default";
258 pinctrl-0 = <&uart0_pins_a>;
259 status = "okay";
260};
261
262&usbphy {
263 usb1_vbus-supply = <&reg_usb1_vbus>;
264 status = "okay";
265};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index d783d164b9c3..1b2ef28c42bd 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -52,6 +52,26 @@
52 #address-cells = <1>; 52 #address-cells = <1>;
53 #size-cells = <1>; 53 #size-cells = <1>;
54 54
55 chosen {
56 #address-cells = <1>;
57 #size-cells = <1>;
58 ranges;
59
60/*
61 * The pipeline mixer0-lcd0 depends on clock CLK_MIXER0 from DE2 CCU.
62 * However there is no support for this clock on A64 yet, so we depend
63 * on the upstream clocks here to keep them (and thus CLK_MIXER0) up.
64 */
65 simplefb_lcd: framebuffer-lcd {
66 compatible = "allwinner,simple-framebuffer",
67 "simple-framebuffer";
68 allwinner,pipeline = "mixer0-lcd0";
69 clocks = <&ccu CLK_TCON0>,
70 <&ccu CLK_DE>, <&ccu CLK_BUS_DE>;
71 status = "disabled";
72 };
73 };
74
55 cpus { 75 cpus {
56 #address-cells = <1>; 76 #address-cells = <1>;
57 #size-cells = <0>; 77 #size-cells = <0>;
@@ -112,6 +132,24 @@
112 method = "smc"; 132 method = "smc";
113 }; 133 };
114 134
135 sound_spdif {
136 compatible = "simple-audio-card";
137 simple-audio-card,name = "On-board SPDIF";
138
139 simple-audio-card,cpu {
140 sound-dai = <&spdif>;
141 };
142
143 simple-audio-card,codec {
144 sound-dai = <&spdif_out>;
145 };
146 };
147
148 spdif_out: spdif-out {
149 #sound-dai-cells = <0>;
150 compatible = "linux,spdif-dit";
151 };
152
115 timer { 153 timer {
116 compatible = "arm,armv8-timer"; 154 compatible = "arm,armv8-timer";
117 interrupts = <GIC_PPI 13 155 interrupts = <GIC_PPI 13
@@ -291,6 +329,11 @@
291 interrupt-controller; 329 interrupt-controller;
292 #interrupt-cells = <3>; 330 #interrupt-cells = <3>;
293 331
332 i2c0_pins: i2c0_pins {
333 pins = "PH0", "PH1";
334 function = "i2c0";
335 };
336
294 i2c1_pins: i2c1_pins { 337 i2c1_pins: i2c1_pins {
295 pins = "PH2", "PH3"; 338 pins = "PH2", "PH3";
296 function = "i2c1"; 339 function = "i2c1";
@@ -336,6 +379,11 @@
336 drive-strength = <40>; 379 drive-strength = <40>;
337 }; 380 };
338 381
382 spdif_tx_pin: spdif {
383 pins = "PH8";
384 function = "spdif";
385 };
386
339 spi0_pins: spi0 { 387 spi0_pins: spi0 {
340 pins = "PC0", "PC1", "PC2", "PC3"; 388 pins = "PC0", "PC1", "PC2", "PC3";
341 function = "spi0"; 389 function = "spi0";
@@ -382,6 +430,50 @@
382 }; 430 };
383 }; 431 };
384 432
433 spdif: spdif@1c21000 {
434 #sound-dai-cells = <0>;
435 compatible = "allwinner,sun50i-a64-spdif",
436 "allwinner,sun8i-h3-spdif";
437 reg = <0x01c21000 0x400>;
438 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
439 clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
440 resets = <&ccu RST_BUS_SPDIF>;
441 clock-names = "apb", "spdif";
442 dmas = <&dma 2>;
443 dma-names = "tx";
444 pinctrl-names = "default";
445 pinctrl-0 = <&spdif_tx_pin>;
446 status = "disabled";
447 };
448
449 i2s0: i2s@1c22000 {
450 #sound-dai-cells = <0>;
451 compatible = "allwinner,sun50i-a64-i2s",
452 "allwinner,sun8i-h3-i2s";
453 reg = <0x01c22000 0x400>;
454 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
455 clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
456 clock-names = "apb", "mod";
457 resets = <&ccu RST_BUS_I2S0>;
458 dma-names = "rx", "tx";
459 dmas = <&dma 3>, <&dma 3>;
460 status = "disabled";
461 };
462
463 i2s1: i2s@1c22400 {
464 #sound-dai-cells = <0>;
465 compatible = "allwinner,sun50i-a64-i2s",
466 "allwinner,sun8i-h3-i2s";
467 reg = <0x01c22400 0x400>;
468 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
469 clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>;
470 clock-names = "apb", "mod";
471 resets = <&ccu RST_BUS_I2S1>;
472 dma-names = "rx", "tx";
473 dmas = <&dma 4>, <&dma 4>;
474 status = "disabled";
475 };
476
385 uart0: serial@1c28000 { 477 uart0: serial@1c28000 {
386 compatible = "snps,dw-apb-uart"; 478 compatible = "snps,dw-apb-uart";
387 reg = <0x01c28000 0x400>; 479 reg = <0x01c28000 0x400>;
@@ -593,5 +685,12 @@
593 #address-cells = <1>; 685 #address-cells = <1>;
594 #size-cells = <0>; 686 #size-cells = <0>;
595 }; 687 };
688
689 wdt0: watchdog@1c20ca0 {
690 compatible = "allwinner,sun50i-a64-wdt",
691 "allwinner,sun6i-a31-wdt";
692 reg = <0x01c20ca0 0x20>;
693 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
694 };
596 }; 695 };
597}; 696};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts
index 1ed9f219deaf..506e25ba028a 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts
@@ -151,8 +151,6 @@
151}; 151};
152 152
153&mmc0 { 153&mmc0 {
154 pinctrl-names = "default";
155 pinctrl-0 = <&mmc0_pins_a>;
156 vmmc-supply = <&reg_vcc3v3>; 154 vmmc-supply = <&reg_vcc3v3>;
157 bus-width = <4>; 155 bus-width = <4>;
158 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 156 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
@@ -160,8 +158,6 @@
160}; 158};
161 159
162&mmc1 { 160&mmc1 {
163 pinctrl-names = "default";
164 pinctrl-0 = <&mmc1_pins_a>;
165 vmmc-supply = <&reg_vcc3v3>; 161 vmmc-supply = <&reg_vcc3v3>;
166 vqmmc-supply = <&reg_vcc3v3>; 162 vqmmc-supply = <&reg_vcc3v3>;
167 mmc-pwrseq = <&wifi_pwrseq>; 163 mmc-pwrseq = <&wifi_pwrseq>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
index f1447003ea3c..cc268a69786c 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
@@ -126,8 +126,6 @@
126}; 126};
127 127
128&mmc0 { 128&mmc0 {
129 pinctrl-names = "default";
130 pinctrl-0 = <&mmc0_pins_a>;
131 vmmc-supply = <&reg_vcc3v3>; 129 vmmc-supply = <&reg_vcc3v3>;
132 bus-width = <4>; 130 bus-width = <4>;
133 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 131 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
index 9e51d3a5f4e6..98862c7c7258 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
@@ -67,6 +67,17 @@
67 stdout-path = "serial0:115200n8"; 67 stdout-path = "serial0:115200n8";
68 }; 68 };
69 69
70 connector {
71 compatible = "hdmi-connector";
72 type = "a";
73
74 port {
75 hdmi_con_in: endpoint {
76 remote-endpoint = <&hdmi_out_con>;
77 };
78 };
79 };
80
70 leds { 81 leds {
71 compatible = "gpio-leds"; 82 compatible = "gpio-leds";
72 83
@@ -121,6 +132,10 @@
121 status = "okay"; 132 status = "okay";
122}; 133};
123 134
135&de {
136 status = "okay";
137};
138
124&ehci0 { 139&ehci0 {
125 status = "okay"; 140 status = "okay";
126}; 141};
@@ -153,6 +168,16 @@
153 }; 168 };
154}; 169};
155 170
171&hdmi {
172 status = "okay";
173};
174
175&hdmi_out {
176 hdmi_out_con: endpoint {
177 remote-endpoint = <&hdmi_con_in>;
178 };
179};
180
156&ir { 181&ir {
157 pinctrl-names = "default"; 182 pinctrl-names = "default";
158 pinctrl-0 = <&ir_pins_a>; 183 pinctrl-0 = <&ir_pins_a>;
@@ -160,8 +185,6 @@
160}; 185};
161 186
162&mmc0 { 187&mmc0 {
163 pinctrl-names = "default";
164 pinctrl-0 = <&mmc0_pins_a>;
165 vmmc-supply = <&reg_vcc3v3>; 188 vmmc-supply = <&reg_vcc3v3>;
166 bus-width = <4>; 189 bus-width = <4>;
167 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 190 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
index 0f25c4a6f15d..b75ca4d7d001 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
@@ -62,6 +62,17 @@
62 stdout-path = "serial0:115200n8"; 62 stdout-path = "serial0:115200n8";
63 }; 63 };
64 64
65 connector {
66 compatible = "hdmi-connector";
67 type = "a";
68
69 port {
70 hdmi_con_in: endpoint {
71 remote-endpoint = <&hdmi_out_con>;
72 };
73 };
74 };
75
65 leds { 76 leds {
66 compatible = "gpio-leds"; 77 compatible = "gpio-leds";
67 78
@@ -128,6 +139,10 @@
128 status = "okay"; 139 status = "okay";
129}; 140};
130 141
142&de {
143 status = "okay";
144};
145
131&ehci0 { 146&ehci0 {
132 status = "okay"; 147 status = "okay";
133}; 148};
@@ -160,6 +175,16 @@
160 }; 175 };
161}; 176};
162 177
178&hdmi {
179 status = "okay";
180};
181
182&hdmi_out {
183 hdmi_out_con: endpoint {
184 remote-endpoint = <&hdmi_con_in>;
185 };
186};
187
163&ir { 188&ir {
164 pinctrl-names = "default"; 189 pinctrl-names = "default";
165 pinctrl-0 = <&ir_pins_a>; 190 pinctrl-0 = <&ir_pins_a>;
@@ -167,8 +192,6 @@
167}; 192};
168 193
169&mmc0 { 194&mmc0 {
170 pinctrl-names = "default";
171 pinctrl-0 = <&mmc0_pins_a>;
172 vmmc-supply = <&reg_vcc3v3>; 195 vmmc-supply = <&reg_vcc3v3>;
173 bus-width = <4>; 196 bus-width = <4>;
174 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 197 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
@@ -176,8 +199,6 @@
176}; 199};
177 200
178&mmc1 { 201&mmc1 {
179 pinctrl-names = "default";
180 pinctrl-0 = <&mmc1_pins_a>;
181 vmmc-supply = <&reg_vcc3v3>; 202 vmmc-supply = <&reg_vcc3v3>;
182 mmc-pwrseq = <&wifi_pwrseq>; 203 mmc-pwrseq = <&wifi_pwrseq>;
183 bus-width = <4>; 204 bus-width = <4>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
new file mode 100644
index 000000000000..1238de25a969
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
@@ -0,0 +1,143 @@
1/*
2 * Copyright (C) 2016 ARM Ltd.
3 * Copyright (C) 2018 Hauke Mehrtens <hauke@hauke-m.de>
4 *
5 * SPDX-License-Identifier: (GPL-2.0+ OR X11)
6 */
7
8/dts-v1/;
9#include "sun50i-h5.dtsi"
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/input.h>
13#include <dt-bindings/pinctrl/sun4i-a10.h>
14
15/ {
16 model = "Xunlong Orange Pi Zero Plus";
17 compatible = "xunlong,orangepi-zero-plus", "allwinner,sun50i-h5";
18
19 reg_vcc3v3: vcc3v3 {
20 compatible = "regulator-fixed";
21 regulator-name = "vcc3v3";
22 regulator-min-microvolt = <3300000>;
23 regulator-max-microvolt = <3300000>;
24 };
25
26 aliases {
27 ethernet0 = &emac;
28 ethernet1 = &rtl8189ftv;
29 serial0 = &uart0;
30 };
31
32 chosen {
33 stdout-path = "serial0:115200n8";
34 };
35
36 leds {
37 compatible = "gpio-leds";
38
39 pwr {
40 label = "orangepi:green:pwr";
41 gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
42 default-state = "on";
43 };
44
45 status {
46 label = "orangepi:red:status";
47 gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
48 };
49 };
50
51 reg_gmac_3v3: gmac-3v3 {
52 compatible = "regulator-fixed";
53 regulator-name = "gmac-3v3";
54 regulator-min-microvolt = <3300000>;
55 regulator-max-microvolt = <3300000>;
56 startup-delay-us = <100000>;
57 enable-active-high;
58 gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
59 };
60};
61
62&ehci0 {
63 status = "okay";
64};
65
66&ehci1 {
67 status = "okay";
68};
69
70&emac {
71 pinctrl-names = "default";
72 pinctrl-0 = <&emac_rgmii_pins>;
73 phy-supply = <&reg_gmac_3v3>;
74 phy-handle = <&ext_rgmii_phy>;
75 phy-mode = "rgmii";
76 status = "okay";
77};
78
79&external_mdio {
80 ext_rgmii_phy: ethernet-phy@1 {
81 compatible = "ethernet-phy-ieee802.3-c22";
82 reg = <1>;
83 };
84};
85
86&mmc0 {
87 vmmc-supply = <&reg_vcc3v3>;
88 bus-width = <4>;
89 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
90 status = "okay";
91};
92
93&mmc1 {
94 vmmc-supply = <&reg_vcc3v3>;
95 bus-width = <4>;
96 non-removable;
97 status = "okay";
98
99 /*
100 * Explicitly define the sdio device, so that we can add an ethernet
101 * alias for it (which e.g. makes u-boot set a mac-address).
102 */
103 rtl8189ftv: sdio_wifi@1 {
104 reg = <1>;
105 };
106};
107
108&spi0 {
109 status = "okay";
110
111 flash@0 {
112 #address-cells = <1>;
113 #size-cells = <1>;
114 compatible = "mxicy,mx25l1606e", "winbond,w25q128";
115 reg = <0>;
116 spi-max-frequency = <40000000>;
117 };
118};
119
120&ohci0 {
121 status = "okay";
122};
123
124&ohci1 {
125 status = "okay";
126};
127
128&uart0 {
129 pinctrl-names = "default";
130 pinctrl-0 = <&uart0_pins_a>;
131 status = "okay";
132};
133
134&usb_otg {
135 dr_mode = "peripheral";
136 status = "okay";
137};
138
139&usbphy {
140 /* USB Type-A ports' VBUS is always on */
141 usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
142 status = "okay";
143};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
index af43533c7134..53c8c11620e0 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
@@ -58,6 +58,17 @@
58 stdout-path = "serial0:115200n8"; 58 stdout-path = "serial0:115200n8";
59 }; 59 };
60 60
61 connector {
62 compatible = "hdmi-connector";
63 type = "a";
64
65 port {
66 hdmi_con_in: endpoint {
67 remote-endpoint = <&hdmi_out_con>;
68 };
69 };
70 };
71
61 reg_vcc3v3: vcc3v3 { 72 reg_vcc3v3: vcc3v3 {
62 compatible = "regulator-fixed"; 73 compatible = "regulator-fixed";
63 regulator-name = "vcc3v3"; 74 regulator-name = "vcc3v3";
@@ -73,9 +84,21 @@
73 }; 84 };
74}; 85};
75 86
87&de {
88 status = "okay";
89};
90
91&hdmi {
92 status = "okay";
93};
94
95&hdmi_out {
96 hdmi_out_con: endpoint {
97 remote-endpoint = <&hdmi_con_in>;
98 };
99};
100
76&mmc0 { 101&mmc0 {
77 pinctrl-names = "default";
78 pinctrl-0 = <&mmc0_pins_a>;
79 vmmc-supply = <&reg_vcc3v3>; 102 vmmc-supply = <&reg_vcc3v3>;
80 bus-width = <4>; 103 bus-width = <4>;
81 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 104 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
@@ -83,8 +106,6 @@
83}; 106};
84 107
85&mmc1 { 108&mmc1 {
86 pinctrl-names = "default";
87 pinctrl-0 = <&mmc1_pins_a>;
88 vmmc-supply = <&reg_vcc3v3>; 109 vmmc-supply = <&reg_vcc3v3>;
89 vqmmc-supply = <&reg_vcc3v3>; 110 vqmmc-supply = <&reg_vcc3v3>;
90 mmc-pwrseq = <&wifi_pwrseq>; 111 mmc-pwrseq = <&wifi_pwrseq>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
new file mode 100644
index 000000000000..d36de5eb81f3
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
@@ -0,0 +1,29 @@
1// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2/*
3 * Copyright (c) 2017 Icenowy Zheng <icenowy@aosc.io>
4 */
5
6/dts-v1/;
7
8#include "sun50i-h6.dtsi"
9
10#include <dt-bindings/gpio/gpio.h>
11
12/ {
13 model = "Pine H64";
14 compatible = "pine64,pine-h64", "allwinner,sun50i-h6";
15
16 aliases {
17 serial0 = &uart0;
18 };
19
20 chosen {
21 stdout-path = "serial0:115200n8";
22 };
23};
24
25&uart0 {
26 pinctrl-names = "default";
27 pinctrl-0 = <&uart0_ph_pins>;
28 status = "okay";
29};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
new file mode 100644
index 000000000000..56563150d61a
--- /dev/null
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -0,0 +1,175 @@
1// SPDX-License-Identifier: (GPL-2.0+ or MIT)
2/*
3 * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
4 */
5
6#include <dt-bindings/interrupt-controller/arm-gic.h>
7
8/ {
9 interrupt-parent = <&gic>;
10 #address-cells = <1>;
11 #size-cells = <1>;
12
13 cpus {
14 #address-cells = <1>;
15 #size-cells = <0>;
16
17 cpu0: cpu@0 {
18 compatible = "arm,cortex-a53", "arm,armv8";
19 device_type = "cpu";
20 reg = <0>;
21 enable-method = "psci";
22 };
23
24 cpu1: cpu@1 {
25 compatible = "arm,cortex-a53", "arm,armv8";
26 device_type = "cpu";
27 reg = <1>;
28 enable-method = "psci";
29 };
30
31 cpu2: cpu@2 {
32 compatible = "arm,cortex-a53", "arm,armv8";
33 device_type = "cpu";
34 reg = <2>;
35 enable-method = "psci";
36 };
37
38 cpu3: cpu@3 {
39 compatible = "arm,cortex-a53", "arm,armv8";
40 device_type = "cpu";
41 reg = <3>;
42 enable-method = "psci";
43 };
44 };
45
46 iosc: internal-osc-clk {
47 #clock-cells = <0>;
48 compatible = "fixed-clock";
49 clock-frequency = <16000000>;
50 clock-accuracy = <300000000>;
51 clock-output-names = "iosc";
52 };
53
54 osc24M: osc24M_clk {
55 #clock-cells = <0>;
56 compatible = "fixed-clock";
57 clock-frequency = <24000000>;
58 clock-output-names = "osc24M";
59 };
60
61 osc32k: osc32k_clk {
62 #clock-cells = <0>;
63 compatible = "fixed-clock";
64 clock-frequency = <32768>;
65 clock-output-names = "osc32k";
66 };
67
68 psci {
69 compatible = "arm,psci-0.2";
70 method = "smc";
71 };
72
73 timer {
74 compatible = "arm,armv8-timer";
75 interrupts = <GIC_PPI 13
76 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
77 <GIC_PPI 14
78 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
79 <GIC_PPI 11
80 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
81 <GIC_PPI 10
82 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
83 };
84
85 soc {
86 compatible = "simple-bus";
87 #address-cells = <1>;
88 #size-cells = <1>;
89 ranges;
90
91 ccu: clock@3001000 {
92 compatible = "allwinner,sun50i-h6-ccu";
93 reg = <0x03001000 0x1000>;
94 clocks = <&osc24M>, <&osc32k>, <&iosc>;
95 clock-names = "hosc", "losc", "iosc";
96 #clock-cells = <1>;
97 #reset-cells = <1>;
98 };
99
100 gic: interrupt-controller@3021000 {
101 compatible = "arm,gic-400";
102 reg = <0x03021000 0x1000>,
103 <0x03022000 0x2000>,
104 <0x03024000 0x2000>,
105 <0x03026000 0x2000>;
106 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
107 interrupt-controller;
108 #interrupt-cells = <3>;
109 };
110
111 pio: pinctrl@300b000 {
112 compatible = "allwinner,sun50i-h6-pinctrl";
113 reg = <0x0300b000 0x400>;
114 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
115 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
116 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
117 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
118 clocks = <&ccu 26>, <&osc24M>, <&osc32k>;
119 clock-names = "apb", "hosc", "losc";
120 gpio-controller;
121 #gpio-cells = <3>;
122 interrupt-controller;
123 #interrupt-cells = <3>;
124
125 uart0_ph_pins: uart0-ph {
126 pins = "PH0", "PH1";
127 function = "uart0";
128 };
129 };
130
131 uart0: serial@5000000 {
132 compatible = "snps,dw-apb-uart";
133 reg = <0x05000000 0x400>;
134 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
135 reg-shift = <2>;
136 reg-io-width = <4>;
137 clocks = <&ccu 70>;
138 resets = <&ccu 21>;
139 status = "disabled";
140 };
141
142 uart1: serial@5000400 {
143 compatible = "snps,dw-apb-uart";
144 reg = <0x05000400 0x400>;
145 interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
146 reg-shift = <2>;
147 reg-io-width = <4>;
148 clocks = <&ccu 71>;
149 resets = <&ccu 22>;
150 status = "disabled";
151 };
152
153 uart2: serial@5000800 {
154 compatible = "snps,dw-apb-uart";
155 reg = <0x05000800 0x400>;
156 interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
157 reg-shift = <2>;
158 reg-io-width = <4>;
159 clocks = <&ccu 72>;
160 resets = <&ccu 23>;
161 status = "disabled";
162 };
163
164 uart3: serial@5000c00 {
165 compatible = "snps,dw-apb-uart";
166 reg = <0x05000c00 0x400>;
167 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
168 reg-shift = <2>;
169 reg-io-width = <4>;
170 clocks = <&ccu 73>;
171 resets = <&ccu 24>;
172 status = "disabled";
173 };
174 };
175};
diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
index 51ce5832ee1d..eaf13fe29287 100644
--- a/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10_socdk.dts
@@ -99,4 +99,9 @@
99 99
100&usb0 { 100&usb0 {
101 status = "okay"; 101 status = "okay";
102 disable-over-current;
103};
104
105&watchdog0 {
106 status = "okay";
102}; 107};
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
index 447b98d30921..57eedced5a51 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-axg-s400.dts
@@ -1,7 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 Amlogic, Inc. All rights reserved. 3 * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */ 4 */
6 5
7/dts-v1/; 6/dts-v1/;
@@ -14,6 +13,7 @@
14 13
15 aliases { 14 aliases {
16 serial0 = &uart_AO; 15 serial0 = &uart_AO;
16 serial1 = &uart_A;
17 }; 17 };
18}; 18};
19 19
@@ -24,8 +24,16 @@
24 pinctrl-names = "default"; 24 pinctrl-names = "default";
25}; 25};
26 26
27&uart_A {
28 status = "okay";
29 pinctrl-0 = <&uart_a_pins>;
30 pinctrl-names = "default";
31};
32
27&uart_AO { 33&uart_AO {
28 status = "okay"; 34 status = "okay";
35 pinctrl-0 = <&uart_ao_a_pins>;
36 pinctrl-names = "default";
29}; 37};
30 38
31&ir { 39&ir {
@@ -33,3 +41,9 @@
33 pinctrl-0 = <&remote_input_ao_pins>; 41 pinctrl-0 = <&remote_input_ao_pins>;
34 pinctrl-names = "default"; 42 pinctrl-names = "default";
35}; 43};
44
45&i2c1 {
46 status = "okay";
47 pinctrl-0 = <&i2c1_z_pins>;
48 pinctrl-names = "default";
49};
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index 70c776ef7aa7..b58808eb3cc8 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -1,7 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 Amlogic, Inc. All rights reserved. 3 * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */ 4 */
6 5
7#include <dt-bindings/gpio/gpio.h> 6#include <dt-bindings/gpio/gpio.h>
@@ -163,18 +162,70 @@
163 status = "disabled"; 162 status = "disabled";
164 }; 163 };
165 164
165 i2c0: i2c@1f000 {
166 compatible = "amlogic,meson-axg-i2c";
167 status = "disabled";
168 reg = <0x0 0x1f000 0x0 0x20>;
169 interrupts = <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
170 <GIC_SPI 47 IRQ_TYPE_EDGE_RISING>;
171 #address-cells = <1>;
172 #size-cells = <0>;
173 clocks = <&clkc CLKID_I2C>;
174 clock-names = "clk_i2c";
175 };
176
177 i2c1: i2c@1e000 {
178 compatible = "amlogic,meson-axg-i2c";
179 #address-cells = <1>;
180 #size-cells = <0>;
181 reg = <0x0 0x1e000 0x0 0x20>;
182 status = "disabled";
183 interrupts = <GIC_SPI 214 IRQ_TYPE_EDGE_RISING>,
184 <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>;
185 clocks = <&clkc CLKID_I2C>;
186 clock-names = "clk_i2c";
187 };
188
189 i2c2: i2c@1d000 {
190 compatible = "amlogic,meson-axg-i2c";
191 status = "disabled";
192 reg = <0x0 0x1d000 0x0 0x20>;
193 interrupts = <GIC_SPI 215 IRQ_TYPE_EDGE_RISING>,
194 <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>;
195 #address-cells = <1>;
196 #size-cells = <0>;
197 clocks = <&clkc CLKID_I2C>;
198 clock-names = "clk_i2c";
199 };
200
201 i2c3: i2c@1c000 {
202 compatible = "amlogic,meson-axg-i2c";
203 status = "disabled";
204 reg = <0x0 0x1c000 0x0 0x20>;
205 interrupts = <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>,
206 <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
207 #address-cells = <1>;
208 #size-cells = <0>;
209 clocks = <&clkc CLKID_I2C>;
210 clock-names = "clk_i2c";
211 };
212
166 uart_A: serial@24000 { 213 uart_A: serial@24000 {
167 compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; 214 compatible = "amlogic,meson-gx-uart";
168 reg = <0x0 0x24000 0x0 0x18>; 215 reg = <0x0 0x24000 0x0 0x18>;
169 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 216 interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
170 status = "disabled"; 217 status = "disabled";
218 clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
219 clock-names = "xtal", "pclk", "baud";
171 }; 220 };
172 221
173 uart_B: serial@23000 { 222 uart_B: serial@23000 {
174 compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart"; 223 compatible = "amlogic,meson-gx-uart";
175 reg = <0x0 0x23000 0x0 0x18>; 224 reg = <0x0 0x23000 0x0 0x18>;
176 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>; 225 interrupts = <GIC_SPI 75 IRQ_TYPE_EDGE_RISING>;
177 status = "disabled"; 226 status = "disabled";
227 clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>;
228 clock-names = "xtal", "pclk", "baud";
178 }; 229 };
179 }; 230 };
180 231
@@ -234,6 +285,13 @@
234 #size-cells = <2>; 285 #size-cells = <2>;
235 ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>; 286 ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
236 287
288 hwrng: rng {
289 compatible = "amlogic,meson-rng";
290 reg = <0x0 0x18 0x0 0x4>;
291 clocks = <&clkc CLKID_RNG0>;
292 clock-names = "core";
293 };
294
237 pinctrl_periphs: pinctrl@480 { 295 pinctrl_periphs: pinctrl@480 {
238 compatible = "amlogic,meson-axg-periphs-pinctrl"; 296 compatible = "amlogic,meson-axg-periphs-pinctrl";
239 #address-cells = <2>; 297 #address-cells = <2>;
@@ -251,6 +309,36 @@
251 gpio-ranges = <&pinctrl_periphs 0 0 86>; 309 gpio-ranges = <&pinctrl_periphs 0 0 86>;
252 }; 310 };
253 311
312 eth_rmii_x_pins: eth-x-rmii {
313 mux {
314 groups = "eth_mdio_x",
315 "eth_mdc_x",
316 "eth_rgmii_rx_clk_x",
317 "eth_rx_dv_x",
318 "eth_rxd0_x",
319 "eth_rxd1_x",
320 "eth_txen_x",
321 "eth_txd0_x",
322 "eth_txd1_x";
323 function = "eth";
324 };
325 };
326
327 eth_rmii_y_pins: eth-y-rmii {
328 mux {
329 groups = "eth_mdio_y",
330 "eth_mdc_y",
331 "eth_rgmii_rx_clk_y",
332 "eth_rx_dv_y",
333 "eth_rxd0_y",
334 "eth_rxd1_y",
335 "eth_txen_y",
336 "eth_txd0_y",
337 "eth_txd1_y";
338 function = "eth";
339 };
340 };
341
254 eth_rgmii_x_pins: eth-x-rgmii { 342 eth_rgmii_x_pins: eth-x-rgmii {
255 mux { 343 mux {
256 groups = "eth_mdio_x", 344 groups = "eth_mdio_x",
@@ -444,6 +532,134 @@
444 function = "spi1"; 532 function = "spi1";
445 }; 533 };
446 }; 534 };
535
536 i2c0_pins: i2c0 {
537 mux {
538 groups = "i2c0_sck",
539 "i2c0_sda";
540 function = "i2c0";
541 };
542 };
543
544 i2c1_z_pins: i2c1_z {
545 mux {
546 groups = "i2c1_sck_z",
547 "i2c1_sda_z";
548 function = "i2c1";
549 };
550 };
551
552 i2c1_x_pins: i2c1_x {
553 mux {
554 groups = "i2c1_sck_x",
555 "i2c1_sda_x";
556 function = "i2c1";
557 };
558 };
559
560 i2c2_x_pins: i2c2_x {
561 mux {
562 groups = "i2c2_sck_x",
563 "i2c2_sda_x";
564 function = "i2c2";
565 };
566 };
567
568 i2c2_a_pins: i2c2_a {
569 mux {
570 groups = "i2c2_sck_a",
571 "i2c2_sda_a";
572 function = "i2c2";
573 };
574 };
575
576 i2c3_a6_pins: i2c3_a6 {
577 mux {
578 groups = "i2c3_sda_a6",
579 "i2c3_sck_a7";
580 function = "i2c3";
581 };
582 };
583
584 i2c3_a12_pins: i2c3_a12 {
585 mux {
586 groups = "i2c3_sda_a12",
587 "i2c3_sck_a13";
588 function = "i2c3";
589 };
590 };
591
592 i2c3_a19_pins: i2c3_a19 {
593 mux {
594 groups = "i2c3_sda_a19",
595 "i2c3_sck_a20";
596 function = "i2c3";
597 };
598 };
599
600 uart_a_pins: uart_a {
601 mux {
602 groups = "uart_tx_a",
603 "uart_rx_a";
604 function = "uart_a";
605 };
606 };
607
608 uart_a_cts_rts_pins: uart_a_cts_rts {
609 mux {
610 groups = "uart_cts_a",
611 "uart_rts_a";
612 function = "uart_a";
613 };
614 };
615
616 uart_b_x_pins: uart_b_x {
617 mux {
618 groups = "uart_tx_b_x",
619 "uart_rx_b_x";
620 function = "uart_b";
621 };
622 };
623
624 uart_b_x_cts_rts_pins: uart_b_x_cts_rts {
625 mux {
626 groups = "uart_cts_b_x",
627 "uart_rts_b_x";
628 function = "uart_b";
629 };
630 };
631
632 uart_b_z_pins: uart_b_z {
633 mux {
634 groups = "uart_tx_b_z",
635 "uart_rx_b_z";
636 function = "uart_b";
637 };
638 };
639
640 uart_b_z_cts_rts_pins: uart_b_z_cts_rts {
641 mux {
642 groups = "uart_cts_b_z",
643 "uart_rts_b_z";
644 function = "uart_b";
645 };
646 };
647
648 uart_ao_b_z_pins: uart_ao_b_z {
649 mux {
650 groups = "uart_ao_tx_b_z",
651 "uart_ao_rx_b_z";
652 function = "uart_ao_b_z";
653 };
654 };
655
656 uart_ao_b_z_cts_rts_pins: uart_ao_b_z_cts_rts {
657 mux {
658 groups = "uart_ao_cts_b_z",
659 "uart_ao_rts_b_z";
660 function = "uart_ao_b_z";
661 };
662 };
447 }; 663 };
448 }; 664 };
449 665
@@ -494,6 +710,44 @@
494 function = "remote_input_ao"; 710 function = "remote_input_ao";
495 }; 711 };
496 }; 712 };
713
714 uart_ao_a_pins: uart_ao_a {
715 mux {
716 groups = "uart_ao_tx_a",
717 "uart_ao_rx_a";
718 function = "uart_ao_a";
719 };
720 };
721
722 uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts {
723 mux {
724 groups = "uart_ao_cts_a",
725 "uart_ao_rts_a";
726 function = "uart_ao_a";
727 };
728 };
729
730 uart_ao_b_pins: uart_ao_b {
731 mux {
732 groups = "uart_ao_tx_b",
733 "uart_ao_rx_b";
734 function = "uart_ao_b";
735 };
736 };
737
738 uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts {
739 mux {
740 groups = "uart_ao_cts_b",
741 "uart_ao_rts_b";
742 function = "uart_ao_b";
743 };
744 };
745 };
746
747 sec_AO: ao-secure@140 {
748 compatible = "amlogic,meson-gx-ao-secure", "syscon";
749 reg = <0x0 0x140 0x0 0x140>;
750 amlogic,has-chip-id;
497 }; 751 };
498 752
499 pwm_AO_ab: pwm@7000 { 753 pwm_AO_ab: pwm@7000 {
@@ -504,12 +758,23 @@
504 }; 758 };
505 759
506 pwm_AO_cd: pwm@2000 { 760 pwm_AO_cd: pwm@2000 {
507 compatible = "amlogic,axg-ao-pwm"; 761 compatible = "amlogic,meson-axg-ao-pwm";
508 reg = <0x0 0x02000 0x0 0x20>; 762 reg = <0x0 0x02000 0x0 0x20>;
509 #pwm-cells = <3>; 763 #pwm-cells = <3>;
510 status = "disabled"; 764 status = "disabled";
511 }; 765 };
512 766
767 i2c_AO: i2c@5000 {
768 compatible = "amlogic,meson-axg-i2c";
769 status = "disabled";
770 reg = <0x0 0x05000 0x0 0x20>;
771 interrupts = <GIC_SPI 195 IRQ_TYPE_EDGE_RISING>;
772 #address-cells = <1>;
773 #size-cells = <0>;
774 clocks = <&clkc CLKID_I2C>;
775 clock-names = "clk_i2c";
776 };
777
513 uart_AO: serial@3000 { 778 uart_AO: serial@3000 {
514 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart"; 779 compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
515 reg = <0x0 0x3000 0x0 0x18>; 780 reg = <0x0 0x3000 0x0 0x18>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
index aeb6d21a3bec..4eef36b22538 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/* Common DTSI for same Amlogic Q200/Q201 and P230/P231 boards using either 7/* Common DTSI for same Amlogic Q200/Q201 and P230/P231 boards using either
@@ -48,6 +11,7 @@
48/ { 11/ {
49 aliases { 12 aliases {
50 serial0 = &uart_AO; 13 serial0 = &uart_AO;
14 ethernet0 = &ethmac;
51 }; 15 };
52 16
53 chosen { 17 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 4ee2e7951482..3c31e21cbed7 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * 4 *
@@ -6,44 +7,6 @@
6 * 7 *
7 * Copyright (c) 2016 Endless Computers, Inc. 8 * Copyright (c) 2016 Endless Computers, Inc.
8 * Author: Carlo Caione <carlo@endlessm.com> 9 * Author: Carlo Caione <carlo@endlessm.com>
9 *
10 * This file is dual-licensed: you can use it either under the terms
11 * of the GPL or the X11 license, at your option. Note that this dual
12 * licensing only applies to this file, and not this project as a
13 * whole.
14 *
15 * a) This library is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License as
17 * published by the Free Software Foundation; either version 2 of the
18 * License, or (at your option) any later version.
19 *
20 * This library is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * Or, alternatively,
26 *
27 * b) Permission is hereby granted, free of charge, to any person
28 * obtaining a copy of this software and associated documentation
29 * files (the "Software"), to deal in the Software without
30 * restriction, including without limitation the rights to use,
31 * copy, modify, merge, publish, distribute, sublicense, and/or
32 * sell copies of the Software, and to permit persons to whom the
33 * Software is furnished to do so, subject to the following
34 * conditions:
35 *
36 * The above copyright notice and this permission notice shall be
37 * included in all copies or substantial portions of the Software.
38 *
39 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
44 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46 * OTHER DEALINGS IN THE SOFTWARE.
47 */ 10 */
48 11
49#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/gpio/gpio.h>
@@ -169,6 +132,7 @@
169 compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse"; 132 compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse";
170 #address-cells = <1>; 133 #address-cells = <1>;
171 #size-cells = <1>; 134 #size-cells = <1>;
135 read-only;
172 136
173 sn: sn@14 { 137 sn: sn@14 {
174 reg = <0x14 0x10>; 138 reg = <0x14 0x10>;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
index 011e8e08e429..7d5709c37e95 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
@@ -1,45 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 Andreas Färber 3 * Copyright (c) 2017 Andreas Färber
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 *
42 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
43 */ 4 */
44 5
45/dts-v1/; 6/dts-v1/;
@@ -52,6 +13,7 @@
52 13
53 aliases { 14 aliases {
54 serial0 = &uart_AO; 15 serial0 = &uart_AO;
16 ethernet0 = &ethmac;
55 }; 17 };
56 18
57 chosen { 19 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
index 818954b1d57f..4cf7f6e80c6a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Neil Armstrong <narmstrong@kernel.org> 5 * Author: Neil Armstrong <narmstrong@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
@@ -54,6 +17,7 @@
54 17
55 aliases { 18 aliases {
56 serial0 = &uart_AO; 19 serial0 = &uart_AO;
20 ethernet0 = &ethmac;
57 }; 21 };
58 22
59 chosen { 23 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
index ee4ada61c59c..54954b314a45 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Kevin Hilman <khilman@kernel.org> 5 * Author: Kevin Hilman <khilman@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
@@ -53,6 +16,7 @@
53 16
54 aliases { 17 aliases {
55 serial0 = &uart_AO; 18 serial0 = &uart_AO;
19 ethernet0 = &ethmac;
56 }; 20 };
57 21
58 chosen { 22 chosen {
@@ -310,7 +274,7 @@
310 pinctrl-names = "default", "clk-gate"; 274 pinctrl-names = "default", "clk-gate";
311 275
312 bus-width = <8>; 276 bus-width = <8>;
313 max-frequency = <200000000>; 277 max-frequency = <100000000>;
314 non-removable; 278 non-removable;
315 disable-wp; 279 disable-wp;
316 cap-mmc-highspeed; 280 cap-mmc-highspeed;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
index 09f34f7ef084..9d2406a7c4fa 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p200.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Kevin Hilman <khilman@kernel.org> 5 * Author: Kevin Hilman <khilman@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts
index ae3194663d64..56e0dd1ff55c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p201.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Kevin Hilman <khilman@kernel.org> 5 * Author: Kevin Hilman <khilman@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
index 932158a778ef..ce862266b9aa 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Kevin Hilman <khilman@kernel.org> 5 * Author: Kevin Hilman <khilman@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45#include "meson-gxbb.dtsi" 8#include "meson-gxbb.dtsi"
@@ -47,6 +10,7 @@
47/ { 10/ {
48 aliases { 11 aliases {
49 serial0 = &uart_AO; 12 serial0 = &uart_AO;
13 ethernet0 = &ethmac;
50 }; 14 };
51 15
52 chosen { 16 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
index 62fb4968d680..c928adf85388 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-meta.dts
@@ -1,43 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */ 4 */
42 5
43/dts-v1/; 6/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
index 9a9663abdf5c..e81e1d68b5fa 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-pro.dts
@@ -1,43 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */ 4 */
42 5
43/dts-v1/; 6/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
index 2fe167b2609d..a8fca0c6903f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95-telos.dts
@@ -1,43 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */ 4 */
42 5
43/dts-v1/; 6/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
index 1fe8e24cf675..93a4acf2c46c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
@@ -1,43 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */ 4 */
42 5
43#include "meson-gxbb.dtsi" 6#include "meson-gxbb.dtsi"
@@ -47,6 +10,7 @@
47 10
48 aliases { 11 aliases {
49 serial0 = &uart_AO; 12 serial0 = &uart_AO;
13 ethernet0 = &ethmac;
50 }; 14 };
51 15
52 chosen { 16 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts
index 1878ac2b2b83..2bfe69902552 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-hub.dts
@@ -1,92 +1,14 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 BayLibre, Inc. 3 * Copyright (c) 2016 BayLibre, Inc.
3 * Author: Neil Armstrong <narmstrong@baylibre.com> 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
45 8
46#include "meson-gxbb-p20x.dtsi" 9#include "meson-gxbb-wetek.dtsi"
47 10
48/ { 11/ {
49 compatible = "wetek,hub", "amlogic,meson-gxbb"; 12 compatible = "wetek,hub", "amlogic,meson-gxbb";
50 model = "WeTek Hub"; 13 model = "WeTek Hub";
51
52 leds {
53 compatible = "gpio-leds";
54
55 system {
56 label = "wetek-play:system-status";
57 gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
58 default-state = "on";
59 panic-indicator;
60 };
61 };
62};
63
64&cvbs_connector {
65 status = "disabled";
66};
67
68&ethmac {
69 status = "okay";
70 pinctrl-0 = <&eth_rgmii_pins>;
71 pinctrl-names = "default";
72
73 phy-handle = <&eth_phy0>;
74 phy-mode = "rgmii";
75
76 amlogic,tx-delay-ns = <2>;
77
78 snps,reset-gpio = <&gpio GPIOZ_14 0>;
79 snps,reset-delays-us = <0 10000 1000000>;
80 snps,reset-active-low;
81
82 mdio {
83 compatible = "snps,dwmac-mdio";
84 #address-cells = <1>;
85 #size-cells = <0>;
86
87 eth_phy0: ethernet-phy@0 {
88 /* Realtek RTL8211F (0x001cc916) */
89 reg = <0>;
90 };
91 };
92}; 14};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts
index f7144fd5e03f..0038522315de 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek-play2.dts
@@ -1,49 +1,12 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 BayLibre, Inc. 3 * Copyright (c) 2016 BayLibre, Inc.
3 * Author: Neil Armstrong <narmstrong@baylibre.com> 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
45 8
46#include "meson-gxbb-p20x.dtsi" 9#include "meson-gxbb-wetek.dtsi"
47#include <dt-bindings/input/input.h> 10#include <dt-bindings/input/input.h>
48 11
49/ { 12/ {
@@ -51,15 +14,6 @@
51 model = "WeTek Play 2"; 14 model = "WeTek Play 2";
52 15
53 leds { 16 leds {
54 compatible = "gpio-leds";
55
56 system {
57 label = "wetek-play:system-status";
58 gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
59 default-state = "on";
60 panic-indicator;
61 };
62
63 wifi { 17 wifi {
64 label = "wetek-play:wifi-status"; 18 label = "wetek-play:wifi-status";
65 gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>; 19 gpios = <&gpio GPIODV_26 GPIO_ACTIVE_HIGH>;
@@ -85,82 +39,18 @@
85 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>; 39 gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
86 }; 40 };
87 }; 41 };
88
89 cvbs-connector {
90 compatible = "composite-video-connector";
91
92 port {
93 cvbs_connector_in: endpoint {
94 remote-endpoint = <&cvbs_vdac_out>;
95 };
96 };
97 };
98
99 hdmi-connector {
100 compatible = "hdmi-connector";
101 type = "a";
102
103 port {
104 hdmi_connector_in: endpoint {
105 remote-endpoint = <&hdmi_tx_tmds_out>;
106 };
107 };
108 };
109};
110
111&cec_AO {
112 status = "okay";
113 pinctrl-0 = <&ao_cec_pins>;
114 pinctrl-names = "default";
115 hdmi-phandle = <&hdmi_tx>;
116};
117
118&cvbs_vdac_port {
119 cvbs_vdac_out: endpoint {
120 remote-endpoint = <&cvbs_connector_in>;
121 };
122}; 42};
123 43
124&ethmac { 44&i2c_A {
125 status = "okay"; 45 status = "okay";
126 pinctrl-0 = <&eth_rgmii_pins>; 46 pinctrl-0 = <&i2c_a_pins>;
127 pinctrl-names = "default"; 47 pinctrl-names = "default";
128
129 phy-handle = <&eth_phy0>;
130 phy-mode = "rgmii";
131
132 amlogic,tx-delay-ns = <2>;
133
134 snps,reset-gpio = <&gpio GPIOZ_14 0>;
135 snps,reset-delays-us = <0 10000 1000000>;
136 snps,reset-active-low;
137
138 mdio {
139 compatible = "snps,dwmac-mdio";
140 #address-cells = <1>;
141 #size-cells = <0>;
142
143 eth_phy0: ethernet-phy@0 {
144 /* Realtek RTL8211F (0x001cc916) */
145 reg = <0>;
146 };
147 };
148}; 48};
149 49
150&hdmi_tx { 50&usb1_phy {
151 status = "okay"; 51 status = "okay";
152 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
153 pinctrl-names = "default";
154}; 52};
155 53
156&hdmi_tx_tmds_port { 54&usb1 {
157 hdmi_tx_tmds_out: endpoint {
158 remote-endpoint = <&hdmi_connector_in>;
159 };
160};
161
162&i2c_A {
163 status = "okay"; 55 status = "okay";
164 pinctrl-0 = <&i2c_a_pins>;
165 pinctrl-names = "default";
166}; 56};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
new file mode 100644
index 000000000000..70325b273bd2
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
@@ -0,0 +1,256 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2016 Andreas Färber
4 * Copyright (c) 2016 BayLibre, Inc.
5 * Author: Kevin Hilman <khilman@kernel.org>
6 */
7
8#include "meson-gxbb.dtsi"
9
10/ {
11 aliases {
12 serial0 = &uart_AO;
13 ethernet0 = &ethmac;
14 };
15
16 chosen {
17 stdout-path = "serial0:115200n8";
18 };
19
20 memory@0 {
21 device_type = "memory";
22 reg = <0x0 0x0 0x0 0x40000000>;
23 };
24
25 leds {
26 compatible = "gpio-leds";
27
28 system {
29 label = "wetek-play:system-status";
30 gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
31 default-state = "on";
32 panic-indicator;
33 };
34 };
35
36 usb_pwr: regulator-usb-pwrs {
37 compatible = "regulator-fixed";
38
39 regulator-name = "USB_PWR";
40
41 regulator-min-microvolt = <5000000>;
42 regulator-max-microvolt = <5000000>;
43
44 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
45 enable-active-high;
46 };
47
48 vddio_boot: regulator-vddio_boot {
49 compatible = "regulator-fixed";
50 regulator-name = "VDDIO_BOOT";
51 regulator-min-microvolt = <1800000>;
52 regulator-max-microvolt = <1800000>;
53 };
54
55 vddao_3v3: regulator-vddao_3v3 {
56 compatible = "regulator-fixed";
57 regulator-name = "VDDAO_3V3";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
60 };
61
62 vcc_3v3: regulator-vcc_3v3 {
63 compatible = "regulator-fixed";
64 regulator-name = "VCC_3V3";
65 regulator-min-microvolt = <3300000>;
66 regulator-max-microvolt = <3300000>;
67 };
68
69 emmc_pwrseq: emmc-pwrseq {
70 compatible = "mmc-pwrseq-emmc";
71 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
72 };
73
74 wifi32k: wifi32k {
75 compatible = "pwm-clock";
76 #clock-cells = <0>;
77 clock-frequency = <32768>;
78 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
79 };
80
81 sdio_pwrseq: sdio-pwrseq {
82 compatible = "mmc-pwrseq-simple";
83 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
84 clocks = <&wifi32k>;
85 clock-names = "ext_clock";
86 };
87
88 cvbs-connector {
89 compatible = "composite-video-connector";
90
91 port {
92 cvbs_connector_in: endpoint {
93 remote-endpoint = <&cvbs_vdac_out>;
94 };
95 };
96 };
97
98 hdmi-connector {
99 compatible = "hdmi-connector";
100 type = "a";
101
102 port {
103 hdmi_connector_in: endpoint {
104 remote-endpoint = <&hdmi_tx_tmds_out>;
105 };
106 };
107 };
108};
109
110&cec_AO {
111 status = "okay";
112 pinctrl-0 = <&ao_cec_pins>;
113 pinctrl-names = "default";
114 hdmi-phandle = <&hdmi_tx>;
115};
116
117&cvbs_vdac_port {
118 cvbs_vdac_out: endpoint {
119 remote-endpoint = <&cvbs_connector_in>;
120 };
121};
122
123&ethmac {
124 status = "okay";
125 pinctrl-0 = <&eth_rgmii_pins>;
126 pinctrl-names = "default";
127
128 phy-handle = <&eth_phy0>;
129 phy-mode = "rgmii";
130
131 amlogic,tx-delay-ns = <2>;
132
133 snps,reset-gpio = <&gpio GPIOZ_14 0>;
134 snps,reset-delays-us = <0 10000 1000000>;
135 snps,reset-active-low;
136
137 mdio {
138 compatible = "snps,dwmac-mdio";
139 #address-cells = <1>;
140 #size-cells = <0>;
141
142 eth_phy0: ethernet-phy@0 {
143 /* Realtek RTL8211F (0x001cc916) */
144 reg = <0>;
145 eee-broken-1000t;
146 };
147 };
148};
149
150&hdmi_tx {
151 status = "okay";
152 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
153 pinctrl-names = "default";
154};
155
156&hdmi_tx_tmds_port {
157 hdmi_tx_tmds_out: endpoint {
158 remote-endpoint = <&hdmi_connector_in>;
159 };
160};
161
162&ir {
163 status = "okay";
164 pinctrl-0 = <&remote_input_ao_pins>;
165 pinctrl-names = "default";
166};
167
168&pwm_ef {
169 status = "okay";
170 pinctrl-0 = <&pwm_e_pins>;
171 pinctrl-names = "default";
172 clocks = <&clkc CLKID_FCLK_DIV4>;
173 clock-names = "clkin0";
174};
175
176/* Wireless SDIO Module */
177&sd_emmc_a {
178 status = "okay";
179 pinctrl-0 = <&sdio_pins>;
180 pinctrl-1 = <&sdio_clk_gate_pins>;
181 pinctrl-names = "default", "clk-gate";
182 #address-cells = <1>;
183 #size-cells = <0>;
184
185 bus-width = <4>;
186 cap-sd-highspeed;
187 max-frequency = <100000000>;
188
189 non-removable;
190 disable-wp;
191
192 mmc-pwrseq = <&sdio_pwrseq>;
193
194 vmmc-supply = <&vddao_3v3>;
195 vqmmc-supply = <&vddio_boot>;
196
197 brcmf: wifi@1 {
198 reg = <1>;
199 compatible = "brcm,bcm4329-fmac";
200 };
201};
202
203/* SD card */
204&sd_emmc_b {
205 status = "okay";
206 pinctrl-0 = <&sdcard_pins>;
207 pinctrl-1 = <&sdcard_clk_gate_pins>;
208 pinctrl-names = "default", "clk-gate";
209
210 bus-width = <4>;
211 cap-sd-highspeed;
212 max-frequency = <100000000>;
213 disable-wp;
214
215 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
216 cd-inverted;
217
218 vmmc-supply = <&vddao_3v3>;
219 vqmmc-supply = <&vcc_3v3>;
220};
221
222/* eMMC */
223&sd_emmc_c {
224 status = "okay";
225 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
226 pinctrl-1 = <&emmc_clk_gate_pins>;
227 pinctrl-names = "default", "clk-gate";
228
229 bus-width = <8>;
230 cap-mmc-highspeed;
231 max-frequency = <200000000>;
232 non-removable;
233 disable-wp;
234 mmc-ddr-1_8v;
235 mmc-hs200-1_8v;
236
237 mmc-pwrseq = <&emmc_pwrseq>;
238 vmmc-supply = <&vcc_3v3>;
239 vqmmc-supply = <&vddio_boot>;
240};
241
242/* This UART is brought out to the DB9 connector */
243&uart_AO {
244 status = "okay";
245 pinctrl-0 = <&uart_ao_a_pins>;
246 pinctrl-names = "default";
247};
248
249&usb0_phy {
250 status = "okay";
251 phy-supply = <&usb_pwr>;
252};
253
254&usb0 {
255 status = "okay";
256};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index 3290a4dc3522..562c26a0ba33 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -1,43 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPL or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */ 4 */
42 5
43#include "meson-gx.dtsi" 6#include "meson-gx.dtsi"
@@ -284,14 +247,17 @@
284 * MALI_0 and MALI_1 muxed to a single clock by a glitch 247 * MALI_0 and MALI_1 muxed to a single clock by a glitch
285 * free mux to safely change frequency while running. 248 * free mux to safely change frequency while running.
286 */ 249 */
287 assigned-clocks = <&clkc CLKID_MALI_0_SEL>, 250 assigned-clocks = <&clkc CLKID_GP0_PLL>,
251 <&clkc CLKID_MALI_0_SEL>,
288 <&clkc CLKID_MALI_0>, 252 <&clkc CLKID_MALI_0>,
289 <&clkc CLKID_MALI>; /* Glitch free mux */ 253 <&clkc CLKID_MALI>; /* Glitch free mux */
290 assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, 254 assigned-clock-parents = <0>, /* Do Nothing */
255 <&clkc CLKID_GP0_PLL>,
291 <0>, /* Do Nothing */ 256 <0>, /* Do Nothing */
292 <&clkc CLKID_MALI_0>; 257 <&clkc CLKID_MALI_0>;
293 assigned-clock-rates = <0>, /* Do Nothing */ 258 assigned-clock-rates = <744000000>,
294 <666666666>, 259 <0>, /* Do Nothing */
260 <744000000>,
295 <0>; /* Do Nothing */ 261 <0>; /* Do Nothing */
296 }; 262 };
297}; 263};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi
index f06cc234693b..eb327664a4d8 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-mali.dtsi
@@ -1,8 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 BayLibre SAS 3 * Copyright (c) 2017 BayLibre SAS
3 * Author: Neil Armstrong <narmstrong@baylibre.com> 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 *
5 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
6 */ 5 */
7 6
8&apb { 7&apb {
@@ -30,14 +29,17 @@
30 * MALI_0 and MALI_1 muxed to a single clock by a glitch 29 * MALI_0 and MALI_1 muxed to a single clock by a glitch
31 * free mux to safely change frequency while running. 30 * free mux to safely change frequency while running.
32 */ 31 */
33 assigned-clocks = <&clkc CLKID_MALI_0_SEL>, 32 assigned-clocks = <&clkc CLKID_GP0_PLL>,
33 <&clkc CLKID_MALI_0_SEL>,
34 <&clkc CLKID_MALI_0>, 34 <&clkc CLKID_MALI_0>,
35 <&clkc CLKID_MALI>; /* Glitch free mux */ 35 <&clkc CLKID_MALI>; /* Glitch free mux */
36 assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, 36 assigned-clock-parents = <0>, /* Do Nothing */
37 <&clkc CLKID_GP0_PLL>,
37 <0>, /* Do Nothing */ 38 <0>, /* Do Nothing */
38 <&clkc CLKID_MALI_0>; 39 <&clkc CLKID_MALI_0>;
39 assigned-clock-rates = <0>, /* Do Nothing */ 40 assigned-clock-rates = <744000000>,
40 <666666666>, 41 <0>, /* Do Nothing */
42 <744000000>,
41 <0>; /* Do Nothing */ 43 <0>; /* Do Nothing */
42 }; 44 };
43}; 45};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
index 4f3f03fc31b0..a9f9bb90a877 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
index 95992cf1fe61..80a231476b80 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p231.dts
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d.dtsi
index 5a90e30c1006..43321919547a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d.dtsi
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44#include "meson-gxl.dtsi" 7#include "meson-gxl.dtsi"
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
index e82582574160..f1c410e2da2b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 Carlo Caione 3 * Copyright (c) 2017 Carlo Caione
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Neil Armstrong <narmstrong@kernel.org> 5 * Author: Neil Armstrong <narmstrong@kernel.org>
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
@@ -16,6 +15,7 @@
16 15
17 aliases { 16 aliases {
18 serial0 = &uart_AO; 17 serial0 = &uart_AO;
18 ethernet0 = &ethmac;
19 }; 19 };
20 20
21 chosen { 21 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index 71a6e1ce7ad5..d32cf3846370 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -1,7 +1,6 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 3 * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
3 *
4 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
5 */ 4 */
6 5
7/dts-v1/; 6/dts-v1/;
@@ -29,6 +28,7 @@
29 28
30 aliases { 29 aliases {
31 serial2 = &uart_AO_B; 30 serial2 = &uart_AO_B;
31 ethernet0 = &ethmac;
32 }; 32 };
33 33
34 gpio-keys-polled { 34 gpio-keys-polled {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
index 9671f1e3c74a..22bf37404ff1 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 BayLibre, SAS. 3 * Copyright (c) 2017 BayLibre, SAS.
3 * Author: Neil Armstrong <narmstrong@baylibre.com> 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 * Author: Jerome Brunet <jbrunet@baylibre.com> 5 * Author: Jerome Brunet <jbrunet@baylibre.com>
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
@@ -18,6 +17,7 @@
18 17
19 aliases { 18 aliases {
20 serial0 = &uart_AO; 19 serial0 = &uart_AO;
20 ethernet0 = &ethmac;
21 }; 21 };
22 22
23 chosen { 23 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
index 271f14279180..69c721a70e44 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
@@ -1,45 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Andreas Färber 3 * Copyright (c) 2016 Andreas Färber
3 * Copyright (c) 2016 BayLibre, Inc. 4 * Copyright (c) 2016 BayLibre, Inc.
4 * Author: Neil Armstrong <narmstrong@kernel.org> 5 * Author: Neil Armstrong <narmstrong@kernel.org>
5 *
6 * This file is dual-licensed: you can use it either under the terms
7 * of the GPL or the X11 license, at your option. Note that this dual
8 * licensing only applies to this file, and not this project as a
9 * whole.
10 *
11 * a) This library is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License as
13 * published by the Free Software Foundation; either version 2 of the
14 * License, or (at your option) any later version.
15 *
16 * This library is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * Or, alternatively,
22 *
23 * b) Permission is hereby granted, free of charge, to any person
24 * obtaining a copy of this software and associated documentation
25 * files (the "Software"), to deal in the Software without
26 * restriction, including without limitation the rights to use,
27 * copy, modify, merge, publish, distribute, sublicense, and/or
28 * sell copies of the Software, and to permit persons to whom the
29 * Software is furnished to do so, subject to the following
30 * conditions:
31 *
32 * The above copyright notice and this permission notice shall be
33 * included in all copies or substantial portions of the Software.
34 *
35 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
36 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
40 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42 * OTHER DEALINGS IN THE SOFTWARE.
43 */ 6 */
44 7
45/dts-v1/; 8/dts-v1/;
@@ -52,6 +15,7 @@
52 15
53 aliases { 16 aliases {
54 serial0 = &uart_AO; 17 serial0 = &uart_AO;
18 ethernet0 = &ethmac;
55 }; 19 };
56 20
57 chosen { 21 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
index 6e2bf858291c..5896e8a5d86b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
index 7005068346a0..0a0953fbc7d4 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 3 * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
3 * Based on meson-gx-p23x-q20x.dtsi: 4 * Based on meson-gx-p23x-q20x.dtsi:
@@ -5,8 +6,6 @@
5 * Author: Carlo Caione <carlo@endlessm.com> 6 * Author: Carlo Caione <carlo@endlessm.com>
6 * - Copyright (c) 2016 BayLibre, SAS. 7 * - Copyright (c) 2016 BayLibre, SAS.
7 * Author: Neil Armstrong <narmstrong@baylibre.com> 8 * Author: Neil Armstrong <narmstrong@baylibre.com>
8 *
9 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
10 */ 9 */
11 10
12/* Common DTSI for devices which are based on the P212 reference board. */ 11/* Common DTSI for devices which are based on the P212 reference board. */
@@ -17,6 +16,7 @@
17 aliases { 16 aliases {
18 serial0 = &uart_AO; 17 serial0 = &uart_AO;
19 serial1 = &uart_A; 18 serial1 = &uart_A;
19 ethernet0 = &ethmac;
20 }; 20 };
21 21
22 chosen { 22 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x.dtsi
index 3314a0b3dad9..40c19f69e9dc 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x.dtsi
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44#include "meson-gxl.dtsi" 7#include "meson-gxl.dtsi"
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index c8514110b9da..e1a39cbed8c9 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44#include "meson-gx.dtsi" 7#include "meson-gx.dtsi"
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
index 1448c3dba08e..4fd46c1546a7 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 3 * Copyright (c) 2017 Martin Blumenstingl <martin.blumenstingl@googlemail.com>.
3 * Copyright (c) 2017 BayLibre, SAS 4 * Copyright (c) 2017 BayLibre, SAS
4 * Author: Neil Armstrong <narmstrong@baylibre.com> 5 * Author: Neil Armstrong <narmstrong@baylibre.com>
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
@@ -59,8 +58,6 @@
59 1 1 58 1 1
60 2 2 59 2 2
61 3 3>; 60 3 3>;
62 cooling-min-level = <0>;
63 cooling-max-level = <3>;
64 #cooling-cells = <2>; 61 #cooling-cells = <2>;
65 }; 62 };
66 63
@@ -209,14 +206,10 @@
209}; 206};
210 207
211&cpu0 { 208&cpu0 {
212 cooling-min-level = <0>;
213 cooling-max-level = <6>;
214 #cooling-cells = <2>; 209 #cooling-cells = <2>;
215}; 210};
216 211
217&cpu4 { 212&cpu4 {
218 cooling-min-level = <0>;
219 cooling-max-level = <4>;
220 #cooling-cells = <2>; 213 #cooling-cells = <2>;
221}; 214};
222 215
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
index e7a228f6cc7e..f7a1cffab4a8 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
@@ -1,47 +1,10 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 BayLibre, SAS. 3 * Copyright (c) 2016 BayLibre, SAS.
3 * Author: Neil Armstrong <narmstrong@baylibre.com> 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 * 5 *
5 * Copyright (c) 2016 Endless Computers, Inc. 6 * Copyright (c) 2016 Endless Computers, Inc.
6 * Author: Carlo Caione <carlo@endlessm.com> 7 * Author: Carlo Caione <carlo@endlessm.com>
7 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This library is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 8 */
46 9
47/dts-v1/; 10/dts-v1/;
@@ -54,6 +17,7 @@
54 17
55 aliases { 18 aliases {
56 serial0 = &uart_AO; 19 serial0 = &uart_AO;
20 ethernet0 = &ethmac;
57 }; 21 };
58 22
59 chosen { 23 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
index 388fac4f2d97..101417298a1d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q200.dts
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts
index 95e11d7faab8..8d132b17514a 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-q201.dts
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44/dts-v1/; 7/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
index a5e9b955d5ed..7212dc4531e4 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016-2017 Andreas Färber 3 * Copyright (c) 2016-2017 Andreas Färber
3 * 4 *
@@ -8,44 +9,6 @@
8 * 9 *
9 * Copyright (c) 2016 Endless Computers, Inc. 10 * Copyright (c) 2016 Endless Computers, Inc.
10 * Author: Carlo Caione <carlo@endlessm.com> 11 * Author: Carlo Caione <carlo@endlessm.com>
11 *
12 * This file is dual-licensed: you can use it either under the terms
13 * of the GPL or the X11 license, at your option. Note that this dual
14 * licensing only applies to this file, and not this project as a
15 * whole.
16 *
17 * a) This library is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU General Public License as
19 * published by the Free Software Foundation; either version 2 of the
20 * License, or (at your option) any later version.
21 *
22 * This library is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
26 *
27 * Or, alternatively,
28 *
29 * b) Permission is hereby granted, free of charge, to any person
30 * obtaining a copy of this software and associated documentation
31 * files (the "Software"), to deal in the Software without
32 * restriction, including without limitation the rights to use,
33 * copy, modify, merge, publish, distribute, sublicense, and/or
34 * sell copies of the Software, and to permit persons to whom the
35 * Software is furnished to do so, subject to the following
36 * conditions:
37 *
38 * The above copyright notice and this permission notice shall be
39 * included in all copies or substantial portions of the Software.
40 *
41 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
43 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
44 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
45 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
46 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
47 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
48 * OTHER DEALINGS IN THE SOFTWARE.
49 */ 12 */
50 13
51/dts-v1/; 14/dts-v1/;
@@ -58,6 +21,7 @@
58 21
59 aliases { 22 aliases {
60 serial0 = &uart_AO; 23 serial0 = &uart_AO;
24 ethernet0 = &ethmac;
61 }; 25 };
62 26
63 chosen { 27 chosen {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts
index dc37eecb9514..e2ea6753263b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-vega-s96.dts
@@ -1,9 +1,8 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2017 BayLibre, SAS. 3 * Copyright (c) 2017 BayLibre, SAS.
3 * Author: Neil Armstrong <narmstrong@baylibre.com> 4 * Author: Neil Armstrong <narmstrong@baylibre.com>
4 * Copyright (c) 2017 Oleg <balbes-150@yandex.ru> 5 * Copyright (c) 2017 Oleg <balbes-150@yandex.ru>
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */ 6 */
8 7
9/dts-v1/; 8/dts-v1/;
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
index 19a798d2ae2f..d076a7c425dd 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
@@ -1,44 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (c) 2016 Endless Computers, Inc. 3 * Copyright (c) 2016 Endless Computers, Inc.
3 * Author: Carlo Caione <carlo@endlessm.com> 4 * Author: Carlo Caione <carlo@endlessm.com>
4 *
5 * This file is dual-licensed: you can use it either under the terms
6 * of the GPL or the X11 license, at your option. Note that this dual
7 * licensing only applies to this file, and not this project as a
8 * whole.
9 *
10 * a) This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License, or (at your option) any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * Or, alternatively,
21 *
22 * b) Permission is hereby granted, free of charge, to any person
23 * obtaining a copy of this software and associated documentation
24 * files (the "Software"), to deal in the Software without
25 * restriction, including without limitation the rights to use,
26 * copy, modify, merge, publish, distribute, sublicense, and/or
27 * sell copies of the Software, and to permit persons to whom the
28 * Software is furnished to do so, subject to the following
29 * conditions:
30 *
31 * The above copyright notice and this permission notice shall be
32 * included in all copies or substantial portions of the Software.
33 *
34 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
35 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
36 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
37 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
38 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
39 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
40 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
41 * OTHER DEALINGS IN THE SOFTWARE.
42 */ 5 */
43 6
44#include "meson-gxl.dtsi" 7#include "meson-gxl.dtsi"
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi
index f165f04db0c9..eb749c50a736 100644
--- a/arch/arm64/boot/dts/arm/juno-base.dtsi
+++ b/arch/arm64/boot/dts/arm/juno-base.dtsi
@@ -68,10 +68,29 @@
68 interrupt-controller; 68 interrupt-controller;
69 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>; 69 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
70 ranges = <0 0 0 0x2c1c0000 0 0x40000>; 70 ranges = <0 0 0 0x2c1c0000 0 0x40000>;
71
71 v2m_0: v2m@0 { 72 v2m_0: v2m@0 {
72 compatible = "arm,gic-v2m-frame"; 73 compatible = "arm,gic-v2m-frame";
73 msi-controller; 74 msi-controller;
74 reg = <0 0 0 0x1000>; 75 reg = <0 0 0 0x10000>;
76 };
77
78 v2m@10000 {
79 compatible = "arm,gic-v2m-frame";
80 msi-controller;
81 reg = <0 0x10000 0 0x10000>;
82 };
83
84 v2m@20000 {
85 compatible = "arm,gic-v2m-frame";
86 msi-controller;
87 reg = <0 0x20000 0 0x10000>;
88 };
89
90 v2m@30000 {
91 compatible = "arm,gic-v2m-frame";
92 msi-controller;
93 reg = <0 0x30000 0 0x10000>;
75 }; 94 };
76 }; 95 };
77 96
diff --git a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
index a77462da4a36..a1e3194b7483 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi
@@ -14,6 +14,7 @@
14#include <dt-bindings/gpio/gpio.h> 14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/input/input.h> 15#include <dt-bindings/input/input.h>
16#include <dt-bindings/interrupt-controller/irq.h> 16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/sound/samsung-i2s.h>
17 18
18/ { 19/ {
19 aliases { 20 aliases {
@@ -112,8 +113,8 @@
112 113
113 sound { 114 sound {
114 compatible = "samsung,tm2-audio"; 115 compatible = "samsung,tm2-audio";
115 audio-codec = <&wm5110>; 116 audio-codec = <&wm5110>, <&hdmi>;
116 i2s-controller = <&i2s0>; 117 i2s-controller = <&i2s0 0>, <&i2s1 0>;
117 audio-amplifier = <&max98504>; 118 audio-amplifier = <&max98504>;
118 mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>; 119 mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
119 model = "wm5110"; 120 model = "wm5110";
@@ -217,8 +218,40 @@
217}; 218};
218 219
219&cmu_aud { 220&cmu_aud {
220 assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>; 221 assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>,
221 assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>; 222 <&cmu_aud CLK_MOUT_SCLK_AUD_I2S>,
223 <&cmu_aud CLK_MOUT_SCLK_AUD_PCM>,
224 <&cmu_top CLK_MOUT_AUD_PLL>,
225 <&cmu_top CLK_MOUT_AUD_PLL_USER_T>,
226 <&cmu_top CLK_MOUT_SCLK_AUDIO0>,
227 <&cmu_top CLK_MOUT_SCLK_AUDIO1>,
228 <&cmu_top CLK_MOUT_SCLK_SPDIF>,
229
230 <&cmu_aud CLK_DIV_AUD_CA5>,
231 <&cmu_aud CLK_DIV_ACLK_AUD>,
232 <&cmu_aud CLK_DIV_PCLK_DBG_AUD>,
233 <&cmu_aud CLK_DIV_SCLK_AUD_I2S>,
234 <&cmu_aud CLK_DIV_SCLK_AUD_PCM>,
235 <&cmu_aud CLK_DIV_SCLK_AUD_SLIMBUS>,
236 <&cmu_aud CLK_DIV_SCLK_AUD_UART>,
237 <&cmu_top CLK_DIV_SCLK_AUDIO0>,
238 <&cmu_top CLK_DIV_SCLK_AUDIO1>,
239 <&cmu_top CLK_DIV_SCLK_PCM1>,
240 <&cmu_top CLK_DIV_SCLK_I2S1>;
241
242 assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>,
243 <&cmu_aud CLK_MOUT_AUD_PLL_USER>,
244 <&cmu_aud CLK_MOUT_AUD_PLL_USER>,
245 <&cmu_top CLK_FOUT_AUD_PLL>,
246 <&cmu_top CLK_MOUT_AUD_PLL>,
247 <&cmu_top CLK_MOUT_AUD_PLL_USER_T>,
248 <&cmu_top CLK_MOUT_AUD_PLL_USER_T>,
249 <&cmu_top CLK_SCLK_AUDIO0>;
250
251 assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
252 <196608001>, <65536001>, <32768001>, <49152001>,
253 <2048001>, <24576001>, <196608001>,
254 <24576001>, <98304001>, <2048001>, <49152001>;
222}; 255};
223 256
224&cmu_fsys { 257&cmu_fsys {
@@ -267,6 +300,11 @@
267 <&cmu_top CLK_MOUT_BUS_PLL_USER>; 300 <&cmu_top CLK_MOUT_BUS_PLL_USER>;
268}; 301};
269 302
303&cmu_top {
304 assigned-clocks = <&cmu_top CLK_FOUT_AUD_PLL>;
305 assigned-clock-rates = <196608001>;
306};
307
270&cpu0 { 308&cpu0 {
271 cpu-supply = <&buck3_reg>; 309 cpu-supply = <&buck3_reg>;
272}; 310};
@@ -779,9 +817,22 @@
779 clocks = <&pmu_system_controller 0>; 817 clocks = <&pmu_system_controller 0>;
780 clock-names = "xtal"; 818 clock-names = "xtal";
781 819
782 port { 820 ports {
783 mhl_to_hdmi: endpoint { 821 #address-cells = <1>;
784 remote-endpoint = <&hdmi_to_mhl>; 822 #size-cells = <0>;
823
824 port@0 {
825 reg = <0>;
826 mhl_to_hdmi: endpoint {
827 remote-endpoint = <&hdmi_to_mhl>;
828 };
829 };
830
831 port@1 {
832 reg = <1>;
833 mhl_to_musb_con: endpoint {
834 remote-endpoint = <&musb_con_to_mhl>;
835 };
785 }; 836 };
786 }; 837 };
787 }; 838 };
@@ -798,6 +849,25 @@
798 849
799 muic: max77843-muic { 850 muic: max77843-muic {
800 compatible = "maxim,max77843-muic"; 851 compatible = "maxim,max77843-muic";
852
853 musb_con: musb_connector {
854 compatible = "samsung,usb-connector-11pin",
855 "usb-b-connector";
856 label = "micro-USB";
857 type = "micro";
858
859 ports {
860 #address-cells = <1>;
861 #size-cells = <0>;
862
863 port@3 {
864 reg = <3>;
865 musb_con_to_mhl: endpoint {
866 remote-endpoint = <&mhl_to_musb_con>;
867 };
868 };
869 };
870 };
801 }; 871 };
802 872
803 regulators { 873 regulators {
@@ -838,6 +908,12 @@
838 status = "okay"; 908 status = "okay";
839}; 909};
840 910
911&i2s1 {
912 assigned-clocks = <&i2s1 CLK_I2S_RCLK_SRC>;
913 assigned-clock-parents = <&cmu_peric CLK_SCLK_I2S1>;
914 status = "okay";
915};
916
841&mshc_0 { 917&mshc_0 {
842 status = "okay"; 918 status = "okay";
843 mmc-hs200-1_8v; 919 mmc-hs200-1_8v;
diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
index 62f276970174..c0231d077fa6 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
@@ -969,6 +969,7 @@
969 ddc = <&hsi2c_11>; 969 ddc = <&hsi2c_11>;
970 samsung,syscon-phandle = <&pmu_system_controller>; 970 samsung,syscon-phandle = <&pmu_system_controller>;
971 samsung,sysreg-phandle = <&syscon_disp>; 971 samsung,sysreg-phandle = <&syscon_disp>;
972 #sound-dai-cells = <0>;
972 status = "disabled"; 973 status = "disabled";
973 }; 974 };
974 975
@@ -1311,6 +1312,25 @@
1311 status = "disabled"; 1312 status = "disabled";
1312 }; 1313 };
1313 1314
1315 i2s1: i2s@14d60000 {
1316 compatible = "samsung,exynos7-i2s";
1317 reg = <0x14d60000 0x100>;
1318 dmas = <&pdma0 31 &pdma0 30>;
1319 dma-names = "tx", "rx";
1320 interrupts = <GIC_SPI 435 IRQ_TYPE_NONE>;
1321 clocks = <&cmu_peric CLK_PCLK_I2S1>,
1322 <&cmu_peric CLK_PCLK_I2S1>,
1323 <&cmu_peric CLK_SCLK_I2S1>;
1324 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
1325 #clock-cells = <1>;
1326 samsung,supports-6ch;
1327 samsung,supports-rstclr;
1328 samsung,supports-tdm;
1329 samsung,supports-low-rfs;
1330 #sound-dai-cells = <1>;
1331 status = "disabled";
1332 };
1333
1314 pwm: pwm@14dd0000 { 1334 pwm: pwm@14dd0000 {
1315 compatible = "samsung,exynos4210-pwm"; 1335 compatible = "samsung,exynos4210-pwm";
1316 reg = <0x14dd0000 0x100>; 1336 reg = <0x14dd0000 0x100>;
@@ -1639,7 +1659,7 @@
1639 power-domains = <&pd_aud>; 1659 power-domains = <&pd_aud>;
1640 }; 1660 };
1641 1661
1642 i2s0: i2s0@11440000 { 1662 i2s0: i2s@11440000 {
1643 compatible = "samsung,exynos7-i2s"; 1663 compatible = "samsung,exynos7-i2s";
1644 reg = <0x11440000 0x100>; 1664 reg = <0x11440000 0x100>;
1645 dmas = <&adma 0 &adma 2>; 1665 dmas = <&adma 0 &adma 2>;
@@ -1651,9 +1671,11 @@
1651 <&cmu_aud CLK_SCLK_AUD_I2S>, 1671 <&cmu_aud CLK_SCLK_AUD_I2S>,
1652 <&cmu_aud CLK_SCLK_I2S_BCLK>; 1672 <&cmu_aud CLK_SCLK_I2S_BCLK>;
1653 clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 1673 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
1674 #clock-cells = <1>;
1654 pinctrl-names = "default"; 1675 pinctrl-names = "default";
1655 pinctrl-0 = <&i2s0_bus>; 1676 pinctrl-0 = <&i2s0_bus>;
1656 power-domains = <&pd_aud>; 1677 power-domains = <&pd_aud>;
1678 #sound-dai-cells = <1>;
1657 status = "disabled"; 1679 status = "disabled";
1658 }; 1680 };
1659 1681
diff --git a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
index 22723527e626..00dd89b92b42 100644
--- a/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
+++ b/arch/arm64/boot/dts/exynos/exynos7-espresso.dts
@@ -23,7 +23,7 @@
23 }; 23 };
24 24
25 chosen { 25 chosen {
26 linux,stdout-path = &serial_2; 26 stdout-path = &serial_2;
27 }; 27 };
28 28
29 memory@40000000 { 29 memory@40000000 {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
index 82b272fb41b9..bb788eddf9f4 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
@@ -70,6 +70,24 @@
70 reg = <0x0>; 70 reg = <0x0>;
71 clocks = <&clockgen 1 0>; 71 clocks = <&clockgen 1 0>;
72 #cooling-cells = <2>; 72 #cooling-cells = <2>;
73 cpu-idle-states = <&CPU_PH20>;
74 };
75 };
76
77 idle-states {
78 /*
79 * PSCI node is not added default, U-boot will add missing
80 * parts if it determines to use PSCI.
81 */
82 entry-method = "arm,psci";
83
84 CPU_PH20: cpu-ph20 {
85 compatible = "arm,idle-state";
86 idle-state-name = "PH20";
87 arm,psci-suspend-param = <0x0>;
88 entry-latency-us = <1000>;
89 exit-latency-us = <1000>;
90 min-residency-us = <3000>;
73 }; 91 };
74 }; 92 };
75 93
@@ -118,6 +136,37 @@
118 mask = <0x02>; 136 mask = <0x02>;
119 }; 137 };
120 138
139 thermal-zones {
140 cpu_thermal: cpu-thermal {
141 polling-delay-passive = <1000>;
142 polling-delay = <5000>;
143 thermal-sensors = <&tmu 0>;
144
145 trips {
146 cpu_alert: cpu-alert {
147 temperature = <85000>;
148 hysteresis = <2000>;
149 type = "passive";
150 };
151
152 cpu_crit: cpu-crit {
153 temperature = <95000>;
154 hysteresis = <2000>;
155 type = "critical";
156 };
157 };
158
159 cooling-maps {
160 map0 {
161 trip = <&cpu_alert>;
162 cooling-device =
163 <&cpu0 THERMAL_NO_LIMIT
164 THERMAL_NO_LIMIT>;
165 };
166 };
167 };
168 };
169
121 soc { 170 soc {
122 compatible = "simple-bus"; 171 compatible = "simple-bus";
123 #address-cells = <2>; 172 #address-cells = <2>;
@@ -304,37 +353,6 @@
304 #thermal-sensor-cells = <1>; 353 #thermal-sensor-cells = <1>;
305 }; 354 };
306 355
307 thermal-zones {
308 cpu_thermal: cpu-thermal {
309 polling-delay-passive = <1000>;
310 polling-delay = <5000>;
311 thermal-sensors = <&tmu 0>;
312
313 trips {
314 cpu_alert: cpu-alert {
315 temperature = <85000>;
316 hysteresis = <2000>;
317 type = "passive";
318 };
319
320 cpu_crit: cpu-crit {
321 temperature = <95000>;
322 hysteresis = <2000>;
323 type = "critical";
324 };
325 };
326
327 cooling-maps {
328 map0 {
329 trip = <&cpu_alert>;
330 cooling-device =
331 <&cpu0 THERMAL_NO_LIMIT
332 THERMAL_NO_LIMIT>;
333 };
334 };
335 };
336 };
337
338 i2c0: i2c@2180000 { 356 i2c0: i2c@2180000 {
339 compatible = "fsl,vf610-i2c"; 357 compatible = "fsl,vf610-i2c";
340 #address-cells = <1>; 358 #address-cells = <1>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
index 380e7c713395..1109f22bda5e 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
@@ -81,6 +81,7 @@
81 clocks = <&clockgen 1 0>; 81 clocks = <&clockgen 1 0>;
82 next-level-cache = <&l2>; 82 next-level-cache = <&l2>;
83 #cooling-cells = <2>; 83 #cooling-cells = <2>;
84 cpu-idle-states = <&CPU_PH20>;
84 }; 85 };
85 86
86 cpu1: cpu@1 { 87 cpu1: cpu@1 {
@@ -89,6 +90,7 @@
89 reg = <0x1>; 90 reg = <0x1>;
90 clocks = <&clockgen 1 0>; 91 clocks = <&clockgen 1 0>;
91 next-level-cache = <&l2>; 92 next-level-cache = <&l2>;
93 cpu-idle-states = <&CPU_PH20>;
92 }; 94 };
93 95
94 cpu2: cpu@2 { 96 cpu2: cpu@2 {
@@ -97,6 +99,7 @@
97 reg = <0x2>; 99 reg = <0x2>;
98 clocks = <&clockgen 1 0>; 100 clocks = <&clockgen 1 0>;
99 next-level-cache = <&l2>; 101 next-level-cache = <&l2>;
102 cpu-idle-states = <&CPU_PH20>;
100 }; 103 };
101 104
102 cpu3: cpu@3 { 105 cpu3: cpu@3 {
@@ -105,6 +108,7 @@
105 reg = <0x3>; 108 reg = <0x3>;
106 clocks = <&clockgen 1 0>; 109 clocks = <&clockgen 1 0>;
107 next-level-cache = <&l2>; 110 next-level-cache = <&l2>;
111 cpu-idle-states = <&CPU_PH20>;
108 }; 112 };
109 113
110 l2: l2-cache { 114 l2: l2-cache {
@@ -112,6 +116,23 @@
112 }; 116 };
113 }; 117 };
114 118
119 idle-states {
120 /*
121 * PSCI node is not added default, U-boot will add missing
122 * parts if it determines to use PSCI.
123 */
124 entry-method = "arm,psci";
125
126 CPU_PH20: cpu-ph20 {
127 compatible = "arm,idle-state";
128 idle-state-name = "PH20";
129 arm,psci-suspend-param = <0x0>;
130 entry-latency-us = <1000>;
131 exit-latency-us = <1000>;
132 min-residency-us = <3000>;
133 };
134 };
135
115 memory@80000000 { 136 memory@80000000 {
116 device_type = "memory"; 137 device_type = "memory";
117 reg = <0x0 0x80000000 0 0x80000000>; 138 reg = <0x0 0x80000000 0 0x80000000>;
@@ -159,6 +180,37 @@
159 mask = <0x02>; 180 mask = <0x02>;
160 }; 181 };
161 182
183 thermal-zones {
184 cpu_thermal: cpu-thermal {
185 polling-delay-passive = <1000>;
186 polling-delay = <5000>;
187
188 thermal-sensors = <&tmu 3>;
189
190 trips {
191 cpu_alert: cpu-alert {
192 temperature = <85000>;
193 hysteresis = <2000>;
194 type = "passive";
195 };
196 cpu_crit: cpu-crit {
197 temperature = <95000>;
198 hysteresis = <2000>;
199 type = "critical";
200 };
201 };
202
203 cooling-maps {
204 map0 {
205 trip = <&cpu_alert>;
206 cooling-device =
207 <&cpu0 THERMAL_NO_LIMIT
208 THERMAL_NO_LIMIT>;
209 };
210 };
211 };
212 };
213
162 timer { 214 timer {
163 compatible = "arm,armv8-timer"; 215 compatible = "arm,armv8-timer";
164 interrupts = <1 13 0xf08>, /* Physical Secure PPI */ 216 interrupts = <1 13 0xf08>, /* Physical Secure PPI */
@@ -342,37 +394,6 @@
342 #thermal-sensor-cells = <1>; 394 #thermal-sensor-cells = <1>;
343 }; 395 };
344 396
345 thermal-zones {
346 cpu_thermal: cpu-thermal {
347 polling-delay-passive = <1000>;
348 polling-delay = <5000>;
349
350 thermal-sensors = <&tmu 3>;
351
352 trips {
353 cpu_alert: cpu-alert {
354 temperature = <85000>;
355 hysteresis = <2000>;
356 type = "passive";
357 };
358 cpu_crit: cpu-crit {
359 temperature = <95000>;
360 hysteresis = <2000>;
361 type = "critical";
362 };
363 };
364
365 cooling-maps {
366 map0 {
367 trip = <&cpu_alert>;
368 cooling-device =
369 <&cpu0 THERMAL_NO_LIMIT
370 THERMAL_NO_LIMIT>;
371 };
372 };
373 };
374 };
375
376 qman: qman@1880000 { 397 qman: qman@1880000 {
377 compatible = "fsl,qman"; 398 compatible = "fsl,qman";
378 reg = <0x0 0x1880000 0x0 0x10000>; 399 reg = <0x0 0x1880000 0x0 0x10000>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
index 06b5e12d04d8..136ebfa9b333 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
@@ -122,7 +122,7 @@
122 CPU_PH20: cpu-ph20 { 122 CPU_PH20: cpu-ph20 {
123 compatible = "arm,idle-state"; 123 compatible = "arm,idle-state";
124 idle-state-name = "PH20"; 124 idle-state-name = "PH20";
125 arm,psci-suspend-param = <0x00010000>; 125 arm,psci-suspend-param = <0x0>;
126 entry-latency-us = <1000>; 126 entry-latency-us = <1000>;
127 exit-latency-us = <1000>; 127 exit-latency-us = <1000>;
128 min-residency-us = <3000>; 128 min-residency-us = <3000>;
@@ -131,6 +131,8 @@
131 131
132 memory@80000000 { 132 memory@80000000 {
133 device_type = "memory"; 133 device_type = "memory";
134 /* Real size will be filled by bootloader */
135 reg = <0x0 0x80000000 0x0 0x0>;
134 }; 136 };
135 137
136 sysclk: sysclk { 138 sysclk: sysclk {
@@ -147,6 +149,37 @@
147 mask = <0x02>; 149 mask = <0x02>;
148 }; 150 };
149 151
152 thermal-zones {
153 cpu_thermal: cpu-thermal {
154 polling-delay-passive = <1000>;
155 polling-delay = <5000>;
156 thermal-sensors = <&tmu 3>;
157
158 trips {
159 cpu_alert: cpu-alert {
160 temperature = <85000>;
161 hysteresis = <2000>;
162 type = "passive";
163 };
164
165 cpu_crit: cpu-crit {
166 temperature = <95000>;
167 hysteresis = <2000>;
168 type = "critical";
169 };
170 };
171
172 cooling-maps {
173 map0 {
174 trip = <&cpu_alert>;
175 cooling-device =
176 <&cpu0 THERMAL_NO_LIMIT
177 THERMAL_NO_LIMIT>;
178 };
179 };
180 };
181 };
182
150 timer { 183 timer {
151 compatible = "arm,armv8-timer"; 184 compatible = "arm,armv8-timer";
152 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0xf) | 185 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(0xf) |
@@ -362,37 +395,6 @@
362 #thermal-sensor-cells = <1>; 395 #thermal-sensor-cells = <1>;
363 }; 396 };
364 397
365 thermal-zones {
366 cpu_thermal: cpu-thermal {
367 polling-delay-passive = <1000>;
368 polling-delay = <5000>;
369 thermal-sensors = <&tmu 3>;
370
371 trips {
372 cpu_alert: cpu-alert {
373 temperature = <85000>;
374 hysteresis = <2000>;
375 type = "passive";
376 };
377
378 cpu_crit: cpu-crit {
379 temperature = <95000>;
380 hysteresis = <2000>;
381 type = "critical";
382 };
383 };
384
385 cooling-maps {
386 map0 {
387 trip = <&cpu_alert>;
388 cooling-device =
389 <&cpu0 THERMAL_NO_LIMIT
390 THERMAL_NO_LIMIT>;
391 };
392 };
393 };
394 };
395
396 dspi: dspi@2100000 { 398 dspi: dspi@2100000 {
397 compatible = "fsl,ls1021a-v1.0-dspi"; 399 compatible = "fsl,ls1021a-v1.0-dspi";
398 #address-cells = <1>; 400 #address-cells = <1>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
index 4fc150cd4ca5..1c6556bcfddf 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
@@ -130,7 +130,7 @@
130 CPU_PH20: cpu-ph20 { 130 CPU_PH20: cpu-ph20 {
131 compatible = "arm,idle-state"; 131 compatible = "arm,idle-state";
132 idle-state-name = "PH20"; 132 idle-state-name = "PH20";
133 arm,psci-suspend-param = <0x00010000>; 133 arm,psci-suspend-param = <0x0>;
134 entry-latency-us = <1000>; 134 entry-latency-us = <1000>;
135 exit-latency-us = <1000>; 135 exit-latency-us = <1000>;
136 min-residency-us = <3000>; 136 min-residency-us = <3000>;
@@ -158,6 +158,44 @@
158 }; 158 };
159 }; 159 };
160 160
161 thermal-zones {
162 cpu_thermal: cpu-thermal {
163 polling-delay-passive = <1000>;
164 polling-delay = <5000>;
165 thermal-sensors = <&tmu 0>;
166
167 trips {
168 cpu_alert: cpu-alert {
169 temperature = <85000>;
170 hysteresis = <2000>;
171 type = "passive";
172 };
173
174 cpu_crit: cpu-crit {
175 temperature = <95000>;
176 hysteresis = <2000>;
177 type = "critical";
178 };
179 };
180
181 cooling-maps {
182 map0 {
183 trip = <&cpu_alert>;
184 cooling-device =
185 <&cpu0 THERMAL_NO_LIMIT
186 THERMAL_NO_LIMIT>;
187 };
188
189 map1 {
190 trip = <&cpu_alert>;
191 cooling-device =
192 <&cpu4 THERMAL_NO_LIMIT
193 THERMAL_NO_LIMIT>;
194 };
195 };
196 };
197 };
198
161 timer { 199 timer {
162 compatible = "arm,armv8-timer"; 200 compatible = "arm,armv8-timer";
163 interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */ 201 interrupts = <1 13 IRQ_TYPE_LEVEL_LOW>,/* Physical Secure PPI */
@@ -315,44 +353,6 @@
315 #thermal-sensor-cells = <1>; 353 #thermal-sensor-cells = <1>;
316 }; 354 };
317 355
318 thermal-zones {
319 cpu_thermal: cpu-thermal {
320 polling-delay-passive = <1000>;
321 polling-delay = <5000>;
322 thermal-sensors = <&tmu 0>;
323
324 trips {
325 cpu_alert: cpu-alert {
326 temperature = <85000>;
327 hysteresis = <2000>;
328 type = "passive";
329 };
330
331 cpu_crit: cpu-crit {
332 temperature = <95000>;
333 hysteresis = <2000>;
334 type = "critical";
335 };
336 };
337
338 cooling-maps {
339 map0 {
340 trip = <&cpu_alert>;
341 cooling-device =
342 <&cpu0 THERMAL_NO_LIMIT
343 THERMAL_NO_LIMIT>;
344 };
345
346 map1 {
347 trip = <&cpu_alert>;
348 cooling-device =
349 <&cpu4 THERMAL_NO_LIMIT
350 THERMAL_NO_LIMIT>;
351 };
352 };
353 };
354 };
355
356 duart0: serial@21c0500 { 356 duart0: serial@21c0500 {
357 compatible = "fsl,ns16550", "ns16550a"; 357 compatible = "fsl,ns16550", "ns16550a";
358 reg = <0x0 0x21c0500 0x0 0x100>; 358 reg = <0x0 0x21c0500 0x0 0x100>;
@@ -612,6 +612,62 @@
612 <0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>, 612 <0000 0 0 3 &gic 0 0 0 121 IRQ_TYPE_LEVEL_HIGH>,
613 <0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>; 613 <0000 0 0 4 &gic 0 0 0 122 IRQ_TYPE_LEVEL_HIGH>;
614 }; 614 };
615
616 cluster1_core0_watchdog: wdt@c000000 {
617 compatible = "arm,sp805-wdt", "arm,primecell";
618 reg = <0x0 0xc000000 0x0 0x1000>;
619 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
620 clock-names = "apb_pclk", "wdog_clk";
621 };
622
623 cluster1_core1_watchdog: wdt@c010000 {
624 compatible = "arm,sp805-wdt", "arm,primecell";
625 reg = <0x0 0xc010000 0x0 0x1000>;
626 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
627 clock-names = "apb_pclk", "wdog_clk";
628 };
629
630 cluster1_core2_watchdog: wdt@c020000 {
631 compatible = "arm,sp805-wdt", "arm,primecell";
632 reg = <0x0 0xc020000 0x0 0x1000>;
633 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
634 clock-names = "apb_pclk", "wdog_clk";
635 };
636
637 cluster1_core3_watchdog: wdt@c030000 {
638 compatible = "arm,sp805-wdt", "arm,primecell";
639 reg = <0x0 0xc030000 0x0 0x1000>;
640 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
641 clock-names = "apb_pclk", "wdog_clk";
642 };
643
644 cluster2_core0_watchdog: wdt@c100000 {
645 compatible = "arm,sp805-wdt", "arm,primecell";
646 reg = <0x0 0xc100000 0x0 0x1000>;
647 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
648 clock-names = "apb_pclk", "wdog_clk";
649 };
650
651 cluster2_core1_watchdog: wdt@c110000 {
652 compatible = "arm,sp805-wdt", "arm,primecell";
653 reg = <0x0 0xc110000 0x0 0x1000>;
654 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
655 clock-names = "apb_pclk", "wdog_clk";
656 };
657
658 cluster2_core2_watchdog: wdt@c120000 {
659 compatible = "arm,sp805-wdt", "arm,primecell";
660 reg = <0x0 0xc120000 0x0 0x1000>;
661 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
662 clock-names = "apb_pclk", "wdog_clk";
663 };
664
665 cluster2_core3_watchdog: wdt@c130000 {
666 compatible = "arm,sp805-wdt", "arm,primecell";
667 reg = <0x0 0xc130000 0x0 0x1000>;
668 clocks = <&clockgen 4 3>, <&clockgen 4 3>;
669 clock-names = "apb_pclk", "wdog_clk";
670 };
615 }; 671 };
616 672
617 firmware { 673 firmware {
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
index aeaef01d375f..0884e1a77901 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls2088a.dtsi
@@ -143,7 +143,7 @@
143 CPU_PW20: cpu-pw20 { 143 CPU_PW20: cpu-pw20 {
144 compatible = "arm,idle-state"; 144 compatible = "arm,idle-state";
145 idle-state-name = "PW20"; 145 idle-state-name = "PW20";
146 arm,psci-suspend-param = <0x00010000>; 146 arm,psci-suspend-param = <0x0>;
147 entry-latency-us = <2000>; 147 entry-latency-us = <2000>;
148 exit-latency-us = <2000>; 148 exit-latency-us = <2000>;
149 min-residency-us = <6000>; 149 min-residency-us = <6000>;
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
index b2374469a830..1de618801c73 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi
@@ -140,21 +140,21 @@
140 140
141&dspi { 141&dspi {
142 status = "okay"; 142 status = "okay";
143 dflash0: n25q128a { 143 dflash0: n25q128a@0 {
144 #address-cells = <1>; 144 #address-cells = <1>;
145 #size-cells = <1>; 145 #size-cells = <1>;
146 compatible = "st,m25p80"; 146 compatible = "st,m25p80";
147 spi-max-frequency = <3000000>; 147 spi-max-frequency = <3000000>;
148 reg = <0>; 148 reg = <0>;
149 }; 149 };
150 dflash1: sst25wf040b { 150 dflash1: sst25wf040b@1 {
151 #address-cells = <1>; 151 #address-cells = <1>;
152 #size-cells = <1>; 152 #size-cells = <1>;
153 compatible = "st,m25p80"; 153 compatible = "st,m25p80";
154 spi-max-frequency = <3000000>; 154 spi-max-frequency = <3000000>;
155 reg = <1>; 155 reg = <1>;
156 }; 156 };
157 dflash2: en25s64 { 157 dflash2: en25s64@2 {
158 #address-cells = <1>; 158 #address-cells = <1>;
159 #size-cells = <1>; 159 #size-cells = <1>;
160 compatible = "st,m25p80"; 160 compatible = "st,m25p80";
@@ -177,7 +177,7 @@
177 #size-cells = <1>; 177 #size-cells = <1>;
178 compatible = "st,m25p80"; 178 compatible = "st,m25p80";
179 spi-max-frequency = <20000000>; 179 spi-max-frequency = <20000000>;
180 reg = <0>; 180 reg = <2>;
181 }; 181 };
182}; 182};
183 183
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
index f3a40af33af8..137ef4dfc3e9 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
@@ -111,6 +111,55 @@
111 mask = <0x2>; 111 mask = <0x2>;
112 }; 112 };
113 113
114 thermal-zones {
115 cpu_thermal: cpu-thermal {
116 polling-delay-passive = <1000>;
117 polling-delay = <5000>;
118
119 thermal-sensors = <&tmu 4>;
120
121 trips {
122 cpu_alert: cpu-alert {
123 temperature = <75000>;
124 hysteresis = <2000>;
125 type = "passive";
126 };
127 cpu_crit: cpu-crit {
128 temperature = <85000>;
129 hysteresis = <2000>;
130 type = "critical";
131 };
132 };
133
134 cooling-maps {
135 map0 {
136 trip = <&cpu_alert>;
137 cooling-device =
138 <&cpu0 THERMAL_NO_LIMIT
139 THERMAL_NO_LIMIT>;
140 };
141 map1 {
142 trip = <&cpu_alert>;
143 cooling-device =
144 <&cpu2 THERMAL_NO_LIMIT
145 THERMAL_NO_LIMIT>;
146 };
147 map2 {
148 trip = <&cpu_alert>;
149 cooling-device =
150 <&cpu4 THERMAL_NO_LIMIT
151 THERMAL_NO_LIMIT>;
152 };
153 map3 {
154 trip = <&cpu_alert>;
155 cooling-device =
156 <&cpu6 THERMAL_NO_LIMIT
157 THERMAL_NO_LIMIT>;
158 };
159 };
160 };
161 };
162
114 timer { 163 timer {
115 compatible = "arm,armv8-timer"; 164 compatible = "arm,armv8-timer";
116 interrupts = <1 13 4>, /* Physical Secure PPI, active-low */ 165 interrupts = <1 13 4>, /* Physical Secure PPI, active-low */
@@ -194,55 +243,6 @@
194 #thermal-sensor-cells = <1>; 243 #thermal-sensor-cells = <1>;
195 }; 244 };
196 245
197 thermal-zones {
198 cpu_thermal: cpu-thermal {
199 polling-delay-passive = <1000>;
200 polling-delay = <5000>;
201
202 thermal-sensors = <&tmu 4>;
203
204 trips {
205 cpu_alert: cpu-alert {
206 temperature = <75000>;
207 hysteresis = <2000>;
208 type = "passive";
209 };
210 cpu_crit: cpu-crit {
211 temperature = <85000>;
212 hysteresis = <2000>;
213 type = "critical";
214 };
215 };
216
217 cooling-maps {
218 map0 {
219 trip = <&cpu_alert>;
220 cooling-device =
221 <&cpu0 THERMAL_NO_LIMIT
222 THERMAL_NO_LIMIT>;
223 };
224 map1 {
225 trip = <&cpu_alert>;
226 cooling-device =
227 <&cpu2 THERMAL_NO_LIMIT
228 THERMAL_NO_LIMIT>;
229 };
230 map2 {
231 trip = <&cpu_alert>;
232 cooling-device =
233 <&cpu4 THERMAL_NO_LIMIT
234 THERMAL_NO_LIMIT>;
235 };
236 map3 {
237 trip = <&cpu_alert>;
238 cooling-device =
239 <&cpu6 THERMAL_NO_LIMIT
240 THERMAL_NO_LIMIT>;
241 };
242 };
243 };
244 };
245
246 serial0: serial@21c0500 { 246 serial0: serial@21c0500 {
247 compatible = "fsl,ns16550", "ns16550a"; 247 compatible = "fsl,ns16550", "ns16550a";
248 reg = <0x0 0x21c0500 0x0 0x100>; 248 reg = <0x0 0x21c0500 0x0 0x100>;
diff --git a/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
index c3c2be4f5072..ae15307f6e8b 100644
--- a/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
+++ b/arch/arm64/boot/dts/freescale/qoriq-bman-portals.dtsi
@@ -68,4 +68,10 @@
68 reg = <0x80000 0x4000>, <0x4080000 0x4000>; 68 reg = <0x80000 0x4000>, <0x4080000 0x4000>;
69 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 69 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
70 }; 70 };
71
72 bman-portal@90000 {
73 compatible = "fsl,bman-portal";
74 reg = <0x90000 0x4000>, <0x4090000 0x4000>;
75 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
76 };
71}; 77};
diff --git a/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi b/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
index 2a9aa060efda..6a93a4a9be0e 100644
--- a/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
+++ b/arch/arm64/boot/dts/freescale/qoriq-qman-portals.dtsi
@@ -77,4 +77,11 @@
77 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 77 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
78 cell-index = <8>; 78 cell-index = <8>;
79 }; 79 };
80
81 qportal9: qman-portal@90000 {
82 compatible = "fsl,qman-portal";
83 reg = <0x90000 0x4000>, <0x4090000 0x4000>;
84 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
85 cell-index = <9>;
86 };
80}; 87};
diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
index a7ecd9074ea2..ec3eb8e33a3a 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi
@@ -100,11 +100,7 @@
100 reg = <0x0 0x100>; 100 reg = <0x0 0x100>;
101 enable-method = "psci"; 101 enable-method = "psci";
102 next-level-cache = <&A73_L2>; 102 next-level-cache = <&A73_L2>;
103 cpu-idle-states = < 103 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
104 &CPU_NAP
105 &CPU_SLEEP
106 &CLUSTER_SLEEP_1
107 >;
108 capacity-dmips-mhz = <1024>; 104 capacity-dmips-mhz = <1024>;
109 }; 105 };
110 106
@@ -114,11 +110,7 @@
114 reg = <0x0 0x101>; 110 reg = <0x0 0x101>;
115 enable-method = "psci"; 111 enable-method = "psci";
116 next-level-cache = <&A73_L2>; 112 next-level-cache = <&A73_L2>;
117 cpu-idle-states = < 113 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
118 &CPU_NAP
119 &CPU_SLEEP
120 &CLUSTER_SLEEP_1
121 >;
122 capacity-dmips-mhz = <1024>; 114 capacity-dmips-mhz = <1024>;
123 }; 115 };
124 116
@@ -128,11 +120,7 @@
128 reg = <0x0 0x102>; 120 reg = <0x0 0x102>;
129 enable-method = "psci"; 121 enable-method = "psci";
130 next-level-cache = <&A73_L2>; 122 next-level-cache = <&A73_L2>;
131 cpu-idle-states = < 123 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
132 &CPU_NAP
133 &CPU_SLEEP
134 &CLUSTER_SLEEP_1
135 >;
136 capacity-dmips-mhz = <1024>; 124 capacity-dmips-mhz = <1024>;
137 }; 125 };
138 126
@@ -142,25 +130,13 @@
142 reg = <0x0 0x103>; 130 reg = <0x0 0x103>;
143 enable-method = "psci"; 131 enable-method = "psci";
144 next-level-cache = <&A73_L2>; 132 next-level-cache = <&A73_L2>;
145 cpu-idle-states = < 133 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
146 &CPU_NAP
147 &CPU_SLEEP
148 &CLUSTER_SLEEP_1
149 >;
150 capacity-dmips-mhz = <1024>; 134 capacity-dmips-mhz = <1024>;
151 }; 135 };
152 136
153 idle-states { 137 idle-states {
154 entry-method = "psci"; 138 entry-method = "psci";
155 139
156 CPU_NAP: cpu-nap {
157 compatible = "arm,idle-state";
158 arm,psci-suspend-param = <0x0000001>;
159 entry-latency-us = <7>;
160 exit-latency-us = <2>;
161 min-residency-us = <15>;
162 };
163
164 CPU_SLEEP: cpu-sleep { 140 CPU_SLEEP: cpu-sleep {
165 compatible = "arm,idle-state"; 141 compatible = "arm,idle-state";
166 local-timer-stop; 142 local-timer-stop;
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index 047641fe294c..724a0d3b7683 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -299,7 +299,9 @@
299 /* GPIO blocks 16 thru 19 do not appear to be routed to pins */ 299 /* GPIO blocks 16 thru 19 do not appear to be routed to pins */
300 300
301 dwmmc_0: dwmmc0@f723d000 { 301 dwmmc_0: dwmmc0@f723d000 {
302 max-frequency = <150000000>;
302 cap-mmc-highspeed; 303 cap-mmc-highspeed;
304 mmc-hs200-1_8v;
303 non-removable; 305 non-removable;
304 bus-width = <0x8>; 306 bus-width = <0x8>;
305 vmmc-supply = <&ldo19>; 307 vmmc-supply = <&ldo19>;
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 6a180d1926e8..586b281cd531 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -88,8 +88,6 @@
88 next-level-cache = <&CLUSTER0_L2>; 88 next-level-cache = <&CLUSTER0_L2>;
89 clocks = <&stub_clock 0>; 89 clocks = <&stub_clock 0>;
90 operating-points-v2 = <&cpu_opp_table>; 90 operating-points-v2 = <&cpu_opp_table>;
91 cooling-min-level = <4>;
92 cooling-max-level = <0>;
93 #cooling-cells = <2>; /* min followed by max */ 91 #cooling-cells = <2>; /* min followed by max */
94 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>; 92 cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
95 dynamic-power-coefficient = <311>; 93 dynamic-power-coefficient = <311>;
@@ -817,6 +815,14 @@
817 pinctrl-1 = <&sdio_pmx_idle &sdio_clk_cfg_idle &sdio_cfg_idle>; 815 pinctrl-1 = <&sdio_pmx_idle &sdio_clk_cfg_idle &sdio_cfg_idle>;
818 }; 816 };
819 817
818 watchdog0: watchdog@f8005000 {
819 compatible = "arm,sp805-wdt", "arm,primecell";
820 reg = <0x0 0xf8005000 0x0 0x1000>;
821 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
822 clocks = <&ao_ctrl HI6220_WDT0_PCLK>;
823 clock-names = "apb_pclk";
824 };
825
820 tsensor: tsensor@0,f7030700 { 826 tsensor: tsensor@0,f7030700 {
821 compatible = "hisilicon,tsensor"; 827 compatible = "hisilicon,tsensor";
822 reg = <0x0 0xf7030700 0x0 0x1000>; 828 reg = <0x0 0xf7030700 0x0 0x1000>;
diff --git a/arch/arm64/boot/dts/hisilicon/hip06.dtsi b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
index a049b64f2101..35202ebe62a7 100644
--- a/arch/arm64/boot/dts/hisilicon/hip06.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hip06.dtsi
@@ -291,6 +291,13 @@
291 #interrupt-cells = <2>; 291 #interrupt-cells = <2>;
292 num-pins = <128>; 292 num-pins = <128>;
293 }; 293 };
294
295 mbigen_pcie0: intc_pcie0 {
296 msi-parent = <&its_dsa 0x40085>;
297 interrupt-controller;
298 #interrupt-cells = <2>;
299 num-pins = <10>;
300 };
294 }; 301 };
295 302
296 mbigen_dsa@c0080000 { 303 mbigen_dsa@c0080000 {
@@ -312,6 +319,31 @@
312 }; 319 };
313 }; 320 };
314 321
322 /**
323 * HiSilicon erratum 161010801: This describes the limitation
324 * of HiSilicon platforms hip06/hip07 to support the SMMUv3
325 * mappings for PCIe MSI transactions.
326 * PCIe controller on these platforms has to differentiate the
327 * MSI payload against other DMA payload and has to modify the
328 * MSI payload. This makes it difficult for these platforms to
329 * have a SMMU translation for MSI. In order to workaround this,
330 * ARM SMMUv3 driver requires a quirk to treat the MSI regions
331 * separately. Such a quirk is currently missing for DT based
332 * systems. Hence please make sure that the smmu pcie node on
333 * hip06 is disabled as this will break the PCIe functionality
334 * when iommu-map entry is used along with the PCIe node.
335 * Refer:https://www.spinics.net/lists/arm-kernel/msg602812.html
336 */
337 smmu0: smmu_pcie {
338 compatible = "arm,smmu-v3";
339 reg = <0x0 0xa0040000 0x0 0x20000>;
340 #iommu-cells = <1>;
341 dma-coherent;
342 smmu-cb-memtype = <0x0 0x1>;
343 hisilicon,broken-prefetch-cmd;
344 status = "disabled";
345 };
346
315 soc { 347 soc {
316 compatible = "simple-bus"; 348 compatible = "simple-bus";
317 #address-cells = <2>; 349 #address-cells = <2>;
@@ -676,6 +708,30 @@
676 <637 1>,<638 1>,<639 1>; 708 <637 1>,<638 1>,<639 1>;
677 status = "disabled"; 709 status = "disabled";
678 }; 710 };
711
712 pcie0: pcie@a0090000 {
713 compatible = "hisilicon,hip06-pcie-ecam";
714 reg = <0 0xb0000000 0 0x2000000>,
715 <0 0xa0090000 0 0x10000>;
716 bus-range = <0 31>;
717 msi-map = <0x0000 &its_dsa 0x0000 0x2000>;
718 msi-map-mask = <0xffff>;
719 #address-cells = <3>;
720 #size-cells = <2>;
721 device_type = "pci";
722 dma-coherent;
723 ranges = <0x02000000 0 0xb2000000 0x0 0xb2000000 0
724 0x5ff0000 0x01000000 0 0 0 0xb7ff0000
725 0 0x10000>;
726 #interrupt-cells = <1>;
727 interrupt-map-mask = <0xf800 0 0 7>;
728 interrupt-map = <0x0 0 0 1 &mbigen_pcie0 650 4
729 0x0 0 0 2 &mbigen_pcie0 650 4
730 0x0 0 0 3 &mbigen_pcie0 650 4
731 0x0 0 0 4 &mbigen_pcie0 650 4>;
732 status = "disabled";
733 };
734
679 }; 735 };
680 736
681}; 737};
diff --git a/arch/arm64/boot/dts/hisilicon/hip07.dtsi b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
index 2c01a21c3665..0600a6a84ab7 100644
--- a/arch/arm64/boot/dts/hisilicon/hip07.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hip07.dtsi
@@ -1083,6 +1083,31 @@
1083 }; 1083 };
1084 }; 1084 };
1085 1085
1086 /**
1087 * HiSilicon erratum 161010801: This describes the limitation
1088 * of HiSilicon platforms hip06/hip07 to support the SMMUv3
1089 * mappings for PCIe MSI transactions.
1090 * PCIe controller on these platforms has to differentiate the
1091 * MSI payload against other DMA payload and has to modify the
1092 * MSI payload. This makes it difficult for these platforms to
1093 * have a SMMU translation for MSI. In order to workaround this,
1094 * ARM SMMUv3 driver requires a quirk to treat the MSI regions
1095 * separately. Such a quirk is currently missing for DT based
1096 * systems. Hence please make sure that the smmu pcie node on
1097 * hip07 is disabled as this will break the PCIe functionality
1098 * when iommu-map entry is used along with the PCIe node.
1099 * Refer:https://www.spinics.net/lists/arm-kernel/msg602812.html
1100 */
1101 smmu0: smmu_pcie {
1102 compatible = "arm,smmu-v3";
1103 reg = <0x0 0xa0040000 0x0 0x20000>;
1104 #iommu-cells = <1>;
1105 dma-coherent;
1106 smmu-cb-memtype = <0x0 0x1>;
1107 hisilicon,broken-prefetch-cmd;
1108 status = "disabled";
1109 };
1110
1086 soc { 1111 soc {
1087 compatible = "simple-bus"; 1112 compatible = "simple-bus";
1088 #address-cells = <2>; 1113 #address-cells = <2>;
@@ -1127,6 +1152,12 @@
1127 reg = <0x0 0xc0000000 0x0 0x10000>; 1152 reg = <0x0 0xc0000000 0x0 0x10000>;
1128 }; 1153 };
1129 1154
1155 dsa_cpld: dsa_cpld@78000010 {
1156 compatible = "syscon";
1157 reg = <0x0 0x78000010 0x0 0x100>;
1158 reg-io-width = <2>;
1159 };
1160
1130 pcie_subctl: pcie_subctl@a0000000 { 1161 pcie_subctl: pcie_subctl@a0000000 {
1131 compatible = "hisilicon,pcie-sas-subctrl", "syscon"; 1162 compatible = "hisilicon,pcie-sas-subctrl", "syscon";
1132 reg = <0x0 0xa0000000 0x0 0x10000>; 1163 reg = <0x0 0xa0000000 0x0 0x10000>;
@@ -1258,6 +1289,7 @@
1258 port@0 { 1289 port@0 {
1259 reg = <0>; 1290 reg = <0>;
1260 serdes-syscon = <&serdes_ctrl>; 1291 serdes-syscon = <&serdes_ctrl>;
1292 cpld-syscon = <&dsa_cpld 0x0>;
1261 port-rst-offset = <0>; 1293 port-rst-offset = <0>;
1262 port-mode-offset = <0>; 1294 port-mode-offset = <0>;
1263 mc-mac-mask = [ff f0 00 00 00 00]; 1295 mc-mac-mask = [ff f0 00 00 00 00];
@@ -1267,6 +1299,7 @@
1267 port@1 { 1299 port@1 {
1268 reg = <1>; 1300 reg = <1>;
1269 serdes-syscon= <&serdes_ctrl>; 1301 serdes-syscon= <&serdes_ctrl>;
1302 cpld-syscon = <&dsa_cpld 0x4>;
1270 port-rst-offset = <1>; 1303 port-rst-offset = <1>;
1271 port-mode-offset = <1>; 1304 port-mode-offset = <1>;
1272 mc-mac-mask = [ff f0 00 00 00 00]; 1305 mc-mac-mask = [ff f0 00 00 00 00];
diff --git a/arch/arm64/boot/dts/marvell/armada-371x.dtsi b/arch/arm64/boot/dts/marvell/armada-371x.dtsi
index 11226f7b9ed9..dc1182ec9fa1 100644
--- a/arch/arm64/boot/dts/marvell/armada-371x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-371x.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 371x family of SoCs 3 * Device Tree Include file for Marvell Armada 371x family of SoCs
3 * (also named 88F3710) 4 * (also named 88F3710)
@@ -6,43 +7,6 @@
6 * 7 *
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * 9 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * This file is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * Or, alternatively,
25 *
26 * b) Permission is hereby granted, free of charge, to any person
27 * obtaining a copy of this software and associated documentation
28 * files (the "Software"), to deal in the Software without
29 * restriction, including without limitation the rights to use,
30 * copy, modify, merge, publish, distribute, sublicense, and/or
31 * sell copies of the Software, and to permit persons to whom the
32 * Software is furnished to do so, subject to the following
33 * conditions:
34 *
35 * The above copyright notice and this permission notice shall be
36 * included in all copies or substantial portions of the Software.
37 *
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 * OTHER DEALINGS IN THE SOFTWARE.
46 */ 10 */
47 11
48#include "armada-37xx.dtsi" 12#include "armada-37xx.dtsi"
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-db.dts b/arch/arm64/boot/dts/marvell/armada-3720-db.dts
index 0f3468e777f7..f2cc00594d64 100644
--- a/arch/arm64/boot/dts/marvell/armada-3720-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-db.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Marvell Armada 3720 development board 3 * Device Tree file for Marvell Armada 3720 development board
3 * (DB-88F3720-DDR3) 4 * (DB-88F3720-DDR3)
@@ -5,44 +6,6 @@
5 * 6 *
6 * Gregory CLEMENT <gregory.clement@free-electrons.com> 7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 *
46 * This file is compatible with the version 1.4 and the version 2.0 of 9 * This file is compatible with the version 1.4 and the version 2.0 of
47 * the board, however the CON numbers are different between the 2 10 * the board, however the CON numbers are different between the 2
48 * version 11 * version
diff --git a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts
index bdfb5553ddb5..ef7fd2ca2515 100644
--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts
+++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts
@@ -1,46 +1,13 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree file for Globalscale Marvell ESPRESSOBin Board 3 * Device Tree file for Globalscale Marvell ESPRESSOBin Board
3 * Copyright (C) 2016 Marvell 4 * Copyright (C) 2016 Marvell
4 * 5 *
5 * Romain Perier <romain.perier@free-electrons.com> 6 * Romain Perier <romain.perier@free-electrons.com>
6 * 7 *
7 * This file is dual-licensed: you can use it either under the terms 8 */
8 * of the GPL or the X11 license, at your option. Note that this dual 9/*
9 * licensing only applies to this file, and not this project as a 10 * Schematic available at http://espressobin.net/wp-content/uploads/2017/08/ESPRESSObin_V5_Schematics.pdf
10 * whole.
11 *
12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version.
16 *
17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * Or, alternatively,
23 *
24 * b) Permission is hereby granted, free of charge, to any person
25 * obtaining a copy of this software and associated documentation
26 * files (the "Software"), to deal in the Software without
27 * restriction, including without limitation the rights to use,
28 * copy, modify, merge, publish, distribute, sublicense, and/or
29 * sell copies of the Software, and to permit persons to whom the
30 * Software is furnished to do so, subject to the following
31 * conditions:
32 *
33 * The above copyright notice and this permission notice shall be
34 * included in all copies or substantial portions of the Software.
35 *
36 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43 * OTHER DEALINGS IN THE SOFTWARE.
44 */ 11 */
45 12
46/dts-v1/; 13/dts-v1/;
diff --git a/arch/arm64/boot/dts/marvell/armada-372x.dtsi b/arch/arm64/boot/dts/marvell/armada-372x.dtsi
index 2554e0baea6b..97558a64e276 100644
--- a/arch/arm64/boot/dts/marvell/armada-372x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-372x.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 372x family of SoCs 3 * Device Tree Include file for Marvell Armada 372x family of SoCs
3 * (also named 88F3720) 4 * (also named 88F3720)
@@ -6,43 +7,6 @@
6 * 7 *
7 * Gregory CLEMENT <gregory.clement@free-electrons.com> 8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * 9 *
9 * This file is dual-licensed: you can use it either under the terms
10 * of the GPL or the X11 license, at your option. Note that this dual
11 * licensing only applies to this file, and not this project as a
12 * whole.
13 *
14 * a) This file is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of the
17 * License, or (at your option) any later version.
18 *
19 * This file is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * Or, alternatively,
25 *
26 * b) Permission is hereby granted, free of charge, to any person
27 * obtaining a copy of this software and associated documentation
28 * files (the "Software"), to deal in the Software without
29 * restriction, including without limitation the rights to use,
30 * copy, modify, merge, publish, distribute, sublicense, and/or
31 * sell copies of the Software, and to permit persons to whom the
32 * Software is furnished to do so, subject to the following
33 * conditions:
34 *
35 * The above copyright notice and this permission notice shall be
36 * included in all copies or substantial portions of the Software.
37 *
38 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
39 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
43 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45 * OTHER DEALINGS IN THE SOFTWARE.
46 */ 10 */
47 11
48#include "armada-37xx.dtsi" 12#include "armada-37xx.dtsi"
diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
index 375026867342..97207a61bc79 100644
--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Device Tree Include file for Marvell Armada 37xx family of SoCs. 3 * Device Tree Include file for Marvell Armada 37xx family of SoCs.
3 * 4 *
@@ -5,43 +6,6 @@
5 * 6 *
6 * Gregory CLEMENT <gregory.clement@free-electrons.com> 7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
7 * 8 *
8 * This file is dual-licensed: you can use it either under the terms
9 * of the GPL or the X11 license, at your option. Note that this dual
10 * licensing only applies to this file, and not this project as a
11 * whole.
12 *
13 * a) This file is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License as
15 * published by the Free Software Foundation; either version 2 of the
16 * License, or (at your option) any later version.
17 *
18 * This file is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
22 *
23 * Or, alternatively,
24 *
25 * b) Permission is hereby granted, free of charge, to any person
26 * obtaining a copy of this software and associated documentation
27 * files (the "Software"), to deal in the Software without
28 * restriction, including without limitation the rights to use,
29 * copy, modify, merge, publish, distribute, sublicense, and/or
30 * sell copies of the Software, and to permit persons to whom the
31 * Software is furnished to do so, subject to the following
32 * conditions:
33 *
34 * The above copyright notice and this permission notice shall be
35 * included in all copies or substantial portions of the Software.
36 *
37 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44 * OTHER DEALINGS IN THE SOFTWARE.
45 */ 9 */
46 10
47#include <dt-bindings/interrupt-controller/arm-gic.h> 11#include <dt-bindings/interrupt-controller/arm-gic.h>
diff --git a/arch/arm64/boot/dts/marvell/armada-7020.dtsi b/arch/arm64/boot/dts/marvell/armada-7020.dtsi
index 4ab012991d9d..4e46326dd123 100644
--- a/arch/arm64/boot/dts/marvell/armada-7020.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-7020.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for the Armada 7020 SoC, made of an AP806 Dual and 5 * Device Tree file for the Armada 7020 SoC, made of an AP806 Dual and
45 * one CP110. 6 * one CP110.
46 */ 7 */
diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
index 3ae05eee2c9a..d6bec058a30a 100644
--- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada 7040 Development board platform 5 * Device Tree file for Marvell Armada 7040 Development board platform
45 */ 6 */
46 7
@@ -162,36 +123,48 @@
162 }; 123 };
163}; 124};
164 125
165&cp0_nand { 126&cp0_nand_controller {
166 /* 127 /*
167 * SPI on CPM and NAND have common pins on this board. We can 128 * SPI on CPM and NAND have common pins on this board. We can
168 * use only one at a time. To enable the NAND (whihch will 129 * use only one at a time. To enable the NAND (which will
169 * disable the SPI), the "status = "okay";" line have to be 130 * disable the SPI), the "status = "okay";" line have to be
170 * added here. 131 * added here.
171 */ 132 */
172 num-cs = <1>;
173 pinctrl-0 = <&nand_pins>, <&nand_rb>; 133 pinctrl-0 = <&nand_pins>, <&nand_rb>;
174 pinctrl-names = "default"; 134 pinctrl-names = "default";
175 nand-ecc-strength = <4>; 135
176 nand-ecc-step-size = <512>; 136 nand@0 {
177 marvell,nand-enable-arbiter; 137 reg = <0>;
178 nand-on-flash-bbt; 138 label = "pxa3xx_nand-0";
179 139 nand-rb = <0>;
180 partition@0 { 140 nand-on-flash-bbt;
181 label = "U-Boot"; 141 nand-ecc-strength = <4>;
182 reg = <0 0x200000>; 142 nand-ecc-step-size = <512>;
183 }; 143
184 partition@200000 { 144 partitions {
185 label = "Linux"; 145 compatible = "fixed-partitions";
186 reg = <0x200000 0xe00000>; 146 #address-cells = <1>;
187 }; 147 #size-cells = <1>;
188 partition@1000000 { 148
189 label = "Filesystem"; 149 partition@0 {
190 reg = <0x1000000 0x3f000000>; 150 label = "U-Boot";
151 reg = <0 0x200000>;
152 };
153
154 partition@200000 {
155 label = "Linux";
156 reg = <0x200000 0xe00000>;
157 };
158
159 partition@1000000 {
160 label = "Filesystem";
161 reg = <0x1000000 0x3f000000>;
162 };
163
164 };
191 }; 165 };
192}; 166};
193 167
194
195&cp0_spi1 { 168&cp0_spi1 {
196 status = "okay"; 169 status = "okay";
197 170
diff --git a/arch/arm64/boot/dts/marvell/armada-7040.dtsi b/arch/arm64/boot/dts/marvell/armada-7040.dtsi
index cbe460b8fc00..47247215770d 100644
--- a/arch/arm64/boot/dts/marvell/armada-7040.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-7040.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for the Armada 7040 SoC, made of an AP806 Quad and 5 * Device Tree file for the Armada 7040 SoC, made of an AP806 Quad and
45 * one CP110. 6 * one CP110.
46 */ 7 */
diff --git a/arch/arm64/boot/dts/marvell/armada-70x0.dtsi b/arch/arm64/boot/dts/marvell/armada-70x0.dtsi
index f63b4fbd642b..e5c6d7c25819 100644
--- a/arch/arm64/boot/dts/marvell/armada-70x0.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-70x0.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2017 Marvell Technology Group Ltd. 3 * Copyright (C) 2017 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for the Armada 70x0 SoC 5 * Device Tree file for the Armada 70x0 SoC
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-8020.dtsi b/arch/arm64/boot/dts/marvell/armada-8020.dtsi
index 3318d6b0214b..ba1307c0fadb 100644
--- a/arch/arm64/boot/dts/marvell/armada-8020.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-8020.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for the Armada 8020 SoC, made of an AP806 Dual and 5 * Device Tree file for the Armada 8020 SoC, made of an AP806 Dual and
45 * two CP110. 6 * two CP110.
46 */ 7 */
diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
index dba55baff20f..5689fb23bbab 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada 8040 Development board platform 5 * Device Tree file for Marvell Armada 8040 Development board platform
45 */ 6 */
46 7
@@ -279,27 +240,35 @@
279 * Proper NAND usage will require DPR-76 to be in position 1-2, which disables 240 * Proper NAND usage will require DPR-76 to be in position 1-2, which disables
280 * MDIO signal of CP1. 241 * MDIO signal of CP1.
281 */ 242 */
282&cp1_nand { 243&cp1_nand_controller {
283 num-cs = <1>;
284 pinctrl-0 = <&nand_pins>, <&nand_rb>; 244 pinctrl-0 = <&nand_pins>, <&nand_rb>;
285 pinctrl-names = "default"; 245 pinctrl-names = "default";
286 nand-ecc-strength = <4>; 246
287 nand-ecc-step-size = <512>; 247 nand@0 {
288 marvell,nand-enable-arbiter; 248 reg = <0>;
289 marvell,system-controller = <&cp1_syscon0>; 249 nand-rb = <0>;
290 nand-on-flash-bbt; 250 nand-on-flash-bbt;
291 251 nand-ecc-strength = <4>;
292 partition@0 { 252 nand-ecc-step-size = <512>;
293 label = "U-Boot"; 253
294 reg = <0 0x200000>; 254 partitions {
295 }; 255 compatible = "fixed-partitions";
296 partition@200000 { 256 #address-cells = <1>;
297 label = "Linux"; 257 #size-cells = <1>;
298 reg = <0x200000 0xe00000>; 258
299 }; 259 partition@0 {
300 partition@1000000 { 260 label = "U-Boot";
301 label = "Filesystem"; 261 reg = <0 0x200000>;
302 reg = <0x1000000 0x3f000000>; 262 };
263 partition@200000 {
264 label = "Linux";
265 reg = <0x200000 0xe00000>;
266 };
267 partition@1000000 {
268 label = "Filesystem";
269 reg = <0x1000000 0x3f000000>;
270 };
271 };
303 }; 272 };
304}; 273};
305 274
diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
index 626e9d0462c3..81de03ef860d 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
+++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for MACCHIATOBin Armada 8040 community board platform 5 * Device Tree file for MACCHIATOBin Armada 8040 community board platform
45 */ 6 */
46 7
@@ -49,7 +10,7 @@
49#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/gpio/gpio.h>
50 11
51/ { 12/ {
52 model = "Marvell 8040 MACHIATOBin"; 13 model = "Marvell 8040 MACCHIATOBin";
53 compatible = "marvell,armada8040-mcbin", "marvell,armada8040", 14 compatible = "marvell,armada8040-mcbin", "marvell,armada8040",
54 "marvell,armada-ap806-quad", "marvell,armada-ap806"; 15 "marvell,armada-ap806-quad", "marvell,armada-ap806";
55 16
@@ -163,6 +124,13 @@
163 }; 124 };
164}; 125};
165 126
127/* J25 UART header */
128&cp0_uart1 {
129 pinctrl-names = "default";
130 pinctrl-0 = <&cp0_uart1_pins>;
131 status = "okay";
132};
133
166&cp0_mdio { 134&cp0_mdio {
167 pinctrl-names = "default"; 135 pinctrl-names = "default";
168 pinctrl-0 = <&cp0_ge_mdio_pins>; 136 pinctrl-0 = <&cp0_ge_mdio_pins>;
@@ -195,6 +163,10 @@
195 marvell,pins = "mpp37", "mpp38"; 163 marvell,pins = "mpp37", "mpp38";
196 marvell,function = "i2c0"; 164 marvell,function = "i2c0";
197 }; 165 };
166 cp0_uart1_pins: uart1-pins {
167 marvell,pins = "mpp40", "mpp41";
168 marvell,function = "uart1";
169 };
198 cp0_xhci_vbus_pins: xhci0-vbus-pins { 170 cp0_xhci_vbus_pins: xhci0-vbus-pins {
199 marvell,pins = "mpp47"; 171 marvell,pins = "mpp47";
200 marvell,function = "gpio"; 172 marvell,function = "gpio";
@@ -290,6 +262,17 @@
290 marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16"; 262 marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16";
291 marvell,function = "spi1"; 263 marvell,function = "spi1";
292 }; 264 };
265 cp1_uart0_pins: uart0-pins {
266 marvell,pins = "mpp6", "mpp7";
267 marvell,function = "uart0";
268 };
269};
270
271/* J27 UART header */
272&cp1_uart0 {
273 pinctrl-names = "default";
274 pinctrl-0 = <&cp1_uart0_pins>;
275 status = "okay";
293}; 276};
294 277
295&cp1_sata0 { 278&cp1_sata0 {
diff --git a/arch/arm64/boot/dts/marvell/armada-8040.dtsi b/arch/arm64/boot/dts/marvell/armada-8040.dtsi
index 83d2b40e5981..7699b19224c2 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-8040.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for the Armada 8040 SoC, made of an AP806 Quad and 5 * Device Tree file for the Armada 8040 SoC, made of an AP806 Quad and
45 * two CP110. 6 * two CP110.
46 */ 7 */
diff --git a/arch/arm64/boot/dts/marvell/armada-8080-db.dts b/arch/arm64/boot/dts/marvell/armada-8080-db.dts
index 85b58a19a9fb..4ba158f415ce 100644
--- a/arch/arm64/boot/dts/marvell/armada-8080-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-8080-db.dts
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2017 Marvell Technology Group Ltd. 3 * Copyright (C) 2017 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada-8080 Development board platform 5 * Device Tree file for Marvell Armada-8080 Development board platform
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-8080.dtsi b/arch/arm64/boot/dts/marvell/armada-8080.dtsi
index d5535b716735..299e814d1ded 100644
--- a/arch/arm64/boot/dts/marvell/armada-8080.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-8080.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2017 Marvell Technology Group Ltd. 3 * Copyright (C) 2017 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada-8080 SoC, made of an AP810 OCTA. 5 * Device Tree file for Marvell Armada-8080 SoC, made of an AP810 OCTA.
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-80x0.dtsi b/arch/arm64/boot/dts/marvell/armada-80x0.dtsi
index e9c84a1d3c4d..8129b40f12a4 100644
--- a/arch/arm64/boot/dts/marvell/armada-80x0.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-80x0.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2017 Marvell Technology Group Ltd. 3 * Copyright (C) 2017 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for the Armada 80x0 SoC family 5 * Device Tree file for the Armada 80x0 SoC family
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi b/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi
index b98ea137371d..64b5e61a698e 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada AP806. 5 * Device Tree file for Marvell Armada AP806.
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi b/arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi
index 116164ff260f..746e792767f5 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap806-quad.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada AP806. 5 * Device Tree file for Marvell Armada AP806.
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-ap806.dtsi b/arch/arm64/boot/dts/marvell/armada-ap806.dtsi
index f9b66b81f9fc..176e38d54872 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap806.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap806.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada AP806. 5 * Device Tree file for Marvell Armada AP806.
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-ap810-ap0-octa-core.dtsi b/arch/arm64/boot/dts/marvell/armada-ap810-ap0-octa-core.dtsi
index 7f0661e12f5e..7d00ae78fc79 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap810-ap0-octa-core.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap810-ap0-octa-core.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2017 Marvell Technology Group Ltd. 3 * Copyright (C) 2017 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada AP810 OCTA cores. 5 * Device Tree file for Marvell Armada AP810 OCTA cores.
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi b/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
index 7e6f039f0f80..8107d120a8a7 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
@@ -1,46 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1/* 2/*
2 * Copyright (C) 2017 Marvell Technology Group Ltd. 3 * Copyright (C) 2017 Marvell Technology Group Ltd.
3 * 4 *
4 * This file is dual-licensed: you can use it either under the terms
5 * of the GPLv2 or the X11 license, at your option. Note that this dual
6 * licensing only applies to this file, and not this project as a
7 * whole.
8 *
9 * a) This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation; either version 2 of the
12 * License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * Or, alternatively,
20 *
21 * b) Permission is hereby granted, free of charge, to any person
22 * obtaining a copy of this software and associated documentation
23 * files (the "Software"), to deal in the Software without
24 * restriction, including without limitation the rights to use,
25 * copy, modify, merge, publish, distribute, sublicense, and/or
26 * sell copies of the Software, and to permit persons to whom the
27 * Software is furnished to do so, subject to the following
28 * conditions:
29 *
30 * The above copyright notice and this permission notice shall be
31 * included in all copies or substantial portions of the Software.
32 *
33 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40 * OTHER DEALINGS IN THE SOFTWARE.
41 */
42
43/*
44 * Device Tree file for Marvell Armada AP810. 5 * Device Tree file for Marvell Armada AP810.
45 */ 6 */
46 7
diff --git a/arch/arm64/boot/dts/marvell/armada-common.dtsi b/arch/arm64/boot/dts/marvell/armada-common.dtsi
index c6dd1d81c68d..d5e8aedec188 100644
--- a/arch/arm64/boot/dts/marvell/armada-common.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-common.dtsi
@@ -1,4 +1,4 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR X11) 1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/* 2/*
3 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
4 */ 4 */
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
index a8af4136dbe7..48cad7919efa 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
@@ -1,9 +1,7 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR X11) 1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/* 2/*
3 * Copyright (C) 2016 Marvell Technology Group Ltd. 3 * Copyright (C) 2016 Marvell Technology Group Ltd.
4 */ 4 *
5
6/*
7 * Device Tree file for Marvell Armada CP110. 5 * Device Tree file for Marvell Armada CP110.
8 */ 6 */
9 7
@@ -213,7 +211,9 @@
213 reg = <0x500000 0x4000>; 211 reg = <0x500000 0x4000>;
214 dma-coherent; 212 dma-coherent;
215 interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>; 213 interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>;
216 clocks = <&CP110_LABEL(clk) 1 22>; 214 clock-names = "core", "reg";
215 clocks = <&CP110_LABEL(clk) 1 22>,
216 <&CP110_LABEL(clk) 1 16>;
217 status = "disabled"; 217 status = "disabled";
218 }; 218 };
219 219
@@ -223,7 +223,9 @@
223 reg = <0x510000 0x4000>; 223 reg = <0x510000 0x4000>;
224 dma-coherent; 224 dma-coherent;
225 interrupts = <ICU_GRP_NSR 105 IRQ_TYPE_LEVEL_HIGH>; 225 interrupts = <ICU_GRP_NSR 105 IRQ_TYPE_LEVEL_HIGH>;
226 clocks = <&CP110_LABEL(clk) 1 23>; 226 clock-names = "core", "reg";
227 clocks = <&CP110_LABEL(clk) 1 23>,
228 <&CP110_LABEL(clk) 1 16>;
227 status = "disabled"; 229 status = "disabled";
228 }; 230 };
229 231
@@ -232,7 +234,8 @@
232 "generic-ahci"; 234 "generic-ahci";
233 reg = <0x540000 0x30000>; 235 reg = <0x540000 0x30000>;
234 interrupts = <ICU_GRP_NSR 107 IRQ_TYPE_LEVEL_HIGH>; 236 interrupts = <ICU_GRP_NSR 107 IRQ_TYPE_LEVEL_HIGH>;
235 clocks = <&CP110_LABEL(clk) 1 15>; 237 clocks = <&CP110_LABEL(clk) 1 15>,
238 <&CP110_LABEL(clk) 1 16>;
236 status = "disabled"; 239 status = "disabled";
237 }; 240 };
238 241
@@ -241,7 +244,9 @@
241 reg = <0x6a0000 0x1000>, <0x6b0000 0x1000>; 244 reg = <0x6a0000 0x1000>, <0x6b0000 0x1000>;
242 dma-coherent; 245 dma-coherent;
243 msi-parent = <&gic_v2m0>; 246 msi-parent = <&gic_v2m0>;
244 clocks = <&CP110_LABEL(clk) 1 8>; 247 clock-names = "core", "reg";
248 clocks = <&CP110_LABEL(clk) 1 8>,
249 <&CP110_LABEL(clk) 1 14>;
245 }; 250 };
246 251
247 CP110_LABEL(xor1): xor@6c0000 { 252 CP110_LABEL(xor1): xor@6c0000 {
@@ -249,7 +254,9 @@
249 reg = <0x6c0000 0x1000>, <0x6d0000 0x1000>; 254 reg = <0x6c0000 0x1000>, <0x6d0000 0x1000>;
250 dma-coherent; 255 dma-coherent;
251 msi-parent = <&gic_v2m0>; 256 msi-parent = <&gic_v2m0>;
252 clocks = <&CP110_LABEL(clk) 1 7>; 257 clock-names = "core", "reg";
258 clocks = <&CP110_LABEL(clk) 1 7>,
259 <&CP110_LABEL(clk) 1 14>;
253 }; 260 };
254 261
255 CP110_LABEL(spi0): spi@700600 { 262 CP110_LABEL(spi0): spi@700600 {
@@ -257,7 +264,9 @@
257 reg = <0x700600 0x50>; 264 reg = <0x700600 0x50>;
258 #address-cells = <0x1>; 265 #address-cells = <0x1>;
259 #size-cells = <0x0>; 266 #size-cells = <0x0>;
260 clocks = <&CP110_LABEL(clk) 1 21>; 267 clock-names = "core", "axi";
268 clocks = <&CP110_LABEL(clk) 1 21>,
269 <&CP110_LABEL(clk) 1 17>;
261 status = "disabled"; 270 status = "disabled";
262 }; 271 };
263 272
@@ -266,7 +275,9 @@
266 reg = <0x700680 0x50>; 275 reg = <0x700680 0x50>;
267 #address-cells = <1>; 276 #address-cells = <1>;
268 #size-cells = <0>; 277 #size-cells = <0>;
269 clocks = <&CP110_LABEL(clk) 1 21>; 278 clock-names = "core", "axi";
279 clocks = <&CP110_LABEL(clk) 1 21>,
280 <&CP110_LABEL(clk) 1 17>;
270 status = "disabled"; 281 status = "disabled";
271 }; 282 };
272 283
@@ -276,7 +287,9 @@
276 #address-cells = <1>; 287 #address-cells = <1>;
277 #size-cells = <0>; 288 #size-cells = <0>;
278 interrupts = <ICU_GRP_NSR 120 IRQ_TYPE_LEVEL_HIGH>; 289 interrupts = <ICU_GRP_NSR 120 IRQ_TYPE_LEVEL_HIGH>;
279 clocks = <&CP110_LABEL(clk) 1 21>; 290 clock-names = "core", "reg";
291 clocks = <&CP110_LABEL(clk) 1 21>,
292 <&CP110_LABEL(clk) 1 17>;
280 status = "disabled"; 293 status = "disabled";
281 }; 294 };
282 295
@@ -286,23 +299,75 @@
286 #address-cells = <1>; 299 #address-cells = <1>;
287 #size-cells = <0>; 300 #size-cells = <0>;
288 interrupts = <ICU_GRP_NSR 121 IRQ_TYPE_LEVEL_HIGH>; 301 interrupts = <ICU_GRP_NSR 121 IRQ_TYPE_LEVEL_HIGH>;
289 clocks = <&CP110_LABEL(clk) 1 21>; 302 clock-names = "core", "reg";
303 clocks = <&CP110_LABEL(clk) 1 21>,
304 <&CP110_LABEL(clk) 1 17>;
305 status = "disabled";
306 };
307
308 CP110_LABEL(uart0): serial@702000 {
309 compatible = "snps,dw-apb-uart";
310 reg = <0x702000 0x100>;
311 reg-shift = <2>;
312 interrupts = <ICU_GRP_NSR 122 IRQ_TYPE_LEVEL_HIGH>;
313 reg-io-width = <1>;
314 clock-names = "baudclk", "apb_pclk";
315 clocks = <&CP110_LABEL(clk) 1 21>,
316 <&CP110_LABEL(clk) 1 17>;
317 status = "disabled";
318 };
319
320 CP110_LABEL(uart1): serial@702100 {
321 compatible = "snps,dw-apb-uart";
322 reg = <0x702100 0x100>;
323 reg-shift = <2>;
324 interrupts = <ICU_GRP_NSR 123 IRQ_TYPE_LEVEL_HIGH>;
325 reg-io-width = <1>;
326 clock-names = "baudclk", "apb_pclk";
327 clocks = <&CP110_LABEL(clk) 1 21>,
328 <&CP110_LABEL(clk) 1 17>;
329 status = "disabled";
330 };
331
332 CP110_LABEL(uart2): serial@702200 {
333 compatible = "snps,dw-apb-uart";
334 reg = <0x702200 0x100>;
335 reg-shift = <2>;
336 interrupts = <ICU_GRP_NSR 124 IRQ_TYPE_LEVEL_HIGH>;
337 reg-io-width = <1>;
338 clock-names = "baudclk", "apb_pclk";
339 clocks = <&CP110_LABEL(clk) 1 21>,
340 <&CP110_LABEL(clk) 1 17>;
290 status = "disabled"; 341 status = "disabled";
291 }; 342 };
292 343
293 CP110_LABEL(nand): nand@720000 { 344 CP110_LABEL(uart3): serial@702300 {
345 compatible = "snps,dw-apb-uart";
346 reg = <0x702300 0x100>;
347 reg-shift = <2>;
348 interrupts = <ICU_GRP_NSR 125 IRQ_TYPE_LEVEL_HIGH>;
349 reg-io-width = <1>;
350 clock-names = "baudclk", "apb_pclk";
351 clocks = <&CP110_LABEL(clk) 1 21>,
352 <&CP110_LABEL(clk) 1 17>;
353 status = "disabled";
354 };
355
356 CP110_LABEL(nand_controller): nand@720000 {
294 /* 357 /*
295 * Due to the limitation of the pins available 358 * Due to the limitation of the pins available
296 * this controller is only usable on the CPM 359 * this controller is only usable on the CPM
297 * for A7K and on the CPS for A8K. 360 * for A7K and on the CPS for A8K.
298 */ 361 */
299 compatible = "marvell,armada-8k-nand", 362 compatible = "marvell,armada-8k-nand-controller",
300 "marvell,armada370-nand"; 363 "marvell,armada370-nand-controller";
301 reg = <0x720000 0x54>; 364 reg = <0x720000 0x54>;
302 #address-cells = <1>; 365 #address-cells = <1>;
303 #size-cells = <1>; 366 #size-cells = <0>;
304 interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>; 367 interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>;
305 clocks = <&CP110_LABEL(clk) 1 2>; 368 clock-names = "core", "reg";
369 clocks = <&CP110_LABEL(clk) 1 2>,
370 <&CP110_LABEL(clk) 1 17>;
306 marvell,system-controller = <&CP110_LABEL(syscon0)>; 371 marvell,system-controller = <&CP110_LABEL(syscon0)>;
307 status = "disabled"; 372 status = "disabled";
308 }; 373 };
@@ -312,7 +377,9 @@
312 "inside-secure,safexcel-eip76"; 377 "inside-secure,safexcel-eip76";
313 reg = <0x760000 0x7d>; 378 reg = <0x760000 0x7d>;
314 interrupts = <ICU_GRP_NSR 95 IRQ_TYPE_LEVEL_HIGH>; 379 interrupts = <ICU_GRP_NSR 95 IRQ_TYPE_LEVEL_HIGH>;
315 clocks = <&CP110_LABEL(clk) 1 25>; 380 clock-names = "core", "reg";
381 clocks = <&CP110_LABEL(clk) 1 25>,
382 <&CP110_LABEL(clk) 1 17>;
316 status = "okay"; 383 status = "okay";
317 }; 384 };
318 385
@@ -337,7 +404,9 @@
337 <ICU_GRP_NSR 92 IRQ_TYPE_LEVEL_HIGH>; 404 <ICU_GRP_NSR 92 IRQ_TYPE_LEVEL_HIGH>;
338 interrupt-names = "mem", "ring0", "ring1", 405 interrupt-names = "mem", "ring0", "ring1",
339 "ring2", "ring3", "eip"; 406 "ring2", "ring3", "eip";
340 clocks = <&CP110_LABEL(clk) 1 26>; 407 clock-names = "core", "reg";
408 clocks = <&CP110_LABEL(clk) 1 26>,
409 <&CP110_LABEL(clk) 1 17>;
341 dma-coherent; 410 dma-coherent;
342 }; 411 };
343 }; 412 };
@@ -364,7 +433,8 @@
364 interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>; 433 interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
365 interrupts = <ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>; 434 interrupts = <ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
366 num-lanes = <1>; 435 num-lanes = <1>;
367 clocks = <&CP110_LABEL(clk) 1 13>; 436 clock-names = "core", "reg";
437 clocks = <&CP110_LABEL(clk) 1 13>, <&CP110_LABEL(clk) 1 14>;
368 status = "disabled"; 438 status = "disabled";
369 }; 439 };
370 440
@@ -391,7 +461,8 @@
391 interrupts = <ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>; 461 interrupts = <ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
392 462
393 num-lanes = <1>; 463 num-lanes = <1>;
394 clocks = <&CP110_LABEL(clk) 1 11>; 464 clock-names = "core", "reg";
465 clocks = <&CP110_LABEL(clk) 1 11>, <&CP110_LABEL(clk) 1 14>;
395 status = "disabled"; 466 status = "disabled";
396 }; 467 };
397 468
@@ -418,7 +489,8 @@
418 interrupts = <ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>; 489 interrupts = <ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
419 490
420 num-lanes = <1>; 491 num-lanes = <1>;
421 clocks = <&CP110_LABEL(clk) 1 12>; 492 clock-names = "core", "reg";
493 clocks = <&CP110_LABEL(clk) 1 12>, <&CP110_LABEL(clk) 1 14>;
422 status = "disabled"; 494 status = "disabled";
423 }; 495 };
424}; 496};
diff --git a/arch/arm64/boot/dts/mediatek/mt2712-evb.dts b/arch/arm64/boot/dts/mediatek/mt2712-evb.dts
index 10f9c76cd105..4ce9d6ca0bf7 100644
--- a/arch/arm64/boot/dts/mediatek/mt2712-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt2712-evb.dts
@@ -41,6 +41,10 @@
41 41
42}; 42};
43 43
44&auxadc {
45 status = "okay";
46};
47
44&cpu0 { 48&cpu0 {
45 proc-supply = <&cpus_fixed_vproc0>; 49 proc-supply = <&cpus_fixed_vproc0>;
46}; 50};
diff --git a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
index fdf66f4fe7c3..9d88f41aefa0 100644
--- a/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt2712e.dtsi
@@ -289,6 +289,15 @@
289 (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_HIGH)>; 289 (GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_HIGH)>;
290 }; 290 };
291 291
292 auxadc: adc@11001000 {
293 compatible = "mediatek,mt2712-auxadc";
294 reg = <0 0x11001000 0 0x1000>;
295 clocks = <&pericfg CLK_PERI_AUXADC>;
296 clock-names = "main";
297 #io-channel-cells = <1>;
298 status = "disabled";
299 };
300
292 uart0: serial@11002000 { 301 uart0: serial@11002000 {
293 compatible = "mediatek,mt2712-uart", 302 compatible = "mediatek,mt2712-uart",
294 "mediatek,mt6577-uart"; 303 "mediatek,mt6577-uart";
diff --git a/arch/arm64/boot/dts/mediatek/mt6380.dtsi b/arch/arm64/boot/dts/mediatek/mt6380.dtsi
new file mode 100644
index 000000000000..53b335d2de5f
--- /dev/null
+++ b/arch/arm64/boot/dts/mediatek/mt6380.dtsi
@@ -0,0 +1,86 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * dts file for MediaTek MT6380 regulator
4 *
5 * Copyright (c) 2018 MediaTek Inc.
6 * Author: Chenglin Xu <chenglin.xu@mediatek.com>
7 * Sean Wang <sean.wang@mediatek.com>
8 */
9
10&pwrap {
11 regulators {
12 compatible = "mediatek,mt6380-regulator";
13
14 mt6380_vcpu_reg: buck-vcore1 {
15 regulator-name = "vcore1";
16 regulator-min-microvolt = < 600000>;
17 regulator-max-microvolt = <1393750>;
18 regulator-ramp-delay = <6250>;
19 regulator-always-on;
20 regulator-boot-on;
21 };
22
23 mt6380_vcore_reg: buck-vcore {
24 regulator-name = "vcore";
25 regulator-min-microvolt = <600000>;
26 regulator-max-microvolt = <1393750>;
27 regulator-ramp-delay = <6250>;
28 regulator-always-on;
29 regulator-boot-on;
30 };
31
32 mt6380_vrf_reg: buck-vrf {
33 regulator-name = "vrf";
34 regulator-min-microvolt = <1200000>;
35 regulator-max-microvolt = <1575000>;
36 regulator-ramp-delay = <0>;
37 regulator-always-on;
38 regulator-boot-on;
39 };
40
41 mt6380_vm_reg: ldo-vm {
42 regulator-name = "vm";
43 regulator-min-microvolt = <1050000>;
44 regulator-max-microvolt = <1400000>;
45 regulator-ramp-delay = <0>;
46 regulator-always-on;
47 regulator-boot-on;
48 };
49
50 mt6380_va_reg: ldo-va {
51 regulator-name = "va";
52 regulator-min-microvolt = <2200000>;
53 regulator-max-microvolt = <3300000>;
54 regulator-ramp-delay = <0>;
55 regulator-always-on;
56 regulator-boot-on;
57 };
58
59 mt6380_vphy_reg: ldo-vphy {
60 regulator-name = "vphy";
61 regulator-min-microvolt = <1800000>;
62 regulator-max-microvolt = <1800000>;
63 regulator-ramp-delay = <0>;
64 regulator-always-on;
65 regulator-boot-on;
66 };
67
68 mt6380_vddr_reg: ldo-vddr {
69 regulator-name = "vddr";
70 regulator-min-microvolt = <1240000>;
71 regulator-max-microvolt = <1840000>;
72 regulator-ramp-delay = <0>;
73 regulator-always-on;
74 regulator-boot-on;
75 };
76
77 mt6380_vt_reg: ldo-vt {
78 regulator-name = "vt";
79 regulator-min-microvolt = <2200000>;
80 regulator-max-microvolt = <3300000>;
81 regulator-ramp-delay = <0>;
82 regulator-always-on;
83 regulator-boot-on;
84 };
85 };
86};
diff --git a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
index c08309df2cc7..45d8655ee423 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
+++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts
@@ -7,7 +7,11 @@
7 */ 7 */
8 8
9/dts-v1/; 9/dts-v1/;
10#include <dt-bindings/input/input.h>
11#include <dt-bindings/gpio/gpio.h>
12
10#include "mt7622.dtsi" 13#include "mt7622.dtsi"
14#include "mt6380.dtsi"
11 15
12/ { 16/ {
13 model = "MediaTek MT7622 RFB1 board"; 17 model = "MediaTek MT7622 RFB1 board";
@@ -17,11 +21,476 @@
17 bootargs = "console=ttyS0,115200n1"; 21 bootargs = "console=ttyS0,115200n1";
18 }; 22 };
19 23
24 cpus {
25 cpu@0 {
26 proc-supply = <&mt6380_vcpu_reg>;
27 sram-supply = <&mt6380_vm_reg>;
28 };
29
30 cpu@1 {
31 proc-supply = <&mt6380_vcpu_reg>;
32 sram-supply = <&mt6380_vm_reg>;
33 };
34 };
35
36 gpio-keys {
37 compatible = "gpio-keys-polled";
38 poll-interval = <100>;
39
40 factory {
41 label = "factory";
42 linux,code = <BTN_0>;
43 gpios = <&pio 0 0>;
44 };
45
46 wps {
47 label = "wps";
48 linux,code = <KEY_WPS_BUTTON>;
49 gpios = <&pio 102 0>;
50 };
51 };
52
20 memory { 53 memory {
21 reg = <0 0x40000000 0 0x3F000000>; 54 reg = <0 0x40000000 0 0x3F000000>;
22 }; 55 };
56
57 reg_1p8v: regulator-1p8v {
58 compatible = "regulator-fixed";
59 regulator-name = "fixed-1.8V";
60 regulator-min-microvolt = <1800000>;
61 regulator-max-microvolt = <1800000>;
62 regulator-always-on;
63 };
64
65 reg_3p3v: regulator-3p3v {
66 compatible = "regulator-fixed";
67 regulator-name = "fixed-3.3V";
68 regulator-min-microvolt = <3300000>;
69 regulator-max-microvolt = <3300000>;
70 regulator-boot-on;
71 regulator-always-on;
72 };
73
74 reg_5v: regulator-5v {
75 compatible = "regulator-fixed";
76 regulator-name = "fixed-5V";
77 regulator-min-microvolt = <5000000>;
78 regulator-max-microvolt = <5000000>;
79 regulator-boot-on;
80 regulator-always-on;
81 };
82};
83
84&pcie {
85 pinctrl-names = "default";
86 pinctrl-0 = <&pcie0_pins>;
87 status = "okay";
88
89 pcie@0,0 {
90 status = "okay";
91 };
92};
93
94&pio {
95 /* eMMC is shared pin with parallel NAND */
96 emmc_pins_default: emmc-pins-default {
97 mux {
98 function = "emmc", "emmc_rst";
99 groups = "emmc";
100 };
101
102 /* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
103 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
104 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
105 */
106 conf-cmd-dat {
107 pins = "NDL0", "NDL1", "NDL2",
108 "NDL3", "NDL4", "NDL5",
109 "NDL6", "NDL7", "NRB";
110 input-enable;
111 bias-pull-up;
112 };
113
114 conf-clk {
115 pins = "NCLE";
116 bias-pull-down;
117 };
118 };
119
120 emmc_pins_uhs: emmc-pins-uhs {
121 mux {
122 function = "emmc";
123 groups = "emmc";
124 };
125
126 conf-cmd-dat {
127 pins = "NDL0", "NDL1", "NDL2",
128 "NDL3", "NDL4", "NDL5",
129 "NDL6", "NDL7", "NRB";
130 input-enable;
131 drive-strength = <4>;
132 bias-pull-up;
133 };
134
135 conf-clk {
136 pins = "NCLE";
137 drive-strength = <4>;
138 bias-pull-down;
139 };
140 };
141
142 eth_pins: eth-pins {
143 mux {
144 function = "eth";
145 groups = "mdc_mdio", "rgmii_via_gmac2";
146 };
147 };
148
149 i2c1_pins: i2c1-pins {
150 mux {
151 function = "i2c";
152 groups = "i2c1_0";
153 };
154 };
155
156 i2c2_pins: i2c2-pins {
157 mux {
158 function = "i2c";
159 groups = "i2c2_0";
160 };
161 };
162
163 i2s1_pins: i2s1-pins {
164 mux {
165 function = "i2s";
166 groups = "i2s_out_bclk_ws_mclk",
167 "i2s1_in_data",
168 "i2s1_out_data";
169 };
170 };
171
172 irrx_pins: irrx-pins {
173 mux {
174 function = "ir";
175 groups = "ir_1_rx";
176 };
177 };
178
179 irtx_pins: irtx-pins {
180 mux {
181 function = "ir";
182 groups = "ir_1_tx";
183 };
184 };
185
186 /* Parallel nand is shared pin with eMMC */
187 parallel_nand_pins: parallel-nand-pins {
188 mux {
189 function = "flash";
190 groups = "par_nand";
191 };
192 };
193
194 pcie0_pins: pcie0-pins {
195 mux {
196 function = "pcie";
197 groups = "pcie0_pad_perst",
198 "pcie0_1_waken",
199 "pcie0_1_clkreq";
200 };
201 };
202
203 pcie1_pins: pcie1-pins {
204 mux {
205 function = "pcie";
206 groups = "pcie1_pad_perst",
207 "pcie1_0_waken",
208 "pcie1_0_clkreq";
209 };
210 };
211
212 pmic_bus_pins: pmic-bus-pins {
213 mux {
214 function = "pmic";
215 groups = "pmic_bus";
216 };
217 };
218
219 pwm7_pins: pwm1-2-pins {
220 mux {
221 function = "pwm";
222 groups = "pwm_ch7_2";
223 };
224 };
225
226 wled_pins: wled-pins {
227 mux {
228 function = "led";
229 groups = "wled";
230 };
231 };
232
233 sd0_pins_default: sd0-pins-default {
234 mux {
235 function = "sd";
236 groups = "sd_0";
237 };
238
239 /* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
240 * "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
241 * DAT2, DAT3, CMD, CLK for SD respectively.
242 */
243 conf-cmd-data {
244 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
245 "I2S2_IN","I2S4_OUT";
246 input-enable;
247 drive-strength = <8>;
248 bias-pull-up;
249 };
250 conf-clk {
251 pins = "I2S3_OUT";
252 drive-strength = <12>;
253 bias-pull-down;
254 };
255 conf-cd {
256 pins = "TXD3";
257 bias-pull-up;
258 };
259 };
260
261 sd0_pins_uhs: sd0-pins-uhs {
262 mux {
263 function = "sd";
264 groups = "sd_0";
265 };
266
267 conf-cmd-data {
268 pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
269 "I2S2_IN","I2S4_OUT";
270 input-enable;
271 bias-pull-up;
272 };
273
274 conf-clk {
275 pins = "I2S3_OUT";
276 bias-pull-down;
277 };
278 };
279
280 /* Serial NAND is shared pin with SPI-NOR */
281 serial_nand_pins: serial-nand-pins {
282 mux {
283 function = "flash";
284 groups = "snfi";
285 };
286 };
287
288 spic0_pins: spic0-pins {
289 mux {
290 function = "spi";
291 groups = "spic0_0";
292 };
293 };
294
295 spic1_pins: spic1-pins {
296 mux {
297 function = "spi";
298 groups = "spic1_0";
299 };
300 };
301
302 /* SPI-NOR is shared pin with serial NAND */
303 spi_nor_pins: spi-nor-pins {
304 mux {
305 function = "flash";
306 groups = "spi_nor";
307 };
308 };
309
310 /* serial NAND is shared pin with SPI-NOR */
311 serial_nand_pins: serial-nand-pins {
312 mux {
313 function = "flash";
314 groups = "snfi";
315 };
316 };
317
318 uart0_pins: uart0-pins {
319 mux {
320 function = "uart";
321 groups = "uart0_0_tx_rx" ;
322 };
323 };
324
325 uart2_pins: uart2-pins {
326 mux {
327 function = "uart";
328 groups = "uart2_1_tx_rx" ;
329 };
330 };
331
332 watchdog_pins: watchdog-pins {
333 mux {
334 function = "watchdog";
335 groups = "watchdog";
336 };
337 };
338};
339
340&bch {
341 status = "disabled";
342};
343
344&btif {
345 status = "okay";
346};
347
348&cir {
349 pinctrl-names = "default";
350 pinctrl-0 = <&irrx_pins>;
351 status = "okay";
352};
353
354&eth {
355 pinctrl-names = "default";
356 pinctrl-0 = <&eth_pins>;
357 status = "okay";
358
359 gmac1: mac@1 {
360 compatible = "mediatek,eth-mac";
361 reg = <1>;
362 phy-handle = <&phy5>;
363 };
364
365 mdio-bus {
366 #address-cells = <1>;
367 #size-cells = <0>;
368
369 phy5: ethernet-phy@5 {
370 reg = <5>;
371 phy-mode = "sgmii";
372 };
373 };
374};
375
376&i2c1 {
377 pinctrl-names = "default";
378 pinctrl-0 = <&i2c1_pins>;
379 status = "okay";
380};
381
382&i2c2 {
383 pinctrl-names = "default";
384 pinctrl-0 = <&i2c2_pins>;
385 status = "okay";
386};
387
388&mmc0 {
389 pinctrl-names = "default", "state_uhs";
390 pinctrl-0 = <&emmc_pins_default>;
391 pinctrl-1 = <&emmc_pins_uhs>;
392 status = "okay";
393 bus-width = <8>;
394 max-frequency = <50000000>;
395 cap-mmc-highspeed;
396 mmc-hs200-1_8v;
397 vmmc-supply = <&reg_3p3v>;
398 vqmmc-supply = <&reg_1p8v>;
399 assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>;
400 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
401 non-removable;
402};
403
404&mmc1 {
405 pinctrl-names = "default", "state_uhs";
406 pinctrl-0 = <&sd0_pins_default>;
407 pinctrl-1 = <&sd0_pins_uhs>;
408 status = "okay";
409 bus-width = <4>;
410 max-frequency = <50000000>;
411 cap-sd-highspeed;
412 r_smpl = <1>;
413 cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
414 vmmc-supply = <&reg_3p3v>;
415 vqmmc-supply = <&reg_3p3v>;
416 assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
417 assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
418};
419
420&nandc {
421 pinctrl-names = "default";
422 pinctrl-0 = <&parallel_nand_pins>;
423 status = "disabled";
424};
425
426&nor_flash {
427 pinctrl-names = "default";
428 pinctrl-0 = <&spi_nor_pins>;
429 status = "disabled";
430
431 flash@0 {
432 compatible = "jedec,spi-nor";
433 reg = <0>;
434 };
435};
436
437&pwm {
438 pinctrl-names = "default";
439 pinctrl-0 = <&pwm7_pins>;
440 status = "okay";
441};
442
443&pwrap {
444 pinctrl-names = "default";
445 pinctrl-0 = <&pmic_bus_pins>;
446
447 status = "okay";
448};
449
450&sata {
451 status = "okay";
452};
453
454&sata_phy {
455 status = "okay";
456};
457
458&spi0 {
459 pinctrl-names = "default";
460 pinctrl-0 = <&spic0_pins>;
461 status = "okay";
462};
463
464&spi1 {
465 pinctrl-names = "default";
466 pinctrl-0 = <&spic1_pins>;
467 status = "okay";
468};
469
470&ssusb {
471 vusb33-supply = <&reg_3p3v>;
472 vbus-supply = <&reg_5v>;
473 status = "okay";
474};
475
476&u3phy {
477 status = "okay";
23}; 478};
24 479
25&uart0 { 480&uart0 {
481 pinctrl-names = "default";
482 pinctrl-0 = <&uart0_pins>;
483 status = "okay";
484};
485
486&uart2 {
487 pinctrl-names = "default";
488 pinctrl-0 = <&uart2_pins>;
489 status = "okay";
490};
491
492&watchdog {
493 pinctrl-names = "default";
494 pinctrl-0 = <&watchdog_pins>;
26 status = "okay"; 495 status = "okay";
27}; 496};
diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
index b111fec2ed9d..e9d5130df8d1 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
@@ -8,6 +8,11 @@
8 8
9#include <dt-bindings/interrupt-controller/irq.h> 9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h> 10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/clock/mt7622-clk.h>
12#include <dt-bindings/phy/phy.h>
13#include <dt-bindings/power/mt7622-power.h>
14#include <dt-bindings/reset/mt7622-reset.h>
15#include <dt-bindings/thermal/thermal.h>
11 16
12/ { 17/ {
13 compatible = "mediatek,mt7622"; 18 compatible = "mediatek,mt7622";
@@ -15,6 +20,50 @@
15 #address-cells = <2>; 20 #address-cells = <2>;
16 #size-cells = <2>; 21 #size-cells = <2>;
17 22
23 cpu_opp_table: opp-table {
24 compatible = "operating-points-v2";
25 opp-shared;
26 opp-300000000 {
27 opp-hz = /bits/ 64 <30000000>;
28 opp-microvolt = <950000>;
29 };
30
31 opp-437500000 {
32 opp-hz = /bits/ 64 <437500000>;
33 opp-microvolt = <1000000>;
34 };
35
36 opp-600000000 {
37 opp-hz = /bits/ 64 <600000000>;
38 opp-microvolt = <1050000>;
39 };
40
41 opp-812500000 {
42 opp-hz = /bits/ 64 <812500000>;
43 opp-microvolt = <1100000>;
44 };
45
46 opp-1025000000 {
47 opp-hz = /bits/ 64 <1025000000>;
48 opp-microvolt = <1150000>;
49 };
50
51 opp-1137500000 {
52 opp-hz = /bits/ 64 <1137500000>;
53 opp-microvolt = <1200000>;
54 };
55
56 opp-1262500000 {
57 opp-hz = /bits/ 64 <1262500000>;
58 opp-microvolt = <1250000>;
59 };
60
61 opp-1350000000 {
62 opp-hz = /bits/ 64 <1350000000>;
63 opp-microvolt = <1310000>;
64 };
65 };
66
18 cpus { 67 cpus {
19 #address-cells = <2>; 68 #address-cells = <2>;
20 #size-cells = <0>; 69 #size-cells = <0>;
@@ -23,6 +72,11 @@
23 device_type = "cpu"; 72 device_type = "cpu";
24 compatible = "arm,cortex-a53", "arm,armv8"; 73 compatible = "arm,cortex-a53", "arm,armv8";
25 reg = <0x0 0x0>; 74 reg = <0x0 0x0>;
75 clocks = <&infracfg CLK_INFRA_MUX1_SEL>,
76 <&apmixedsys CLK_APMIXED_MAIN_CORE_EN>;
77 clock-names = "cpu", "intermediate";
78 operating-points-v2 = <&cpu_opp_table>;
79 #cooling-cells = <2>;
26 enable-method = "psci"; 80 enable-method = "psci";
27 clock-frequency = <1300000000>; 81 clock-frequency = <1300000000>;
28 }; 82 };
@@ -31,21 +85,26 @@
31 device_type = "cpu"; 85 device_type = "cpu";
32 compatible = "arm,cortex-a53", "arm,armv8"; 86 compatible = "arm,cortex-a53", "arm,armv8";
33 reg = <0x0 0x1>; 87 reg = <0x0 0x1>;
88 clocks = <&infracfg CLK_INFRA_MUX1_SEL>,
89 <&apmixedsys CLK_APMIXED_MAIN_CORE_EN>;
90 clock-names = "cpu", "intermediate";
91 operating-points-v2 = <&cpu_opp_table>;
34 enable-method = "psci"; 92 enable-method = "psci";
35 clock-frequency = <1300000000>; 93 clock-frequency = <1300000000>;
36 }; 94 };
37 }; 95 };
38 96
39 uart_clk: dummy25m { 97 pwrap_clk: dummy40m {
40 compatible = "fixed-clock"; 98 compatible = "fixed-clock";
99 clock-frequency = <40000000>;
41 #clock-cells = <0>; 100 #clock-cells = <0>;
42 clock-frequency = <25000000>;
43 }; 101 };
44 102
45 bus_clk: dummy280m { 103 clk25m: oscillator {
46 compatible = "fixed-clock"; 104 compatible = "fixed-clock";
47 #clock-cells = <0>; 105 #clock-cells = <0>;
48 clock-frequency = <280000000>; 106 clock-frequency = <25000000>;
107 clock-output-names = "clkxtal";
49 }; 108 };
50 109
51 psci { 110 psci {
@@ -65,6 +124,58 @@
65 }; 124 };
66 }; 125 };
67 126
127 thermal-zones {
128 cpu_thermal: cpu-thermal {
129 polling-delay-passive = <1000>;
130 polling-delay = <1000>;
131
132 thermal-sensors = <&thermal 0>;
133
134 trips {
135 cpu_passive: cpu-passive {
136 temperature = <47000>;
137 hysteresis = <2000>;
138 type = "passive";
139 };
140
141 cpu_active: cpu-active {
142 temperature = <67000>;
143 hysteresis = <2000>;
144 type = "active";
145 };
146
147 cpu_hot: cpu-hot {
148 temperature = <87000>;
149 hysteresis = <2000>;
150 type = "hot";
151 };
152
153 cpu-crit {
154 temperature = <107000>;
155 hysteresis = <2000>;
156 type = "critical";
157 };
158 };
159
160 cooling-maps {
161 map0 {
162 trip = <&cpu_passive>;
163 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
164 };
165
166 map1 {
167 trip = <&cpu_active>;
168 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
169 };
170
171 map2 {
172 trip = <&cpu_hot>;
173 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
174 };
175 };
176 };
177 };
178
68 timer { 179 timer {
69 compatible = "arm,armv8-timer"; 180 compatible = "arm,armv8-timer";
70 interrupt-parent = <&gic>; 181 interrupt-parent = <&gic>;
@@ -78,6 +189,58 @@
78 IRQ_TYPE_LEVEL_HIGH)>; 189 IRQ_TYPE_LEVEL_HIGH)>;
79 }; 190 };
80 191
192 infracfg: infracfg@10000000 {
193 compatible = "mediatek,mt7622-infracfg",
194 "syscon";
195 reg = <0 0x10000000 0 0x1000>;
196 #clock-cells = <1>;
197 #reset-cells = <1>;
198 };
199
200 pwrap: pwrap@10001000 {
201 compatible = "mediatek,mt7622-pwrap";
202 reg = <0 0x10001000 0 0x250>;
203 reg-names = "pwrap";
204 clocks = <&infracfg CLK_INFRA_PMIC_PD>, <&pwrap_clk>;
205 clock-names = "spi", "wrap";
206 resets = <&infracfg MT7622_INFRA_PMIC_WRAP_RST>;
207 reset-names = "pwrap";
208 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
209 status = "disabled";
210 };
211
212 pericfg: pericfg@10002000 {
213 compatible = "mediatek,mt7622-pericfg",
214 "syscon";
215 reg = <0 0x10002000 0 0x1000>;
216 #clock-cells = <1>;
217 #reset-cells = <1>;
218 };
219
220 scpsys: scpsys@10006000 {
221 compatible = "mediatek,mt7622-scpsys",
222 "syscon";
223 #power-domain-cells = <1>;
224 reg = <0 0x10006000 0 0x1000>;
225 interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_LOW>,
226 <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>,
227 <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>,
228 <GIC_SPI 168 IRQ_TYPE_LEVEL_LOW>;
229 infracfg = <&infracfg>;
230 clocks = <&topckgen CLK_TOP_HIF_SEL>;
231 clock-names = "hif_sel";
232 };
233
234 cir: cir@10009000 {
235 compatible = "mediatek,mt7622-cir";
236 reg = <0 0x10009000 0 0x1000>;
237 interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_LOW>;
238 clocks = <&infracfg CLK_INFRA_IRRX_PD>,
239 <&topckgen CLK_TOP_AXI_SEL>;
240 clock-names = "clk", "bus";
241 status = "disabled";
242 };
243
81 sysirq: interrupt-controller@10200620 { 244 sysirq: interrupt-controller@10200620 {
82 compatible = "mediatek,mt7622-sysirq", 245 compatible = "mediatek,mt7622-sysirq",
83 "mediatek,mt6577-sysirq"; 246 "mediatek,mt6577-sysirq";
@@ -87,6 +250,62 @@
87 reg = <0 0x10200620 0 0x20>; 250 reg = <0 0x10200620 0 0x20>;
88 }; 251 };
89 252
253 efuse: efuse@10206000 {
254 compatible = "mediatek,mt7622-efuse",
255 "mediatek,efuse";
256 reg = <0 0x10206000 0 0x1000>;
257 #address-cells = <1>;
258 #size-cells = <1>;
259
260 thermal_calibration: calib@198 {
261 reg = <0x198 0xc>;
262 };
263 };
264
265 apmixedsys: apmixedsys@10209000 {
266 compatible = "mediatek,mt7622-apmixedsys",
267 "syscon";
268 reg = <0 0x10209000 0 0x1000>;
269 #clock-cells = <1>;
270 };
271
272 topckgen: topckgen@10210000 {
273 compatible = "mediatek,mt7622-topckgen",
274 "syscon";
275 reg = <0 0x10210000 0 0x1000>;
276 #clock-cells = <1>;
277 };
278
279 rng: rng@1020f000 {
280 compatible = "mediatek,mt7622-rng",
281 "mediatek,mt7623-rng";
282 reg = <0 0x1020f000 0 0x1000>;
283 clocks = <&infracfg CLK_INFRA_TRNG>;
284 clock-names = "rng";
285 };
286
287 pio: pinctrl@10211000 {
288 compatible = "mediatek,mt7622-pinctrl";
289 reg = <0 0x10211000 0 0x1000>;
290 gpio-controller;
291 #gpio-cells = <2>;
292 };
293
294 watchdog: watchdog@10212000 {
295 compatible = "mediatek,mt7622-wdt",
296 "mediatek,mt6589-wdt";
297 reg = <0 0x10212000 0 0x800>;
298 };
299
300 rtc: rtc@10212800 {
301 compatible = "mediatek,mt7622-rtc",
302 "mediatek,soc-rtc";
303 reg = <0 0x10212800 0 0x200>;
304 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_LOW>;
305 clocks = <&topckgen CLK_TOP_RTC>;
306 clock-names = "rtc";
307 };
308
90 gic: interrupt-controller@10300000 { 309 gic: interrupt-controller@10300000 {
91 compatible = "arm,gic-400"; 310 compatible = "arm,gic-400";
92 interrupt-controller; 311 interrupt-controller;
@@ -98,13 +317,459 @@
98 <0 0x10360000 0 0x2000>; 317 <0 0x10360000 0 0x2000>;
99 }; 318 };
100 319
320 auxadc: adc@11001000 {
321 compatible = "mediatek,mt7622-auxadc";
322 reg = <0 0x11001000 0 0x1000>;
323 clocks = <&pericfg CLK_PERI_AUXADC_PD>;
324 clock-names = "main";
325 #io-channel-cells = <1>;
326 };
327
101 uart0: serial@11002000 { 328 uart0: serial@11002000 {
102 compatible = "mediatek,mt7622-uart", 329 compatible = "mediatek,mt7622-uart",
103 "mediatek,mt6577-uart"; 330 "mediatek,mt6577-uart";
104 reg = <0 0x11002000 0 0x400>; 331 reg = <0 0x11002000 0 0x400>;
105 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>; 332 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_LOW>;
106 clocks = <&uart_clk>, <&bus_clk>; 333 clocks = <&topckgen CLK_TOP_UART_SEL>,
334 <&pericfg CLK_PERI_UART1_PD>;
335 clock-names = "baud", "bus";
336 status = "disabled";
337 };
338
339 uart1: serial@11003000 {
340 compatible = "mediatek,mt7622-uart",
341 "mediatek,mt6577-uart";
342 reg = <0 0x11003000 0 0x400>;
343 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_LOW>;
344 clocks = <&topckgen CLK_TOP_UART_SEL>,
345 <&pericfg CLK_PERI_UART1_PD>;
346 clock-names = "baud", "bus";
347 status = "disabled";
348 };
349
350 uart2: serial@11004000 {
351 compatible = "mediatek,mt7622-uart",
352 "mediatek,mt6577-uart";
353 reg = <0 0x11004000 0 0x400>;
354 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_LOW>;
355 clocks = <&topckgen CLK_TOP_UART_SEL>,
356 <&pericfg CLK_PERI_UART2_PD>;
357 clock-names = "baud", "bus";
358 status = "disabled";
359 };
360
361 uart3: serial@11005000 {
362 compatible = "mediatek,mt7622-uart",
363 "mediatek,mt6577-uart";
364 reg = <0 0x11005000 0 0x400>;
365 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_LOW>;
366 clocks = <&topckgen CLK_TOP_UART_SEL>,
367 <&pericfg CLK_PERI_UART3_PD>;
368 clock-names = "baud", "bus";
369 status = "disabled";
370 };
371
372 pwm: pwm@11006000 {
373 compatible = "mediatek,mt7622-pwm";
374 reg = <0 0x11006000 0 0x1000>;
375 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_LOW>;
376 clocks = <&topckgen CLK_TOP_PWM_SEL>,
377 <&pericfg CLK_PERI_PWM_PD>,
378 <&pericfg CLK_PERI_PWM1_PD>,
379 <&pericfg CLK_PERI_PWM2_PD>,
380 <&pericfg CLK_PERI_PWM3_PD>,
381 <&pericfg CLK_PERI_PWM4_PD>,
382 <&pericfg CLK_PERI_PWM5_PD>,
383 <&pericfg CLK_PERI_PWM6_PD>;
384 clock-names = "top", "main", "pwm1", "pwm2", "pwm3", "pwm4",
385 "pwm5", "pwm6";
386 status = "disabled";
387 };
388
389 i2c0: i2c@11007000 {
390 compatible = "mediatek,mt7622-i2c";
391 reg = <0 0x11007000 0 0x90>,
392 <0 0x11000100 0 0x80>;
393 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_LOW>;
394 clock-div = <16>;
395 clocks = <&pericfg CLK_PERI_I2C0_PD>,
396 <&pericfg CLK_PERI_AP_DMA_PD>;
397 clock-names = "main", "dma";
398 #address-cells = <1>;
399 #size-cells = <0>;
400 status = "disabled";
401 };
402
403 i2c1: i2c@11008000 {
404 compatible = "mediatek,mt7622-i2c";
405 reg = <0 0x11008000 0 0x90>,
406 <0 0x11000180 0 0x80>;
407 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_LOW>;
408 clock-div = <16>;
409 clocks = <&pericfg CLK_PERI_I2C1_PD>,
410 <&pericfg CLK_PERI_AP_DMA_PD>;
411 clock-names = "main", "dma";
412 #address-cells = <1>;
413 #size-cells = <0>;
414 status = "disabled";
415 };
416
417 i2c2: i2c@11009000 {
418 compatible = "mediatek,mt7622-i2c";
419 reg = <0 0x11009000 0 0x90>,
420 <0 0x11000200 0 0x80>;
421 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>;
422 clock-div = <16>;
423 clocks = <&pericfg CLK_PERI_I2C2_PD>,
424 <&pericfg CLK_PERI_AP_DMA_PD>;
425 clock-names = "main", "dma";
426 #address-cells = <1>;
427 #size-cells = <0>;
428 status = "disabled";
429 };
430
431 spi0: spi@1100a000 {
432 compatible = "mediatek,mt7622-spi";
433 reg = <0 0x1100a000 0 0x100>;
434 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>;
435 clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
436 <&topckgen CLK_TOP_SPI0_SEL>,
437 <&pericfg CLK_PERI_SPI0_PD>;
438 clock-names = "parent-clk", "sel-clk", "spi-clk";
439 #address-cells = <1>;
440 #size-cells = <0>;
441 status = "disabled";
442 };
443
444 thermal: thermal@1100b000 {
445 #thermal-sensor-cells = <1>;
446 compatible = "mediatek,mt7622-thermal";
447 reg = <0 0x1100b000 0 0x1000>;
448 interrupts = <0 78 IRQ_TYPE_LEVEL_LOW>;
449 clocks = <&pericfg CLK_PERI_THERM_PD>,
450 <&pericfg CLK_PERI_AUXADC_PD>;
451 clock-names = "therm", "auxadc";
452 resets = <&pericfg MT7622_PERI_THERM_SW_RST>;
453 reset-names = "therm";
454 mediatek,auxadc = <&auxadc>;
455 mediatek,apmixedsys = <&apmixedsys>;
456 nvmem-cells = <&thermal_calibration>;
457 nvmem-cell-names = "calibration-data";
458 };
459
460 btif: serial@1100c000 {
461 compatible = "mediatek,mt7622-btif",
462 "mediatek,mtk-btif";
463 reg = <0 0x1100c000 0 0x1000>;
464 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_LOW>;
465 clocks = <&pericfg CLK_PERI_BTIF_PD>;
466 clock-names = "main";
467 reg-shift = <2>;
468 reg-io-width = <4>;
469 status = "disabled";
470 };
471
472 nandc: nfi@1100d000 {
473 compatible = "mediatek,mt7622-nfc";
474 reg = <0 0x1100D000 0 0x1000>;
475 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
476 clocks = <&pericfg CLK_PERI_NFI_PD>,
477 <&pericfg CLK_PERI_SNFI_PD>;
478 clock-names = "nfi_clk", "pad_clk";
479 ecc-engine = <&bch>;
480 #address-cells = <1>;
481 #size-cells = <0>;
482 status = "disabled";
483 };
484
485 bch: ecc@1100e000 {
486 compatible = "mediatek,mt7622-ecc";
487 reg = <0 0x1100e000 0 0x1000>;
488 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>;
489 clocks = <&pericfg CLK_PERI_NFIECC_PD>;
490 clock-names = "nfiecc_clk";
491 status = "disabled";
492 };
493
494 nor_flash: spi@11014000 {
495 compatible = "mediatek,mt7622-nor",
496 "mediatek,mt8173-nor";
497 reg = <0 0x11014000 0 0xe0>;
498 clocks = <&pericfg CLK_PERI_FLASH_PD>,
499 <&topckgen CLK_TOP_FLASH_SEL>;
500 clock-names = "spi", "sf";
501 #address-cells = <1>;
502 #size-cells = <0>;
503 status = "disabled";
504 };
505
506 spi1: spi@11016000 {
507 compatible = "mediatek,mt7622-spi";
508 reg = <0 0x11016000 0 0x100>;
509 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_LOW>;
510 clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
511 <&topckgen CLK_TOP_SPI1_SEL>,
512 <&pericfg CLK_PERI_SPI1_PD>;
513 clock-names = "parent-clk", "sel-clk", "spi-clk";
514 #address-cells = <1>;
515 #size-cells = <0>;
516 status = "disabled";
517 };
518
519 uart4: serial@11019000 {
520 compatible = "mediatek,mt7622-uart",
521 "mediatek,mt6577-uart";
522 reg = <0 0x11019000 0 0x400>;
523 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_LOW>;
524 clocks = <&topckgen CLK_TOP_UART_SEL>,
525 <&pericfg CLK_PERI_UART4_PD>;
107 clock-names = "baud", "bus"; 526 clock-names = "baud", "bus";
108 status = "disabled"; 527 status = "disabled";
109 }; 528 };
529
530 mmc0: mmc@11230000 {
531 compatible = "mediatek,mt7622-mmc";
532 reg = <0 0x11230000 0 0x1000>;
533 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_LOW>;
534 clocks = <&pericfg CLK_PERI_MSDC30_0_PD>,
535 <&topckgen CLK_TOP_MSDC50_0_SEL>;
536 clock-names = "source", "hclk";
537 status = "disabled";
538 };
539
540 mmc1: mmc@11240000 {
541 compatible = "mediatek,mt7622-mmc";
542 reg = <0 0x11240000 0 0x1000>;
543 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_LOW>;
544 clocks = <&pericfg CLK_PERI_MSDC30_1_PD>,
545 <&topckgen CLK_TOP_AXI_SEL>;
546 clock-names = "source", "hclk";
547 status = "disabled";
548 };
549
550 ssusbsys: ssusbsys@1a000000 {
551 compatible = "mediatek,mt7622-ssusbsys",
552 "syscon";
553 reg = <0 0x1a000000 0 0x1000>;
554 #clock-cells = <1>;
555 #reset-cells = <1>;
556 };
557
558 ssusb: usb@1a0c0000 {
559 compatible = "mediatek,mt7622-xhci",
560 "mediatek,mtk-xhci";
561 reg = <0 0x1a0c0000 0 0x01000>,
562 <0 0x1a0c4700 0 0x0100>;
563 reg-names = "mac", "ippc";
564 interrupts = <GIC_SPI 232 IRQ_TYPE_LEVEL_LOW>;
565 power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF1>;
566 clocks = <&ssusbsys CLK_SSUSB_SYS_EN>,
567 <&ssusbsys CLK_SSUSB_REF_EN>,
568 <&ssusbsys CLK_SSUSB_MCU_EN>,
569 <&ssusbsys CLK_SSUSB_DMA_EN>;
570 clock-names = "sys_ck", "ref_ck", "mcu_ck", "dma_ck";
571 phys = <&u2port0 PHY_TYPE_USB2>,
572 <&u3port0 PHY_TYPE_USB3>,
573 <&u2port1 PHY_TYPE_USB2>;
574
575 status = "disabled";
576 };
577
578 u3phy: usb-phy@1a0c4000 {
579 compatible = "mediatek,mt7622-u3phy",
580 "mediatek,generic-tphy-v1";
581 reg = <0 0x1a0c4000 0 0x700>;
582 #address-cells = <2>;
583 #size-cells = <2>;
584 ranges;
585 status = "disabled";
586
587 u2port0: usb-phy@1a0c4800 {
588 reg = <0 0x1a0c4800 0 0x0100>;
589 #phy-cells = <1>;
590 clocks = <&ssusbsys CLK_SSUSB_U2_PHY_EN>;
591 clock-names = "ref";
592 };
593
594 u3port0: usb-phy@1a0c4900 {
595 reg = <0 0x1a0c4900 0 0x0700>;
596 #phy-cells = <1>;
597 clocks = <&clk25m>;
598 clock-names = "ref";
599 };
600
601 u2port1: usb-phy@1a0c5000 {
602 reg = <0 0x1a0c5000 0 0x0100>;
603 #phy-cells = <1>;
604 clocks = <&ssusbsys CLK_SSUSB_U2_PHY_1P_EN>;
605 clock-names = "ref";
606 };
607 };
608
609 pciesys: pciesys@1a100800 {
610 compatible = "mediatek,mt7622-pciesys",
611 "syscon";
612 reg = <0 0x1a100800 0 0x1000>;
613 #clock-cells = <1>;
614 #reset-cells = <1>;
615 };
616
617 pcie: pcie@1a140000 {
618 compatible = "mediatek,mt7622-pcie";
619 device_type = "pci";
620 reg = <0 0x1a140000 0 0x1000>,
621 <0 0x1a143000 0 0x1000>,
622 <0 0x1a145000 0 0x1000>;
623 reg-names = "subsys", "port0", "port1";
624 #address-cells = <3>;
625 #size-cells = <2>;
626 interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_LOW>,
627 <GIC_SPI 229 IRQ_TYPE_LEVEL_LOW>;
628 clocks = <&pciesys CLK_PCIE_P0_MAC_EN>,
629 <&pciesys CLK_PCIE_P1_MAC_EN>,
630 <&pciesys CLK_PCIE_P0_AHB_EN>,
631 <&pciesys CLK_PCIE_P0_AHB_EN>,
632 <&pciesys CLK_PCIE_P0_AUX_EN>,
633 <&pciesys CLK_PCIE_P1_AUX_EN>,
634 <&pciesys CLK_PCIE_P0_AXI_EN>,
635 <&pciesys CLK_PCIE_P1_AXI_EN>,
636 <&pciesys CLK_PCIE_P0_OBFF_EN>,
637 <&pciesys CLK_PCIE_P1_OBFF_EN>,
638 <&pciesys CLK_PCIE_P0_PIPE_EN>,
639 <&pciesys CLK_PCIE_P1_PIPE_EN>;
640 clock-names = "sys_ck0", "sys_ck1", "ahb_ck0", "ahb_ck1",
641 "aux_ck0", "aux_ck1", "axi_ck0", "axi_ck1",
642 "obff_ck0", "obff_ck1", "pipe_ck0", "pipe_ck1";
643 power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>;
644 bus-range = <0x00 0xff>;
645 ranges = <0x82000000 0 0x20000000 0x0 0x20000000 0 0x10000000>;
646 status = "disabled";
647
648 pcie0: pcie@0,0 {
649 reg = <0x0000 0 0 0 0>;
650 #address-cells = <3>;
651 #size-cells = <2>;
652 #interrupt-cells = <1>;
653 ranges;
654 status = "disabled";
655
656 num-lanes = <1>;
657 interrupt-map-mask = <0 0 0 7>;
658 interrupt-map = <0 0 0 1 &pcie_intc0 0>,
659 <0 0 0 2 &pcie_intc0 1>,
660 <0 0 0 3 &pcie_intc0 2>,
661 <0 0 0 4 &pcie_intc0 3>;
662 pcie_intc0: interrupt-controller {
663 interrupt-controller;
664 #address-cells = <0>;
665 #interrupt-cells = <1>;
666 };
667 };
668
669 pcie1: pcie@1,0 {
670 reg = <0x0800 0 0 0 0>;
671 #address-cells = <3>;
672 #size-cells = <2>;
673 #interrupt-cells = <1>;
674 ranges;
675 status = "disabled";
676
677 num-lanes = <1>;
678 interrupt-map-mask = <0 0 0 7>;
679 interrupt-map = <0 0 0 1 &pcie_intc1 0>,
680 <0 0 0 2 &pcie_intc1 1>,
681 <0 0 0 3 &pcie_intc1 2>,
682 <0 0 0 4 &pcie_intc1 3>;
683 pcie_intc1: interrupt-controller {
684 interrupt-controller;
685 #address-cells = <0>;
686 #interrupt-cells = <1>;
687 };
688 };
689 };
690
691 sata: sata@1a200000 {
692 compatible = "mediatek,mt7622-ahci",
693 "mediatek,mtk-ahci";
694 reg = <0 0x1a200000 0 0x1100>;
695 interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
696 interrupt-names = "hostc";
697 clocks = <&pciesys CLK_SATA_AHB_EN>,
698 <&pciesys CLK_SATA_AXI_EN>,
699 <&pciesys CLK_SATA_ASIC_EN>,
700 <&pciesys CLK_SATA_RBC_EN>,
701 <&pciesys CLK_SATA_PM_EN>;
702 clock-names = "ahb", "axi", "asic", "rbc", "pm";
703 phys = <&sata_port PHY_TYPE_SATA>;
704 phy-names = "sata-phy";
705 ports-implemented = <0x1>;
706 power-domains = <&scpsys MT7622_POWER_DOMAIN_HIF0>;
707 resets = <&pciesys MT7622_SATA_AXI_BUS_RST>,
708 <&pciesys MT7622_SATA_PHY_SW_RST>,
709 <&pciesys MT7622_SATA_PHY_REG_RST>;
710 reset-names = "axi", "sw", "reg";
711 mediatek,phy-mode = <&pciesys>;
712 status = "disabled";
713 };
714
715 sata_phy: sata-phy@1a243000 {
716 compatible = "mediatek,generic-tphy-v1";
717 #address-cells = <2>;
718 #size-cells = <2>;
719 ranges;
720 status = "disabled";
721
722 sata_port: sata-phy@1a243000 {
723 reg = <0 0x1a243000 0 0x0100>;
724 clocks = <&topckgen CLK_TOP_ETH_500M>;
725 clock-names = "ref";
726 #phy-cells = <1>;
727 };
728 };
729
730 ethsys: syscon@1b000000 {
731 compatible = "mediatek,mt7622-ethsys",
732 "syscon";
733 reg = <0 0x1b000000 0 0x1000>;
734 #clock-cells = <1>;
735 #reset-cells = <1>;
736 };
737
738 eth: ethernet@1b100000 {
739 compatible = "mediatek,mt7622-eth",
740 "mediatek,mt2701-eth",
741 "syscon";
742 reg = <0 0x1b100000 0 0x20000>;
743 interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_LOW>,
744 <GIC_SPI 224 IRQ_TYPE_LEVEL_LOW>,
745 <GIC_SPI 225 IRQ_TYPE_LEVEL_LOW>;
746 clocks = <&topckgen CLK_TOP_ETH_SEL>,
747 <&ethsys CLK_ETH_ESW_EN>,
748 <&ethsys CLK_ETH_GP0_EN>,
749 <&ethsys CLK_ETH_GP1_EN>,
750 <&ethsys CLK_ETH_GP2_EN>,
751 <&sgmiisys CLK_SGMII_TX250M_EN>,
752 <&sgmiisys CLK_SGMII_RX250M_EN>,
753 <&sgmiisys CLK_SGMII_CDR_REF>,
754 <&sgmiisys CLK_SGMII_CDR_FB>,
755 <&topckgen CLK_TOP_SGMIIPLL>,
756 <&apmixedsys CLK_APMIXED_ETH2PLL>;
757 clock-names = "ethif", "esw", "gp0", "gp1", "gp2",
758 "sgmii_tx250m", "sgmii_rx250m",
759 "sgmii_cdr_ref", "sgmii_cdr_fb", "sgmii_ck",
760 "eth2pll";
761 power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
762 mediatek,ethsys = <&ethsys>;
763 mediatek,sgmiisys = <&sgmiisys>;
764 #address-cells = <1>;
765 #size-cells = <0>;
766 status = "disabled";
767 };
768
769 sgmiisys: sgmiisys@1b128000 {
770 compatible = "mediatek,mt7622-sgmiisys",
771 "syscon";
772 reg = <0 0x1b128000 0 0x1000>;
773 #clock-cells = <1>;
774 };
110}; 775};
diff --git a/arch/arm64/boot/dts/nvidia/Makefile b/arch/arm64/boot/dts/nvidia/Makefile
index 676aa2f238d1..7c13d7df484e 100644
--- a/arch/arm64/boot/dts/nvidia/Makefile
+++ b/arch/arm64/boot/dts/nvidia/Makefile
@@ -5,3 +5,4 @@ dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2371-2180.dtb
5dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2571.dtb 5dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-p2571.dtb
6dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-smaug.dtb 6dtb-$(CONFIG_ARCH_TEGRA_210_SOC) += tegra210-smaug.dtb
7dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p2771-0000.dtb 7dtb-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-p2771-0000.dtb
8dtb-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra194-p2972-0000.dtb
diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
new file mode 100644
index 000000000000..ecb034177fc2
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi
@@ -0,0 +1,248 @@
1// SPDX-License-Identifier: GPL-2.0
2#include "tegra194.dtsi"
3
4#include <dt-bindings/mfd/max77620.h>
5
6/ {
7 model = "NVIDIA Tegra194 P2888 Processor Module";
8 compatible = "nvidia,p2888", "nvidia,tegra194";
9
10 aliases {
11 sdhci0 = "/cbb/sdhci@3460000";
12 sdhci1 = "/cbb/sdhci@3400000";
13 serial0 = &uartb;
14 i2c0 = "/bpmp/i2c";
15 i2c1 = "/cbb/i2c@3160000";
16 i2c2 = "/cbb/i2c@c240000";
17 i2c3 = "/cbb/i2c@3180000";
18 i2c4 = "/cbb/i2c@3190000";
19 i2c5 = "/cbb/i2c@31c0000";
20 i2c6 = "/cbb/i2c@c250000";
21 i2c7 = "/cbb/i2c@31e0000";
22 };
23
24 chosen {
25 bootargs = "console=ttyS0,115200n8";
26 stdout-path = "serial0:115200n8";
27 };
28
29 cbb {
30 serial@3110000 {
31 status = "okay";
32 };
33
34 /* SDMMC1 (SD/MMC) */
35 sdhci@3400000 {
36/*
37 cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>;
38*/
39 };
40
41 /* SDMMC4 (eMMC) */
42 sdhci@3460000 {
43 status = "okay";
44 bus-width = <8>;
45 non-removable;
46
47 vqmmc-supply = <&vdd_1v8ls>;
48 vmmc-supply = <&vdd_emmc_3v3>;
49 };
50
51 pmc@c360000 {
52 nvidia,invert-interrupt;
53 };
54 };
55
56 bpmp {
57 i2c {
58 status = "okay";
59
60 pmic: pmic@3c {
61 compatible = "maxim,max20024";
62 reg = <0x3c>;
63
64 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
65 #interrupt-cells = <2>;
66 interrupt-controller;
67
68 #gpio-cells = <2>;
69 gpio-controller;
70
71 pinctrl-names = "default";
72 pinctrl-0 = <&max20024_default>;
73
74 max20024_default: pinmux {
75 gpio0 {
76 pins = "gpio0";
77 function = "gpio";
78 };
79
80 gpio1 {
81 pins = "gpio1";
82 function = "fps-out";
83 maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
84 };
85
86 gpio2 {
87 pins = "gpio2";
88 function = "fps-out";
89 maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
90 };
91
92 gpio3 {
93 pins = "gpio3";
94 function = "fps-out";
95 maxim,active-fps-source = <MAX77620_FPS_SRC_DEF>;
96 };
97
98 gpio4 {
99 pins = "gpio4";
100 function = "32k-out1";
101 drive-push-pull = <1>;
102 };
103
104 gpio6 {
105 pins = "gpio6";
106 function = "gpio";
107 drive-push-pull = <1>;
108 };
109
110 gpio7 {
111 pins = "gpio7";
112 function = "gpio";
113 drive-push-pull = <0>;
114 };
115 };
116
117 fps {
118 fps0 {
119 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
120 maxim,shutdown-fps-time-period-us = <640>;
121 };
122
123 fps1 {
124 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>;
125 maxim,shutdown-fps-time-period-us = <640>;
126 maxim,device-state-on-disabled-event = <MAX77620_FPS_INACTIVE_STATE_SLEEP>;
127 };
128
129 fps2 {
130 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>;
131 maxim,shutdown-fps-time-period-us = <640>;
132 };
133 };
134
135 regulators {
136 in-sd0-supply = <&vdd_5v0_sys>;
137 in-sd1-supply = <&vdd_5v0_sys>;
138 in-sd2-supply = <&vdd_5v0_sys>;
139 in-sd3-supply = <&vdd_5v0_sys>;
140 in-sd4-supply = <&vdd_5v0_sys>;
141
142 in-ldo0-1-supply = <&vdd_5v0_sys>;
143 in-ldo2-supply = <&vdd_5v0_sys>;
144 in-ldo3-5-supply = <&vdd_5v0_sys>;
145 in-ldo4-6-supply = <&vdd_5v0_sys>;
146 in-ldo7-8-supply = <&vdd_1v8ls>;
147
148 sd0 {
149 regulator-name = "VDD_1V0";
150 regulator-min-microvolt = <1000000>;
151 regulator-max-microvolt = <1000000>;
152 regulator-always-on;
153 regulator-boot-on;
154 };
155
156 sd1 {
157 regulator-name = "VDD_1V8HS";
158 regulator-min-microvolt = <1800000>;
159 regulator-max-microvolt = <1800000>;
160 regulator-always-on;
161 regulator-boot-on;
162 };
163
164 vdd_1v8ls: sd2 {
165 regulator-name = "VDD_1V8LS";
166 regulator-min-microvolt = <1800000>;
167 regulator-max-microvolt = <1800000>;
168 regulator-always-on;
169 regulator-boot-on;
170 };
171
172 sd3 {
173 regulator-name = "VDD_1V8AO";
174 regulator-min-microvolt = <1800000>;
175 regulator-max-microvolt = <1800000>;
176 regulator-always-on;
177 regulator-boot-on;
178 };
179
180 sd4 {
181 regulator-name = "VDD_DDR_1V1";
182 regulator-min-microvolt = <1100000>;
183 regulator-max-microvolt = <1100000>;
184 regulator-always-on;
185 regulator-boot-on;
186 };
187
188 ldo0 {
189 regulator-name = "VDD_RTC";
190 regulator-min-microvolt = <800000>;
191 regulator-max-microvolt = <800000>;
192 regulator-always-on;
193 regulator-boot-on;
194 };
195
196 ldo2 {
197 regulator-name = "VDD_AO_3V3";
198 regulator-min-microvolt = <3300000>;
199 regulator-max-microvolt = <3300000>;
200 regulator-always-on;
201 regulator-boot-on;
202 };
203
204 vdd_emmc_3v3: ldo3 {
205 regulator-name = "VDD_EMMC_3V3";
206 regulator-min-microvolt = <3300000>;
207 regulator-max-microvolt = <3300000>;
208 };
209
210 ldo5 {
211 regulator-name = "VDD_USB_3V3";
212 regulator-min-microvolt = <3300000>;
213 regulator-max-microvolt = <3300000>;
214 };
215
216 ldo6 {
217 regulator-name = "VDD_SDIO_3V3";
218 regulator-min-microvolt = <3300000>;
219 regulator-max-microvolt = <3300000>;
220 };
221
222 ldo7 {
223 regulator-name = "VDD_CSI_1V2";
224 regulator-min-microvolt = <1200000>;
225 regulator-max-microvolt = <1200000>;
226 };
227 };
228 };
229 };
230 };
231
232 regulators {
233 compatible = "simple-bus";
234 #address-cells = <1>;
235 #size-cells = <0>;
236
237 vdd_5v0_sys: regulator@0 {
238 compatible = "regulator-fixed";
239 reg = <0>;
240
241 regulator-name = "VIN_SYS_5V0";
242 regulator-min-microvolt = <5000000>;
243 regulator-max-microvolt = <5000000>;
244 regulator-always-on;
245 regulator-boot-on;
246 };
247 };
248};
diff --git a/arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts b/arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts
new file mode 100644
index 000000000000..9ff3c18280c4
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts
@@ -0,0 +1,16 @@
1// SPDX-License-Identifier: GPL-2.0
2/dts-v1/;
3
4#include "tegra194-p2888.dtsi"
5
6/ {
7 model = "NVIDIA Tegra194 P2972-0000 Development Board";
8 compatible = "nvidia,p2972-0000", "nvidia,tegra194";
9
10 cbb {
11 /* SDMMC1 (SD/MMC) */
12 sdhci@3400000 {
13 status = "okay";
14 };
15 };
16};
diff --git a/arch/arm64/boot/dts/nvidia/tegra194.dtsi b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
new file mode 100644
index 000000000000..6322ef265c2f
--- /dev/null
+++ b/arch/arm64/boot/dts/nvidia/tegra194.dtsi
@@ -0,0 +1,344 @@
1// SPDX-License-Identifier: GPL-2.0
2#include <dt-bindings/clock/tegra194-clock.h>
3#include <dt-bindings/gpio/tegra194-gpio.h>
4#include <dt-bindings/interrupt-controller/arm-gic.h>
5#include <dt-bindings/mailbox/tegra186-hsp.h>
6#include <dt-bindings/reset/tegra194-reset.h>
7
8/ {
9 compatible = "nvidia,tegra194";
10 interrupt-parent = <&gic>;
11 #address-cells = <2>;
12 #size-cells = <2>;
13
14 /* control backbone */
15 cbb {
16 compatible = "simple-bus";
17 #address-cells = <1>;
18 #size-cells = <1>;
19 ranges = <0x0 0x0 0x0 0x40000000>;
20
21 uarta: serial@3100000 {
22 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
23 reg = <0x03100000 0x40>;
24 reg-shift = <2>;
25 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
26 clocks = <&bpmp TEGRA194_CLK_UARTA>;
27 clock-names = "serial";
28 resets = <&bpmp TEGRA194_RESET_UARTA>;
29 reset-names = "serial";
30 status = "disabled";
31 };
32
33 uartb: serial@3110000 {
34 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
35 reg = <0x03110000 0x40>;
36 reg-shift = <2>;
37 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
38 clocks = <&bpmp TEGRA194_CLK_UARTB>;
39 clock-names = "serial";
40 resets = <&bpmp TEGRA194_RESET_UARTB>;
41 reset-names = "serial";
42 status = "disabled";
43 };
44
45 uartd: serial@3130000 {
46 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
47 reg = <0x03130000 0x40>;
48 reg-shift = <2>;
49 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
50 clocks = <&bpmp TEGRA194_CLK_UARTD>;
51 clock-names = "serial";
52 resets = <&bpmp TEGRA194_RESET_UARTD>;
53 reset-names = "serial";
54 status = "disabled";
55 };
56
57 uarte: serial@3140000 {
58 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
59 reg = <0x03140000 0x40>;
60 reg-shift = <2>;
61 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
62 clocks = <&bpmp TEGRA194_CLK_UARTE>;
63 clock-names = "serial";
64 resets = <&bpmp TEGRA194_RESET_UARTE>;
65 reset-names = "serial";
66 status = "disabled";
67 };
68
69 uartf: serial@3150000 {
70 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
71 reg = <0x03150000 0x40>;
72 reg-shift = <2>;
73 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
74 clocks = <&bpmp TEGRA194_CLK_UARTF>;
75 clock-names = "serial";
76 resets = <&bpmp TEGRA194_RESET_UARTF>;
77 reset-names = "serial";
78 status = "disabled";
79 };
80
81 gen1_i2c: i2c@3160000 {
82 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
83 reg = <0x03160000 0x10000>;
84 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
85 #address-cells = <1>;
86 #size-cells = <0>;
87 clocks = <&bpmp TEGRA194_CLK_I2C1>;
88 clock-names = "div-clk";
89 resets = <&bpmp TEGRA194_RESET_I2C1>;
90 reset-names = "i2c";
91 status = "disabled";
92 };
93
94 uarth: serial@3170000 {
95 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
96 reg = <0x03170000 0x40>;
97 reg-shift = <2>;
98 interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
99 clocks = <&bpmp TEGRA194_CLK_UARTH>;
100 clock-names = "serial";
101 resets = <&bpmp TEGRA194_RESET_UARTH>;
102 reset-names = "serial";
103 status = "disabled";
104 };
105
106 cam_i2c: i2c@3180000 {
107 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
108 reg = <0x03180000 0x10000>;
109 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
110 #address-cells = <1>;
111 #size-cells = <0>;
112 clocks = <&bpmp TEGRA194_CLK_I2C3>;
113 clock-names = "div-clk";
114 resets = <&bpmp TEGRA194_RESET_I2C3>;
115 reset-names = "i2c";
116 status = "disabled";
117 };
118
119 /* shares pads with dpaux1 */
120 dp_aux_ch1_i2c: i2c@3190000 {
121 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
122 reg = <0x03190000 0x10000>;
123 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
124 #address-cells = <1>;
125 #size-cells = <0>;
126 clocks = <&bpmp TEGRA194_CLK_I2C4>;
127 clock-names = "div-clk";
128 resets = <&bpmp TEGRA194_RESET_I2C4>;
129 reset-names = "i2c";
130 status = "disabled";
131 };
132
133 /* shares pads with dpaux0 */
134 dp_aux_ch0_i2c: i2c@31b0000 {
135 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
136 reg = <0x031b0000 0x10000>;
137 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
138 #address-cells = <1>;
139 #size-cells = <0>;
140 clocks = <&bpmp TEGRA194_CLK_I2C6>;
141 clock-names = "div-clk";
142 resets = <&bpmp TEGRA194_RESET_I2C6>;
143 reset-names = "i2c";
144 status = "disabled";
145 };
146
147 gen7_i2c: i2c@31c0000 {
148 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
149 reg = <0x031c0000 0x10000>;
150 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
151 #address-cells = <1>;
152 #size-cells = <0>;
153 clocks = <&bpmp TEGRA194_CLK_I2C7>;
154 clock-names = "div-clk";
155 resets = <&bpmp TEGRA194_RESET_I2C7>;
156 reset-names = "i2c";
157 status = "disabled";
158 };
159
160 gen9_i2c: i2c@31e0000 {
161 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
162 reg = <0x031e0000 0x10000>;
163 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
164 #address-cells = <1>;
165 #size-cells = <0>;
166 clocks = <&bpmp TEGRA194_CLK_I2C9>;
167 clock-names = "div-clk";
168 resets = <&bpmp TEGRA194_RESET_I2C9>;
169 reset-names = "i2c";
170 status = "disabled";
171 };
172
173 sdmmc1: sdhci@3400000 {
174 compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci";
175 reg = <0x03400000 0x10000>;
176 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
177 clocks = <&bpmp TEGRA194_CLK_SDMMC1>;
178 clock-names = "sdhci";
179 resets = <&bpmp TEGRA194_RESET_SDMMC1>;
180 reset-names = "sdhci";
181 status = "disabled";
182 };
183
184 sdmmc3: sdhci@3440000 {
185 compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci";
186 reg = <0x03440000 0x10000>;
187 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
188 clocks = <&bpmp TEGRA194_CLK_SDMMC3>;
189 clock-names = "sdhci";
190 resets = <&bpmp TEGRA194_RESET_SDMMC3>;
191 reset-names = "sdhci";
192 status = "disabled";
193 };
194
195 sdmmc4: sdhci@3460000 {
196 compatible = "nvidia,tegra194-sdhci", "nvidia,tegra186-sdhci";
197 reg = <0x03460000 0x10000>;
198 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
199 clocks = <&bpmp TEGRA194_CLK_SDMMC4>;
200 clock-names = "sdhci";
201 resets = <&bpmp TEGRA194_RESET_SDMMC4>;
202 reset-names = "sdhci";
203 status = "disabled";
204 };
205
206 gic: interrupt-controller@3881000 {
207 compatible = "arm,gic-400";
208 #interrupt-cells = <3>;
209 interrupt-controller;
210 reg = <0x03881000 0x1000>,
211 <0x03882000 0x2000>,
212 <0x03884000 0x2000>,
213 <0x03886000 0x2000>;
214 interrupts = <GIC_PPI 9
215 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
216 interrupt-parent = <&gic>;
217 };
218
219 hsp_top0: hsp@3c00000 {
220 compatible = "nvidia,tegra186-hsp";
221 reg = <0x03c00000 0xa0000>;
222 interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
223 interrupt-names = "doorbell";
224 #mbox-cells = <2>;
225 };
226
227 gen2_i2c: i2c@c240000 {
228 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
229 reg = <0x0c240000 0x10000>;
230 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
231 #address-cells = <1>;
232 #size-cells = <0>;
233 clocks = <&bpmp TEGRA194_CLK_I2C2>;
234 clock-names = "div-clk";
235 resets = <&bpmp TEGRA194_RESET_I2C2>;
236 reset-names = "i2c";
237 status = "disabled";
238 };
239
240 gen8_i2c: i2c@c250000 {
241 compatible = "nvidia,tegra194-i2c", "nvidia,tegra114-i2c";
242 reg = <0x0c250000 0x10000>;
243 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
244 #address-cells = <1>;
245 #size-cells = <0>;
246 clocks = <&bpmp TEGRA194_CLK_I2C8>;
247 clock-names = "div-clk";
248 resets = <&bpmp TEGRA194_RESET_I2C8>;
249 reset-names = "i2c";
250 status = "disabled";
251 };
252
253 uartc: serial@c280000 {
254 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
255 reg = <0x0c280000 0x40>;
256 reg-shift = <2>;
257 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
258 clocks = <&bpmp TEGRA194_CLK_UARTC>;
259 clock-names = "serial";
260 resets = <&bpmp TEGRA194_RESET_UARTC>;
261 reset-names = "serial";
262 status = "disabled";
263 };
264
265 uartg: serial@c290000 {
266 compatible = "nvidia,tegra194-uart", "nvidia,tegra20-uart";
267 reg = <0x0c290000 0x40>;
268 reg-shift = <2>;
269 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
270 clocks = <&bpmp TEGRA194_CLK_UARTG>;
271 clock-names = "serial";
272 resets = <&bpmp TEGRA194_RESET_UARTG>;
273 reset-names = "serial";
274 status = "disabled";
275 };
276
277 pmc@c360000 {
278 compatible = "nvidia,tegra194-pmc";
279 reg = <0x0c360000 0x10000>,
280 <0x0c370000 0x10000>,
281 <0x0c380000 0x10000>,
282 <0x0c390000 0x10000>,
283 <0x0c3a0000 0x10000>;
284 reg-names = "pmc", "wake", "aotag", "scratch", "misc";
285 };
286 };
287
288 sysram@40000000 {
289 compatible = "nvidia,tegra194-sysram", "mmio-sram";
290 reg = <0x0 0x40000000 0x0 0x50000>;
291 #address-cells = <1>;
292 #size-cells = <1>;
293 ranges = <0x0 0x0 0x40000000 0x50000>;
294
295 cpu_bpmp_tx: shmem@4e000 {
296 compatible = "nvidia,tegra194-bpmp-shmem";
297 reg = <0x4e000 0x1000>;
298 label = "cpu-bpmp-tx";
299 pool;
300 };
301
302 cpu_bpmp_rx: shmem@4f000 {
303 compatible = "nvidia,tegra194-bpmp-shmem";
304 reg = <0x4f000 0x1000>;
305 label = "cpu-bpmp-rx";
306 pool;
307 };
308 };
309
310 bpmp: bpmp {
311 compatible = "nvidia,tegra186-bpmp";
312 mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
313 TEGRA_HSP_DB_MASTER_BPMP>;
314 shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
315 #clock-cells = <1>;
316 #reset-cells = <1>;
317 #power-domain-cells = <1>;
318
319 bpmp_i2c: i2c {
320 compatible = "nvidia,tegra186-bpmp-i2c";
321 nvidia,bpmp-bus-id = <5>;
322 #address-cells = <1>;
323 #size-cells = <0>;
324 };
325
326 bpmp_thermal: thermal {
327 compatible = "nvidia,tegra186-bpmp-thermal";
328 #thermal-sensor-cells = <1>;
329 };
330 };
331
332 timer {
333 compatible = "arm,armv8-timer";
334 interrupts = <GIC_PPI 13
335 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
336 <GIC_PPI 14
337 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
338 <GIC_PPI 11
339 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
340 <GIC_PPI 10
341 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
342 interrupt-parent = <&gic>;
343 };
344};
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
index d67ef4319f3b..9d5a0e6b2ca4 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi
@@ -1325,6 +1325,11 @@
1325 status = "okay"; 1325 status = "okay";
1326 }; 1326 };
1327 1327
1328 sata@70020000 {
1329 status = "okay";
1330 phys = <&{/padctl@7009f000/pads/sata/lanes/sata-0}>;
1331 };
1332
1328 padctl@7009f000 { 1333 padctl@7009f000 {
1329 status = "okay"; 1334 status = "okay";
1330 1335
diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
index 9c2402108772..3be920efee82 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi
@@ -798,6 +798,22 @@
798 #iommu-cells = <1>; 798 #iommu-cells = <1>;
799 }; 799 };
800 800
801 sata@70020000 {
802 compatible = "nvidia,tegra210-ahci";
803 reg = <0x0 0x70027000 0x0 0x2000>, /* AHCI */
804 <0x0 0x70020000 0x0 0x7000>, /* SATA */
805 <0x0 0x70001100 0x0 0x1000>; /* SATA AUX */
806 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
807 clocks = <&tegra_car TEGRA210_CLK_SATA>,
808 <&tegra_car TEGRA210_CLK_SATA_OOB>;
809 clock-names = "sata", "sata-oob";
810 resets = <&tegra_car 124>,
811 <&tegra_car 123>,
812 <&tegra_car 129>;
813 reset-names = "sata", "sata-oob", "sata-cold";
814 status = "disabled";
815 };
816
801 hda@70030000 { 817 hda@70030000 {
802 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda"; 818 compatible = "nvidia,tegra210-hda", "nvidia,tegra30-hda";
803 reg = <0x0 0x70030000 0x0 0x10000>; 819 reg = <0x0 0x70030000 0x0 0x10000>;
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index e51b04900726..66b318e1de80 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -15,6 +15,7 @@
15#include <dt-bindings/clock/qcom,gcc-msm8916.h> 15#include <dt-bindings/clock/qcom,gcc-msm8916.h>
16#include <dt-bindings/reset/qcom,gcc-msm8916.h> 16#include <dt-bindings/reset/qcom,gcc-msm8916.h>
17#include <dt-bindings/clock/qcom,rpmcc.h> 17#include <dt-bindings/clock/qcom,rpmcc.h>
18#include <dt-bindings/thermal/thermal.h>
18 19
19/ { 20/ {
20 model = "Qualcomm Technologies, Inc. MSM8916"; 21 model = "Qualcomm Technologies, Inc. MSM8916";
@@ -113,6 +114,9 @@
113 next-level-cache = <&L2_0>; 114 next-level-cache = <&L2_0>;
114 enable-method = "psci"; 115 enable-method = "psci";
115 cpu-idle-states = <&CPU_SPC>; 116 cpu-idle-states = <&CPU_SPC>;
117 clocks = <&apcs 0>;
118 operating-points-v2 = <&cpu_opp_table>;
119 #cooling-cells = <2>;
116 }; 120 };
117 121
118 CPU1: cpu@1 { 122 CPU1: cpu@1 {
@@ -122,6 +126,9 @@
122 next-level-cache = <&L2_0>; 126 next-level-cache = <&L2_0>;
123 enable-method = "psci"; 127 enable-method = "psci";
124 cpu-idle-states = <&CPU_SPC>; 128 cpu-idle-states = <&CPU_SPC>;
129 clocks = <&apcs 0>;
130 operating-points-v2 = <&cpu_opp_table>;
131 #cooling-cells = <2>;
125 }; 132 };
126 133
127 CPU2: cpu@2 { 134 CPU2: cpu@2 {
@@ -131,6 +138,9 @@
131 next-level-cache = <&L2_0>; 138 next-level-cache = <&L2_0>;
132 enable-method = "psci"; 139 enable-method = "psci";
133 cpu-idle-states = <&CPU_SPC>; 140 cpu-idle-states = <&CPU_SPC>;
141 clocks = <&apcs 0>;
142 operating-points-v2 = <&cpu_opp_table>;
143 #cooling-cells = <2>;
134 }; 144 };
135 145
136 CPU3: cpu@3 { 146 CPU3: cpu@3 {
@@ -140,6 +150,9 @@
140 next-level-cache = <&L2_0>; 150 next-level-cache = <&L2_0>;
141 enable-method = "psci"; 151 enable-method = "psci";
142 cpu-idle-states = <&CPU_SPC>; 152 cpu-idle-states = <&CPU_SPC>;
153 clocks = <&apcs 0>;
154 operating-points-v2 = <&cpu_opp_table>;
155 #cooling-cells = <2>;
143 }; 156 };
144 157
145 L2_0: l2-cache { 158 L2_0: l2-cache {
@@ -188,6 +201,13 @@
188 type = "critical"; 201 type = "critical";
189 }; 202 };
190 }; 203 };
204
205 cooling-maps {
206 map0 {
207 trip = <&cpu_alert0>;
208 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
209 };
210 };
191 }; 211 };
192 212
193 cpu-thermal1 { 213 cpu-thermal1 {
@@ -208,10 +228,35 @@
208 type = "critical"; 228 type = "critical";
209 }; 229 };
210 }; 230 };
231
232 cooling-maps {
233 map0 {
234 trip = <&cpu_alert1>;
235 cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
236 };
237 };
211 }; 238 };
212 239
213 }; 240 };
214 241
242 cpu_opp_table: cpu_opp_table {
243 compatible = "operating-points-v2";
244 opp-shared;
245
246 opp-200000000 {
247 opp-hz = /bits/ 64 <200000000>;
248 };
249 opp-400000000 {
250 opp-hz = /bits/ 64 <400000000>;
251 };
252 opp-800000000 {
253 opp-hz = /bits/ 64 <800000000>;
254 };
255 opp-998400000 {
256 opp-hz = /bits/ 64 <998400000>;
257 };
258 };
259
215 gpu_opp_table: opp_table { 260 gpu_opp_table: opp_table {
216 compatible = "operating-points-v2"; 261 compatible = "operating-points-v2";
217 262
@@ -326,9 +371,18 @@
326 status = "disabled"; 371 status = "disabled";
327 }; 372 };
328 373
329 apcs: syscon@b011000 { 374 a53pll: clock@b016000 {
330 compatible = "syscon"; 375 compatible = "qcom,msm8916-a53pll";
331 reg = <0x0b011000 0x1000>; 376 reg = <0xb016000 0x40>;
377 #clock-cells = <0>;
378 };
379
380 apcs: mailbox@b011000 {
381 compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
382 reg = <0xb011000 0x1000>;
383 #mbox-cells = <1>;
384 clocks = <&a53pll>;
385 #clock-cells = <0>;
332 }; 386 };
333 387
334 blsp1_uart2: serial@78b0000 { 388 blsp1_uart2: serial@78b0000 {
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 0a6f7952bbb1..410ae787ebb4 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -75,6 +75,17 @@
75 reg = <0x0 0x86200000 0x0 0x2600000>; 75 reg = <0x0 0x86200000 0x0 0x2600000>;
76 no-map; 76 no-map;
77 }; 77 };
78
79 rmtfs@86700000 {
80 compatible = "qcom,rmtfs-mem";
81
82 size = <0x0 0x200000>;
83 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
84 no-map;
85
86 qcom,client-id = <1>;
87 qcom,vmid = <15>;
88 };
78 }; 89 };
79 90
80 cpus { 91 cpus {
@@ -232,10 +243,10 @@
232 243
233 timer { 244 timer {
234 compatible = "arm,armv8-timer"; 245 compatible = "arm,armv8-timer";
235 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 246 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
236 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 247 <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
237 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 248 <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
238 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 249 <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
239 }; 250 };
240 251
241 clocks { 252 clocks {
@@ -497,8 +508,8 @@
497 blsp2_spi5: spi@75ba000{ 508 blsp2_spi5: spi@75ba000{
498 compatible = "qcom,spi-qup-v2.2.1"; 509 compatible = "qcom,spi-qup-v2.2.1";
499 reg = <0x075ba000 0x600>; 510 reg = <0x075ba000 0x600>;
500 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 511 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
501 clocks = <&gcc GCC_BLSP2_QUP5_SPI_APPS_CLK>, 512 clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
502 <&gcc GCC_BLSP2_AHB_CLK>; 513 <&gcc GCC_BLSP2_AHB_CLK>;
503 clock-names = "core", "iface"; 514 clock-names = "core", "iface";
504 pinctrl-names = "default", "sleep"; 515 pinctrl-names = "default", "sleep";
diff --git a/arch/arm64/boot/dts/renesas/Makefile b/arch/arm64/boot/dts/renesas/Makefile
index 2186d0193b73..5ede06000ea4 100644
--- a/arch/arm64/boot/dts/renesas/Makefile
+++ b/arch/arm64/boot/dts/renesas/Makefile
@@ -7,5 +7,7 @@ dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
7dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb 7dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
8dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb 8dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
9dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-xs.dtb 9dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-xs.dtb
10dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-salvator-x.dtb r8a77965-salvator-xs.dtb
10dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb r8a77970-v3msk.dtb 11dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb r8a77970-v3msk.dtb
12dtb-$(CONFIG_ARCH_R8A77980) += r8a77980-condor.dtb
11dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb 13dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
diff --git a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
index 26769a11a190..f9acd125d687 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795-es1.dtsi
@@ -23,6 +23,7 @@
23 23
24 /delete-node/ mmu@febe0000; 24 /delete-node/ mmu@febe0000;
25 /delete-node/ mmu@fe980000; 25 /delete-node/ mmu@fe980000;
26 /delete-node/ mmu@fd950000;
26 /delete-node/ mmu@fd960000; 27 /delete-node/ mmu@fd960000;
27 /delete-node/ mmu@fd970000; 28 /delete-node/ mmu@fd970000;
28 29
@@ -80,7 +81,7 @@
80 81
81 vspd3: vsp@fea38000 { 82 vspd3: vsp@fea38000 {
82 compatible = "renesas,vsp2"; 83 compatible = "renesas,vsp2";
83 reg = <0 0xfea38000 0 0x4000>; 84 reg = <0 0xfea38000 0 0x8000>;
84 interrupts = <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>; 85 interrupts = <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>;
85 clocks = <&cpg CPG_MOD 620>; 86 clocks = <&cpg CPG_MOD 620>;
86 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 87 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index d12df6f2ff09..1d5e3ac0231c 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -41,6 +41,9 @@
41 power-domains = <&sysc R8A7795_PD_CA57_CPU0>; 41 power-domains = <&sysc R8A7795_PD_CA57_CPU0>;
42 next-level-cache = <&L2_CA57>; 42 next-level-cache = <&L2_CA57>;
43 enable-method = "psci"; 43 enable-method = "psci";
44 clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
45 operating-points-v2 = <&cluster0_opp>;
46 #cooling-cells = <2>;
44 }; 47 };
45 48
46 a57_1: cpu@1 { 49 a57_1: cpu@1 {
@@ -50,6 +53,9 @@
50 power-domains = <&sysc R8A7795_PD_CA57_CPU1>; 53 power-domains = <&sysc R8A7795_PD_CA57_CPU1>;
51 next-level-cache = <&L2_CA57>; 54 next-level-cache = <&L2_CA57>;
52 enable-method = "psci"; 55 enable-method = "psci";
56 clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
57 operating-points-v2 = <&cluster0_opp>;
58 #cooling-cells = <2>;
53 }; 59 };
54 60
55 a57_2: cpu@2 { 61 a57_2: cpu@2 {
@@ -59,6 +65,9 @@
59 power-domains = <&sysc R8A7795_PD_CA57_CPU2>; 65 power-domains = <&sysc R8A7795_PD_CA57_CPU2>;
60 next-level-cache = <&L2_CA57>; 66 next-level-cache = <&L2_CA57>;
61 enable-method = "psci"; 67 enable-method = "psci";
68 clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
69 operating-points-v2 = <&cluster0_opp>;
70 #cooling-cells = <2>;
62 }; 71 };
63 72
64 a57_3: cpu@3 { 73 a57_3: cpu@3 {
@@ -68,6 +77,9 @@
68 power-domains = <&sysc R8A7795_PD_CA57_CPU3>; 77 power-domains = <&sysc R8A7795_PD_CA57_CPU3>;
69 next-level-cache = <&L2_CA57>; 78 next-level-cache = <&L2_CA57>;
70 enable-method = "psci"; 79 enable-method = "psci";
80 clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
81 operating-points-v2 = <&cluster0_opp>;
82 #cooling-cells = <2>;
71 }; 83 };
72 84
73 a53_0: cpu@100 { 85 a53_0: cpu@100 {
@@ -77,6 +89,8 @@
77 power-domains = <&sysc R8A7795_PD_CA53_CPU0>; 89 power-domains = <&sysc R8A7795_PD_CA53_CPU0>;
78 next-level-cache = <&L2_CA53>; 90 next-level-cache = <&L2_CA53>;
79 enable-method = "psci"; 91 enable-method = "psci";
92 clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
93 operating-points-v2 = <&cluster1_opp>;
80 }; 94 };
81 95
82 a53_1: cpu@101 { 96 a53_1: cpu@101 {
@@ -86,6 +100,8 @@
86 power-domains = <&sysc R8A7795_PD_CA53_CPU1>; 100 power-domains = <&sysc R8A7795_PD_CA53_CPU1>;
87 next-level-cache = <&L2_CA53>; 101 next-level-cache = <&L2_CA53>;
88 enable-method = "psci"; 102 enable-method = "psci";
103 clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
104 operating-points-v2 = <&cluster1_opp>;
89 }; 105 };
90 106
91 a53_2: cpu@102 { 107 a53_2: cpu@102 {
@@ -95,6 +111,8 @@
95 power-domains = <&sysc R8A7795_PD_CA53_CPU2>; 111 power-domains = <&sysc R8A7795_PD_CA53_CPU2>;
96 next-level-cache = <&L2_CA53>; 112 next-level-cache = <&L2_CA53>;
97 enable-method = "psci"; 113 enable-method = "psci";
114 clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
115 operating-points-v2 = <&cluster1_opp>;
98 }; 116 };
99 117
100 a53_3: cpu@103 { 118 a53_3: cpu@103 {
@@ -104,6 +122,8 @@
104 power-domains = <&sysc R8A7795_PD_CA53_CPU3>; 122 power-domains = <&sysc R8A7795_PD_CA53_CPU3>;
105 next-level-cache = <&L2_CA53>; 123 next-level-cache = <&L2_CA53>;
106 enable-method = "psci"; 124 enable-method = "psci";
125 clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
126 operating-points-v2 = <&cluster1_opp>;
107 }; 127 };
108 128
109 L2_CA57: cache-controller-0 { 129 L2_CA57: cache-controller-0 {
@@ -165,11 +185,59 @@
165 clock-frequency = <0>; 185 clock-frequency = <0>;
166 }; 186 };
167 187
168 /* External SCIF clock - to be overridden by boards that provide it */ 188 cluster0_opp: opp_table0 {
169 scif_clk: scif { 189 compatible = "operating-points-v2";
170 compatible = "fixed-clock"; 190 opp-shared;
171 #clock-cells = <0>; 191
172 clock-frequency = <0>; 192 opp-500000000 {
193 opp-hz = /bits/ 64 <500000000>;
194 opp-microvolt = <830000>;
195 clock-latency-ns = <300000>;
196 };
197 opp-1000000000 {
198 opp-hz = /bits/ 64 <1000000000>;
199 opp-microvolt = <830000>;
200 clock-latency-ns = <300000>;
201 };
202 opp-1500000000 {
203 opp-hz = /bits/ 64 <1500000000>;
204 opp-microvolt = <830000>;
205 clock-latency-ns = <300000>;
206 opp-suspend;
207 };
208 opp-1600000000 {
209 opp-hz = /bits/ 64 <1600000000>;
210 opp-microvolt = <900000>;
211 clock-latency-ns = <300000>;
212 turbo-mode;
213 };
214 opp-1700000000 {
215 opp-hz = /bits/ 64 <1700000000>;
216 opp-microvolt = <960000>;
217 clock-latency-ns = <300000>;
218 turbo-mode;
219 };
220 };
221
222 cluster1_opp: opp_table1 {
223 compatible = "operating-points-v2";
224 opp-shared;
225
226 opp-800000000 {
227 opp-hz = /bits/ 64 <800000000>;
228 opp-microvolt = <820000>;
229 clock-latency-ns = <300000>;
230 };
231 opp-1000000000 {
232 opp-hz = /bits/ 64 <1000000000>;
233 opp-microvolt = <820000>;
234 clock-latency-ns = <300000>;
235 };
236 opp-1200000000 {
237 opp-hz = /bits/ 64 <1200000000>;
238 opp-microvolt = <820000>;
239 clock-latency-ns = <300000>;
240 };
173 }; 241 };
174 242
175 /* External PCIe clock - can be overridden by the board */ 243 /* External PCIe clock - can be overridden by the board */
@@ -208,6 +276,13 @@
208 method = "smc"; 276 method = "smc";
209 }; 277 };
210 278
279 /* External SCIF clock - to be overridden by boards that provide it */
280 scif_clk: scif {
281 compatible = "fixed-clock";
282 #clock-cells = <0>;
283 clock-frequency = <0>;
284 };
285
211 soc: soc { 286 soc: soc {
212 compatible = "simple-bus"; 287 compatible = "simple-bus";
213 interrupt-parent = <&gic>; 288 interrupt-parent = <&gic>;
@@ -470,6 +545,15 @@
470 status = "disabled"; 545 status = "disabled";
471 }; 546 };
472 547
548 ipmmu_pv1: mmu@fd950000 {
549 compatible = "renesas,ipmmu-r8a7795";
550 reg = <0 0xfd950000 0 0x1000>;
551 renesas,ipmmu-main = <&ipmmu_mm 7>;
552 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
553 #iommu-cells = <1>;
554 status = "disabled";
555 };
556
473 ipmmu_pv2: mmu@fd960000 { 557 ipmmu_pv2: mmu@fd960000 {
474 compatible = "renesas,ipmmu-r8a7795"; 558 compatible = "renesas,ipmmu-r8a7795";
475 reg = <0 0xfd960000 0 0x1000>; 559 reg = <0 0xfd960000 0 0x1000>;
@@ -798,7 +882,7 @@
798 clocks = <&cpg CPG_MOD 812>; 882 clocks = <&cpg CPG_MOD 812>;
799 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 883 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
800 resets = <&cpg 812>; 884 resets = <&cpg 812>;
801 phy-mode = "rgmii-txid"; 885 phy-mode = "rgmii";
802 iommus = <&ipmmu_ds0 16>; 886 iommus = <&ipmmu_ds0 16>;
803 #address-cells = <1>; 887 #address-cells = <1>;
804 #size-cells = <0>; 888 #size-cells = <0>;
@@ -992,8 +1076,9 @@
992 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1076 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
993 <&scif_clk>; 1077 <&scif_clk>;
994 clock-names = "fck", "brg_int", "scif_clk"; 1078 clock-names = "fck", "brg_int", "scif_clk";
995 dmas = <&dmac1 0x31>, <&dmac1 0x30>; 1079 dmas = <&dmac1 0x31>, <&dmac1 0x30>,
996 dma-names = "tx", "rx"; 1080 <&dmac2 0x31>, <&dmac2 0x30>;
1081 dma-names = "tx", "rx", "tx", "rx";
997 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1082 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
998 resets = <&cpg 520>; 1083 resets = <&cpg 520>;
999 status = "disabled"; 1084 status = "disabled";
@@ -1009,8 +1094,9 @@
1009 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1094 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
1010 <&scif_clk>; 1095 <&scif_clk>;
1011 clock-names = "fck", "brg_int", "scif_clk"; 1096 clock-names = "fck", "brg_int", "scif_clk";
1012 dmas = <&dmac1 0x33>, <&dmac1 0x32>; 1097 dmas = <&dmac1 0x33>, <&dmac1 0x32>,
1013 dma-names = "tx", "rx"; 1098 <&dmac2 0x33>, <&dmac2 0x32>;
1099 dma-names = "tx", "rx", "tx", "rx";
1014 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1100 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1015 resets = <&cpg 519>; 1101 resets = <&cpg 519>;
1016 status = "disabled"; 1102 status = "disabled";
@@ -1026,8 +1112,9 @@
1026 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1112 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
1027 <&scif_clk>; 1113 <&scif_clk>;
1028 clock-names = "fck", "brg_int", "scif_clk"; 1114 clock-names = "fck", "brg_int", "scif_clk";
1029 dmas = <&dmac1 0x35>, <&dmac1 0x34>; 1115 dmas = <&dmac1 0x35>, <&dmac1 0x34>,
1030 dma-names = "tx", "rx"; 1116 <&dmac2 0x35>, <&dmac2 0x34>;
1117 dma-names = "tx", "rx", "tx", "rx";
1031 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1118 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1032 resets = <&cpg 518>; 1119 resets = <&cpg 518>;
1033 status = "disabled"; 1120 status = "disabled";
@@ -1138,8 +1225,9 @@
1138 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1225 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
1139 <&scif_clk>; 1226 <&scif_clk>;
1140 clock-names = "fck", "brg_int", "scif_clk"; 1227 clock-names = "fck", "brg_int", "scif_clk";
1141 dmas = <&dmac1 0x51>, <&dmac1 0x50>; 1228 dmas = <&dmac1 0x51>, <&dmac1 0x50>,
1142 dma-names = "tx", "rx"; 1229 <&dmac2 0x51>, <&dmac2 0x50>;
1230 dma-names = "tx", "rx", "tx", "rx";
1143 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1231 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1144 resets = <&cpg 207>; 1232 resets = <&cpg 207>;
1145 status = "disabled"; 1233 status = "disabled";
@@ -1154,8 +1242,9 @@
1154 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1242 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
1155 <&scif_clk>; 1243 <&scif_clk>;
1156 clock-names = "fck", "brg_int", "scif_clk"; 1244 clock-names = "fck", "brg_int", "scif_clk";
1157 dmas = <&dmac1 0x53>, <&dmac1 0x52>; 1245 dmas = <&dmac1 0x53>, <&dmac1 0x52>,
1158 dma-names = "tx", "rx"; 1246 <&dmac2 0x53>, <&dmac2 0x52>;
1247 dma-names = "tx", "rx", "tx", "rx";
1159 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1248 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1160 resets = <&cpg 206>; 1249 resets = <&cpg 206>;
1161 status = "disabled"; 1250 status = "disabled";
@@ -1170,8 +1259,9 @@
1170 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1259 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
1171 <&scif_clk>; 1260 <&scif_clk>;
1172 clock-names = "fck", "brg_int", "scif_clk"; 1261 clock-names = "fck", "brg_int", "scif_clk";
1173 dmas = <&dmac1 0x13>, <&dmac1 0x12>; 1262 dmas = <&dmac1 0x13>, <&dmac1 0x12>,
1174 dma-names = "tx", "rx"; 1263 <&dmac2 0x13>, <&dmac2 0x12>;
1264 dma-names = "tx", "rx", "tx", "rx";
1175 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1265 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1176 resets = <&cpg 310>; 1266 resets = <&cpg 310>;
1177 status = "disabled"; 1267 status = "disabled";
@@ -1218,8 +1308,9 @@
1218 <&cpg CPG_CORE R8A7795_CLK_S3D1>, 1308 <&cpg CPG_CORE R8A7795_CLK_S3D1>,
1219 <&scif_clk>; 1309 <&scif_clk>;
1220 clock-names = "fck", "brg_int", "scif_clk"; 1310 clock-names = "fck", "brg_int", "scif_clk";
1221 dmas = <&dmac1 0x5b>, <&dmac1 0x5a>; 1311 dmas = <&dmac1 0x5b>, <&dmac1 0x5a>,
1222 dma-names = "tx", "rx"; 1312 <&dmac2 0x5b>, <&dmac2 0x5a>;
1313 dma-names = "tx", "rx", "tx", "rx";
1223 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1314 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1224 resets = <&cpg 202>; 1315 resets = <&cpg 202>;
1225 status = "disabled"; 1316 status = "disabled";
@@ -1251,8 +1342,9 @@
1251 clocks = <&cpg CPG_MOD 931>; 1342 clocks = <&cpg CPG_MOD 931>;
1252 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1343 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1253 resets = <&cpg 931>; 1344 resets = <&cpg 931>;
1254 dmas = <&dmac1 0x91>, <&dmac1 0x90>; 1345 dmas = <&dmac1 0x91>, <&dmac1 0x90>,
1255 dma-names = "tx", "rx"; 1346 <&dmac2 0x91>, <&dmac2 0x90>;
1347 dma-names = "tx", "rx", "tx", "rx";
1256 i2c-scl-internal-delay-ns = <110>; 1348 i2c-scl-internal-delay-ns = <110>;
1257 status = "disabled"; 1349 status = "disabled";
1258 }; 1350 };
@@ -1267,8 +1359,9 @@
1267 clocks = <&cpg CPG_MOD 930>; 1359 clocks = <&cpg CPG_MOD 930>;
1268 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1360 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1269 resets = <&cpg 930>; 1361 resets = <&cpg 930>;
1270 dmas = <&dmac1 0x93>, <&dmac1 0x92>; 1362 dmas = <&dmac1 0x93>, <&dmac1 0x92>,
1271 dma-names = "tx", "rx"; 1363 <&dmac2 0x93>, <&dmac2 0x92>;
1364 dma-names = "tx", "rx", "tx", "rx";
1272 i2c-scl-internal-delay-ns = <6>; 1365 i2c-scl-internal-delay-ns = <6>;
1273 status = "disabled"; 1366 status = "disabled";
1274 }; 1367 };
@@ -1283,8 +1376,9 @@
1283 clocks = <&cpg CPG_MOD 929>; 1376 clocks = <&cpg CPG_MOD 929>;
1284 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 1377 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
1285 resets = <&cpg 929>; 1378 resets = <&cpg 929>;
1286 dmas = <&dmac1 0x95>, <&dmac1 0x94>; 1379 dmas = <&dmac1 0x95>, <&dmac1 0x94>,
1287 dma-names = "tx", "rx"; 1380 <&dmac2 0x95>, <&dmac2 0x94>;
1381 dma-names = "tx", "rx", "tx", "rx";
1288 i2c-scl-internal-delay-ns = <6>; 1382 i2c-scl-internal-delay-ns = <6>;
1289 status = "disabled"; 1383 status = "disabled";
1290 }; 1384 };
@@ -2143,7 +2237,7 @@
2143 2237
2144 vspd0: vsp@fea20000 { 2238 vspd0: vsp@fea20000 {
2145 compatible = "renesas,vsp2"; 2239 compatible = "renesas,vsp2";
2146 reg = <0 0xfea20000 0 0x4000>; 2240 reg = <0 0xfea20000 0 0x8000>;
2147 interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>; 2241 interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
2148 clocks = <&cpg CPG_MOD 623>; 2242 clocks = <&cpg CPG_MOD 623>;
2149 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2243 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
@@ -2163,7 +2257,7 @@
2163 2257
2164 vspd1: vsp@fea28000 { 2258 vspd1: vsp@fea28000 {
2165 compatible = "renesas,vsp2"; 2259 compatible = "renesas,vsp2";
2166 reg = <0 0xfea28000 0 0x4000>; 2260 reg = <0 0xfea28000 0 0x8000>;
2167 interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>; 2261 interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
2168 clocks = <&cpg CPG_MOD 622>; 2262 clocks = <&cpg CPG_MOD 622>;
2169 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2263 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
@@ -2183,7 +2277,7 @@
2183 2277
2184 vspd2: vsp@fea30000 { 2278 vspd2: vsp@fea30000 {
2185 compatible = "renesas,vsp2"; 2279 compatible = "renesas,vsp2";
2186 reg = <0 0xfea30000 0 0x4000>; 2280 reg = <0 0xfea30000 0 0x8000>;
2187 interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>; 2281 interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>;
2188 clocks = <&cpg CPG_MOD 621>; 2282 clocks = <&cpg CPG_MOD 621>;
2189 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 2283 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
@@ -2320,9 +2414,9 @@
2320 2414
2321 tsc: thermal@e6198000 { 2415 tsc: thermal@e6198000 {
2322 compatible = "renesas,r8a7795-thermal"; 2416 compatible = "renesas,r8a7795-thermal";
2323 reg = <0 0xe6198000 0 0x68>, 2417 reg = <0 0xe6198000 0 0x100>,
2324 <0 0xe61a0000 0 0x5c>, 2418 <0 0xe61a0000 0 0x100>,
2325 <0 0xe61a8000 0 0x5c>; 2419 <0 0xe61a8000 0 0x100>;
2326 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 2420 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
2327 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 2421 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
2328 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 2422 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
@@ -2357,12 +2451,24 @@
2357 thermal-sensors = <&tsc 0>; 2451 thermal-sensors = <&tsc 0>;
2358 2452
2359 trips { 2453 trips {
2454 sensor1_passive: sensor1-passive {
2455 temperature = <95000>;
2456 hysteresis = <2000>;
2457 type = "passive";
2458 };
2360 sensor1_crit: sensor1-crit { 2459 sensor1_crit: sensor1-crit {
2361 temperature = <120000>; 2460 temperature = <120000>;
2362 hysteresis = <2000>; 2461 hysteresis = <2000>;
2363 type = "critical"; 2462 type = "critical";
2364 }; 2463 };
2365 }; 2464 };
2465
2466 cooling-maps {
2467 map0 {
2468 trip = <&sensor1_passive>;
2469 cooling-device = <&a57_0 4 4>;
2470 };
2471 };
2366 }; 2472 };
2367 2473
2368 sensor_thermal2: sensor-thermal2 { 2474 sensor_thermal2: sensor-thermal2 {
@@ -2371,12 +2477,24 @@
2371 thermal-sensors = <&tsc 1>; 2477 thermal-sensors = <&tsc 1>;
2372 2478
2373 trips { 2479 trips {
2480 sensor2_passive: sensor2-passive {
2481 temperature = <95000>;
2482 hysteresis = <2000>;
2483 type = "passive";
2484 };
2374 sensor2_crit: sensor2-crit { 2485 sensor2_crit: sensor2-crit {
2375 temperature = <120000>; 2486 temperature = <120000>;
2376 hysteresis = <2000>; 2487 hysteresis = <2000>;
2377 type = "critical"; 2488 type = "critical";
2378 }; 2489 };
2379 }; 2490 };
2491
2492 cooling-maps {
2493 map0 {
2494 trip = <&sensor2_passive>;
2495 cooling-device = <&a57_0 4 4>;
2496 };
2497 };
2380 }; 2498 };
2381 2499
2382 sensor_thermal3: sensor-thermal3 { 2500 sensor_thermal3: sensor-thermal3 {
@@ -2385,12 +2503,24 @@
2385 thermal-sensors = <&tsc 2>; 2503 thermal-sensors = <&tsc 2>;
2386 2504
2387 trips { 2505 trips {
2506 sensor3_passive: sensor3-passive {
2507 temperature = <95000>;
2508 hysteresis = <2000>;
2509 type = "passive";
2510 };
2388 sensor3_crit: sensor3-crit { 2511 sensor3_crit: sensor3-crit {
2389 temperature = <120000>; 2512 temperature = <120000>;
2390 hysteresis = <2000>; 2513 hysteresis = <2000>;
2391 type = "critical"; 2514 type = "critical";
2392 }; 2515 };
2393 }; 2516 };
2517
2518 cooling-maps {
2519 map0 {
2520 trip = <&sensor3_passive>;
2521 cooling-device = <&a57_0 4 4>;
2522 };
2523 };
2394 }; 2524 };
2395 }; 2525 };
2396 2526
diff --git a/arch/arm64/boot/dts/renesas/r8a7796.dtsi b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
index c5192d513d7d..556eb8e45499 100644
--- a/arch/arm64/boot/dts/renesas/r8a7796.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7796.dtsi
@@ -71,6 +71,9 @@
71 power-domains = <&sysc R8A7796_PD_CA57_CPU0>; 71 power-domains = <&sysc R8A7796_PD_CA57_CPU0>;
72 next-level-cache = <&L2_CA57>; 72 next-level-cache = <&L2_CA57>;
73 enable-method = "psci"; 73 enable-method = "psci";
74 clocks =<&cpg CPG_CORE R8A7796_CLK_Z>;
75 operating-points-v2 = <&cluster0_opp>;
76 #cooling-cells = <2>;
74 }; 77 };
75 78
76 a57_1: cpu@1 { 79 a57_1: cpu@1 {
@@ -80,6 +83,9 @@
80 power-domains = <&sysc R8A7796_PD_CA57_CPU1>; 83 power-domains = <&sysc R8A7796_PD_CA57_CPU1>;
81 next-level-cache = <&L2_CA57>; 84 next-level-cache = <&L2_CA57>;
82 enable-method = "psci"; 85 enable-method = "psci";
86 clocks =<&cpg CPG_CORE R8A7796_CLK_Z>;
87 operating-points-v2 = <&cluster0_opp>;
88 #cooling-cells = <2>;
83 }; 89 };
84 90
85 a53_0: cpu@100 { 91 a53_0: cpu@100 {
@@ -89,6 +95,8 @@
89 power-domains = <&sysc R8A7796_PD_CA53_CPU0>; 95 power-domains = <&sysc R8A7796_PD_CA53_CPU0>;
90 next-level-cache = <&L2_CA53>; 96 next-level-cache = <&L2_CA53>;
91 enable-method = "psci"; 97 enable-method = "psci";
98 clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
99 operating-points-v2 = <&cluster1_opp>;
92 }; 100 };
93 101
94 a53_1: cpu@101 { 102 a53_1: cpu@101 {
@@ -98,6 +106,8 @@
98 power-domains = <&sysc R8A7796_PD_CA53_CPU1>; 106 power-domains = <&sysc R8A7796_PD_CA53_CPU1>;
99 next-level-cache = <&L2_CA53>; 107 next-level-cache = <&L2_CA53>;
100 enable-method = "psci"; 108 enable-method = "psci";
109 clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
110 operating-points-v2 = <&cluster1_opp>;
101 }; 111 };
102 112
103 a53_2: cpu@102 { 113 a53_2: cpu@102 {
@@ -107,6 +117,8 @@
107 power-domains = <&sysc R8A7796_PD_CA53_CPU2>; 117 power-domains = <&sysc R8A7796_PD_CA53_CPU2>;
108 next-level-cache = <&L2_CA53>; 118 next-level-cache = <&L2_CA53>;
109 enable-method = "psci"; 119 enable-method = "psci";
120 clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
121 operating-points-v2 = <&cluster1_opp>;
110 }; 122 };
111 123
112 a53_3: cpu@103 { 124 a53_3: cpu@103 {
@@ -116,6 +128,8 @@
116 power-domains = <&sysc R8A7796_PD_CA53_CPU3>; 128 power-domains = <&sysc R8A7796_PD_CA53_CPU3>;
117 next-level-cache = <&L2_CA53>; 129 next-level-cache = <&L2_CA53>;
118 enable-method = "psci"; 130 enable-method = "psci";
131 clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
132 operating-points-v2 = <&cluster1_opp>;
119 }; 133 };
120 134
121 L2_CA57: cache-controller-0 { 135 L2_CA57: cache-controller-0 {
@@ -147,6 +161,72 @@
147 clock-frequency = <0>; 161 clock-frequency = <0>;
148 }; 162 };
149 163
164 cluster0_opp: opp_table0 {
165 compatible = "operating-points-v2";
166 opp-shared;
167
168 opp-500000000 {
169 opp-hz = /bits/ 64 <500000000>;
170 opp-microvolt = <820000>;
171 clock-latency-ns = <300000>;
172 };
173 opp-1000000000 {
174 opp-hz = /bits/ 64 <1000000000>;
175 opp-microvolt = <820000>;
176 clock-latency-ns = <300000>;
177 };
178 opp-1500000000 {
179 opp-hz = /bits/ 64 <1500000000>;
180 opp-microvolt = <820000>;
181 clock-latency-ns = <300000>;
182 };
183 opp-1600000000 {
184 opp-hz = /bits/ 64 <1600000000>;
185 opp-microvolt = <900000>;
186 clock-latency-ns = <300000>;
187 turbo-mode;
188 };
189 opp-1700000000 {
190 opp-hz = /bits/ 64 <1700000000>;
191 opp-microvolt = <900000>;
192 clock-latency-ns = <300000>;
193 turbo-mode;
194 };
195 opp-1800000000 {
196 opp-hz = /bits/ 64 <1800000000>;
197 opp-microvolt = <960000>;
198 clock-latency-ns = <300000>;
199 turbo-mode;
200 };
201 };
202
203 cluster1_opp: opp_table1 {
204 compatible = "operating-points-v2";
205 opp-shared;
206
207 opp-800000000 {
208 opp-hz = /bits/ 64 <800000000>;
209 opp-microvolt = <820000>;
210 clock-latency-ns = <300000>;
211 };
212 opp-1000000000 {
213 opp-hz = /bits/ 64 <1000000000>;
214 opp-microvolt = <820000>;
215 clock-latency-ns = <300000>;
216 };
217 opp-1200000000 {
218 opp-hz = /bits/ 64 <1200000000>;
219 opp-microvolt = <820000>;
220 clock-latency-ns = <300000>;
221 };
222 opp-1300000000 {
223 opp-hz = /bits/ 64 <1300000000>;
224 opp-microvolt = <820000>;
225 clock-latency-ns = <300000>;
226 turbo-mode;
227 };
228 };
229
150 /* External PCIe clock - can be overridden by the board */ 230 /* External PCIe clock - can be overridden by the board */
151 pcie_bus_clk: pcie_bus { 231 pcie_bus_clk: pcie_bus {
152 compatible = "fixed-clock"; 232 compatible = "fixed-clock";
@@ -894,7 +974,7 @@
894 clocks = <&cpg CPG_MOD 812>; 974 clocks = <&cpg CPG_MOD 812>;
895 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 975 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
896 resets = <&cpg 812>; 976 resets = <&cpg 812>;
897 phy-mode = "rgmii-txid"; 977 phy-mode = "rgmii";
898 iommus = <&ipmmu_ds0 16>; 978 iommus = <&ipmmu_ds0 16>;
899 #address-cells = <1>; 979 #address-cells = <1>;
900 #size-cells = <0>; 980 #size-cells = <0>;
@@ -1561,9 +1641,9 @@
1561 1641
1562 tsc: thermal@e6198000 { 1642 tsc: thermal@e6198000 {
1563 compatible = "renesas,r8a7796-thermal"; 1643 compatible = "renesas,r8a7796-thermal";
1564 reg = <0 0xe6198000 0 0x68>, 1644 reg = <0 0xe6198000 0 0x100>,
1565 <0 0xe61a0000 0 0x5c>, 1645 <0 0xe61a0000 0 0x100>,
1566 <0 0xe61a8000 0 0x5c>; 1646 <0 0xe61a8000 0 0x100>;
1567 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 1647 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
1568 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 1648 <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
1569 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 1649 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
@@ -1839,7 +1919,7 @@
1839 1919
1840 vspd0: vsp@fea20000 { 1920 vspd0: vsp@fea20000 {
1841 compatible = "renesas,vsp2"; 1921 compatible = "renesas,vsp2";
1842 reg = <0 0xfea20000 0 0x4000>; 1922 reg = <0 0xfea20000 0 0x8000>;
1843 interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>; 1923 interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
1844 clocks = <&cpg CPG_MOD 623>; 1924 clocks = <&cpg CPG_MOD 623>;
1845 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 1925 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
@@ -1859,7 +1939,7 @@
1859 1939
1860 vspd1: vsp@fea28000 { 1940 vspd1: vsp@fea28000 {
1861 compatible = "renesas,vsp2"; 1941 compatible = "renesas,vsp2";
1862 reg = <0 0xfea28000 0 0x4000>; 1942 reg = <0 0xfea28000 0 0x8000>;
1863 interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>; 1943 interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
1864 clocks = <&cpg CPG_MOD 622>; 1944 clocks = <&cpg CPG_MOD 622>;
1865 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 1945 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
@@ -1879,7 +1959,7 @@
1879 1959
1880 vspd2: vsp@fea30000 { 1960 vspd2: vsp@fea30000 {
1881 compatible = "renesas,vsp2"; 1961 compatible = "renesas,vsp2";
1882 reg = <0 0xfea30000 0 0x4000>; 1962 reg = <0 0xfea30000 0 0x8000>;
1883 interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>; 1963 interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>;
1884 clocks = <&cpg CPG_MOD 621>; 1964 clocks = <&cpg CPG_MOD 621>;
1885 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>; 1965 power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
@@ -1998,12 +2078,24 @@
1998 thermal-sensors = <&tsc 0>; 2078 thermal-sensors = <&tsc 0>;
1999 2079
2000 trips { 2080 trips {
2081 sensor1_passive: sensor1-passive {
2082 temperature = <95000>;
2083 hysteresis = <2000>;
2084 type = "passive";
2085 };
2001 sensor1_crit: sensor1-crit { 2086 sensor1_crit: sensor1-crit {
2002 temperature = <120000>; 2087 temperature = <120000>;
2003 hysteresis = <2000>; 2088 hysteresis = <2000>;
2004 type = "critical"; 2089 type = "critical";
2005 }; 2090 };
2006 }; 2091 };
2092
2093 cooling-maps {
2094 map0 {
2095 trip = <&sensor1_passive>;
2096 cooling-device = <&a57_0 5 5>;
2097 };
2098 };
2007 }; 2099 };
2008 2100
2009 sensor_thermal2: sensor-thermal2 { 2101 sensor_thermal2: sensor-thermal2 {
@@ -2012,12 +2104,24 @@
2012 thermal-sensors = <&tsc 1>; 2104 thermal-sensors = <&tsc 1>;
2013 2105
2014 trips { 2106 trips {
2107 sensor2_passive: sensor2-passive {
2108 temperature = <95000>;
2109 hysteresis = <2000>;
2110 type = "passive";
2111 };
2015 sensor2_crit: sensor2-crit { 2112 sensor2_crit: sensor2-crit {
2016 temperature = <120000>; 2113 temperature = <120000>;
2017 hysteresis = <2000>; 2114 hysteresis = <2000>;
2018 type = "critical"; 2115 type = "critical";
2019 }; 2116 };
2020 }; 2117 };
2118
2119 cooling-maps {
2120 map0 {
2121 trip = <&sensor2_passive>;
2122 cooling-device = <&a57_0 5 5>;
2123 };
2124 };
2021 }; 2125 };
2022 2126
2023 sensor_thermal3: sensor-thermal3 { 2127 sensor_thermal3: sensor-thermal3 {
@@ -2026,12 +2130,24 @@
2026 thermal-sensors = <&tsc 2>; 2130 thermal-sensors = <&tsc 2>;
2027 2131
2028 trips { 2132 trips {
2133 sensor3_passive: sensor3-passive {
2134 temperature = <95000>;
2135 hysteresis = <2000>;
2136 type = "passive";
2137 };
2029 sensor3_crit: sensor3-crit { 2138 sensor3_crit: sensor3-crit {
2030 temperature = <120000>; 2139 temperature = <120000>;
2031 hysteresis = <2000>; 2140 hysteresis = <2000>;
2032 type = "critical"; 2141 type = "critical";
2033 }; 2142 };
2034 }; 2143 };
2144
2145 cooling-maps {
2146 map0 {
2147 trip = <&sensor3_passive>;
2148 cooling-device = <&a57_0 5 5>;
2149 };
2150 };
2035 }; 2151 };
2036 }; 2152 };
2037 2153
diff --git a/arch/arm64/boot/dts/renesas/r8a77965-salvator-x.dts b/arch/arm64/boot/dts/renesas/r8a77965-salvator-x.dts
new file mode 100644
index 000000000000..75d890d91df9
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a77965-salvator-x.dts
@@ -0,0 +1,21 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Salvator-X board with R-Car M3-N
4 *
5 * Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
6 */
7
8/dts-v1/;
9#include "r8a77965.dtsi"
10#include "salvator-x.dtsi"
11
12/ {
13 model = "Renesas Salvator-X board based on r8a77965";
14 compatible = "renesas,salvator-x", "renesas,r8a77965";
15
16 memory@48000000 {
17 device_type = "memory";
18 /* first 128MB is reserved for secure area. */
19 reg = <0x0 0x48000000 0x0 0x78000000>;
20 };
21};
diff --git a/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts b/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts
new file mode 100644
index 000000000000..a83a00deed9e
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a77965-salvator-xs.dts
@@ -0,0 +1,21 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Salvator-X 2nd version board with R-Car M3-N
4 *
5 * Copyright (C) 2017 Renesas Electronics Corp.
6 */
7
8/dts-v1/;
9#include "r8a77965.dtsi"
10#include "salvator-xs.dtsi"
11
12/ {
13 model = "Renesas Salvator-X 2nd version board based on r8a77965";
14 compatible = "renesas,salvator-xs", "renesas,r8a77965";
15
16 memory@48000000 {
17 device_type = "memory";
18 /* first 128MB is reserved for secure area. */
19 reg = <0x0 0x48000000 0x0 0x78000000>;
20 };
21};
diff --git a/arch/arm64/boot/dts/renesas/r8a77965.dtsi b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
new file mode 100644
index 000000000000..f0871fcdd984
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a77965.dtsi
@@ -0,0 +1,878 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the r8a77965 SoC
4 *
5 * Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
6 *
7 * Based on r8a7796.dtsi
8 * Copyright (C) 2016 Renesas Electronics Corp.
9 */
10
11#include <dt-bindings/clock/renesas-cpg-mssr.h>
12#include <dt-bindings/interrupt-controller/arm-gic.h>
13
14#define CPG_AUDIO_CLK_I 10
15
16/ {
17 compatible = "renesas,r8a77965";
18 #address-cells = <2>;
19 #size-cells = <2>;
20
21 aliases {
22 i2c7 = &i2c_dvfs;
23 };
24
25 psci {
26 compatible = "arm,psci-1.0", "arm,psci-0.2";
27 method = "smc";
28 };
29
30 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 a57_0: cpu@0 {
35 compatible = "arm,cortex-a57", "arm,armv8";
36 reg = <0x0>;
37 device_type = "cpu";
38 power-domains = <&sysc 0>;
39 next-level-cache = <&L2_CA57>;
40 enable-method = "psci";
41 };
42
43 a57_1: cpu@1 {
44 compatible = "arm,cortex-a57","arm,armv8";
45 reg = <0x1>;
46 device_type = "cpu";
47 power-domains = <&sysc 1>;
48 next-level-cache = <&L2_CA57>;
49 enable-method = "psci";
50 };
51
52 L2_CA57: cache-controller-0 {
53 compatible = "cache";
54 power-domains = <&sysc 12>;
55 cache-unified;
56 cache-level = <2>;
57 };
58 };
59
60 extal_clk: extal {
61 compatible = "fixed-clock";
62 #clock-cells = <0>;
63 /* This value must be overridden by the board */
64 clock-frequency = <0>;
65 };
66
67 extalr_clk: extalr {
68 compatible = "fixed-clock";
69 #clock-cells = <0>;
70 /* This value must be overridden by the board */
71 clock-frequency = <0>;
72 };
73
74 /*
75 * The external audio clocks are configured as 0 Hz fixed frequency
76 * clocks by default.
77 * Boards that provide audio clocks should override them.
78 */
79 audio_clk_a: audio_clk_a {
80 compatible = "fixed-clock";
81 #clock-cells = <0>;
82 clock-frequency = <0>;
83 };
84
85 audio_clk_b: audio_clk_b {
86 compatible = "fixed-clock";
87 #clock-cells = <0>;
88 clock-frequency = <0>;
89 };
90
91 audio_clk_c: audio_clk_c {
92 compatible = "fixed-clock";
93 #clock-cells = <0>;
94 clock-frequency = <0>;
95 };
96
97 /* External CAN clock - to be overridden by boards that provide it */
98 can_clk: can {
99 compatible = "fixed-clock";
100 #clock-cells = <0>;
101 clock-frequency = <0>;
102 };
103
104 /* External SCIF clock - to be overridden by boards that provide it */
105 scif_clk: scif {
106 compatible = "fixed-clock";
107 #clock-cells = <0>;
108 clock-frequency = <0>;
109 };
110
111 /* External PCIe clock - can be overridden by the board */
112 pcie_bus_clk: pcie_bus {
113 compatible = "fixed-clock";
114 #clock-cells = <0>;
115 clock-frequency = <0>;
116 };
117
118 /* External USB clocks - can be overridden by the board */
119 usb3s0_clk: usb3s0 {
120 compatible = "fixed-clock";
121 #clock-cells = <0>;
122 clock-frequency = <0>;
123 };
124
125 usb_extal_clk: usb_extal {
126 compatible = "fixed-clock";
127 #clock-cells = <0>;
128 clock-frequency = <0>;
129 };
130
131 timer {
132 compatible = "arm,armv8-timer";
133 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
134 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
135 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
136 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
137 };
138
139 pmu_a57 {
140 compatible = "arm,cortex-a57-pmu";
141 interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
142 <&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
143 interrupt-affinity = <&a57_0>,
144 <&a57_1>;
145 };
146
147 soc {
148 compatible = "simple-bus";
149 interrupt-parent = <&gic>;
150 #address-cells = <2>;
151 #size-cells = <2>;
152 ranges;
153
154 gic: interrupt-controller@f1010000 {
155 compatible = "arm,gic-400";
156 #interrupt-cells = <3>;
157 #address-cells = <0>;
158 interrupt-controller;
159 reg = <0x0 0xf1010000 0 0x1000>,
160 <0x0 0xf1020000 0 0x20000>,
161 <0x0 0xf1040000 0 0x20000>,
162 <0x0 0xf1060000 0 0x20000>;
163 interrupts = <GIC_PPI 9
164 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
165 clocks = <&cpg CPG_MOD 408>;
166 clock-names = "clk";
167 power-domains = <&sysc 32>;
168 resets = <&cpg 408>;
169 };
170
171 pfc: pin-controller@e6060000 {
172 compatible = "renesas,pfc-r8a77965";
173 reg = <0 0xe6060000 0 0x50c>;
174 };
175
176 cpg: clock-controller@e6150000 {
177 compatible = "renesas,r8a77965-cpg-mssr";
178 reg = <0 0xe6150000 0 0x1000>;
179 clocks = <&extal_clk>, <&extalr_clk>;
180 clock-names = "extal", "extalr";
181 #clock-cells = <2>;
182 #power-domain-cells = <0>;
183 #reset-cells = <1>;
184 };
185
186 rst: reset-controller@e6160000 {
187 compatible = "renesas,r8a77965-rst";
188 reg = <0 0xe6160000 0 0x0200>;
189 };
190
191 prr: chipid@fff00044 {
192 compatible = "renesas,prr";
193 reg = <0 0xfff00044 0 4>;
194 };
195
196 sysc: system-controller@e6180000 {
197 compatible = "renesas,r8a77965-sysc";
198 reg = <0 0xe6180000 0 0x0400>;
199 #power-domain-cells = <1>;
200 };
201
202 gpio0: gpio@e6050000 {
203 compatible = "renesas,gpio-r8a77965",
204 "renesas,rcar-gen3-gpio";
205 reg = <0 0xe6050000 0 0x50>;
206 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
207 #gpio-cells = <2>;
208 gpio-controller;
209 gpio-ranges = <&pfc 0 0 16>;
210 #interrupt-cells = <2>;
211 interrupt-controller;
212 clocks = <&cpg CPG_MOD 912>;
213 power-domains = <&sysc 32>;
214 resets = <&cpg 912>;
215 };
216
217 gpio1: gpio@e6051000 {
218 compatible = "renesas,gpio-r8a77965",
219 "renesas,rcar-gen3-gpio";
220 reg = <0 0xe6051000 0 0x50>;
221 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
222 #gpio-cells = <2>;
223 gpio-controller;
224 gpio-ranges = <&pfc 0 32 29>;
225 #interrupt-cells = <2>;
226 interrupt-controller;
227 clocks = <&cpg CPG_MOD 911>;
228 power-domains = <&sysc 32>;
229 resets = <&cpg 911>;
230 };
231
232 gpio2: gpio@e6052000 {
233 compatible = "renesas,gpio-r8a77965",
234 "renesas,rcar-gen3-gpio";
235 reg = <0 0xe6052000 0 0x50>;
236 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
237 #gpio-cells = <2>;
238 gpio-controller;
239 gpio-ranges = <&pfc 0 64 15>;
240 #interrupt-cells = <2>;
241 interrupt-controller;
242 clocks = <&cpg CPG_MOD 910>;
243 power-domains = <&sysc 32>;
244 resets = <&cpg 910>;
245 };
246
247 gpio3: gpio@e6053000 {
248 compatible = "renesas,gpio-r8a77965",
249 "renesas,rcar-gen3-gpio";
250 reg = <0 0xe6053000 0 0x50>;
251 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
252 #gpio-cells = <2>;
253 gpio-controller;
254 gpio-ranges = <&pfc 0 96 16>;
255 #interrupt-cells = <2>;
256 interrupt-controller;
257 clocks = <&cpg CPG_MOD 909>;
258 power-domains = <&sysc 32>;
259 resets = <&cpg 909>;
260 };
261
262 gpio4: gpio@e6054000 {
263 compatible = "renesas,gpio-r8a77965",
264 "renesas,rcar-gen3-gpio";
265 reg = <0 0xe6054000 0 0x50>;
266 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
267 #gpio-cells = <2>;
268 gpio-controller;
269 gpio-ranges = <&pfc 0 128 18>;
270 #interrupt-cells = <2>;
271 interrupt-controller;
272 clocks = <&cpg CPG_MOD 908>;
273 power-domains = <&sysc 32>;
274 resets = <&cpg 908>;
275 };
276
277 gpio5: gpio@e6055000 {
278 compatible = "renesas,gpio-r8a77965",
279 "renesas,rcar-gen3-gpio";
280 reg = <0 0xe6055000 0 0x50>;
281 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
282 #gpio-cells = <2>;
283 gpio-controller;
284 gpio-ranges = <&pfc 0 160 26>;
285 #interrupt-cells = <2>;
286 interrupt-controller;
287 clocks = <&cpg CPG_MOD 907>;
288 power-domains = <&sysc 32>;
289 resets = <&cpg 907>;
290 };
291
292 gpio6: gpio@e6055400 {
293 compatible = "renesas,gpio-r8a77965",
294 "renesas,rcar-gen3-gpio";
295 reg = <0 0xe6055400 0 0x50>;
296 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
297 #gpio-cells = <2>;
298 gpio-controller;
299 gpio-ranges = <&pfc 0 192 32>;
300 #interrupt-cells = <2>;
301 interrupt-controller;
302 clocks = <&cpg CPG_MOD 906>;
303 power-domains = <&sysc 32>;
304 resets = <&cpg 906>;
305 };
306
307 gpio7: gpio@e6055800 {
308 compatible = "renesas,gpio-r8a77965",
309 "renesas,rcar-gen3-gpio";
310 reg = <0 0xe6055800 0 0x50>;
311 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
312 #gpio-cells = <2>;
313 gpio-controller;
314 gpio-ranges = <&pfc 0 224 4>;
315 #interrupt-cells = <2>;
316 interrupt-controller;
317 clocks = <&cpg CPG_MOD 905>;
318 power-domains = <&sysc 32>;
319 resets = <&cpg 905>;
320 };
321
322 intc_ex: interrupt-controller@e61c0000 {
323 compatible = "renesas,intc-ex-r8a77965", "renesas,irqc";
324 #interrupt-cells = <2>;
325 interrupt-controller;
326 reg = <0 0xe61c0000 0 0x200>;
327 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
328 GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
329 GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
330 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
331 GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
332 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
333 clocks = <&cpg CPG_MOD 407>;
334 power-domains = <&sysc 32>;
335 resets = <&cpg 407>;
336 };
337
338 dmac0: dma-controller@e6700000 {
339 compatible = "renesas,dmac-r8a77965",
340 "renesas,rcar-dmac";
341 reg = <0 0xe6700000 0 0x10000>;
342 interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH
343 GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
344 GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
345 GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
346 GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
347 GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
348 GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
349 GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
350 GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH
351 GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH
352 GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH
353 GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH
354 GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH
355 GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH
356 GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH
357 GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH
358 GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
359 interrupt-names = "error",
360 "ch0", "ch1", "ch2", "ch3",
361 "ch4", "ch5", "ch6", "ch7",
362 "ch8", "ch9", "ch10", "ch11",
363 "ch12", "ch13", "ch14", "ch15";
364 clocks = <&cpg CPG_MOD 219>;
365 clock-names = "fck";
366 power-domains = <&sysc 32>;
367 resets = <&cpg 219>;
368 #dma-cells = <1>;
369 dma-channels = <16>;
370 };
371
372 dmac1: dma-controller@e7300000 {
373 compatible = "renesas,dmac-r8a77965",
374 "renesas,rcar-dmac";
375 reg = <0 0xe7300000 0 0x10000>;
376 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
377 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
378 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
379 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
380 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
381 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
382 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
383 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
384 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
385 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
386 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
387 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
388 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
389 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
390 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
391 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH
392 GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>;
393 interrupt-names = "error",
394 "ch0", "ch1", "ch2", "ch3",
395 "ch4", "ch5", "ch6", "ch7",
396 "ch8", "ch9", "ch10", "ch11",
397 "ch12", "ch13", "ch14", "ch15";
398 clocks = <&cpg CPG_MOD 218>;
399 clock-names = "fck";
400 power-domains = <&sysc 32>;
401 resets = <&cpg 218>;
402 #dma-cells = <1>;
403 dma-channels = <16>;
404 };
405
406 dmac2: dma-controller@e7310000 {
407 compatible = "renesas,dmac-r8a77965",
408 "renesas,rcar-dmac";
409 reg = <0 0xe7310000 0 0x10000>;
410 interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH
411 GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH
412 GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH
413 GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH
414 GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH
415 GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH
416 GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH
417 GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH
418 GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH
419 GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH
420 GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH
421 GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH
422 GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH
423 GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH
424 GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH
425 GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH
426 GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>;
427 interrupt-names = "error",
428 "ch0", "ch1", "ch2", "ch3",
429 "ch4", "ch5", "ch6", "ch7",
430 "ch8", "ch9", "ch10", "ch11",
431 "ch12", "ch13", "ch14", "ch15";
432 clocks = <&cpg CPG_MOD 217>;
433 clock-names = "fck";
434 power-domains = <&sysc 32>;
435 resets = <&cpg 217>;
436 #dma-cells = <1>;
437 dma-channels = <16>;
438 };
439
440 scif0: serial@e6e60000 {
441 compatible = "renesas,scif-r8a77965",
442 "renesas,rcar-gen3-scif", "renesas,scif";
443 reg = <0 0xe6e60000 0 64>;
444 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
445 clocks = <&cpg CPG_MOD 207>,
446 <&cpg CPG_CORE 20>,
447 <&scif_clk>;
448 clock-names = "fck", "brg_int", "scif_clk";
449 dmas = <&dmac1 0x51>, <&dmac1 0x50>,
450 <&dmac2 0x51>, <&dmac2 0x50>;
451 dma-names = "tx", "rx", "tx", "rx";
452 power-domains = <&sysc 32>;
453 resets = <&cpg 207>;
454 status = "disabled";
455 };
456
457 scif1: serial@e6e68000 {
458 compatible = "renesas,scif-r8a77965",
459 "renesas,rcar-gen3-scif", "renesas,scif";
460 reg = <0 0xe6e68000 0 64>;
461 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
462 clocks = <&cpg CPG_MOD 206>,
463 <&cpg CPG_CORE 20>,
464 <&scif_clk>;
465 clock-names = "fck", "brg_int", "scif_clk";
466 dmas = <&dmac1 0x53>, <&dmac1 0x52>,
467 <&dmac2 0x53>, <&dmac2 0x52>;
468 dma-names = "tx", "rx", "tx", "rx";
469 power-domains = <&sysc 32>;
470 resets = <&cpg 206>;
471 status = "disabled";
472 };
473
474 scif2: serial@e6e88000 {
475 compatible = "renesas,scif-r8a77965",
476 "renesas,rcar-gen3-scif", "renesas,scif";
477 reg = <0 0xe6e88000 0 64>;
478 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
479 clocks = <&cpg CPG_MOD 310>,
480 <&cpg CPG_CORE 20>,
481 <&scif_clk>;
482 clock-names = "fck", "brg_int", "scif_clk";
483 power-domains = <&sysc 32>;
484 resets = <&cpg 310>;
485 status = "disabled";
486 };
487
488 scif3: serial@e6c50000 {
489 compatible = "renesas,scif-r8a77965",
490 "renesas,rcar-gen3-scif", "renesas,scif";
491 reg = <0 0xe6c50000 0 64>;
492 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
493 clocks = <&cpg CPG_MOD 204>,
494 <&cpg CPG_CORE 20>,
495 <&scif_clk>;
496 clock-names = "fck", "brg_int", "scif_clk";
497 dmas = <&dmac0 0x57>, <&dmac0 0x56>;
498 dma-names = "tx", "rx";
499 power-domains = <&sysc 32>;
500 resets = <&cpg 204>;
501 status = "disabled";
502 };
503
504 scif4: serial@e6c40000 {
505 compatible = "renesas,scif-r8a77965",
506 "renesas,rcar-gen3-scif", "renesas,scif";
507 reg = <0 0xe6c40000 0 64>;
508 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
509 clocks = <&cpg CPG_MOD 203>,
510 <&cpg CPG_CORE 20>,
511 <&scif_clk>;
512 clock-names = "fck", "brg_int", "scif_clk";
513 dmas = <&dmac0 0x59>, <&dmac0 0x58>;
514 dma-names = "tx", "rx";
515 power-domains = <&sysc 32>;
516 resets = <&cpg 203>;
517 status = "disabled";
518 };
519
520 scif5: serial@e6f30000 {
521 compatible = "renesas,scif-r8a77965",
522 "renesas,rcar-gen3-scif", "renesas,scif";
523 reg = <0 0xe6f30000 0 64>;
524 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
525 clocks = <&cpg CPG_MOD 202>,
526 <&cpg CPG_CORE 20>,
527 <&scif_clk>;
528 clock-names = "fck", "brg_int", "scif_clk";
529 dmas = <&dmac1 0x5b>, <&dmac1 0x5a>,
530 <&dmac2 0x5b>, <&dmac2 0x5a>;
531 dma-names = "tx", "rx", "tx", "rx";
532 power-domains = <&sysc 32>;
533 resets = <&cpg 202>;
534 status = "disabled";
535 };
536
537 avb: ethernet@e6800000 {
538 compatible = "renesas,etheravb-r8a77965",
539 "renesas,etheravb-rcar-gen3";
540 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
541 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
542 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
543 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
544 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
545 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
546 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
547 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
548 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
549 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
550 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
551 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
552 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
553 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
554 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
555 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
556 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
557 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
558 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
559 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
560 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
561 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
562 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
563 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
564 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
565 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
566 interrupt-names = "ch0", "ch1", "ch2", "ch3",
567 "ch4", "ch5", "ch6", "ch7",
568 "ch8", "ch9", "ch10", "ch11",
569 "ch12", "ch13", "ch14", "ch15",
570 "ch16", "ch17", "ch18", "ch19",
571 "ch20", "ch21", "ch22", "ch23",
572 "ch24";
573 clocks = <&cpg CPG_MOD 812>;
574 power-domains = <&sysc 32>;
575 resets = <&cpg 812>;
576 phy-mode = "rgmii";
577 #address-cells = <1>;
578 #size-cells = <0>;
579 status = "disabled";
580 };
581
582 csi20: csi2@fea80000 {
583 reg = <0 0xfea80000 0 0x10000>;
584 /* placeholder */
585
586 ports {
587 #address-cells = <1>;
588 #size-cells = <0>;
589 };
590 };
591
592 csi40: csi2@feaa0000 {
593 reg = <0 0xfeaa0000 0 0x10000>;
594 /* placeholder */
595
596 ports {
597 #address-cells = <1>;
598 #size-cells = <0>;
599 };
600 };
601
602 vin0: video@e6ef0000 {
603 reg = <0 0xe6ef0000 0 0x1000>;
604 /* placeholder */
605 };
606
607 vin1: video@e6ef1000 {
608 reg = <0 0xe6ef1000 0 0x1000>;
609 /* placeholder */
610 };
611
612 vin2: video@e6ef2000 {
613 reg = <0 0xe6ef2000 0 0x1000>;
614 /* placeholder */
615 };
616
617 vin3: video@e6ef3000 {
618 reg = <0 0xe6ef3000 0 0x1000>;
619 /* placeholder */
620 };
621
622 vin4: video@e6ef4000 {
623 reg = <0 0xe6ef4000 0 0x1000>;
624 /* placeholder */
625 };
626
627 vin5: video@e6ef5000 {
628 reg = <0 0xe6ef5000 0 0x1000>;
629 /* placeholder */
630 };
631
632 vin6: video@e6ef6000 {
633 reg = <0 0xe6ef6000 0 0x1000>;
634 /* placeholder */
635 };
636
637 vin7: video@e6ef7000 {
638 reg = <0 0xe6ef7000 0 0x1000>;
639 /* placeholder */
640 };
641
642 ohci0: usb@ee080000 {
643 reg = <0 0xee080000 0 0x100>;
644 /* placeholder */
645 };
646
647 ehci0: usb@ee080100 {
648 reg = <0 0xee080100 0 0x100>;
649 /* placeholder */
650 };
651
652 usb2_phy0: usb-phy@ee080200 {
653 reg = <0 0xee080200 0 0x700>;
654 /* placeholder */
655 };
656
657 usb2_phy1: usb-phy@ee0a0200 {
658 reg = <0 0xee0a0200 0 0x700>;
659 /* placeholder */
660 };
661
662 ohci1: usb@ee0a0000 {
663 reg = <0 0xee0a0000 0 0x100>;
664 /* placeholder */
665 };
666
667 ehci1: usb@ee0a0100 {
668 reg = <0 0xee0a0100 0 0x100>;
669 /* placeholder */
670 };
671
672 i2c0: i2c@e6500000 {
673 reg = <0 0xe6500000 0 0x40>;
674 /* placeholder */
675 };
676
677 i2c1: i2c@e6508000 {
678 reg = <0 0xe6508000 0 0x40>;
679 /* placeholder */
680 };
681
682 i2c2: i2c@e6510000 {
683 #address-cells = <1>;
684 #size-cells = <0>;
685
686 reg = <0 0xe6510000 0 0x40>;
687 /* placeholder */
688 };
689
690 i2c3: i2c@e66d0000 {
691 reg = <0 0xe66d0000 0 0x40>;
692 /* placeholder */
693 };
694
695 i2c4: i2c@e66d8000 {
696 #address-cells = <1>;
697 #size-cells = <0>;
698
699 reg = <0 0xe66d8000 0 0x40>;
700 /* placeholder */
701 };
702
703 i2c5: i2c@e66e0000 {
704 reg = <0 0xe66e0000 0 0x40>;
705 /* placeholder */
706 };
707
708 i2c6: i2c@e66e8000 {
709 reg = <0 0xe66e8000 0 0x40>;
710 /* placeholder */
711 };
712
713 i2c_dvfs: i2c@e60b0000 {
714 #address-cells = <1>;
715 #size-cells = <0>;
716 compatible = "renesas,iic-r8a77965",
717 "renesas,rcar-gen3-iic",
718 "renesas,rmobile-iic";
719 reg = <0 0xe60b0000 0 0x425>;
720 interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
721 clocks = <&cpg CPG_MOD 926>;
722 power-domains = <&sysc 32>;
723 resets = <&cpg 926>;
724 dmas = <&dmac0 0x11>, <&dmac0 0x10>;
725 dma-names = "tx", "rx";
726 status = "disabled";
727 };
728
729 pwm0: pwm@e6e30000 {
730 reg = <0 0xe6e30000 0 8>;
731 /* placeholder */
732 };
733
734 pwm1: pwm@e6e31000 {
735 reg = <0 0xe6e31000 0 8>;
736 #pwm-cells = <2>;
737 /* placeholder */
738 };
739
740 pwm2: pwm@e6e32000 {
741 reg = <0 0xe6e32000 0 8>;
742 /* placeholder */
743 };
744
745 pwm3: pwm@e6e33000 {
746 reg = <0 0xe6e33000 0 8>;
747 /* placeholder */
748 };
749
750 pwm4: pwm@e6e34000 {
751 reg = <0 0xe6e34000 0 8>;
752 /* placeholder */
753 };
754
755 pwm5: pwm@e6e35000 {
756 reg = <0 0xe6e35000 0 8>;
757 /* placeholder */
758 };
759
760 pwm6: pwm@e6e36000 {
761 reg = <0 0xe6e36000 0 8>;
762 /* placeholder */
763 };
764
765 du: display@feb00000 {
766 reg = <0 0xfeb00000 0 0x80000>,
767 <0 0xfeb90000 0 0x14>;
768 /* placeholder */
769
770 ports {
771 #address-cells = <1>;
772 #size-cells = <0>;
773
774 port@0 {
775 reg = <0>;
776 du_out_rgb: endpoint {
777 };
778 };
779 port@1 {
780 reg = <1>;
781 du_out_hdmi0: endpoint {
782 };
783 };
784 port@2 {
785 reg = <2>;
786 du_out_lvds0: endpoint {
787 };
788 };
789 };
790 };
791
792 hsusb: usb@e6590000 {
793 reg = <0 0xe6590000 0 0x100>;
794 /* placeholder */
795 };
796
797 pciec0: pcie@fe000000 {
798 reg = <0 0xfe000000 0 0x80000>;
799 /* placeholder */
800 };
801
802 pciec1: pcie@ee800000 {
803 reg = <0 0xee800000 0 0x80000>;
804 /* placeholder */
805 };
806
807 rcar_sound: sound@ec500000 {
808 reg = <0 0xec500000 0 0x1000>, /* SCU */
809 <0 0xec5a0000 0 0x100>, /* ADG */
810 <0 0xec540000 0 0x1000>, /* SSIU */
811 <0 0xec541000 0 0x280>, /* SSI */
812 <0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
813 /* placeholder */
814
815 rcar_sound,dvc {
816 dvc0: dvc-0 {
817 };
818 dvc1: dvc-1 {
819 };
820 };
821
822 rcar_sound,src {
823 src0: src-0 {
824 };
825 src1: src-1 {
826 };
827 };
828
829 rcar_sound,ssi {
830 ssi0: ssi-0 {
831 };
832 ssi1: ssi-1 {
833 };
834 };
835 };
836
837 sdhi0: sd@ee100000 {
838 reg = <0 0xee100000 0 0x2000>;
839 /* placeholder */
840 };
841
842 sdhi1: sd@ee120000 {
843 reg = <0 0xee120000 0 0x2000>;
844 /* placeholder */
845 };
846
847 sdhi2: sd@ee140000 {
848 reg = <0 0xee140000 0 0x2000>;
849 /* placeholder */
850 };
851
852 sdhi3: sd@ee160000 {
853 reg = <0 0xee160000 0 0x2000>;
854 /* placeholder */
855 };
856
857 usb3_phy0: usb-phy@e65ee000 {
858 reg = <0 0xe65ee000 0 0x90>;
859 #phy-cells = <0>;
860 /* placeholder */
861 };
862
863 usb3_peri0: usb@ee020000 {
864 reg = <0 0xee020000 0 0x400>;
865 /* placeholder */
866 };
867
868 xhci0: usb@ee000000 {
869 reg = <0 0xee000000 0 0xc00>;
870 /* placeholder */
871 };
872
873 wdt0: watchdog@e6020000 {
874 reg = <0 0xe6020000 0 0x0c>;
875 /* placeholder */
876 };
877 };
878};
diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
index 8fe5c193e049..3c5f598c9766 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
@@ -36,11 +36,14 @@
36&avb { 36&avb {
37 renesas,no-ether-link; 37 renesas,no-ether-link;
38 phy-handle = <&phy0>; 38 phy-handle = <&phy0>;
39 phy-mode = "rgmii-id";
39 status = "okay"; 40 status = "okay";
40 41
41 phy0: ethernet-phy@0 { 42 phy0: ethernet-phy@0 {
42 rxc-skew-ps = <1500>; 43 rxc-skew-ps = <1500>;
43 reg = <0>; 44 reg = <0>;
45 interrupt-parent = <&gpio1>;
46 interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
44 }; 47 };
45}; 48};
46 49
@@ -52,11 +55,41 @@
52 clock-frequency = <32768>; 55 clock-frequency = <32768>;
53}; 56};
54 57
58&i2c0 {
59 pinctrl-0 = <&i2c0_pins>;
60 pinctrl-names = "default";
61
62 status = "okay";
63 clock-frequency = <400000>;
64
65 io_expander: gpio@20 {
66 compatible = "onnn,pca9654";
67 reg = <0x20>;
68 gpio-controller;
69 #gpio-cells = <2>;
70 };
71};
72
73&pfc {
74 i2c0_pins: i2c0 {
75 groups = "i2c0";
76 function = "i2c0";
77 };
78
79 scif0_pins: scif0 {
80 groups = "scif0_data";
81 function = "scif0";
82 };
83};
84
55&rwdt { 85&rwdt {
56 timeout-sec = <60>; 86 timeout-sec = <60>;
57 status = "okay"; 87 status = "okay";
58}; 88};
59 89
60&scif0 { 90&scif0 {
91 pinctrl-0 = <&scif0_pins>;
92 pinctrl-names = "default";
93
61 status = "okay"; 94 status = "okay";
62}; 95};
diff --git a/arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts b/arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts
index 8624ca87d6b2..a8ceeac77992 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts
@@ -34,6 +34,7 @@
34&avb { 34&avb {
35 renesas,no-ether-link; 35 renesas,no-ether-link;
36 phy-handle = <&phy0>; 36 phy-handle = <&phy0>;
37 phy-mode = "rgmii-id";
37 status = "okay"; 38 status = "okay";
38 39
39 phy0: ethernet-phy@0 { 40 phy0: ethernet-phy@0 {
@@ -50,6 +51,16 @@
50 clock-frequency = <32768>; 51 clock-frequency = <32768>;
51}; 52};
52 53
54&pfc {
55 scif0_pins: scif0 {
56 groups = "scif0_data";
57 function = "scif0";
58 };
59};
60
53&scif0 { 61&scif0 {
62 pinctrl-0 = <&scif0_pins>;
63 pinctrl-names = "default";
64
54 status = "okay"; 65 status = "okay";
55}; 66};
diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index c35a117fc447..c6db8ea43906 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -19,9 +19,12 @@
19 #address-cells = <2>; 19 #address-cells = <2>;
20 #size-cells = <2>; 20 #size-cells = <2>;
21 21
22 psci { 22 aliases {
23 compatible = "arm,psci-1.0", "arm,psci-0.2"; 23 i2c0 = &i2c0;
24 method = "smc"; 24 i2c1 = &i2c1;
25 i2c2 = &i2c2;
26 i2c3 = &i2c3;
27 i2c4 = &i2c4;
25 }; 28 };
26 29
27 cpus { 30 cpus {
@@ -60,6 +63,11 @@
60 clock-frequency = <0>; 63 clock-frequency = <0>;
61 }; 64 };
62 65
66 psci {
67 compatible = "arm,psci-1.0", "arm,psci-0.2";
68 method = "smc";
69 };
70
63 /* External SCIF clock - to be overridden by boards that provide it */ 71 /* External SCIF clock - to be overridden by boards that provide it */
64 scif_clk: scif { 72 scif_clk: scif {
65 compatible = "fixed-clock"; 73 compatible = "fixed-clock";
@@ -92,18 +100,6 @@
92 resets = <&cpg 408>; 100 resets = <&cpg 408>;
93 }; 101 };
94 102
95 timer {
96 compatible = "arm,armv8-timer";
97 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
98 IRQ_TYPE_LEVEL_LOW)>,
99 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
100 IRQ_TYPE_LEVEL_LOW)>,
101 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) |
102 IRQ_TYPE_LEVEL_LOW)>,
103 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) |
104 IRQ_TYPE_LEVEL_LOW)>;
105 };
106
107 rwdt: watchdog@e6020000 { 103 rwdt: watchdog@e6020000 {
108 compatible = "renesas,r8a77970-wdt", 104 compatible = "renesas,r8a77970-wdt",
109 "renesas,rcar-gen3-wdt"; 105 "renesas,rcar-gen3-wdt";
@@ -178,6 +174,101 @@
178 #iommu-cells = <1>; 174 #iommu-cells = <1>;
179 }; 175 };
180 176
177 pfc: pin-controller@e6060000 {
178 compatible = "renesas,pfc-r8a77970";
179 reg = <0 0xe6060000 0 0x504>;
180 };
181
182 gpio0: gpio@e6050000 {
183 compatible = "renesas,gpio-r8a77970",
184 "renesas,rcar-gen3-gpio";
185 reg = <0 0xe6050000 0 0x50>;
186 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
187 #gpio-cells = <2>;
188 gpio-controller;
189 gpio-ranges = <&pfc 0 0 22>;
190 #interrupt-cells = <2>;
191 interrupt-controller;
192 clocks = <&cpg CPG_MOD 912>;
193 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
194 resets = <&cpg 912>;
195 };
196
197 gpio1: gpio@e6051000 {
198 compatible = "renesas,gpio-r8a77970",
199 "renesas,rcar-gen3-gpio";
200 reg = <0 0xe6051000 0 0x50>;
201 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
202 #gpio-cells = <2>;
203 gpio-controller;
204 gpio-ranges = <&pfc 0 32 28>;
205 #interrupt-cells = <2>;
206 interrupt-controller;
207 clocks = <&cpg CPG_MOD 911>;
208 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
209 resets = <&cpg 911>;
210 };
211
212 gpio2: gpio@e6052000 {
213 compatible = "renesas,gpio-r8a77970",
214 "renesas,rcar-gen3-gpio";
215 reg = <0 0xe6052000 0 0x50>;
216 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
217 #gpio-cells = <2>;
218 gpio-controller;
219 gpio-ranges = <&pfc 0 64 17>;
220 #interrupt-cells = <2>;
221 interrupt-controller;
222 clocks = <&cpg CPG_MOD 910>;
223 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
224 resets = <&cpg 910>;
225 };
226
227 gpio3: gpio@e6053000 {
228 compatible = "renesas,gpio-r8a77970",
229 "renesas,rcar-gen3-gpio";
230 reg = <0 0xe6053000 0 0x50>;
231 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
232 #gpio-cells = <2>;
233 gpio-controller;
234 gpio-ranges = <&pfc 0 96 17>;
235 #interrupt-cells = <2>;
236 interrupt-controller;
237 clocks = <&cpg CPG_MOD 909>;
238 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
239 resets = <&cpg 909>;
240 };
241
242 gpio4: gpio@e6054000 {
243 compatible = "renesas,gpio-r8a77970",
244 "renesas,rcar-gen3-gpio";
245 reg = <0 0xe6054000 0 0x50>;
246 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
247 #gpio-cells = <2>;
248 gpio-controller;
249 gpio-ranges = <&pfc 0 128 6>;
250 #interrupt-cells = <2>;
251 interrupt-controller;
252 clocks = <&cpg CPG_MOD 908>;
253 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
254 resets = <&cpg 908>;
255 };
256
257 gpio5: gpio@e6055000 {
258 compatible = "renesas,gpio-r8a77970",
259 "renesas,rcar-gen3-gpio";
260 reg = <0 0xe6055000 0 0x50>;
261 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
262 #gpio-cells = <2>;
263 gpio-controller;
264 gpio-ranges = <&pfc 0 160 15>;
265 #interrupt-cells = <2>;
266 interrupt-controller;
267 clocks = <&cpg CPG_MOD 907>;
268 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
269 resets = <&cpg 907>;
270 };
271
181 intc_ex: interrupt-controller@e61c0000 { 272 intc_ex: interrupt-controller@e61c0000 {
182 compatible = "renesas,intc-ex-r8a77970", "renesas,irqc"; 273 compatible = "renesas,intc-ex-r8a77970", "renesas,irqc";
183 #interrupt-cells = <2>; 274 #interrupt-cells = <2>;
@@ -255,6 +346,91 @@
255 <&ipmmu_ds1 22>, <&ipmmu_ds1 23>; 346 <&ipmmu_ds1 22>, <&ipmmu_ds1 23>;
256 }; 347 };
257 348
349 i2c0: i2c@e6500000 {
350 compatible = "renesas,i2c-r8a77970",
351 "renesas,rcar-gen3-i2c";
352 reg = <0 0xe6500000 0 0x40>;
353 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
354 clocks = <&cpg CPG_MOD 931>;
355 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
356 resets = <&cpg 931>;
357 dmas = <&dmac1 0x91>, <&dmac1 0x90>,
358 <&dmac2 0x91>, <&dmac2 0x90>;
359 dma-names = "tx", "rx", "tx", "rx";
360 i2c-scl-internal-delay-ns = <6>;
361 #address-cells = <1>;
362 #size-cells = <0>;
363 status = "disabled";
364 };
365
366 i2c1: i2c@e6508000 {
367 compatible = "renesas,i2c-r8a77970",
368 "renesas,rcar-gen3-i2c";
369 reg = <0 0xe6508000 0 0x40>;
370 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
371 clocks = <&cpg CPG_MOD 930>;
372 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
373 resets = <&cpg 930>;
374 dmas = <&dmac1 0x93>, <&dmac1 0x92>,
375 <&dmac2 0x93>, <&dmac2 0x92>;
376 dma-names = "tx", "rx", "tx", "rx";
377 i2c-scl-internal-delay-ns = <6>;
378 #address-cells = <1>;
379 #size-cells = <0>;
380 status = "disabled";
381 };
382
383 i2c2: i2c@e6510000 {
384 compatible = "renesas,i2c-r8a77970",
385 "renesas,rcar-gen3-i2c";
386 reg = <0 0xe6510000 0 0x40>;
387 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
388 clocks = <&cpg CPG_MOD 929>;
389 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
390 resets = <&cpg 929>;
391 dmas = <&dmac1 0x95>, <&dmac1 0x94>,
392 <&dmac2 0x95>, <&dmac2 0x94>;
393 dma-names = "tx", "rx", "tx", "rx";
394 i2c-scl-internal-delay-ns = <6>;
395 #address-cells = <1>;
396 #size-cells = <0>;
397 status = "disabled";
398 };
399
400 i2c3: i2c@e66d0000 {
401 compatible = "renesas,i2c-r8a77970",
402 "renesas,rcar-gen3-i2c";
403 reg = <0 0xe66d0000 0 0x40>;
404 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
405 clocks = <&cpg CPG_MOD 928>;
406 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
407 resets = <&cpg 928>;
408 dmas = <&dmac1 0x97>, <&dmac1 0x96>,
409 <&dmac2 0x97>, <&dmac2 0x96>;
410 dma-names = "tx", "rx", "tx", "rx";
411 i2c-scl-internal-delay-ns = <6>;
412 #address-cells = <1>;
413 #size-cells = <0>;
414 status = "disabled";
415 };
416
417 i2c4: i2c@e66d8000 {
418 compatible = "renesas,i2c-r8a77970",
419 "renesas,rcar-gen3-i2c";
420 reg = <0 0xe66d8000 0 0x40>;
421 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
422 clocks = <&cpg CPG_MOD 927>;
423 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
424 resets = <&cpg 927>;
425 dmas = <&dmac1 0x99>, <&dmac1 0x98>,
426 <&dmac2 0x99>, <&dmac2 0x98>;
427 dma-names = "tx", "rx", "tx", "rx";
428 i2c-scl-internal-delay-ns = <6>;
429 #address-cells = <1>;
430 #size-cells = <0>;
431 status = "disabled";
432 };
433
258 hscif0: serial@e6540000 { 434 hscif0: serial@e6540000 {
259 compatible = "renesas,hscif-r8a77970", 435 compatible = "renesas,hscif-r8a77970",
260 "renesas,rcar-gen3-hscif", 436 "renesas,rcar-gen3-hscif",
@@ -400,7 +576,7 @@
400 avb: ethernet@e6800000 { 576 avb: ethernet@e6800000 {
401 compatible = "renesas,etheravb-r8a77970", 577 compatible = "renesas,etheravb-r8a77970",
402 "renesas,etheravb-rcar-gen3"; 578 "renesas,etheravb-rcar-gen3";
403 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; 579 reg = <0 0xe6800000 0 0x800>;
404 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 580 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
405 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 581 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
406 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 582 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
@@ -436,10 +612,18 @@
436 clocks = <&cpg CPG_MOD 812>; 612 clocks = <&cpg CPG_MOD 812>;
437 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>; 613 power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
438 resets = <&cpg 812>; 614 resets = <&cpg 812>;
439 phy-mode = "rgmii-id"; 615 phy-mode = "rgmii";
440 iommus = <&ipmmu_rt 3>; 616 iommus = <&ipmmu_rt 3>;
441 #address-cells = <1>; 617 #address-cells = <1>;
442 #size-cells = <0>; 618 #size-cells = <0>;
443 }; 619 };
444 }; 620 };
621
622 timer {
623 compatible = "arm,armv8-timer";
624 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
625 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
626 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
627 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
628 };
445}; 629};
diff --git a/arch/arm64/boot/dts/renesas/r8a77980-condor.dts b/arch/arm64/boot/dts/renesas/r8a77980-condor.dts
new file mode 100644
index 000000000000..06cf6845765a
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a77980-condor.dts
@@ -0,0 +1,58 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the Condor board
4 *
5 * Copyright (C) 2018 Renesas Electronics Corp.
6 * Copyright (C) 2018 Cogent Embedded, Inc.
7 */
8
9/dts-v1/;
10#include "r8a77980.dtsi"
11
12/ {
13 model = "Renesas Condor board based on r8a77980";
14 compatible = "renesas,condor", "renesas,r8a77980";
15
16 aliases {
17 serial0 = &scif0;
18 ethernet0 = &avb;
19 };
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 };
24
25 memory@48000000 {
26 device_type = "memory";
27 /* first 128MB is reserved for secure area. */
28 reg = <0 0x48000000 0 0x78000000>;
29 };
30};
31
32&avb {
33 phy-mode = "rgmii-id";
34 phy-handle = <&phy0>;
35 renesas,no-ether-link;
36 status = "okay";
37
38 phy0: ethernet-phy@0 {
39 rxc-skew-ps = <1500>;
40 reg = <0>;
41 };
42};
43
44&extal_clk {
45 clock-frequency = <16666666>;
46};
47
48&extalr_clk {
49 clock-frequency = <32768>;
50};
51
52&scif0 {
53 status = "okay";
54};
55
56&scif_clk {
57 clock-frequency = <14745600>;
58};
diff --git a/arch/arm64/boot/dts/renesas/r8a77980.dtsi b/arch/arm64/boot/dts/renesas/r8a77980.dtsi
new file mode 100644
index 000000000000..03845fd74996
--- /dev/null
+++ b/arch/arm64/boot/dts/renesas/r8a77980.dtsi
@@ -0,0 +1,385 @@
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree Source for the r8a77980 SoC
4 *
5 * Copyright (C) 2018 Renesas Electronics Corp.
6 * Copyright (C) 2018 Cogent Embedded, Inc.
7 */
8
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/clock/renesas-cpg-mssr.h>
12
13/ {
14 compatible = "renesas,r8a77980";
15 #address-cells = <2>;
16 #size-cells = <2>;
17
18 cpus {
19 #address-cells = <1>;
20 #size-cells = <0>;
21
22 a53_0: cpu@0 {
23 device_type = "cpu";
24 compatible = "arm,cortex-a53", "arm,armv8";
25 reg = <0>;
26 clocks = <&cpg CPG_CORE 0>;
27 power-domains = <&sysc 5>;
28 next-level-cache = <&L2_CA53>;
29 enable-method = "psci";
30 };
31
32 L2_CA53: cache-controller {
33 compatible = "cache";
34 power-domains = <&sysc 21>;
35 cache-unified;
36 cache-level = <2>;
37 };
38 };
39
40 extal_clk: extal {
41 compatible = "fixed-clock";
42 #clock-cells = <0>;
43 /* This value must be overridden by the board */
44 clock-frequency = <0>;
45 };
46
47 extalr_clk: extalr {
48 compatible = "fixed-clock";
49 #clock-cells = <0>;
50 /* This value must be overridden by the board */
51 clock-frequency = <0>;
52 };
53
54 psci {
55 compatible = "arm,psci-1.0", "arm,psci-0.2";
56 method = "smc";
57 };
58
59 /* External SCIF clock - to be overridden by boards that provide it */
60 scif_clk: scif {
61 compatible = "fixed-clock";
62 #clock-cells = <0>;
63 clock-frequency = <0>;
64 };
65
66 soc {
67 compatible = "simple-bus";
68 interrupt-parent = <&gic>;
69
70 #address-cells = <2>;
71 #size-cells = <2>;
72 ranges;
73
74 cpg: clock-controller@e6150000 {
75 compatible = "renesas,r8a77980-cpg-mssr";
76 reg = <0 0xe6150000 0 0x1000>;
77 clocks = <&extal_clk>, <&extalr_clk>;
78 clock-names = "extal", "extalr";
79 #clock-cells = <2>;
80 #power-domain-cells = <0>;
81 #reset-cells = <1>;
82 };
83
84 rst: reset-controller@e6160000 {
85 compatible = "renesas,r8a77980-rst";
86 reg = <0 0xe6160000 0 0x200>;
87 };
88
89 sysc: system-controller@e6180000 {
90 compatible = "renesas,r8a77980-sysc";
91 reg = <0 0xe6180000 0 0x440>;
92 #power-domain-cells = <1>;
93 };
94
95 hscif0: serial@e6540000 {
96 compatible = "renesas,hscif-r8a77980",
97 "renesas,rcar-gen3-hscif",
98 "renesas,hscif";
99 reg = <0 0xe6540000 0 0x60>;
100 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
101 clocks = <&cpg CPG_MOD 520>,
102 <&cpg CPG_CORE 19>,
103 <&scif_clk>;
104 clock-names = "fck", "brg_int", "scif_clk";
105 dmas = <&dmac1 0x31>, <&dmac1 0x30>,
106 <&dmac2 0x31>, <&dmac2 0x30>;
107 dma-names = "tx", "rx", "tx", "rx";
108 power-domains = <&sysc 32>;
109 resets = <&cpg 520>;
110 status = "disabled";
111 };
112
113 hscif1: serial@e6550000 {
114 compatible = "renesas,hscif-r8a77980",
115 "renesas,rcar-gen3-hscif",
116 "renesas,hscif";
117 reg = <0 0xe6550000 0 0x60>;
118 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
119 clocks = <&cpg CPG_MOD 519>,
120 <&cpg CPG_CORE 19>,
121 <&scif_clk>;
122 clock-names = "fck", "brg_int", "scif_clk";
123 dmas = <&dmac1 0x33>, <&dmac1 0x32>,
124 <&dmac2 0x33>, <&dmac2 0x32>;
125 dma-names = "tx", "rx", "tx", "rx";
126 power-domains = <&sysc 32>;
127 resets = <&cpg 519>;
128 status = "disabled";
129 };
130
131 hscif2: serial@e6560000 {
132 compatible = "renesas,hscif-r8a77980",
133 "renesas,rcar-gen3-hscif",
134 "renesas,hscif";
135 reg = <0 0xe6560000 0 0x60>;
136 interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
137 clocks = <&cpg CPG_MOD 518>,
138 <&cpg CPG_CORE 19>,
139 <&scif_clk>;
140 clock-names = "fck", "brg_int", "scif_clk";
141 dmas = <&dmac1 0x35>, <&dmac1 0x34>,
142 <&dmac2 0x35>, <&dmac2 0x34>;
143 dma-names = "tx", "rx", "tx", "rx";
144 power-domains = <&sysc 32>;
145 resets = <&cpg 518>;
146 status = "disabled";
147 };
148
149 hscif3: serial@e66a0000 {
150 compatible = "renesas,hscif-r8a77980",
151 "renesas,rcar-gen3-hscif",
152 "renesas,hscif";
153 reg = <0 0xe66a0000 0 0x60>;
154 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
155 clocks = <&cpg CPG_MOD 517>,
156 <&cpg CPG_CORE 19>,
157 <&scif_clk>;
158 clock-names = "fck", "brg_int", "scif_clk";
159 dmas = <&dmac1 0x37>, <&dmac1 0x36>,
160 <&dmac2 0x37>, <&dmac2 0x36>;
161 dma-names = "tx", "rx", "tx", "rx";
162 power-domains = <&sysc 32>;
163 resets = <&cpg 517>;
164 status = "disabled";
165 };
166
167 avb: ethernet@e6800000 {
168 compatible = "renesas,etheravb-r8a77980",
169 "renesas,etheravb-rcar-gen3";
170 reg = <0 0xe6800000 0 0x800>;
171 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
172 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
173 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
174 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
175 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
176 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
177 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
178 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
179 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
180 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
181 <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
182 <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
183 <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
184 <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
185 <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
186 <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
187 <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
188 <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
189 <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
190 <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
191 <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
192 <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
193 <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
194 <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
195 <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
196 interrupt-names = "ch0", "ch1", "ch2", "ch3",
197 "ch4", "ch5", "ch6", "ch7",
198 "ch8", "ch9", "ch10", "ch11",
199 "ch12", "ch13", "ch14", "ch15",
200 "ch16", "ch17", "ch18", "ch19",
201 "ch20", "ch21", "ch22", "ch23",
202 "ch24";
203 clocks = <&cpg CPG_MOD 812>;
204 power-domains = <&sysc 32>;
205 resets = <&cpg 812>;
206 phy-mode = "rgmii";
207 #address-cells = <1>;
208 #size-cells = <0>;
209 };
210
211 scif0: serial@e6e60000 {
212 compatible = "renesas,scif-r8a77980",
213 "renesas,rcar-gen3-scif",
214 "renesas,scif";
215 reg = <0 0xe6e60000 0 0x40>;
216 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
217 clocks = <&cpg CPG_MOD 207>,
218 <&cpg CPG_CORE 19>,
219 <&scif_clk>;
220 clock-names = "fck", "brg_int", "scif_clk";
221 dmas = <&dmac1 0x51>, <&dmac1 0x50>,
222 <&dmac2 0x51>, <&dmac2 0x50>;
223 dma-names = "tx", "rx", "tx", "rx";
224 power-domains = <&sysc 32>;
225 resets = <&cpg 207>;
226 status = "disabled";
227 };
228
229 scif1: serial@e6e68000 {
230 compatible = "renesas,scif-r8a77980",
231 "renesas,rcar-gen3-scif",
232 "renesas,scif";
233 reg = <0 0xe6e68000 0 0x40>;
234 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
235 clocks = <&cpg CPG_MOD 206>,
236 <&cpg CPG_CORE 19>,
237 <&scif_clk>;
238 clock-names = "fck", "brg_int", "scif_clk";
239 dmas = <&dmac1 0x53>, <&dmac1 0x52>,
240 <&dmac2 0x53>, <&dmac2 0x52>;
241 dma-names = "tx", "rx", "tx", "rx";
242 power-domains = <&sysc 32>;
243 resets = <&cpg 206>;
244 status = "disabled";
245 };
246
247 scif3: serial@e6c50000 {
248 compatible = "renesas,scif-r8a77980",
249 "renesas,rcar-gen3-scif",
250 "renesas,scif";
251 reg = <0 0xe6c50000 0 0x40>;
252 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
253 clocks = <&cpg CPG_MOD 204>,
254 <&cpg CPG_CORE 19>,
255 <&scif_clk>;
256 clock-names = "fck", "brg_int", "scif_clk";
257 dmas = <&dmac1 0x57>, <&dmac1 0x56>,
258 <&dmac2 0x57>, <&dmac2 0x56>;
259 dma-names = "tx", "rx", "tx", "rx";
260 power-domains = <&sysc 32>;
261 resets = <&cpg 204>;
262 status = "disabled";
263 };
264
265 scif4: serial@e6c40000 {
266 compatible = "renesas,scif-r8a77980",
267 "renesas,rcar-gen3-scif",
268 "renesas,scif";
269 reg = <0 0xe6c40000 0 0x40>;
270 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
271 clocks = <&cpg CPG_MOD 203>,
272 <&cpg CPG_CORE 19>,
273 <&scif_clk>;
274 clock-names = "fck", "brg_int", "scif_clk";
275 dmas = <&dmac1 0x59>, <&dmac1 0x58>,
276 <&dmac2 0x59>, <&dmac2 0x58>;
277 dma-names = "tx", "rx", "tx", "rx";
278 power-domains = <&sysc 32>;
279 resets = <&cpg 203>;
280 status = "disabled";
281 };
282
283 dmac1: dma-controller@e7300000 {
284 compatible = "renesas,dmac-r8a77980",
285 "renesas,rcar-dmac";
286 reg = <0 0xe7300000 0 0x10000>;
287 interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
288 GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
289 GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
290 GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
291 GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
292 GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
293 GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
294 GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
295 GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH
296 GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH
297 GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH
298 GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH
299 GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH
300 GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH
301 GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH
302 GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH
303 GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
304 interrupt-names = "error",
305 "ch0", "ch1", "ch2", "ch3",
306 "ch4", "ch5", "ch6", "ch7",
307 "ch8", "ch9", "ch10", "ch11",
308 "ch12", "ch13", "ch14", "ch15";
309 clocks = <&cpg CPG_MOD 218>;
310 clock-names = "fck";
311 power-domains = <&sysc 32>;
312 resets = <&cpg 218>;
313 #dma-cells = <1>;
314 dma-channels = <16>;
315 };
316
317 dmac2: dma-controller@e7310000 {
318 compatible = "renesas,dmac-r8a77980",
319 "renesas,rcar-dmac";
320 reg = <0 0xe7310000 0 0x10000>;
321 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH
322 GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH
323 GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH
324 GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH
325 GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH
326 GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH
327 GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH
328 GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH
329 GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH
330 GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH
331 GIC_SPI 362 IRQ_TYPE_LEVEL_HIGH
332 GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH
333 GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH
334 GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH
335 GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH
336 GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH
337 GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>;
338 interrupt-names = "error",
339 "ch0", "ch1", "ch2", "ch3",
340 "ch4", "ch5", "ch6", "ch7",
341 "ch8", "ch9", "ch10", "ch11",
342 "ch12", "ch13", "ch14", "ch15";
343 clocks = <&cpg CPG_MOD 217>;
344 clock-names = "fck";
345 power-domains = <&sysc 32>;
346 resets = <&cpg 217>;
347 #dma-cells = <1>;
348 dma-channels = <16>;
349 };
350
351 gic: interrupt-controller@f1010000 {
352 compatible = "arm,gic-400";
353 #interrupt-cells = <3>;
354 #address-cells = <0>;
355 interrupt-controller;
356 reg = <0x0 0xf1010000 0 0x1000>,
357 <0x0 0xf1020000 0 0x20000>,
358 <0x0 0xf1040000 0 0x20000>,
359 <0x0 0xf1060000 0 0x20000>;
360 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(1) |
361 IRQ_TYPE_LEVEL_HIGH)>;
362 clocks = <&cpg CPG_MOD 408>;
363 clock-names = "clk";
364 power-domains = <&sysc 32>;
365 resets = <&cpg 408>;
366 };
367
368 prr: chipid@fff00044 {
369 compatible = "renesas,prr";
370 reg = <0 0xfff00044 0 4>;
371 };
372 };
373
374 timer {
375 compatible = "arm,armv8-timer";
376 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
377 IRQ_TYPE_LEVEL_LOW)>,
378 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
379 IRQ_TYPE_LEVEL_LOW)>,
380 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) |
381 IRQ_TYPE_LEVEL_LOW)>,
382 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) |
383 IRQ_TYPE_LEVEL_LOW)>;
384 };
385};
diff --git a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
index 09de73b11db8..d03f19414028 100644
--- a/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77995-draak.dts
@@ -27,11 +27,61 @@
27 stdout-path = "serial0:115200n8"; 27 stdout-path = "serial0:115200n8";
28 }; 28 };
29 29
30 vga {
31 compatible = "vga-connector";
32
33 port {
34 vga_in: endpoint {
35 remote-endpoint = <&adv7123_out>;
36 };
37 };
38 };
39
40 vga-encoder {
41 compatible = "adi,adv7123";
42
43 ports {
44 #address-cells = <1>;
45 #size-cells = <0>;
46
47 port@0 {
48 reg = <0>;
49 adv7123_in: endpoint {
50 remote-endpoint = <&du_out_rgb>;
51 };
52 };
53 port@1 {
54 reg = <1>;
55 adv7123_out: endpoint {
56 remote-endpoint = <&vga_in>;
57 };
58 };
59 };
60 };
61
30 memory@48000000 { 62 memory@48000000 {
31 device_type = "memory"; 63 device_type = "memory";
32 /* first 128MB is reserved for secure area. */ 64 /* first 128MB is reserved for secure area. */
33 reg = <0x0 0x48000000 0x0 0x18000000>; 65 reg = <0x0 0x48000000 0x0 0x18000000>;
34 }; 66 };
67
68 reg_1p8v: regulator0 {
69 compatible = "regulator-fixed";
70 regulator-name = "fixed-1.8V";
71 regulator-min-microvolt = <1800000>;
72 regulator-max-microvolt = <1800000>;
73 regulator-boot-on;
74 regulator-always-on;
75 };
76
77 reg_3p3v: regulator1 {
78 compatible = "regulator-fixed";
79 regulator-name = "fixed-3.3V";
80 regulator-min-microvolt = <3300000>;
81 regulator-max-microvolt = <3300000>;
82 regulator-boot-on;
83 regulator-always-on;
84 };
35}; 85};
36 86
37&extal_clk { 87&extal_clk {
@@ -46,6 +96,21 @@
46 }; 96 };
47 }; 97 };
48 98
99 du_pins: du {
100 groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
101 function = "du";
102 };
103
104 i2c0_pins: i2c0 {
105 groups = "i2c0";
106 function = "i2c0";
107 };
108
109 i2c1_pins: i2c1 {
110 groups = "i2c1";
111 function = "i2c1";
112 };
113
49 pwm0_pins: pwm0 { 114 pwm0_pins: pwm0 {
50 groups = "pwm0_c"; 115 groups = "pwm0_c";
51 function = "pwm0"; 116 function = "pwm0";
@@ -61,12 +126,56 @@
61 function = "scif2"; 126 function = "scif2";
62 }; 127 };
63 128
129 sdhi2_pins: sd2 {
130 groups = "mmc_data8", "mmc_ctrl";
131 function = "mmc";
132 power-source = <1800>;
133 };
134
135 sdhi2_pins_uhs: sd2_uhs {
136 groups = "mmc_data8", "mmc_ctrl";
137 function = "mmc";
138 power-source = <1800>;
139 };
140
64 usb0_pins: usb0 { 141 usb0_pins: usb0 {
65 groups = "usb0"; 142 groups = "usb0";
66 function = "usb0"; 143 function = "usb0";
67 }; 144 };
68}; 145};
69 146
147&i2c0 {
148 pinctrl-0 = <&i2c0_pins>;
149 pinctrl-names = "default";
150 status = "okay";
151
152 eeprom@50 {
153 compatible = "rohm,br24t01", "atmel,24c01";
154 reg = <0x50>;
155 pagesize = <8>;
156 };
157};
158
159&i2c1 {
160 pinctrl-0 = <&i2c1_pins>;
161 pinctrl-names = "default";
162 status = "okay";
163};
164
165&du {
166 pinctrl-0 = <&du_pins>;
167 pinctrl-names = "default";
168 status = "okay";
169
170 ports {
171 port@0 {
172 endpoint {
173 remote-endpoint = <&adv7123_in>;
174 };
175 };
176 };
177};
178
70&ehci0 { 179&ehci0 {
71 status = "okay"; 180 status = "okay";
72}; 181};
@@ -80,6 +189,7 @@
80 pinctrl-names = "default"; 189 pinctrl-names = "default";
81 renesas,no-ether-link; 190 renesas,no-ether-link;
82 phy-handle = <&phy0>; 191 phy-handle = <&phy0>;
192 phy-mode = "rgmii-txid";
83 status = "okay"; 193 status = "okay";
84 194
85 phy0: ethernet-phy@0 { 195 phy0: ethernet-phy@0 {
@@ -97,6 +207,20 @@
97 status = "okay"; 207 status = "okay";
98}; 208};
99 209
210&sdhi2 {
211 /* used for on-board eMMC */
212 pinctrl-0 = <&sdhi2_pins>;
213 pinctrl-1 = <&sdhi2_pins_uhs>;
214 pinctrl-names = "default", "state_uhs";
215
216 vmmc-supply = <&reg_3p3v>;
217 vqmmc-supply = <&reg_1p8v>;
218 bus-width = <8>;
219 mmc-hs200-1_8v;
220 non-removable;
221 status = "okay";
222};
223
100&usb2_phy0 { 224&usb2_phy0 {
101 pinctrl-0 = <&usb0_pins>; 225 pinctrl-0 = <&usb0_pins>;
102 pinctrl-names = "default"; 226 pinctrl-names = "default";
diff --git a/arch/arm64/boot/dts/renesas/r8a77995.dtsi b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
index cff42cd1a6c8..82aed7ee984c 100644
--- a/arch/arm64/boot/dts/renesas/r8a77995.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77995.dtsi
@@ -58,6 +58,11 @@
58 clock-frequency = <0>; 58 clock-frequency = <0>;
59 }; 59 };
60 60
61 pmu_a53 {
62 compatible = "arm,cortex-a53-pmu";
63 interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
64 };
65
61 scif_clk: scif { 66 scif_clk: scif {
62 compatible = "fixed-clock"; 67 compatible = "fixed-clock";
63 #clock-cells = <0>; 68 #clock-cells = <0>;
@@ -88,18 +93,6 @@
88 resets = <&cpg 408>; 93 resets = <&cpg 408>;
89 }; 94 };
90 95
91 timer {
92 compatible = "arm,armv8-timer";
93 interrupts = <GIC_PPI 13
94 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
95 <GIC_PPI 14
96 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
97 <GIC_PPI 11
98 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
99 <GIC_PPI 10
100 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
101 };
102
103 rwdt: watchdog@e6020000 { 96 rwdt: watchdog@e6020000 {
104 compatible = "renesas,r8a77995-wdt", 97 compatible = "renesas,r8a77995-wdt",
105 "renesas,rcar-gen3-wdt"; 98 "renesas,rcar-gen3-wdt";
@@ -110,11 +103,6 @@
110 status = "disabled"; 103 status = "disabled";
111 }; 104 };
112 105
113 pmu_a53 {
114 compatible = "arm,cortex-a53-pmu";
115 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
116 };
117
118 ipmmu_vi0: mmu@febd0000 { 106 ipmmu_vi0: mmu@febd0000 {
119 compatible = "renesas,ipmmu-r8a77995"; 107 compatible = "renesas,ipmmu-r8a77995";
120 reg = <0 0xfebd0000 0 0x1000>; 108 reg = <0 0xfebd0000 0 0x1000>;
@@ -488,7 +476,7 @@
488 avb: ethernet@e6800000 { 476 avb: ethernet@e6800000 {
489 compatible = "renesas,etheravb-r8a77995", 477 compatible = "renesas,etheravb-r8a77995",
490 "renesas,etheravb-rcar-gen3"; 478 "renesas,etheravb-rcar-gen3";
491 reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>; 479 reg = <0 0xe6800000 0 0x800>;
492 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>, 480 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
493 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 481 <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
494 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>, 482 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
@@ -524,7 +512,7 @@
524 clocks = <&cpg CPG_MOD 812>; 512 clocks = <&cpg CPG_MOD 812>;
525 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>; 513 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
526 resets = <&cpg 812>; 514 resets = <&cpg 812>;
527 phy-mode = "rgmii-txid"; 515 phy-mode = "rgmii";
528 iommus = <&ipmmu_ds0 16>; 516 iommus = <&ipmmu_ds0 16>;
529 #address-cells = <1>; 517 #address-cells = <1>;
530 #size-cells = <0>; 518 #size-cells = <0>;
@@ -548,6 +536,73 @@
548 status = "disabled"; 536 status = "disabled";
549 }; 537 };
550 538
539 i2c0: i2c@e6500000 {
540 #address-cells = <1>;
541 #size-cells = <0>;
542 compatible = "renesas,i2c-r8a77995",
543 "renesas,rcar-gen3-i2c";
544 reg = <0 0xe6500000 0 0x40>;
545 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
546 clocks = <&cpg CPG_MOD 931>;
547 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
548 resets = <&cpg 931>;
549 dmas = <&dmac1 0x91>, <&dmac1 0x90>,
550 <&dmac2 0x91>, <&dmac2 0x90>;
551 dma-names = "tx", "rx", "tx", "rx";
552 i2c-scl-internal-delay-ns = <6>;
553 status = "disabled";
554 };
555
556 i2c1: i2c@e6508000 {
557 #address-cells = <1>;
558 #size-cells = <0>;
559 compatible = "renesas,i2c-r8a77995",
560 "renesas,rcar-gen3-i2c";
561 reg = <0 0xe6508000 0 0x40>;
562 interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
563 clocks = <&cpg CPG_MOD 930>;
564 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
565 resets = <&cpg 930>;
566 dmas = <&dmac1 0x93>, <&dmac1 0x92>,
567 <&dmac2 0x93>, <&dmac2 0x92>;
568 dma-names = "tx", "rx", "tx", "rx";
569 i2c-scl-internal-delay-ns = <6>;
570 status = "disabled";
571 };
572
573 i2c2: i2c@e6510000 {
574 #address-cells = <1>;
575 #size-cells = <0>;
576 compatible = "renesas,i2c-r8a77995",
577 "renesas,rcar-gen3-i2c";
578 reg = <0 0xe6510000 0 0x40>;
579 interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
580 clocks = <&cpg CPG_MOD 929>;
581 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
582 resets = <&cpg 929>;
583 dmas = <&dmac1 0x95>, <&dmac1 0x94>,
584 <&dmac2 0x95>, <&dmac2 0x94>;
585 dma-names = "tx", "rx", "tx", "rx";
586 i2c-scl-internal-delay-ns = <6>;
587 status = "disabled";
588 };
589
590 i2c3: i2c@e66d0000 {
591 #address-cells = <1>;
592 #size-cells = <0>;
593 compatible = "renesas,i2c-r8a77995",
594 "renesas,rcar-gen3-i2c";
595 reg = <0 0xe66d0000 0 0x40>;
596 interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
597 clocks = <&cpg CPG_MOD 928>;
598 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
599 resets = <&cpg 928>;
600 dmas = <&dmac0 0x97>, <&dmac0 0x96>;
601 dma-names = "tx", "rx";
602 i2c-scl-internal-delay-ns = <6>;
603 status = "disabled";
604 };
605
551 pwm0: pwm@e6e30000 { 606 pwm0: pwm@e6e30000 {
552 compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar"; 607 compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
553 reg = <0 0xe6e30000 0 0x8>; 608 reg = <0 0xe6e30000 0 0x8>;
@@ -636,5 +691,105 @@
636 #phy-cells = <0>; 691 #phy-cells = <0>;
637 status = "disabled"; 692 status = "disabled";
638 }; 693 };
694
695 vspbs: vsp@fe960000 {
696 compatible = "renesas,vsp2";
697 reg = <0 0xfe960000 0 0x8000>;
698 interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
699 clocks = <&cpg CPG_MOD 627>;
700 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
701 resets = <&cpg 627>;
702 renesas,fcp = <&fcpvb0>;
703 };
704
705 fcpvb0: fcp@fe96f000 {
706 compatible = "renesas,fcpv";
707 reg = <0 0xfe96f000 0 0x200>;
708 clocks = <&cpg CPG_MOD 607>;
709 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
710 resets = <&cpg 607>;
711 iommus = <&ipmmu_vp0 5>;
712 };
713
714 vspd0: vsp@fea20000 {
715 compatible = "renesas,vsp2";
716 reg = <0 0xfea20000 0 0x8000>;
717 interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
718 clocks = <&cpg CPG_MOD 623>;
719 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
720 resets = <&cpg 623>;
721 renesas,fcp = <&fcpvd0>;
722 };
723
724 fcpvd0: fcp@fea27000 {
725 compatible = "renesas,fcpv";
726 reg = <0 0xfea27000 0 0x200>;
727 clocks = <&cpg CPG_MOD 603>;
728 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
729 resets = <&cpg 603>;
730 iommus = <&ipmmu_vi0 8>;
731 };
732
733 vspd1: vsp@fea28000 {
734 compatible = "renesas,vsp2";
735 reg = <0 0xfea28000 0 0x8000>;
736 interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
737 clocks = <&cpg CPG_MOD 622>;
738 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
739 resets = <&cpg 622>;
740 renesas,fcp = <&fcpvd1>;
741 };
742
743 fcpvd1: fcp@fea2f000 {
744 compatible = "renesas,fcpv";
745 reg = <0 0xfea2f000 0 0x200>;
746 clocks = <&cpg CPG_MOD 602>;
747 power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
748 resets = <&cpg 602>;
749 iommus = <&ipmmu_vi0 9>;
750 };
751
752 du: display@feb00000 {
753 compatible = "renesas,du-r8a77995";
754 reg = <0 0xfeb00000 0 0x80000>;
755 interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
756 <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
757 clocks = <&cpg CPG_MOD 724>,
758 <&cpg CPG_MOD 723>;
759 clock-names = "du.0", "du.1";
760 vsps = <&vspd0 0 &vspd1 0>;
761 status = "disabled";
762
763 ports {
764 #address-cells = <1>;
765 #size-cells = <0>;
766
767 port@0 {
768 reg = <0>;
769 du_out_rgb: endpoint {
770 };
771 };
772
773 port@1 {
774 reg = <1>;
775 du_out_lvds0: endpoint {
776 };
777 };
778
779 port@2 {
780 reg = <2>;
781 du_out_lvds1: endpoint {
782 };
783 };
784 };
785 };
786 };
787
788 timer {
789 compatible = "arm,armv8-timer";
790 interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
791 <&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
792 <&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
793 <&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
639 }; 794 };
640}; 795};
diff --git a/arch/arm64/boot/dts/renesas/salvator-common.dtsi b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
index c3fafb6025b3..2a7f36abd2dd 100644
--- a/arch/arm64/boot/dts/renesas/salvator-common.dtsi
+++ b/arch/arm64/boot/dts/renesas/salvator-common.dtsi
@@ -256,6 +256,7 @@
256 pinctrl-0 = <&avb_pins>; 256 pinctrl-0 = <&avb_pins>;
257 pinctrl-names = "default"; 257 pinctrl-names = "default";
258 phy-handle = <&phy0>; 258 phy-handle = <&phy0>;
259 phy-mode = "rgmii-txid";
259 status = "okay"; 260 status = "okay";
260 261
261 phy0: ethernet-phy@0 { 262 phy0: ethernet-phy@0 {
@@ -338,6 +339,13 @@
338&i2c4 { 339&i2c4 {
339 status = "okay"; 340 status = "okay";
340 341
342 pca9654: gpio@20 {
343 compatible = "onnn,pca9654";
344 reg = <0x20>;
345 gpio-controller;
346 #gpio-cells = <2>;
347 };
348
341 csa_vdd: adc@7c { 349 csa_vdd: adc@7c {
342 compatible = "maxim,max9611"; 350 compatible = "maxim,max9611";
343 reg = <0x7c>; 351 reg = <0x7c>;
diff --git a/arch/arm64/boot/dts/renesas/ulcb.dtsi b/arch/arm64/boot/dts/renesas/ulcb.dtsi
index 3e7a6b94e9f8..6f814845f8b6 100644
--- a/arch/arm64/boot/dts/renesas/ulcb.dtsi
+++ b/arch/arm64/boot/dts/renesas/ulcb.dtsi
@@ -146,6 +146,7 @@
146 pinctrl-0 = <&avb_pins>; 146 pinctrl-0 = <&avb_pins>;
147 pinctrl-names = "default"; 147 pinctrl-names = "default";
148 phy-handle = <&phy0>; 148 phy-handle = <&phy0>;
149 phy-mode = "rgmii-txid";
149 status = "okay"; 150 status = "okay";
150 151
151 phy0: ethernet-phy@0 { 152 phy0: ethernet-phy@0 {
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index ce2701e37d00..48a83f882947 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -1,8 +1,10 @@
1# SPDX-License-Identifier: GPL-2.0 1# SPDX-License-Identifier: GPL-2.0
2dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb 2dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
3dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb 3dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
4dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
4dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb 5dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
5dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb 6dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
7dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-lion-haikou.dtb
6dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb 8dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb
7dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb 9dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-px5-evb.dtb
8dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb 10dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
@@ -10,4 +12,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb
10dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb 12dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly.dtb
11dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb 13dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin.dtb
12dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb 14dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-puma-haikou.dtb
15dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire.dtb
13dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb 16dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
new file mode 100644
index 000000000000..246c317f6a68
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
@@ -0,0 +1,267 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
4 */
5
6/dts-v1/;
7#include "rk3328.dtsi"
8
9/ {
10 model = "Firefly roc-rk3328-cc";
11 compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328";
12
13 chosen {
14 stdout-path = "serial2:1500000n8";
15 };
16
17 gmac_clkin: external-gmac-clock {
18 compatible = "fixed-clock";
19 clock-frequency = <125000000>;
20 clock-output-names = "gmac_clkin";
21 #clock-cells = <0>;
22 };
23
24 dc_12v: dc-12v {
25 compatible = "regulator-fixed";
26 regulator-name = "dc_12v";
27 regulator-always-on;
28 regulator-boot-on;
29 regulator-min-microvolt = <12000000>;
30 regulator-max-microvolt = <12000000>;
31 };
32
33 vcc_sd: sdmmc-regulator {
34 compatible = "regulator-fixed";
35 gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
36 pinctrl-names = "default";
37 pinctrl-0 = <&sdmmc0m1_gpio>;
38 regulator-name = "vcc_sd";
39 regulator-min-microvolt = <3300000>;
40 regulator-max-microvolt = <3300000>;
41 vin-supply = <&vcc_io>;
42 };
43
44 vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
45 compatible = "regulator-fixed";
46 enable-active-high;
47 gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
48 pinctrl-names = "default";
49 pinctrl-0 = <&usb20_host_drv>;
50 regulator-name = "vcc_host1_5v";
51 regulator-always-on;
52 vin-supply = <&vcc_sys>;
53 };
54
55 vcc_sys: vcc-sys {
56 compatible = "regulator-fixed";
57 regulator-name = "vcc_sys";
58 regulator-always-on;
59 regulator-boot-on;
60 regulator-min-microvolt = <5000000>;
61 regulator-max-microvolt = <5000000>;
62 vin-supply = <&dc_12v>;
63 };
64
65 vcc_phy: vcc-phy-regulator {
66 compatible = "regulator-fixed";
67 regulator-name = "vcc_phy";
68 regulator-always-on;
69 regulator-boot-on;
70 };
71};
72
73&cpu0 {
74 cpu-supply = <&vdd_arm>;
75};
76
77&emmc {
78 bus-width = <8>;
79 cap-mmc-highspeed;
80 non-removable;
81 pinctrl-names = "default";
82 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
83 status = "okay";
84};
85
86&gmac2io {
87 assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
88 assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
89 clock_in_out = "input";
90 phy-supply = <&vcc_phy>;
91 phy-mode = "rgmii";
92 pinctrl-names = "default";
93 pinctrl-0 = <&rgmiim1_pins>;
94 snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
95 snps,reset-active-low;
96 snps,reset-delays-us = <0 10000 50000>;
97 tx_delay = <0x25>;
98 rx_delay = <0x11>;
99 status = "okay";
100};
101
102&i2c1 {
103 status = "okay";
104
105 rk805: pmic@18 {
106 compatible = "rockchip,rk805";
107 reg = <0x18>;
108 interrupt-parent = <&gpio1>;
109 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
110 #clock-cells = <1>;
111 clock-output-names = "xin32k", "rk805-clkout2";
112 gpio-controller;
113 #gpio-cells = <2>;
114 pinctrl-names = "default";
115 pinctrl-0 = <&pmic_int_l>;
116 rockchip,system-power-controller;
117 wakeup-source;
118
119 vcc1-supply = <&vcc_sys>;
120 vcc2-supply = <&vcc_sys>;
121 vcc3-supply = <&vcc_sys>;
122 vcc4-supply = <&vcc_sys>;
123 vcc5-supply = <&vcc_io>;
124 vcc6-supply = <&vcc_io>;
125
126 regulators {
127 vdd_logic: DCDC_REG1 {
128 regulator-name = "vdd_logic";
129 regulator-min-microvolt = <712500>;
130 regulator-max-microvolt = <1450000>;
131 regulator-always-on;
132 regulator-boot-on;
133 regulator-state-mem {
134 regulator-on-in-suspend;
135 regulator-suspend-microvolt = <1000000>;
136 };
137 };
138
139 vdd_arm: DCDC_REG2 {
140 regulator-name = "vdd_arm";
141 regulator-min-microvolt = <712500>;
142 regulator-max-microvolt = <1450000>;
143 regulator-always-on;
144 regulator-boot-on;
145 regulator-state-mem {
146 regulator-on-in-suspend;
147 regulator-suspend-microvolt = <950000>;
148 };
149 };
150
151 vcc_ddr: DCDC_REG3 {
152 regulator-name = "vcc_ddr";
153 regulator-always-on;
154 regulator-boot-on;
155 regulator-state-mem {
156 regulator-on-in-suspend;
157 };
158 };
159
160 vcc_io: DCDC_REG4 {
161 regulator-name = "vcc_io";
162 regulator-min-microvolt = <3300000>;
163 regulator-max-microvolt = <3300000>;
164 regulator-always-on;
165 regulator-boot-on;
166 regulator-state-mem {
167 regulator-on-in-suspend;
168 regulator-suspend-microvolt = <3300000>;
169 };
170 };
171
172 vcc_18: LDO_REG1 {
173 regulator-name = "vcc_18";
174 regulator-min-microvolt = <1800000>;
175 regulator-max-microvolt = <1800000>;
176 regulator-always-on;
177 regulator-boot-on;
178 regulator-state-mem {
179 regulator-on-in-suspend;
180 regulator-suspend-microvolt = <1800000>;
181 };
182 };
183
184 vcc18_emmc: LDO_REG2 {
185 regulator-name = "vcc18_emmc";
186 regulator-min-microvolt = <1800000>;
187 regulator-max-microvolt = <1800000>;
188 regulator-always-on;
189 regulator-boot-on;
190 regulator-state-mem {
191 regulator-on-in-suspend;
192 regulator-suspend-microvolt = <1800000>;
193 };
194 };
195
196 vdd_10: LDO_REG3 {
197 regulator-name = "vdd_10";
198 regulator-min-microvolt = <1000000>;
199 regulator-max-microvolt = <1000000>;
200 regulator-always-on;
201 regulator-boot-on;
202 regulator-state-mem {
203 regulator-on-in-suspend;
204 regulator-suspend-microvolt = <1000000>;
205 };
206 };
207 };
208 };
209};
210
211&pinctrl {
212 pmic {
213 pmic_int_l: pmic-int-l {
214 rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
215 };
216 };
217
218 usb2 {
219 usb20_host_drv: usb20-host-drv {
220 rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
221 };
222 };
223};
224
225&sdmmc {
226 bus-width = <4>;
227 cap-mmc-highspeed;
228 cap-sd-highspeed;
229 disable-wp;
230 max-frequency = <150000000>;
231 pinctrl-names = "default";
232 pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
233 vmmc-supply = <&vcc_sd>;
234 status = "okay";
235};
236
237&tsadc {
238 status = "okay";
239};
240
241&u2phy {
242 status = "okay";
243};
244
245&u2phy_host {
246 status = "okay";
247};
248
249&u2phy_otg {
250 status = "okay";
251};
252
253&uart2 {
254 status = "okay";
255};
256
257&usb20_otg {
258 status = "okay";
259};
260
261&usb_host0_ehci {
262 status = "okay";
263};
264
265&usb_host0_ohci {
266 status = "okay";
267};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index cae341554486..be2bfbc6b483 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -318,7 +318,7 @@
318 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 318 clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
319 clock-names = "baudclk", "apb_pclk"; 319 clock-names = "baudclk", "apb_pclk";
320 dmas = <&dmac 2>, <&dmac 3>; 320 dmas = <&dmac 2>, <&dmac 3>;
321 #dma-cells = <2>; 321 dma-names = "tx", "rx";
322 pinctrl-names = "default"; 322 pinctrl-names = "default";
323 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 323 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
324 reg-io-width = <4>; 324 reg-io-width = <4>;
@@ -333,7 +333,7 @@
333 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 333 clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
334 clock-names = "sclk_uart", "pclk_uart"; 334 clock-names = "sclk_uart", "pclk_uart";
335 dmas = <&dmac 4>, <&dmac 5>; 335 dmas = <&dmac 4>, <&dmac 5>;
336 #dma-cells = <2>; 336 dma-names = "tx", "rx";
337 pinctrl-names = "default"; 337 pinctrl-names = "default";
338 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>; 338 pinctrl-0 = <&uart1_xfer &uart1_cts &uart1_rts>;
339 reg-io-width = <4>; 339 reg-io-width = <4>;
@@ -348,7 +348,7 @@
348 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 348 clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
349 clock-names = "baudclk", "apb_pclk"; 349 clock-names = "baudclk", "apb_pclk";
350 dmas = <&dmac 6>, <&dmac 7>; 350 dmas = <&dmac 6>, <&dmac 7>;
351 #dma-cells = <2>; 351 dma-names = "tx", "rx";
352 pinctrl-names = "default"; 352 pinctrl-names = "default";
353 pinctrl-0 = <&uart2m1_xfer>; 353 pinctrl-0 = <&uart2m1_xfer>;
354 reg-io-width = <4>; 354 reg-io-width = <4>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-lion-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3368-lion-haikou.dts
new file mode 100644
index 000000000000..fca8e87d8f52
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3368-lion-haikou.dts
@@ -0,0 +1,146 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Theobroma Systems Design und Consulting GmbH
4 */
5
6/dts-v1/;
7#include "rk3368-lion.dtsi"
8
9/ {
10 model = "Theobroma Systems RK3368-uQ7 Baseboard";
11 compatible = "tsd,rk3368-lion-haikou", "rockchip,rk3368";
12
13 chosen {
14 stdout-path = "serial0:115200n8";
15 };
16
17 i2cmux2 {
18 i2c@0 {
19 eeprom: eeprom@50 {
20 compatible = "atmel,24c01";
21 pagesize = <8>;
22 reg = <0x50>;
23 };
24 };
25 };
26
27 leds {
28 pinctrl-0 = <&led_pins_module>, <&led_sd_haikou>;
29
30 sd-card-led {
31 label = "sd_card_led";
32 gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_HIGH>;
33 linux,default-trigger = "mmc0";
34 };
35 };
36
37 dc_12v: dc-12v {
38 compatible = "regulator-fixed";
39 regulator-name = "dc_12v";
40 regulator-always-on;
41 regulator-boot-on;
42 regulator-min-microvolt = <12000000>;
43 regulator-max-microvolt = <12000000>;
44 };
45
46 vcc3v3_baseboard: vcc3v3-baseboard {
47 compatible = "regulator-fixed";
48 regulator-name = "vcc3v3_baseboard";
49 regulator-always-on;
50 regulator-boot-on;
51 regulator-min-microvolt = <3300000>;
52 regulator-max-microvolt = <3300000>;
53 vin-supply = <&dc_12v>;
54 };
55
56 vcc5v0_otg: vcc5v0-otg-regulator {
57 compatible = "regulator-fixed";
58 enable-active-high;
59 gpio = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
60 pinctrl-names = "default";
61 pinctrl-0 = <&otg_vbus_drv>;
62 regulator-name = "vcc5v0_otg";
63 regulator-always-on;
64 };
65};
66
67&sdmmc {
68 bus-width = <4>;
69 cap-mmc-highspeed;
70 cap-sd-highspeed;
71 cd-gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
72 disable-wp;
73 max-frequency = <25000000>;
74 pinctrl-names = "default";
75 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
76 rockchip,default-sample-phase = <90>;
77 vmmc-supply = <&vcc3v3_baseboard>;
78 status = "okay";
79};
80
81&spi2 {
82 cs-gpios = <0>, <&gpio2 RK_PC3 GPIO_ACTIVE_LOW>;
83 status = "okay";
84};
85
86&uart0 {
87 pinctrl-names = "default";
88 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
89 status = "okay";
90};
91
92&usb_otg {
93 dr_mode = "otg";
94 status = "okay";
95};
96
97&uart0 {
98 pinctrl-names = "default";
99 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
100 status = "okay";
101};
102
103&uart1 {
104 /* alternate function of GPIO5/6 */
105 status = "disabled";
106};
107
108&pinctrl {
109 pinctrl-names = "default";
110 pinctrl-0 = <&haikou_pin_hog>;
111
112 hog {
113 haikou_pin_hog: haikou-pin-hog {
114 rockchip,pins =
115 /* LID_BTN */
116 <RK_GPIO3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
117 /* BATLOW# */
118 <RK_GPIO0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>,
119 /* SLP_BTN# */
120 <RK_GPIO3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
121 /* BIOS_DISABLE# */
122 <RK_GPIO3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
123 };
124 };
125
126 leds {
127 led_sd_haikou: led-sd-gpio {
128 rockchip,pins =
129 <RK_GPIO0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
130 };
131 };
132
133 sdmmc {
134 sdmmc_cd_gpio: sdmmc-cd-gpio {
135 rockchip,pins =
136 <RK_GPIO2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
137 };
138 };
139
140 usb_otg {
141 otg_vbus_drv: otg-vbus-drv {
142 rockchip,pins =
143 <RK_GPIO0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
144 };
145 };
146};
diff --git a/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi b/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
new file mode 100644
index 000000000000..1315972412df
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3368-lion.dtsi
@@ -0,0 +1,317 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Theobroma Systems Design und Consulting GmbH
4 */
5
6/dts-v1/;
7#include "rk3368.dtsi"
8
9/ {
10 chosen {
11 stdout-path = "serial0:115200n8";
12 };
13
14 ext_gmac: gmac-clk {
15 compatible = "fixed-clock";
16 clock-frequency = <125000000>;
17 clock-output-names = "ext_gmac";
18 #clock-cells = <0>;
19 };
20
21 i2cmux1 {
22 compatible = "i2c-mux-gpio";
23 #address-cells = <1>;
24 #size-cells = <0>;
25 i2c-parent = <&i2c1>;
26 mux-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
27
28 /* Q7_GPO_I2C */
29 i2c@0 {
30 reg = <0>;
31 #address-cells = <1>;
32 #size-cells = <0>;
33 };
34
35 /* Q7_SMB */
36 i2c@1 {
37 reg = <1>;
38 #address-cells = <1>;
39 #size-cells = <0>;
40 };
41 };
42
43 i2cmux2 {
44 compatible = "i2c-mux-gpio";
45 #address-cells = <1>;
46 #size-cells = <0>;
47 i2c-parent = <&i2c2>;
48 mux-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
49
50 /* Q7_LVDS_BLC_I2C */
51 i2c@0 {
52 reg = <0>;
53 #address-cells = <1>;
54 #size-cells = <0>;
55
56 fan: fan@18 {
57 compatible = "ti,amc6821";
58 reg = <0x18>;
59 cooling-min-state = <0>;
60 cooling-max-state = <9>;
61 #cooling-cells = <2>;
62 };
63
64 rtc_twi: rtc@6f {
65 compatible = "isil,isl1208";
66 reg = <0x6f>;
67 };
68 };
69
70 /* Q7_GP2_I2C */
71 i2c@1 {
72 reg = <1>;
73 #address-cells = <1>;
74 #size-cells = <0>;
75 };
76 };
77
78 leds {
79 compatible = "gpio-leds";
80 pinctrl-names = "default";
81 pinctrl-0 = <&led_pins_module>;
82
83 module_led1 {
84 label = "module_led1";
85 gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
86 linux,default-trigger = "heartbeat";
87 panic-indicator;
88 };
89
90 module_led2 {
91 label = "module_led2";
92 gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_HIGH>;
93 default-state = "off";
94 };
95 };
96
97 vcc_sys: vcc-sys-regulator {
98 compatible = "regulator-fixed";
99 regulator-name = "vcc_sys";
100 regulator-min-microvolt = <5000000>;
101 regulator-max-microvolt = <5000000>;
102 regulator-always-on;
103 regulator-boot-on;
104 };
105};
106
107&cpu_l0 {
108 cpu-supply = <&vdd_cpu>;
109};
110
111&cpu_l1 {
112 cpu-supply = <&vdd_cpu>;
113};
114
115&cpu_l2 {
116 cpu-supply = <&vdd_cpu>;
117};
118
119&cpu_l3 {
120 cpu-supply = <&vdd_cpu>;
121};
122
123&cpu_b0 {
124 cpu-supply = <&vdd_cpu>;
125};
126
127&cpu_b1 {
128 cpu-supply = <&vdd_cpu>;
129};
130
131&cpu_b2 {
132 cpu-supply = <&vdd_cpu>;
133};
134
135&cpu_b3 {
136 cpu-supply = <&vdd_cpu>;
137};
138
139&emmc {
140 bus-width = <8>;
141 clock-frequency = <150000000>;
142 disable-wp;
143 mmc-hs200-1_8v;
144 non-removable;
145 vmmc-supply = <&vcc33_io>;
146 vqmmc-supply = <&vcc18_io>;
147 pinctrl-names = "default";
148 pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
149 status = "okay";
150};
151
152&gmac {
153 assigned-clocks = <&cru SCLK_MAC>;
154 assigned-clock-parents = <&ext_gmac>;
155 clock_in_out = "input";
156 phy-supply = <&vcc33_io>;
157 phy-mode = "rgmii";
158 pinctrl-names = "default";
159 pinctrl-0 = <&rgmii_pins>;
160 snps,reset-active-low;
161 snps,reset-delays-us = <0 10000 50000>;
162 snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
163 tx_delay = <0x10>;
164 rx_delay = <0x10>;
165 status = "okay";
166};
167
168&i2c0 {
169 status = "okay";
170
171 rk808: pmic@1b {
172 compatible = "rockchip,rk808";
173 reg = <0x1b>;
174 interrupt-parent = <&gpio0>;
175 interrupts = <RK_PA5 IRQ_TYPE_LEVEL_LOW>;
176 clock-output-names = "xin32k", "rk808-clkout2";
177 #clock-cells = <1>;
178 pinctrl-names = "default";
179 pinctrl-0 = <&pmic_int_l>, <&pmic_sleep>;
180 rockchip,system-power-controller;
181 vcc1-supply = <&vcc_sys>;
182 vcc2-supply = <&vcc_sys>;
183 vcc3-supply = <&vcc_sys>;
184 vcc4-supply = <&vcc_sys>;
185 vcc6-supply = <&vcc_sys>;
186 vcc7-supply = <&vcc_sys>;
187 vcc8-supply = <&vcc_sys>;
188 vcc9-supply = <&vcc_sys>;
189 vcc10-supply = <&vcc_sys>;
190 vcc11-supply = <&vcc_sys>;
191 vcc12-supply = <&vcc_sys>;
192
193 regulators {
194 vdd_cpu: DCDC_REG1 {
195 regulator-name = "vdd_cpu";
196 regulator-min-microvolt = <700000>;
197 regulator-max-microvolt = <1500000>;
198 regulator-always-on;
199 regulator-boot-on;
200 };
201
202 vdd_log: DCDC_REG2 {
203 regulator-name = "vdd_log";
204 regulator-min-microvolt = <700000>;
205 regulator-max-microvolt = <1500000>;
206 regulator-always-on;
207 regulator-boot-on;
208 };
209
210 vcc_ddr: DCDC_REG3 {
211 regulator-name = "vcc_ddr";
212 regulator-always-on;
213 regulator-boot-on;
214 };
215
216 vcc33_io: DCDC_REG4 {
217 regulator-name = "vcc33_io";
218 regulator-min-microvolt = <3300000>;
219 regulator-max-microvolt = <3300000>;
220 regulator-always-on;
221 regulator-boot-on;
222 };
223
224 vcc33_video: LDO_REG2 {
225 regulator-name = "vcc33_video";
226 regulator-min-microvolt = <3300000>;
227 regulator-max-microvolt = <3300000>;
228 regulator-always-on;
229 regulator-boot-on;
230 };
231
232 vdd10_pll: LDO_REG3 {
233 regulator-name = "vdd10_pll";
234 regulator-min-microvolt = <1000000>;
235 regulator-max-microvolt = <1000000>;
236 regulator-always-on;
237 regulator-boot-on;
238 };
239
240 vcc18_io: LDO_REG4 {
241 regulator-name = "vcc18_io";
242 regulator-min-microvolt = <1800000>;
243 regulator-max-microvolt = <1800000>;
244 regulator-boot-on;
245 };
246
247 vdd10_video: LDO_REG6 {
248 regulator-name = "vdd10_video";
249 regulator-min-microvolt = <1000000>;
250 regulator-max-microvolt = <1000000>;
251 regulator-always-on;
252 regulator-boot-on;
253 };
254
255 vcc18_video: LDO_REG8 {
256 regulator-name = "vcc18_video";
257 regulator-min-microvolt = <1800000>;
258 regulator-max-microvolt = <1800000>;
259 regulator-always-on;
260 regulator-boot-on;
261 };
262 };
263 };
264};
265
266&i2c1 {
267 status = "okay";
268};
269
270&i2c2 {
271 status = "okay";
272};
273
274&pinctrl {
275 leds {
276 led_pins_module: led-module-gpio {
277 rockchip,pins =
278 <RK_GPIO2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>,
279 <RK_GPIO3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
280 };
281 };
282 pmic {
283 pmic_int_l: pmic-int-l {
284 rockchip,pins = <RK_GPIO0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
285 };
286
287 pmic_sleep: pmic-sleep {
288 rockchip,pins = <RK_GPIO0 RK_PA0 RK_FUNC_2 &pcfg_pull_none>;
289 };
290 };
291};
292
293&spi1 {
294 status = "okay";
295
296 norflash: flash@0 {
297 compatible = "jedec,spi-nor";
298 reg = <0>;
299 spi-max-frequency = <50000000>;
300 };
301};
302
303&uart1 {
304 status = "okay";
305};
306
307&uart3 {
308 status = "okay";
309};
310
311&usb_host0_ehci {
312 status = "okay";
313};
314
315&wdt {
316 status = "okay";
317};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
index 204bdb9857b9..18f546f2dfd1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
@@ -516,10 +516,15 @@
516 compatible = "rockchip,rk3399-gru-sound"; 516 compatible = "rockchip,rk3399-gru-sound";
517 rockchip,cpu = <&i2s0 &i2s2>; 517 rockchip,cpu = <&i2s0 &i2s2>;
518 rockchip,codec = <&max98357a &headsetcodec 518 rockchip,codec = <&max98357a &headsetcodec
519 &codec &wacky_spi_audio>; 519 &codec &wacky_spi_audio &cdn_dp>;
520 }; 520 };
521}; 521};
522 522
523&cdn_dp {
524 status = "okay";
525 extcon = <&usbc_extcon0>, <&usbc_extcon1>;
526};
527
523/* 528/*
524 * Set some suspend operating points to avoid OVP in suspend 529 * Set some suspend operating points to avoid OVP in suspend
525 * 530 *
@@ -582,7 +587,8 @@
582 <&cru PCLK_PERIHP>, 587 <&cru PCLK_PERIHP>,
583 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>, 588 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
584 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>, 589 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
585 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>; 590 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
591 <&cru ACLK_VIO>;
586 assigned-clock-rates = 592 assigned-clock-rates =
587 <600000000>, <800000000>, 593 <600000000>, <800000000>,
588 <1000000000>, 594 <1000000000>,
@@ -590,7 +596,8 @@
590 <37500000>, 596 <37500000>,
591 <100000000>, <100000000>, 597 <100000000>, <100000000>,
592 <50000000>, <800000000>, 598 <50000000>, <800000000>,
593 <100000000>, <50000000>; 599 <100000000>, <50000000>,
600 <400000000>;
594}; 601};
595 602
596&emmc_phy { 603&emmc_phy {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
index 9a7486058455..7d3e8bfd51dd 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts
@@ -61,6 +61,30 @@
61 }; 61 };
62 }; 62 };
63 63
64 i2s0-sound {
65 compatible = "simple-audio-card";
66 simple-audio-card,format = "i2s";
67 simple-audio-card,name = "Haikou,I2S-codec";
68 simple-audio-card,mclk-fs = <512>;
69
70 simple-audio-card,codec {
71 clocks = <&sgtl5000_clk>;
72 sound-dai = <&sgtl5000>;
73 };
74
75 simple-audio-card,cpu {
76 bitclock-master;
77 frame-master;
78 sound-dai = <&i2s0>;
79 };
80 };
81
82 sgtl5000_clk: sgtl5000-oscillator {
83 compatible = "fixed-clock";
84 #clock-cells = <0>;
85 clock-frequency = <24576000>;
86 };
87
64 dc_12v: dc-12v { 88 dc_12v: dc-12v {
65 compatible = "regulator-fixed"; 89 compatible = "regulator-fixed";
66 regulator-name = "dc_12v"; 90 regulator-name = "dc_12v";
@@ -80,6 +104,16 @@
80 vin-supply = <&dc_12v>; 104 vin-supply = <&dc_12v>;
81 }; 105 };
82 106
107 vcc5v0_baseboard: vcc5v0-baseboard {
108 compatible = "regulator-fixed";
109 regulator-name = "vcc5v0_baseboard";
110 regulator-always-on;
111 regulator-boot-on;
112 regulator-min-microvolt = <5000000>;
113 regulator-max-microvolt = <5000000>;
114 vin-supply = <&dc_12v>;
115 };
116
83 vcc5v0_otg: vcc5v0-otg-regulator { 117 vcc5v0_otg: vcc5v0-otg-regulator {
84 compatible = "regulator-fixed"; 118 compatible = "regulator-fixed";
85 enable-active-high; 119 enable-active-high;
@@ -89,6 +123,24 @@
89 regulator-name = "vcc5v0_otg"; 123 regulator-name = "vcc5v0_otg";
90 regulator-always-on; 124 regulator-always-on;
91 }; 125 };
126
127 vdda_codec: vdda-codec {
128 compatible = "regulator-fixed";
129 regulator-name = "vdda_codec";
130 regulator-boot-on;
131 regulator-min-microvolt = <3300000>;
132 regulator-max-microvolt = <3300000>;
133 vin-supply = <&vcc5v0_baseboard>;
134 };
135
136 vddd_codec: vddd-codec {
137 compatible = "regulator-fixed";
138 regulator-name = "vddd_codec";
139 regulator-boot-on;
140 regulator-min-microvolt = <1600000>;
141 regulator-max-microvolt = <1600000>;
142 vin-supply = <&vcc5v0_baseboard>;
143 };
92}; 144};
93 145
94&i2c1 { 146&i2c1 {
@@ -110,6 +162,17 @@
110&i2c4 { 162&i2c4 {
111 status = "okay"; 163 status = "okay";
112 clock-frequency = <400000>; 164 clock-frequency = <400000>;
165
166 sgtl5000: codec@0a {
167 compatible = "fsl,sgtl5000";
168 reg = <0x0a>;
169 clocks = <&sgtl5000_clk>;
170 #sound-dai-cells = <0>;
171 VDDA-supply = <&vdda_codec>;
172 VDDIO-supply = <&vdda_codec>;
173 VDDD-supply = <&vddd_codec>;
174 status = "okay";
175 };
113}; 176};
114 177
115&i2c6 { 178&i2c6 {
@@ -117,14 +180,6 @@
117 clock-frequency = <400000>; 180 clock-frequency = <400000>;
118}; 181};
119 182
120&i2s0 {
121 status = "okay";
122 rockchip,playback-channels = <8>;
123 rockchip,capture-channels = <8>;
124 #sound-dai-cells = <0>;
125 status = "okay";
126};
127
128&pcie_phy { 183&pcie_phy {
129 status = "okay"; 184 status = "okay";
130}; 185};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
index 1fc5060d7027..4a2d06abe9c1 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
@@ -435,6 +435,28 @@
435 }; 435 };
436}; 436};
437 437
438&i2s0 {
439 pinctrl-0 = <&i2s0_2ch_bus>;
440 rockchip,playback-channels = <2>;
441 rockchip,capture-channels = <2>;
442 #sound-dai-cells = <0>;
443 status = "okay";
444};
445
446/*
447 * As Q7 does not specify neither a global nor a RX clock for I2S these
448 * signals are not used. Furthermore I2S0_LRCK_RX is used as GPIO.
449 * Therefore we have to redefine the i2s0_2ch_bus definition to prevent
450 * conflicts.
451 */
452&i2s0_2ch_bus {
453 rockchip,pins =
454 <RK_GPIO3 RK_PD0 RK_FUNC_1 &pcfg_pull_none>,
455 <RK_GPIO3 RK_PD2 RK_FUNC_1 &pcfg_pull_none>,
456 <RK_GPIO3 RK_PD3 RK_FUNC_1 &pcfg_pull_none>,
457 <RK_GPIO3 RK_PD7 RK_FUNC_1 &pcfg_pull_none>;
458};
459
438&io_domains { 460&io_domains {
439 status = "okay"; 461 status = "okay";
440 bt656-supply = <&vcc_1v8>; 462 bt656-supply = <&vcc_1v8>;
@@ -505,6 +527,12 @@
505 }; 527 };
506}; 528};
507 529
530&tsadc {
531 rockchip,hw-tshut-mode = <1>;
532 rockchip,hw-tshut-polarity = <1>;
533 status = "okay";
534};
535
508&u2phy1 { 536&u2phy1 {
509 status = "okay"; 537 status = "okay";
510 538
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
index b7bd88fb3ae3..56952d1a3fb8 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts
@@ -41,7 +41,6 @@
41 */ 41 */
42 42
43/dts-v1/; 43/dts-v1/;
44#include <dt-bindings/input/input.h>
45#include "rk3399-sapphire.dtsi" 44#include "rk3399-sapphire.dtsi"
46 45
47/ { 46/ {
@@ -95,22 +94,6 @@
95 }; 94 };
96 }; 95 };
97 96
98 keys: gpio-keys {
99 compatible = "gpio-keys";
100 autorepeat;
101
102 power {
103 debounce-interval = <100>;
104 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
105 label = "GPIO Power";
106 linux,code = <KEY_POWER>;
107 linux,input-type = <1>;
108 pinctrl-names = "default";
109 pinctrl-0 = <&pwr_btn>;
110 wakeup-source;
111 };
112 };
113
114 rt5651-sound { 97 rt5651-sound {
115 compatible = "simple-audio-card"; 98 compatible = "simple-audio-card";
116 simple-audio-card,name = "realtek,rt5651-codec"; 99 simple-audio-card,name = "realtek,rt5651-codec";
@@ -207,18 +190,7 @@
207 status = "okay"; 190 status = "okay";
208}; 191};
209 192
210&i2s2 {
211 #sound-dai-cells = <0>;
212 status = "okay";
213};
214
215&pinctrl { 193&pinctrl {
216 buttons {
217 pwr_btn: pwr-btn {
218 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
219 };
220 };
221
222 sdio-pwrseq { 194 sdio-pwrseq {
223 wifi_enable_h: wifi-enable-h { 195 wifi_enable_h: wifi-enable-h {
224 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 196 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
@@ -232,6 +204,22 @@
232 }; 204 };
233}; 205};
234 206
207&sdio0 {
208 bus-width = <4>;
209 cap-sd-highspeed;
210 cap-sdio-irq;
211 clock-frequency = <50000000>;
212 disable-wp;
213 keep-power-in-suspend;
214 max-frequency = <50000000>;
215 mmc-pwrseq = <&sdio_pwrseq>;
216 non-removable;
217 pinctrl-names = "default";
218 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
219 sd-uhs-sdr104;
220 status = "okay";
221};
222
235&spdif { 223&spdif {
236 i2c-scl-rising-time-ns = <450>; 224 i2c-scl-rising-time-ns = <450>;
237 i2c-scl-falling-time-ns = <15>; 225 i2c-scl-falling-time-ns = <15>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dts b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dts
new file mode 100644
index 000000000000..5a58060447cf
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dts
@@ -0,0 +1,12 @@
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd.
4 */
5
6/dts-v1/;
7#include "rk3399-sapphire.dtsi"
8
9/ {
10 model = "Sapphire-RK3399 Board";
11 compatible = "rockchip,rk3399-sapphire", "rockchip,rk3399";
12};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
index ce592a4c0c4c..e5daed7d2026 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
@@ -41,6 +41,7 @@
41 */ 41 */
42 42
43#include "dt-bindings/pwm/pwm.h" 43#include "dt-bindings/pwm/pwm.h"
44#include "dt-bindings/input/input.h"
44#include "rk3399.dtsi" 45#include "rk3399.dtsi"
45#include "rk3399-opp.dtsi" 46#include "rk3399-opp.dtsi"
46 47
@@ -102,6 +103,22 @@
102 regulator-max-microvolt = <12000000>; 103 regulator-max-microvolt = <12000000>;
103 }; 104 };
104 105
106 keys: gpio-keys {
107 compatible = "gpio-keys";
108 autorepeat;
109
110 power {
111 debounce-interval = <100>;
112 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
113 label = "GPIO Power";
114 linux,code = <KEY_POWER>;
115 linux,input-type = <1>;
116 pinctrl-names = "default";
117 pinctrl-0 = <&pwr_btn>;
118 wakeup-source;
119 };
120 };
121
105 /* switched by pmic_sleep */ 122 /* switched by pmic_sleep */
106 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 123 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
107 compatible = "regulator-fixed"; 124 compatible = "regulator-fixed";
@@ -143,6 +160,17 @@
143 regulator-always-on; 160 regulator-always-on;
144 vin-supply = <&vcc_sys>; 161 vin-supply = <&vcc_sys>;
145 }; 162 };
163
164 vdd_log: vdd-log {
165 compatible = "pwm-regulator";
166 pwms = <&pwm2 0 25000 1>;
167 regulator-name = "vdd_log";
168 regulator-always-on;
169 regulator-boot-on;
170 regulator-min-microvolt = <800000>;
171 regulator-max-microvolt = <1400000>;
172 vin-supply = <&vcc_sys>;
173 };
146}; 174};
147 175
148&cpu_l0 { 176&cpu_l0 {
@@ -421,17 +449,6 @@
421 regulator-off-in-suspend; 449 regulator-off-in-suspend;
422 }; 450 };
423 }; 451 };
424
425 vdd_log: vdd-log {
426 compatible = "pwm-regulator";
427 pwms = <&pwm2 0 25000 1>;
428 regulator-name = "vdd_log";
429 regulator-always-on;
430 regulator-boot-on;
431 regulator-min-microvolt = <800000>;
432 regulator-max-microvolt = <1400000>;
433 vin-supply = <&vcc_sys>;
434 };
435}; 452};
436 453
437&i2c3 { 454&i2c3 {
@@ -440,6 +457,11 @@
440 status = "okay"; 457 status = "okay";
441}; 458};
442 459
460&i2s2 {
461 #sound-dai-cells = <0>;
462 status = "okay";
463};
464
443&io_domains { 465&io_domains {
444 status = "okay"; 466 status = "okay";
445 467
@@ -470,6 +492,12 @@
470}; 492};
471 493
472&pinctrl { 494&pinctrl {
495 buttons {
496 pwr_btn: pwr-btn {
497 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
498 };
499 };
500
473 pmic { 501 pmic {
474 pmic_int_l: pmic-int-l { 502 pmic_int_l: pmic-int-l {
475 rockchip,pins = 503 rockchip,pins =
@@ -513,29 +541,12 @@
513 541
514&sdhci { 542&sdhci {
515 bus-width = <8>; 543 bus-width = <8>;
516 keep-power-in-suspend;
517 mmc-hs400-1_8v; 544 mmc-hs400-1_8v;
518 mmc-hs400-enhanced-strobe; 545 mmc-hs400-enhanced-strobe;
519 non-removable; 546 non-removable;
520 status = "okay"; 547 status = "okay";
521}; 548};
522 549
523&sdio0 {
524 bus-width = <4>;
525 cap-sd-highspeed;
526 cap-sdio-irq;
527 clock-frequency = <50000000>;
528 disable-wp;
529 keep-power-in-suspend;
530 max-frequency = <50000000>;
531 mmc-pwrseq = <&sdio_pwrseq>;
532 non-removable;
533 pinctrl-names = "default";
534 pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
535 sd-uhs-sdr104;
536 status = "okay";
537};
538
539&sdmmc { 550&sdmmc {
540 bus-width = <4>; 551 bus-width = <4>;
541 cap-mmc-highspeed; 552 cap-mmc-highspeed;
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 0b81ca1d07e7..4550c0f82be9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -457,6 +457,42 @@
457 }; 457 };
458 }; 458 };
459 459
460 cdn_dp: dp@fec00000 {
461 compatible = "rockchip,rk3399-cdn-dp";
462 reg = <0x0 0xfec00000 0x0 0x100000>;
463 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
464 assigned-clocks = <&cru SCLK_DP_CORE>;
465 assigned-clock-rates = <100000000>;
466 clocks = <&cru SCLK_DP_CORE>, <&cru PCLK_DP_CTRL>,
467 <&cru SCLK_SPDIF_REC_DPTX>, <&cru PCLK_VIO_GRF>;
468 clock-names = "core-clk", "pclk", "spdif", "grf";
469 phys = <&tcphy0_dp>, <&tcphy1_dp>;
470 power-domains = <&power RK3399_PD_HDCP>;
471 resets = <&cru SRST_DPTX_SPDIF_REC>, <&cru SRST_P_UPHY0_DPTX>,
472 <&cru SRST_P_UPHY0_APB>, <&cru SRST_DP_CORE>;
473 reset-names = "spdif", "dptx", "apb", "core";
474 rockchip,grf = <&grf>;
475 #sound-dai-cells = <1>;
476 status = "disabled";
477
478 ports {
479 dp_in: port {
480 #address-cells = <1>;
481 #size-cells = <0>;
482
483 dp_in_vopb: endpoint@0 {
484 reg = <0>;
485 remote-endpoint = <&vopb_out_dp>;
486 };
487
488 dp_in_vopl: endpoint@1 {
489 reg = <1>;
490 remote-endpoint = <&vopl_out_dp>;
491 };
492 };
493 };
494 };
495
460 gic: interrupt-controller@fee00000 { 496 gic: interrupt-controller@fee00000 {
461 compatible = "arm,gic-v3"; 497 compatible = "arm,gic-v3";
462 #interrupt-cells = <4>; 498 #interrupt-cells = <4>;
@@ -1286,7 +1322,8 @@
1286 <&cru PCLK_PERIHP>, 1322 <&cru PCLK_PERIHP>,
1287 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>, 1323 <&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
1288 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>, 1324 <&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
1289 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>; 1325 <&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>,
1326 <&cru ACLK_VIO>;
1290 assigned-clock-rates = 1327 assigned-clock-rates =
1291 <594000000>, <800000000>, 1328 <594000000>, <800000000>,
1292 <1000000000>, 1329 <1000000000>,
@@ -1294,7 +1331,8 @@
1294 <37500000>, 1331 <37500000>,
1295 <100000000>, <100000000>, 1332 <100000000>, <100000000>,
1296 <50000000>, <600000000>, 1333 <50000000>, <600000000>,
1297 <100000000>, <50000000>; 1334 <100000000>, <50000000>,
1335 <400000000>;
1298 }; 1336 };
1299 1337
1300 grf: syscon@ff770000 { 1338 grf: syscon@ff770000 {
@@ -1547,6 +1585,11 @@
1547 reg = <3>; 1585 reg = <3>;
1548 remote-endpoint = <&mipi1_in_vopl>; 1586 remote-endpoint = <&mipi1_in_vopl>;
1549 }; 1587 };
1588
1589 vopl_out_dp: endpoint@4 {
1590 reg = <4>;
1591 remote-endpoint = <&dp_in_vopl>;
1592 };
1550 }; 1593 };
1551 }; 1594 };
1552 1595
@@ -1599,6 +1642,11 @@
1599 reg = <3>; 1642 reg = <3>;
1600 remote-endpoint = <&mipi1_in_vopb>; 1643 remote-endpoint = <&mipi1_in_vopb>;
1601 }; 1644 };
1645
1646 vopb_out_dp: endpoint@4 {
1647 reg = <4>;
1648 remote-endpoint = <&dp_in_vopb>;
1649 };
1602 }; 1650 };
1603 }; 1651 };
1604 1652
@@ -2043,6 +2091,16 @@
2043 }; 2091 };
2044 2092
2045 i2s0 { 2093 i2s0 {
2094 i2s0_2ch_bus: i2s0-2ch-bus {
2095 rockchip,pins =
2096 <3 24 RK_FUNC_1 &pcfg_pull_none>,
2097 <3 25 RK_FUNC_1 &pcfg_pull_none>,
2098 <3 26 RK_FUNC_1 &pcfg_pull_none>,
2099 <3 27 RK_FUNC_1 &pcfg_pull_none>,
2100 <3 31 RK_FUNC_1 &pcfg_pull_none>,
2101 <4 0 RK_FUNC_1 &pcfg_pull_none>;
2102 };
2103
2046 i2s0_8ch_bus: i2s0-8ch-bus { 2104 i2s0_8ch_bus: i2s0-8ch-bus {
2047 rockchip,pins = 2105 rockchip,pins =
2048 <3 24 RK_FUNC_1 &pcfg_pull_none>, 2106 <3 24 RK_FUNC_1 &pcfg_pull_none>,
@@ -2293,6 +2351,23 @@
2293 }; 2351 };
2294 }; 2352 };
2295 2353
2354 testclk {
2355 test_clkout0: test-clkout0 {
2356 rockchip,pins =
2357 <0 0 RK_FUNC_1 &pcfg_pull_none>;
2358 };
2359
2360 test_clkout1: test-clkout1 {
2361 rockchip,pins =
2362 <2 25 RK_FUNC_2 &pcfg_pull_none>;
2363 };
2364
2365 test_clkout2: test-clkout2 {
2366 rockchip,pins =
2367 <0 8 RK_FUNC_3 &pcfg_pull_none>;
2368 };
2369 };
2370
2296 tsadc { 2371 tsadc {
2297 otp_gpio: otp-gpio { 2372 otp_gpio: otp-gpio {
2298 rockchip,pins = <1 6 RK_FUNC_GPIO &pcfg_pull_none>; 2373 rockchip,pins = <1 6 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts b/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts
index 2452b2243f42..9b4dc41703e3 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld11-global.dts
@@ -1,14 +1,13 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD11 Global Board 2//
3 * 3// Device Tree Source for UniPhier LD11 Global Board
4 * Copyright (C) 2016-2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2016-2017 Socionext Inc.
6 * Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * 7// Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
8 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9 */
10 8
11/dts-v1/; 9/dts-v1/;
10#include <dt-bindings/gpio/uniphier-gpio.h>
12#include "uniphier-ld11.dtsi" 11#include "uniphier-ld11.dtsi"
13 12
14/ { 13/ {
@@ -37,6 +36,53 @@
37 device_type = "memory"; 36 device_type = "memory";
38 reg = <0 0x80000000 0 0x40000000>; 37 reg = <0 0x80000000 0 0x40000000>;
39 }; 38 };
39
40 dvdd_reg: reg-fixed {
41 compatible = "regulator-fixed";
42 regulator-name = "DVDD";
43 regulator-min-microvolt = <3300000>;
44 regulator-max-microvolt = <3300000>;
45 };
46
47 amp_vcc_reg: reg-fixed {
48 compatible = "regulator-fixed";
49 regulator-name = "AMP_VCC";
50 regulator-min-microvolt = <24000000>;
51 regulator-max-microvolt = <24000000>;
52 };
53
54 sound {
55 compatible = "audio-graph-card";
56 label = "UniPhier LD11";
57 widgets = "Headphone", "Headphone Jack";
58 dais = <&i2s_port2
59 &i2s_port3
60 &i2s_port4
61 &spdif_port0
62 &comp_spdif_port0>;
63 };
64
65 spdif-out {
66 compatible = "linux,spdif-dit";
67 #sound-dai-cells = <0>;
68
69 port@0 {
70 spdif_tx: endpoint {
71 remote-endpoint = <&spdif_hiecout1>;
72 };
73 };
74 };
75
76 comp-spdif-out {
77 compatible = "linux,spdif-dit";
78 #sound-dai-cells = <0>;
79
80 port@0 {
81 comp_spdif_tx: endpoint {
82 remote-endpoint = <&comp_spdif_hiecout1>;
83 };
84 };
85 };
40}; 86};
41 87
42&serial0 { 88&serial0 {
@@ -47,9 +93,43 @@
47 status = "okay"; 93 status = "okay";
48}; 94};
49 95
96&i2s_hpcmout1 {
97 dai-format = "i2s";
98 remote-endpoint = <&tas_speaker>;
99};
100
101&spdif_hiecout1 {
102 remote-endpoint = <&spdif_tx>;
103};
104
105&comp_spdif_hiecout1 {
106 remote-endpoint = <&comp_spdif_tx>;
107};
108
50&i2c0 { 109&i2c0 {
51 status = "okay"; 110 status = "okay";
52 111
112 tas5707a@1d {
113 compatible = "ti,tas5711";
114 reg = <0x1d>;
115 reset-gpios = <&gpio UNIPHIER_GPIO_PORT(23, 4) GPIO_ACTIVE_LOW>;
116 pdn-gpios = <&gpio UNIPHIER_GPIO_PORT(23, 5) GPIO_ACTIVE_LOW>;
117 #sound-dai-cells = <0>;
118 AVDD-supply = <&dvdd_reg>;
119 DVDD-supply = <&dvdd_reg>;
120 PVDD_A-supply = <&amp_vcc_reg>;
121 PVDD_B-supply = <&amp_vcc_reg>;
122 PVDD_C-supply = <&amp_vcc_reg>;
123 PVDD_D-supply = <&amp_vcc_reg>;
124
125 port@0 {
126 tas_speaker: endpoint {
127 dai-format = "i2s";
128 remote-endpoint = <&i2s_hpcmout1>;
129 };
130 };
131 };
132
53 eeprom@50 { 133 eeprom@50 {
54 compatible = "st,24c64", "atmel,24c64"; 134 compatible = "st,24c64", "atmel,24c64";
55 reg = <0x50>; 135 reg = <0x50>;
@@ -69,6 +149,17 @@
69 status = "okay"; 149 status = "okay";
70}; 150};
71 151
152&eth {
153 status = "okay";
154 phy-handle = <&ethphy>;
155};
156
157&mdio {
158 ethphy: ethphy@1 {
159 reg = <1>;
160 };
161};
162
72&nand { 163&nand {
73 status = "okay"; 164 status = "okay";
74}; 165};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld11-ref.dts b/arch/arm64/boot/dts/socionext/uniphier-ld11-ref.dts
index 54c53170699a..b8f627348448 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld11-ref.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld11-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD11 Reference Board 2//
3 * 3// Device Tree Source for UniPhier LD11 Reference Board
4 * Copyright (C) 2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-ld11.dtsi" 9#include "uniphier-ld11.dtsi"
@@ -70,3 +68,14 @@
70&usb2 { 68&usb2 {
71 status = "okay"; 69 status = "okay";
72}; 70};
71
72&eth {
73 status = "okay";
74 phy-handle = <&ethphy>;
75};
76
77&mdio {
78 ethphy: ethphy@1 {
79 reg = <1>;
80 };
81};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
index cd7c2d0a1f64..e62bda1cf2d9 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld11.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD11 SoC 2//
3 * 3// Device Tree Source for UniPhier LD11 SoC
4 * Copyright (C) 2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/gpio/uniphier-gpio.h> 9#include <dt-bindings/gpio/uniphier-gpio.h>
@@ -187,6 +185,92 @@
187 <21 217 3>; 185 <21 217 3>;
188 }; 186 };
189 187
188 audio@56000000 {
189 compatible = "socionext,uniphier-ld11-aio";
190 reg = <0x56000000 0x80000>;
191 interrupts = <0 144 4>;
192 pinctrl-names = "default";
193 pinctrl-0 = <&pinctrl_aout1>,
194 <&pinctrl_aoutiec1>;
195 clock-names = "aio";
196 clocks = <&sys_clk 40>;
197 reset-names = "aio";
198 resets = <&sys_rst 40>;
199 #sound-dai-cells = <1>;
200 socionext,syscon = <&soc_glue>;
201
202 i2s_port0: port@0 {
203 i2s_hdmi: endpoint {
204 };
205 };
206
207 i2s_port1: port@1 {
208 i2s_pcmin2: endpoint {
209 };
210 };
211
212 i2s_port2: port@2 {
213 i2s_line: endpoint {
214 dai-format = "i2s";
215 remote-endpoint = <&evea_line>;
216 };
217 };
218
219 i2s_port3: port@3 {
220 i2s_hpcmout1: endpoint {
221 };
222 };
223
224 i2s_port4: port@4 {
225 i2s_hp: endpoint {
226 dai-format = "i2s";
227 remote-endpoint = <&evea_hp>;
228 };
229 };
230
231 spdif_port0: port@5 {
232 spdif_hiecout1: endpoint {
233 };
234 };
235
236 src_port0: port@6 {
237 i2s_epcmout2: endpoint {
238 };
239 };
240
241 src_port1: port@7 {
242 i2s_epcmout3: endpoint {
243 };
244 };
245
246 comp_spdif_port0: port@8 {
247 comp_spdif_hiecout1: endpoint {
248 };
249 };
250 };
251
252 codec@57900000 {
253 compatible = "socionext,uniphier-evea";
254 reg = <0x57900000 0x1000>;
255 clock-names = "evea", "exiv";
256 clocks = <&sys_clk 41>, <&sys_clk 42>;
257 reset-names = "evea", "exiv", "adamv";
258 resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
259 #sound-dai-cells = <1>;
260
261 port@0 {
262 evea_line: endpoint {
263 remote-endpoint = <&i2s_line>;
264 };
265 };
266
267 port@1 {
268 evea_hp: endpoint {
269 remote-endpoint = <&i2s_hp>;
270 };
271 };
272 };
273
190 adamv@57920000 { 274 adamv@57920000 {
191 compatible = "socionext,uniphier-ld11-adamv", 275 compatible = "socionext,uniphier-ld11-adamv",
192 "simple-mfd", "syscon"; 276 "simple-mfd", "syscon";
@@ -396,7 +480,7 @@
396 }; 480 };
397 }; 481 };
398 482
399 soc-glue@5f800000 { 483 soc_glue: soc-glue@5f800000 {
400 compatible = "socionext,uniphier-ld11-soc-glue", 484 compatible = "socionext,uniphier-ld11-soc-glue",
401 "simple-mfd", "syscon"; 485 "simple-mfd", "syscon";
402 reg = <0x5f800000 0x2000>; 486 reg = <0x5f800000 0x2000>;
@@ -460,6 +544,22 @@
460 }; 544 };
461 }; 545 };
462 546
547 eth: ethernet@65000000 {
548 compatible = "socionext,uniphier-ld11-ave4";
549 status = "disabled";
550 reg = <0x65000000 0x8500>;
551 interrupts = <0 66 4>;
552 clocks = <&sys_clk 6>;
553 resets = <&sys_rst 6>;
554 phy-mode = "rmii";
555 local-mac-address = [00 00 00 00 00 00];
556
557 mdio: mdio {
558 #address-cells = <1>;
559 #size-cells = <0>;
560 };
561 };
562
463 nand: nand@68000000 { 563 nand: nand@68000000 {
464 compatible = "socionext,uniphier-denali-nand-v5b"; 564 compatible = "socionext,uniphier-denali-nand-v5b";
465 status = "disabled"; 565 status = "disabled";
@@ -475,3 +575,12 @@
475}; 575};
476 576
477#include "uniphier-pinctrl.dtsi" 577#include "uniphier-pinctrl.dtsi"
578
579&pinctrl_aoutiec1 {
580 drive-strength = <4>; /* default: 4mA */
581
582 ao1arc {
583 pins = "AO1ARC";
584 drive-strength = <8>; /* 8mA */
585 };
586};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts b/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts
index fc2bc9d75d35..fe6608ea3277 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld20-global.dts
@@ -1,14 +1,13 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD20 Global Board 2//
3 * 3// Device Tree Source for UniPhier LD20 Global Board
4 * Copyright (C) 2015-2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2017 Socionext Inc.
6 * Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * 7// Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
8 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
9 */
10 8
11/dts-v1/; 9/dts-v1/;
10#include <dt-bindings/gpio/uniphier-gpio.h>
12#include "uniphier-ld20.dtsi" 11#include "uniphier-ld20.dtsi"
13 12
14/ { 13/ {
@@ -37,6 +36,53 @@
37 device_type = "memory"; 36 device_type = "memory";
38 reg = <0 0x80000000 0 0xc0000000>; 37 reg = <0 0x80000000 0 0xc0000000>;
39 }; 38 };
39
40 dvdd_reg: reg-fixed {
41 compatible = "regulator-fixed";
42 regulator-name = "DVDD";
43 regulator-min-microvolt = <3300000>;
44 regulator-max-microvolt = <3300000>;
45 };
46
47 amp_vcc_reg: reg-fixed {
48 compatible = "regulator-fixed";
49 regulator-name = "AMP_VCC";
50 regulator-min-microvolt = <12000000>;
51 regulator-max-microvolt = <12000000>;
52 };
53
54 sound {
55 compatible = "audio-graph-card";
56 label = "UniPhier LD20";
57 widgets = "Headphone", "Headphone Jack";
58 dais = <&i2s_port2
59 &i2s_port3
60 &i2s_port4
61 &spdif_port0
62 &comp_spdif_port0>;
63 };
64
65 spdif-out {
66 compatible = "linux,spdif-dit";
67 #sound-dai-cells = <0>;
68
69 port@0 {
70 spdif_tx: endpoint {
71 remote-endpoint = <&spdif_hiecout1>;
72 };
73 };
74 };
75
76 comp-spdif-out {
77 compatible = "linux,spdif-dit";
78 #sound-dai-cells = <0>;
79
80 port@0 {
81 comp_spdif_tx: endpoint {
82 remote-endpoint = <&comp_spdif_hiecout1>;
83 };
84 };
85 };
40}; 86};
41 87
42&serial0 { 88&serial0 {
@@ -47,8 +93,55 @@
47 status = "okay"; 93 status = "okay";
48}; 94};
49 95
96&i2s_hpcmout1 {
97 dai-format = "i2s";
98 remote-endpoint = <&tas_speaker>;
99};
100
101&spdif_hiecout1 {
102 remote-endpoint = <&spdif_tx>;
103};
104
105&comp_spdif_hiecout1 {
106 remote-endpoint = <&comp_spdif_tx>;
107};
108
50&i2c0 { 109&i2c0 {
51 status = "okay"; 110 status = "okay";
111
112 tas5707@1b {
113 compatible = "ti,tas5711";
114 reg = <0x1b>;
115 reset-gpios = <&gpio UNIPHIER_GPIO_PORT(0, 0) GPIO_ACTIVE_LOW>;
116 pdn-gpios = <&gpio UNIPHIER_GPIO_PORT(0, 1) GPIO_ACTIVE_LOW>;
117 #sound-dai-cells = <0>;
118 AVDD-supply = <&dvdd_reg>;
119 DVDD-supply = <&dvdd_reg>;
120 PVDD_A-supply = <&amp_vcc_reg>;
121 PVDD_B-supply = <&amp_vcc_reg>;
122 PVDD_C-supply = <&amp_vcc_reg>;
123 PVDD_D-supply = <&amp_vcc_reg>;
124
125 port@0 {
126 tas_speaker: endpoint {
127 dai-format = "i2s";
128 remote-endpoint = <&i2s_hpcmout1>;
129 };
130 };
131 };
132};
133
134&eth {
135 status = "okay";
136 phy-mode = "rmii";
137 pinctrl-0 = <&pinctrl_ether_rmii>;
138 phy-handle = <&ethphy>;
139};
140
141&mdio {
142 ethphy: ethphy@1 {
143 reg = <1>;
144 };
52}; 145};
53 146
54&nand { 147&nand {
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dts b/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dts
index 693371033c90..2c1a92fafbfb 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD20 Reference Board 2//
3 * 3// Device Tree Source for UniPhier LD20 Reference Board
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-ld20.dtsi" 9#include "uniphier-ld20.dtsi"
@@ -58,3 +56,14 @@
58&i2c0 { 56&i2c0 {
59 status = "okay"; 57 status = "okay";
60}; 58};
59
60&eth {
61 status = "okay";
62 phy-handle = <&ethphy>;
63};
64
65&mdio {
66 ethphy: ethphy@0 {
67 reg = <0>;
68 };
69};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi b/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
index 8a3276ba2da1..9efe20d07589 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-ld20.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier LD20 SoC 2//
3 * 3// Device Tree Source for UniPhier LD20 SoC
4 * Copyright (C) 2015-2016 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2015-2016 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/gpio/uniphier-gpio.h> 9#include <dt-bindings/gpio/uniphier-gpio.h>
@@ -287,6 +285,92 @@
287 <21 217 3>; 285 <21 217 3>;
288 }; 286 };
289 287
288 audio@56000000 {
289 compatible = "socionext,uniphier-ld20-aio";
290 reg = <0x56000000 0x80000>;
291 interrupts = <0 144 4>;
292 pinctrl-names = "default";
293 pinctrl-0 = <&pinctrl_aout1>,
294 <&pinctrl_aoutiec1>;
295 clock-names = "aio";
296 clocks = <&sys_clk 40>;
297 reset-names = "aio";
298 resets = <&sys_rst 40>;
299 #sound-dai-cells = <1>;
300 socionext,syscon = <&soc_glue>;
301
302 i2s_port0: port@0 {
303 i2s_hdmi: endpoint {
304 };
305 };
306
307 i2s_port1: port@1 {
308 i2s_pcmin2: endpoint {
309 };
310 };
311
312 i2s_port2: port@2 {
313 i2s_line: endpoint {
314 dai-format = "i2s";
315 remote-endpoint = <&evea_line>;
316 };
317 };
318
319 i2s_port3: port@3 {
320 i2s_hpcmout1: endpoint {
321 };
322 };
323
324 i2s_port4: port@4 {
325 i2s_hp: endpoint {
326 dai-format = "i2s";
327 remote-endpoint = <&evea_hp>;
328 };
329 };
330
331 spdif_port0: port@5 {
332 spdif_hiecout1: endpoint {
333 };
334 };
335
336 src_port0: port@6 {
337 i2s_epcmout2: endpoint {
338 };
339 };
340
341 src_port1: port@7 {
342 i2s_epcmout3: endpoint {
343 };
344 };
345
346 comp_spdif_port0: port@8 {
347 comp_spdif_hiecout1: endpoint {
348 };
349 };
350 };
351
352 codec@57900000 {
353 compatible = "socionext,uniphier-evea";
354 reg = <0x57900000 0x1000>;
355 clock-names = "evea", "exiv";
356 clocks = <&sys_clk 41>, <&sys_clk 42>;
357 reset-names = "evea", "exiv", "adamv";
358 resets = <&sys_rst 41>, <&sys_rst 42>, <&adamv_rst 0>;
359 #sound-dai-cells = <1>;
360
361 port@0 {
362 evea_line: endpoint {
363 remote-endpoint = <&i2s_line>;
364 };
365 };
366
367 port@1 {
368 evea_hp: endpoint {
369 remote-endpoint = <&i2s_hp>;
370 };
371 };
372 };
373
290 adamv@57920000 { 374 adamv@57920000 {
291 compatible = "socionext,uniphier-ld20-adamv", 375 compatible = "socionext,uniphier-ld20-adamv",
292 "simple-mfd", "syscon"; 376 "simple-mfd", "syscon";
@@ -442,7 +526,7 @@
442 cdns,phy-dll-delay-sdclk-hsmmc = <21>; 526 cdns,phy-dll-delay-sdclk-hsmmc = <21>;
443 }; 527 };
444 528
445 soc-glue@5f800000 { 529 soc_glue: soc-glue@5f800000 {
446 compatible = "socionext,uniphier-ld20-soc-glue", 530 compatible = "socionext,uniphier-ld20-soc-glue",
447 "simple-mfd", "syscon"; 531 "simple-mfd", "syscon";
448 reg = <0x5f800000 0x2000>; 532 reg = <0x5f800000 0x2000>;
@@ -513,6 +597,24 @@
513 }; 597 };
514 }; 598 };
515 599
600 eth: ethernet@65000000 {
601 compatible = "socionext,uniphier-ld20-ave4";
602 status = "disabled";
603 reg = <0x65000000 0x8500>;
604 interrupts = <0 66 4>;
605 pinctrl-names = "default";
606 pinctrl-0 = <&pinctrl_ether_rgmii>;
607 clocks = <&sys_clk 6>;
608 resets = <&sys_rst 6>;
609 phy-mode = "rgmii";
610 local-mac-address = [00 00 00 00 00 00];
611
612 mdio: mdio {
613 #address-cells = <1>;
614 #size-cells = <0>;
615 };
616 };
617
516 nand: nand@68000000 { 618 nand: nand@68000000 {
517 compatible = "socionext,uniphier-denali-nand-v5b"; 619 compatible = "socionext,uniphier-denali-nand-v5b";
518 status = "disabled"; 620 status = "disabled";
@@ -528,3 +630,21 @@
528}; 630};
529 631
530#include "uniphier-pinctrl.dtsi" 632#include "uniphier-pinctrl.dtsi"
633
634&pinctrl_aout1 {
635 drive-strength = <4>; /* default: 3.5mA */
636
637 ao1dacck {
638 pins = "AO1DACCK";
639 drive-strength = <5>; /* 5mA */
640 };
641};
642
643&pinctrl_aoutiec1 {
644 drive-strength = <4>; /* default: 3.5mA */
645
646 ao1arc {
647 pins = "AO1ARC";
648 drive-strength = <11>; /* 11mA */
649 };
650};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts b/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts
index 3c7108729827..c1bb607bd211 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts
+++ b/arch/arm64/boot/dts/socionext/uniphier-pxs3-ref.dts
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier PXs3 Reference Board 2//
3 * 3// Device Tree Source for UniPhier PXs3 Reference Board
4 * Copyright (C) 2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2017 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10/dts-v1/; 8/dts-v1/;
11#include "uniphier-pxs3.dtsi" 9#include "uniphier-pxs3.dtsi"
@@ -77,6 +75,28 @@
77 status = "okay"; 75 status = "okay";
78}; 76};
79 77
78&eth0 {
79 status = "okay";
80 phy-handle = <&ethphy0>;
81};
82
83&mdio0 {
84 ethphy0: ethphy@0 {
85 reg = <0>;
86 };
87};
88
89&eth1 {
90 status = "okay";
91 phy-handle = <&ethphy1>;
92};
93
94&mdio1 {
95 ethphy1: ethphy@0 {
96 reg = <0>;
97 };
98};
99
80&nand { 100&nand {
81 status = "okay"; 101 status = "okay";
82}; 102};
diff --git a/arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi b/arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi
index 234fc58cc599..7c8f710d9bfa 100644
--- a/arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi
+++ b/arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi
@@ -1,11 +1,9 @@
1/* 1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2 * Device Tree Source for UniPhier PXs3 SoC 2//
3 * 3// Device Tree Source for UniPhier PXs3 SoC
4 * Copyright (C) 2017 Socionext Inc. 4//
5 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 5// Copyright (C) 2017 Socionext Inc.
6 * 6// Author: Masahiro Yamada <yamada.masahiro@socionext.com>
7 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
8 */
9 7
10#include <dt-bindings/gpio/gpio.h> 8#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/gpio/uniphier-gpio.h> 9#include <dt-bindings/gpio/uniphier-gpio.h>
@@ -407,6 +405,42 @@
407 }; 405 };
408 }; 406 };
409 407
408 eth0: ethernet@65000000 {
409 compatible = "socionext,uniphier-pxs3-ave4";
410 status = "disabled";
411 reg = <0x65000000 0x8500>;
412 interrupts = <0 66 4>;
413 pinctrl-names = "default";
414 pinctrl-0 = <&pinctrl_ether_rgmii>;
415 clocks = <&sys_clk 6>;
416 resets = <&sys_rst 6>;
417 phy-mode = "rgmii";
418 local-mac-address = [00 00 00 00 00 00];
419
420 mdio0: mdio {
421 #address-cells = <1>;
422 #size-cells = <0>;
423 };
424 };
425
426 eth1: ethernet@65200000 {
427 compatible = "socionext,uniphier-pxs3-ave4";
428 status = "disabled";
429 reg = <0x65200000 0x8500>;
430 interrupts = <0 67 4>;
431 pinctrl-names = "default";
432 pinctrl-0 = <&pinctrl_ether1_rgmii>;
433 clocks = <&sys_clk 7>;
434 resets = <&sys_rst 7>;
435 phy-mode = "rgmii";
436 local-mac-address = [00 00 00 00 00 00];
437
438 mdio1: mdio {
439 #address-cells = <1>;
440 #size-cells = <0>;
441 };
442 };
443
410 nand: nand@68000000 { 444 nand: nand@68000000 {
411 compatible = "socionext,uniphier-denali-nand-v5b"; 445 compatible = "socionext,uniphier-denali-nand-v5b";
412 status = "disabled"; 446 status = "disabled";
diff --git a/arch/arm64/boot/dts/sprd/sc2731.dtsi b/arch/arm64/boot/dts/sprd/sc2731.dtsi
new file mode 100644
index 000000000000..4331006185bf
--- /dev/null
+++ b/arch/arm64/boot/dts/sprd/sc2731.dtsi
@@ -0,0 +1,169 @@
1/*
2 * Spreadtrum SC2731 PMIC dts file
3 *
4 * Copyright (C) 2018, Spreadtrum Communications Inc.
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */
8
9&adi_bus {
10 sc2731_pmic: pmic@0 {
11 compatible = "sprd,sc2731";
12 reg = <0>;
13 spi-max-frequency = <26000000>;
14 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
15 interrupt-controller;
16 #interrupt-cells = <2>;
17 #address-cells = <1>;
18 #size-cells = <0>;
19
20 rtc@280 {
21 compatible = "sprd,sc27xx-rtc", "sprd,sc2731-rtc";
22 reg = <0x280>;
23 interrupt-parent = <&sc2731_pmic>;
24 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
25 };
26
27 regulators {
28 compatible = "sprd,sc27xx-regulator";
29
30 vddarm0: BUCK_CPU0 {
31 regulator-name = "vddarm0";
32 regulator-min-microvolt = <400000>;
33 regulator-max-microvolt = <1996875>;
34 regulator-ramp-delay = <25000>;
35 regulator-always-on;
36 };
37
38 vddarm1: BUCK_CPU1 {
39 regulator-name = "vddarm1";
40 regulator-min-microvolt = <400000>;
41 regulator-max-microvolt = <1996875>;
42 regulator-ramp-delay = <25000>;
43 regulator-always-on;
44 };
45
46 dcdcrf: BUCK_RF {
47 regulator-name = "dcdcrf";
48 regulator-min-microvolt = <600000>;
49 regulator-max-microvolt = <2196875>;
50 regulator-ramp-delay = <25000>;
51 regulator-enable-ramp-delay = <100>;
52 regulator-always-on;
53 };
54
55 vddcama0: LDO_CAMA0 {
56 regulator-name = "vddcama0";
57 regulator-min-microvolt = <1200000>;
58 regulator-max-microvolt = <3750000>;
59 regulator-enable-ramp-delay = <100>;
60 };
61
62 vddcama1: LDO_CAMA1 {
63 regulator-name = "vddcama1";
64 regulator-min-microvolt = <1200000>;
65 regulator-max-microvolt = <3750000>;
66 regulator-enable-ramp-delay = <100>;
67 regulator-ramp-delay = <25000>;
68 };
69
70 vddcammot: LDO_CAMMOT {
71 regulator-name = "vddcammot";
72 regulator-min-microvolt = <1200000>;
73 regulator-max-microvolt = <3750000>;
74 regulator-enable-ramp-delay = <100>;
75 regulator-ramp-delay = <25000>;
76 };
77
78 vddvldo: LDO_VLDO {
79 regulator-name = "vddvldo";
80 regulator-min-microvolt = <1200000>;
81 regulator-max-microvolt = <3750000>;
82 regulator-enable-ramp-delay = <100>;
83 regulator-ramp-delay = <25000>;
84 };
85
86 vddemmccore: LDO_EMMCCORE {
87 regulator-name = "vddemmccore";
88 regulator-min-microvolt = <1200000>;
89 regulator-max-microvolt = <3750000>;
90 regulator-enable-ramp-delay = <100>;
91 regulator-ramp-delay = <25000>;
92 regulator-boot-on;
93 };
94
95 vddsdcore: LDO_SDCORE {
96 regulator-name = "vddsdcore";
97 regulator-min-microvolt = <1200000>;
98 regulator-max-microvolt = <3750000>;
99 regulator-enable-ramp-delay = <100>;
100 regulator-ramp-delay = <25000>;
101 };
102
103 vddsdio: LDO_SDIO {
104 regulator-name = "vddsdio";
105 regulator-min-microvolt = <1200000>;
106 regulator-max-microvolt = <3750000>;
107 regulator-enable-ramp-delay = <100>;
108 regulator-ramp-delay = <25000>;
109 };
110
111 vddwifipa: LDO_WIFIPA {
112 regulator-name = "vddwifipa";
113 regulator-min-microvolt = <1200000>;
114 regulator-max-microvolt = <3750000>;
115 regulator-enable-ramp-delay = <100>;
116 regulator-ramp-delay = <25000>;
117 };
118
119 vddusb33: LDO_USB33 {
120 regulator-name = "vddusb33";
121 regulator-min-microvolt = <1200000>;
122 regulator-max-microvolt = <3750000>;
123 regulator-enable-ramp-delay = <100>;
124 regulator-ramp-delay = <25000>;
125 };
126
127 vddcamd0: LDO_CAMD0 {
128 regulator-name = "vddcamd0";
129 regulator-min-microvolt = <1000000>;
130 regulator-max-microvolt = <1793750>;
131 regulator-enable-ramp-delay = <100>;
132 regulator-ramp-delay = <25000>;
133 };
134
135 vddcamd1: LDO_CAMD1 {
136 regulator-name = "vddcamd1";
137 regulator-min-microvolt = <1000000>;
138 regulator-max-microvolt = <1793750>;
139 regulator-enable-ramp-delay = <100>;
140 regulator-ramp-delay = <25000>;
141 };
142
143 vddcon: LDO_CON {
144 regulator-name = "vddcon";
145 regulator-min-microvolt = <1000000>;
146 regulator-max-microvolt = <1793750>;
147 regulator-enable-ramp-delay = <100>;
148 regulator-ramp-delay = <25000>;
149 };
150
151 vddcamio: LDO_CAMIO {
152 regulator-name = "vddcamio";
153 regulator-min-microvolt = <1000000>;
154 regulator-max-microvolt = <1793750>;
155 regulator-enable-ramp-delay = <100>;
156 regulator-ramp-delay = <25000>;
157 };
158
159 vddsram: LDO_SRAM {
160 regulator-name = "vddsram";
161 regulator-min-microvolt = <1000000>;
162 regulator-max-microvolt = <1793750>;
163 regulator-enable-ramp-delay = <100>;
164 regulator-ramp-delay = <25000>;
165 regulator-always-on;
166 };
167 };
168 };
169};
diff --git a/arch/arm64/boot/dts/sprd/sp9860g-1h10.dts b/arch/arm64/boot/dts/sprd/sp9860g-1h10.dts
index ae0b28ce6319..985ebb5d157e 100644
--- a/arch/arm64/boot/dts/sprd/sp9860g-1h10.dts
+++ b/arch/arm64/boot/dts/sprd/sp9860g-1h10.dts
@@ -9,6 +9,7 @@
9/dts-v1/; 9/dts-v1/;
10 10
11#include "sc9860.dtsi" 11#include "sc9860.dtsi"
12#include "sc2731.dtsi"
12 13
13/ { 14/ {
14 model = "Spreadtrum SP9860G 3GFHD Board"; 15 model = "Spreadtrum SP9860G 3GFHD Board";
@@ -20,6 +21,7 @@
20 serial1 = &uart1; /* UART console */ 21 serial1 = &uart1; /* UART console */
21 serial2 = &uart2; /* Reserved */ 22 serial2 = &uart2; /* Reserved */
22 serial3 = &uart3; /* for GPS */ 23 serial3 = &uart3; /* for GPS */
24 spi0 = &adi_bus;
23 }; 25 };
24 26
25 memory{ 27 memory{
diff --git a/arch/arm64/boot/dts/sprd/whale2.dtsi b/arch/arm64/boot/dts/sprd/whale2.dtsi
index 328009c4638c..66a881e6da92 100644
--- a/arch/arm64/boot/dts/sprd/whale2.dtsi
+++ b/arch/arm64/boot/dts/sprd/whale2.dtsi
@@ -6,6 +6,8 @@
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */ 7 */
8 8
9#include <dt-bindings/clock/sprd,sc9860-clk.h>
10
9/ { 11/ {
10 interrupt-parent = <&gic>; 12 interrupt-parent = <&gic>;
11 #address-cells = <2>; 13 #address-cells = <2>;
@@ -104,6 +106,85 @@
104 status = "disabled"; 106 status = "disabled";
105 }; 107 };
106 }; 108 };
109
110 ap-ahb {
111 compatible = "simple-bus";
112 #address-cells = <2>;
113 #size-cells = <2>;
114 ranges;
115
116 ap_dma: dma-controller@20100000 {
117 compatible = "sprd,sc9860-dma";
118 reg = <0 0x20100000 0 0x4000>;
119 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
120 #dma-cells = <1>;
121 #dma-channels = <32>;
122 clock-names = "enable";
123 clocks = <&apahb_gate CLK_DMA_EB>;
124 };
125 };
126
127 aon {
128 compatible = "simple-bus";
129 #address-cells = <2>;
130 #size-cells = <2>;
131 ranges;
132
133 adi_bus: spi@40030000 {
134 compatible = "sprd,sc9860-adi";
135 reg = <0 0x40030000 0 0x10000>;
136 hwlocks = <&hwlock 0>;
137 hwlock-names = "adi";
138 #address-cells = <1>;
139 #size-cells = <0>;
140 };
141
142 timer@40050000 {
143 compatible = "sprd,sc9860-timer";
144 reg = <0 0x40050000 0 0x20>;
145 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
146 clocks = <&ext_32k>;
147 };
148
149 hwlock: hwspinlock@40500000 {
150 compatible = "sprd,hwspinlock-r3p0";
151 reg = <0 0x40500000 0 0x1000>;
152 #hwlock-cells = <1>;
153 clock-names = "enable";
154 clocks = <&aon_gate CLK_SPLK_EB>;
155 };
156
157 pin_controller: pinctrl@402a0000 {
158 compatible = "sprd,sc9860-pinctrl";
159 reg = <0 0x402a0000 0 0x10000>;
160 };
161
162 watchdog@40310000 {
163 compatible = "sprd,sp9860-wdt";
164 reg = <0 0x40310000 0 0x1000>;
165 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
166 timeout-sec = <12>;
167 clock-names = "enable";
168 clocks = <&aon_gate CLK_APCPU_WDG_EB>;
169 };
170 };
171
172 agcp {
173 compatible = "simple-bus";
174 #address-cells = <2>;
175 #size-cells = <2>;
176 ranges;
177
178 agcp_dma: dma-controller@41580000 {
179 compatible = "sprd,sc9860-dma";
180 reg = <0 0x41580000 0 0x4000>;
181 #dma-cells = <1>;
182 #dma-channels = <32>;
183 clock-names = "enable", "ashb_eb";
184 clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>,
185 <&agcp_gate CLK_AGCP_AP_ASHB_EB>;
186 };
187 };
107 }; 188 };
108 189
109 ext_32k: ext_32k { 190 ext_32k: ext_32k {
diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile
index a2d67084a514..c2a0c00272e2 100644
--- a/arch/arm64/boot/dts/xilinx/Makefile
+++ b/arch/arm64/boot/dts/xilinx/Makefile
@@ -1 +1,17 @@
1# SPDX-License-Identifier: GPL-2.0
1dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-ep108.dtb 2dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-ep108.dtb
3dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1232-revA.dtb
4dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1254-revA.dtb
5dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1275-revA.dtb
6dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1751-xm015-dc1.dtb
7dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1751-xm016-dc2.dtb
8dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1751-xm017-dc3.dtb
9dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1751-xm018-dc4.dtb
10dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zc1751-xm019-dc5.dtb
11dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu100-revC.dtb
12dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revA.dtb
13dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revB.dtb
14dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0.dtb
15dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revA.dtb
16dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu106-revA.dtb
17dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu111-revA.dtb
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi
new file mode 100644
index 000000000000..9c09baca7dd7
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-clk.dtsi
@@ -0,0 +1,213 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Clock specification for Xilinx ZynqMP
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/ {
11 clk100: clk100 {
12 compatible = "fixed-clock";
13 #clock-cells = <0>;
14 clock-frequency = <100000000>;
15 };
16
17 clk125: clk125 {
18 compatible = "fixed-clock";
19 #clock-cells = <0>;
20 clock-frequency = <125000000>;
21 };
22
23 clk200: clk200 {
24 compatible = "fixed-clock";
25 #clock-cells = <0>;
26 clock-frequency = <200000000>;
27 };
28
29 clk250: clk250 {
30 compatible = "fixed-clock";
31 #clock-cells = <0>;
32 clock-frequency = <250000000>;
33 };
34
35 clk300: clk300 {
36 compatible = "fixed-clock";
37 #clock-cells = <0>;
38 clock-frequency = <300000000>;
39 };
40
41 clk600: clk600 {
42 compatible = "fixed-clock";
43 #clock-cells = <0>;
44 clock-frequency = <600000000>;
45 };
46
47 dp_aclk: clock0 {
48 compatible = "fixed-clock";
49 #clock-cells = <0>;
50 clock-frequency = <100000000>;
51 clock-accuracy = <100>;
52 };
53
54 dp_aud_clk: clock1 {
55 compatible = "fixed-clock";
56 #clock-cells = <0>;
57 clock-frequency = <24576000>;
58 clock-accuracy = <100>;
59 };
60
61 dpdma_clk: dpdma_clk {
62 compatible = "fixed-clock";
63 #clock-cells = <0x0>;
64 clock-frequency = <533000000>;
65 };
66
67 drm_clock: drm_clock {
68 compatible = "fixed-clock";
69 #clock-cells = <0x0>;
70 clock-frequency = <262750000>;
71 clock-accuracy = <0x64>;
72 };
73};
74
75&can0 {
76 clocks = <&clk100 &clk100>;
77};
78
79&can1 {
80 clocks = <&clk100 &clk100>;
81};
82
83&fpd_dma_chan1 {
84 clocks = <&clk600>, <&clk100>;
85};
86
87&fpd_dma_chan2 {
88 clocks = <&clk600>, <&clk100>;
89};
90
91&fpd_dma_chan3 {
92 clocks = <&clk600>, <&clk100>;
93};
94
95&fpd_dma_chan4 {
96 clocks = <&clk600>, <&clk100>;
97};
98
99&fpd_dma_chan5 {
100 clocks = <&clk600>, <&clk100>;
101};
102
103&fpd_dma_chan6 {
104 clocks = <&clk600>, <&clk100>;
105};
106
107&fpd_dma_chan7 {
108 clocks = <&clk600>, <&clk100>;
109};
110
111&fpd_dma_chan8 {
112 clocks = <&clk600>, <&clk100>;
113};
114
115&lpd_dma_chan1 {
116 clocks = <&clk600>, <&clk100>;
117};
118
119&lpd_dma_chan2 {
120 clocks = <&clk600>, <&clk100>;
121};
122
123&lpd_dma_chan3 {
124 clocks = <&clk600>, <&clk100>;
125};
126
127&lpd_dma_chan4 {
128 clocks = <&clk600>, <&clk100>;
129};
130
131&lpd_dma_chan5 {
132 clocks = <&clk600>, <&clk100>;
133};
134
135&lpd_dma_chan6 {
136 clocks = <&clk600>, <&clk100>;
137};
138
139&lpd_dma_chan7 {
140 clocks = <&clk600>, <&clk100>;
141};
142
143&lpd_dma_chan8 {
144 clocks = <&clk600>, <&clk100>;
145};
146
147&gem0 {
148 clocks = <&clk125>, <&clk125>, <&clk125>;
149};
150
151&gem1 {
152 clocks = <&clk125>, <&clk125>, <&clk125>;
153};
154
155&gem2 {
156 clocks = <&clk125>, <&clk125>, <&clk125>;
157};
158
159&gem3 {
160 clocks = <&clk125>, <&clk125>, <&clk125>;
161};
162
163&gpio {
164 clocks = <&clk100>;
165};
166
167&i2c0 {
168 clocks = <&clk100>;
169};
170
171&i2c1 {
172 clocks = <&clk100>;
173};
174
175&sata {
176 clocks = <&clk250>;
177};
178
179&sdhci0 {
180 clocks = <&clk200 &clk200>;
181};
182
183&sdhci1 {
184 clocks = <&clk200 &clk200>;
185};
186
187&spi0 {
188 clocks = <&clk200 &clk200>;
189};
190
191&spi1 {
192 clocks = <&clk200 &clk200>;
193};
194
195&uart0 {
196 clocks = <&clk100 &clk100>;
197};
198
199&uart1 {
200 clocks = <&clk100 &clk100>;
201};
202
203&usb0 {
204 clocks = <&clk250>, <&clk250>;
205};
206
207&usb1 {
208 clocks = <&clk250>, <&clk250>;
209};
210
211&watchdog0 {
212 clocks = <&clk250>;
213};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi
index b87b8316f4ac..9f5eedbc2139 100644
--- a/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-ep108-clk.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * clock specification for Xilinx ZynqMP ep108 development board 3 * clock specification for Xilinx ZynqMP ep108 development board
3 * 4 *
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts b/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts
index bf552674a834..4b0684911626 100644
--- a/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-ep108.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * dts file for Xilinx ZynqMP ep108 development board 3 * dts file for Xilinx ZynqMP ep108 development board
3 * 4 *
@@ -47,7 +48,7 @@
47 status = "okay"; 48 status = "okay";
48 phy-handle = <&phy0>; 49 phy-handle = <&phy0>;
49 phy-mode = "rgmii-id"; 50 phy-mode = "rgmii-id";
50 phy0: phy@0{ 51 phy0: phy@0 {
51 reg = <0>; 52 reg = <0>;
52 max-speed = <100>; 53 max-speed = <100>;
53 }; 54 };
@@ -78,10 +79,20 @@
78&sata { 79&sata {
79 status = "okay"; 80 status = "okay";
80 ceva,broken-gen2; 81 ceva,broken-gen2;
82 /* SATA Phy OOB timing settings */
83 ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
84 ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
85 ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
86 ceva,p0-retry-params = /bits/ 16 <0x0216 0x7F06>;
87 ceva,p1-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
88 ceva,p1-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
89 ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
90 ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>;
81}; 91};
82 92
83&sdhci0 { 93&sdhci0 {
84 status = "okay"; 94 status = "okay";
95 bus-width = <8>;
85}; 96};
86 97
87&sdhci1 { 98&sdhci1 {
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts
new file mode 100644
index 000000000000..0f7b4cf6078e
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1232-revA.dts
@@ -0,0 +1,54 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZC1232
4 *
5 * (C) Copyright 2017 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14
15/ {
16 model = "ZynqMP ZC1232 RevA";
17 compatible = "xlnx,zynqmp-zc1232-revA", "xlnx,zynqmp-zc1232", "xlnx,zynqmp";
18
19 aliases {
20 serial0 = &uart0;
21 serial1 = &dcc;
22 };
23
24 chosen {
25 bootargs = "earlycon";
26 stdout-path = "serial0:115200n8";
27 };
28
29 memory@0 {
30 device_type = "memory";
31 reg = <0x0 0x0 0x0 0x80000000>;
32 };
33};
34
35&dcc {
36 status = "okay";
37};
38
39&sata {
40 status = "okay";
41 /* SATA OOB timing settings */
42 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
43 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
44 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
45 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
46 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
47 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
48 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
49 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
50};
51
52&uart0 {
53 status = "okay";
54};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts
new file mode 100644
index 000000000000..9092828f92ec
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1254-revA.dts
@@ -0,0 +1,42 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZC1254
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 * Siva Durga Prasad Paladugu <sivadur@xilinx.com>
9 */
10
11/dts-v1/;
12
13#include "zynqmp.dtsi"
14#include "zynqmp-clk.dtsi"
15
16/ {
17 model = "ZynqMP ZC1254 RevA";
18 compatible = "xlnx,zynqmp-zc1254-revA", "xlnx,zynqmp-zc1254", "xlnx,zynqmp";
19
20 aliases {
21 serial0 = &uart0;
22 serial1 = &dcc;
23 };
24
25 chosen {
26 bootargs = "earlycon";
27 stdout-path = "serial0:115200n8";
28 };
29
30 memory@0 {
31 device_type = "memory";
32 reg = <0x0 0x0 0x0 0x80000000>;
33 };
34};
35
36&dcc {
37 status = "okay";
38};
39
40&uart0 {
41 status = "okay";
42};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts
new file mode 100644
index 000000000000..4f404c580eec
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1275-revA.dts
@@ -0,0 +1,42 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZC1275
4 *
5 * (C) Copyright 2017 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 * Siva Durga Prasad Paladugu <sivadur@xilinx.com>
9 */
10
11/dts-v1/;
12
13#include "zynqmp.dtsi"
14#include "zynqmp-clk.dtsi"
15
16/ {
17 model = "ZynqMP ZC1275 RevA";
18 compatible = "xlnx,zynqmp-zc1275-revA", "xlnx,zynqmp-zc1275", "xlnx,zynqmp";
19
20 aliases {
21 serial0 = &uart0;
22 serial1 = &dcc;
23 };
24
25 chosen {
26 bootargs = "earlycon";
27 stdout-path = "serial0:115200n8";
28 };
29
30 memory@0 {
31 device_type = "memory";
32 reg = <0x0 0x0 0x0 0x80000000>;
33 };
34};
35
36&dcc {
37 status = "okay";
38};
39
40&uart0 {
41 status = "okay";
42};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
new file mode 100644
index 000000000000..9a3e39d1294f
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm015-dc1.dts
@@ -0,0 +1,131 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP zc1751-xm015-dc1
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14#include <dt-bindings/gpio/gpio.h>
15
16/ {
17 model = "ZynqMP zc1751-xm015-dc1 RevA";
18 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
19
20 aliases {
21 ethernet0 = &gem3;
22 i2c0 = &i2c1;
23 mmc0 = &sdhci0;
24 mmc1 = &sdhci1;
25 rtc0 = &rtc;
26 serial0 = &uart0;
27 };
28
29 chosen {
30 bootargs = "earlycon";
31 stdout-path = "serial0:115200n8";
32 };
33
34 memory@0 {
35 device_type = "memory";
36 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
37 };
38};
39
40&fpd_dma_chan1 {
41 status = "okay";
42};
43
44&fpd_dma_chan2 {
45 status = "okay";
46};
47
48&fpd_dma_chan3 {
49 status = "okay";
50};
51
52&fpd_dma_chan4 {
53 status = "okay";
54};
55
56&fpd_dma_chan5 {
57 status = "okay";
58};
59
60&fpd_dma_chan6 {
61 status = "okay";
62};
63
64&fpd_dma_chan7 {
65 status = "okay";
66};
67
68&fpd_dma_chan8 {
69 status = "okay";
70};
71
72&gem3 {
73 status = "okay";
74 phy-handle = <&phy0>;
75 phy-mode = "rgmii-id";
76 phy0: phy@0 {
77 reg = <0>;
78 };
79};
80
81&gpio {
82 status = "okay";
83};
84
85
86&i2c1 {
87 status = "okay";
88 clock-frequency = <400000>;
89
90 eeprom: eeprom@55 {
91 compatible = "atmel,24c64"; /* 24AA64 */
92 reg = <0x55>;
93 };
94};
95
96&rtc {
97 status = "okay";
98};
99
100&sata {
101 status = "okay";
102 /* SATA phy OOB timing settings */
103 ceva,p0-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
104 ceva,p0-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
105 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
106 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
107 ceva,p1-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
108 ceva,p1-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
109 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
110 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
111};
112
113/* eMMC */
114&sdhci0 {
115 status = "okay";
116 bus-width = <8>;
117};
118
119/* SD1 with level shifter */
120&sdhci1 {
121 status = "okay";
122};
123
124&uart0 {
125 status = "okay";
126};
127
128/* ULPI SMSC USB3320 */
129&usb0 {
130 status = "okay";
131};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
new file mode 100644
index 000000000000..11cc67184fa9
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts
@@ -0,0 +1,168 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP zc1751-xm016-dc2
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14#include <dt-bindings/gpio/gpio.h>
15
16/ {
17 model = "ZynqMP zc1751-xm016-dc2 RevA";
18 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
19
20 aliases {
21 can0 = &can0;
22 can1 = &can1;
23 ethernet0 = &gem2;
24 i2c0 = &i2c0;
25 rtc0 = &rtc;
26 serial0 = &uart0;
27 serial1 = &uart1;
28 spi0 = &spi0;
29 spi1 = &spi1;
30 };
31
32 chosen {
33 bootargs = "earlycon";
34 stdout-path = "serial0:115200n8";
35 };
36
37 memory@0 {
38 device_type = "memory";
39 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
40 };
41};
42
43&can0 {
44 status = "okay";
45};
46
47&can1 {
48 status = "okay";
49};
50
51&fpd_dma_chan1 {
52 status = "okay";
53};
54
55&fpd_dma_chan2 {
56 status = "okay";
57};
58
59&fpd_dma_chan3 {
60 status = "okay";
61};
62
63&fpd_dma_chan4 {
64 status = "okay";
65};
66
67&fpd_dma_chan5 {
68 status = "okay";
69};
70
71&fpd_dma_chan6 {
72 status = "okay";
73};
74
75&fpd_dma_chan7 {
76 status = "okay";
77};
78
79&fpd_dma_chan8 {
80 status = "okay";
81};
82
83&gem2 {
84 status = "okay";
85 phy-handle = <&phy0>;
86 phy-mode = "rgmii-id";
87 phy0: phy@5 {
88 reg = <5>;
89 ti,rx-internal-delay = <0x8>;
90 ti,tx-internal-delay = <0xa>;
91 ti,fifo-depth = <0x1>;
92 };
93};
94
95&gpio {
96 status = "okay";
97};
98
99&i2c0 {
100 status = "okay";
101 clock-frequency = <400000>;
102
103 tca6416_u26: gpio@20 {
104 compatible = "ti,tca6416";
105 reg = <0x20>;
106 gpio-controller;
107 #gpio-cells = <2>;
108 /* IRQ not connected */
109 };
110
111 rtc@68 {
112 compatible = "dallas,ds1339";
113 reg = <0x68>;
114 };
115};
116
117&rtc {
118 status = "okay";
119};
120
121&spi0 {
122 status = "okay";
123 num-cs = <1>;
124
125 spi0_flash0: flash0@0 {
126 #address-cells = <1>;
127 #size-cells = <1>;
128 compatible = "sst,sst25wf080", "jedec,spi-nor";
129 spi-max-frequency = <50000000>;
130 reg = <0>;
131
132 partition@0 {
133 label = "data";
134 reg = <0x0 0x100000>;
135 };
136 };
137};
138
139&spi1 {
140 status = "okay";
141 num-cs = <1>;
142
143 spi1_flash0: flash0@0 {
144 #address-cells = <1>;
145 #size-cells = <1>;
146 compatible = "atmel,at45db041e", "atmel,at45", "atmel,dataflash";
147 spi-max-frequency = <20000000>;
148 reg = <0>;
149
150 partition@0 {
151 label = "data";
152 reg = <0x0 0x84000>;
153 };
154 };
155};
156
157/* ULPI SMSC USB3320 */
158&usb1 {
159 status = "okay";
160};
161
162&uart0 {
163 status = "okay";
164};
165
166&uart1 {
167 status = "okay";
168};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
new file mode 100644
index 000000000000..7a49deeae647
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm017-dc3.dts
@@ -0,0 +1,150 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP zc1751-xm017-dc3
4 *
5 * (C) Copyright 2016 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14
15/ {
16 model = "ZynqMP zc1751-xm017-dc3 RevA";
17 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
18
19 aliases {
20 ethernet0 = &gem0;
21 i2c0 = &i2c0;
22 i2c1 = &i2c1;
23 mmc0 = &sdhci1;
24 rtc0 = &rtc;
25 serial0 = &uart0;
26 serial1 = &uart1;
27 };
28
29 chosen {
30 bootargs = "earlycon";
31 stdout-path = "serial0:115200n8";
32 };
33
34 memory@0 {
35 device_type = "memory";
36 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
37 };
38};
39
40&fpd_dma_chan1 {
41 status = "okay";
42};
43
44&fpd_dma_chan2 {
45 status = "okay";
46};
47
48&fpd_dma_chan3 {
49 status = "okay";
50};
51
52&fpd_dma_chan4 {
53 status = "okay";
54};
55
56&fpd_dma_chan5 {
57 status = "okay";
58};
59
60&fpd_dma_chan6 {
61 status = "okay";
62};
63
64&fpd_dma_chan7 {
65 status = "okay";
66};
67
68&fpd_dma_chan8 {
69 status = "okay";
70};
71
72&gem0 {
73 status = "okay";
74 phy-handle = <&phy0>;
75 phy-mode = "rgmii-id";
76 phy0: phy@0 { /* VSC8211 */
77 reg = <0>;
78 };
79};
80
81&gpio {
82 status = "okay";
83};
84
85/* just eeprom here */
86&i2c0 {
87 status = "okay";
88 clock-frequency = <400000>;
89
90 tca6416_u26: gpio@20 {
91 compatible = "ti,tca6416";
92 reg = <0x20>;
93 gpio-controller;
94 #gpio-cells = <2>;
95 /* IRQ not connected */
96 };
97
98 rtc@68 {
99 compatible = "dallas,ds1339";
100 reg = <0x68>;
101 };
102};
103
104/* eeprom24c02 and SE98A temp chip pca9306 */
105&i2c1 {
106 status = "okay";
107 clock-frequency = <400000>;
108};
109
110&rtc {
111 status = "okay";
112};
113
114&sata {
115 status = "okay";
116 /* SATA phy OOB timing settings */
117 ceva,p0-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
118 ceva,p0-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
119 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
120 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
121 ceva,p1-cominit-params = /bits/ 8 <0x1B 0x4D 0x18 0x28>;
122 ceva,p1-comwake-params = /bits/ 8 <0x06 0x19 0x08 0x0E>;
123 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
124 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
125};
126
127&sdhci1 { /* emmc with some settings */
128 status = "okay";
129};
130
131/* main */
132&uart0 {
133 status = "okay";
134};
135
136/* DB9 */
137&uart1 {
138 status = "okay";
139};
140
141&usb0 {
142 status = "okay";
143 dr_mode = "host";
144};
145
146/* ULPI SMSC USB3320 */
147&usb1 {
148 status = "okay";
149 dr_mode = "host";
150};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts
new file mode 100644
index 000000000000..54c7b4f1d1e4
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm018-dc4.dts
@@ -0,0 +1,178 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP zc1751-xm018-dc4
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14
15/ {
16 model = "ZynqMP zc1751-xm018-dc4";
17 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
18
19 aliases {
20 ethernet0 = &gem0;
21 ethernet1 = &gem1;
22 ethernet2 = &gem2;
23 ethernet3 = &gem3;
24 i2c0 = &i2c0;
25 i2c1 = &i2c1;
26 rtc0 = &rtc;
27 serial0 = &uart0;
28 serial1 = &uart1;
29 };
30
31 chosen {
32 bootargs = "earlycon";
33 stdout-path = "serial0:115200n8";
34 };
35
36 memory@0 {
37 device_type = "memory";
38 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
39 };
40};
41
42&can0 {
43 status = "okay";
44};
45
46&can1 {
47 status = "okay";
48};
49
50&fpd_dma_chan1 {
51 status = "okay";
52};
53
54&fpd_dma_chan2 {
55 status = "okay";
56};
57
58&fpd_dma_chan3 {
59 status = "okay";
60};
61
62&fpd_dma_chan4 {
63 status = "okay";
64};
65
66&fpd_dma_chan5 {
67 status = "okay";
68};
69
70&fpd_dma_chan6 {
71 status = "okay";
72};
73
74&fpd_dma_chan7 {
75 status = "okay";
76};
77
78&fpd_dma_chan8 {
79 status = "okay";
80};
81
82&lpd_dma_chan1 {
83 status = "okay";
84};
85
86&lpd_dma_chan2 {
87 status = "okay";
88};
89
90&lpd_dma_chan3 {
91 status = "okay";
92};
93
94&lpd_dma_chan4 {
95 status = "okay";
96};
97
98&lpd_dma_chan5 {
99 status = "okay";
100};
101
102&lpd_dma_chan6 {
103 status = "okay";
104};
105
106&lpd_dma_chan7 {
107 status = "okay";
108};
109
110&lpd_dma_chan8 {
111 status = "okay";
112};
113
114&gem0 {
115 status = "okay";
116 phy-mode = "rgmii-id";
117 phy-handle = <&ethernet_phy0>;
118 ethernet_phy0: ethernet-phy@0 { /* Marvell 88e1512 */
119 reg = <0>;
120 };
121 ethernet_phy7: ethernet-phy@7 { /* Vitesse VSC8211 */
122 reg = <7>;
123 };
124 ethernet_phy3: ethernet-phy@3 { /* Realtek RTL8211DN */
125 reg = <3>;
126 };
127 ethernet_phy8: ethernet-phy@8 { /* Vitesse VSC8211 */
128 reg = <8>;
129 };
130};
131
132&gem1 {
133 status = "okay";
134 phy-mode = "rgmii-id";
135 phy-handle = <&ethernet_phy7>;
136};
137
138&gem2 {
139 status = "okay";
140 phy-mode = "rgmii-id";
141 phy-handle = <&ethernet_phy3>;
142};
143
144&gem3 {
145 status = "okay";
146 phy-mode = "rgmii-id";
147 phy-handle = <&ethernet_phy8>;
148};
149
150&gpio {
151 status = "okay";
152};
153
154&i2c0 {
155 clock-frequency = <400000>;
156 status = "okay";
157};
158
159&i2c1 {
160 clock-frequency = <400000>;
161 status = "okay";
162};
163
164&rtc {
165 status = "okay";
166};
167
168&uart0 {
169 status = "okay";
170};
171
172&uart1 {
173 status = "okay";
174};
175
176&watchdog0 {
177 status = "okay";
178};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm019-dc5.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm019-dc5.dts
new file mode 100644
index 000000000000..b8b5ff13818d
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm019-dc5.dts
@@ -0,0 +1,125 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP zc1751-xm019-dc5
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Siva Durga Prasad <siva.durga.paladugu@xilinx.com>
8 * Michal Simek <michal.simek@xilinx.com>
9 */
10
11/dts-v1/;
12
13#include "zynqmp.dtsi"
14#include "zynqmp-clk.dtsi"
15#include <dt-bindings/gpio/gpio.h>
16
17/ {
18 model = "ZynqMP zc1751-xm019-dc5 RevA";
19 compatible = "xlnx,zynqmp-zc1751", "xlnx,zynqmp";
20
21 aliases {
22 ethernet0 = &gem1;
23 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 mmc0 = &sdhci0;
26 serial0 = &uart0;
27 serial1 = &uart1;
28 };
29
30 chosen {
31 bootargs = "earlycon";
32 stdout-path = "serial0:115200n8";
33 };
34
35 memory@0 {
36 device_type = "memory";
37 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
38 };
39};
40
41&fpd_dma_chan1 {
42 status = "okay";
43};
44
45&fpd_dma_chan2 {
46 status = "okay";
47};
48
49&fpd_dma_chan3 {
50 status = "okay";
51};
52
53&fpd_dma_chan4 {
54 status = "okay";
55};
56
57&fpd_dma_chan5 {
58 status = "okay";
59};
60
61&fpd_dma_chan6 {
62 status = "okay";
63};
64
65&fpd_dma_chan7 {
66 status = "okay";
67};
68
69&fpd_dma_chan8 {
70 status = "okay";
71};
72
73&gem1 {
74 status = "okay";
75 phy-handle = <&phy0>;
76 phy-mode = "rgmii-id";
77 phy0: phy@0 {
78 reg = <0>;
79 };
80};
81
82&gpio {
83 status = "okay";
84};
85
86&i2c0 {
87 status = "okay";
88};
89
90&i2c1 {
91 status = "okay";
92};
93
94&sdhci0 {
95 status = "okay";
96 no-1-8-v;
97};
98
99&ttc0 {
100 status = "okay";
101};
102
103&ttc1 {
104 status = "okay";
105};
106
107&ttc2 {
108 status = "okay";
109};
110
111&ttc3 {
112 status = "okay";
113};
114
115&uart0 {
116 status = "okay";
117};
118
119&uart1 {
120 status = "okay";
121};
122
123&watchdog0 {
124 status = "okay";
125};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
new file mode 100644
index 000000000000..3e862a9faf26
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu100-revC.dts
@@ -0,0 +1,289 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU100 revC
4 *
5 * (C) Copyright 2016 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 * Nathalie Chan King Choy
9 */
10
11/dts-v1/;
12
13#include "zynqmp.dtsi"
14#include "zynqmp-clk.dtsi"
15#include <dt-bindings/input/input.h>
16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/gpio/gpio.h>
18
19/ {
20 model = "ZynqMP ZCU100 RevC";
21 compatible = "xlnx,zynqmp-zcu100-revC", "xlnx,zynqmp-zcu100", "xlnx,zynqmp";
22
23 aliases {
24 i2c0 = &i2c1;
25 rtc0 = &rtc;
26 serial0 = &uart1;
27 serial1 = &uart0;
28 serial2 = &dcc;
29 spi0 = &spi0;
30 spi1 = &spi1;
31 mmc0 = &sdhci0;
32 mmc1 = &sdhci1;
33 };
34
35 chosen {
36 bootargs = "earlycon";
37 stdout-path = "serial0:115200n8";
38 };
39
40 memory@0 {
41 device_type = "memory";
42 reg = <0x0 0x0 0x0 0x80000000>;
43 };
44
45 gpio-keys {
46 compatible = "gpio-keys";
47 #address-cells = <1>;
48 #size-cells = <0>;
49 autorepeat;
50 sw4 {
51 label = "sw4";
52 gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
53 linux,code = <KEY_POWER>;
54 gpio-key,wakeup;
55 autorepeat;
56 };
57 };
58
59 leds {
60 compatible = "gpio-leds";
61 ds2 {
62 label = "ds2";
63 gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
64 linux,default-trigger = "heartbeat";
65 };
66
67 ds3 {
68 label = "ds3";
69 gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
70 linux,default-trigger = "phy0tx"; /* WLAN tx */
71 default-state = "off";
72 };
73
74 ds4 {
75 label = "ds4";
76 gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
77 linux,default-trigger = "phy0rx"; /* WLAN rx */
78 default-state = "off";
79 };
80
81 ds5 {
82 label = "ds5";
83 gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
84 linux,default-trigger = "bluetooth-power";
85 };
86
87 vbus_det { /* U5 USB5744 VBUS detection via MIO25 */
88 label = "vbus_det";
89 gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
90 default-state = "on";
91 };
92
93 bt_power {
94 label = "bt_power";
95 gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
96 default-state = "on";
97 };
98 };
99
100 wmmcsdio_fixed: fixedregulator-mmcsdio {
101 compatible = "regulator-fixed";
102 regulator-name = "wmmcsdio_fixed";
103 regulator-min-microvolt = <3300000>;
104 regulator-max-microvolt = <3300000>;
105 regulator-always-on;
106 regulator-boot-on;
107 };
108
109 sdio_pwrseq: sdio_pwrseq {
110 compatible = "mmc-pwrseq-simple";
111 reset-gpios = <&gpio 7 GPIO_ACTIVE_LOW>; /* WIFI_EN */
112 };
113};
114
115&dcc {
116 status = "okay";
117};
118
119&gpio {
120 status = "okay";
121 gpio-line-names = "UART1_TX", "UART1_RX", "UART0_RX", "UART0_TX", "I2C1_SCL",
122 "I2C1_SDA", "SPI1_SCLK", "WLAN_EN", "BT_EN", "SPI1_CS",
123 "SPI1_MISO", "SPI1_MOSI", "I2C_MUX_RESET", "SD0_DAT0", "SD0_DAT1",
124 "SD0_DAT2", "SD0_DAT3", "PS_LED3", "PS_LED2", "PS_LED1",
125 "PS_LED0", "SD0_CMD", "SD0_CLK", "GPIO_PB", "SD0_DETECT",
126 "VBUS_DET", "POWER_INT", "DP_AUX", "DP_HPD", "DP_OE",
127 "DP_AUX_IN", "INA226_ALERT", "PS_FP_PWR_EN", "PL_PWR_EN", "POWER_KILL",
128 "", "GPIO-A", "GPIO-B", "SPI0_SCLK", "GPIO-C",
129 "GPIO-D", "SPI0_CS", "SPI0_MISO", "SPI_MOSI", "GPIO-E",
130 "GPIO-F", "SD1_D0", "SD1_D1", "SD1_D2", "SD1_D3",
131 "SD1_CMD", "SD1_CLK", "USB0_CLK", "USB0_DIR", "USB0_DATA2",
132 "USB0_NXT", "USB0_DATA0", "USB0_DATA1", "USB0_STP", "USB0_DATA3",
133 "USB0_DATA4", "USB0_DATA5", "USB0_DATA6", "USB0_DATA7", "USB1_CLK",
134 "USB1_DIR", "USB1_DATA2", "USB1_NXT", "USB1_DATA0", "USB1_DATA1",
135 "USB1_STP", "USB1_DATA3", "USB1_DATA4", "USB1_DATA5", "USB1_DATA6",
136 "USB_DATA7", "WLAN_IRQ", "PMIC_IRQ", /* MIO end and EMIO start */
137 "", "",
138 "", "", "", "", "", "", "", "", "", "",
139 "", "", "", "", "", "", "", "", "", "",
140 "", "", "", "", "", "", "", "", "", "",
141 "", "", "", "", "", "", "", "", "", "",
142 "", "", "", "", "", "", "", "", "", "",
143 "", "", "", "", "", "", "", "", "", "",
144 "", "", "", "", "", "", "", "", "", "",
145 "", "", "", "", "", "", "", "", "", "",
146 "", "", "", "", "", "", "", "", "", "",
147 "", "", "", "";
148};
149
150&i2c1 {
151 status = "okay";
152 clock-frequency = <100000>;
153 i2c-mux@75 { /* u11 */
154 compatible = "nxp,pca9548";
155 #address-cells = <1>;
156 #size-cells = <0>;
157 reg = <0x75>;
158 i2csw_0: i2c@0 {
159 #address-cells = <1>;
160 #size-cells = <0>;
161 reg = <0>;
162 label = "LS-I2C0";
163 };
164 i2csw_1: i2c@1 {
165 #address-cells = <1>;
166 #size-cells = <0>;
167 reg = <1>;
168 label = "LS-I2C1";
169 };
170 i2csw_2: i2c@2 {
171 #address-cells = <1>;
172 #size-cells = <0>;
173 reg = <2>;
174 label = "HS-I2C2";
175 };
176 i2csw_3: i2c@3 {
177 #address-cells = <1>;
178 #size-cells = <0>;
179 reg = <3>;
180 label = "HS-I2C3";
181 };
182 i2csw_4: i2c@4 {
183 #address-cells = <1>;
184 #size-cells = <0>;
185 reg = <0x4>;
186
187 pmic: pmic@5e { /* Custom TI PMIC u33 */
188 compatible = "ti,tps65086";
189 reg = <0x5e>;
190 interrupt-parent = <&gpio>;
191 interrupts = <77 GPIO_ACTIVE_LOW>;
192 #gpio-cells = <2>;
193 gpio-controller;
194 };
195 };
196 i2csw_5: i2c@5 {
197 #address-cells = <1>;
198 #size-cells = <0>;
199 reg = <5>;
200 /* PS_PMBUS */
201 ina226@40 { /* u35 */
202 compatible = "ti,ina226";
203 reg = <0x40>;
204 shunt-resistor = <10000>;
205 /* MIO31 is alert which should be routed to PMUFW */
206 };
207 };
208 i2csw_6: i2c@6 {
209 #address-cells = <1>;
210 #size-cells = <0>;
211 reg = <6>;
212 /*
213 * Not Connected
214 */
215 };
216 i2csw_7: i2c@7 {
217 #address-cells = <1>;
218 #size-cells = <0>;
219 reg = <7>;
220 /*
221 * usb5744 (DNP) - U5
222 * 100kHz - this is default freq for us
223 */
224 };
225 };
226};
227
228&rtc {
229 status = "okay";
230};
231
232/* SD0 only supports 3.3V, no level shifter */
233&sdhci0 {
234 status = "okay";
235 no-1-8-v;
236 broken-cd; /* CD has to be enabled by default */
237 disable-wp;
238};
239
240&sdhci1 {
241 status = "okay";
242 bus-width = <0x4>;
243 non-removable;
244 disable-wp;
245 cap-power-off-card;
246 mmc-pwrseq = <&sdio_pwrseq>;
247 vqmmc-supply = <&wmmcsdio_fixed>;
248 #address-cells = <1>;
249 #size-cells = <0>;
250 wlcore: wifi@2 {
251 compatible = "ti,wl1831";
252 reg = <2>;
253 interrupt-parent = <&gpio>;
254 interrupts = <76 IRQ_TYPE_EDGE_RISING>; /* MIO76 WLAN_IRQ 1V8 */
255 };
256};
257
258&spi0 { /* Low Speed connector */
259 status = "okay";
260 label = "LS-SPI0";
261};
262
263&spi1 { /* High Speed connector */
264 status = "okay";
265 label = "HS-SPI1";
266};
267
268&uart0 {
269 status = "okay";
270};
271
272&uart1 {
273 status = "okay";
274
275};
276
277/* ULPI SMSC USB3320 */
278&usb0 {
279 status = "okay";
280};
281
282/* ULPI SMSC USB3320 */
283&usb1 {
284 status = "okay";
285};
286
287&watchdog0 {
288 status = "okay";
289};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts
new file mode 100644
index 000000000000..6647e97edba3
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0.dts
@@ -0,0 +1,36 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU102 Rev1.0
4 *
5 * (C) Copyright 2016 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10#include "zynqmp-zcu102-revB.dts"
11
12/ {
13 model = "ZynqMP ZCU102 Rev1.0";
14 compatible = "xlnx,zynqmp-zcu102-rev1.0", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
15};
16
17&eeprom {
18 #address-cells = <1>;
19 #size-cells = <1>;
20
21 board_sn: board-sn@0 {
22 reg = <0x0 0x14>;
23 };
24
25 eth_mac: eth-mac@20 {
26 reg = <0x20 0x6>;
27 };
28
29 board_name: board-name@d0 {
30 reg = <0xd0 0x6>;
31 };
32
33 board_revision: board-revision@e0 {
34 reg = <0xe0 0x3>;
35 };
36};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
new file mode 100644
index 000000000000..5b4ffe646a9b
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts
@@ -0,0 +1,548 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU102 RevA
4 *
5 * (C) Copyright 2015 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/gpio/gpio.h>
16
17/ {
18 model = "ZynqMP ZCU102 RevA";
19 compatible = "xlnx,zynqmp-zcu102-revA", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
20
21 aliases {
22 ethernet0 = &gem3;
23 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 mmc0 = &sdhci1;
26 rtc0 = &rtc;
27 serial0 = &uart0;
28 serial1 = &uart1;
29 serial2 = &dcc;
30 };
31
32 chosen {
33 bootargs = "earlycon";
34 stdout-path = "serial0:115200n8";
35 };
36
37 memory@0 {
38 device_type = "memory";
39 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
40 };
41
42 gpio-keys {
43 compatible = "gpio-keys";
44 #address-cells = <1>;
45 #size-cells = <0>;
46 autorepeat;
47 sw19 {
48 label = "sw19";
49 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
50 linux,code = <KEY_DOWN>;
51 gpio-key,wakeup;
52 autorepeat;
53 };
54 };
55
56 leds {
57 compatible = "gpio-leds";
58 heartbeat_led {
59 label = "heartbeat";
60 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
61 linux,default-trigger = "heartbeat";
62 };
63 };
64};
65
66&can1 {
67 status = "okay";
68};
69
70&dcc {
71 status = "okay";
72};
73
74&fpd_dma_chan1 {
75 status = "okay";
76};
77
78&fpd_dma_chan2 {
79 status = "okay";
80};
81
82&fpd_dma_chan3 {
83 status = "okay";
84};
85
86&fpd_dma_chan4 {
87 status = "okay";
88};
89
90&fpd_dma_chan5 {
91 status = "okay";
92};
93
94&fpd_dma_chan6 {
95 status = "okay";
96};
97
98&fpd_dma_chan7 {
99 status = "okay";
100};
101
102&fpd_dma_chan8 {
103 status = "okay";
104};
105
106&gem3 {
107 status = "okay";
108 phy-handle = <&phy0>;
109 phy-mode = "rgmii-id";
110 phy0: phy@21 {
111 reg = <21>;
112 ti,rx-internal-delay = <0x8>;
113 ti,tx-internal-delay = <0xa>;
114 ti,fifo-depth = <0x1>;
115 };
116};
117
118&gpio {
119 status = "okay";
120};
121
122&i2c0 {
123 status = "okay";
124 clock-frequency = <400000>;
125
126 tca6416_u97: gpio@20 {
127 compatible = "ti,tca6416";
128 reg = <0x20>;
129 gpio-controller;
130 #gpio-cells = <2>;
131 /*
132 * IRQ not connected
133 * Lines:
134 * 0 - PS_GTR_LAN_SEL0
135 * 1 - PS_GTR_LAN_SEL1
136 * 2 - PS_GTR_LAN_SEL2
137 * 3 - PS_GTR_LAN_SEL3
138 * 4 - PCI_CLK_DIR_SEL
139 * 5 - IIC_MUX_RESET_B
140 * 6 - GEM3_EXP_RESET_B
141 * 7, 10 - 17 - not connected
142 */
143
144 gtr_sel0 {
145 gpio-hog;
146 gpios = <0 0>;
147 output-low; /* PCIE = 0, DP = 1 */
148 line-name = "sel0";
149 };
150 gtr_sel1 {
151 gpio-hog;
152 gpios = <1 0>;
153 output-high; /* PCIE = 0, DP = 1 */
154 line-name = "sel1";
155 };
156 gtr_sel2 {
157 gpio-hog;
158 gpios = <2 0>;
159 output-high; /* PCIE = 0, USB0 = 1 */
160 line-name = "sel2";
161 };
162 gtr_sel3 {
163 gpio-hog;
164 gpios = <3 0>;
165 output-high; /* PCIE = 0, SATA = 1 */
166 line-name = "sel3";
167 };
168 };
169
170 tca6416_u61: gpio@21 {
171 compatible = "ti,tca6416";
172 reg = <0x21>;
173 gpio-controller;
174 #gpio-cells = <2>;
175 /*
176 * IRQ not connected
177 * Lines:
178 * 0 - VCCPSPLL_EN
179 * 1 - MGTRAVCC_EN
180 * 2 - MGTRAVTT_EN
181 * 3 - VCCPSDDRPLL_EN
182 * 4 - MIO26_PMU_INPUT_LS
183 * 5 - PL_PMBUS_ALERT
184 * 6 - PS_PMBUS_ALERT
185 * 7 - MAXIM_PMBUS_ALERT
186 * 10 - PL_DDR4_VTERM_EN
187 * 11 - PL_DDR4_VPP_2V5_EN
188 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
189 * 13 - PS_DIMM_SUSPEND_EN
190 * 14 - PS_DDR4_VTERM_EN
191 * 15 - PS_DDR4_VPP_2V5_EN
192 * 16 - 17 - not connected
193 */
194 };
195
196 i2c-mux@75 { /* u60 */
197 compatible = "nxp,pca9544";
198 #address-cells = <1>;
199 #size-cells = <0>;
200 reg = <0x75>;
201 i2c@0 {
202 #address-cells = <1>;
203 #size-cells = <0>;
204 reg = <0>;
205 /* PS_PMBUS */
206 ina226@40 { /* u76 */
207 compatible = "ti,ina226";
208 reg = <0x40>;
209 shunt-resistor = <5000>;
210 };
211 ina226@41 { /* u77 */
212 compatible = "ti,ina226";
213 reg = <0x41>;
214 shunt-resistor = <5000>;
215 };
216 ina226@42 { /* u78 */
217 compatible = "ti,ina226";
218 reg = <0x42>;
219 shunt-resistor = <5000>;
220 };
221 ina226@43 { /* u87 */
222 compatible = "ti,ina226";
223 reg = <0x43>;
224 shunt-resistor = <5000>;
225 };
226 ina226@44 { /* u85 */
227 compatible = "ti,ina226";
228 reg = <0x44>;
229 shunt-resistor = <5000>;
230 };
231 ina226@45 { /* u86 */
232 compatible = "ti,ina226";
233 reg = <0x45>;
234 shunt-resistor = <5000>;
235 };
236 ina226@46 { /* u93 */
237 compatible = "ti,ina226";
238 reg = <0x46>;
239 shunt-resistor = <5000>;
240 };
241 ina226@47 { /* u88 */
242 compatible = "ti,ina226";
243 reg = <0x47>;
244 shunt-resistor = <5000>;
245 };
246 ina226@4a { /* u15 */
247 compatible = "ti,ina226";
248 reg = <0x4a>;
249 shunt-resistor = <5000>;
250 };
251 ina226@4b { /* u92 */
252 compatible = "ti,ina226";
253 reg = <0x4b>;
254 shunt-resistor = <5000>;
255 };
256 };
257 i2c@1 {
258 #address-cells = <1>;
259 #size-cells = <0>;
260 reg = <1>;
261 /* PL_PMBUS */
262 ina226@40 { /* u79 */
263 compatible = "ti,ina226";
264 reg = <0x40>;
265 shunt-resistor = <2000>;
266 };
267 ina226@41 { /* u81 */
268 compatible = "ti,ina226";
269 reg = <0x41>;
270 shunt-resistor = <5000>;
271 };
272 ina226@42 { /* u80 */
273 compatible = "ti,ina226";
274 reg = <0x42>;
275 shunt-resistor = <5000>;
276 };
277 ina226@43 { /* u84 */
278 compatible = "ti,ina226";
279 reg = <0x43>;
280 shunt-resistor = <5000>;
281 };
282 ina226@44 { /* u16 */
283 compatible = "ti,ina226";
284 reg = <0x44>;
285 shunt-resistor = <5000>;
286 };
287 ina226@45 { /* u65 */
288 compatible = "ti,ina226";
289 reg = <0x45>;
290 shunt-resistor = <5000>;
291 };
292 ina226@46 { /* u74 */
293 compatible = "ti,ina226";
294 reg = <0x46>;
295 shunt-resistor = <5000>;
296 };
297 ina226@47 { /* u75 */
298 compatible = "ti,ina226";
299 reg = <0x47>;
300 shunt-resistor = <5000>;
301 };
302 };
303 i2c@2 {
304 #address-cells = <1>;
305 #size-cells = <0>;
306 reg = <2>;
307 /* MAXIM_PMBUS - 00 */
308 max15301@a { /* u46 */
309 compatible = "maxim,max15301";
310 reg = <0xa>;
311 };
312 max15303@b { /* u4 */
313 compatible = "maxim,max15303";
314 reg = <0xb>;
315 };
316 max15303@10 { /* u13 */
317 compatible = "maxim,max15303";
318 reg = <0x10>;
319 };
320 max15301@13 { /* u47 */
321 compatible = "maxim,max15301";
322 reg = <0x13>;
323 };
324 max15303@14 { /* u7 */
325 compatible = "maxim,max15303";
326 reg = <0x14>;
327 };
328 max15303@15 { /* u6 */
329 compatible = "maxim,max15303";
330 reg = <0x15>;
331 };
332 max15303@16 { /* u10 */
333 compatible = "maxim,max15303";
334 reg = <0x16>;
335 };
336 max15303@17 { /* u9 */
337 compatible = "maxim,max15303";
338 reg = <0x17>;
339 };
340 max15301@18 { /* u63 */
341 compatible = "maxim,max15301";
342 reg = <0x18>;
343 };
344 max15303@1a { /* u49 */
345 compatible = "maxim,max15303";
346 reg = <0x1a>;
347 };
348 max15303@1d { /* u18 */
349 compatible = "maxim,max15303";
350 reg = <0x1d>;
351 };
352 max15303@20 { /* u8 */
353 compatible = "maxim,max15303";
354 status = "disabled"; /* unreachable */
355 reg = <0x20>;
356 };
357
358 max20751@72 { /* u95 */
359 compatible = "maxim,max20751";
360 reg = <0x72>;
361 };
362 max20751@73 { /* u96 */
363 compatible = "maxim,max20751";
364 reg = <0x73>;
365 };
366 };
367 /* Bus 3 is not connected */
368 };
369};
370
371&i2c1 {
372 status = "okay";
373 clock-frequency = <400000>;
374
375 /* PL i2c via PCA9306 - u45 */
376 i2c-mux@74 { /* u34 */
377 compatible = "nxp,pca9548";
378 #address-cells = <1>;
379 #size-cells = <0>;
380 reg = <0x74>;
381 i2c@0 {
382 #address-cells = <1>;
383 #size-cells = <0>;
384 reg = <0>;
385 /*
386 * IIC_EEPROM 1kB memory which uses 256B blocks
387 * where every block has different address.
388 * 0 - 256B address 0x54
389 * 256B - 512B address 0x55
390 * 512B - 768B address 0x56
391 * 768B - 1024B address 0x57
392 */
393 eeprom: eeprom@54 { /* u23 */
394 compatible = "atmel,24c08";
395 reg = <0x54>;
396 };
397 };
398 i2c@1 {
399 #address-cells = <1>;
400 #size-cells = <0>;
401 reg = <1>;
402 si5341: clock-generator@36 { /* SI5341 - u69 */
403 reg = <0x36>;
404 };
405
406 };
407 i2c@2 {
408 #address-cells = <1>;
409 #size-cells = <0>;
410 reg = <2>;
411 si570_1: clock-generator@5d { /* USER SI570 - u42 */
412 #clock-cells = <0>;
413 compatible = "silabs,si570";
414 reg = <0x5d>;
415 temperature-stability = <50>;
416 factory-fout = <300000000>;
417 clock-frequency = <300000000>;
418 };
419 };
420 i2c@3 {
421 #address-cells = <1>;
422 #size-cells = <0>;
423 reg = <3>;
424 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
425 #clock-cells = <0>;
426 compatible = "silabs,si570";
427 reg = <0x5d>;
428 temperature-stability = <50>; /* copy from zc702 */
429 factory-fout = <156250000>;
430 clock-frequency = <148500000>;
431 };
432 };
433 i2c@4 {
434 #address-cells = <1>;
435 #size-cells = <0>;
436 reg = <4>;
437 si5328: clock-generator@69 {/* SI5328 - u20 */
438 reg = <0x69>;
439 /*
440 * Chip has interrupt present connected to PL
441 * interrupt-parent = <&>;
442 * interrupts = <>;
443 */
444 };
445 };
446 /* 5 - 7 unconnected */
447 };
448
449 i2c-mux@75 {
450 compatible = "nxp,pca9548"; /* u135 */
451 #address-cells = <1>;
452 #size-cells = <0>;
453 reg = <0x75>;
454
455 i2c@0 {
456 #address-cells = <1>;
457 #size-cells = <0>;
458 reg = <0>;
459 /* HPC0_IIC */
460 };
461 i2c@1 {
462 #address-cells = <1>;
463 #size-cells = <0>;
464 reg = <1>;
465 /* HPC1_IIC */
466 };
467 i2c@2 {
468 #address-cells = <1>;
469 #size-cells = <0>;
470 reg = <2>;
471 /* SYSMON */
472 };
473 i2c@3 {
474 #address-cells = <1>;
475 #size-cells = <0>;
476 reg = <3>;
477 /* DDR4 SODIMM */
478 };
479 i2c@4 {
480 #address-cells = <1>;
481 #size-cells = <0>;
482 reg = <4>;
483 /* SEP 3 */
484 };
485 i2c@5 {
486 #address-cells = <1>;
487 #size-cells = <0>;
488 reg = <5>;
489 /* SEP 2 */
490 };
491 i2c@6 {
492 #address-cells = <1>;
493 #size-cells = <0>;
494 reg = <6>;
495 /* SEP 1 */
496 };
497 i2c@7 {
498 #address-cells = <1>;
499 #size-cells = <0>;
500 reg = <7>;
501 /* SEP 0 */
502 };
503 };
504};
505
506&pcie {
507 status = "okay";
508};
509
510&rtc {
511 status = "okay";
512};
513
514&sata {
515 status = "okay";
516 /* SATA OOB timing settings */
517 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
518 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
519 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
520 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
521 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
522 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
523 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
524 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
525};
526
527/* SD1 with level shifter */
528&sdhci1 {
529 status = "okay";
530 no-1-8-v;
531};
532
533&uart0 {
534 status = "okay";
535};
536
537&uart1 {
538 status = "okay";
539};
540
541/* ULPI SMSC USB3320 */
542&usb0 {
543 status = "okay";
544};
545
546&watchdog0 {
547 status = "okay";
548};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts
new file mode 100644
index 000000000000..af4d86882a5c
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts
@@ -0,0 +1,40 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU102 RevB
4 *
5 * (C) Copyright 2016 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10#include "zynqmp-zcu102-revA.dts"
11
12/ {
13 model = "ZynqMP ZCU102 RevB";
14 compatible = "xlnx,zynqmp-zcu102-revB", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";
15};
16
17&gem3 {
18 phy-handle = <&phyc>;
19 phyc: phy@c {
20 reg = <0xc>;
21 ti,rx-internal-delay = <0x8>;
22 ti,tx-internal-delay = <0xa>;
23 ti,fifo-depth = <0x1>;
24 };
25 /* Cleanup from RevA */
26 /delete-node/ phy@21;
27};
28
29/* Fix collision with u61 */
30&i2c0 {
31 i2c-mux@75 {
32 i2c@2 {
33 max15303@1b { /* u8 */
34 compatible = "maxim,max15303";
35 reg = <0x1b>;
36 };
37 /delete-node/ max15303@20;
38 };
39 };
40};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
new file mode 100644
index 000000000000..d4ad19a38c93
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts
@@ -0,0 +1,195 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU104
4 *
5 * (C) Copyright 2017 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14#include <dt-bindings/gpio/gpio.h>
15
16/ {
17 model = "ZynqMP ZCU104 RevA";
18 compatible = "xlnx,zynqmp-zcu104-revA", "xlnx,zynqmp-zcu104", "xlnx,zynqmp";
19
20 aliases {
21 ethernet0 = &gem3;
22 i2c0 = &i2c1;
23 mmc0 = &sdhci1;
24 rtc0 = &rtc;
25 serial0 = &uart0;
26 serial1 = &uart1;
27 serial2 = &dcc;
28 };
29
30 chosen {
31 bootargs = "earlycon";
32 stdout-path = "serial0:115200n8";
33 };
34
35 memory@0 {
36 device_type = "memory";
37 reg = <0x0 0x0 0x0 0x80000000>;
38 };
39};
40
41&can1 {
42 status = "okay";
43};
44
45&dcc {
46 status = "okay";
47};
48
49&gem3 {
50 status = "okay";
51 phy-handle = <&phy0>;
52 phy-mode = "rgmii-id";
53 phy0: phy@c {
54 reg = <0xc>;
55 ti,rx-internal-delay = <0x8>;
56 ti,tx-internal-delay = <0xa>;
57 ti,fifo-depth = <0x1>;
58 };
59};
60
61&gpio {
62 status = "okay";
63};
64
65&i2c1 {
66 status = "okay";
67 clock-frequency = <400000>;
68
69 /* Another connection to this bus via PL i2c via PCA9306 - u45 */
70 i2c-mux@74 { /* u34 */
71 compatible = "nxp,pca9548";
72 #address-cells = <1>;
73 #size-cells = <0>;
74 reg = <0x74>;
75 i2c@0 {
76 #address-cells = <1>;
77 #size-cells = <0>;
78 reg = <0>;
79 /*
80 * IIC_EEPROM 1kB memory which uses 256B blocks
81 * where every block has different address.
82 * 0 - 256B address 0x54
83 * 256B - 512B address 0x55
84 * 512B - 768B address 0x56
85 * 768B - 1024B address 0x57
86 */
87 eeprom@54 { /* u23 */
88 compatible = "atmel,24c08";
89 reg = <0x54>;
90 #address-cells = <1>;
91 #size-cells = <1>;
92 };
93 };
94
95 i2c@1 {
96 #address-cells = <1>;
97 #size-cells = <0>;
98 reg = <1>;
99 clock_8t49n287: clock-generator@6c { /* 8T49N287 - u182 */
100 reg = <0x6c>;
101 };
102 };
103
104 i2c@2 {
105 #address-cells = <1>;
106 #size-cells = <0>;
107 reg = <2>;
108 irps5401_43: irps54012@43 { /* IRPS5401 - u175 */
109 reg = <0x43>;
110 };
111 irps5401_4d: irps54012@4d { /* IRPS5401 - u180 */
112 reg = <0x4d>;
113 };
114 };
115
116 i2c@4 {
117 #address-cells = <1>;
118 #size-cells = <0>;
119 reg = <4>;
120 tca6416_u97: gpio@21 {
121 compatible = "ti,tca6416";
122 reg = <0x21>;
123 gpio-controller;
124 #gpio-cells = <2>;
125 /*
126 * IRQ not connected
127 * Lines:
128 * 0 - IRPS5401_ALERT_B
129 * 1 - HDMI_8T49N241_INT_ALM
130 * 2 - MAX6643_OT_B
131 * 3 - MAX6643_FANFAIL_B
132 * 5 - IIC_MUX_RESET_B
133 * 6 - GEM3_EXP_RESET_B
134 * 7 - FMC_LPC_PRSNT_M2C_B
135 * 4, 10 - 17 - not connected
136 */
137 };
138 };
139
140 i2c@5 {
141 #address-cells = <1>;
142 #size-cells = <0>;
143 reg = <5>;
144 };
145
146 i2c@7 {
147 #address-cells = <1>;
148 #size-cells = <0>;
149 reg = <7>;
150 };
151
152 /* 3, 6 not connected */
153 };
154};
155
156&rtc {
157 status = "okay";
158};
159
160&sata {
161 status = "okay";
162 /* SATA OOB timing settings */
163 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
164 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
165 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
166 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
167 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
168 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
169 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
170 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
171};
172
173/* SD1 with level shifter */
174&sdhci1 {
175 status = "okay";
176 no-1-8-v;
177 disable-wp;
178};
179
180&uart0 {
181 status = "okay";
182};
183
184&uart1 {
185 status = "okay";
186};
187
188/* ULPI SMSC USB3320 */
189&usb0 {
190 status = "okay";
191};
192
193&watchdog0 {
194 status = "okay";
195};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
new file mode 100644
index 000000000000..668f7f26716a
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts
@@ -0,0 +1,522 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU106
4 *
5 * (C) Copyright 2016, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/gpio/gpio.h>
16
17/ {
18 model = "ZynqMP ZCU106 RevA";
19 compatible = "xlnx,zynqmp-zcu106-revA", "xlnx,zynqmp-zcu106", "xlnx,zynqmp";
20
21 aliases {
22 ethernet0 = &gem3;
23 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 mmc0 = &sdhci1;
26 rtc0 = &rtc;
27 serial0 = &uart0;
28 serial1 = &uart1;
29 serial2 = &dcc;
30 };
31
32 chosen {
33 bootargs = "earlycon";
34 stdout-path = "serial0:115200n8";
35 };
36
37 memory@0 {
38 device_type = "memory";
39 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
40 };
41
42 gpio-keys {
43 compatible = "gpio-keys";
44 #address-cells = <1>;
45 #size-cells = <0>;
46 autorepeat;
47 sw19 {
48 label = "sw19";
49 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
50 linux,code = <KEY_DOWN>;
51 gpio-key,wakeup;
52 autorepeat;
53 };
54 };
55
56 leds {
57 compatible = "gpio-leds";
58 heartbeat_led {
59 label = "heartbeat";
60 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
61 linux,default-trigger = "heartbeat";
62 };
63 };
64};
65
66&can1 {
67 status = "okay";
68};
69
70&dcc {
71 status = "okay";
72};
73
74/* fpd_dma clk 667MHz, lpd_dma 500MHz */
75&fpd_dma_chan1 {
76 status = "okay";
77};
78
79&fpd_dma_chan2 {
80 status = "okay";
81};
82
83&fpd_dma_chan3 {
84 status = "okay";
85};
86
87&fpd_dma_chan4 {
88 status = "okay";
89};
90
91&fpd_dma_chan5 {
92 status = "okay";
93};
94
95&fpd_dma_chan6 {
96 status = "okay";
97};
98
99&fpd_dma_chan7 {
100 status = "okay";
101};
102
103&fpd_dma_chan8 {
104 status = "okay";
105};
106
107&gem3 {
108 status = "okay";
109 phy-handle = <&phy0>;
110 phy-mode = "rgmii-id";
111 phy0: phy@c {
112 reg = <0xc>;
113 ti,rx-internal-delay = <0x8>;
114 ti,tx-internal-delay = <0xa>;
115 ti,fifo-depth = <0x1>;
116 };
117};
118
119&gpio {
120 status = "okay";
121};
122
123&i2c0 {
124 status = "okay";
125 clock-frequency = <400000>;
126
127 tca6416_u97: gpio@20 {
128 compatible = "ti,tca6416";
129 reg = <0x20>;
130 gpio-controller; /* interrupt not connected */
131 #gpio-cells = <2>;
132 /*
133 * IRQ not connected
134 * Lines:
135 * 0 - SFP_SI5328_INT_ALM
136 * 1 - HDMI_SI5328_INT_ALM
137 * 5 - IIC_MUX_RESET_B
138 * 6 - GEM3_EXP_RESET_B
139 * 10 - FMC_HPC0_PRSNT_M2C_B
140 * 11 - FMC_HPC1_PRSNT_M2C_B
141 * 2-4, 7, 12-17 - not connected
142 */
143 };
144
145 tca6416_u61: gpio@21 {
146 compatible = "ti,tca6416";
147 reg = <0x21>;
148 gpio-controller;
149 #gpio-cells = <2>;
150 /*
151 * IRQ not connected
152 * Lines:
153 * 0 - VCCPSPLL_EN
154 * 1 - MGTRAVCC_EN
155 * 2 - MGTRAVTT_EN
156 * 3 - VCCPSDDRPLL_EN
157 * 4 - MIO26_PMU_INPUT_LS
158 * 5 - PL_PMBUS_ALERT
159 * 6 - PS_PMBUS_ALERT
160 * 7 - MAXIM_PMBUS_ALERT
161 * 10 - PL_DDR4_VTERM_EN
162 * 11 - PL_DDR4_VPP_2V5_EN
163 * 12 - PS_DIMM_VDDQ_TO_PSVCCO_ON
164 * 13 - PS_DIMM_SUSPEND_EN
165 * 14 - PS_DDR4_VTERM_EN
166 * 15 - PS_DDR4_VPP_2V5_EN
167 * 16 - 17 - not connected
168 */
169 };
170
171 i2c-mux@75 { /* u60 */
172 compatible = "nxp,pca9544";
173 #address-cells = <1>;
174 #size-cells = <0>;
175 reg = <0x75>;
176 i2c@0 {
177 #address-cells = <1>;
178 #size-cells = <0>;
179 reg = <0>;
180 /* PS_PMBUS */
181 ina226@40 { /* u76 */
182 compatible = "ti,ina226";
183 reg = <0x40>;
184 shunt-resistor = <5000>;
185 };
186 ina226@41 { /* u77 */
187 compatible = "ti,ina226";
188 reg = <0x41>;
189 shunt-resistor = <5000>;
190 };
191 ina226@42 { /* u78 */
192 compatible = "ti,ina226";
193 reg = <0x42>;
194 shunt-resistor = <5000>;
195 };
196 ina226@43 { /* u87 */
197 compatible = "ti,ina226";
198 reg = <0x43>;
199 shunt-resistor = <5000>;
200 };
201 ina226@44 { /* u85 */
202 compatible = "ti,ina226";
203 reg = <0x44>;
204 shunt-resistor = <5000>;
205 };
206 ina226@45 { /* u86 */
207 compatible = "ti,ina226";
208 reg = <0x45>;
209 shunt-resistor = <5000>;
210 };
211 ina226@46 { /* u93 */
212 compatible = "ti,ina226";
213 reg = <0x46>;
214 shunt-resistor = <5000>;
215 };
216 ina226@47 { /* u88 */
217 compatible = "ti,ina226";
218 reg = <0x47>;
219 shunt-resistor = <5000>;
220 };
221 ina226@4a { /* u15 */
222 compatible = "ti,ina226";
223 reg = <0x4a>;
224 shunt-resistor = <5000>;
225 };
226 ina226@4b { /* u92 */
227 compatible = "ti,ina226";
228 reg = <0x4b>;
229 shunt-resistor = <5000>;
230 };
231 };
232 i2c@1 {
233 #address-cells = <1>;
234 #size-cells = <0>;
235 reg = <1>;
236 /* PL_PMBUS */
237 ina226@40 { /* u79 */
238 compatible = "ti,ina226";
239 reg = <0x40>;
240 shunt-resistor = <2000>;
241 };
242 ina226@41 { /* u81 */
243 compatible = "ti,ina226";
244 reg = <0x41>;
245 shunt-resistor = <5000>;
246 };
247 ina226@42 { /* u80 */
248 compatible = "ti,ina226";
249 reg = <0x42>;
250 shunt-resistor = <5000>;
251 };
252 ina226@43 { /* u84 */
253 compatible = "ti,ina226";
254 reg = <0x43>;
255 shunt-resistor = <5000>;
256 };
257 ina226@44 { /* u16 */
258 compatible = "ti,ina226";
259 reg = <0x44>;
260 shunt-resistor = <5000>;
261 };
262 ina226@45 { /* u65 */
263 compatible = "ti,ina226";
264 reg = <0x45>;
265 shunt-resistor = <5000>;
266 };
267 ina226@46 { /* u74 */
268 compatible = "ti,ina226";
269 reg = <0x46>;
270 shunt-resistor = <5000>;
271 };
272 ina226@47 { /* u75 */
273 compatible = "ti,ina226";
274 reg = <0x47>;
275 shunt-resistor = <5000>;
276 };
277 };
278 i2c@2 {
279 #address-cells = <1>;
280 #size-cells = <0>;
281 reg = <2>;
282 /* MAXIM_PMBUS - 00 */
283 max15301@a { /* u46 */
284 compatible = "maxim,max15301";
285 reg = <0xa>;
286 };
287 max15303@b { /* u4 */
288 compatible = "maxim,max15303";
289 reg = <0xb>;
290 };
291 max15303@10 { /* u13 */
292 compatible = "maxim,max15303";
293 reg = <0x10>;
294 };
295 max15301@13 { /* u47 */
296 compatible = "maxim,max15301";
297 reg = <0x13>;
298 };
299 max15303@14 { /* u7 */
300 compatible = "maxim,max15303";
301 reg = <0x14>;
302 };
303 max15303@15 { /* u6 */
304 compatible = "maxim,max15303";
305 reg = <0x15>;
306 };
307 max15303@16 { /* u10 */
308 compatible = "maxim,max15303";
309 reg = <0x16>;
310 };
311 max15303@17 { /* u9 */
312 compatible = "maxim,max15303";
313 reg = <0x17>;
314 };
315 max15301@18 { /* u63 */
316 compatible = "maxim,max15301";
317 reg = <0x18>;
318 };
319 max15303@1a { /* u49 */
320 compatible = "maxim,max15303";
321 reg = <0x1a>;
322 };
323 max15303@1b { /* u8 */
324 compatible = "maxim,max15303";
325 reg = <0x1b>;
326 };
327 max15303@1d { /* u18 */
328 compatible = "maxim,max15303";
329 reg = <0x1d>;
330 };
331
332 max20751@72 { /* u95 */
333 compatible = "maxim,max20751";
334 reg = <0x72>;
335 };
336 max20751@73 { /* u96 */
337 compatible = "maxim,max20751";
338 reg = <0x73>;
339 };
340 };
341 /* Bus 3 is not connected */
342 };
343};
344
345&i2c1 {
346 status = "okay";
347 clock-frequency = <400000>;
348
349 /* PL i2c via PCA9306 - u45 */
350 i2c-mux@74 { /* u34 */
351 compatible = "nxp,pca9548";
352 #address-cells = <1>;
353 #size-cells = <0>;
354 reg = <0x74>;
355 i2c@0 {
356 #address-cells = <1>;
357 #size-cells = <0>;
358 reg = <0>;
359 /*
360 * IIC_EEPROM 1kB memory which uses 256B blocks
361 * where every block has different address.
362 * 0 - 256B address 0x54
363 * 256B - 512B address 0x55
364 * 512B - 768B address 0x56
365 * 768B - 1024B address 0x57
366 */
367 eeprom: eeprom@54 { /* u23 */
368 compatible = "atmel,24c08";
369 reg = <0x54>;
370 };
371 };
372 i2c@1 {
373 #address-cells = <1>;
374 #size-cells = <0>;
375 reg = <1>;
376 si5341: clock-generator@36 { /* SI5341 - u69 */
377 reg = <0x36>;
378 };
379
380 };
381 i2c@2 {
382 #address-cells = <1>;
383 #size-cells = <0>;
384 reg = <2>;
385 si570_1: clock-generator@5d { /* USER SI570 - u42 */
386 #clock-cells = <0>;
387 compatible = "silabs,si570";
388 reg = <0x5d>;
389 temperature-stability = <50>;
390 factory-fout = <300000000>;
391 clock-frequency = <300000000>;
392 };
393 };
394 i2c@3 {
395 #address-cells = <1>;
396 #size-cells = <0>;
397 reg = <3>;
398 si570_2: clock-generator@5d { /* USER MGT SI570 - u56 */
399 #clock-cells = <0>;
400 compatible = "silabs,si570";
401 reg = <0x5d>;
402 temperature-stability = <50>; /* copy from zc702 */
403 factory-fout = <156250000>;
404 clock-frequency = <148500000>;
405 };
406 };
407 i2c@4 {
408 #address-cells = <1>;
409 #size-cells = <0>;
410 reg = <4>;
411 si5328: clock-generator@69 {/* SI5328 - u20 */
412 reg = <0x69>;
413 };
414 };
415 i2c@5 {
416 #address-cells = <1>;
417 #size-cells = <0>;
418 reg = <5>; /* FAN controller */
419 temp@4c {/* lm96163 - u128 */
420 compatible = "national,lm96163";
421 reg = <0x4c>;
422 };
423 };
424 /* 6 - 7 unconnected */
425 };
426
427 i2c-mux@75 {
428 compatible = "nxp,pca9548"; /* u135 */
429 #address-cells = <1>;
430 #size-cells = <0>;
431 reg = <0x75>;
432
433 i2c@0 {
434 #address-cells = <1>;
435 #size-cells = <0>;
436 reg = <0>;
437 /* HPC0_IIC */
438 };
439 i2c@1 {
440 #address-cells = <1>;
441 #size-cells = <0>;
442 reg = <1>;
443 /* HPC1_IIC */
444 };
445 i2c@2 {
446 #address-cells = <1>;
447 #size-cells = <0>;
448 reg = <2>;
449 /* SYSMON */
450 };
451 i2c@3 {
452 #address-cells = <1>;
453 #size-cells = <0>;
454 reg = <3>;
455 /* DDR4 SODIMM */
456 };
457 i2c@4 {
458 #address-cells = <1>;
459 #size-cells = <0>;
460 reg = <4>;
461 /* SEP 3 */
462 };
463 i2c@5 {
464 #address-cells = <1>;
465 #size-cells = <0>;
466 reg = <5>;
467 /* SEP 2 */
468 };
469 i2c@6 {
470 #address-cells = <1>;
471 #size-cells = <0>;
472 reg = <6>;
473 /* SEP 1 */
474 };
475 i2c@7 {
476 #address-cells = <1>;
477 #size-cells = <0>;
478 reg = <7>;
479 /* SEP 0 */
480 };
481 };
482};
483
484&rtc {
485 status = "okay";
486};
487
488&sata {
489 status = "okay";
490 /* SATA OOB timing settings */
491 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
492 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
493 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
494 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
495 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
496 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
497 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
498 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
499};
500
501/* SD1 with level shifter */
502&sdhci1 {
503 status = "okay";
504 no-1-8-v;
505};
506
507&uart0 {
508 status = "okay";
509};
510
511&uart1 {
512 status = "okay";
513};
514
515/* ULPI SMSC USB3320 */
516&usb0 {
517 status = "okay";
518};
519
520&watchdog0 {
521 status = "okay";
522};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
new file mode 100644
index 000000000000..9a9dd6a0142b
--- /dev/null
+++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts
@@ -0,0 +1,444 @@
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * dts file for Xilinx ZynqMP ZCU111
4 *
5 * (C) Copyright 2017 - 2018, Xilinx, Inc.
6 *
7 * Michal Simek <michal.simek@xilinx.com>
8 */
9
10/dts-v1/;
11
12#include "zynqmp.dtsi"
13#include "zynqmp-clk.dtsi"
14#include <dt-bindings/input/input.h>
15#include <dt-bindings/gpio/gpio.h>
16
17/ {
18 model = "ZynqMP ZCU111 RevA";
19 compatible = "xlnx,zynqmp-zcu111-revA", "xlnx,zynqmp-zcu111", "xlnx,zynqmp";
20
21 aliases {
22 ethernet0 = &gem3;
23 i2c0 = &i2c0;
24 i2c1 = &i2c1;
25 mmc0 = &sdhci1;
26 rtc0 = &rtc;
27 serial0 = &uart0;
28 serial1 = &dcc;
29 };
30
31 chosen {
32 bootargs = "earlycon";
33 stdout-path = "serial0:115200n8";
34 };
35
36 memory@0 {
37 device_type = "memory";
38 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
39 /* Another 4GB connected to PL */
40 };
41
42 gpio-keys {
43 compatible = "gpio-keys";
44 #address-cells = <1>;
45 #size-cells = <0>;
46 autorepeat;
47 sw19 {
48 label = "sw19";
49 gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
50 linux,code = <KEY_DOWN>;
51 gpio-key,wakeup;
52 autorepeat;
53 };
54 };
55
56 leds {
57 compatible = "gpio-leds";
58 heartbeat_led {
59 label = "heartbeat";
60 gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
61 linux,default-trigger = "heartbeat";
62 };
63 };
64};
65
66&dcc {
67 status = "okay";
68};
69
70&fpd_dma_chan1 {
71 status = "okay";
72};
73
74&fpd_dma_chan2 {
75 status = "okay";
76};
77
78&fpd_dma_chan3 {
79 status = "okay";
80};
81
82&fpd_dma_chan4 {
83 status = "okay";
84};
85
86&fpd_dma_chan5 {
87 status = "okay";
88};
89
90&fpd_dma_chan6 {
91 status = "okay";
92};
93
94&fpd_dma_chan7 {
95 status = "okay";
96};
97
98&fpd_dma_chan8 {
99 status = "okay";
100};
101
102&gem3 {
103 status = "okay";
104 phy-handle = <&phy0>;
105 phy-mode = "rgmii-id";
106 phy0: phy@c {
107 reg = <0xc>;
108 ti,rx-internal-delay = <0x8>;
109 ti,tx-internal-delay = <0xa>;
110 ti,fifo-depth = <0x1>;
111 };
112};
113
114&gpio {
115 status = "okay";
116};
117
118&i2c0 {
119 status = "okay";
120 clock-frequency = <400000>;
121
122 tca6416_u22: gpio@20 {
123 compatible = "ti,tca6416";
124 reg = <0x20>;
125 gpio-controller; /* interrupt not connected */
126 #gpio-cells = <2>;
127 /*
128 * IRQ not connected
129 * Lines:
130 * 0 - MAX6643_OT_B
131 * 1 - MAX6643_FANFAIL_B
132 * 2 - MIO26_PMU_INPUT_LS
133 * 4 - SFP_SI5382_INT_ALM
134 * 5 - IIC_MUX_RESET_B
135 * 6 - GEM3_EXP_RESET_B
136 * 10 - FMCP_HSPC_PRSNT_M2C_B
137 * 11 - CLK_SPI_MUX_SEL0
138 * 12 - CLK_SPI_MUX_SEL1
139 * 16 - IRPS5401_ALERT_B
140 * 17 - INA226_PMBUS_ALERT
141 * 3, 7, 13-15 - not connected
142 */
143 };
144
145 i2c-mux@75 { /* u23 */
146 compatible = "nxp,pca9544";
147 #address-cells = <1>;
148 #size-cells = <0>;
149 reg = <0x75>;
150 i2c@0 {
151 #address-cells = <1>;
152 #size-cells = <0>;
153 reg = <0>;
154 /* PS_PMBUS */
155 /* PMBUS_ALERT done via pca9544 */
156 ina226@40 { /* u67 */
157 compatible = "ti,ina226";
158 reg = <0x40>;
159 shunt-resistor = <2000>;
160 };
161 ina226@41 { /* u59 */
162 compatible = "ti,ina226";
163 reg = <0x41>;
164 shunt-resistor = <5000>;
165 };
166 ina226@42 { /* u61 */
167 compatible = "ti,ina226";
168 reg = <0x42>;
169 shunt-resistor = <5000>;
170 };
171 ina226@43 { /* u60 */
172 compatible = "ti,ina226";
173 reg = <0x43>;
174 shunt-resistor = <5000>;
175 };
176 ina226@45 { /* u64 */
177 compatible = "ti,ina226";
178 reg = <0x45>;
179 shunt-resistor = <5000>;
180 };
181 ina226@46 { /* u69 */
182 compatible = "ti,ina226";
183 reg = <0x46>;
184 shunt-resistor = <2000>;
185 };
186 ina226@47 { /* u66 */
187 compatible = "ti,ina226";
188 reg = <0x47>;
189 shunt-resistor = <5000>;
190 };
191 ina226@48 { /* u65 */
192 compatible = "ti,ina226";
193 reg = <0x48>;
194 shunt-resistor = <5000>;
195 };
196 ina226@49 { /* u63 */
197 compatible = "ti,ina226";
198 reg = <0x49>;
199 shunt-resistor = <5000>;
200 };
201 ina226@4a { /* u3 */
202 compatible = "ti,ina226";
203 reg = <0x4a>;
204 shunt-resistor = <5000>;
205 };
206 ina226@4b { /* u71 */
207 compatible = "ti,ina226";
208 reg = <0x4b>;
209 shunt-resistor = <5000>;
210 };
211 ina226@4c { /* u77 */
212 compatible = "ti,ina226";
213 reg = <0x4c>;
214 shunt-resistor = <5000>;
215 };
216 ina226@4d { /* u73 */
217 compatible = "ti,ina226";
218 reg = <0x4d>;
219 shunt-resistor = <5000>;
220 };
221 ina226@4e { /* u79 */
222 compatible = "ti,ina226";
223 reg = <0x4e>;
224 shunt-resistor = <5000>;
225 };
226 };
227 i2c@1 {
228 #address-cells = <1>;
229 #size-cells = <0>;
230 reg = <1>;
231 /* NC */
232 };
233 i2c@2 {
234 #address-cells = <1>;
235 #size-cells = <0>;
236 reg = <2>;
237 irps5401_43: irps54012@43 { /* IRPS5401 - u53 check these */
238 reg = <0x43>;
239 };
240 irps5401_44: irps54012@44 { /* IRPS5401 - u55 */
241 reg = <0x44>;
242 };
243 irps5401_45: irps54012@45 { /* IRPS5401 - u57 */
244 reg = <0x45>;
245 };
246 /* u68 IR38064 +0 */
247 /* u70 IR38060 +1 */
248 /* u74 IR38060 +2 */
249 /* u75 IR38060 +6 */
250 /* J19 header too */
251
252 };
253 i2c@3 {
254 #address-cells = <1>;
255 #size-cells = <0>;
256 reg = <3>;
257 /* SYSMON */
258 };
259 };
260};
261
262&i2c1 {
263 status = "okay";
264 clock-frequency = <400000>;
265
266 i2c-mux@74 { /* u26 */
267 compatible = "nxp,pca9548";
268 #address-cells = <1>;
269 #size-cells = <0>;
270 reg = <0x74>;
271 i2c@0 {
272 #address-cells = <1>;
273 #size-cells = <0>;
274 reg = <0>;
275 /*
276 * IIC_EEPROM 1kB memory which uses 256B blocks
277 * where every block has different address.
278 * 0 - 256B address 0x54
279 * 256B - 512B address 0x55
280 * 512B - 768B address 0x56
281 * 768B - 1024B address 0x57
282 */
283 eeprom: eeprom@54 { /* u88 */
284 compatible = "atmel,24c08";
285 reg = <0x54>;
286 };
287 };
288 i2c@1 {
289 #address-cells = <1>;
290 #size-cells = <0>;
291 reg = <1>;
292 si5341: clock-generator@36 { /* SI5341 - u46 */
293 reg = <0x36>;
294 };
295
296 };
297 i2c@2 {
298 #address-cells = <1>;
299 #size-cells = <0>;
300 reg = <2>;
301 si570_1: clock-generator@5d { /* USER SI570 - u47 */
302 #clock-cells = <0>;
303 compatible = "silabs,si570";
304 reg = <0x5d>;
305 temperature-stability = <50>;
306 factory-fout = <300000000>;
307 clock-frequency = <300000000>;
308 };
309 };
310 i2c@3 {
311 #address-cells = <1>;
312 #size-cells = <0>;
313 reg = <3>;
314 si570_2: clock-generator@5d { /* USER MGT SI570 - u49 */
315 #clock-cells = <0>;
316 compatible = "silabs,si570";
317 reg = <0x5d>;
318 temperature-stability = <50>;
319 factory-fout = <156250000>;
320 clock-frequency = <148500000>;
321 };
322 };
323 i2c@4 {
324 #address-cells = <1>;
325 #size-cells = <0>;
326 reg = <4>;
327 si5328: clock-generator@69 { /* SI5328 - u48 */
328 reg = <0x69>;
329 };
330 };
331 i2c@5 {
332 #address-cells = <1>;
333 #size-cells = <0>;
334 reg = <5>;
335 sc18is603@2f { /* sc18is602 - u93 */
336 compatible = "nxp,sc18is603";
337 reg = <0x2f>;
338 /* 4 gpios for CS not handled by driver */
339 /*
340 * USB2ANY cable or
341 * LMK04208 - u90 or
342 * LMX2594 - u102 or
343 * LMX2594 - u103 or
344 * LMX2594 - u104
345 */
346 };
347 };
348 i2c@6 {
349 #address-cells = <1>;
350 #size-cells = <0>;
351 reg = <6>;
352 /* FMC connector */
353 };
354 /* 7 NC */
355 };
356
357 i2c-mux@75 {
358 compatible = "nxp,pca9548"; /* u27 */
359 #address-cells = <1>;
360 #size-cells = <0>;
361 reg = <0x75>;
362
363 i2c@0 {
364 #address-cells = <1>;
365 #size-cells = <0>;
366 reg = <0>;
367 /* FMCP_HSPC_IIC */
368 };
369 i2c@1 {
370 #address-cells = <1>;
371 #size-cells = <0>;
372 reg = <1>;
373 /* NC */
374 };
375 i2c@2 {
376 #address-cells = <1>;
377 #size-cells = <0>;
378 reg = <2>;
379 /* SYSMON */
380 };
381 i2c@3 {
382 #address-cells = <1>;
383 #size-cells = <0>;
384 reg = <3>;
385 /* DDR4 SODIMM */
386 };
387 i2c@4 {
388 #address-cells = <1>;
389 #size-cells = <0>;
390 reg = <4>;
391 /* SFP3 */
392 };
393 i2c@5 {
394 #address-cells = <1>;
395 #size-cells = <0>;
396 reg = <5>;
397 /* SFP2 */
398 };
399 i2c@6 {
400 #address-cells = <1>;
401 #size-cells = <0>;
402 reg = <6>;
403 /* SFP1 */
404 };
405 i2c@7 {
406 #address-cells = <1>;
407 #size-cells = <0>;
408 reg = <7>;
409 /* SFP0 */
410 };
411 };
412};
413
414&rtc {
415 status = "okay";
416};
417
418&sata {
419 status = "okay";
420 /* SATA OOB timing settings */
421 ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
422 ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
423 ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
424 ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
425 ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;
426 ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;
427 ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;
428 ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;
429};
430
431/* SD1 with level shifter */
432&sdhci1 {
433 status = "okay";
434 no-1-8-v;
435};
436
437&uart0 {
438 status = "okay";
439};
440
441/* ULPI SMSC USB3320 */
442&usb0 {
443 status = "okay";
444};
diff --git a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
index 7665fbddff28..a091e6f03014 100644
--- a/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
+++ b/arch/arm64/boot/dts/xilinx/zynqmp.dtsi
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * dts file for Xilinx ZynqMP 3 * dts file for Xilinx ZynqMP
3 * 4 *
@@ -355,7 +356,7 @@
355 }; 356 };
356 357
357 gem0: ethernet@ff0b0000 { 358 gem0: ethernet@ff0b0000 {
358 compatible = "cdns,gem"; 359 compatible = "cdns,zynqmp-gem", "cdns,gem";
359 status = "disabled"; 360 status = "disabled";
360 interrupt-parent = <&gic>; 361 interrupt-parent = <&gic>;
361 interrupts = <0 57 4>, <0 57 4>; 362 interrupts = <0 57 4>, <0 57 4>;
@@ -366,7 +367,7 @@
366 }; 367 };
367 368
368 gem1: ethernet@ff0c0000 { 369 gem1: ethernet@ff0c0000 {
369 compatible = "cdns,gem"; 370 compatible = "cdns,zynqmp-gem", "cdns,gem";
370 status = "disabled"; 371 status = "disabled";
371 interrupt-parent = <&gic>; 372 interrupt-parent = <&gic>;
372 interrupts = <0 59 4>, <0 59 4>; 373 interrupts = <0 59 4>, <0 59 4>;
@@ -377,7 +378,7 @@
377 }; 378 };
378 379
379 gem2: ethernet@ff0d0000 { 380 gem2: ethernet@ff0d0000 {
380 compatible = "cdns,gem"; 381 compatible = "cdns,zynqmp-gem", "cdns,gem";
381 status = "disabled"; 382 status = "disabled";
382 interrupt-parent = <&gic>; 383 interrupt-parent = <&gic>;
383 interrupts = <0 61 4>, <0 61 4>; 384 interrupts = <0 61 4>, <0 61 4>;
@@ -388,7 +389,7 @@
388 }; 389 };
389 390
390 gem3: ethernet@ff0e0000 { 391 gem3: ethernet@ff0e0000 {
391 compatible = "cdns,gem"; 392 compatible = "cdns,zynqmp-gem", "cdns,gem";
392 status = "disabled"; 393 status = "disabled";
393 interrupt-parent = <&gic>; 394 interrupt-parent = <&gic>;
394 interrupts = <0 63 4>, <0 63 4>; 395 interrupts = <0 63 4>, <0 63 4>;
@@ -439,10 +440,10 @@
439 device_type = "pci"; 440 device_type = "pci";
440 interrupt-parent = <&gic>; 441 interrupt-parent = <&gic>;
441 interrupts = <0 118 4>, 442 interrupts = <0 118 4>,
442 <0 117 4>, 443 <0 117 4>,
443 <0 116 4>, 444 <0 116 4>,
444 <0 115 4>, /* MSI_1 [63...32] */ 445 <0 115 4>, /* MSI_1 [63...32] */
445 <0 114 4>; /* MSI_0 [31...0] */ 446 <0 114 4>; /* MSI_0 [31...0] */
446 interrupt-names = "misc", "dummy", "intx", 447 interrupt-names = "misc", "dummy", "intx",
447 "msi1", "msi0"; 448 "msi1", "msi0";
448 msi-parent = <&pcie>; 449 msi-parent = <&pcie>;
diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
index 80dc211eb74b..617beb234259 100644
--- a/drivers/clk/imx/clk-imx7d.c
+++ b/drivers/clk/imx/clk-imx7d.c
@@ -795,6 +795,8 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node)
795 clks[IMX7D_DRAM_PHYM_ALT_ROOT_CLK] = imx_clk_gate4("dram_phym_alt_root_clk", "dram_phym_alt_post_div", base + 0x4130, 0); 795 clks[IMX7D_DRAM_PHYM_ALT_ROOT_CLK] = imx_clk_gate4("dram_phym_alt_root_clk", "dram_phym_alt_post_div", base + 0x4130, 0);
796 clks[IMX7D_DRAM_ALT_ROOT_CLK] = imx_clk_gate4("dram_alt_root_clk", "dram_alt_post_div", base + 0x4130, 0); 796 clks[IMX7D_DRAM_ALT_ROOT_CLK] = imx_clk_gate4("dram_alt_root_clk", "dram_alt_post_div", base + 0x4130, 0);
797 clks[IMX7D_OCOTP_CLK] = imx_clk_gate4("ocotp_clk", "ipg_root_clk", base + 0x4230, 0); 797 clks[IMX7D_OCOTP_CLK] = imx_clk_gate4("ocotp_clk", "ipg_root_clk", base + 0x4230, 0);
798 clks[IMX7D_SNVS_CLK] = imx_clk_gate4("snvs_clk", "ipg_root_clk", base + 0x4250, 0);
799 clks[IMX7D_CAAM_CLK] = imx_clk_gate4("caam_clk", "ipg_root_clk", base + 0x4240, 0);
798 clks[IMX7D_USB_HSIC_ROOT_CLK] = imx_clk_gate4("usb_hsic_root_clk", "usb_hsic_post_div", base + 0x4420, 0); 800 clks[IMX7D_USB_HSIC_ROOT_CLK] = imx_clk_gate4("usb_hsic_root_clk", "usb_hsic_post_div", base + 0x4420, 0);
799 clks[IMX7D_SDMA_CORE_CLK] = imx_clk_gate4("sdma_root_clk", "ahb_root_clk", base + 0x4480, 0); 801 clks[IMX7D_SDMA_CORE_CLK] = imx_clk_gate4("sdma_root_clk", "ahb_root_clk", base + 0x4480, 0);
800 clks[IMX7D_PCIE_CTRL_ROOT_CLK] = imx_clk_gate4("pcie_ctrl_root_clk", "pcie_ctrl_post_div", base + 0x4600, 0); 802 clks[IMX7D_PCIE_CTRL_ROOT_CLK] = imx_clk_gate4("pcie_ctrl_root_clk", "pcie_ctrl_post_div", base + 0x4600, 0);
@@ -857,6 +859,7 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node)
857 clks[IMX7D_WDOG2_ROOT_CLK] = imx_clk_gate4("wdog2_root_clk", "wdog_post_div", base + 0x49d0, 0); 859 clks[IMX7D_WDOG2_ROOT_CLK] = imx_clk_gate4("wdog2_root_clk", "wdog_post_div", base + 0x49d0, 0);
858 clks[IMX7D_WDOG3_ROOT_CLK] = imx_clk_gate4("wdog3_root_clk", "wdog_post_div", base + 0x49e0, 0); 860 clks[IMX7D_WDOG3_ROOT_CLK] = imx_clk_gate4("wdog3_root_clk", "wdog_post_div", base + 0x49e0, 0);
859 clks[IMX7D_WDOG4_ROOT_CLK] = imx_clk_gate4("wdog4_root_clk", "wdog_post_div", base + 0x49f0, 0); 861 clks[IMX7D_WDOG4_ROOT_CLK] = imx_clk_gate4("wdog4_root_clk", "wdog_post_div", base + 0x49f0, 0);
862 clks[IMX7D_KPP_ROOT_CLK] = imx_clk_gate4("kpp_root_clk", "ipg_root_clk", base + 0x4aa0, 0);
860 clks[IMX7D_CSI_MCLK_ROOT_CLK] = imx_clk_gate4("csi_mclk_root_clk", "csi_mclk_post_div", base + 0x4490, 0); 863 clks[IMX7D_CSI_MCLK_ROOT_CLK] = imx_clk_gate4("csi_mclk_root_clk", "csi_mclk_post_div", base + 0x4490, 0);
861 clks[IMX7D_AUDIO_MCLK_ROOT_CLK] = imx_clk_gate4("audio_mclk_root_clk", "audio_mclk_post_div", base + 0x4790, 0); 864 clks[IMX7D_AUDIO_MCLK_ROOT_CLK] = imx_clk_gate4("audio_mclk_root_clk", "audio_mclk_post_div", base + 0x4790, 0);
862 clks[IMX7D_WRCLK_ROOT_CLK] = imx_clk_gate4("wrclk_root_clk", "wrclk_post_div", base + 0x47a0, 0); 865 clks[IMX7D_WRCLK_ROOT_CLK] = imx_clk_gate4("wrclk_root_clk", "wrclk_post_div", base + 0x47a0, 0);
diff --git a/drivers/soc/amlogic/meson-gx-socinfo.c b/drivers/soc/amlogic/meson-gx-socinfo.c
index f2d8c3c53ea4..8bdaa9b43d49 100644
--- a/drivers/soc/amlogic/meson-gx-socinfo.c
+++ b/drivers/soc/amlogic/meson-gx-socinfo.c
@@ -41,6 +41,7 @@ static const struct meson_gx_package_id {
41 unsigned int pack_id; 41 unsigned int pack_id;
42} soc_packages[] = { 42} soc_packages[] = {
43 { "S905", 0x1f, 0 }, 43 { "S905", 0x1f, 0 },
44 { "S905H", 0x1f, 0x13 },
44 { "S905M", 0x1f, 0x20 }, 45 { "S905M", 0x1f, 0x20 },
45 { "S905D", 0x21, 0 }, 46 { "S905D", 0x21, 0 },
46 { "S905X", 0x21, 0x80 }, 47 { "S905X", 0x21, 0x80 },
diff --git a/include/dt-bindings/clock/imx7d-clock.h b/include/dt-bindings/clock/imx7d-clock.h
index e2f99ae72d5c..b2325d3e236a 100644
--- a/include/dt-bindings/clock/imx7d-clock.h
+++ b/include/dt-bindings/clock/imx7d-clock.h
@@ -452,5 +452,8 @@
452#define IMX7D_OCOTP_CLK 439 452#define IMX7D_OCOTP_CLK 439
453#define IMX7D_NAND_RAWNAND_CLK 440 453#define IMX7D_NAND_RAWNAND_CLK 440
454#define IMX7D_NAND_USDHC_BUS_RAWNAND_CLK 441 454#define IMX7D_NAND_USDHC_BUS_RAWNAND_CLK 441
455#define IMX7D_CLK_END 442 455#define IMX7D_SNVS_CLK 442
456#define IMX7D_CAAM_CLK 443
457#define IMX7D_KPP_ROOT_CLK 444
458#define IMX7D_CLK_END 445
456#endif /* __DT_BINDINGS_CLOCK_IMX7D_H */ 459#endif /* __DT_BINDINGS_CLOCK_IMX7D_H */
diff --git a/include/dt-bindings/clock/tegra194-clock.h b/include/dt-bindings/clock/tegra194-clock.h
new file mode 100644
index 000000000000..a2ff66342d69
--- /dev/null
+++ b/include/dt-bindings/clock/tegra194-clock.h
@@ -0,0 +1,321 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. */
3
4#ifndef __ABI_MACH_T194_CLOCK_H
5#define __ABI_MACH_T194_CLOCK_H
6
7#define TEGRA194_CLK_ACTMON 1
8#define TEGRA194_CLK_ADSP 2
9#define TEGRA194_CLK_ADSPNEON 3
10#define TEGRA194_CLK_AHUB 4
11#define TEGRA194_CLK_APB2APE 5
12#define TEGRA194_CLK_APE 6
13#define TEGRA194_CLK_AUD_MCLK 7
14#define TEGRA194_CLK_AXI_CBB 8
15#define TEGRA194_CLK_CAN1 9
16#define TEGRA194_CLK_CAN1_HOST 10
17#define TEGRA194_CLK_CAN2 11
18#define TEGRA194_CLK_CAN2_HOST 12
19#define TEGRA194_CLK_CEC 13
20#define TEGRA194_CLK_CLK_M 14
21#define TEGRA194_CLK_DMIC1 15
22#define TEGRA194_CLK_DMIC2 16
23#define TEGRA194_CLK_DMIC3 17
24#define TEGRA194_CLK_DMIC4 18
25#define TEGRA194_CLK_DPAUX 19
26#define TEGRA194_CLK_DPAUX1 20
27#define TEGRA194_CLK_ACLK 21
28#define TEGRA194_CLK_MSS_ENCRYPT 22
29#define TEGRA194_CLK_EQOS_RX_INPUT 23
30#define TEGRA194_CLK_IQC2 24
31#define TEGRA194_CLK_AON_APB 25
32#define TEGRA194_CLK_AON_NIC 26
33#define TEGRA194_CLK_AON_CPU_NIC 27
34#define TEGRA194_CLK_PLLA1 28
35#define TEGRA194_CLK_DSPK1 29
36#define TEGRA194_CLK_DSPK2 30
37#define TEGRA194_CLK_EMC 31
38#define TEGRA194_CLK_EQOS_AXI 32
39#define TEGRA194_CLK_EQOS_PTP_REF 33
40#define TEGRA194_CLK_EQOS_RX 34
41#define TEGRA194_CLK_EQOS_TX 35
42#define TEGRA194_CLK_EXTPERIPH1 36
43#define TEGRA194_CLK_EXTPERIPH2 37
44#define TEGRA194_CLK_EXTPERIPH3 38
45#define TEGRA194_CLK_EXTPERIPH4 39
46#define TEGRA194_CLK_FUSE 40
47#define TEGRA194_CLK_GPCCLK 41
48#define TEGRA194_CLK_GPU_PWR 42
49#define TEGRA194_CLK_HDA 43
50#define TEGRA194_CLK_HDA2CODEC_2X 44
51#define TEGRA194_CLK_HDA2HDMICODEC 45
52#define TEGRA194_CLK_HOST1X 46
53#define TEGRA194_CLK_HSIC_TRK 47
54#define TEGRA194_CLK_I2C1 48
55#define TEGRA194_CLK_I2C2 49
56#define TEGRA194_CLK_I2C3 50
57#define TEGRA194_CLK_I2C4 51
58#define TEGRA194_CLK_I2C6 52
59#define TEGRA194_CLK_I2C7 53
60#define TEGRA194_CLK_I2C8 54
61#define TEGRA194_CLK_I2C9 55
62#define TEGRA194_CLK_I2S1 56
63#define TEGRA194_CLK_I2S1_SYNC_INPUT 57
64#define TEGRA194_CLK_I2S2 58
65#define TEGRA194_CLK_I2S2_SYNC_INPUT 59
66#define TEGRA194_CLK_I2S3 60
67#define TEGRA194_CLK_I2S3_SYNC_INPUT 61
68#define TEGRA194_CLK_I2S4 62
69#define TEGRA194_CLK_I2S4_SYNC_INPUT 63
70#define TEGRA194_CLK_I2S5 64
71#define TEGRA194_CLK_I2S5_SYNC_INPUT 65
72#define TEGRA194_CLK_I2S6 66
73#define TEGRA194_CLK_I2S6_SYNC_INPUT 67
74#define TEGRA194_CLK_IQC1 68
75#define TEGRA194_CLK_ISP 69
76#define TEGRA194_CLK_KFUSE 70
77#define TEGRA194_CLK_MAUD 71
78#define TEGRA194_CLK_MIPI_CAL 72
79#define TEGRA194_CLK_MPHY_CORE_PLL_FIXED 73
80#define TEGRA194_CLK_MPHY_L0_RX_ANA 74
81#define TEGRA194_CLK_MPHY_L0_RX_LS_BIT 75
82#define TEGRA194_CLK_MPHY_L0_RX_SYMB 76
83#define TEGRA194_CLK_MPHY_L0_TX_LS_3XBIT 77
84#define TEGRA194_CLK_MPHY_L0_TX_SYMB 78
85#define TEGRA194_CLK_MPHY_L1_RX_ANA 79
86#define TEGRA194_CLK_MPHY_TX_1MHZ_REF 80
87#define TEGRA194_CLK_NVCSI 81
88#define TEGRA194_CLK_NVCSILP 82
89#define TEGRA194_CLK_NVDEC 83
90#define TEGRA194_CLK_NVDISPLAYHUB 84
91#define TEGRA194_CLK_NVDISPLAY_DISP 85
92#define TEGRA194_CLK_NVDISPLAY_P0 86
93#define TEGRA194_CLK_NVDISPLAY_P1 87
94#define TEGRA194_CLK_NVDISPLAY_P2 88
95#define TEGRA194_CLK_NVENC 89
96#define TEGRA194_CLK_NVJPG 90
97#define TEGRA194_CLK_OSC 91
98#define TEGRA194_CLK_AON_TOUCH 92
99#define TEGRA194_CLK_PLLA 93
100#define TEGRA194_CLK_PLLAON 94
101#define TEGRA194_CLK_PLLD 95
102#define TEGRA194_CLK_PLLD2 96
103#define TEGRA194_CLK_PLLD3 97
104#define TEGRA194_CLK_PLLDP 98
105#define TEGRA194_CLK_PLLD4 99
106#define TEGRA194_CLK_PLLE 100
107#define TEGRA194_CLK_PLLP 101
108#define TEGRA194_CLK_PLLP_OUT0 102
109#define TEGRA194_CLK_UTMIPLL 103
110#define TEGRA194_CLK_PLLA_OUT0 104
111#define TEGRA194_CLK_PWM1 105
112#define TEGRA194_CLK_PWM2 106
113#define TEGRA194_CLK_PWM3 107
114#define TEGRA194_CLK_PWM4 108
115#define TEGRA194_CLK_PWM5 109
116#define TEGRA194_CLK_PWM6 110
117#define TEGRA194_CLK_PWM7 111
118#define TEGRA194_CLK_PWM8 112
119#define TEGRA194_CLK_RCE_CPU_NIC 113
120#define TEGRA194_CLK_RCE_NIC 114
121#define TEGRA194_CLK_SATA 115
122#define TEGRA194_CLK_SATA_OOB 116
123#define TEGRA194_CLK_AON_I2C_SLOW 117
124#define TEGRA194_CLK_SCE_CPU_NIC 118
125#define TEGRA194_CLK_SCE_NIC 119
126#define TEGRA194_CLK_SDMMC1 120
127#define TEGRA194_CLK_UPHY_PLL3 121
128#define TEGRA194_CLK_SDMMC3 122
129#define TEGRA194_CLK_SDMMC4 123
130#define TEGRA194_CLK_SE 124
131#define TEGRA194_CLK_SOR0_OUT 125
132#define TEGRA194_CLK_SOR0_REF 126
133#define TEGRA194_CLK_SOR0_PAD_CLKOUT 127
134#define TEGRA194_CLK_SOR1_OUT 128
135#define TEGRA194_CLK_SOR1_REF 129
136#define TEGRA194_CLK_SOR1_PAD_CLKOUT 130
137#define TEGRA194_CLK_SOR_SAFE 131
138#define TEGRA194_CLK_IQC1_IN 132
139#define TEGRA194_CLK_IQC2_IN 133
140#define TEGRA194_CLK_DMIC5 134
141#define TEGRA194_CLK_SPI1 135
142#define TEGRA194_CLK_SPI2 136
143#define TEGRA194_CLK_SPI3 137
144#define TEGRA194_CLK_I2C_SLOW 138
145#define TEGRA194_CLK_SYNC_DMIC1 139
146#define TEGRA194_CLK_SYNC_DMIC2 140
147#define TEGRA194_CLK_SYNC_DMIC3 141
148#define TEGRA194_CLK_SYNC_DMIC4 142
149#define TEGRA194_CLK_SYNC_DSPK1 143
150#define TEGRA194_CLK_SYNC_DSPK2 144
151#define TEGRA194_CLK_SYNC_I2S1 145
152#define TEGRA194_CLK_SYNC_I2S2 146
153#define TEGRA194_CLK_SYNC_I2S3 147
154#define TEGRA194_CLK_SYNC_I2S4 148
155#define TEGRA194_CLK_SYNC_I2S5 149
156#define TEGRA194_CLK_SYNC_I2S6 150
157#define TEGRA194_CLK_MPHY_FORCE_LS_MODE 151
158#define TEGRA194_CLK_TACH 152
159#define TEGRA194_CLK_TSEC 153
160#define TEGRA194_CLK_TSECB 154
161#define TEGRA194_CLK_UARTA 155
162#define TEGRA194_CLK_UARTB 156
163#define TEGRA194_CLK_UARTC 157
164#define TEGRA194_CLK_UARTD 158
165#define TEGRA194_CLK_UARTE 159
166#define TEGRA194_CLK_UARTF 160
167#define TEGRA194_CLK_UARTG 161
168#define TEGRA194_CLK_UART_FST_MIPI_CAL 162
169#define TEGRA194_CLK_UFSDEV_REF 163
170#define TEGRA194_CLK_UFSHC 164
171#define TEGRA194_CLK_USB2_TRK 165
172#define TEGRA194_CLK_VI 166
173#define TEGRA194_CLK_VIC 167
174#define TEGRA194_CLK_PVA0_AXI 168
175#define TEGRA194_CLK_PVA0_VPS0 169
176#define TEGRA194_CLK_PVA0_VPS1 170
177#define TEGRA194_CLK_PVA1_AXI 171
178#define TEGRA194_CLK_PVA1_VPS0 172
179#define TEGRA194_CLK_PVA1_VPS1 173
180#define TEGRA194_CLK_DLA0_FALCON 174
181#define TEGRA194_CLK_DLA0_CORE 175
182#define TEGRA194_CLK_DLA1_FALCON 176
183#define TEGRA194_CLK_DLA1_CORE 177
184#define TEGRA194_CLK_SOR2_OUT 178
185#define TEGRA194_CLK_SOR2_REF 179
186#define TEGRA194_CLK_SOR2_PAD_CLKOUT 180
187#define TEGRA194_CLK_SOR3_OUT 181
188#define TEGRA194_CLK_SOR3_REF 182
189#define TEGRA194_CLK_SOR3_PAD_CLKOUT 183
190#define TEGRA194_CLK_NVDISPLAY_P3 184
191#define TEGRA194_CLK_DPAUX2 185
192#define TEGRA194_CLK_DPAUX3 186
193#define TEGRA194_CLK_NVDEC1 187
194#define TEGRA194_CLK_NVENC1 188
195#define TEGRA194_CLK_SE_FREE 189
196#define TEGRA194_CLK_UARTH 190
197#define TEGRA194_CLK_FUSE_SERIAL 191
198#define TEGRA194_CLK_QSPI0 192
199#define TEGRA194_CLK_QSPI1 193
200#define TEGRA194_CLK_QSPI0_PM 194
201#define TEGRA194_CLK_QSPI1_PM 195
202#define TEGRA194_CLK_VI_CONST 196
203#define TEGRA194_CLK_NAFLL_BPMP 197
204#define TEGRA194_CLK_NAFLL_SCE 198
205#define TEGRA194_CLK_NAFLL_NVDEC 199
206#define TEGRA194_CLK_NAFLL_NVJPG 200
207#define TEGRA194_CLK_NAFLL_TSEC 201
208#define TEGRA194_CLK_NAFLL_TSECB 202
209#define TEGRA194_CLK_NAFLL_VI 203
210#define TEGRA194_CLK_NAFLL_SE 204
211#define TEGRA194_CLK_NAFLL_NVENC 205
212#define TEGRA194_CLK_NAFLL_ISP 206
213#define TEGRA194_CLK_NAFLL_VIC 207
214#define TEGRA194_CLK_NAFLL_NVDISPLAYHUB 208
215#define TEGRA194_CLK_NAFLL_AXICBB 209
216#define TEGRA194_CLK_NAFLL_DLA 210
217#define TEGRA194_CLK_NAFLL_PVA_CORE 211
218#define TEGRA194_CLK_NAFLL_PVA_VPS 212
219#define TEGRA194_CLK_NAFLL_CVNAS 213
220#define TEGRA194_CLK_NAFLL_RCE 214
221#define TEGRA194_CLK_NAFLL_NVENC1 215
222#define TEGRA194_CLK_NAFLL_DLA_FALCON 216
223#define TEGRA194_CLK_NAFLL_NVDEC1 217
224#define TEGRA194_CLK_NAFLL_GPU 218
225#define TEGRA194_CLK_SDMMC_LEGACY_TM 219
226#define TEGRA194_CLK_PEX0_CORE_0 220
227#define TEGRA194_CLK_PEX0_CORE_1 221
228#define TEGRA194_CLK_PEX0_CORE_2 222
229#define TEGRA194_CLK_PEX0_CORE_3 223
230#define TEGRA194_CLK_PEX0_CORE_4 224
231#define TEGRA194_CLK_PEX1_CORE_5 225
232#define TEGRA194_CLK_PEX_REF1 226
233#define TEGRA194_CLK_PEX_REF2 227
234#define TEGRA194_CLK_CSI_A 229
235#define TEGRA194_CLK_CSI_B 230
236#define TEGRA194_CLK_CSI_C 231
237#define TEGRA194_CLK_CSI_D 232
238#define TEGRA194_CLK_CSI_E 233
239#define TEGRA194_CLK_CSI_F 234
240#define TEGRA194_CLK_CSI_G 235
241#define TEGRA194_CLK_CSI_H 236
242#define TEGRA194_CLK_PLLC4 237
243#define TEGRA194_CLK_PLLC4_OUT 238
244#define TEGRA194_CLK_PLLC4_OUT1 239
245#define TEGRA194_CLK_PLLC4_OUT2 240
246#define TEGRA194_CLK_PLLC4_MUXED 241
247#define TEGRA194_CLK_PLLC4_VCO_DIV2 242
248#define TEGRA194_CLK_CSI_A_PAD 244
249#define TEGRA194_CLK_CSI_B_PAD 245
250#define TEGRA194_CLK_CSI_C_PAD 246
251#define TEGRA194_CLK_CSI_D_PAD 247
252#define TEGRA194_CLK_CSI_E_PAD 248
253#define TEGRA194_CLK_CSI_F_PAD 249
254#define TEGRA194_CLK_CSI_G_PAD 250
255#define TEGRA194_CLK_CSI_H_PAD 251
256#define TEGRA194_CLK_PEX_SATA_USB_RX_BYP 254
257#define TEGRA194_CLK_PEX_USB_PAD_PLL0_MGMT 255
258#define TEGRA194_CLK_PEX_USB_PAD_PLL1_MGMT 256
259#define TEGRA194_CLK_PEX_USB_PAD_PLL2_MGMT 257
260#define TEGRA194_CLK_PEX_USB_PAD_PLL3_MGMT 258
261#define TEGRA194_CLK_XUSB_CORE_DEV 265
262#define TEGRA194_CLK_XUSB_CORE_MUX 266
263#define TEGRA194_CLK_XUSB_CORE_HOST 267
264#define TEGRA194_CLK_XUSB_CORE_SS 268
265#define TEGRA194_CLK_XUSB_FALCON 269
266#define TEGRA194_CLK_XUSB_FALCON_HOST 270
267#define TEGRA194_CLK_XUSB_FALCON_SS 271
268#define TEGRA194_CLK_XUSB_FS 272
269#define TEGRA194_CLK_XUSB_FS_HOST 273
270#define TEGRA194_CLK_XUSB_FS_DEV 274
271#define TEGRA194_CLK_XUSB_SS 275
272#define TEGRA194_CLK_XUSB_SS_DEV 276
273#define TEGRA194_CLK_XUSB_SS_SUPERSPEED 277
274#define TEGRA194_CLK_PLLDISPHUB 278
275#define TEGRA194_CLK_PLLDISPHUB_DIV 279
276#define TEGRA194_CLK_NAFLL_CLUSTER0 280
277#define TEGRA194_CLK_NAFLL_CLUSTER1 281
278#define TEGRA194_CLK_NAFLL_CLUSTER2 282
279#define TEGRA194_CLK_NAFLL_CLUSTER3 283
280#define TEGRA194_CLK_CAN1_CORE 284
281#define TEGRA194_CLK_CAN2_CORE 285
282#define TEGRA194_CLK_PLLA1_OUT1 286
283#define TEGRA194_CLK_PLLREFE_VCOOUT 288
284#define TEGRA194_CLK_CLK_32K 289
285#define TEGRA194_CLK_SPDIFIN_SYNC_INPUT 290
286#define TEGRA194_CLK_UTMIPLL_CLKOUT48 291
287#define TEGRA194_CLK_UTMIPLL_CLKOUT480 292
288#define TEGRA194_CLK_CVNAS 293
289#define TEGRA194_CLK_PLLNVCSI 294
290#define TEGRA194_CLK_PVA0_CPU_AXI 295
291#define TEGRA194_CLK_PVA1_CPU_AXI 296
292#define TEGRA194_CLK_PVA0_VPS 297
293#define TEGRA194_CLK_PVA1_VPS 298
294#define TEGRA194_CLK_DLA0_FALCON_MUX 299
295#define TEGRA194_CLK_DLA1_FALCON_MUX 300
296#define TEGRA194_CLK_DLA0_CORE_MUX 301
297#define TEGRA194_CLK_DLA1_CORE_MUX 302
298#define TEGRA194_CLK_UTMIPLL_HPS 304
299#define TEGRA194_CLK_I2C5 305
300#define TEGRA194_CLK_I2C10 306
301#define TEGRA194_CLK_BPMP_CPU_NIC 307
302#define TEGRA194_CLK_BPMP_APB 308
303#define TEGRA194_CLK_TSC 309
304#define TEGRA194_CLK_EMCSA 310
305#define TEGRA194_CLK_EMCSB 311
306#define TEGRA194_CLK_EMCSC 312
307#define TEGRA194_CLK_EMCSD 313
308#define TEGRA194_CLK_PLLC 314
309#define TEGRA194_CLK_PLLC2 315
310#define TEGRA194_CLK_PLLC3 316
311#define TEGRA194_CLK_TSC_REF 317
312#define TEGRA194_CLK_FUSE_BURN 318
313#define TEGRA194_CLK_PEX0_CORE_0M 319
314#define TEGRA194_CLK_PEX0_CORE_1M 320
315#define TEGRA194_CLK_PEX0_CORE_2M 321
316#define TEGRA194_CLK_PEX0_CORE_3M 322
317#define TEGRA194_CLK_PEX0_CORE_4M 323
318#define TEGRA194_CLK_PEX1_CORE_5M 324
319#define TEGRA194_CLK_PLLE_HPS 326
320
321#endif
diff --git a/include/dt-bindings/gpio/tegra194-gpio.h b/include/dt-bindings/gpio/tegra194-gpio.h
new file mode 100644
index 000000000000..ede860225f6b
--- /dev/null
+++ b/include/dt-bindings/gpio/tegra194-gpio.h
@@ -0,0 +1,61 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. */
3
4/*
5 * This header provides constants for binding nvidia,tegra194-gpio*.
6 *
7 * The first cell in Tegra's GPIO specifier is the GPIO ID. The macros below
8 * provide names for this.
9 *
10 * The second cell contains standard flag values specified in gpio.h.
11 */
12
13#ifndef _DT_BINDINGS_GPIO_TEGRA194_GPIO_H
14#define _DT_BINDINGS_GPIO_TEGRA194_GPIO_H
15
16#include <dt-bindings/gpio/gpio.h>
17
18/* GPIOs implemented by main GPIO controller */
19#define TEGRA194_MAIN_GPIO_PORT_A 0
20#define TEGRA194_MAIN_GPIO_PORT_B 1
21#define TEGRA194_MAIN_GPIO_PORT_C 2
22#define TEGRA194_MAIN_GPIO_PORT_D 3
23#define TEGRA194_MAIN_GPIO_PORT_E 4
24#define TEGRA194_MAIN_GPIO_PORT_F 5
25#define TEGRA194_MAIN_GPIO_PORT_G 6
26#define TEGRA194_MAIN_GPIO_PORT_H 7
27#define TEGRA194_MAIN_GPIO_PORT_I 8
28#define TEGRA194_MAIN_GPIO_PORT_J 9
29#define TEGRA194_MAIN_GPIO_PORT_K 10
30#define TEGRA194_MAIN_GPIO_PORT_L 11
31#define TEGRA194_MAIN_GPIO_PORT_M 12
32#define TEGRA194_MAIN_GPIO_PORT_N 13
33#define TEGRA194_MAIN_GPIO_PORT_O 14
34#define TEGRA194_MAIN_GPIO_PORT_P 15
35#define TEGRA194_MAIN_GPIO_PORT_Q 16
36#define TEGRA194_MAIN_GPIO_PORT_R 17
37#define TEGRA194_MAIN_GPIO_PORT_S 18
38#define TEGRA194_MAIN_GPIO_PORT_T 19
39#define TEGRA194_MAIN_GPIO_PORT_U 20
40#define TEGRA194_MAIN_GPIO_PORT_V 21
41#define TEGRA194_MAIN_GPIO_PORT_W 22
42#define TEGRA194_MAIN_GPIO_PORT_X 23
43#define TEGRA194_MAIN_GPIO_PORT_Y 24
44#define TEGRA194_MAIN_GPIO_PORT_Z 25
45#define TEGRA194_MAIN_GPIO_PORT_FF 26
46#define TEGRA194_MAIN_GPIO_PORT_GG 27
47
48#define TEGRA194_MAIN_GPIO(port, offset) \
49 ((TEGRA194_MAIN_GPIO_PORT_##port * 8) + offset)
50
51/* GPIOs implemented by AON GPIO controller */
52#define TEGRA194_AON_GPIO_PORT_AA 0
53#define TEGRA194_AON_GPIO_PORT_BB 1
54#define TEGRA194_AON_GPIO_PORT_CC 2
55#define TEGRA194_AON_GPIO_PORT_DD 3
56#define TEGRA194_AON_GPIO_PORT_EE 4
57
58#define TEGRA194_AON_GPIO(port, offset) \
59 ((TEGRA194_AON_GPIO_PORT_##port * 8) + offset)
60
61#endif
diff --git a/include/dt-bindings/mfd/stm32f7-rcc.h b/include/dt-bindings/mfd/stm32f7-rcc.h
index 8b7b7197ffd7..a90f3613c584 100644
--- a/include/dt-bindings/mfd/stm32f7-rcc.h
+++ b/include/dt-bindings/mfd/stm32f7-rcc.h
@@ -91,6 +91,7 @@
91#define STM32F7_RCC_APB2_TIM8 1 91#define STM32F7_RCC_APB2_TIM8 1
92#define STM32F7_RCC_APB2_USART1 4 92#define STM32F7_RCC_APB2_USART1 4
93#define STM32F7_RCC_APB2_USART6 5 93#define STM32F7_RCC_APB2_USART6 5
94#define STM32F7_RCC_APB2_SDMMC2 7
94#define STM32F7_RCC_APB2_ADC1 8 95#define STM32F7_RCC_APB2_ADC1 8
95#define STM32F7_RCC_APB2_ADC2 9 96#define STM32F7_RCC_APB2_ADC2 9
96#define STM32F7_RCC_APB2_ADC3 10 97#define STM32F7_RCC_APB2_ADC3 10
diff --git a/include/dt-bindings/power/tegra194-powergate.h b/include/dt-bindings/power/tegra194-powergate.h
new file mode 100644
index 000000000000..82253742a493
--- /dev/null
+++ b/include/dt-bindings/power/tegra194-powergate.h
@@ -0,0 +1,35 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. */
3
4#ifndef __ABI_MACH_T194_POWERGATE_T194_H_
5#define __ABI_MACH_T194_POWERGATE_T194_H_
6
7#define TEGRA194_POWER_DOMAIN_AUD 1
8#define TEGRA194_POWER_DOMAIN_DISP 2
9#define TEGRA194_POWER_DOMAIN_DISPB 3
10#define TEGRA194_POWER_DOMAIN_DISPC 4
11#define TEGRA194_POWER_DOMAIN_ISPA 5
12#define TEGRA194_POWER_DOMAIN_NVDECA 6
13#define TEGRA194_POWER_DOMAIN_NVJPG 7
14#define TEGRA194_POWER_DOMAIN_NVENCA 8
15#define TEGRA194_POWER_DOMAIN_NVENCB 9
16#define TEGRA194_POWER_DOMAIN_NVDECB 10
17#define TEGRA194_POWER_DOMAIN_SAX 11
18#define TEGRA194_POWER_DOMAIN_VE 12
19#define TEGRA194_POWER_DOMAIN_VIC 13
20#define TEGRA194_POWER_DOMAIN_XUSBA 14
21#define TEGRA194_POWER_DOMAIN_XUSBB 15
22#define TEGRA194_POWER_DOMAIN_XUSBC 16
23#define TEGRA194_POWER_DOMAIN_PCIEX8A 17
24#define TEGRA194_POWER_DOMAIN_PCIEX4A 18
25#define TEGRA194_POWER_DOMAIN_PCIEX1A 19
26#define TEGRA194_POWER_DOMAIN_PCIEX8B 21
27#define TEGRA194_POWER_DOMAIN_PVAA 22
28#define TEGRA194_POWER_DOMAIN_PVAB 23
29#define TEGRA194_POWER_DOMAIN_DLAA 24
30#define TEGRA194_POWER_DOMAIN_DLAB 25
31#define TEGRA194_POWER_DOMAIN_CV 26
32#define TEGRA194_POWER_DOMAIN_GPU 27
33#define TEGRA194_POWER_DOMAIN_MAX 27
34
35#endif
diff --git a/include/dt-bindings/reset/tegra194-reset.h b/include/dt-bindings/reset/tegra194-reset.h
new file mode 100644
index 000000000000..473afaa25bfb
--- /dev/null
+++ b/include/dt-bindings/reset/tegra194-reset.h
@@ -0,0 +1,152 @@
1/* SPDX-License-Identifier: GPL-2.0 */
2/* Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved. */
3
4#ifndef __ABI_MACH_T194_RESET_H
5#define __ABI_MACH_T194_RESET_H
6
7#define TEGRA194_RESET_ACTMON 1
8#define TEGRA194_RESET_ADSP_ALL 2
9#define TEGRA194_RESET_AFI 3
10#define TEGRA194_RESET_CAN1 4
11#define TEGRA194_RESET_CAN2 5
12#define TEGRA194_RESET_DLA0 6
13#define TEGRA194_RESET_DLA1 7
14#define TEGRA194_RESET_DPAUX 8
15#define TEGRA194_RESET_DPAUX1 9
16#define TEGRA194_RESET_DPAUX2 10
17#define TEGRA194_RESET_DPAUX3 11
18#define TEGRA194_RESET_EQOS 17
19#define TEGRA194_RESET_GPCDMA 18
20#define TEGRA194_RESET_GPU 19
21#define TEGRA194_RESET_HDA 20
22#define TEGRA194_RESET_HDA2CODEC_2X 21
23#define TEGRA194_RESET_HDA2HDMICODEC 22
24#define TEGRA194_RESET_HOST1X 23
25#define TEGRA194_RESET_I2C1 24
26#define TEGRA194_RESET_I2C10 25
27#define TEGRA194_RESET_RSVD_26 26
28#define TEGRA194_RESET_RSVD_27 27
29#define TEGRA194_RESET_RSVD_28 28
30#define TEGRA194_RESET_I2C2 29
31#define TEGRA194_RESET_I2C3 30
32#define TEGRA194_RESET_I2C4 31
33#define TEGRA194_RESET_I2C6 32
34#define TEGRA194_RESET_I2C7 33
35#define TEGRA194_RESET_I2C8 34
36#define TEGRA194_RESET_I2C9 35
37#define TEGRA194_RESET_ISP 36
38#define TEGRA194_RESET_MIPI_CAL 37
39#define TEGRA194_RESET_MPHY_CLK_CTL 38
40#define TEGRA194_RESET_MPHY_L0_RX 39
41#define TEGRA194_RESET_MPHY_L0_TX 40
42#define TEGRA194_RESET_MPHY_L1_RX 41
43#define TEGRA194_RESET_MPHY_L1_TX 42
44#define TEGRA194_RESET_NVCSI 43
45#define TEGRA194_RESET_NVDEC 44
46#define TEGRA194_RESET_NVDISPLAY0_HEAD0 45
47#define TEGRA194_RESET_NVDISPLAY0_HEAD1 46
48#define TEGRA194_RESET_NVDISPLAY0_HEAD2 47
49#define TEGRA194_RESET_NVDISPLAY0_HEAD3 48
50#define TEGRA194_RESET_NVDISPLAY0_MISC 49
51#define TEGRA194_RESET_NVDISPLAY0_WGRP0 50
52#define TEGRA194_RESET_NVDISPLAY0_WGRP1 51
53#define TEGRA194_RESET_NVDISPLAY0_WGRP2 52
54#define TEGRA194_RESET_NVDISPLAY0_WGRP3 53
55#define TEGRA194_RESET_NVDISPLAY0_WGRP4 54
56#define TEGRA194_RESET_NVDISPLAY0_WGRP5 55
57#define TEGRA194_RESET_RSVD_56 56
58#define TEGRA194_RESET_RSVD_57 57
59#define TEGRA194_RESET_RSVD_58 58
60#define TEGRA194_RESET_NVENC 59
61#define TEGRA194_RESET_NVENC1 60
62#define TEGRA194_RESET_NVJPG 61
63#define TEGRA194_RESET_PCIE 62
64#define TEGRA194_RESET_PCIEXCLK 63
65#define TEGRA194_RESET_RSVD_64 64
66#define TEGRA194_RESET_RSVD_65 65
67#define TEGRA194_RESET_PVA0_ALL 66
68#define TEGRA194_RESET_PVA1_ALL 67
69#define TEGRA194_RESET_PWM1 68
70#define TEGRA194_RESET_PWM2 69
71#define TEGRA194_RESET_PWM3 70
72#define TEGRA194_RESET_PWM4 71
73#define TEGRA194_RESET_PWM5 72
74#define TEGRA194_RESET_PWM6 73
75#define TEGRA194_RESET_PWM7 74
76#define TEGRA194_RESET_PWM8 75
77#define TEGRA194_RESET_QSPI0 76
78#define TEGRA194_RESET_QSPI1 77
79#define TEGRA194_RESET_SATA 78
80#define TEGRA194_RESET_SATACOLD 79
81#define TEGRA194_RESET_SCE_ALL 80
82#define TEGRA194_RESET_RCE_ALL 81
83#define TEGRA194_RESET_SDMMC1 82
84#define TEGRA194_RESET_RSVD_83 83
85#define TEGRA194_RESET_SDMMC3 84
86#define TEGRA194_RESET_SDMMC4 85
87#define TEGRA194_RESET_SE 86
88#define TEGRA194_RESET_SOR0 87
89#define TEGRA194_RESET_SOR1 88
90#define TEGRA194_RESET_SOR2 89
91#define TEGRA194_RESET_SOR3 90
92#define TEGRA194_RESET_SPI1 91
93#define TEGRA194_RESET_SPI2 92
94#define TEGRA194_RESET_SPI3 93
95#define TEGRA194_RESET_SPI4 94
96#define TEGRA194_RESET_TACH 95
97#define TEGRA194_RESET_RSVD_96 96
98#define TEGRA194_RESET_TSCTNVI 97
99#define TEGRA194_RESET_TSEC 98
100#define TEGRA194_RESET_TSECB 99
101#define TEGRA194_RESET_UARTA 100
102#define TEGRA194_RESET_UARTB 101
103#define TEGRA194_RESET_UARTC 102
104#define TEGRA194_RESET_UARTD 103
105#define TEGRA194_RESET_UARTE 104
106#define TEGRA194_RESET_UARTF 105
107#define TEGRA194_RESET_UARTG 106
108#define TEGRA194_RESET_UARTH 107
109#define TEGRA194_RESET_UFSHC 108
110#define TEGRA194_RESET_UFSHC_AXI_M 109
111#define TEGRA194_RESET_UFSHC_LP_SEQ 110
112#define TEGRA194_RESET_RSVD_111 111
113#define TEGRA194_RESET_VI 112
114#define TEGRA194_RESET_VIC 113
115#define TEGRA194_RESET_XUSB_PADCTL 114
116#define TEGRA194_RESET_NVDEC1 115
117#define TEGRA194_RESET_PEX0_CORE_0 116
118#define TEGRA194_RESET_PEX0_CORE_1 117
119#define TEGRA194_RESET_PEX0_CORE_2 118
120#define TEGRA194_RESET_PEX0_CORE_3 119
121#define TEGRA194_RESET_PEX0_CORE_4 120
122#define TEGRA194_RESET_PEX0_CORE_0_APB 121
123#define TEGRA194_RESET_PEX0_CORE_1_APB 122
124#define TEGRA194_RESET_PEX0_CORE_2_APB 123
125#define TEGRA194_RESET_PEX0_CORE_3_APB 124
126#define TEGRA194_RESET_PEX0_CORE_4_APB 125
127#define TEGRA194_RESET_PEX0_COMMON_APB 126
128#define TEGRA194_RESET_PEX1_CORE_5 129
129#define TEGRA194_RESET_PEX1_CORE_5_APB 130
130#define TEGRA194_RESET_CVNAS 131
131#define TEGRA194_RESET_CVNAS_FCM 132
132#define TEGRA194_RESET_DMIC5 144
133#define TEGRA194_RESET_APE 145
134#define TEGRA194_RESET_PEX_USB_UPHY 146
135#define TEGRA194_RESET_PEX_USB_UPHY_L0 147
136#define TEGRA194_RESET_PEX_USB_UPHY_L1 148
137#define TEGRA194_RESET_PEX_USB_UPHY_L2 149
138#define TEGRA194_RESET_PEX_USB_UPHY_L3 150
139#define TEGRA194_RESET_PEX_USB_UPHY_L4 151
140#define TEGRA194_RESET_PEX_USB_UPHY_L5 152
141#define TEGRA194_RESET_PEX_USB_UPHY_L6 153
142#define TEGRA194_RESET_PEX_USB_UPHY_L7 154
143#define TEGRA194_RESET_PEX_USB_UPHY_L8 155
144#define TEGRA194_RESET_PEX_USB_UPHY_L9 156
145#define TEGRA194_RESET_PEX_USB_UPHY_L10 157
146#define TEGRA194_RESET_PEX_USB_UPHY_L11 158
147#define TEGRA194_RESET_PEX_USB_UPHY_PLL0 159
148#define TEGRA194_RESET_PEX_USB_UPHY_PLL1 160
149#define TEGRA194_RESET_PEX_USB_UPHY_PLL2 161
150#define TEGRA194_RESET_PEX_USB_UPHY_PLL3 162
151
152#endif